نکته های خواندنی - علی ایرانی 📖
92 subscribers
33 photos
2 videos
1 file
150 links
📖 نکته های خواندنی از نگاه علی ایرانی

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

🆔 @airani
ℹ️ https://irani.im
Download Telegram
«حرف زدن آسونه. کد رو نشونم بده.» لینوس توروالدز
۱۰ نکته برای افرادی که به دنبال شغل برنامه نویسی هستند

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

http://goo.gl/ihxLKg
مجموعه افسانه های تجربه کاربری

در یکسال گذشته ، مطالبی در سایت جامعه تجربه کاربری ایران درج شد با عنوان ” افسانه های تجربه کاربری “ ، یعنی باورهای غلطی که بعضی طراحان آنها را قبول دارند درحالیکه ، حتی میتوانند این تفکرات ضربه های بزرگی به پروژه بزند و مشکلات بسیاری بوجود آورند.

این مجموعه ، ترجمه ای مطالب از سایت uxmyths.com هست و هم اکنون که آنها تکمیل شده اند، میتوانید تمامی این مطالب را بصورت یک فایل pdf ، بطور منظم و منسجم داشته باشید.

http://uxpublish.ir/uxmyths.pdf
۹ عادت انسان‌های ناموفق

موفقیت، نه یک لحظه‌ی خاص که یک مسیرِ طولانی است که در آن تنها لحظاتی را برای جشن گرفتنِ تحقق هدف‌های‌مان می‌ایستیم و بعد دوباره برای رسیدن به هدف‌های بعدی به راه می‌افتیم. در این مسیر طبیعتا نیازمند ره‌توشه‌ای هستیم که یکی از مهم‌ترین اجزای آن، داشتن عادت‌های درست است. عادت، یعنی کاری که بدون فکر و انگیزه‌ در لحظه و به‌صورت مستمر آن را انجام می‌دهیم. تکرار عادت‌های درست، باعث می‌شوند تا حرکتِ ما به‌سوی هدف‌های‌مان تسریع و تسهیل شود؛ چرا که در واقع رسیدن به هدف‌ها نیازمند به انجام کارهایی هستند که چیزی جز همین عادت‌های درست نیستند! اما این سکه روی دیگری هم دارد. بسیاری از عادت‌های نادرست هم وجود دارند که ما خواسته و ناخواسته گرفتار آن‌ها هستیم و در مسیرمان به‌سوی اهدافِ بزرگ زندگی، مانع ایجاد می‌کنند. بنابراین هر چقدر لازم است که عادت‌های درست را بشناسیم و آن‌ها را تقویت کنیم، به‌همان اندازه لازم است که عادت‌های بد را هم بشناسیم و برای حذف آن‌ها از زندگی‌مان تلاش کنیم...

http://gozareha.com/1395/07/28/unsscfll-pppl-hbts/
Channel name was changed to «⚡️علی ایرانی»
یک ابزار آنلاین مناسب جهت رسم کردن انواع دیاگرام و فلوچارت و ...

💬 ابزارهای مختلفی رو تا به حال تست کردم که این از همه خوش دست تر و کاربردی تر بوده به نظرم بین بقیه. همچنین متن باز هست و میشه روی هاست های شخصی هم نصبش کرد.

https://www.draw.io/
💡 تفاوت بین برنامه‌نویس، هکر و توسعه دهنده

💬 البته به نظرم این تعاریف اغلب من در آوردی هست ولی از نگاه دیگه میتونه درست هم باشه

https://danielmiessler.com/study/programmer_hacker_developer
 ۱۰ مورد از اشتباهات رایج در برنامه‌نویسی که باید از آنها اجتناب کنید

«بهینه سازی زودرس»
به راحتی ممکن است دچار ضد الگوی بهینه سازی زودرس شویم، اگر به بهینه سازی ها و کارایی های کوچک در فرایند توسعه بیش از حد توجه کنیم و آن ها را زودتر از موعد بهینه کنیم قبل از این که بدانیم دقیقا قصد انجام چه کاری را داریم. طبق نقل قول معروف Donald Knuth "بهینه سازی زودرس ریشه همه بدی هاست". شاید کمی اغراق باشد ولی نشان می دهد ممکن است بعدها مشکلات بزرگتری را به وجود بیاورند.
برای جلوگیری از بهینه سازی زودرس، استفاده از قاعده برنامه نویسی YAGNI مخفف (You Aren’t Gonna Need It) مفید است به این معنی که «شما به آن نیازی نخواهید داشت» به طوری که این اصل حاکی از آن است که «همیشه چیزهایی را به کار ببرید که واقعا به آن ها نیاز دارید نه وقتی که پیش بینی می کنید به آن ها نیاز خواهید داشت.»

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

