All posts by ‌A1Gard

اول از همه کوچک ترین عضو مجموعه 4xmen بنده حقیر هستم. در ثانی یک توسعه دهنده هستم زمینه های تخصصی کارم :‌ Delphi, PHP, C++ ,Python, JavaScript, Unity game engine, C#, asm و علاقه مند به لینوکس، RCE ، کریپتوگرافی هستم. تا الان حضرت حق اینا رو به ما داده و هر وقت که بخواد ازمون میگیره دست خودشه. یا حق، با حق، تا حق

نقدی بر عملکرد سالهای اخیر canonical در آستانه انتشار Ubuntu 17.10

مقدمه

canonical شرکتی چند ملیتی است که شخصی به نام Mark Shuttleworth یک کار آفرینی از افریقای جنوبی بنا نهاد، و اکنون به دست خانم Jane Silber به عنوان مدیر عامل هدایت میشود، مهم ترین محصول این شرکت سیستم عامل Ubuntu است که از سال 2004 ده ماه پیش از اولین انتشار ابونتو تاسیس شد. که فراز و نشیب های بسیار داشته و میشود گفت انقلاب مهاجرت کاربران به لینوکس را این سیستم عامل مدیون شرکت کنونیکال می باشد، اما عملکرد این شرکت در راستای فناوری سیستم عامل سینوسی بوده و اکنون وضعیت نا مشخصی دارد.

 

عرضه Ubuntu

در عصری دجیتالی که Ubuntu عرضه شد(در سال 2004) ، این توزیع لینوکس با رویکرد ساده کردن کار با لینوکس به خصوص در روند نصب سرسام آور آن در بین کاربران کامپیتور های شخصی با مشتق شدن از Debian تولید شد، با توجه تاخیر مایکروسافت در ارائه ویستا ( نوامبر سال 2006) و شکست ویندوز ویستا خیل عظیمی از کاربران سراسر دنیا برای رفع نیاز خود به این سیستم عامل محبوب روی آوردند در زمانی که ویندوز در قعر محبوبت قرار داشت و کاربران که از وضعیت ویندوز رضایت کافی را نداشتند، ابونتو فرصت ارائه خود را پیدا کرد و جهش عظیمی در این دوره خود را میدون عدم مدیریت صحیح تیم مایکروسافت شد. اما با آمدن ویندوز 7 این مهاجرت به Ubuntu کند تر شد ولی همچنان وجود داشت. در این حین نسخه های server و cloud آن نیز منشتر شد و برجسته ترین نسخه ابری لینوکس را با توان خود ارائه کرد و به سوی انتشار سیستم عامل گوشی های هوشمند نیز رفت و تا کنون پر مصرف ترین سیستم عامل Desktop متن باز میباشد ولی جالب این است که لینوس تروالدز توسعه دهنده هسته لینوکس یعنی پدر این سیستم عامل در کنفراسی گفت هرگز از نسخه های Ubuntu و Debian استفاده نکرده و آن را ظاهرا قبول ندارد. ولی همچنان اطلاعات بیشتر

dirty open source | اوپن سورس کثیف (روش گوگل)

به نام دانای بر حق

این نوشته اعتراضی به عملکرد کثیف گوگل در این زمینه می باشد

وقتی صحبت از freedom میشود، همه از این کلمه استقبال میکنند، تا جایی که برخی برای این واژه تقدس هم قائل هستند، زمانی که حرف از اوپن سورس به میان می آید، اولین قصد و انگیزه برای به وجود آمدن اوپن سورس قطعا آزادی یا  freedom مطرح میشود، خیلی از بزرگان اوپن سورس برای به وقوع پیوستن این قضیه تلاش کردن از جمله ریچارد استالمن که بارها با اوپن سورس ها سر قضایای مختلف درگیر شده است. اما همچنانم کلمه freedom از سوی مدعیان آن مظلوم تر واقع شده است، زمانی این قضیه نمود پیدا میکند که، صاحبان قدرت های سایبری در ارائه خدمات خود به کاربران برخی کشور ها امتناع می کنند.

مایکروسافت به عنوان یک غول نرم افزار همانند گوگل و اوراکل در کشور ایالات متحده است و تحت قوانین همان کشور ولی هرگز مثل این دو شرکت دست به تحریم کاربران با انگیزه های سیاسی نزده است و مدام تمامی قابلیت ها از آپدیت های نرم افزاری تا تمامی نرم افزار ها در استور خود را در اختیار همه کاربران بدون تبعیض قرار داده است و این کار مایکروسافت بسیار ستودنی است.

اما بزرگترین شرکت اینترنتی که داعیه دار بزرگترین سیستم عامل متن باز موبایل جهان اندروید است یعنی گوگل از تحریم های همه جانبه علیه کاربران ایرانی کم کاری نکرده است، از دانلود برخی برنامه ها از استور google play گرفته تا بستن مستندات و بخش های سورس کد ها به روی ایرانیان که بسیار برای امثال من  که توسعه دهنده  ام دردناک است.

