رقصنده با کد – Telegram
رقصنده با کد
783 subscribers
1.69K photos
850 videos
207 files
665 links
Here are some interesting things I've come across during my learning process. That's it. Admin ID:
@alithecodeguy
Download Telegram
وقتی یک آدرس توی مرورگر وارد می‌کنید دقیقا چه اتفاقی میفته؟
پیامبران معاصر

میگن طرف دکتری کامپیوتر گرفته یه همچین چیزی منظورشونه ، نه اینکه بعد مدرک دکتریش تازه دنبال این باشه اچ‌تی‌ام‌ال یاد بگیره یا پایتون.
از هر چی می‌ترسید یا منتظرید شرایط خاصی پیش بیاد ، همین امروز بدون هیچ مقدمه‌ای شروعش کنید.

اگر تاب‌آوری رو همراهش کنید و تنبلی و بی‌حوصلگی و حرف بقیه منصرفتون نکنه ، ۱۰۰٪ به جایی که می‌خواید می‌رسید.
اگر دنیس ریچی و لینوس تروالدز رو سنیور در نظر بگیرید ، اکثر ماها شوخی‌ای بیش نیستیم.

ولی توی مقیاس داخلی و با کمی تخفیف اگر من سنیور محسوب بشم ، هر چی جلوتر میرم متوجه میشم سنیوریتی به مقدار چیزایی که بلدی نیست ، به مقدار چیزاییه که به اشتراک میذاری.

بخوام دقیقتر بگم ، مقدار سنیور بودنت ، کاملا ارتباط مستقیم داره با دانش و محبتی که با هم تیمی‌هات به اشتراک میذاری.

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

هر جایی گفتن با سیستم شخصی خودتون بیاید ، بگید که پی‌سی دارید و لپ‌تاپ ندارید.

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

فقط چند ساعت کمتر سر چرت‌‌و‌پرت گفتن وقت تلف کردید.
This media is not supported in your browser
VIEW IN TELEGRAM
چه قدر منطقی

این آقا کیه؟
Forwarded from Books
Books
The_Secret_Life_of_Programs_Understand_Computers_Craft_Better_Code.pdf
احتمالا یکی از بهترین کتابهاییه که به عنوان یک عاشق کامپیوتر می‌تونید بخونید.
درک مفهوم thread و تفاوت انجین‌ها توی مرورگر ، خیلی توی پیاده‌سازی وپ اپلیکیشن‌ها توی سطح حرفه‌ای کمکتون میکنه.

توی مرورگرهای امروزی ، هر tab دیگه یک thread نیست. مرورگرها از مدل‌های چندپردازشی استفاده میکنن. به این شکل که هر tab ، یک پروسس مخصوص خودش رو داره ولی هر پروسس شامل چندین thread هستش. مثل:

Main thread, UI thread , Raster thread, Compositor thread, Worker thread, GPU thread , ...

@AliTheCodeGuy
https://news.1rj.ru/str/danceswithcode
امروز سومین چپتر جدید فرانت این ماه اخیر رو دیدم.

به عنوان کسی که از سال ۹۲ ویدیوی آموزشی تهیه کرده و چندین سال پیوسته دورهمی آنلاین و سریالی برگزار کرده و به عنوان کسی که با کنفرانس‌های حضوری هم غریبه نیست ، برای بار هزارم (احتمالا) میگم که اگر واقعا دنبال یادگیری هستید ، وقت خودتون رو با دورهمی و چپتر و کنفرانس و این چرندیات تلف نکنید. (۹۹٪ اوقات هدف اصلی چیز دیگه‌ایه)

اگر هم که دنبال پیدا کردن پارتنر و بیسکویت و نسکافه مجانی هستید که داستان چیز دیگه‌ایه و صلاح مملکت خویش خسروان دانند.
حالت StrictMode همزمان جزو بهترین ویژگی‌های ریکت و تو‌مخی‌ترین ویژگی‌های ریکته.

بهتره غیر فعال نشه ولی اینکه همه چی رو دوبار رندر میکنه واقعا یه جاهایی اذیت کنندس مخصوصا توی کنسول.

با گزینه‌ای که توی تصویر میبیند از طریق react-dev-tools راحت می‌تونید اوکیش کنید.

@AliTheCodeGuy
https://news.1rj.ru/str/danceswithcode
فایل‌هایی با پسوند .d.ts چی هستن؟

