Ditty | دیتی – Telegram
Ditty | دیتی
3.19K subscribers
194 photos
20 videos
4 files
387 links
دیتی | دنیای ساده‌شدهٔ برنامه‌نویسی وب
https://ditty.ir
Download Telegram
🔺متد reduceRight کاملاً مشابه reduce عمل می‌کنه با این تفاوت که از راست به چپ پیمایش انجام میده

- تا به‌ حال جایی مجبور شدین از reduceRight استفاده کنین؟

- برای آشنایی با متد reduce این پست رو بخونین:
https://ditty.ir/p/XolQJ

پ.ن: زحمت کد توی عکس رو تماماً GitHub Copilot کشیده 😁

#javanoscript
👍243👏3
🔺۳ ابزاری که توی هر پروژه‌ای استفاده می‌کنی رو کامنت کن 👏👇
#misc
🔺دوستان زحمت کشیدن و یک پکیج اختصاصی برای عمل تفریق توی جاوااسکریپت طراحی کردن: 😄
https://www.npmjs.com/package/subtract

#links
😁29🤬10🤩3👏2🔥1
Ditty | دیتی
🔺دوستان زحمت کشیدن و یک پکیج اختصاصی برای عمل تفریق توی جاوااسکریپت طراحی کردن: 😄 https://www.npmjs.com/package/subtract #links
🔺در راستای زحمات دوستان، یک پکیج وجود داره به اسم is-odd با ۲۰۰هزار دانلود هفتگی که برای تشخیص عدد فرد استفاده میشه:
https://www.npmjs.com/package/is-odd

- یک پکیج دیگه وجود داره به اسم is-even که برای تشخیص عدد زوج استفاده میشه، ۴۲۹هزار نصب هفتگی داره و توی خودش داره به شکل زیر از پکیج is-odd استفاده می‌کنه:
var isOdd = require('is-odd');

module.exports = function isEven(i) {
return !isOdd(i);
};

#tips
😁49🤯8👍4👎3🔥2
🔺آقای مارتین فاولر میگه: یک برنامه‌نویس بد کدی می‌نویسه که فقط یک کامپیوتر بتونه اون رو درک کنه. اما یک برنامه‌نویس خوب کدی می‌نویسه که یک انسان بتونه اون رو متوجه بشه!

- توی Code Review هایی که انجام میدم و رزومه‌هایی که بررسی می‌کنم، معمولاً اولین و مهمترین معیار برای قبولی کد، تمیزی و خوانایی اون هست. و کار کردن کد اولویت دوم

- می‌خوایم با چند مقاله آشنا بشیم که کمک می‌کنن کدهای تمیزتر و خواناتری داشته باشیم:

Clean Code Explained – A Practi...
Clean Code concepts adapted for...
Clean Code Practice: How to write...
JavaScript Clean Coding Best P...
Function parameters in JavaScript
Keeping your code clean
Best Practices for Using Modern...
Best practices for cross node/w...
Writing Clean Code
Writing Clean Code and The Pra...
Clean code, dirty code, human...
Practical Ways to Write Better...
The Must-Know Clean Code Princ...

منبع

#javanoscript
🔥37👍209
🔺آمار نظرسنجی Stackoverflow سال ۲۰۲۲ هم منتشر شد

» نکته‌هایی از این آمار:

• برای دهمین سال پیاپی و طبق معمول، جاوااسکریپت پر استفاده‌ترین زبان
• دیتابیس MySQL پراستفاده‌ترین دیتابیس
• نود جی‌اس و ری‌اکت پراستفاده‌ترین فریم‌ورک‌های وب
• وی‌اس کد (VS Code) پراستفاده‌ترین IDE
• زبان Rust دوست‌داشتنی‌ترین زبان و MATLAB ترسناک‌ترین
• دوست‌داشتنی‌ترین دیتابیس PostgreSQL
• دوست‌داشتنی‌ترین فریم‌ورک‌های وب Phoenix و Svelte و Deno
• ترسناک‌ترین‌ فریم‌ورک‌های وب Angular.js و Drupal و jQuery
• دوست‌داشتنی‌ترین ابزارها Docker و Kubernetes
• دوست‌داشتنی‌ترین IDE ها Neovim و VS Code
• ترسناک‌ترین‌ IDE ها NetBeans و Eclipse