بهتر است به این متن توجه کنیم که گوگل در این صفحه درج کرده:

Google believes that open source is good for everyone. By being open and freely available, it enables and encourages collaboration and the development of technology, solving real world problems.

این کلمه for everyone خیلی قشنگ است ولی شرکت گوگل لطفا بنویس for every one expect Iranian people اینگونه حداقل به جای دروغ حقیقت را نوشته اید، پرچم دار code.google.com پذیرای هزاران پروژه اوپن سورس می باشد حتی اجازه خواندن صفحات را به ما ایرانیان نمیدهد چه برسد به دانلود پروژه ها، بستن مستندات اندروید به روی ایران کمترین لطف شرکت گوگل در حق کاربران ایرانی بود.

بهترست به بخشی از باید ها  نرم افزار آزاد از طرف بنیاد آزاد نرم افزار توجه کنیم: (منبع)(منبع اصلی)

 

۵. بین افراد و گروه‌ها تبعیضی گذاشته نشود

اجازه‌نامه نباید بین افراد یا گروه‌ها تبعیضی بگذارد.

۶. هیچ تبعیضی در نوع استفاده از نرم‌افزار وجود نداشته باشد

هیچ گونه تبعیض و تمایزی بین هر فعالیتی که در راستای نرم‌افزار انجام می‌گیرد، وجود نداشته باشد. برای مثال نرم‌افزاری نباید بین استفادهٔ تجاری یا تحقیقاتی تبعیض قائل شود.

۷. توزیع اجازه‌نامه

مجوز باید به هرکسی که یک کپی از نرم‌افزار را دریافت می‌کند نیز اختصاص یابد، بدون این‌که آن‌ها نیاز به توافق و هماهنگی با اجازه‌نامهٔ دیگری داشته باشند.

 

ویا تعریف نرم افزار آزاد: ( منبع)

  • نرم‌افزار باید شامل کد منبع باشد و این کد منبع را باید بتوان تغییر داد و مجدداً منتشر کرد.
  • مجوز نباید در برابر افراد یا گروه خاصی تبعیض قائل شود.
  • مجوز نباید کاربر را برای رسیدن به یک هدف خاص محدود کند.
  • مجوز نباید مختص به یک محصول خاص باشد.
  • ….

 

همه چیز گویا است نیازی به توضیح ندارد، اما میشود گفت که دنیای اوپن سورس یک بخش دیگری نیز دارد آن هم اوپن سورس کثیف می باشد که بر خلاف ماهیت اوپن سورس افکار سیاسی و تمایلات حمایت دولت ها آن را تحت شعاع قرار داده و با نام اوپن سورس آزادی توسعه دهنده ها را در گرو امیال شخصی خود مطرح میکنند به امید آن روزی که این اتفاق ها تکرار نشود.

بنده به نوبه خودم تا جایی که امکان دارد محصولات گوگل را از مرورگر، ایمیل گرفته تا سیستم عامل  و… را تحریم میکنم تا مهر تاییدی بر عملکرد کثیف این شرکت نباشم.

معرفی ادیتور فوق العاده atom editor | اتم

بسم رب الشهدا

مقدمه

یکی از دغدغه های هر برنامه نویس یک ادیتور خوب است npp یا همون notepad++ یکی از بهترین ادیتور های سالهای پیش بود به مراتب sublime نیز در نوع خودش ادیتور خوب و مورد قبولی بود اما به نظر من نسل جدید ادیتور ها با atom به صورت متن باز opensource در حال انقلاب هستش، گاها پیش میاد که میپرسن یک ادیتور سبک در حد npp در لینوکس چی هستش پس اکنون در مورد atom با هم صحبت کنیم تا با این editor کم نظیر بیشتر آشنا بشیم. از vscode مایکروسافت هم تو همین زمینه ها میشه یاد کرد که مثل اتم قابل قبول هستش.

رویکرد اتم

در ابتدا رویکرد این editor میتونه قابل توجه باشه رویکرد  کلی این ادیتور در شعارش کاملا پیداست:

Atom is a text editor that’s modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.

رویکرد این ادیتور مدرن بودن رویکرد مدار بودن و قابل هک بودن هسته ( به معنای مثبت هک یعنی دستکاری توسط کاربر نه منفی آن) قابل سفارشی سازی همه چیزی که شما فکر میکنید به صورت در محصول حتی بدون نیاز به لمس یک فایل کانفیگ.

واقعا میتونم بگم این رویکرد رو صد در صد توانستند جامع عمل بهش بپوشنند.

ویژگی های بارز Atom

