چنتا تا از بهترین ریپو های گیت هاب
🔗 30 Days Of JavaScript
این ریپو یک چالش برنامه نویسی 30 روزه جاوا اسکریپت رو ارائه میکنه که میتونید با تمرین عملی به بهبود مهارت های جاوا اسکریپتتون کمک کنید.
🔗 30 seconds of code
این ریپو، مجموعه ای عالی از قطعه کدهای مفید توی مباحث مختلف که میتونید اون ها رو تو 30 ثانیه یا کمتر یاد بگیرید.
🔗 App Ideas
توی این ریپو به صورت دسته بندی شده از Beginner تا Advanced ایده ی پروژه های مختلفی به شما میده
🔗 Beautiful Docs
این ریپو مجموعه ای از مثال های عالی و نکاتی از زبان های برنامه نویسی و تکنولوژی های مختلفه که کمک میکنه تا برای پروژه هاتون مستندات زیبایی ایجاد کنید :)
🔗 Build your own X
این یکی مورد علاقه ی خودمه :) توی این ریپو می تونید کلی مثال از نحوه ی پیاده سازی چیز های مختلف مثلا چطوری یه چیزی مثل داکر، یه شبیه ساز یا حتی یه Browser Engineering توی زبان های مختلف از صفر تا صد بسازید پیدا کنید.
🔗 Free-certifications
توی این ریپو می تونید لیست جامعی از گواهینامه ها و دوره های آموزشی رایگان برای موضوعات مختلف پیدا کنید.
🔗 Free for dev & Free Programming Books
توی این دوتا ریپو می تونید مجموعه از خدمات، نرم افزار ها، وبسایت ها و کتاب های رایگان رو پیدا کنید. ریپو Free Programming Books کتاب های به زبان فارسی هم داره.
🔗 Project Based Learning
این ریپو هم کار جالبی کرده اومده بر اساس زبان های برنامه نویسی مختلف دسته بندی انجام داده و وقتی یه زبان یا تکنلوژی را انتخاب می کنید نمونه پروژه هایی که میشه باهاش ساخت را لیست کرده به همراه اموزش ساختشون که اکثرا ویدیو های یوتیوب هستند
🔗 Public APIs
لیستی از APIهای رایگان
🔗 Devops Eexercises
این ریپو شامل سؤالات و تمرینهایی در مورد موضوعات فنی مختلف مثل DevOps و SRE هستش و در حال حاضر میتونید 2624 تا سوال و تمرین توش پیدا کنید
➖➖➖
شما دیگه چه ریپو هایی رو میشناسید که جاشون توی این لیست خالیه؟
🆔 @MdDaily
🔗 30 Days Of JavaScript
این ریپو یک چالش برنامه نویسی 30 روزه جاوا اسکریپت رو ارائه میکنه که میتونید با تمرین عملی به بهبود مهارت های جاوا اسکریپتتون کمک کنید.
🔗 30 seconds of code
این ریپو، مجموعه ای عالی از قطعه کدهای مفید توی مباحث مختلف که میتونید اون ها رو تو 30 ثانیه یا کمتر یاد بگیرید.
🔗 App Ideas
توی این ریپو به صورت دسته بندی شده از Beginner تا Advanced ایده ی پروژه های مختلفی به شما میده
🔗 Beautiful Docs
این ریپو مجموعه ای از مثال های عالی و نکاتی از زبان های برنامه نویسی و تکنولوژی های مختلفه که کمک میکنه تا برای پروژه هاتون مستندات زیبایی ایجاد کنید :)
🔗 Build your own X
این یکی مورد علاقه ی خودمه :) توی این ریپو می تونید کلی مثال از نحوه ی پیاده سازی چیز های مختلف مثلا چطوری یه چیزی مثل داکر، یه شبیه ساز یا حتی یه Browser Engineering توی زبان های مختلف از صفر تا صد بسازید پیدا کنید.
🔗 Free-certifications
توی این ریپو می تونید لیست جامعی از گواهینامه ها و دوره های آموزشی رایگان برای موضوعات مختلف پیدا کنید.
🔗 Free for dev & Free Programming Books
توی این دوتا ریپو می تونید مجموعه از خدمات، نرم افزار ها، وبسایت ها و کتاب های رایگان رو پیدا کنید. ریپو Free Programming Books کتاب های به زبان فارسی هم داره.
🔗 Project Based Learning
این ریپو هم کار جالبی کرده اومده بر اساس زبان های برنامه نویسی مختلف دسته بندی انجام داده و وقتی یه زبان یا تکنلوژی را انتخاب می کنید نمونه پروژه هایی که میشه باهاش ساخت را لیست کرده به همراه اموزش ساختشون که اکثرا ویدیو های یوتیوب هستند
🔗 Public APIs
لیستی از APIهای رایگان
🔗 Devops Eexercises
این ریپو شامل سؤالات و تمرینهایی در مورد موضوعات فنی مختلف مثل DevOps و SRE هستش و در حال حاضر میتونید 2624 تا سوال و تمرین توش پیدا کنید
➖➖➖
شما دیگه چه ریپو هایی رو میشناسید که جاشون توی این لیست خالیه؟
🆔 @MdDaily
❤🔥7👍1🔥1👌1
animation.gif
11.7 MB
تست و اجرای برنامه های اندرویدی در دستگاه های واقعی بدون نیاز به استفاده از منابع شما در نسخه ی جدید اندروید استودیو ممکن شد!
همونطور که توی گیف مشخصه توی آپدیت جدید Jellyfish در کانال Canary اندروید استودیو این امکان فراهم شده که شما بتونید توی دیوایس های واقعی و API Level های مختلف برنامه هاتون رو اجرا کنید و تست بگیرید. این سرویس از سمت فایربیس پشتیبانی میشه و فعلا رایگان هست و استفاده ازش محدودیتی نداره. توی این آپدیت دیگه مجبور نیستید برای تست اپ هاتون از گوشی واقعی خودتون یا شبیه ساز هایی که منابع سیستمون رو اشغال میکنند استفاده کنید.
ویژگی ها:
👈 عدم استفاده از منابع سیستم شما
👈 دسترسی به Logcat
👈 دسترسی به ADB
👈 امکان اجرا و تست روی چندین دیوایس به صورت هم زمان
میتونید نسخه ی Jellyfish رو از لینک زیر دانلود کنید:
🔗 https://developer.android.com/studio/preview
اطلاعات بیشتر در:
🔗 https://firebase.blog/posts/2024/02/device-streaming-android
🆔 @MdDaily
همونطور که توی گیف مشخصه توی آپدیت جدید Jellyfish در کانال Canary اندروید استودیو این امکان فراهم شده که شما بتونید توی دیوایس های واقعی و API Level های مختلف برنامه هاتون رو اجرا کنید و تست بگیرید. این سرویس از سمت فایربیس پشتیبانی میشه و فعلا رایگان هست و استفاده ازش محدودیتی نداره. توی این آپدیت دیگه مجبور نیستید برای تست اپ هاتون از گوشی واقعی خودتون یا شبیه ساز هایی که منابع سیستمون رو اشغال میکنند استفاده کنید.
ویژگی ها:
👈 عدم استفاده از منابع سیستم شما
👈 دسترسی به Logcat
👈 دسترسی به ADB
👈 امکان اجرا و تست روی چندین دیوایس به صورت هم زمان
میتونید نسخه ی Jellyfish رو از لینک زیر دانلود کنید:
🔗 https://developer.android.com/studio/preview
اطلاعات بیشتر در:
🔗 https://firebase.blog/posts/2024/02/device-streaming-android
🆔 @MdDaily
🔥4👍2
سیستم مدیریت محتوای Headless چیه؟
بذار یه مثال ساده بزنم. فرض کن میخوای یه ساختنی با لگو بسازی. تو دو تا راه داری:
1. از یه مجموعه لگوی آماده استفاده کنی:
تو این روش، میری یه مغازه اسباب بازی فروشی و یه مجموعه لگو که از قبل طراحی شده و یه عالمه قطعه داره رو میخری. با این مجموعه میتونی یه چیزایی مثل یه قلعه، یه سفینه فضایی یا یه ماشین بسازی.
2. خودت با لگو یه چیز جدید بسازی:
تو این روش، یه عالمه آجر لگو با رنگ ها و شکل های مختلف میگیری و با خلاقیت خودت شروع به ساختن میکنی. میتونی یه چیز خلاقانه و منحصر به فرد بسازی.
پس Headless CMS مثل روش دومه.
تو این روش، تو محتوای وب سایتت رو یه جا ذخیره میکنی (مثلاً متن، عکس، ویدیو). بعد، میتونی از این محتوا تو هر جایی که دوست داری استفاده کنی (مثلاً تو وب سایت، اپلیکیشن موبایل، یا حتی ساعت هوشمند).
مزیت Headless CMS چیه؟
👈آزادی عمل بیشتر: تو میتونی هر جوری که دوست داری محتوایت رو نمایش بدی. دیگه محدود به قالب های پیش فرض نیستی.
👈خلاقیت بیشتر: میتونی از خلاقیت خودت استفاده کنی و یه وب سایت یا اپلیکیشن منحصر به فرد بسازی.
👈انعطاف پذیری بیشتر: میتونی به راحتی محتوایت رو به روز رسانی کنی و تغییرات جدیدی ایجاد کنی.
در نتیجه Headless CMS برای چه کسانی مناسبِ؟
وقتی شما از چیزی مثل وردپرس استفاده می کنید بهتون یه پکیج کامل میده که می تونید وب سایت خودتون را باهاش ایجاد کنید ولی بعضی وقتا ما نیاز به CMS ای داریم که فقط مدیریت سمت بکند را انجام بده و ما بتونیم ازش توی کلاینت های مختلف استفاده کنیم پس Headless CMS یه راه حله که آزادی عمل و انعطاف پذیری بیشتری برای ساخت وب سایت یا اپلیکیشن میده.
معرفی Strapi:
یکی از قدرتمند ترین ابزار های Headless CMS پروژه ی Strapi است که با کمترین میزان کد نویسی ممکن در سمت بکند به شما یه پنل مدیریت کامل برای مدیریت محتوا به همراه API میده که توی هر کلاینتی می تونید بهش متصل بشید و برای فلاتر و react و ... هم پکیج داره.
🔗 وبسایت پروژه: https://strapi.io/
🔗 گیت هاب پروژه: https://github.com/strapi/strapi
🆔 @MdDaily
بذار یه مثال ساده بزنم. فرض کن میخوای یه ساختنی با لگو بسازی. تو دو تا راه داری:
1. از یه مجموعه لگوی آماده استفاده کنی:
تو این روش، میری یه مغازه اسباب بازی فروشی و یه مجموعه لگو که از قبل طراحی شده و یه عالمه قطعه داره رو میخری. با این مجموعه میتونی یه چیزایی مثل یه قلعه، یه سفینه فضایی یا یه ماشین بسازی.
2. خودت با لگو یه چیز جدید بسازی:
تو این روش، یه عالمه آجر لگو با رنگ ها و شکل های مختلف میگیری و با خلاقیت خودت شروع به ساختن میکنی. میتونی یه چیز خلاقانه و منحصر به فرد بسازی.
پس Headless CMS مثل روش دومه.
تو این روش، تو محتوای وب سایتت رو یه جا ذخیره میکنی (مثلاً متن، عکس، ویدیو). بعد، میتونی از این محتوا تو هر جایی که دوست داری استفاده کنی (مثلاً تو وب سایت، اپلیکیشن موبایل، یا حتی ساعت هوشمند).
مزیت Headless CMS چیه؟
👈آزادی عمل بیشتر: تو میتونی هر جوری که دوست داری محتوایت رو نمایش بدی. دیگه محدود به قالب های پیش فرض نیستی.
👈خلاقیت بیشتر: میتونی از خلاقیت خودت استفاده کنی و یه وب سایت یا اپلیکیشن منحصر به فرد بسازی.
👈انعطاف پذیری بیشتر: میتونی به راحتی محتوایت رو به روز رسانی کنی و تغییرات جدیدی ایجاد کنی.
در نتیجه Headless CMS برای چه کسانی مناسبِ؟
وقتی شما از چیزی مثل وردپرس استفاده می کنید بهتون یه پکیج کامل میده که می تونید وب سایت خودتون را باهاش ایجاد کنید ولی بعضی وقتا ما نیاز به CMS ای داریم که فقط مدیریت سمت بکند را انجام بده و ما بتونیم ازش توی کلاینت های مختلف استفاده کنیم پس Headless CMS یه راه حله که آزادی عمل و انعطاف پذیری بیشتری برای ساخت وب سایت یا اپلیکیشن میده.
معرفی Strapi:
یکی از قدرتمند ترین ابزار های Headless CMS پروژه ی Strapi است که با کمترین میزان کد نویسی ممکن در سمت بکند به شما یه پنل مدیریت کامل برای مدیریت محتوا به همراه API میده که توی هر کلاینتی می تونید بهش متصل بشید و برای فلاتر و react و ... هم پکیج داره.
🔗 وبسایت پروژه: https://strapi.io/
🔗 گیت هاب پروژه: https://github.com/strapi/strapi
🆔 @MdDaily
strapi.io
Strapi - Open source Node.js Headless CMS 🚀
Strapi is the next-gen headless CMS, open-source, JavaScript/TypeScript, enabling content-rich experiences to be created, managed and exposed to any digital device.
👍3🔥1
احتمالا فردا یا سه شنبه پست سیستم دیزاین Uber که چطوری با یک میلیون درخواست در ثانیه نزدیکترین راننده رو پیدا میکنه آماده و منتشر میشه :) قرار با نحوه ی کار H3 library اشنا بشیم
🔥7👍3
#ام_دی_کورس
چطوری اوبر با ۱ میلیون درخواست در ثانیه رانندگان نزدیک رو پیدا می کنه؟
ادامه در:
https://mddaily.web.app/blog/how-does-uber-find-nearby-drivers/
🆔 @MdDaily
چطوری اوبر با ۱ میلیون درخواست در ثانیه رانندگان نزدیک رو پیدا می کنه؟
پیدا کردن رانندگان نزدیک با دقت و مقیاسپذیری بالا، کار سختیه و بریم ببینیم که اوبر چطوری این مشکل را حل کرده:
۱. فهرستبندی موقعیت مکانی (Location Indexing)
پیدا کردن رانندگان نزدیک فقط با استفاده از طول و عرض جغرافیایی دشوار هست، پس، اوبر موقعیتهای مکانی را فهرستبندی یا ایندکس میکنه تا رانندگان نزدیک را بهطور کارآمد پیدا کنه.
اوبر برای فهرستبندی یا ایندکس موقعیت مکانی از کتابخانهی H3 استفاده میکنه. H3 یک سیستم فهرستبندی یا ایندکسینگ مکانی سلسلهمراتبی با شکل ششضلعی است که در اوبر ساخته شده. H3 سطح زمین را به سلولهایی روی یک شبکهی مسطح تقسیم میکنه و به هر سلول یک شناسهی منحصر به فرد با یک عدد صحیح ۶۴ بیتی اختصاص میده....
ادامه در:
https://mddaily.web.app/blog/how-does-uber-find-nearby-drivers/
🆔 @MdDaily
🔥8❤3❤🔥1👌1
🚫 چیز هایی که هرگز نباید به برنامه نویس های تازه کار بگید
هنگام آموزش توسعهدهندگان تازهکار، مهمه که بقیه نسبت به حرف هاشون آگاه باشن. حتی با وجود نیت خیر، انتخاب کلمات ممکنه بر افراد به روشهایی که پیشبینی نمی کنید تأثیر گذار باشه. هدف نهایی از راهنمایی توسعهدهندگان تازهکار، ایجاد اعتماد به نفس، تقویت یادگیری و تشویق رشد حرفه ایه. یکی از راههایی که میتونیم به این افراد برای تبدیل شدن به توسعهدهندگان موفق کمک کنیم، استفاده از زبان حمایتی و سازندست - یعنی عبارات ذکر شده تو این پستو به کار نبریم :)
👈 "این خیلی آسونه" یا "این که کاری نداره."
گفتن این جمله خیلی وسوسهکنندست - چون با سالها تجربه، ممکنه یک کار خاص واقعاً آسون باشه! (خودم این رو بیشتر از حد لازم به طور اتفاقی گفتم.) یادتون باشه که حتی اگه انجام کاری برای شما ساده به نظر برسه باید بپذیریم برخی کارها ممکنه برای برنامهنویسان جدید چالش برانگیز باشه!
👈 "تو باید اینو از قبل میدونستی" یا "خودت باید بفهمیش" یا "چرا هنوز نفهمیدی؟"
این حرفا میتونه توقعها رو خیلی بالا ببره و یه جورایی توسعهدهنده تازهکار رو تحت فشار بذاره. اینجوری اعتماد به نفسش میره پایین و دیگه کمک نمیخوان و حتی ممکنه منجر به سندروم خودویرانگری بشه. یادمون باشه که این افراد هنوز دارن توی کار یاد میگیرن و ممکنه با یه سری مفاهیم آشنا نباشن. به جای انتقاد بهتره یه جوری مسائل رو توضیح بدیم و منابعی رو بهشون معرفی کنیم که بتونن یاد بگیرن.
👈 "چطور تونستی این اشتباه رو بکنی؟" یا "من این کار رو اینجوری انجام نمیدادم" یا "شاید تو واسه این کار ساخته نشدی."
این جور انتقادها میتونه عزت نفس این افراد رو داغون کنه. به جای این کارا، سعی کن یه جوری بهش بازخورد بدی که بتونه ازش درس بگیره و پیشرفت کنه. انتقاد بیش از حد و یا گفتن اینکه خودت چیکار میکردی، میتونه تازهکار رو دلسرد کنه و دیگه ازش خلاقیت و ایده نبینی.
👈 "خیلی طول میکشی" یا "اگه من انجامش بدم زودتر تمومه"
ممکنه که وسوسه بشید کاری را که یک توسعهدهنده کمتجربهتر با هاش درگیر عه به عهده بگیری که اگه فرصتها رو ازشون بگیری، یاد نمی گیرن. در عوض، پیشنهاد کنید تا با کمک به تقسیم کارها به مراحل کوچکتر و ارائه کمک در تکمیلشون تازهکاران رو تو انجام کارهای پیچیده راهنمایی کنید.
👈 "فقط اینجوری انجامش بده" یا "اینجا اینجوری کار میکنیم."
در حالی که حفظ رویههای استاندارد و بهترین شیوهها مهمه، ایدههای این افراد رو بدون بررسی رد نکنید، چونکه میتونند ایدههای جدید و دیدگاههای تازه را به کار وارد کنند. با بحث در مورد چرایی و چگونگی فرآیندها و توضیح منطق پشت شیوههای ترجیحی، تفکر انتقادی و خلاقیت رو تشویق کنید.
👈 "تو برای این کار خیلی تازهکاری"، "تو فقط یک توسعهدهنده junior هستی"، یا "تا تجربه بیشتری کسب نکنی، نمیفهمی."
مقایسه افراد junior با افراد senior، به خصوص به روش منفی، نه تنها میتونه اعتماد به نفس افراد junior رو تضعیف کنه، بلکه منجر به محیط کاری ناسالم و رقابتی میشه که توش افراد junior برای «اثبات خود» تلاش میکنن. به جای این کار، سعی کنید با کمک به افراد junior برای تعیین اهداف حرفهای ایشون صحبت و کمک کنید.
👈 "چه سوال مسخره ای!"
منصرف کردن سوالات یا برچسب زدن آنها به عنوان احمقانه کار غیرقابل قبولیه اما همچنان اتفاق میافته. این کار میتونه باعث بشه افراد junior از درخواست کمک دریغ کنن.
👈 "برنامهنویسهای واقعی از فلان نرمافزار استفاده نمیکنن"
توسعهدهندگان ترجیحاتی دارن و ما اونقدر به ترجیحات خودمون پایبند هستیم که گاهی اوقات شروع به باور میکنیم که روش ترجیحی ما، در واقع تنها راه درست برای انجام کارهاست . میدونم که منم میتونم در این مورد گناهکار باشم :) با این حال، خراب کردن ابزار یا انتخابهای فناوری افراد junior میتونه به سندروم خودویرانگر (Imposter syndrome) کمک کنه و تمایلشون رو برای کشف چیزهای جدید از بین ببره
نظر شما چیه؟
🆔 @MdDaily
هنگام آموزش توسعهدهندگان تازهکار، مهمه که بقیه نسبت به حرف هاشون آگاه باشن. حتی با وجود نیت خیر، انتخاب کلمات ممکنه بر افراد به روشهایی که پیشبینی نمی کنید تأثیر گذار باشه. هدف نهایی از راهنمایی توسعهدهندگان تازهکار، ایجاد اعتماد به نفس، تقویت یادگیری و تشویق رشد حرفه ایه. یکی از راههایی که میتونیم به این افراد برای تبدیل شدن به توسعهدهندگان موفق کمک کنیم، استفاده از زبان حمایتی و سازندست - یعنی عبارات ذکر شده تو این پستو به کار نبریم :)
👈 "این خیلی آسونه" یا "این که کاری نداره."
گفتن این جمله خیلی وسوسهکنندست - چون با سالها تجربه، ممکنه یک کار خاص واقعاً آسون باشه! (خودم این رو بیشتر از حد لازم به طور اتفاقی گفتم.) یادتون باشه که حتی اگه انجام کاری برای شما ساده به نظر برسه باید بپذیریم برخی کارها ممکنه برای برنامهنویسان جدید چالش برانگیز باشه!
👈 "تو باید اینو از قبل میدونستی" یا "خودت باید بفهمیش" یا "چرا هنوز نفهمیدی؟"
این حرفا میتونه توقعها رو خیلی بالا ببره و یه جورایی توسعهدهنده تازهکار رو تحت فشار بذاره. اینجوری اعتماد به نفسش میره پایین و دیگه کمک نمیخوان و حتی ممکنه منجر به سندروم خودویرانگری بشه. یادمون باشه که این افراد هنوز دارن توی کار یاد میگیرن و ممکنه با یه سری مفاهیم آشنا نباشن. به جای انتقاد بهتره یه جوری مسائل رو توضیح بدیم و منابعی رو بهشون معرفی کنیم که بتونن یاد بگیرن.
👈 "چطور تونستی این اشتباه رو بکنی؟" یا "من این کار رو اینجوری انجام نمیدادم" یا "شاید تو واسه این کار ساخته نشدی."
این جور انتقادها میتونه عزت نفس این افراد رو داغون کنه. به جای این کارا، سعی کن یه جوری بهش بازخورد بدی که بتونه ازش درس بگیره و پیشرفت کنه. انتقاد بیش از حد و یا گفتن اینکه خودت چیکار میکردی، میتونه تازهکار رو دلسرد کنه و دیگه ازش خلاقیت و ایده نبینی.
👈 "خیلی طول میکشی" یا "اگه من انجامش بدم زودتر تمومه"
ممکنه که وسوسه بشید کاری را که یک توسعهدهنده کمتجربهتر با هاش درگیر عه به عهده بگیری که اگه فرصتها رو ازشون بگیری، یاد نمی گیرن. در عوض، پیشنهاد کنید تا با کمک به تقسیم کارها به مراحل کوچکتر و ارائه کمک در تکمیلشون تازهکاران رو تو انجام کارهای پیچیده راهنمایی کنید.
👈 "فقط اینجوری انجامش بده" یا "اینجا اینجوری کار میکنیم."
در حالی که حفظ رویههای استاندارد و بهترین شیوهها مهمه، ایدههای این افراد رو بدون بررسی رد نکنید، چونکه میتونند ایدههای جدید و دیدگاههای تازه را به کار وارد کنند. با بحث در مورد چرایی و چگونگی فرآیندها و توضیح منطق پشت شیوههای ترجیحی، تفکر انتقادی و خلاقیت رو تشویق کنید.
👈 "تو برای این کار خیلی تازهکاری"، "تو فقط یک توسعهدهنده junior هستی"، یا "تا تجربه بیشتری کسب نکنی، نمیفهمی."
مقایسه افراد junior با افراد senior، به خصوص به روش منفی، نه تنها میتونه اعتماد به نفس افراد junior رو تضعیف کنه، بلکه منجر به محیط کاری ناسالم و رقابتی میشه که توش افراد junior برای «اثبات خود» تلاش میکنن. به جای این کار، سعی کنید با کمک به افراد junior برای تعیین اهداف حرفهای ایشون صحبت و کمک کنید.
👈 "چه سوال مسخره ای!"
منصرف کردن سوالات یا برچسب زدن آنها به عنوان احمقانه کار غیرقابل قبولیه اما همچنان اتفاق میافته. این کار میتونه باعث بشه افراد junior از درخواست کمک دریغ کنن.
👈 "برنامهنویسهای واقعی از فلان نرمافزار استفاده نمیکنن"
توسعهدهندگان ترجیحاتی دارن و ما اونقدر به ترجیحات خودمون پایبند هستیم که گاهی اوقات شروع به باور میکنیم که روش ترجیحی ما، در واقع تنها راه درست برای انجام کارهاست . میدونم که منم میتونم در این مورد گناهکار باشم :) با این حال، خراب کردن ابزار یا انتخابهای فناوری افراد junior میتونه به سندروم خودویرانگر (Imposter syndrome) کمک کنه و تمایلشون رو برای کشف چیزهای جدید از بین ببره
نظر شما چیه؟
🆔 @MdDaily
🔥6👍5❤🔥3😢2👎1
💡دستور docker Init چیه و چه زمانی باید ازش استفاده کرد؟
داکر یه پلتفرم خیلی معروف برای ساخت و اجرای کانتینره. این پلتفرم روش ساخت و استقرار نرمافزار رو عوض کرده، ولی خیلی از تیمها هنوز با پیکربندی درست پروژههاشون برای داکر مشکل دارن.
خبر خوب اینه که یه راه حل ساده وجود داره: نسخههای جدید داکر یه دستور به اسم
خب docker init دقیقا چیکار میکنه؟
دستور
قبل از اینکه یه برنامه بتونه توی یه کانتینر داکر اجرا بشه، باید یه ایمیج داکر (Docker Image) ازش ساخته بشه. ایمیج، کد و وابستگیهای شما رو توی یه بسته قابل حمل قرار میدن که سیستم فایل اولیه کانتینر شما رو هم مشخص میکنه. ایمیج ها از یه چیز به اسم Dockerfile ساخته میشن. Dockerfile یه سری دستورالعمل داره که مشخص میکنه چه فایلهایی باید کپی بشن و چه دستورهایی باید اجرا بشن تا سیستم فایل مونتاژ بشه.
و Dockerfileها میتونن خیلی پیچیده باشن، حتی برای برنامههای ساده. یه Dockerfile معمولا باید این مراحل رو شامل بشه:
1. انتخاب یه ایمیج پایه مناسب که سیستم عامل و محیط اجرای برنامهنویسی کانتینر شما رو فراهم میکنه. مثلا میتونید از
2. نصب هر بسته سیستم عامل، زبان برنامهنویسی و چارچوب اضافی که پروژه شما نیاز داره.
3. دریافت وابستگیهای زبان برنامهنویسی پروژه شما (مثلا با استفاده از npm، Rust یا Gradle).
4. کپی کردن کد منبع شما
5. انجام هرگونه تغییر در سیستم فایل یا محیط که برنامه شما نیاز داره.
پس
وقتی از
دستور docker init چه فایل هایی ایجاد می کنه؟
توی پروژههای داکر شما سه تا فایل اضافه میکنه:
1. Dockerfile:
این فایل به داکر میگه که چطوری سیستمفایلِ ایمیج شما رو بسازه. توش بهترین روشها و نیازمندیهای رایجِ زبان برنامهنویسیِ شما هم نوشته شده.
2. compose.yaml:
این یه فایل پیکربندی برای داکر کامپوزِه. با این فایل میتونید برنامهتون و وابستگیهاش (مثل اتصال به پایگاه داده) رو به عنوان یه stack از چند تا کانتینرِ مستقل اجرا کنید.
3. .dockerignore:
این فایل به داکر میگه که چه مسیرهایی تو پروژهتون نیازی نیستن که تو ساختِ ایمیج کپی بشن. این کار باعث میشه که ساختِ ایمیج سریعتر انجام بشه و فضای کمتری اشغال بشه.
با این سه تا فایل میتونید خیلی راحت برنامههای ساده رو کانتینریزه کنید.
تفاوتِ docker init و docker-init
بعضیها docker init رو با docker-init اشتباه میگیرن. docker init و docker-init دو تا ابزارِ کاملاً جدا هستن. شما از docker init میتونید برای ایجادِ پیکربندیِ اولیه تو پروژههای جدیدِ داکر استفاده کنید ولی docker-init یه ابزارِ داخلیِ داکر که به عنوان فرآیندِ پیشفرضِ کانتینرهای جدید استفاده میشه.
💻خب تئوری کافیه، بریم توی عمل ببینیم:
توی این مثال ساده قرار docker init رو تو یه پروژه ی ساده flask اجرا کنیم. پس فقط کافیه یه فولدر جدید بسازیم مثلا من اینجا فولدری بنام mdflask ساختم و دو تا فایل به نام های
—
حالا فقط کافیه که دستور docker init رو اجرا کنیم و در نهایت بعد از پرسیدن چنتا سوال خروجیه compose.yaml و Dockerfile رو بهمون میده.
🔗 مستندات docker init
🆔 @MdDaily
داکر یه پلتفرم خیلی معروف برای ساخت و اجرای کانتینره. این پلتفرم روش ساخت و استقرار نرمافزار رو عوض کرده، ولی خیلی از تیمها هنوز با پیکربندی درست پروژههاشون برای داکر مشکل دارن.
خبر خوب اینه که یه راه حل ساده وجود داره: نسخههای جدید داکر یه دستور به اسم
docker init دارن. این دستور به شما کمک میکنه تا خیلی سریع داکر رو به پروژه خودتون اضافه کنید. docker init یه سری فایلهای پیکربندی استاندارد رو به پروژه شما اضافه میکنه که برای زبان برنامهنویسی شما مناسب هستن. این کار باعث میشه که در زمان صرفهجویی بشه و کارتون هم تمیزتر و اصولیتر انجام بشه.خب docker init دقیقا چیکار میکنه؟
دستور
docker init یه ابزاره که به طور خودکار یه پروژه رو برای ساخت و اجرا با داکر آماده میکنه. با این ابزار شما میتونید بدون اینکه نیاز باشه چیزی راجع به نوشتن فایلهای پیکربندی داکر یاد بگیرید، کارتون رو شروع کنید.قبل از اینکه یه برنامه بتونه توی یه کانتینر داکر اجرا بشه، باید یه ایمیج داکر (Docker Image) ازش ساخته بشه. ایمیج، کد و وابستگیهای شما رو توی یه بسته قابل حمل قرار میدن که سیستم فایل اولیه کانتینر شما رو هم مشخص میکنه. ایمیج ها از یه چیز به اسم Dockerfile ساخته میشن. Dockerfile یه سری دستورالعمل داره که مشخص میکنه چه فایلهایی باید کپی بشن و چه دستورهایی باید اجرا بشن تا سیستم فایل مونتاژ بشه.
و Dockerfileها میتونن خیلی پیچیده باشن، حتی برای برنامههای ساده. یه Dockerfile معمولا باید این مراحل رو شامل بشه:
1. انتخاب یه ایمیج پایه مناسب که سیستم عامل و محیط اجرای برنامهنویسی کانتینر شما رو فراهم میکنه. مثلا میتونید از
ubuntu:22.04 یا node:20 استفاده کنید.2. نصب هر بسته سیستم عامل، زبان برنامهنویسی و چارچوب اضافی که پروژه شما نیاز داره.
3. دریافت وابستگیهای زبان برنامهنویسی پروژه شما (مثلا با استفاده از npm، Rust یا Gradle).
4. کپی کردن کد منبع شما
5. انجام هرگونه تغییر در سیستم فایل یا محیط که برنامه شما نیاز داره.
پس
docker init یه سری الگوی Dockerfile داره که شامل این مراحل و یه سری نکات دیگه هم هستن. این الگوها از برنامههای سرور ASP.NET، Go، Node، پایتون و Rust پشتیبانی میکنن. (تو نسخه جدید پشتیبانی از برنامههای جاوا و PHP هم اضافه شده).وقتی از
docker init استفاده میکنید، یه Dockerfile آماده به همراه یه سری فایل دیگه به پروژه شما اضافه میشه. با این کار شما میتونید خیلی سریع ایمیج خودتون رو بسازید و یه کانتینر رو اجرا کنید.دستور docker init چه فایل هایی ایجاد می کنه؟
توی پروژههای داکر شما سه تا فایل اضافه میکنه:
1. Dockerfile:
این فایل به داکر میگه که چطوری سیستمفایلِ ایمیج شما رو بسازه. توش بهترین روشها و نیازمندیهای رایجِ زبان برنامهنویسیِ شما هم نوشته شده.
2. compose.yaml:
این یه فایل پیکربندی برای داکر کامپوزِه. با این فایل میتونید برنامهتون و وابستگیهاش (مثل اتصال به پایگاه داده) رو به عنوان یه stack از چند تا کانتینرِ مستقل اجرا کنید.
3. .dockerignore:
این فایل به داکر میگه که چه مسیرهایی تو پروژهتون نیازی نیستن که تو ساختِ ایمیج کپی بشن. این کار باعث میشه که ساختِ ایمیج سریعتر انجام بشه و فضای کمتری اشغال بشه.
با این سه تا فایل میتونید خیلی راحت برنامههای ساده رو کانتینریزه کنید.
تفاوتِ docker init و docker-init
بعضیها docker init رو با docker-init اشتباه میگیرن. docker init و docker-init دو تا ابزارِ کاملاً جدا هستن. شما از docker init میتونید برای ایجادِ پیکربندیِ اولیه تو پروژههای جدیدِ داکر استفاده کنید ولی docker-init یه ابزارِ داخلیِ داکر که به عنوان فرآیندِ پیشفرضِ کانتینرهای جدید استفاده میشه.
💻خب تئوری کافیه، بریم توی عمل ببینیم:
توی این مثال ساده قرار docker init رو تو یه پروژه ی ساده flask اجرا کنیم. پس فقط کافیه یه فولدر جدید بسازیم مثلا من اینجا فولدری بنام mdflask ساختم و دو تا فایل به نام های
app.py و requirements.txt توش ایجاد کردم که محتویات این فایل ها به این اینطوریه:# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_docker():
return '<h1> hello world </h1'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
—
# requirements.txt
Flaskحالا فقط کافیه که دستور docker init رو اجرا کنیم و در نهایت بعد از پرسیدن چنتا سوال خروجیه compose.yaml و Dockerfile رو بهمون میده.
برای استفاده از ویژگی docker init حتما باید از اخرین نسخه ی docker desktop استفاده کنید
🔗 مستندات docker init
🆔 @MdDaily
🐳5❤🔥1🔥1
داریم کم کم به روز های پایانی سال نزدیک میشیم و چه قدر خوبه که با نوشتن یه Personal Development Plan یا همون برنامه توسعه فردی برای سال آینده برنامه ریزی کنیم
خب خیلی خلاصه و متخصر برنامه توسعه فردی دقیقا چیه؟ ما یه برنامه می نویسیم که بفهمیم از سال آینده چی میخوایم و قرار چیکار کنیم
۱. یه چارچوب درست و حسابی برای برنامه ریزی انتخاب کردن
من کلی مدل و روش مختلف برای برنامه ریزی بررسی کردم. ولی برنامه ام رو حول چهار تا محور اصلی میچینم:
شغل: اهداف کلیدی شغلتون چیه؟
سلامتی: برنامه شما برای تمرکز بر روی سلامتیتون چیه؟
مالی: اهداف کلیدی، نقاط عطف یا تمرکزتون بر روی امور مالی چیه؟
میراث: دوست دارید میراث شما چی باشه و چطوری به یاد آورده بشید؟
🔗 تصویر
۲. براساس یک جدول زمانی برنامه ریزی کردن
اول چند تا ایده ی کلی تو هر کدوم از این چهار تا محور بنویسید. بعد یه سند جداگونه درست کنید و این ایده ها رو تو یه جدول زمانی مشخص بچینید. این جدول زمانی دو تا بخش داره: شغلی و شخصی. یه محور عمودی هم میتونه داشته باشه که سنتون رو نشون بده اگه برنامه ریزی بلند مدت بخوایند انجام بدید.
این جدول زمانی خیلی بهتون کمک میکنه تا برنامه اتون رو شکل بدید. چون مشخص میکنه که چه اتفاقاتی تو زندگی شخصی ممکنه روی شغلتون تاثیر بذارن و باید به چه چیزهایی توجه کنید.
🔗 تصویر
۳. شناسایی موانع و عوامل تسهیل کننده
بعد از اینکه هر کدوم از این چهار تا محور رو آماده کردید و جدول زمانی رو هم چیدید، میتونید به این فکر کنید که تو هر مرحله با چه مشکلاتی ممکنه روبرو بشید و چه چیزهایی میتونه بهتون کمک کنه تا به هدفتون برسید.
اینطوری میتونید بفهمید که چه موانعی ممکنه جلوی پاتون رو بگیرن و از قبل یه برنامه برای عبور ازشون داشته باشید. از طرف دیگه، متوجه میشید که چه چیزهایی میتونه بهتون کمک کنه تا به هدفتون برسید، مثلا اینکه از آدم های باتجربه کمک بگیرید.
🔗 تصویر
🤝 منابعی که میتونه بهتون کمک کنه:
امیدوارم تونسته باشم با این پست یه ایده ی اولیه از نحوه ی نوشتن Personal Development Plan و اهمیتش بهتون داده باشم. توی منابع ویدیویی چند وقت پیش یه ویدیو و پلی لیست خوب از کانال Cafe.Amuzesh دیدم که خیلی میتونه بهتون دید خوبی بده:
https://www.youtube.com/watch?v=_GNc4b6QChw
https://www.youtube.com/playlist?list=PLjp3IP_pXtAq4hku0Nt5eEPkOHs4PC8Ji
و توی منابع صوتی هم اپیزود های این پلی لیست خیلی میتونن کمک کننده باشن:
https://castbox.fm/epl/104723
—
نظر شما چیه؟
🆔 @MdDaily
اکثر اوقات زندگی تو ایران با اتفاقات غیر منتظر همراهه ولی در کل خوبه که یه دیدی از سال آیندمون داشته باشیم. آخر این پستم منابعی که میتونه کمک کننده باشه رو قرار دادم پس با من همراه باشید :)
خب خیلی خلاصه و متخصر برنامه توسعه فردی دقیقا چیه؟ ما یه برنامه می نویسیم که بفهمیم از سال آینده چی میخوایم و قرار چیکار کنیم
۱. یه چارچوب درست و حسابی برای برنامه ریزی انتخاب کردن
من کلی مدل و روش مختلف برای برنامه ریزی بررسی کردم. ولی برنامه ام رو حول چهار تا محور اصلی میچینم:
شغل: اهداف کلیدی شغلتون چیه؟
سلامتی: برنامه شما برای تمرکز بر روی سلامتیتون چیه؟
مالی: اهداف کلیدی، نقاط عطف یا تمرکزتون بر روی امور مالی چیه؟
میراث: دوست دارید میراث شما چی باشه و چطوری به یاد آورده بشید؟
🔗 تصویر
۲. براساس یک جدول زمانی برنامه ریزی کردن
اول چند تا ایده ی کلی تو هر کدوم از این چهار تا محور بنویسید. بعد یه سند جداگونه درست کنید و این ایده ها رو تو یه جدول زمانی مشخص بچینید. این جدول زمانی دو تا بخش داره: شغلی و شخصی. یه محور عمودی هم میتونه داشته باشه که سنتون رو نشون بده اگه برنامه ریزی بلند مدت بخوایند انجام بدید.
این جدول زمانی خیلی بهتون کمک میکنه تا برنامه اتون رو شکل بدید. چون مشخص میکنه که چه اتفاقاتی تو زندگی شخصی ممکنه روی شغلتون تاثیر بذارن و باید به چه چیزهایی توجه کنید.
🔗 تصویر
۳. شناسایی موانع و عوامل تسهیل کننده
بعد از اینکه هر کدوم از این چهار تا محور رو آماده کردید و جدول زمانی رو هم چیدید، میتونید به این فکر کنید که تو هر مرحله با چه مشکلاتی ممکنه روبرو بشید و چه چیزهایی میتونه بهتون کمک کنه تا به هدفتون برسید.
اینطوری میتونید بفهمید که چه موانعی ممکنه جلوی پاتون رو بگیرن و از قبل یه برنامه برای عبور ازشون داشته باشید. از طرف دیگه، متوجه میشید که چه چیزهایی میتونه بهتون کمک کنه تا به هدفتون برسید، مثلا اینکه از آدم های باتجربه کمک بگیرید.
🔗 تصویر
🤝 منابعی که میتونه بهتون کمک کنه:
امیدوارم تونسته باشم با این پست یه ایده ی اولیه از نحوه ی نوشتن Personal Development Plan و اهمیتش بهتون داده باشم. توی منابع ویدیویی چند وقت پیش یه ویدیو و پلی لیست خوب از کانال Cafe.Amuzesh دیدم که خیلی میتونه بهتون دید خوبی بده:
https://www.youtube.com/watch?v=_GNc4b6QChw
https://www.youtube.com/playlist?list=PLjp3IP_pXtAq4hku0Nt5eEPkOHs4PC8Ji
و توی منابع صوتی هم اپیزود های این پلی لیست خیلی میتونن کمک کننده باشن:
https://castbox.fm/epl/104723
—
نظر شما چیه؟
🆔 @MdDaily
👍4🔥4🤔2❤1❤🔥1👌1💯1
#معرفی
وبسایت OSS Insight
وبسایت OSS Insight یه ابزار قدرتمند که با تحلیل بیش از 7 میلیارد داده گیت هاب، بینش های جامع، ارزشمند و رو به رشدی رو در مورد دنیای متن باز ارائه میده و یه جستوگر خیلی کاربردی هم داره که شما میتونید سوالتون رو به زبان ساده بپرسید و GitHub Data Explorer برای شما یه SQL تولید میکنه و بعد از پیدا کردن نتایج داده ها را به صورت بصری بهتون نشون میده.
چه امکاناتی داره؟
👈 جستجوگر داده گیت هاب: با زبان ساده سوال بپرسید و داده های تحلیل شده رو به صورت بصری بهتون میده.
👈 تجزیه و تحلیل زمینه های فنی: اطلاعات کاملی از پایگاه داده های متن باز، فریمورک ها، ابزارهای توسعه و ...
👈 تجزیه و تحلیل توسعه دهندگان: اطلاعات کاملی از بهره وری، ریتم کاری و نحوه همکاری توسعه دهنده ها.
👈 تجزیه و تحلیل ریپوزیتوری: اطلاعات کاملی از به روزرسانی کد و میزان محبوبیت هر ریپوزیتوری.
👈مقایسه پروژه ها: امکان مقایسه پروژه ها بر اساس فیلد ها و دسته بندی های انتخابی.
👈 و...
در کل OSS Insight یه ابزار خیلی خوبه که میتونه بهتون کمک کنه اطلاعات جالبی از دنیای متن باز به دست بیارید.
🔗 لینک وبسایت
🆔 @MdDaily
وبسایت OSS Insight
وبسایت OSS Insight یه ابزار قدرتمند که با تحلیل بیش از 7 میلیارد داده گیت هاب، بینش های جامع، ارزشمند و رو به رشدی رو در مورد دنیای متن باز ارائه میده و یه جستوگر خیلی کاربردی هم داره که شما میتونید سوالتون رو به زبان ساده بپرسید و GitHub Data Explorer برای شما یه SQL تولید میکنه و بعد از پیدا کردن نتایج داده ها را به صورت بصری بهتون نشون میده.
چه امکاناتی داره؟
👈 جستجوگر داده گیت هاب: با زبان ساده سوال بپرسید و داده های تحلیل شده رو به صورت بصری بهتون میده.
👈 تجزیه و تحلیل زمینه های فنی: اطلاعات کاملی از پایگاه داده های متن باز، فریمورک ها، ابزارهای توسعه و ...
👈 تجزیه و تحلیل توسعه دهندگان: اطلاعات کاملی از بهره وری، ریتم کاری و نحوه همکاری توسعه دهنده ها.
👈 تجزیه و تحلیل ریپوزیتوری: اطلاعات کاملی از به روزرسانی کد و میزان محبوبیت هر ریپوزیتوری.
👈مقایسه پروژه ها: امکان مقایسه پروژه ها بر اساس فیلد ها و دسته بندی های انتخابی.
👈 و...
در کل OSS Insight یه ابزار خیلی خوبه که میتونه بهتون کمک کنه اطلاعات جالبی از دنیای متن باز به دست بیارید.
🔗 لینک وبسایت
🆔 @MdDaily
⚡2👍2🤔1👨💻1
امروز یه چیز جالب در مورد cloudflare خوندم. کلادفلر برای تولید کلیدهای encryption کاملا رندوم که قابل پیشبینی توسط هیچ هکری نباشه یه سری lava lamp گذاشته روی یه شلف با دوربین حرکات اینها مانیتور میشه و این حرکات رندوم سورس ایجاد کلیدهای encryption هست.
جالبه که این اتاق اصلا سکرت نیست راحت اجازه میدن بری بهشون دست بزنی چون به randomness بودن حرکات مایع لاوا توی چراغها کمک میکنه.
برای جزییات بیشتر گوگل کنید the wall of entropy
</احسان>
🆔 @MdDaily
جالبه که این اتاق اصلا سکرت نیست راحت اجازه میدن بری بهشون دست بزنی چون به randomness بودن حرکات مایع لاوا توی چراغها کمک میکنه.
برای جزییات بیشتر گوگل کنید the wall of entropy
</احسان>
🆔 @MdDaily
👍10🤯7😁1
پس از ۸ سال پشتیبانی از rtl به onlyoffice به صورت ازمایشی اضافه شد!
پروژه ی onlyoffice یکی از نزدیک ترین تجربه های ms office رو مخصوصا با لینوکس میده ولی مدت خیلی طولانی ای بود که از rtl پشتیبانی نمی کرد و بالاخره بعد از ۸ سال به صورت آزمایشی توی نسخه ی v8.0 این ویژگی اضافه شده.
🔗 ONLYOFFICE Desktop Editors v8.0: PDF forms, RTL
🆔 @MdDaily
پروژه ی onlyoffice یکی از نزدیک ترین تجربه های ms office رو مخصوصا با لینوکس میده ولی مدت خیلی طولانی ای بود که از rtl پشتیبانی نمی کرد و بالاخره بعد از ۸ سال به صورت آزمایشی توی نسخه ی v8.0 این ویژگی اضافه شده.
🔗 ONLYOFFICE Desktop Editors v8.0: PDF forms, RTL
🆔 @MdDaily
⚡10👍3😐2
بحث داغ زبانهای برنامهنویسی: چرا اصلاً مهم نیست؟
یه بحث همیشگی توی دنیای برنامهنویسی هست که توی انجمنها، جلسات تکنولوژی و حتی تو خواب و خیال برنامهنویسها هم ول نمیکنه: آخرش کدوم زبان برنامهنویسی از همه بهتره؟ بشینید پای صحبت های کسایی که از وقتی اینترنت با خط تلفن وصل میشد کد مینوشتن، تا حالا میگن که کلی زبان برنامهنویسی اومده و رفته. از اسکریپتهای Perl که مثل وردهای جادویی بودن تا TypeScript امروزی که مثل آب خوردن میمونه، احتمالا همه جور کدی نوشتن. بعد از شنیدن حرف های ریش سفید های این کار میتونیم بفهمیم: وقتی میخوایم یه مشکلی رو حل کنیم، اصلاً مهم نیست از چه زبانی استفاده میکنیم. بله، درست شنیدید!
اول یه چیزی رو روشن کنم: بله، یه سری زبانها برای یه کارهایی بهتر از بقیه هستن. مثلاً اگه میخواید یه پلتفرم معاملاتی پر سرعت بسازید، بعید میدونم از PHP استفاده کنید. یا اگه میخواید یه برنامه iOS بنویسید، Swift بهترین دوست شما میتونه باشه. ولی نکته اینجاست که موفقیت پروژهتون بیشتر به نحوه استفاده از زبان بستگی داره تا خود زبان. مثلاً اینکه چکش بهتره یا پیچگوشتی، بستگی به این داره که میخواید با میخ کار کنید یا پیچ.
یهویی چی شد؟ یهو همه گیر دادن به پرفورمنس!
طرفدارای یه زبان میگن: "زبان X از زبان Y سریعتره!" آره بابا، یه سری تست و بنچمارک نشون میده که یه ذره سرعت اجرا یا مصرف حافظه تو زبونا فرق میکنه. ولی بیخیال، واسه 99 درصد برنامهها این فرقها مثه اینه که موقع کدنویسی جوراب قرمز بپوشی یا آبی! مهم معماری، الگوریتم و استراتژی بهینهسازیه که کارو راه میندازه. یه سیستم بد طراحیشده، چه با Rust نوشته بشه چه با Ruby، آخرش بد و ناکار آمد هستش.
یادگیری زبون برنامهنویسی سخته؟
یه حرف دیگه هم که میزنن اینه که یه زبونها یادگیریشون سخته. آره، قبول دارم، یه زبونها واسه مبتدیها راحتترن، که این عالیه واسه اینکه آدمای بیشتری رو به برنامهنویسی جذب میکنه. ولی یادگیری یه زبان فقط اولش سخته. مهم اینه که بتونی مثل یه برنامهنویس فکر کنی، بتونی مساله حل کنی و الگوریتم بنویسی. وقتی اینارو یاد گرفتی، یادگیری یه زبان جدید فقط یه ذره قلق و یه ذره اصطلاحات جدید داره.
لاتاری کتابخونه
یکی از دلایلی که خیلیها یه زبان برنامهنویسی رو به یه زبان دیگه ترجیح میدن، به خاطر امکانات و ابزارهای اون زبونه. یه زبان خوب، کتابخونهها، فریمورکها و ابزارهای قوی و باکیفیتی داره که میتونه سرعت و کیفیت کار شما رو خیلی بالا ببره. اما یه رازِ قشنگ هم هست: اکثر زبانهای محبوب، امکانات و ابزارهای خیلی خوبی دارن. اگه یه کتابخونه یا ابزار برای یه زبان وجود داشته باشه که برای یه زبان دیگه نباشه، این یه فرصته که شما به جامعه اون زبان کمک کنید. یادتون باشه، یه برنامهنویس خوب، مشکلحلکنه؛ نه اینکه بشینه منتظر بمونه تا یه نفر دیگه مشکلش رو حل کنه.
حرف آخر
در نهایت، زبان برنامه نویسی فقط یه ابزاره. یه وسیله برای رسیدن به یه هدف، نه خود هدف. بهترین زبان برای پروژه شما زبانیه که شما و تیمتون باهاش راحت ترید و بیشتر میتونید باهاش کار کنید. زبانی که به درد نیازهای پروژه شما میخوره و میتونید توی طول زمان ازش مراقبت کنید و ارتقاشش بدید. مهم نیست طرفدار کدوم زبان هستید، پایتون، جاوا اسکریپت یا گو؛ مهم اینه که بتونید مشکل رو حل کنید.
پس دفعه بعد که یه بحث داغ زبانی پیش اومد، یه نفس عمیق بکشید و یادتون باشه: مهم زبانی که استفاده میکنید نیست، مهم کاریه که باهاش انجام میدید. اگه کسی هم خواست بهتون چیز دیگه ای رو بگه، این پست رو نشونش بدید و بعد با خیال راحت برگردید به نوشتن کدهای خفنتون به هر زبانی که دوست دارید.
🆔 @MdDaily
یه بحث همیشگی توی دنیای برنامهنویسی هست که توی انجمنها، جلسات تکنولوژی و حتی تو خواب و خیال برنامهنویسها هم ول نمیکنه: آخرش کدوم زبان برنامهنویسی از همه بهتره؟ بشینید پای صحبت های کسایی که از وقتی اینترنت با خط تلفن وصل میشد کد مینوشتن، تا حالا میگن که کلی زبان برنامهنویسی اومده و رفته. از اسکریپتهای Perl که مثل وردهای جادویی بودن تا TypeScript امروزی که مثل آب خوردن میمونه، احتمالا همه جور کدی نوشتن. بعد از شنیدن حرف های ریش سفید های این کار میتونیم بفهمیم: وقتی میخوایم یه مشکلی رو حل کنیم، اصلاً مهم نیست از چه زبانی استفاده میکنیم. بله، درست شنیدید!
اول یه چیزی رو روشن کنم: بله، یه سری زبانها برای یه کارهایی بهتر از بقیه هستن. مثلاً اگه میخواید یه پلتفرم معاملاتی پر سرعت بسازید، بعید میدونم از PHP استفاده کنید. یا اگه میخواید یه برنامه iOS بنویسید، Swift بهترین دوست شما میتونه باشه. ولی نکته اینجاست که موفقیت پروژهتون بیشتر به نحوه استفاده از زبان بستگی داره تا خود زبان. مثلاً اینکه چکش بهتره یا پیچگوشتی، بستگی به این داره که میخواید با میخ کار کنید یا پیچ.
یهویی چی شد؟ یهو همه گیر دادن به پرفورمنس!
طرفدارای یه زبان میگن: "زبان X از زبان Y سریعتره!" آره بابا، یه سری تست و بنچمارک نشون میده که یه ذره سرعت اجرا یا مصرف حافظه تو زبونا فرق میکنه. ولی بیخیال، واسه 99 درصد برنامهها این فرقها مثه اینه که موقع کدنویسی جوراب قرمز بپوشی یا آبی! مهم معماری، الگوریتم و استراتژی بهینهسازیه که کارو راه میندازه. یه سیستم بد طراحیشده، چه با Rust نوشته بشه چه با Ruby، آخرش بد و ناکار آمد هستش.
یادگیری زبون برنامهنویسی سخته؟
یه حرف دیگه هم که میزنن اینه که یه زبونها یادگیریشون سخته. آره، قبول دارم، یه زبونها واسه مبتدیها راحتترن، که این عالیه واسه اینکه آدمای بیشتری رو به برنامهنویسی جذب میکنه. ولی یادگیری یه زبان فقط اولش سخته. مهم اینه که بتونی مثل یه برنامهنویس فکر کنی، بتونی مساله حل کنی و الگوریتم بنویسی. وقتی اینارو یاد گرفتی، یادگیری یه زبان جدید فقط یه ذره قلق و یه ذره اصطلاحات جدید داره.
لاتاری کتابخونه
یکی از دلایلی که خیلیها یه زبان برنامهنویسی رو به یه زبان دیگه ترجیح میدن، به خاطر امکانات و ابزارهای اون زبونه. یه زبان خوب، کتابخونهها، فریمورکها و ابزارهای قوی و باکیفیتی داره که میتونه سرعت و کیفیت کار شما رو خیلی بالا ببره. اما یه رازِ قشنگ هم هست: اکثر زبانهای محبوب، امکانات و ابزارهای خیلی خوبی دارن. اگه یه کتابخونه یا ابزار برای یه زبان وجود داشته باشه که برای یه زبان دیگه نباشه، این یه فرصته که شما به جامعه اون زبان کمک کنید. یادتون باشه، یه برنامهنویس خوب، مشکلحلکنه؛ نه اینکه بشینه منتظر بمونه تا یه نفر دیگه مشکلش رو حل کنه.
حرف آخر
در نهایت، زبان برنامه نویسی فقط یه ابزاره. یه وسیله برای رسیدن به یه هدف، نه خود هدف. بهترین زبان برای پروژه شما زبانیه که شما و تیمتون باهاش راحت ترید و بیشتر میتونید باهاش کار کنید. زبانی که به درد نیازهای پروژه شما میخوره و میتونید توی طول زمان ازش مراقبت کنید و ارتقاشش بدید. مهم نیست طرفدار کدوم زبان هستید، پایتون، جاوا اسکریپت یا گو؛ مهم اینه که بتونید مشکل رو حل کنید.
پس دفعه بعد که یه بحث داغ زبانی پیش اومد، یه نفس عمیق بکشید و یادتون باشه: مهم زبانی که استفاده میکنید نیست، مهم کاریه که باهاش انجام میدید. اگه کسی هم خواست بهتون چیز دیگه ای رو بگه، این پست رو نشونش بدید و بعد با خیال راحت برگردید به نوشتن کدهای خفنتون به هر زبانی که دوست دارید.
🆔 @MdDaily
❤🔥10👍6❤1🔥1👌1
نرمافزار کامل تشخیص پلاک ایرانی در هر شرایطی (صبح، شب، بارون و بیکیفیت)، راهحل کامل و قابل استفاده
تقدیم به جامعه متنباز 🌍
🔗https://github.com/mtkarimi/persian-license-plate-recognition
اگر تیم یا برنامهنویس هستین چطور از این درآمد کسب کنید:
- توسعه برای مجتمعهای مسکونی، پارکنیگ و...
- توسعه وبسایت و فروش از طریق اشتراک ماهیانه یا فروش API
- طراحی و تولید یک دوره جامع آموزش برنامهنویسی پایتون و AI
- و خیلی چیزای دیگه
<متیو کریمی/>
🆔 @MdDaily
تقدیم به جامعه متنباز 🌍
🔗https://github.com/mtkarimi/persian-license-plate-recognition
اگر تیم یا برنامهنویس هستین چطور از این درآمد کسب کنید:
- توسعه برای مجتمعهای مسکونی، پارکنیگ و...
- توسعه وبسایت و فروش از طریق اشتراک ماهیانه یا فروش API
- طراحی و تولید یک دوره جامع آموزش برنامهنویسی پایتون و AI
- و خیلی چیزای دیگه
<متیو کریمی/>
🆔 @MdDaily
👍11🔥4
#معرفی
پروژه Puter: سیستم عامل اینترنتی رایگان و متن باز
با استفاده از این پروژه می تونید یه سیستم عامل اینترنتی self hosted راه اندازه کنید که برای برای سرویسهای ذخیرهسازی ابری، سرورهای از راه دور، پلتفرمهای میزبانی وب و چیزای دیگه استفاده بشه.
👈 جایگزینی برای دراپباکس، گوگل درایو، واندرایو و غیره با رابط کاربری جدید و ویژگیهای قدرتمند.
👈 محیط دسکتاپ از راه دور برای سرورها و ورک استیشن ها.
👈 پلتفرمی برای ساخت و میزبانی وبسایتها، وباپلیکیشنها و بازیها.
👈 یک پروژه متنباز دوستانه و یک جامعه برای یادگیری در مورد توسعه وب، محاسبات ابری، سیستمهای توزیعشده و موارد بسیار دیگه.
این پروژه با vanilla Js و JQuery نوشته شده :)
🔗 https://github.com/HeyPuter/puter
🆔 @MdDaily
پروژه Puter: سیستم عامل اینترنتی رایگان و متن باز
با استفاده از این پروژه می تونید یه سیستم عامل اینترنتی self hosted راه اندازه کنید که برای برای سرویسهای ذخیرهسازی ابری، سرورهای از راه دور، پلتفرمهای میزبانی وب و چیزای دیگه استفاده بشه.
👈 جایگزینی برای دراپباکس، گوگل درایو، واندرایو و غیره با رابط کاربری جدید و ویژگیهای قدرتمند.
👈 محیط دسکتاپ از راه دور برای سرورها و ورک استیشن ها.
👈 پلتفرمی برای ساخت و میزبانی وبسایتها، وباپلیکیشنها و بازیها.
👈 یک پروژه متنباز دوستانه و یک جامعه برای یادگیری در مورد توسعه وب، محاسبات ابری، سیستمهای توزیعشده و موارد بسیار دیگه.
این پروژه با vanilla Js و JQuery نوشته شده :)
🔗 https://github.com/HeyPuter/puter
🆔 @MdDaily
🔥5👍4
⏰ مدیریت زمان و راندمان (برای برنامهنویسها) - قسمت 1
شاید یکی از پرتکرارترین سوالهایی که از آدمهای تازهکار توی برنامهنویسی میشنوم اینه که: «چطوری میشه انقدر چیز مختلف یاد گرفت و همزمان وقت کار و تفریح هم داشت؟» جوابش ساده است: مدیریت زمان
💢 چرا مدیریت زمان مهمه؟
دلایل زیادی برای مدیریت زمان وجود داره، ولی من فقط به چند تا از مهمترینهاش اشاره میکنم:
👈 زمان و کیفیت زندگی: زمان یکی از باارزشترین چیزهایی که داریم و مدیریت درستش میتونه روی کیفیت زندگیمون هم تاثیر مستقیم بذاره. با مدیریت زمان درست میتونیم کارهای روزمرهمون رو انجام بدیم، به هدفهامون برسیم و برای تفریح و استراحت هم وقت داشته باشیم.
👈 بهرهوری: مدیریت زمان درست باعث میشه توی کارهایی که انجام میدیم، کارآمدتر و با راندمانتر باشیم. اینطوری میتونیم توی زمان کمتر، کارهای بیشتری انجام بدیم و وقت آزادمون هم بیشتر بشه.
👈 تعادل: با مدیریت زمان درست میتونیم زندگی متعادلی داشته باشیم و از استرس و فشار کار زیاد هم جلوگیری کنیم. اینطوری میتونیم سلامت جسمی و روحی خودمون رو هم حفظ کنیم که برای سلامتی و شادکامیمون خیلی مهمه.
👈 انگیزه: وقتی توی کاری که انجام میدیم انگیزه داشته باشیم و باهاش حال کنیم، تمرکزمون هم بیشتر میشه و بهتر میتونیم کارمون رو انجام بدیم. از طرف دیگه، وقتی از کارمون دلزده باشیم و حوصلهمون رو سر ببره، بیشتر حواسمون پرت میشه و وقتمون رو تلف میکنیم.
خلاصه کلام اینکه:
یه جملهای هست که خیلی دوستش دارم و همیشه توی بحث مدیریت زمان بهش اشاره میکنم:
💢 چطوری زمان رو مدیریت کنیم؟
👈 بعد ذهنی
تو بعد ذهنی، مهمه بتونی افکار، احساسات و رفتارات رو مدیریت کنی تا روی کارهایی که انجام میدی تمرکز داشته باشی.
باید ارزش زمان رو درک کنی و انگیزه داشته باشی که ازش بهترین استفاده رو ببری. خیلی راحت میشه ارزش زمان رو فراموش کرد و فکر کنیم تو آینده کلی وقت هست که کارهایی رو که لازمه انجام بدیم.
👈 بعد فیزیکی
🖼 تصویر 1
بعد فیزیکی به بدن و محدودیتهاش مربوطه. مثل همه چیز تو زندگی، یه نقطهی ایدهآل برای بازدهی وجود داره، یعنی همون نقطهای که میتونی با کیفیت و کارایی بالا کار کنی. اگه از این نقطه رد بشی، ممکنه به سلامت جسمی و روحیت آسیب بزنی.
برای اینکه بدنت همیشه نزدیک به نقطهی ایدهآل بازدهی باشه، باید بیشتر به 3 تا چیز توجه کنی:
چرخهی خواب و بیداری: خواب یکی از مهمترین راههای تنظیم بدنه، کمخوابی یا پُرخوابی عملکرد و سلامتی رو خراب میکنه. یه ساعت مشخص برای خواب و بیداری داشته باش، به اندازهای بخواب که سرحال باشی و بتونی کارهای روزانه رو انجام بدی.
گرسنگی و هضم: بدن برای کار کردن به انرژی نیاز داره، اگه خوب غذا نخوری، انرژی کافی برای انجام کارهای روزانه رو نداره. از طرفی، پرخوری هم میتونه عملکردت رو ضعیف کنه چون بدن مجبور میشه برای هضم غذا انرژی صرف کنه که باعث خوابآلودگی و خستگی میشه. باید همیشه به نیاز بدنت به انرژی توجه داشته باشی، یه راهنمای خوب که به مورد بعدی هم وصل میشه، شروع کردن به ورزش کردنه.
استرس و استراحت: همه چی تو دنیا پویاست و بدن هم همینطوره. به لحظات استراحت نیاز داری تا بدنت از استرس کارهای روزانه ریکاوری بشه. تقریباً مثل یه الاکلنگه، اگه کار باعث شده خیلی استرس بگیری، لازمه که به بدنت با ورزش کردن فشار بیاری تا بتونه ریکاوری بشه. برای اینکه منظورمو بهتر متوجه بشید تصویر دو رو ببینید :)
🖼 تصویر 2
👈 بعد فنی
بعد فنی شامل ابزار و تکنیکهایی میشه که برای مدیریت زمان به کار میرن. لازمه یاد بگیری از ابزارهای درست استفاده کنی و تکنیکهایی رو به کار ببری که برای نوع کاری که انجام میدی مؤثر باشن.
—-
ادامه در پست بعدی...
🆔 @MdDaily
شاید یکی از پرتکرارترین سوالهایی که از آدمهای تازهکار توی برنامهنویسی میشنوم اینه که: «چطوری میشه انقدر چیز مختلف یاد گرفت و همزمان وقت کار و تفریح هم داشت؟» جوابش ساده است: مدیریت زمان
💢 چرا مدیریت زمان مهمه؟
دلایل زیادی برای مدیریت زمان وجود داره، ولی من فقط به چند تا از مهمترینهاش اشاره میکنم:
👈 زمان و کیفیت زندگی: زمان یکی از باارزشترین چیزهایی که داریم و مدیریت درستش میتونه روی کیفیت زندگیمون هم تاثیر مستقیم بذاره. با مدیریت زمان درست میتونیم کارهای روزمرهمون رو انجام بدیم، به هدفهامون برسیم و برای تفریح و استراحت هم وقت داشته باشیم.
👈 بهرهوری: مدیریت زمان درست باعث میشه توی کارهایی که انجام میدیم، کارآمدتر و با راندمانتر باشیم. اینطوری میتونیم توی زمان کمتر، کارهای بیشتری انجام بدیم و وقت آزادمون هم بیشتر بشه.
👈 تعادل: با مدیریت زمان درست میتونیم زندگی متعادلی داشته باشیم و از استرس و فشار کار زیاد هم جلوگیری کنیم. اینطوری میتونیم سلامت جسمی و روحی خودمون رو هم حفظ کنیم که برای سلامتی و شادکامیمون خیلی مهمه.
👈 انگیزه: وقتی توی کاری که انجام میدیم انگیزه داشته باشیم و باهاش حال کنیم، تمرکزمون هم بیشتر میشه و بهتر میتونیم کارمون رو انجام بدیم. از طرف دیگه، وقتی از کارمون دلزده باشیم و حوصلهمون رو سر ببره، بیشتر حواسمون پرت میشه و وقتمون رو تلف میکنیم.
خلاصه کلام اینکه:
یه جملهای هست که خیلی دوستش دارم و همیشه توی بحث مدیریت زمان بهش اشاره میکنم:
«چیزی رو که اندازهگیری نمیکنی، نمیتونی مدیریت کنی، چیزی رو که اندازهگیری نمیکنی، نمیتونی تعریف کنی، چیزی رو که تعریف نمیکنی، نمیتونی درک کنی و کاری که مدیریت نمیکنی، توش موفق نمیشی.»
~ ویلیام ادواردز دمینگ
💢 چطوری زمان رو مدیریت کنیم؟
👈 بعد ذهنی
تو بعد ذهنی، مهمه بتونی افکار، احساسات و رفتارات رو مدیریت کنی تا روی کارهایی که انجام میدی تمرکز داشته باشی.
باید ارزش زمان رو درک کنی و انگیزه داشته باشی که ازش بهترین استفاده رو ببری. خیلی راحت میشه ارزش زمان رو فراموش کرد و فکر کنیم تو آینده کلی وقت هست که کارهایی رو که لازمه انجام بدیم.
👈 بعد فیزیکی
🖼 تصویر 1
بعد فیزیکی به بدن و محدودیتهاش مربوطه. مثل همه چیز تو زندگی، یه نقطهی ایدهآل برای بازدهی وجود داره، یعنی همون نقطهای که میتونی با کیفیت و کارایی بالا کار کنی. اگه از این نقطه رد بشی، ممکنه به سلامت جسمی و روحیت آسیب بزنی.
برای اینکه بدنت همیشه نزدیک به نقطهی ایدهآل بازدهی باشه، باید بیشتر به 3 تا چیز توجه کنی:
چرخهی خواب و بیداری: خواب یکی از مهمترین راههای تنظیم بدنه، کمخوابی یا پُرخوابی عملکرد و سلامتی رو خراب میکنه. یه ساعت مشخص برای خواب و بیداری داشته باش، به اندازهای بخواب که سرحال باشی و بتونی کارهای روزانه رو انجام بدی.
گرسنگی و هضم: بدن برای کار کردن به انرژی نیاز داره، اگه خوب غذا نخوری، انرژی کافی برای انجام کارهای روزانه رو نداره. از طرفی، پرخوری هم میتونه عملکردت رو ضعیف کنه چون بدن مجبور میشه برای هضم غذا انرژی صرف کنه که باعث خوابآلودگی و خستگی میشه. باید همیشه به نیاز بدنت به انرژی توجه داشته باشی، یه راهنمای خوب که به مورد بعدی هم وصل میشه، شروع کردن به ورزش کردنه.
استرس و استراحت: همه چی تو دنیا پویاست و بدن هم همینطوره. به لحظات استراحت نیاز داری تا بدنت از استرس کارهای روزانه ریکاوری بشه. تقریباً مثل یه الاکلنگه، اگه کار باعث شده خیلی استرس بگیری، لازمه که به بدنت با ورزش کردن فشار بیاری تا بتونه ریکاوری بشه. برای اینکه منظورمو بهتر متوجه بشید تصویر دو رو ببینید :)
🖼 تصویر 2
👈 بعد فنی
بعد فنی شامل ابزار و تکنیکهایی میشه که برای مدیریت زمان به کار میرن. لازمه یاد بگیری از ابزارهای درست استفاده کنی و تکنیکهایی رو به کار ببری که برای نوع کاری که انجام میدی مؤثر باشن.
—-
ادامه در پست بعدی...
🆔 @MdDaily
❤7🔥2
⏰ مدیریت زمان و راندمان (برای برنامهنویسها) - قسمت 2
🔗 قسمت قبلی
💢 مدیریت زمان: تکنیکها و راهکارها
تو مدیریت زمان، تکنیکهای مختلفی وجود داره که میشه ازشون استفاده کرد. بریم که در ادامه با چنتا از محبوب ترین هاشون آشنا بشیم:
👈 برنامهریزی هفتگی:
یه برنامه ساده برای کل هفته بچین. چی میخوای انجام بدی؟ هر روز چه کارهایی داری؟ فقط حواستون باشه که خیلی جزئی نباشه چون باعث اضطراب و استرس بیشتر میشه. پس فقط فعالیت های مهمتون رو مشخص کنید و بقیه فعالیت ها را به صورت روزانه مشخص کنید؛ بزرگترین باگ این نوع برنامه ریزی اینکه ممکنه تو تله ی "توهم برنامهریزی یا همون Planning Fallacy" بیوفتید.
🖼 تصویر 1
👈 برنامهریزی مبتنی بر هدف
این ترفند تو خیلی از شرکت ها و حتی زندگی روزمره کاربرد داره. خلاصش اینه که یه هدف بزرگ رو انتخاب می کنی و بعد یه عالمه هدف کوچیک تر یا زیرمجموعه که باید انجامشون بدی تا به اون هدف بزرگ برسی مشخص می کنی اما یادتون باشه که هدف با زیرمجموعه فرق میکنه. هدف، چیزیه که قصد دارید بهش برسید و زیرمجموعه، کارهایی که برای رسیدن به اون هدف انجام میدید. مثلا، اگر قرار وزن کم کنید، هدف نهایی شما کاهش وزن هست و زیرمجموعه هاش ورزش کردن و تغذیه سالم هستن. ایجاد اهداف و زیرمجموعه ها برای حفظ تمرکز و توجه بر فعالیت هایی که انجام میدیم مهمه.
نکته مهم اینه که هدفها و زیرمجموعههامون باید واقعبینانه و قابل دسترس باشن. اگه هدفهامون خیلی بزرگ و دور از دسترس باشن، ممکنه خیلی زود دلسرد و از ادامه مسیر منصرف بشیم.
برای اینکه بتونیم پیشرفت خودمون رو اندازه گیری کنیم، میتونیم از شاخصهای کلیدی عملکرد (KPI) استفاده کنیم.
👈 تکنیک پومودورو (Pomodoro)
🖼 تصویر 2
پومودورو یه روش ساده و خفن برای مدیریت زمانه که کمک میکنه تمرکزت رو حفظ کنی و کارهات رو با راندمان بیشتری انجام بدی.
وقتی داری یه برنامه مینویسی، خیلی پیش میاد که حواست پرت بشه و به چیزهای دیگه مثل چک کردن شبکههای اجتماعی مشغول بشی. پومودورو بهت کمک میکنه که این کارها رو کنار بذاری و فقط روی کدنویسی تمرکز کنی.
✅ چطوری از تکنیک پومودورو استفاده کنیم؟
یه کاری که میخوای انجامش بدی رو انتخاب کن.
یه تایمر رو روی ۲۵ دقیقه تنظیم کن.
تا زمانی که تایمر زنگ نزده، فقط روی اون کار تمرکز کن.
وقتی تایمر زنگ زد، یه استراحت ۵ دقیقهای داشته باش.
بعد از استراحت، مراحل ۲ تا ۴ رو تکرار کن تا کار تموم بشه.
چرا ۲۵ دقیقه؟
🖼 تصویر 3
به ذهنت یه چارچوب زمانی میدی: وقتی یه زمان مشخص برای انجام یه کار داری، مغزت ناخودآگاه تلاش میکنه که کار رو تو همون زمان تموم کنه.
از حواس پرتی دور میمونی: تو هر قسمت ۲۵ دقیقهای، فقط روی یه کار تمرکز میکنی و چیزای دیگه مثل گوشیت نمیتونن حواست رو پرت کنن.
انرژیات رو حفظ میکنی: استراحتهای ۵ دقیقهای بین هر قسمت ۲۵ دقیقهای بهت کمک میکنه که خسته نشی و بتونی تمرکزت رو حفظ کنی.
چند تا نکته:
میتونی زمان هر قسمت و استراحت رو خودت تنظیم کنی.
یه کاغذ و قلم کنار دستت بزار تا حواس پرتیهات رو یادداشت کنی و بعداً بهشون رسیدگی کنی.
از یه اپلیکیشن یا تایمر پومودورو استفاده کن تا بهت تو مدیریت زمان کمک کنه.
دوتا نظریه ی جالب هم راجب پومودورو وجود داره:
🖼 تصویر 4
🖼 تصویر 5
—-
ادامه در پست بعدی...
🆔 @MdDaily
🔗 قسمت قبلی
💢 مدیریت زمان: تکنیکها و راهکارها
تو مدیریت زمان، تکنیکهای مختلفی وجود داره که میشه ازشون استفاده کرد. بریم که در ادامه با چنتا از محبوب ترین هاشون آشنا بشیم:
👈 برنامهریزی هفتگی:
یه برنامه ساده برای کل هفته بچین. چی میخوای انجام بدی؟ هر روز چه کارهایی داری؟ فقط حواستون باشه که خیلی جزئی نباشه چون باعث اضطراب و استرس بیشتر میشه. پس فقط فعالیت های مهمتون رو مشخص کنید و بقیه فعالیت ها را به صورت روزانه مشخص کنید؛ بزرگترین باگ این نوع برنامه ریزی اینکه ممکنه تو تله ی "توهم برنامهریزی یا همون Planning Fallacy" بیوفتید.
توهم برنامهریزی: پدیده ایه که زمانی رخ میده که افراد توانایی خودشون رو برای انجام وظایف در یک دوره زمانی معین بیش از حد تخمین میزنن. برای جلوگیری از این تله، مهمه که واقع بین باشی و رویدادهای پیشبینی نشدهای را که امکان داره در طول روز رخ بده، در نظر بگیری. پس تو در برنامهریزی هفتگی، زمان خالی برای رویدادهای پیشبینی نشده و فعالیتهای بدون برنامه در نظر بگیر
🖼 تصویر 1
👈 برنامهریزی مبتنی بر هدف
این ترفند تو خیلی از شرکت ها و حتی زندگی روزمره کاربرد داره. خلاصش اینه که یه هدف بزرگ رو انتخاب می کنی و بعد یه عالمه هدف کوچیک تر یا زیرمجموعه که باید انجامشون بدی تا به اون هدف بزرگ برسی مشخص می کنی اما یادتون باشه که هدف با زیرمجموعه فرق میکنه. هدف، چیزیه که قصد دارید بهش برسید و زیرمجموعه، کارهایی که برای رسیدن به اون هدف انجام میدید. مثلا، اگر قرار وزن کم کنید، هدف نهایی شما کاهش وزن هست و زیرمجموعه هاش ورزش کردن و تغذیه سالم هستن. ایجاد اهداف و زیرمجموعه ها برای حفظ تمرکز و توجه بر فعالیت هایی که انجام میدیم مهمه.
نکته مهم اینه که هدفها و زیرمجموعههامون باید واقعبینانه و قابل دسترس باشن. اگه هدفهامون خیلی بزرگ و دور از دسترس باشن، ممکنه خیلی زود دلسرد و از ادامه مسیر منصرف بشیم.
برای اینکه بتونیم پیشرفت خودمون رو اندازه گیری کنیم، میتونیم از شاخصهای کلیدی عملکرد (KPI) استفاده کنیم.
شاخص KPI معیار برای سنجش پیشرفته. مثلا اگه هدف داری که 5 کیلو وزن کم کنی، می تونی هر هفته خودت رو وزن کنی و ببینم چقدر به هدفت نزدیک شدی.
👈 تکنیک پومودورو (Pomodoro)
🖼 تصویر 2
پومودورو یه روش ساده و خفن برای مدیریت زمانه که کمک میکنه تمرکزت رو حفظ کنی و کارهات رو با راندمان بیشتری انجام بدی.
وقتی داری یه برنامه مینویسی، خیلی پیش میاد که حواست پرت بشه و به چیزهای دیگه مثل چک کردن شبکههای اجتماعی مشغول بشی. پومودورو بهت کمک میکنه که این کارها رو کنار بذاری و فقط روی کدنویسی تمرکز کنی.
✅ چطوری از تکنیک پومودورو استفاده کنیم؟
یه کاری که میخوای انجامش بدی رو انتخاب کن.
یه تایمر رو روی ۲۵ دقیقه تنظیم کن.
تا زمانی که تایمر زنگ نزده، فقط روی اون کار تمرکز کن.
وقتی تایمر زنگ زد، یه استراحت ۵ دقیقهای داشته باش.
بعد از استراحت، مراحل ۲ تا ۴ رو تکرار کن تا کار تموم بشه.
چرا ۲۵ دقیقه؟
🖼 تصویر 3
به ذهنت یه چارچوب زمانی میدی: وقتی یه زمان مشخص برای انجام یه کار داری، مغزت ناخودآگاه تلاش میکنه که کار رو تو همون زمان تموم کنه.
از حواس پرتی دور میمونی: تو هر قسمت ۲۵ دقیقهای، فقط روی یه کار تمرکز میکنی و چیزای دیگه مثل گوشیت نمیتونن حواست رو پرت کنن.
انرژیات رو حفظ میکنی: استراحتهای ۵ دقیقهای بین هر قسمت ۲۵ دقیقهای بهت کمک میکنه که خسته نشی و بتونی تمرکزت رو حفظ کنی.
چند تا نکته:
میتونی زمان هر قسمت و استراحت رو خودت تنظیم کنی.
یه کاغذ و قلم کنار دستت بزار تا حواس پرتیهات رو یادداشت کنی و بعداً بهشون رسیدگی کنی.
از یه اپلیکیشن یا تایمر پومودورو استفاده کن تا بهت تو مدیریت زمان کمک کنه.
دوتا نظریه ی جالب هم راجب پومودورو وجود داره:
قانون پارکینسون:
هر چقدر زمان بیشتری برای انجام یک کار داشته باشیم، بیشتر طول میکشه تا انجامش بدیم. مثال: فرض کنید میخواهید یه مقاله بنویسید. اگه یک ماه فرصت داشته باشید، احتمالاً تا آخرین روز صبر میکنید و در نهایت کار رو با عجله انجام میدید. اما اگه به خودتون فقط یک هفته فرصت بدید، احتمالاً کار رو سریعتر و با کیفیت بهتر انجام میدید.
🖼 تصویر 4
قانون پارتو:
۸۰٪ از نتایج ما از ۲۰٪ از تلاشهای ما میآیند.
مثال: فرض کنید میخواهید برای یک امتحان آماده بشید. اگه تمام مطالب رو در یک روز مطالعه کنید، احتمالاً فقط ۲۰٪ از مطالب رو به یاد خواهید داشت. اما اگه مطالب رو در طول چند هفته مطالعه کنید و هر روز فقط ۲۰٪ از مطالب رو مرور کنید، احتمالاً ۸۰٪ از مطالب رو به یاد خواهید داشت.
🖼 تصویر 5
—-
ادامه در پست بعدی...
🆔 @MdDaily
🔥5❤🔥1