فایل‌های ‎.d.ts‎ در TypeScript نقش فایل‌های تعریف نوع (Type Definition Files) رو دارن — یعنی خودشون کد اجرایی ندارن، بلکه فقط توضیح می‌دن که شکل و نوعِ داده‌ها و توابع و ماژول‌ها چطوریه.

فایل‌های .d.ts به TypeScript می‌گن:

“من اینجا یه کتابخونه یا فایل جاوااسکریپت دارم؛ اینم توضیحش که چه چیزهایی صادر می‌کنه و چه نوع‌هایی دارن.”

به زبان ساده‌تر:
این فایل‌ها به TypeScript یاد می‌دن چطوری با کد JavaScript یا محیط‌های بیرونی کار کنه.

مثال ساده:
فرض کن یه فایل جاوااسکریپت داری



// math.js
export function sum(a, b) {
return a + b;
}



تایپ‌اسکریپت وقتی بخواد ازش استفاده کنه، نمی‌دونه نوع پارامترها یا خروجی چیه.
ولی اگر کنار اون بنویسی:



// math.d.ts
export function sum(a: number, b: number): number;



حالا TypeScript می‌فهمه که sum دو عدد می‌گیره و یه عدد برمی‌گردونه

حالا فایل vite-env.d.ts چیه؟

وقتی یک پروژه TypeScript با Vite می‌سازی (مثلاً با npm create vite@latest my-app -- --template react-ts)، در پوشه src/ معمولاً این فایل ساخته می‌شود:



/// <reference types="vite/client" />



این یک Type Reference Directive است که به TypeScript می‌گه:

لطفاً تمام typeهایی که Vite برای محیط توسعه ارائه می‌کنه (مثل import.meta.env) رو بشناس.

چرا نیاز داریم؟

چون به‌صورت پیش‌فرض TypeScript از وجود import.meta.env خبر نداره و اگر این فایل (vite-env.d.ts) وجود نداشته باشه، TypeScript ارور می‌ده.

نکته :
-تایپ‌اسکریپت به‌صورت خودکار تمام .d.tsها رو می‌خونه (نیازی به import کردن نداره).
- اگر کتابخانه‌ای مثل lodash از نوع تعریف نشده باشه، با نصب پکیج types/lodash در واقع داری فایل‌های .d.ts اون کتابخونه رو نصب می‌کنی.

@AliTheCodeGuy
https://news.1rj.ru/str/danceswithcode
من خیلی old school رفتار میکنم توی کار. همیشه از روش‌های سنتی برای پیشبرد کارهام استفاده میکنم ولی خب نباید جلوی ابزار خوب مقاومت کرد.

اگر با noscript زیاد سروکار دارید و نیاز دارید کاستمشون کنید ، از کتابخانه noscriptr استفاده کنید. تمام فرآیند تبدیل noscript به کامپوننت رو خودکار براتون انجام میده و از طریق props می‌تونید کاستمش کنید.

@AliTheCodeGuy
https://news.1rj.ru/str/danceswithcode
زن و مرد براب...

(هیچ کدوم بالاتر از اون یکی نیست ولی برابر هم نیستن چون کلا دوتا موضوع متفاوتن. باید این نابرابری رو قبول کرد و عادلانه رفتار کرد.)
کاری با وجهه مذهبیش ندارم ولی واقعا همینا دهن آدم رو سرویس میکنه.

متاسفانه وقتی متوجهش میشی که تا گردن توشی.
آپدیت مطالعه زبان C89 برای نفراتی که هم مسیریم:

از کتابی که براتون گذاشتم ، ۵۹ صفحه رسیدم بخونم (از ۸۱۳ صفحه) ولی خب فقط مطالعه نبود. بخش زیادیش شناخت سیستم و اجرای کامپایلر و محیط توسعه و ... بود.

یه بخشیش هم صرف این میشه که هی ذهن پرش میکنه روی جاوااسکریپت و با سینتکس‌های اون قاطی میشه. مخصوصا موقع اجرا میبینید دارید کد جی‌اس رو توی سی میزنید.

علاوه بر اون از اون موقع تا الان ۲ تا رمان فارسی ، کتاب Linux for hackers و داکیومنت‌های چندتا لایبرری رو مطالعه کردم که خودم فکر میکنم اشتباهه.

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