اگر در مورد این ویژگی ها بدون اغراق بخواهیم صحبت کنیم میتونیم از موارد زیر نام ببریم:

  • مستقل از سکوی بودنش برای تمامی سیستم عامل های Desktop مثل ویندوز، لینوکس و MacOSX قابل دسترس می باشد
  • دسترسی به package manager یعنی مدیریت پکیج های نصب شده به سادگی در سیستم و قابلیت ساخت پیکیج آسان
  • autocompletion هوشمند که به صورت سریع در دسترس و با قابلیت تشخیص هوشمند
  • فایل منیجر قابلیت جستجو و نمایش درختی فایل ها در ادیتور سریع و در دسترس
  • قابلیت بخش بندی تکه های صفحه و چند قسمت کردن ادیتور
  • قابلیت اعمال تم های مختلف و …

مزایای Atom

برای اتم مزایای بسیار میتوان قائل شد که ممکن است در هم نوعان خودش وجود نداشته باشد یا اگر باشد همه در یک جا قطعا جمع نیستند.

  • open source بودن و اطمنیان از این که توسعه آن هرگز متوقف نخواهد شد و ۱۰۰٪ رایگان استفاده میکنید
  • package manager این ویژگی منحصر به فرد اتم است که دارای پیکج منیجر مانند استور ها میباشد و قابلیت این را میدهد درون خود نرم افزار به جستجو و نصب پکیج های خود اقدام کنید و از آن لذت ببرید.
  • مستقل از سکو بودن برعکس npp که فقط مخصوص ویندوز است
  • دارای code template است سرعت برنامه نویسی را افزایش میدهد
  • شبکه بندی و قسمت قسمت کردن بخش های IDE
  • قابلیت چرخیدن در پروژه و فایل ها و فولدر ها حتی فایل های زیپ و آرشیو
  • سبک بودن و بالا آمدن سریع
  • ساپورت ورژن کنترلر به صورت خیلی روان و GUI در خود editor
  • قابلیت اعمال تم های متخلف dark و light و … دارای هزاران تم اوپن سورس برای هر سلیقه ای
  • قابلیت اتصال به terminal سیستم عامل
  • قابلیت استفاده بهینه برای تمامی زبان های رایج opensource و افزودن ابزار کمک حال assistant برای آنها با یک کلیک
  • قابلیت سفارشی سازی 100% نرم افزار
  • قالبت اتصال به گیت هاب و انجام کارهای git hub از درون نرم افزار
  • استفاده از بستر گیت هاب برای پکیج ها که باعث میشود نه تحریم باشیم نه فیلتــر باشد که به راحتی به اهداف برسیم

اما ویژگی دیگر این ادیتور پیش بینی اشکالاتی که در طول کار با این ادیتور ممکن پیش بیاد به تصویر زیر توجه کنید:

مثلا اگر خطای رخ بده پیش بینی error و ارجاع دادن شما به سمت یک موضوع در github میتونه شما رو کمک کنه.

 

یکی از ویژگی های بارز این زمینه مثلا استفاده از UI ها برای گیت هستش مثلا به package git-time-machine توجهاطلاعات بیشتر

نصب webmin سرور Ubuntu برای هاستینگ

به نام دانای بر حق

مقدمه

برای کنترل و تسهیل عملکرد سرور ها از کنترل پنل های مختلف استفاده میشه یکی از این کنترل پنل ها webmin هستش که قابلیت های خوبی داره علاوه بر کنترل پنل بودن برای هاست میتونه خدمات دیگه ارائه بده که موضوع بحث ما نیست، و متن باز بودنش مزید بر علت هستش، اما این کنترل پنل یک کنترل پنل مدرن هستش که با رابط کاربری ساده میتونه امکانات بسیار زیادی رو در اختیار شما قرار بده در این آموزش با نحوه نصب این کنترل پنل آشنا میشم. لازم به ذکر است که سیستم عامل های زیادی رو پشتیبانی میکنه که اخیرا حتی ویندوز هم اضافه شده و به نوعی میشه گفت نصبش هم فوق العاده ساده هستش.

آماده سازی سیستم عامل

برای آماده کردن Ubuntu خود دستورات زیر رو تاییپ کنید تا مخازن مربوط به این پکیج به شما اضافه بشه:

دستور و در ترمینال یا ssh باید وارد کنید

 

و بعد در خط انتهایی این نوشته رو اضافه میکنید:

توجه داشته باشید آسیبی به سایر خطوط نزنید

برای ذخیره کردن Ctrl+x بزنین و بعد دکمه y به معنی اطلاعات بیشتر

اجرای هم زمان nodejs در کنار apache2 در سرور php

به نام دانای بر حق

مقدمه

