JSKernel – Telegram
JSKernel
146 subscribers
48 photos
23 videos
9 files
65 links
اینجا باهم دنیای برنامه‌نویسی و توسعه وب رو کشف می‌کنیم.

Group :
https://news.1rj.ru/str/JSKernelGap
Download Telegram
توی این مقاله اومده 30 تا از توزیع های محبوب لینوکس رو با بازخورد کاربراش بررسی کرده:

https://dev.to/mshojaei77/top-30-most-popular-linux-distributions-july-2025-11fk

#linux

@JSKernel
❤‍🔥1
یه لیست از چیت شیت دستورات لینوکسی شامله شش فصل:

https://quera.org/college/cheatsheet/linux

#linux

@JSKernel
❤‍🔥2
📌 جاوا اسکریپت دقیقا چیه؟ بخش 1: High-level

• هر برنامه‌ای که روی سیستم اجرا میشه نیاز به یه سری سخت افزار داره، مثل RAM یا CPU. حالا یکسری زبان‌های برنامه نویسی Low-level هستن مثل #C یا Rust.
توی این زبان‌ها باید خودتون به صورت دستی مثلا یه متغیر و توی memory ذخیره کنید.


• خب حالا توی زبان‌های High-level مثل JS دیگه از این خبرا نیست. یعنی این چیزا رو خودش هندل می‌کنه.
چرا؟ چون مفهومی داره به اسم Abstraction که کارای سطح پایین رو از چشم ما مخفی می‌کنه.


خوبیشون اینه که یادگیری زبان‌های High-level خیلی آسونه.
عوضش خیلی سریع نیست، مخصوصاً در مقایسه با زبون‌های سطح پایین مثل Rust

حالا اگه یکی بهتون گفت Low-level ناراحت نشین، شاید خفنید 😄

#javanoscript

@JSKernel
❤‍🔥1
📌 جاوا اسکریپت دقیقا چیه؟ بخش 2: Garbage-collected

(جمع‌آوری زباله) یعنی:
پاک کردن خودکار داده‌هایی که دیگه استفاده نمی‌شن تا حافظه آزاد بشه.

چرا لازمه؟
وقتی شما از متغیرها، آبجکت‌ها و... استفاده می‌کنی، همه این‌ها توی RAM ذخیره می‌شن.

حالا اگه به‌صورت خودکار پاک نشن، حافظه پر میشه و برنامه کرش می‌کنه. به همین خاطر زبان‌هایی مثل JS یه Garbage Collector دارن که حافظه رو خودشون مدیریت می‌کنن.

بخش 1
#garbage_collection #javanoscript

@JSKernel
❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
آروم بودن؟ واسه کسیه که رویا نداره.
📌 جاوا اسکریپت دقیقا چیه؟ بخش 3: Interpreted or Just-in-Time Compiled

توی دنیای برنامه‌نویسی، یه سری زبان‌ها هستن که قبل از اجرا تبدیل به زبان ماشین می‌شن (مثل ++C). به اینا می‌گن compiled languages.

یه سری دیگه هم خط به خط موقع اجرا تفسیر می‌شن (مثل php یا خود جاوااسکریپت توی گذشته). به اینا می‌گن interpreted languages.


خب حالا جاوااسکریپت یه زبان خیلی خاصه! چون:

- هم interpreted هست
- هم از تکنیکی به اسم Just-in-Time Compilation (JIT) استفاده می‌کنه

یعنی اولش مثل یه زبان تفسیرشونده اجرا میشه، ولی بعدش اگه یه بخش از کدت زیاد استفاده بشه، موتور جاوااسکریپت (مثل V8 توی Chrome) اون قسمت رو در لحظه به زبان ماشین تبدیل می‌کنه تا سریع‌تر اجرا بشه.

و جالب‌تر اینکه:
موتور جاوااسکریپت پشت‌صحنه همون کد رو چند بار بررسی می‌کنه و هر بار اون رو دقیق‌تر و بهینه‌تر کامپایل می‌کنه تا خروجی نهایی سریع‌تر و سبک‌تر بشه.


چرا این مهمه؟
چون این تکنیک یه جور ترکیب بین راحتی و سرعت در اختیار شما میزاره.
بخش 1، بخش 2
#JIT #javanoscript

@JSKernel
❤‍🔥1
🔥 چین دوباره ترکوند!
یه فاجعه‌ دیگه برای شرکت‌های آمریکایی!

شرکت چینی Zhipu AI یه مدل اوپن سورس جدید به اسم GLM-4.5 رو رونمایی کرده که عملکردش خیلی خیره کنندس.

یه رغیب جدید واسه grok 4

