استقبال از برنامهنویسی هر روز بیشتر از دیروز!
این تابستان برای اولین بار، در مؤسسه، ۵ گروه ۱۵ نفره در دورههای برنامهنویسی را همزمان پیش میبریم و تا آخر تابستان دوره اول آنها را تمام خواهیم کرد.
لیست دورهها و نحوه ثبتنام:
استقبال از برنامهنویسی هر روز بیشتر از دیروز!
این تابستان برای اولین بار، در مؤسسه، ۵ گروه ۱۵ نفره در دورههای برنامهنویسی را همزمان پیش میبریم و تا آخر تابستان دوره اول آنها را تمام خواهیم کرد.
لیست دورهها و نحوه ثبتنام:
مشتری عزیزی که اولین پروژه برنامهنویسی را ۲۱ سال پیش به ما سفارش داد و در این مدت از آن استفاده میکرده، حالا دوباره با یک سفارش ۲۱ میلیون تومانی مشتری ما شده است:
این سایت، طرح مدفا است، به انضمام برخی اضافات...
حُجرا+نُمرا+تِستا+دامنه+هاست
مشتریان گرامی هاستینگ آفتابگردان،
با توجه به شرایط فعلی کشور، لطفاً جهت اطمینان، از هاست خود یک فولبکآپ گرفته و نزد خود نگاه دارید.
فکر خوبیست؛ به جای اینکه یک شرکت هزینه کند که یک شرکتِ نرمافزاری برایش سایت بزند، هزینه میکند و یکی از کارمندانش را در یک دوره طراحی وب ثبتنام میکند و پروژهی آن کارمند میشود طراحی و مدیریت سایت شرکت؛ مثل این دانشجوی دورههای ما:
پروژه یکی از دانشجویان دورههای طراحی وب ما، پس از گذراندن دوره اول در مجتمع فنی تهران نمایندگی ساوه: https://pinkgym.ir
به جای اینکه بگویید باید صبحها یک ساعت ورزش کنم، بگویید: وقتش رسیده که بدن سالم و ورزیدهای داشته باشم...
بحث جالبی در کتاب عادتهای اتمی است...
فرق کسی که یک سیگار را میبیند و اشتیاق کشیدنش را دارد و کسی که حالش از دیدن و بوییدن سیگار به هم میخورد یک چیز است: پیشبینی این دو از نتیجه سیگار کشیدن متفاوت است. اولی پیشبینیاش این است که سیگار باعث تسکین اعصابش میشود و دومی پیشبینیاش این است که سیگار اعصاب او را نبود میکند.
- کتاب عادتهای اتمی
خیلی جالب بود... پیشبینی نتیجه میتواند دلیل بسیاری از رفتارهای نادرست را توجیه کند... پیشبینی شما از نتیجه زیاد خوردن، دروغ گفتن، بیحجابی و... چیست؟ اگر پیشبینی شما این است که زیاد خوردن باعث افزایش قدرت میشود، دروغ گفتن باعث پیشرفت در شغل میشود، بیحجابی باعث باکلاسجلوهکردن میشود، شما حتماً به این کارها دست خواهید زد... و برعکس...
ترفند تجمیع خواستهها برای ایجاد یک عادت:
آنچه دوست دارید انجام دهید را با آنچه باید انجام دهید تجمیع کنید.
مثلاً اگر دوست دوچرخهسواری کنید و باید هر روز سر کار بروید، با دوچرخه سر کار بروید.
در کتاب عادتهای اتمی آمده است که: در یک پژوهش مشخص شد که خانوادههایی که کنتور برق آنها در راهرو و سر راه رفت و آمدشان است مصرف برق کمتری نسبت به خانوادههایی که کنتور برقشان در زیرزمین و مخفی است داشتهاند...
سهولت مشاهده میزان مصرف میتواند در کاهش آن مؤثر باشد.
مثلاً اپلیکیشنی که میزان مصرف روزانه آب، برق و گاز را به مشترکین نشان دهد، بسیار مؤثر خواهد بود.
زنجیرهسازی عادت: برای ایجاد یک عادت جدید، آن را به یک عادت موجود زنجیره کنید؛ مثلاً از این پس هر زمان پشت کامپیوتر نشستم، کنار کامپیوترم ۳ دقیقه نرمش میکنم.
چهار قانون برای ایجاد یا تغییر عادات:
۱- سرنخ: آن را شفاف و آشکار کنید.
۲- تمایل: آن را جذاب کنید.
۳- پاسخ: آن را ساده کنید.
۴- پاداش: آن را رضایتبخش کنید.
و برای حذف یک عادت بد:
۱- آن را مخفی (پنهان) کنید.
۲- آن را غیرجذاب کنید.
۳- آن را سخت کنید.
۴- آن را عامل نارضایتی کنید.
مثلاً برای ترک عادت چک کردن شبکه اجتماعی:
۱- آیکون آن را در پنهانترین جای ممکن قرار دهید.
۲- تصویر بکگراند یا قالب آن را به آن چیزی که نفرت دارید تغییر دهید.
۳- دسترسی به آن را سخت کنید (مثلاً به جای پراکسی در تلگرام، از VPN رایگان که سخت متصل میشود استفاده کنید)
۴- هر بار به این فکر کنید که شأن شما چقدر پایین آمده که بخواهید دائم یک برنامه که دیگران ساختهاند را چک کنید و آنها به شما خط بدهند...
- کتاب عادتهای اتمی
تجمع بهبودهای کوچک باعث موفقیتهای بزرگ میشود...
بهبودهای کوچک باعث تفاوتهای بزرگ میشود.
- کتاب عادتهای اتمی
با بررسی دانشجویان کلاسهای جدید میگم: روزی رو میبینم که (پنج تا ده سال دیگه) خانوادههای ماهوارهای و «زن، زندگی، آزادی» یکی یکی بیان مشاوره روانشناسی بابت بچهها و خانوادههای بهفنارفتهشون...
خدایان self-control نخواهند توانست جمله به این زیبایی بیان کنند:
امام باقر علیه السّلام فرمودند:
إنِّى لأبغضُ الرَّجُل أن یَكُون كسلاناً عَن أمرِ دُنیَاه، و مَن كَسَل عَن أمرِ دُنیاه فَهُو عَن أمر آخِرتِه أكسلَ؛
من فردی را كه در كار دنیایش تنبل باشد مبغوض میدارم؛ همانا كسى كه در كار دنیا تنبل باشد، در كار آخرتش تنبلتر است.
تازه فهمیدم که چرا بچه خودم پس از یک دوره تجربه گوشی، به طور ناگهانی استفاده از گوشی را ترک کرد!
آیا مانند فرزندانِ معتادها به سیگار و مواد مخدر که با مشاهده والدین خود از سیگار و مواد بیزار میشوند، نسل آینده هم با مشاهده مادران و پدران معتاد به گوشی، از گوشی بیزار خواهند شد؟
ظاهراً اینطور است:
کودکان علیه گوشی؛ یک مطالعه از رفتار تأملبرانگیز نسل جدید پرده برداشت
نبرد مقدس ایران با اسرائیل به نظر من نقطه عطفی در بین جنگها بود؛ این جنگ در حقیقت آغازی بر جنگ برنامهنویسان بود! ایران که سالها نیاز چندانی به تأمین امنیت برنامهها و اپلیکیشنهای دولتی و غیردولتی خود نداشت (چون به خاطر ترس از قانون کسی و کشوری جرأت حمله و سوء استفاده نداشت)، از این جنگ درسهای زیادی آموخت و از این پس پیشرفتهای چشمگیری در زمینه امنیت سایبری و تأمین امنیت برنامهها خواهد داشت. جنگ اگر چه از لحاظ انسانی بد است اما یک حقیقت تلخ و شیرین نیز دارد: هر کشوری که بیشتر جنگیده است، پیشرفتهتر شده است؛ چون انسانها تا جانشان تهدید نشود و در اضطرار قرار نگیرند به فعالیت واداشته نمیشوند. اقدامات سایبری که اسرائیل توانست در این جنگ انجام دهد را مرور کنیم: - هک اپلیکیشنها و سایتها جهت یافتن شماره موبایل و آدرس من... (ادامه)
یکی از چالشها در مهندسی نرمافزار و البته در هر بحثی رسم اشکال است؛ نمودار یا دیاگرام و چارت و فلوچارت یا نمودار گردش کار و... رسم اینها نیاز به محیط گرافیکی دارد و انتقال آنها نیز به سادگی متن نیست. یک ابتکار جالب که مدتی است دارد جایگزین رسم دیاگرام میشود، «دیاگرام در قالب کد» است. در این حالت کاربر فقط کافیست تعدادی دستور یا تابع را یاد بگیرد تا بتواند هر نموداری که خواست رسم کند. از آنجا که فعلاً هیچ سازمان بینالمللی این مفهوم را استاندارد نکرده است، سایتهای مختلف، روشهای خاص خود را برای این کار معرفی کردهاند؛ برخی از آنها عبارتند از: PlantUML و Mermain و ZenUML و... از بین موارد بالا به نظر میرسد Mermaid روانتر و جذابتر و کاملتر کار کرده، به طوری که اگر از ابزارهای هوش مصنوعی خواهید که ... (ادامه)
در یکی از کلاسهای برنامهنویسی، در حین کار روی پروژه، قطعه کد جالبی نوشتیم... برای درک پیچیدگی و در عین حال جذابیت برنامهنویسی، کافیست به این ۵ خط کد دقت کنید: @if($_COOKIE['dark']) $(`#dark`).click(function(){ $(`a`).removeClass(`link-primary`); }); @endif برای درک کامل این ۵ خط کد، حداقل باید ۵ دوره برنامهنویسی را پاس کرده باشید: ۱- زبان HTML برای درک `a` ۲- زبان CSS برای درک #dark و پس از آن دوره bootstrap برای درک `link-primary` ۳- زبان C یا C++ برای درک if و ; ۴- زبان JavaScript برای درک function() و پس از آن دوره JQuery برای درک removeClass و $ ۵- زبان PHP برای درک $_COOKIE و پس از آن دوره Laravel و زبان Blade برای درک @ و تازه، در کنار آن کلی مهارت دیگر مانند زبان MySQL، مفهوم Template Engine، طراحی MVC، مبحث UI/UX و طراحی حالت Dark Mode، مبحث SEO، امنیت د... (ادامه)
قانون هیک یا Hick's Law یک قانون در طراحی رابط کاربری (UI Design) و همینطور تجربه کاربری (UX) است که میگوید: زمان تصمیمگیری فرد با تعداد گزینههای در دسترس او رابطه مستقیم دارد؛ یعنی هر چه تعداد گزینههای ممکن بیشتر باشد، زمان انتخاب گزینه نهایی، بیشتر خواهد بود. توضیح ویکیپدیا در این زمینه: Hick's Law describes the time it takes for a person to make a decision as a result of the possible choices: increasing the number of choices will increase the decision time logarithmically. پس اگر طراح رابط کاربری نرمافزارها هستید، فراموش نکنید که افزایش گزینههای منوها، افزایش دکمهها و... کاربران را سردرگمتر میکند و اگر تجارت الکترونیک دارید، فراموش نکنید که هر چه محصولات و پلانها در یک زمینه خاص بیشتر باشد، کاربران سختتر... (ادامه)
باید قبول کرد که خوابیدن در تختخواب یا لمیدن روی مبل و کدنویسی کردن راحتتر است تا ساعتها روی صندلی (حتی بهترین صندلی) دائم به باسن فشار آوردن! هر چند تا همین چند وقت پیش معتقد بودم که کدنویسان هیچ وقت نمیتوانند با کامپیوترهای دسکتاپ خداحافظی کنند اما باید اعتراف کنم که مدتی هست که خودم خیلی از کدنویسیها را با گوشی و روی تختخواب انجام میدهم و فکر میکنم خیلی زود، کامپیوتر دسکتاپ از دنیای کدنویسی هم رختبربندد! برای کدنویسی روی تختخواب(!) و با موبایل، ابزارهایی لازم است که در مطالب قبلی معرفی کردهام و فقط اینجا جمعشان میکنم: ۱- کیبورد مخصوص کدنویسی بلاشک کیبورد فوقالعاده Unexpected تنها انتخاب است. مطلب مرتبط: Unexpected Keyboard ؛ کیبورد مخصوص کدنویسی در موبایل ۲- اجراکننده PHP و زبانهای دیگر: برای این کار باید ک... (ادامه)
گاهی ممکن است به دلایل مختلف دسترسی به کنترلپنل سایت مشتری ممکن نباشد؛ مثلاً مدیر سایت به دلایل امنیتی اجازه دسترسی کامل به CPanel یا Direct Admin را به برنامهنویس نمیدهد یا اصلاً سرور به صورت خط فرمانی مدیریت میشود و کنترلپنل تحت وب ندارد. از کل کنترلپنل هاست، دو گزینه برای برنامهنویس از همه مهمتر است: File Manger و Database Manager حالا، خبر خوب این است که شما به راحتی میتوانید با دو فایل ساده به زبان PHP یک «فایل منیجر» و «دیتابیس منیجر» عالی (یعنی واقعاً عالی!) داشته باشید: Single-file PHP File Manager/Database Manager ۱- Tiny File Manager این اسکریپت بسیار کمحجم و بسیار پرامکانات شما را غافلگیر خواهد کرد! یک فایل ۲۰۰ کیلوبایتی بیشتر نیست اما به اندازه همه File Managerهایی که کار کردهای... (ادامه)
در دورههای برنامهنویسی وب، یک جلسه درباره مفهوم Accessiblity (دسترسیپذیری) یا Usability (کاربردپذیری) صحبت میکنم.Accessiblity به طور خلاصه یعنی نرمافزار و برنامه تحت وب شما برای همه کاربران با همه نوع معلولیت به راحتی قابل دسترسی باشد. نماد دسترسیپذیریحالا ممکن است در نگاه اول بپرسید «مگر ما چقدر معلول داریم که نگران آنها باشیم؟» اما اگر این صفحه از W3Schools که درباره «تنوع معلولیت» صحبت میکند را بخوانید (ترجمه فارسی)؛ متوجه میشوید که خودِ شما که مثلاً سالم هستید، چند معلولیت داشتهاید که خبر نداشتهاید!! (مثلاً اگر شما الان در کلاس یا در جلسهای هستید و نمیتوانید به یک فایل صوتی گوش کنید، به نوعی ناشنوا به حساب میآیید (ناشنوای موقعیتی) یا اگر در همان جلسه نمیتوانید صحبت کنید؛ لال موقعیتی به حساب میآیید.به هر حال، یک طراحی خوب طراحیای است که برای همه نوع معلولیت (چه دائمی و... (ادامه)