یکی از سوالاتی که ذهن کسانی که با node.js کار میکنند رو در گیر میکنه استفاده هم زمان در کنار سرور هایی که روی اونها apache نصب هستش و مشکل دقیقا زمانی شروع میشود که شما دوست دارید هر دو بر روی پورت 80 اجرا بشوند و چرا که express.js  نیز همواره قصد داره یه پورت جدید رو شنود کنه و در کنار آدرس وبسایت مثلا :8080 نمایش داده میشه، برای رفع این مشکل باید چه کاری کنیم؟

 

راه حل ها

در اینجا ۲ راه حل اساسی برای نمایش هر دو سرور در پورت 80 و یا 443 وجود دارد که هر دو رو راه حل مبتنی بر proxy میباشد تا این مشکل برطرف شود:

فعال کردن پروکسی بر روی آپاچی که توضیح آن را در ادامه میدهیم

فعال کردن پروکسی در node.js که شما رو اطلاعات بیشتر

معرفی فونت (قلم) VazirCodeX

بسم رب الشهدا

یکی از دغدغه برنامه نویسان استفاده از فونت مناسب در IDE می باشد من خودم پیش از این با راهنمایی های استاد عزیز SadeghPM از فونت VazirCode استفاده میکردم ولی اشکالی که این فونت داشت عدم ساپورت emoji در IDE بود بنا بر این تصمیم گرفتم در این فونت تغییراتی رو اعمال کنم تا هم حالت mono بودن اون حفظ بشه همه کارکتر های زبان شیرین پارسی رو به دقت ساپورت کنه و هم Emoji ها رو در IDE نمایش بده تا توسعه دهنده گان عزیز پارسی زبان از این فونت در IDE شون استفاده کنند و لذت ببرند.

 

برای دانلود فونت به مخزن زیر در github مراجعه کنید:

با تشکر از SadeghPM و تیم Fontforge

 

کمی درباره آپاچی و چند دستور کلیدی در آپاچی برای صاحبان سایت و سرور

مقدمه

آپاچی معروف ترین و اولین وب سرور دنیا بوده است که سالهای سال است روی اکثر پلت فرم های موجود کار میکند و  راندمان خوب بهتر از IIS و ضعیف تر از نسل های جدید مثل nginx  همیشه در بالاترین جایگاه قرار داره از نظر استفاده دارد.

در کارکرد آپاچی

آپاچی کارش وب سرور هستش درواقع یک توزیع کننده هستش، یعنی چی ؟ ببینید مساله رو با یه مثال تعریف می کنیم من میخوام وارد یه ارگان شم اطلاعات بگیرم ازش خب اون منطقه ورود ممنوع هستش و من نمیتونم با کارمندانش ارتباط داشته باشم ولی یه نفری اونجا وجود داره(نامه گردان) هر نامه ای بهش بدی از روی نامه وارد ارگان میشه و بخش مورد نظر شما رو پیدا می کنه و در انتها نامه رو به دست صاحبش میرسونه و اگر جواب داشت برای شما میاره. سرور شما حکم سازمان رو داره و آپاچی حکم اون نامه گردان رو داره.

این نامه گردان اصلا با متحوای نامه شما کار نداره.
آدم گیری هم هستش اشتباه آدرس بدی یا بد خط باشی خبری از جواب صحیح نیست
ولی خیلی دقیق هستش
کمی هم تنبل هستش

خب با این مثال تقریبا مشخص شد که آپاچی چی کار میکنه خب اجازه بدین فنی تر صحبت کنیم. آپاچی با توجه  به اطلاعات بیشتر

callback و بازگشت تابع در nodejs javascript

به نام دانای بر حق

 

مقدمه

به یاد دارم زمانی که nodejs رو شروع کردم یکی از چیزهایی که منو به معنای واقعی کلمه اذیت کرد بازگشت مقادیر در توابع بودش اگر اشتباه نکنم یک روز کاری کامل کل فضای سایبر رو بالا پایین کردم تا به نتیجه مطلوب رسیدم. حالا یه کم وقت اضافه پیدا کردم تو عیدی گفتم این مورد رو به منتشر کنیم  تا اگر پارسی زبان عزیزی دوست داشت با nodejs کار کنه درگیر این مورد اذیت کننده نباشه.

 

نکته اول تو این مورد ما چیزی به نام retrun نداریم مثل خوده js که در مرورگر استفاده میکنید به اون معنی که باهاش آشنا هستید.

واما:

نکته دوم به جاش باید از callback استفاده کنید پس باید چهارچوب مفهومی که توی یادگرفته قبلی داشتین رو بذارین کنار.

 

callback چیست؟

به یاد دارم اولین باری که با این مفهوم برخورد کردم در RCE بود که با مفهوم TLS callback  آشنا شدم واسم خیلی عجیب و جالب بود، حالا کار این TLS callback چی بود؟ این یه تابع بود که اطلاعات بیشتر

معرفی چندین برنامه کاربردی در لینوکس قسمت اول

