این چیت شیت شورت کات های ترمینال بش خیلی خفنه
https://gist.github.com/tuxfight3r/60051ac67c5f0445efee
armondy
https://gist.github.com/tuxfight3r/60051ac67c5f0445efee
armondy
اونایی که جاوااسکریپت کد میزنن یا دارن یاد میگیرن یه سری تمرین تو گیتهاب پیدا کردم که میتونه دستتون تو کد زدن رو قوی تر کنه.
چیز باحالیه یه سر بهش بزنید
https://github.com/wesbos/JavaScript30
AmirHosein
چیز باحالیه یه سر بهش بزنید
https://github.com/wesbos/JavaScript30
AmirHosein
یکی: برنامهنویسی همش کپی پیسته!
برنامهنویس باهوش: آره اگه هنوز فانکشنا رو نخونده باشی!
امیدوارم هیچ کدومتون وقتی یه تیکه کد رو 20 جا کپی پیست میکنید به خودتون افتخار نکنید چون نه تنها دیگه کد شما تمیز نیست بلکه به دام Code Duplication افتادید. (حتی اگه 20 جا بشه 2 جا!)
حتما و قطعا در هر برنامهای که مینویسید جاهایی وجود داره که باید یه منطق یا استراکچر چند جا تکرار بشه، ممکنه یسری جزئیات فرق کنه ولی کلی که نگاه میکنی میبینی کد همون کده.
خب تو این شرایط برنامهنویس مبتدی میاد با خودش میگه چون فلان مقدار و فلان مقدار و... در جاهای مختلف باهم فرق دارن پس ارزششو نداره فانکشن/کامپوننت براش بزنم؛ به قول معروف میگه: وِلِلِش!
اما یه برنامهنویس حرفهای تمام زورشو میزنه (واقعا اینکارو میکنه 😅) تا از دلِ قسمت هایی که کپی-پیست کرده یه فانکشن/کامپوننت در بیاره تا هم خوانایی کد بره بالا و اگه یروزی خواست منطق کدشو تغییر بده نخواد از 20 جا عوضش کنه!
این دیدگاه باید هم در فرانت و هم بکاند پروژه وجود داشته باشه اما تو فرانتاند این کامپوننتها هستن که بیشترین مسئولیت رو به عهده دارن و وجود فریمورک هایی مثل React, Vue, Angular,… کار رو حتی راحتتر کردن؛ با این حال امکان افتادن به دام Code Duplication یا همون وِلِلِش خودمون بیشتره!
تنها راه حلی که میتونم بهتون بدم اینه که هــــــــــر وقـــــــــــت فکر کپی-پیست به سرتون زد ببینید میتونید بهجاش اونو تبدیل به کامپوننت کنید (تنبلی هم نکنین!) و اگه 1% هم فکر میکنید میشه، اینکارو انجام بدید. همچنین اگر از نرمافزار های JetBrains استفاده کنید میبینید هروقت داخل پروژتون duplicated code وجود داشته باشه بهتون اخطار میده و تا وقتی داخل یه فانکشن جاش نکنین وجدانتونو به درد میاره!
پ.ن. حتی اگه این کدِ کپی-پیست شده در قسمت های مختلف پروژه با هم متفاوت باشن (ولی به هر حال کپی شدهی همدیگن) در 90% مواقع این مشکل با پارامتر ها و متغیر ها حل میشن.
#CleanCode
Atena Dadkhah
برنامهنویس باهوش: آره اگه هنوز فانکشنا رو نخونده باشی!
امیدوارم هیچ کدومتون وقتی یه تیکه کد رو 20 جا کپی پیست میکنید به خودتون افتخار نکنید چون نه تنها دیگه کد شما تمیز نیست بلکه به دام Code Duplication افتادید. (حتی اگه 20 جا بشه 2 جا!)
حتما و قطعا در هر برنامهای که مینویسید جاهایی وجود داره که باید یه منطق یا استراکچر چند جا تکرار بشه، ممکنه یسری جزئیات فرق کنه ولی کلی که نگاه میکنی میبینی کد همون کده.
خب تو این شرایط برنامهنویس مبتدی میاد با خودش میگه چون فلان مقدار و فلان مقدار و... در جاهای مختلف باهم فرق دارن پس ارزششو نداره فانکشن/کامپوننت براش بزنم؛ به قول معروف میگه: وِلِلِش!
اما یه برنامهنویس حرفهای تمام زورشو میزنه (واقعا اینکارو میکنه 😅) تا از دلِ قسمت هایی که کپی-پیست کرده یه فانکشن/کامپوننت در بیاره تا هم خوانایی کد بره بالا و اگه یروزی خواست منطق کدشو تغییر بده نخواد از 20 جا عوضش کنه!
این دیدگاه باید هم در فرانت و هم بکاند پروژه وجود داشته باشه اما تو فرانتاند این کامپوننتها هستن که بیشترین مسئولیت رو به عهده دارن و وجود فریمورک هایی مثل React, Vue, Angular,… کار رو حتی راحتتر کردن؛ با این حال امکان افتادن به دام Code Duplication یا همون وِلِلِش خودمون بیشتره!
تنها راه حلی که میتونم بهتون بدم اینه که هــــــــــر وقـــــــــــت فکر کپی-پیست به سرتون زد ببینید میتونید بهجاش اونو تبدیل به کامپوننت کنید (تنبلی هم نکنین!) و اگه 1% هم فکر میکنید میشه، اینکارو انجام بدید. همچنین اگر از نرمافزار های JetBrains استفاده کنید میبینید هروقت داخل پروژتون duplicated code وجود داشته باشه بهتون اخطار میده و تا وقتی داخل یه فانکشن جاش نکنین وجدانتونو به درد میاره!
پ.ن. حتی اگه این کدِ کپی-پیست شده در قسمت های مختلف پروژه با هم متفاوت باشن (ولی به هر حال کپی شدهی همدیگن) در 90% مواقع این مشکل با پارامتر ها و متغیر ها حل میشن.
#CleanCode
Atena Dadkhah
👍6
سایت iransweb.com
هم Api فارسی رایگان داره و هم صفحه ای برای تست Api ها با متدهای مختلف
جونیور فرانت کارا برای نمونه کار میتونن ازش استفاده کنن
هم Api فارسی رایگان داره و هم صفحه ای برای تست Api ها با متدهای مختلف
جونیور فرانت کارا برای نمونه کار میتونن ازش استفاده کنن
بالاخره OpenAI موتور جستجوی جدیدش به اسم SearchGPT رو به طور آزمایشی راه اندازی کرد
اُپنایآی نوشته که "این جستجوگر رو ساختیم تا بتونید خیلی راحت یه جواب دقیق و شفاف با آخرین اطلاعات اینترنتی به سوالاتتون پیدا کنید". فعلاً در مرحله پروتوتایپ هست و برای استفاده ازش باید به لیست انتظار اضافه بشید.
لینک
#searchGPT
اُپنایآی نوشته که "این جستجوگر رو ساختیم تا بتونید خیلی راحت یه جواب دقیق و شفاف با آخرین اطلاعات اینترنتی به سوالاتتون پیدا کنید". فعلاً در مرحله پروتوتایپ هست و برای استفاده ازش باید به لیست انتظار اضافه بشید.
لینک
#searchGPT
🔥3
اگه با node.js پروژه ای رو پیاده سازی کرده باشین ، حتما با پکیج nodemon آشنایی دارین ، nodemon پروژه رو اجرا میکنه و منتظر می مونه تا تغییراتی رو در کد ها اعمال کنین و nodemon پروژه رو restart میکنه و اونموقع تغییرات جدید رو میتونین توی پروژه تون ببینین.
ولی این راه و روش برای محیط development هست ، توی محیط production باید از پکیج های دیگه ای استفاده کنین تا پروژه تون رو run کنید.
✅ یکی از معروف ترین پکیج ها PM2 هستش که باهاش میتونی برنامه های node.js رو اجرا کنی و بصورت اتوماتیک برنامت رو ریستارت کنه اگه کرش کرد. همینطور reload میکنه برنامت رو وقتی توی کدت تغییرات ایجاد میکنی و سیستم مانیتورینگ خوبی رو داره.
⚒ برای نصبش هم فقط کافیه تایپ کنید.
npm install -g pm2
ولی این راه و روش برای محیط development هست ، توی محیط production باید از پکیج های دیگه ای استفاده کنین تا پروژه تون رو run کنید.
✅ یکی از معروف ترین پکیج ها PM2 هستش که باهاش میتونی برنامه های node.js رو اجرا کنی و بصورت اتوماتیک برنامت رو ریستارت کنه اگه کرش کرد. همینطور reload میکنه برنامت رو وقتی توی کدت تغییرات ایجاد میکنی و سیستم مانیتورینگ خوبی رو داره.
⚒ برای نصبش هم فقط کافیه تایپ کنید.
npm install -g pm2
👍3
گوگل به طور آزمایشی یه سرویس انقلابی رو معرفی کرد که مقالات رو واست میخونه ولی صرفا یک روخوانی ساده نیست. انگار یه پادکست با چند تا گوینده حرفه ایه که از هم سوال می کنن. حرف همو ادامه میدن. لحن صدا تغییر میدن. می خندن تعجب میکنن. وات د فاک 🤯
https://illuminate.google.com
https://illuminate.google.com
👍3
قانون AAA در نوشتن unit test: 🧪
الگوی arrange , act , assert در نوشتن تست های واحد به یکی از استاندارد ها در صنعت تبدیل شده که باعث میشه تست های واحد ما تمیز تر و خوانا تر بشن
این الگو به شما پیشنهاد میده که متد تست خودتون رو به سه بخش تقسیم کنین و هر بخش مسئولیت خودش رو بر عهده داره 💡
قسمت اول arrange فقط شامل کد هایی میشه که شما برای تست نیاز دارین (راه اندازی تست)
در این قسمت اشیا و یا ماک ها در صورت نیاز ایجاد میشن و مقادیری که به عنوان خروجی انتظار داریم تعریف میشن
در قسمت arrange معمولا استاندارده که بیایم یک متغیر به اسم sut تعریف کنیم (system under test) و به عنوان مقدار به این متغیر ، متدی که میخوایم تست کنیم رو بهش پاس بدیم 🤖
در قسمت act متدی که میخوایم تست کنیم رو صدا میزنیم (sut) و بهش ورودی تست خودمون رو میدیم پس این مرحله میشه فراخوانی متدی که قراره مورد تست قرار بگیره
در قسمت assert هم چک می کنیم که آیا خروجی مرحله act که میشه (actual value) با مقدار مورد انتظار ما که در مرحله arrange تعریف شد (expected value) مطابقت داره یا نه 🕵♂️
الگوی arrange , act , assert در نوشتن تست های واحد به یکی از استاندارد ها در صنعت تبدیل شده که باعث میشه تست های واحد ما تمیز تر و خوانا تر بشن
این الگو به شما پیشنهاد میده که متد تست خودتون رو به سه بخش تقسیم کنین و هر بخش مسئولیت خودش رو بر عهده داره 💡
قسمت اول arrange فقط شامل کد هایی میشه که شما برای تست نیاز دارین (راه اندازی تست)
در این قسمت اشیا و یا ماک ها در صورت نیاز ایجاد میشن و مقادیری که به عنوان خروجی انتظار داریم تعریف میشن
در قسمت arrange معمولا استاندارده که بیایم یک متغیر به اسم sut تعریف کنیم (system under test) و به عنوان مقدار به این متغیر ، متدی که میخوایم تست کنیم رو بهش پاس بدیم 🤖
در قسمت act متدی که میخوایم تست کنیم رو صدا میزنیم (sut) و بهش ورودی تست خودمون رو میدیم پس این مرحله میشه فراخوانی متدی که قراره مورد تست قرار بگیره
در قسمت assert هم چک می کنیم که آیا خروجی مرحله act که میشه (actual value) با مقدار مورد انتظار ما که در مرحله arrange تعریف شد (expected value) مطابقت داره یا نه 🕵♂️
👍4
چطور بدون سابقه کاری، رزومهای قوی بسازیم؟
مهم ترین چیزی که توی رزومه شما میشه پیدا کرد سابقه کاریتون توی جا های دیگس،
اما درست کردن سابقه برای شروع خیلی سخته، چون برای درست کردنش خودش نیاز به سابقه داره.
راحت ترین چیزی که میمونه گرفتن مدرک ها و سرتیفیکیت هاست، این ریپو اومده یه لیستی از کورس ها و سرتیفیکیت های رایگان که اتفاقا معتبر هم هستن رو جمع آوری کرده
https://github.com/cloudcommunity/Free-Certifications
مثلا بجای اینکه ساده بنویسید Network بلدم بنویسید فلان سرتیفیکیت Network رو از huawei دارم، خیلی خیلی توی رزومتون بولد تر دیده میشه.
Linuxor
مهم ترین چیزی که توی رزومه شما میشه پیدا کرد سابقه کاریتون توی جا های دیگس،
اما درست کردن سابقه برای شروع خیلی سخته، چون برای درست کردنش خودش نیاز به سابقه داره.
راحت ترین چیزی که میمونه گرفتن مدرک ها و سرتیفیکیت هاست، این ریپو اومده یه لیستی از کورس ها و سرتیفیکیت های رایگان که اتفاقا معتبر هم هستن رو جمع آوری کرده
https://github.com/cloudcommunity/Free-Certifications
مثلا بجای اینکه ساده بنویسید Network بلدم بنویسید فلان سرتیفیکیت Network رو از huawei دارم، خیلی خیلی توی رزومتون بولد تر دیده میشه.
Linuxor
👍7
نیتکد و لیتکد دوتا پلتفرم محبوب توی دنیای برنامه نویسین که میتونید توشون برید و دانش فنی خودتون رو به چالش بکشید و جالب اینجاست اکثر شرکت های بزرگ، سوال های مصاحبه فنیشون از این سایت هاست.
Leet Code : leetcode.com
Neet Code : neetcode.io
Linuxor
@JavascriptIR
Leet Code : leetcode.com
Neet Code : neetcode.io
Linuxor
@JavascriptIR
تلگرام اپدیت جدیدش یعنی نسخه 11.3 رو منتشر کرده و در اون رسما امکان تعیین کیفیت ویدیوها در حین دانلود معرفی شده.
با این قابلیت کانالها دیگه نیازی نیست ویدیوهارو قبل از ارسال فشرده کنن تا برای کاربران راحتتر دانلود بشه، بلکه تلگرام حالا همانند یوتوب، ویدیوهارو بعد از اپلود توسط ادمین، در سرورهاش پردازش میکنه و از اونها چندین کیفیت، یعنی بالا، متوسط و پایین میسازه و در کانال قرار میده.
بعد از اون در هنگام دیدن ویدیو توسط کاربر، تلگرام به طور خودکار کیفیتی متناسب با سرعت اینترنت کاربر رو انتخاب میکنه تا سریعتر پخش بشه. اما کاربر از طریق دکمه چرخ دنده میتونه کیفیت مدنظرش رو کماکان انتخاب کنه.
تلگرام گفته این قابلیت برای کانالهای با چندین هزار عضو فعال میشه.
@JavascriptIR
با این قابلیت کانالها دیگه نیازی نیست ویدیوهارو قبل از ارسال فشرده کنن تا برای کاربران راحتتر دانلود بشه، بلکه تلگرام حالا همانند یوتوب، ویدیوهارو بعد از اپلود توسط ادمین، در سرورهاش پردازش میکنه و از اونها چندین کیفیت، یعنی بالا، متوسط و پایین میسازه و در کانال قرار میده.
بعد از اون در هنگام دیدن ویدیو توسط کاربر، تلگرام به طور خودکار کیفیتی متناسب با سرعت اینترنت کاربر رو انتخاب میکنه تا سریعتر پخش بشه. اما کاربر از طریق دکمه چرخ دنده میتونه کیفیت مدنظرش رو کماکان انتخاب کنه.
تلگرام گفته این قابلیت برای کانالهای با چندین هزار عضو فعال میشه.
@JavascriptIR
👍3
🟠دسترسی به GitLab و Docker آزاد شد!
🔸برنامهنویسان ایرانی که به دنبال تحریم سرویسهای GitLab و Docker در چند روز اخیر با مشکلات جدی در حوزه کاریشان مواجه شده بودند، خبر از دسترسی به این سرویسها بدون نیاز به ابزارهای تغییر IP میدهند.
🔸ظاهرا این رفع تحریمها در سطح کشور رخ داده و این تحریم شکنی سراسری تنها چند روز بعد از اعلام تحریمهای اخیر مورد توجه کاربران بسیاری به ویژه در حوزه برنامهنویسی قرار گرفته است.
🔸البته گزارشها تنها مختص به کاربران این دو سرویس نیست و به نظر میرسد سرویسهای تحریمی زیادی در حوزه سخت افزاری مثل Nvidia و AMD، پلتفرمهای آموزشی و علمی مثل Coursera و Udemy نیز به طور سراسری رفع تحریم شدهاند.
@JavascriptIR
🔸برنامهنویسان ایرانی که به دنبال تحریم سرویسهای GitLab و Docker در چند روز اخیر با مشکلات جدی در حوزه کاریشان مواجه شده بودند، خبر از دسترسی به این سرویسها بدون نیاز به ابزارهای تغییر IP میدهند.
🔸ظاهرا این رفع تحریمها در سطح کشور رخ داده و این تحریم شکنی سراسری تنها چند روز بعد از اعلام تحریمهای اخیر مورد توجه کاربران بسیاری به ویژه در حوزه برنامهنویسی قرار گرفته است.
🔸البته گزارشها تنها مختص به کاربران این دو سرویس نیست و به نظر میرسد سرویسهای تحریمی زیادی در حوزه سخت افزاری مثل Nvidia و AMD، پلتفرمهای آموزشی و علمی مثل Coursera و Udemy نیز به طور سراسری رفع تحریم شدهاند.
@JavascriptIR
👍4🤣1