• به طور میانگین، از سال ۲۰۲۱ تا ۲۰۲۲ میزان دستمزدها ۲۳٪ افزایش داشته
• زبان‌های Clojure و Erlang و #F پردرآمدترین زبان‌ها


» آمار با جزییات کامل
#stats
👍448👎2
🔺توی #تایپ‌اسکریپت اگه بخوایم یک مقدار رو غیر قابل تغییر یا Immutable کنیم، راه‌های زیادی وجود داره که یکی از جالب‌ترین اونها استفاده از Const Assertion هست

- با این ویژگی اینجا آشنا بشین:
ditty.ir/500 💯

#typenoscript
🔥17👍8
🔺توی تایپ‌اسکریپت، Narrowing یعنی چی؟ 🤔

- اگه مستندات و آموزش‌های تایپ‌اسکریپت رو خونده باشین، حتماً واژه Narrowing رو زیاد دیدین

- معنی تحت‌اللفظی این واژه یعنی محدود کردن یا باریک کردن

- تایپ‌اسکریپت با عملیات Narrowing کاری می‌کنه که یک تایپ به شکل یک تایپ خاص‌تر و مشخص‌تر برای ما در دسترس باشه

- توی عکس همونطور که می‌بینیم، پارامتر x ممکنه رشته باشه یا عدد. توی این کد دو عملیات Narrowing انجام گرفته: یکی برای بلاک if و یکی هم برای else

- با این ویژگی، با پارامتر x توی بلاک if فقط به صورت رشته رفتار میشه. برای مثال اگه متد toFixed رو صدا بزنیم خطا می‌گیریم. چون توی این بلاک، x فقط به صورت رشته قابل دسترس هست

- همچنین توی بلاک else تایپ‌اسکریپت می‌دونه که نوع x دیگه رشته نیست و قطعاً عددی هست. پس با اون مثل یک عدد رفتار می‌کنه
#typenoscript
👍27🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
🔺به این ویدئوی کوتاه نگاه کنین، می‌خوایم درباره یک اصل از Core Web Vitals صحبت کنیم

- کاربر قصد داره روی دکمه خاکستری بزنه، اما درست قبل از کلیک، یک باکس سفید بالای فرم نمایش داده میشه و کاربر ناخواسته دکمهٔ آبی رو کلیک می‌کنه 🤦‍♂️

- گوگل توی سومین اصل Core Web Vitals درباره Cumulative Layout Shift (مخفف: CLS) صحبت می‌کنه و میگه توی یک صفحهٔ ضعیف، بخاطر لود شدن مرحله به مرحلهٔ المنت‌ها (مثل لود شدن یک عکس سنگین) شیفت‌ها و جابجایی‌های ناخواسته‌ای رخ میده که برای کاربر گیج‌کننده هست که در نتیجه UX و امتیاز اون صفحه پایین میاد

- گوگل با مطرح کردن مباحثی مثل Core Web Vitals داره میگه که User Experience بیشتر از هر موقع دیگه‌ای اهمیت داره و در نتیجه یک صفحه وب زمانی امتیاز خوبی می‌گیره که یک کاربر توی اون احساس راحتی کنه

- منبع ویدئو
#tips
👍44😁53
🔺معیار LCP از Core Web Vitals چیه؟ 🤔

- این اولین معیار از Core Web Vitals و مخفف Largest Contentful Paint هست

- گوگل توی این معیار، بزرگترین محتوای توی صفحه (مثل عکس، ویدئو، بلاک متنی) رو نگاه می‌کنه و بررسی می‌کنه که این محتوا توی چه مدت زمانی لود میشه

- هر چقدر مدت زمان لود شدن این محتوا کمتر باشه، امتیاز صفحه برای LCP بهتر خواهد بود. مثلاً اگه بزرگترین المنت صفحه یک تصویر باشه و این تصویر توی مدت زمان زیادی لود بشه، این صفحه امتیاز پایینی برای LCP می‌گیره و نیاز به بهینه‌سازی داره

- عدد خوب برای LCP یک صفحه از ۰ تا ۲.۵ ثانیه هست. عددی بین ۲.۵ تا ۴ ثانیه یک معیار متوسط هست و نیاز به بهینه‌سازی داره و عددی بزرگتر از ۴ ثانیه به عنوان یک صفحه ضعیف شناخته میشه