به نام یگانه دانای هستی

مقدمه :

یکی از چیز هایی که معمولا باعث میشه خلق الله از لینوکس بترسن نبود برنامه های کاربردی تو این زمینه هستش که دروغی بیش نیست، البته نمیگم خیلی کامل هستش ولی تا حد زیادی نیاز های شما رو بطرف می کنه در این سری نوشته قصد داریم تا برنامه های کاربردی رو معرفی کنیم تا هر چه سریع تر به هدفتون برسید، لذا ما هم بسی زمان صرف پیدا کردن برخی از این برنامه ها کردیم.

 

برنامه   Pidgin

یک برنامه خیلی خیلی کاربردی دز مینه چت هست که موارد زیر رو ساپورت میکنه:

  • AIM
  • Bonjour
  • Gadu-Gadu
  • Google Talk
  • Groupwise
  • ICQ
  • IRC
  • MSN
  • MXit
  • SILC
  • SIMPLE
  • Sametime
  • XMPP
  • Yahoo!
  • Zephyr

طرز استفاده از این برنامه خیلی ساده است و آدرس https://www.pidgin.im/ و کم حجم کاربردی هستش

 

برنامه kerita

یک برنامه ویرایشگر عکس بسیار شبیه به فوتوشاپ با قابلیت های بسیار و نصب آسان هستش که توسط بنیاد KDE طراحی و برنامه نویسی شده به نقل از  ویکی پدیا:

کریتا نرم‌افزاری آزاد برای طراحی و نقاشی دیجیتال است که از مد رنگی CMYK پشتیبانی می‌کند. از ویژگی‌های مهم این نرم‌افزار، توانایی نقاشی دامنه دینامیک بالا، پشتیبانی از خطوط راهنمای پرسپکتیو و دارا بودن فیلترهای هنری است. کریتا همچنین قابلیت طراحی به صورت برداری را به کاربر می‌دهد. این نرم‌افزار به عنوان گزینه‌ای برای جایگزینی فتوشاپ (و بعدها کرل پینتر) در دنیای نرم‌افزارهای آزاد است.

سایت این برنامه : https://krita.org/en/

 

برنامه yEd

برنامه ای بسیار قوی و کاربردی برای کشیدن فلوچارت و UML و … که نیاز شما نسبتاطلاعات بیشتر

نوشتن یک ربات تلگرام کامل در 50 دقیقه-‌فیلم آموزشیnodejs

به نام دانای بر حق

غولی به نام تلگرام واقعا کمر به فلج کردن سایر وسیله های ارتباطی بسته، تقریبا یک سال و نیم پیش نحوه نوشتن ربات رو به زبان پایتون در این نوشته مطرح کردیم که بازخورد بسیار خوبی داشت ولی حالا قصد داریم در 50 دقیقه یک ربات کامل تلگرام به با زبان javascript با بستر nodejs رو با هم بنویسیم، به شخصه از زمانی که با نود جی اس آشنا شدم  کار کردن با زبان های دیگر برام لذت قبل رو ندارند جاواسکریپت واقعا منو اغنا و ارضا میکنه و اما این ربات آموزشی چه کار میکنه:

 

در این آموزش فرض شده است شما حداقل های زبان js را بلد هستید و اکنون قصد دارید در این آموزش به نوشتن ربات بپردازید.

 

  • دریافت پیام
  • پاسخ پیام
  • نمایش دکمه های پاسخ
  • مخفی کردن دکمه ها
  • ارسال عکس
  • ارسال فایل های سندی یا document
  • تعریف session و detect کردن مراحلی که کاربر در آن ها حضور دارد.
  • و برخی نکات کلیدی

ما در اینجا از لینوکس نسخه Ubuntu استفاده کردیم، شما میتونید معادل اون رو تو ویندوز یا mac osx انجام بدین، نحوه نصب پکیج هم مطرح میشه و این که چگونه یک ربات در botfather بسازیم!

شما رو به دیدناطلاعات بیشتر

دانلود تنها یک پوشه خاص از github

به نام خدا

کوتاه و مختصر :گاهی اوقات پیش میاد که نیاز هست یه پوشه خاص از یه پروژه گیت هابی رو دانلود کنید ولی حجم پروژه مثلا 200 مگابایت هستش و موفق به دانلود شدن نمی شید و این برای من قبلا عذاب آور بود و حالا ابزار برای دانلود فقط پوشه خاصی از گیت هاب بدون توجه به تحریم های خراجی و داخل میسر میشه

 

برای این کار آدرس پوشه یا فولدر مورد نظر را را تایپ در سایت زیر وارد کنید و لذت ببرید:

 

با استفاده از این سایت هم میتونید دانلود و هم لینک دانلود تولید کنید.

 

موفق باشید و سربلند

مدل درختی ( والد فرزندی) در دیتابیس های no-sql مثل mongodb