تست:
chat.z.ai
توضیحات پروژه:
z.ai/blog/glm-4.5
📌 جاوا اسکریپت دقیقا چیه؟ بخش 4: Multi-paradigm

• توی برنامه‌نویسی یه چیزی داریم به اسم paradigm (پارادایم). یعنی سبک یا روش فکر کردن برای نوشتن کد.

بعضی زبان‌ها فقط از یه سبک خاص پشتیبانی می‌کنن. مثلاً:

زبان‌هایی مثل C بیشتر procedural هستن (مرحله‌به‌مرحله جلو میری)
زبان‌هایی مثل Java بیشتر object-oriented هستن (همه‌چی کلاس و شیء)


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

• پارادایم‌هایی که جاوااسکریپت پشتیبانی می‌کنه:
1. Procedural programming (دستوری):
مثل اینکه کدت رو خط به خط جلو ببری، با شرط و حلقه و متغیر

2. Object-Oriented programming (OOP) (شیء‌گرا):
با استفاده از constructor یا کلاس‌ها برای ساخت شیء

3. Functional programming (FP) (تابع‌گرا):
با استفاده از توابع، map, filter, reduce و حتی توابع pure


این انعطاف باعث میشه بتونی کدت رو به هر سبکی که خواستی بنویسی.
بخش 1، بخش 2، بخش 3
#javanoscript

@JSKernel
1
📌 جاوا اسکریپت دقیقا چیه؟ بخش 5: Prototype-based Object-Oriented

• توی بعضی زبان‌ها مثل Java وقتی بخوای شیء بسازی، اول باید یه class تعریف کنی و بعد از روش object بسازی. به این زبان‌ها می‌گن class-based OOP (شی‌ء‌گرایی مبتنی بر کلاس).

اما جاوااسکریپت این‌طوری نیست!

جاوااسکریپت یه زبان prototype-based هست. یعنی:
• به جای اینکه با کلاس شروع کنی، می‌تونی مستقیماً از یه شیء دیگه کپی یا ارث‌بری کنی.


‏Prototype
یعنی چی؟
• هر شیء توی جاوااسکریپت یه ویژگی مخفی به اسم [[Prototype]] داره (که با __proto__ هم دیده می‌شه).
• وقتی به یه property یا method دسترسی پیدا می‌کنی، اگه توی خود اون شیء نباشه، جاوااسکریپت میره از prototypeش دنبال اون ویژگی می‌گرده.

از ES6 به بعد چیزی به اسم class هم داریم، ولی در واقع پشت صحنه اون‌ هم با prototype پیاده‌سازی می‌شه. یعنی class فقط یه syntax شیک‌تره برای همون مدل prototype-based.


جاوااسکریپت Object-Oriented language هست، ولی نه مثل Java که Class-Based هستن. بلکه با یه مدل متفاوت به اسم prototype-based inheritance. یعنی به جای کلاس، وراثت رو با شیء انجام می‌ده.

دو نوع اصلی OOP:
• ‏Class-based OOP: همه‌چیز با تعریف class شروع میشه. با new از کلاس object می‌سازی. مثل Java, Python
• ‏Prototype-based OOP: از یه شیء موجود (prototype) شیء جدید می‌سازی. مثل JavaScript

بخش 1، بخش 2، بخش 3، بخش 4
#javanoscript #oop

@JSKernel
This media is not supported in your browser
VIEW IN TELEGRAM
چراغ خاموش مسیر و ادامه بده
📌 جاوا اسکریپت دقیقا چیه؟ بخش 6: First-class functions

• توی بعضی زبان‌ها، تابع فقط یه بلاک کده که صداش می‌زنی تا کاری انجام بده.
• ولی توی JS، تابع خودش یه value حساب میشه، درست مثل عدد یا رشته.

کاربرد:
• می‌تونی تابع‌های callback تعریف کنی (مثل توی addEventListener یا setTimeout)
• تابع‌های higher-order بسازه (توابعی که توابع دیگه رو می‌گیرن یا برمی‌گردونن)
• می‌تونی خیلی راحت با تابع‌های ناشناس (anonymous) یا arrow functions کار کنی


First-class بودن تابع‌ها، پایه‌ی خیلی از چیزهای مدرن توی جاوااسکریپت مثل functional programming، react hooks، middleware و حتی event system هست.
بخش 1، بخش 2، بخش 3، بخش 4، بخش 5
#first_class #javanoscript

@JSKernel
یادگیری با chatGPT اینطوره که تا یه جایی خوب پیش میره از یه جا به بعد پرامپت خوب بهش ندی کاری میکنه چیزایی که یادگرفتی هم یادت بره :)