💬 مقاله ای که بخش هایی از اون رو مطالعه کردیم به نکات مفیدی اشاره میکنه که لازم هست برای نوشتن یک برنامه خوب به اونها توجه داشته باشیم. پیشنهاد میکنم متن کامل مقاله رو حتما در اینجا به طور کامل مطالعه بفرمائید.
«استارت‌آپ و ناگفته های بسیار»

💬 حرف هایی درباره مشکلات و موفقیت های «استارت‌آپ» که به نظر واقع بینانه تر از شلوغ کاری هایی میاد که در رسانه ها و تبلیغات شرکت ها اونها رو دیدیم. پیشنهاد میکنم اگر به این حوزه علاقه‌مند هستید این مقاله رو مطالعه کنید.
 استفاده از JOIN ها از نسخه ۳.۲ به بعد MongoDB

💬 یکی از ضعف هایی که به پایگاه داده MongoDB نسبت به دیتابیس های رابطه‌ای وجود داشت، نداشتن امکان JOIN مناسب بین کالکشن ها بود که این ضعف از نسخه ۳.۲ به بعد MongoDB برطرف شده و به این دیتابیس قدرتمند NoSql اضافه شده.

🚩 برای کسب اطلاعات بیشتر می‌تونید این مقاله رو در این رابطه مطالعه کنید.
 💡 نزدیک دو ساله که داریم روی یک سرویس تحت وب کار می کنیم، یادم میاد قبل از شروع کار یک ماه داشتیم طرح تجاری می نوشتیم و کلی هم تحقیقات بازار انجام دادیم، بعد از گذشت ۹ ماه که شروع کرده بودیم، دچار یک سردرگمی بدی شده بودیم، هم می دونستیم داریم چه کار می کنیم و هم نمی دونستیم، یه جای کار می لنگید، محصول اولیه آماده شده بود و باید وارد بازارش می کردیم ولی نمی تونستیم، مشکل بزرگی وجود داشت. چند وقتی ذهن ما را درگیر خودش کرده بود، احساس می‌کردیم چیزی که ساختیم نیازهای مشتری ما را برآورده نمی کنه، با وجودیکه در ابتدا باهاشون کلی صحبت کرده بودیم!

💬 متن بالا بخشی از مطلبی هست که «ابوالفضل فتاحی» درباره مشکلی که با محصولشون داشتند و اینکه چطور حلش کردند در وبلاگش نوشته. من هم چون با همچین مشکلی مساله داشتم به نظرم رسید مطلبش رو اینجا هم بگذارم تا شاید برای دیگران هم مفید باشه و در ادامه هم کتاب «آزمونِ مامان» رو در همین رابطه معرفی کرده که فکر کنم لازمه در اولین فرصت بگیرم و بخونمش.
یه منبع خوب و جمع و جور برای اونهایی که میخواهن بیشتر با لینوکس آشنا بشن 😊

🌐 https://linuxjourney.com
 مجموعه ای از کتاب های رایگان جمع آوری شده برای توسعه دهندگان و برنامه نویسان

💬 راه اندازی چنین صفحه ای برای کتاب های رایگان فارسی موجود هم کار خوب و مفیدی هست اگر کسی حالش رو داشته باشه 😊

https://devfreebooks.github.io
شاید حال و روز خیلی از ما با پروژه هامون
 امروز جمله ای از یک دانشمند علوم کامپیوتر به نام «Donald Knuth» دیدم که به نظرم جمله مهمی هست:

«بهینه سازی قبل از موقع ریشه تمام شر ها است.»

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

پس اگر «زمان» توی پروژه هامون فاکتور مهمی هست که هست، باید حواسمون به این نکته هم باشه