به نام دانای بر حق

مقدمه

فک کنم در حدود سه سال پیش بود در مورد مدل کاردینالیتی در دیتبایس های sql base صحبت کردیم در این مبحث که بازخورد خوبی داشت ، اما به قول صادق دیتابیس های اسکیوالی توسط ریاضی دانان طراحی شده و دیتابیس های nosql توسط برنامه نویسان، به شخصه از موقعی که با no-sql آشنا شدم حالم از دیتابیس های کلاسیک بهم میخوره و ولی به موقع دقیق تر و قشنگ تر در مورد no-sql ها من یا سایر x های 4xmen صحبت میکنیم و اما یکی از بحث هایی که در پایگاه داده ها مطرح هستش ارتباط هستش این ارتباط گاهی به صورت پدر و فرزندی یا مادر فرزندی میباشد به عکس زیر نگاه کنین تا بریم در مورد بحث صحبت کنیم:

 

در این مبحث فرض شده است شما با دیتابیس های کلاسیک و nosql آشنایی لازم و کافی را دارید

مقایسه و توضیحات

این مدل مدلی درختی میباشد در اصطلاح یا tree model در برنامه نویسی شما در تصویر بالا یک head به نام book  میبینید و زیر مجموعه programming را داراست در زیر مجموعه آن Databases , Languages می باشد و …

حال اگر این رو میخواستیم در دیتابیس های sql base طراحی کنیم بایستی جدولی به شکلاطلاعات بیشتر

۱۰ تصور نادرست در مورد شغل برنامه نویسی

آرزوی داری که برنامه‌نویس کامپیوتر بشی، اما فکر می‌کنی برای این کار مناسب نیستی؟ در این مطلب دلایلی را بیان می‌کنیم که چرا این دیدگاه اشتباه است. ( این مطلب اینقدر ارزنده بود که بازنشرش دادم)

افسانه #۱ :برای تبدیل شدن به یک توسعه دهنده باید خیلی باهوش باشید

مردم معمولا فکر می‌کنند که برنامه‌نویسان گونه‌های خاصی از انسان‌ها هستند، که با ذهن‌های محاسباتی بسیار قوی به دنیا آمده‌اند. در حالی که توسعه دهندگان انسان‌های نرمالی هستند که شور و شوق زیادی برای برنامه‌نویسی دارند. در برنامه‌نویسی هم مانند هر حرفه‌ی دیگری، استعداد می‌تواند کمک کند، اما اخلاق و انضباط کاری عامل تعیین کننده موفقیت و شکست است.

اگر کنجکاو هستید که برنامه‌نویسی را یاد بگیرید، نگران نباشید؛ این کار اینطور که به نظر می‌رسد سخت نیست. کار شما به عنوان توسعه‌دهنده این است که به یک  کامپیوتر دستورالعمل بدهید که چطور چیزی مثل یک وبسایت را بسازد.

اما مطمئنا به همین راحتی نیست که فقط به کامپیوتر بگویید: ” کامپیوتر، برای من یک وبسایت بساز.” کمی پیچیده‌تر از آن است. خلاصه اینکه، برنامه‌نویسی مثل نوشتن یک راهنمای دقیق با یک زبان خاص است، که فقط کامپیوترها و سایر برنامه‌نویس‌ها می‌توانند آن را ترجمه کنند.

اگر شما می‌دانید که چطور با بقیه ارتباط برقرار کنید، شما می‌توانید برنامه‌نویسی را یاد بگیرید.


افسانه #۲: برای من خیلی دیر است که برنامه‌نویس شوم

واقعیت این است که هیچ‌وقت برای تبدیل شدن به یک برنامه‌نویس دیر نیست. بسیاری از اطلاعات بیشتر

افزودن یک پسوند جدید در netbeans

بدون مقدمه

Netbeans هر روز در حال گسترش و روند صعودی خودش رو طی میکنه و پلاگین های  زیادی براش نوشته میشه اما گاهی تکنولوژی از پلاگین نویس ها جلو میزنه، خب مثال فایل های jade اگر باهاش کار کرده باشین پلاگین داره اخیرا نصب این پلاگین یه پیام میده پروژه با نام pug داره توسعه داده میشه پس حالا باید پسوند های .jade به .pug تغییر کنه حالا دوتا مشکل بوجود میاد برای توسعه دهنده یکی syntax highlighter موجود رو پسوند pug کار نمیکنه و فایل نمونه توی project inspector  نیست که بشه از روش نمونه سازی کرد پس میریم برای حل این مشکلات با این مثال عرض شده:

 

افزودن فایل جدید با پسوند pug  و کارایی jade:

اطلاعات بیشتر

معرفی kloxo یا lxadmin – کولکسو – نحوه نصب نسخه جدید Kloxo-MR

kloxo-mr