سر همین اخیرا یه ویژگی براش اومده به اسم Study and learn. چیزی که میخواین یادبگیرین رو مرحله به مرحله جلو میبره و اینطور نیست که یه توده عظیم از اطلاعات کلی بهتون بده. فقط کافیه بهش بگین فهمیدم برو بعدی.
@JSKernel
😁3❤‍🔥1
📌 جاوا اسکریپت دقیقا چیه؟ بخش 7: Dynamic

• تو زبانی مثل ++C، وقتی یه متغیر تعریف می‌کنی، باید از قبل مشخص کنی چه نوعی داره (مثلاً عدد، رشته، بولین و...).
به این زبان‌ها می‌گن: Statically Typed

ولی توی جاوااسکریپت این‌طوری نیست.

• جاوااسکریپت یه زبان Dynamically Typed هست. یعنی لازم نیست نوع متغیر رو از قبل مشخص کنی — خودش موقع runtime تشخیص میده که اون متغیر چه نوعی داره.


• از مزیت و معایبش هم بگم که، یکی از کاربرداش اینه که تایپ متغیرها به صورت dynamic یا دستی میتونه تغییر پیدا کنه. ایرادشم مثلا اینکه تو یه سری موارد باگ های عجیب غریبی میده

اما اگه دوست داری که JS رو با type ها استفاده کنی میتونی از TypeScript استفاده کنی. این مشکل با اضافه کردن "static types" حل می‌شه، ولی توی خود JS همیشه با dynamic typing کار می‌کنی.

بخش 1، بخش 2، بخش 3، بخش 4، بخش 5، بخش 6
#javanoscript

@JSKernel
❤‍🔥1
وقتی توروالدز هنوز با RX 580 کرنل کامپایل می‌کنه!

دنیا: !AI! RTX! Liquid Cooling
توروالدز: همون RX 580 کافیه بابا 😎

خالق لینوکس نه‌تنها با کارت گرافیک ۲۰۱۷ش حال می‌کنه، بلکه حتی لپ‌تاپش گرافیک مجزا هم نداره!
یعنی اگه سیستم تو لگ می‌زنه، مشکل از لینوکس نیست، از توعه 😁

منبع
#linux

@JSKernel
👍1
POV:
وقتی Arch نصب میکنید باید یادگرفته باشید مشکلاتتون رو خودتون حل کنید.

توی نصبش هم گیر نکنید که اعصاب نداریم:(

@JSKernel
1
Channel photo updated
📌 جاوا اسکریپت دقیقا چیه؟ بخش 8: Single-threaded

• بعضی زبان‌ها یا محیط‌ها چند تا thread دارن و می‌تونن هم‌زمان چند کار رو با هم انجام بدن (multi-threaded).

اما جاوااسکریپت این‌طوری نیست.
• جاوااسکریپت یه زبان Single-Threaded هست، یعنی در هر لحظه فقط می‌تونه یک کار رو انجام بده.

یعنی چی؟
• توی JavaScript همه‌چیز به ترتیب اجرا میشه (خط‌به‌خط)
• فقط یه دونه thread اصلی داره که بهش می‌گن main thread
• وقتی یه تابع اجرا میشه، بقیه باید صبر کنن تا اون تموم شه


پس engine جاوااسکریپت چطور کارهای مختلف رو به صورت همزمان انجام میده؟
• اینجاست که موتور جاوااسکریپت از یه چیزی به اسم Event Loop استفاده می‌کنه (در بخش آخر در موردش حرف می‌زنیم).

• جاوااسکریپت با کمک Event Loop و محیط اجرا (مرورگر یا Node.js)، می‌تونه کارهای زمان‌بر رو به صورت غیرهم‌زمان (async) مدیریت کنه، بدون اینکه thread اصلی بلاک بشه.


📌 خلاصه:
• جاوااسکریپت با اینکه single-threaded هست ولی با کمک Event Loop می‌تونه چند تا کار مختلف رو به‌صورت هم‌زمان مدیریت کنه.
اگه سوالی دارین تو بخش کامنتا بپرسید.

بخش 1، بخش 2، بخش 3، بخش 4، بخش 5، بخش 6، بخش 7

@JSKernel
‏Chakra UI یه کتابخونه‌ی رابط کاربری برای React، که کلی کامپوننت آماده داره.

• اگه با React کار می‌کنی و دنبال یه راه ساده و سریع برای ساخت UI هستی، Chakra یکی از انتخاب‌های خوبه.

• به‌جای اینکه از صفر دکمه و فرم و مودال بسازی، همه‌چی رو حاضر و آماده بهت می‌ده!

#chakra_ui #chakra

@JSKernel
1