- با استفاده از تکنیک‌های بهینه‌سازی مثل preload و استفاده از CDN ها می‌تونیم یک LCP خوب داشته باشیم

#tips
👍11🔥3
سلام دوستان. متاسفم بابت اینکه کمتر دارم فعالیت می‌کنم. واقعاً دوست دارم مثل سابق فعالیت داشته باشم. اما توی برهه‌ای هستم که کمتر می‌تونم تمرکز داشته باشم. ولی هدفم اینه که خیلی زود با گذشت از این برهه بتونم دوباره به صورت مستمر فعالیت داشته باشم. خواستم تشکر کنم از اینکه حضور دارین و امیدوارم با دعای خیرتون بتونم مثل سابق و حتی بهتر فعالیت کنم و در خدمتتون باشم 🌹❤️
129👍12👏2
🔺اگه توی جاوااسکریپت تازه کار هستین، پیشنهاد می‌کنم یکی از پرطرفدارترین قسمت‌های «جاوااسکریپت برای مبتدیان» توی دیتی که ساختن SPA با Vanilla JS (جاوااسکریپت خام) هست رو ببینین و بررسی کنین:
» Demo
» Source Code
» Video

#javanoscript
🔥18👍62
🔺به جاوااسکریپت یک متد جدید اضافه شده به اسم hasOwn که کارایی اون خیلی شبیه به hasOwnProperty هست و به زودی قراره به عنوان جایگزین این متد معرفی بشه

- این متد از آبجکتِ Object در دسترس هست و بررسی می‌کنه که آیا یک پراپرتی توی یک آبجکت وجود داره یا نه

- توی این پست به صورت اختصاصی با این متد و تفاوت‌های اون با hasOwnProperty آشنا بشین:
ditty.ir/503 💯

#javanoscript
🔥21👍6👏2
🔺توی کروم DevTools یک تب داریم به اسم Changes که توی اون می‌تونین تغییرات موقتی که به استایل‌ها و جاوااسکریپت دادین رو رصد کنین

- برای مشاهده تب Changes توی DevTools مثل عکس سوم عمل کنین

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

#tips
26👍18🔥4👏2
🔺دستور git open ؟ 🤔

- اگه زیاد با گیت کار می‌کنین، یک پلاگین کاربردی وجود داره به اسم git-open که با وارد کردن دستور git open توی خط فرمان، ریپازیتوری و برنچ فعلی رو توی مرورگر برامون باز می‌کنه 💯

- این پلاگین رو به سادگی با دستور زیر می‌تونین نصب کنین:
npm install --global git-open

- جزییات بیشتر رو از گیت‌هاب این پلاگین ببینین:
https://github.com/paulirish/git-open

#tips
👍32🔥5👎2
🔺چیزهایی که من هنوز نمی‌دونم

- یک مقاله جالب و معروف وجود داره از Dan Abramov (یکی از توسعه‌دهنده‌های معروف و اصلی تیم ری‌اکت) که توی اون به تکنولوژی‌ها و ابزارهایی که هنوز نمی‌دونه اشاره کرده. مثلاً Node.js و SCSS و حتی بعضی از الگوریتم‌های معروف

- پس چه چیزی باعث شهرت و اعتبار Dan Abramov شده؟ ارزشی که خلق کرده. استفاده بهینه از چیزهایی که می‌دونه! چه چیزی باعث موفقیت مارک زاکربرگ شد؟ ارزشی که خلق کرد، نه این اسپاگتی سورس کد فیسبوک :))

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

- سعی کنیم تعادل ایجاد کنیم. بین یادگیری و عمل. زمان و توانایی ما محدوده و نمی‌تونیم همه چیز یاد بگیریم و همه کار انجام بدیم. پس بهتره که سعی کنیم Stack و حوزهٔ خودمون رو مشخص کنیم و تلاش کنیم توی اونها متخصص بشیم. دنیای مدرن نرم‌افزار به دنبال متخصص هست، نه همه فن حریف

👈 شما چه چیزهایی نمی‌دونین؟ کامنت بذارین.
#tips
👍58👏84🔥4🤬1