مقدمه

kloxo به نظر من یکی از کم دغدغه ترین و کم هزینه ترین سامانه های کنترل وبسرور هستش، لذا هم اوپن سورس هستش و هم در نهایت بسیار منابع کمتری مصرف میکند و همه چیز تموم هستش و کم و کسری نداره همه چیز رو حتی در اندازه های cpanel هستش ولی خب تجاری نیست که به قدرت اون برسه، ولی در اصل خودش از بهترین هاس، وقتی نام kloxo یا lxadmin به میون میادش یاد خاطره تلخ خودکشی مدیر توسعه پروژه اش به خاطر اون باگ های کذاییش زنده میشه، خیلی دردناک بود خودکشی این انسان شایسته ولی خوب تعهدش رو نسبت به سیستمش نشون میداد پس وقتی داریم از کلسکو یاد میکنیم این عقبه متعهد رو به خاطر اطلاعات بیشتر

مقایسه C# با Delphi – برتری ها – مزایا و معایب

مقدمه

همیشه یکی از بحث های مطرح بین برنامه نویس برتری زبان های برنامه نویسی هستش، اصلالتاُ این بحث زمانی سر چشمه میگیره که، برنامه نویس ها تنها یک زبان رو برای توسعه خودشون انتخاب کنند، من به شخصه هیچ عرقی به یک زبان برنامه نویسی خاص ندارم و هر کسی از من این سوال رو میپرسه ( معمولا تو هفته یکی دو مرتبه پیش میادش) با چه زبانی برنامه نویسی رو استارت بزنم پاسخ من با یه سوال شروع میشه چشم انداز تو برای برنامه نویس یا توسعه دهنده شدن چی هستش؟ اما ما باید یه چیزی رو در نظر بگیریم اونم اینه که هر زبانی یه سری رویکرد داره که برای انتخاب باید به رویکرد ها و قابلیت ها توجه کرد که‌ آیا رویکرد این زبان برنامه نویسی با رویکرد های من سازگار هست یا خیر! پس این نقد و مقایسه رو به دور از تعصب توضیح میدیم لذا خیلی موقع ها من به بعضی ها خودم #C رو پیشنهاد میدم به برخی دیگه دلفی رو، پس میزان رویکرد شماس.

 

delphic

 

توضیحی در مورد آندرس هلزبرگ

Anders Hejlsberg معمار اصلی دلفی می باشد، که طراح بنیان دلفی به عهده ایشان بوده است و یکی از طرح های کم نظیر ایشان VCL در دلفی می باشد ، به صورت خلاصه وار بخواهیم در مورد دادگاهی بین مایکروسافت و برلند ( بنیان گذار دلفی اما الان هیچ امتیازی ندارد در اختیار embarcadero می باشد) یک جلسه پشت درب های بسته انجام میشود Borland از شکایت خود منصرف میشود و در نهایت آندرس هلزبرگ از برلند به مایکروسافت می رود همچنان جای سوال است که برنلد در این معماله در ازای چه چیزی مغز متفکر خود را تقدیم مایکروسافت کرد و در نهایت پس از ورود به مایکروسافت J# را طراحی میکند که با شکست مواجه میشود و بعد از معمار اصلی C# ایشان میباشند پس این شخص یکی از مهم تریناطلاعات بیشتر

97 نکته که باید هر برنامه نویس بداند- بخش دوم – پارسی – ترجمه

نکته 4

.Automate Your Coding Standard

4- گوینده : Filip van Laenen به طور خودکار برنامه خورد را استاندارد کد بزنید .
بدون شک شما کد های زیادی تا کنون زده اید .  در ابتدای پروژه همه معمولا نیت های خوبی دارند در “پذیریش قرارداد” ها اغلب این قرارداد ها در اسناد به صورت نوشته شده است .یکی از اصول این است که در آخر کد های پروژه شما استاندارد باشد.  در طول جلسه سعی بر این است که همه اسناد به بهترین و نحو و مطابق با میل همه تنظیم شود ، اما زمانی که پروژه به جریان میافتد خیلی از این نیات خوب فراموش میشود  ، در آن واحد ، اما زمان تحویل که میرسید کد مثل آش شعله قلم کار شده و هیچ کس نمیداند که چگونه و از چه راهی به این شکل در آمده است.
چه زمانی همه چیز رو به خطا نهاد؟ احتمالا در همان پایان نشست .به برخی از قسمت های پروژه توجه نکرده اید ، دیگران متوجه این نکته نیستند، اما بدتر این است که شما در پی برنامه ریزی یک کد استاندارد بودید اما اختلال در کد ایجاد میشود ،  در نهایت برخی از نقاط را با آنها کنار می آیید ، اما زمانی فشار پروژه بیش از حد بالا میرود ، آنها مجبور میشوند کارهای بکنند ، زمانی که کد پروژه فرمت بندی میشود مشتری از شما کد با قابلیت بیشتری می خواهد. بنابراین رعایت کردن یک کد استاندارد به طور خودکار در پروژه خسته کننده میشود. فقط سعی کنید در غرق شدن در کلاس آشفته پروژه ، خود در آن پیدا کنید.

wallpaper-3ac52
اما اگر مشکل این چنین است ، چرا می خواهیم کد های استانداردی در اطلاعات بیشتر

به روزرسانی هسته اوبونتو – update Ubuntu kernel

به نام  دانای بر حق

مقدمه

گاه شما نیاز میبینین که کرنل سیستم عامل خودتون رو آپدیت کنین، از اونجایی که لینوکس مثل ویندوز، شما رو یک انسان نادان فرض نکرده به شما این اجازه رو میده خودتون کرنل سیستم عامل خودتون رو آپدیت کنین پس سیستم عامل Ubuntu برای نمونه نحوه آپدیت کردن کرنل به ورژن دلخواهتون رو در موردش صحبت میکنیم تا باشد که رستگار شوید.

 

Linux_kernel_ubiquity.svg

پیدا کردن packge ها کرنل

شما به مراجعه به این صفحه :

میتونین تمامی ورژن هایی kernel ای که برای اوبنتو کامپایل شده رو دانلود آپدیت کنین و اولین و مهم ترین اصل این هستش که اگر سیستم عامل شما 32bit باشد حتما باید package های که با .i386 ختم میشوند را دانلود کنید در غیر این صورت اگر 64bit بودید باید پکیج هایی که به .amd64 ختم میشوند را دانلود کنید اگر هم از سیستم های دیگه مثل پردازنده arm استفاده میکنید به سراغ پکیج مورد نظر خودتون برید.

حال کدام پیکج ها را نصب کنم؟

ابتدا ورژن مورد نظر خود را انتخاب کنید، معمولا شما دو header و یک image نیاز دارید اما header ای را که پیشوند ندارد و در آخر آن اطلاعات بیشتر

kill process بستن یک برنامه در دلفی

به نام دانای بر حق

 

یکی از چیزهایی که قبلا تو xmen برای این حقیر جذاب بودش این بودش که برای هر کاری یه sample وجود داشتش. استاد مبین همیشه پیشتاز این عرصه بودش با اقتدا به ایشان. البته انتشار این مثال ها جنبه عملی و چیز جدیدی نداره ها فقط مثال هستش بودنشون خالی از لطف نیست.

kill process  با استفاده از نام فایل:

استفاده از unit مشخص شده Winapi.TlHelp32 ضرورت داره:

تابع مورد نظر :

 

نحوه استفاده:اطلاعات بیشتر

97 نکته که باید هر برنامه نویس بداند- بخش اول – پارسی – ترجمه ، مقدمه

مقدمه

97 نکته که هر برنامه نویس باید بداند، کتابی که تو سال ۹۰ بودش با یکی از دوستام امید تصمیم گرفتیم بخونیم، یادمه همون موقع ها بودش که من یه سری از این نکته ها رو شروع کردم ترجمه کردن همین جوری از رو دل این کار رو کردم. اون روزی فایلش رو دیدم دلم نیومد تو بایگانیم خاک بخوره منتشرش میکنم تو هر بخش 3 نکته و انشاالله اگر وقت کنم بخش های و نکات دیگر این کتاب رو ترجمه میکنم.

یکی از مهم ترین نکته های این کتاب اینه برنامه نویساش هم فری لنسر بودن و هم شرکتی کار نکته های جالبی از دو زوایه میگند که خوندنش خالی از لطف نیست.

 

587777

 

نکته شماره ۱

Act with Prudence
1-گوینده : seb rose  : زمانی که کاری را انجام می دهید با احتیاط انجا دهید و به عواقب آن بیاندیشید .

مهم نیست یک برنامه نوشته شدنش چقدر ساده به نظر برسد ، در ابتدای کار ، شما نمیتوانید جلوی فشار های زمانی که پیش می آید رو بگیرید. اگر زمانی خودتون رو در وضعیتی یافتید که مجبور بودید به این بودید که بین ” انجام درست ” و یا ” انجام سریع ” یک پروژه یکی را انتخاب کنید ، مطمئا انجام سریع جاذبه بیشتری دارد اما این رو در نظر بگیرید که انجام سریع یک بازگشت برای تعمیر را به همراه دارد زمانی که شما به خود و یا تیم و یا مشتری خود چینین اجازه ای را میدهید، اما در تمام پروژه ها که به شما پیشنهاد میشه ، در آینده مشکل جدید برای شما بوجود میاورد و این مسائله را برجسته میکند؛ این کار معوق شناخته شده بدهی فنی نام دارد و برای شما اصلااطلاعات بیشتر