نکته html ای:
مرورگر هر چیزی قبل body رو به عنوان head حساب میکنه
مرورگر هر چیزی قبل body رو به عنوان head حساب میکنه
در حالت ایدهآل به هر پورت usb میشه تا ۱۲۷ دیوایس کانکت بشه!
ولی در عمل همچین اتفاقی نمیفته چون ویژگی وجود داره به اسم daisy chain که میاد bandwidth رو به مقدار مساوی بین دیوایسهای یک پورت تقسیم میکنه و عملا پهنای باند قابل استفاده هر دیوایس خیلی کم میشه.
همچنین تامین جریان برق کافی برای دیوایسها هم باید مد نظر باشه که البته با استفاده از هاب پاوردار میشه مشکل رو حل کرد
ولی در عمل همچین اتفاقی نمیفته چون ویژگی وجود داره به اسم daisy chain که میاد bandwidth رو به مقدار مساوی بین دیوایسهای یک پورت تقسیم میکنه و عملا پهنای باند قابل استفاده هر دیوایس خیلی کم میشه.
همچنین تامین جریان برق کافی برای دیوایسها هم باید مد نظر باشه که البته با استفاده از هاب پاوردار میشه مشکل رو حل کرد
نیاز دیدم یه موضوعی رو بگم چون احساس میکنم سوتفاهم ایجاد شده.
دیدید که گاها ابراز نارضایتی میکنم از وضع موجود ولی من از دیدگاه خودم این حرفها رو میزنم.
اگر یه جونیور یا کارآموز بودم ، احتمالا به جز داستان سفته ، به هر داستان دیگهای تن میدادم و صبح تا شب هر روز هفته کار میکردم تا جای پای خودمو توی مارکت سفت کنم ، مخصوصا توی شرایط فعلی.
پس خواهشا وقتی پستی توی فضای مجازی میبینید یا حرفی از کسی میشنوید ، به اینکه طرف با چه نگاهی داره اون صحبت رو میکنه هم دقت داشته باشید.
اینکه من حاضر نیستم مثلا با حقوق ۵۰ برای تیم لیدی برم ، دلیل نمیشه شما با حقوق ۲۰ برای سمت جونیور اپلای نکنید. خیلی داستان متفاوته.
اگر جونیور هستید ، فقط سفته رو قبول نکنید وگرنه با چنگ و دندون ورود کنید به شرکتها و تجربه کسب کنید. بیرون شرکت ، یا رشد نمیکنید یا رشدتون ناقص خواهد شد.
پاورقی:
اخلاق با اختلاف بالاتری نسبت به همه چی اولویتداره.
دروغ نگید ، پشت سر بقیه صفحه نذارید ، نمک نشناس نباشید ، احترام کسی که راهتون انداخته رو بیشتر از بقیه داشته باشید ، با کلامتون کسی رو نرنجونید ، به حریم شخصی افراد احترام بذارید ، نون کسی رو آجر نکنید ، توی جلسات جوری صحبت نکنید که کسی رو مقصر جلوه بدید ، برای جایگاه و مقام عجول نباشید ، گاوبندی نکنید.
پروژه و شرکت تموم میشه و از یاد میره ، اخلاق و شخصیت باقی میمونه.
دیدید که گاها ابراز نارضایتی میکنم از وضع موجود ولی من از دیدگاه خودم این حرفها رو میزنم.
اگر یه جونیور یا کارآموز بودم ، احتمالا به جز داستان سفته ، به هر داستان دیگهای تن میدادم و صبح تا شب هر روز هفته کار میکردم تا جای پای خودمو توی مارکت سفت کنم ، مخصوصا توی شرایط فعلی.
پس خواهشا وقتی پستی توی فضای مجازی میبینید یا حرفی از کسی میشنوید ، به اینکه طرف با چه نگاهی داره اون صحبت رو میکنه هم دقت داشته باشید.
اینکه من حاضر نیستم مثلا با حقوق ۵۰ برای تیم لیدی برم ، دلیل نمیشه شما با حقوق ۲۰ برای سمت جونیور اپلای نکنید. خیلی داستان متفاوته.
اگر جونیور هستید ، فقط سفته رو قبول نکنید وگرنه با چنگ و دندون ورود کنید به شرکتها و تجربه کسب کنید. بیرون شرکت ، یا رشد نمیکنید یا رشدتون ناقص خواهد شد.
پاورقی:
اخلاق با اختلاف بالاتری نسبت به همه چی اولویتداره.
دروغ نگید ، پشت سر بقیه صفحه نذارید ، نمک نشناس نباشید ، احترام کسی که راهتون انداخته رو بیشتر از بقیه داشته باشید ، با کلامتون کسی رو نرنجونید ، به حریم شخصی افراد احترام بذارید ، نون کسی رو آجر نکنید ، توی جلسات جوری صحبت نکنید که کسی رو مقصر جلوه بدید ، برای جایگاه و مقام عجول نباشید ، گاوبندی نکنید.
پروژه و شرکت تموم میشه و از یاد میره ، اخلاق و شخصیت باقی میمونه.
رقصنده با کد
دوره جامع جاوااسکریپت (با تمرکز فقط روی جاوااسکریپت مدرن) پیشنیاز: ندارد مخاطب : همه نفرات علاقه مند ( با سابقه یا بدون سابقه ) کاربرد : فرانت اند ، بکاند ، موبایل و ... تاریخ شروع : ۱۷ مرداد تعداد جلسات : ۱۶ جلسه ۲ ساعته ( هر جمعه ۲ جلسه ) ساعت برگزاری…
جلسه اول دوره جامع جاوااسکریپت رایگان شد.
۱۷ مرداد ، ۱۰ صبح ، گوگل میت
برای شرکت ، ایمیلتون رو ارسال کنید که توی کلندر invite کنم.
توضیحات کامل دوره ، توی پست ریپلای شده.
@alithecodeguy
۱۷ مرداد ، ۱۰ صبح ، گوگل میت
برای شرکت ، ایمیلتون رو ارسال کنید که توی کلندر invite کنم.
توضیحات کامل دوره ، توی پست ریپلای شده.
@alithecodeguy
رقصنده با کد
پارت ۲ سوالات مصاحبهای پارت ۱: https://news.1rj.ru/str/danceswithcode/4445 این پست به مرور زمان تکمیل میشه Q28: const myPromise = new Promise((resolveOuter) => { console.log("*One*"); resolveOuter( new Promise((resolveInner) => { console.log("*Two*");…
سوالات مصاحبهای جاوااسکریپت آپدیت شد.
خاطرتون باشه ۳ تا جای خالی برای منتورینگ رایگان تا انتهای تابستون بود و بلافاصله پر شد.
خوشبختانه (یا متاسفانه) یکی از عزیزان متوجه شد که برنامهنویسی شاید مناسبترین گزینه براش نبوده و رفت سراغ حرفه دیگهای.
مهمترین وظیفه منتور همینه که شما رو به شناخت واقعی از خودتون برسونه. همیشه هم قرار نیست تایید وضعیت فعلی شخص باشه.
خلاصه که ۱ ظرفیت خالی باز شده. در صورت تمایل ، بهم پیام بدید.
@alithecodeguy
خوشبختانه (یا متاسفانه) یکی از عزیزان متوجه شد که برنامهنویسی شاید مناسبترین گزینه براش نبوده و رفت سراغ حرفه دیگهای.
مهمترین وظیفه منتور همینه که شما رو به شناخت واقعی از خودتون برسونه. همیشه هم قرار نیست تایید وضعیت فعلی شخص باشه.
خلاصه که ۱ ظرفیت خالی باز شده. در صورت تمایل ، بهم پیام بدید.
@alithecodeguy
رقصنده با کد
خب خب خب... اومدم بیرون. کاش میشد از ساختمونش عکس بندازم ولی چون وابسته به وزارت دفاع بود ، ترسیدم شر شه. ساختمون در حد خونه آقا ماشالله. یه دو طبقه خیلی قدیمی. هیچ فرآیندی استقبال وجود نداشت و تقریبا مشابه اپلای برای کار کارگری بود. (البته با افتخار چندسال…
گویا یه بنده خدایی رفته باهاشون دعواش شده. 😕
وقتی میگن مهاجرت سخته ، به اینجاهاش اشاره نمیکنن. اصلا چه جوری میشه اشاره کرد؟
الان میخندی ولی توی سگ سرما ، دلت هوس چای و شیرینی خامهای کرد زمین رو گاز زدی ، اون موقع میبینی دلتنگی چیه.
تصویر از کانال انجمن ایرانیهای ساسکاتونه ( توی کانادا )
شیرینی خامهای فقط یک مثاله. هزاران چیز اینطوری وجود داره
الان یکی میاد میگه به جاش آب و برق قطع نمیشه! اصلا این موضوع اون موضوع نیست.
الان میخندی ولی توی سگ سرما ، دلت هوس چای و شیرینی خامهای کرد زمین رو گاز زدی ، اون موقع میبینی دلتنگی چیه.
تصویر از کانال انجمن ایرانیهای ساسکاتونه ( توی کانادا )
شیرینی خامهای فقط یک مثاله. هزاران چیز اینطوری وجود داره
الان یکی میاد میگه به جاش آب و برق قطع نمیشه! اصلا این موضوع اون موضوع نیست.
خیلی دانشی توی الگوریتمهای شبکههای اجتماعی و ... ندارم و هر کاری که انجام میدم کاملا عشقیه و از روی تجربه نکاتی متوجه شدم شاید به دردتون بخوره :
۱. اوج ساعت بازدید معمولا ۶.۵ صبح تا ۹ ، ۱۲ تا ۱۳ و ۱۷:۳۰ تا ۲۰ هستش. پستتون رو بهتره ابتدای این ساعت بذارید
۲. حتما پسستون عکس داشته باشه. عکسی که کاربر رو سریعا به مغز مطلبتون هدایت کنه
۳. حس کنجکاوی و کم دانشی رو همزمان فعال کنید برای کاربر. اگر تکی فعال بشن ، کارا نیستن و حتی ممکنه مخاطب گارد بگیره
۴. مطلب باید در حد امکان کوتاه باشه. کمتر کسی حاضره پست طولانی بخونه
۵. در نهایت اینکه ممکنه اینارو انجام بدید و حواب نگیرید و ممکنه کاملا برعکس انجام بدید و جواب بگیرید. هیچ تضمینی وجود نداره. رعایت این نکات فقط احتمال جذب مخاطب رو بیشتر میکنه
۶. جذب مخاطب به خودی خود فایده نداره. باید به این فکر کنید قصدتون چیه. شبکه سازیه؟ فروش محصوله؟ تفریحیه؟ باید قبل از جذب مخاطب ، به اینکه میخواید باهاش چکار کنید فکر کنید
۱. اوج ساعت بازدید معمولا ۶.۵ صبح تا ۹ ، ۱۲ تا ۱۳ و ۱۷:۳۰ تا ۲۰ هستش. پستتون رو بهتره ابتدای این ساعت بذارید
۲. حتما پسستون عکس داشته باشه. عکسی که کاربر رو سریعا به مغز مطلبتون هدایت کنه
۳. حس کنجکاوی و کم دانشی رو همزمان فعال کنید برای کاربر. اگر تکی فعال بشن ، کارا نیستن و حتی ممکنه مخاطب گارد بگیره
۴. مطلب باید در حد امکان کوتاه باشه. کمتر کسی حاضره پست طولانی بخونه
۵. در نهایت اینکه ممکنه اینارو انجام بدید و حواب نگیرید و ممکنه کاملا برعکس انجام بدید و جواب بگیرید. هیچ تضمینی وجود نداره. رعایت این نکات فقط احتمال جذب مخاطب رو بیشتر میکنه
۶. جذب مخاطب به خودی خود فایده نداره. باید به این فکر کنید قصدتون چیه. شبکه سازیه؟ فروش محصوله؟ تفریحیه؟ باید قبل از جذب مخاطب ، به اینکه میخواید باهاش چکار کنید فکر کنید
رقصنده با کد
خاطرتون باشه ۳ تا جای خالی برای منتورینگ رایگان تا انتهای تابستون بود و بلافاصله پر شد. خوشبختانه (یا متاسفانه) یکی از عزیزان متوجه شد که برنامهنویسی شاید مناسبترین گزینه براش نبوده و رفت سراغ حرفه دیگهای. مهمترین وظیفه منتور همینه که شما رو به شناخت واقعی…
یکی از دوستانی که پیام دادن ، انتخاب و جایگزین شد 🙂
قرار نیست که همیشه از بقیه تعریف کنیم. یه بار هم از خودمون تعریف کنیم 😎.
جلسات ساختمان دادهای که گذاشتیم و تموم شد ، فوق العاده بوده. خودم هم تو این لول ازش انتظار نداشتم.
سوالهای ساختمان دادهای همه مصاحبههایی که میرم رو ناخواسته کاور کرده بودیم.
تبریک به بچههایی که شرکت کردن و یاد گرفتن 🎉
جلسات ساختمان دادهای که گذاشتیم و تموم شد ، فوق العاده بوده. خودم هم تو این لول ازش انتظار نداشتم.
سوالهای ساختمان دادهای همه مصاحبههایی که میرم رو ناخواسته کاور کرده بودیم.
تبریک به بچههایی که شرکت کردن و یاد گرفتن 🎉
💡 اصول SOLID چیست؟ (به زبان ساده و با مثالهای جاوااسکریپتی)
اصول SOLID پنج اصل کلیدی در طراحی شیءگرا (Object-Oriented Design) هست که کمک میکنه کدت:
• قابل توسعه باشه (افزودن ویژگی جدید راحت باشه)
• قابل نگهداری باشه (تغییرات خراب نکنه)
• قابل تست باشه (نوشتن تست سادهتر بشه)
• و خواناتر و منظمتر باشه
این اصول توسط Robert C. Martin (Uncle Bob) معرفی شدند، و پایهای برای نوشتن کد تمیز (Clean Code) هستند.
کلمه SOLID مخفف ۵ اصل زیره:
------------------------
🔹 1 — Single Responsibility Principle (SRP)
اصل مسئولیت یکتا
A class should have one, and only one, reason to change.
🔸 یعنی هر کلاس یا ماژول فقط یک وظیفهی مشخص باید داشته باشه. اگر چند کار مختلف انجام بده، تغییر در یکی ممکنه کل کلاس رو خراب کنه.
✅ مثال صحیح :
------------------------
🔹 2 — Open/Closed Principle (OCP)
اصل باز برای توسعه، بسته برای تغییر
Software entities should be open for extension, but closed for modification.
🔸 یعنی باید بتونی بدون تغییر دادن کد قبلی، رفتار جدیدی بهش اضافه کنی (مثلاً با ارثبری یا ترکیب کلاسها).
✅ مثال صحیح :
------------------------
🔹 3 — Liskov Substitution Principle (LSP)
اصل جایگزینی لیسکوف
Subtypes must be substitutable for their base types without breaking the program.
🔸 یعنی کلاس فرزند باید بتونه بدون خراب کردن منطق برنامه، جای کلاس والد استفاده بشه.
✅ مثال صحیح :
❌ مثال نادرست:
------------------------
🔹 4 — Interface Segregation Principle (ISP)
اصل تفکیک واسطها
Clients should not be forced to depend on interfaces they do not use.
🔸 یعنی به جای ساختن یک کلاس یا اینترفیس بزرگ، چند تای کوچکتر بساز که فقط نیازهای خاص رو پوشش بده.
✅ مثال صحیح :
------------------------
🔹 5 — Dependency Inversion Principle (DIP)
اصل وارونگی وابستگی
High-level modules should not depend on low-level modules. Both should depend on abstractions.
🔸 یعنی کدهای سطح بالا نباید مستقیماً به جزئیات پیادهسازی وابسته باشن؛ باید به abstraction (مثل interface) وابسته باشن.
✅ مثال صحیح :
مطالب بیشتر در کانال رقصنده با کد:
https://news.1rj.ru/str/danceswithcode
#interview #solid @alithecodeguy
اصول SOLID پنج اصل کلیدی در طراحی شیءگرا (Object-Oriented Design) هست که کمک میکنه کدت:
• قابل توسعه باشه (افزودن ویژگی جدید راحت باشه)
• قابل نگهداری باشه (تغییرات خراب نکنه)
• قابل تست باشه (نوشتن تست سادهتر بشه)
• و خواناتر و منظمتر باشه
این اصول توسط Robert C. Martin (Uncle Bob) معرفی شدند، و پایهای برای نوشتن کد تمیز (Clean Code) هستند.
کلمه SOLID مخفف ۵ اصل زیره:
------------------------
🔹 1 — Single Responsibility Principle (SRP)
اصل مسئولیت یکتا
A class should have one, and only one, reason to change.
🔸 یعنی هر کلاس یا ماژول فقط یک وظیفهی مشخص باید داشته باشه. اگر چند کار مختلف انجام بده، تغییر در یکی ممکنه کل کلاس رو خراب کنه.
✅ مثال صحیح :
class User {
constructor(name, email) {
this.name = name;
this.email = email;
}
}
class UserRepository {
save(user) {
// save to database
}
}
------------------------
🔹 2 — Open/Closed Principle (OCP)
اصل باز برای توسعه، بسته برای تغییر
Software entities should be open for extension, but closed for modification.
🔸 یعنی باید بتونی بدون تغییر دادن کد قبلی، رفتار جدیدی بهش اضافه کنی (مثلاً با ارثبری یا ترکیب کلاسها).
✅ مثال صحیح :
class Discount {
calculate(price) {
return price;
}
}
class GoldDiscount extends Discount {
calculate(price) {
return price * 0.8;
}
}
------------------------
🔹 3 — Liskov Substitution Principle (LSP)
اصل جایگزینی لیسکوف
Subtypes must be substitutable for their base types without breaking the program.
🔸 یعنی کلاس فرزند باید بتونه بدون خراب کردن منطق برنامه، جای کلاس والد استفاده بشه.
✅ مثال صحیح :
class Bird {
makeSound() {
console.log("chirp");
}
}
class Parrot extends Bird {}
function playSound(bird) {
bird.makeSound();
}
playSound(new Parrot()); // درست کار میکنه
❌ مثال نادرست:
class Ostrich extends Bird {
fly() {
throw new Error("Can't fly");
}
}
------------------------
🔹 4 — Interface Segregation Principle (ISP)
اصل تفکیک واسطها
Clients should not be forced to depend on interfaces they do not use.
🔸 یعنی به جای ساختن یک کلاس یا اینترفیس بزرگ، چند تای کوچکتر بساز که فقط نیازهای خاص رو پوشش بده.
✅ مثال صحیح :
class Printer {
print() {}
}
class Scanner {
scan() {}
}
class AllInOneMachine {
constructor(printer, scanner) {
this.printer = printer;
this.scanner = scanner;
}
}
------------------------
🔹 5 — Dependency Inversion Principle (DIP)
اصل وارونگی وابستگی
High-level modules should not depend on low-level modules. Both should depend on abstractions.
🔸 یعنی کدهای سطح بالا نباید مستقیماً به جزئیات پیادهسازی وابسته باشن؛ باید به abstraction (مثل interface) وابسته باشن.
✅ مثال صحیح :
class EmailService {
send(msg) {
console.log("Sending email:", msg);
}
}
class Notifier {
constructor(service) {
this.service = service;
}
notify(message) {
this.service.send(message);
}
}
const email = new EmailService();
const notifier = new Notifier(email);
notifier.notify("Hello!");
مطالب بیشتر در کانال رقصنده با کد:
https://news.1rj.ru/str/danceswithcode
#interview #solid @alithecodeguy
بخوام خیلی رک بگم:
غر زدن و ناراحتیتون سر سوزن برای کسی ارزشی نداره.
یا تلاش میکنید جوری زندگی کنید که احساس خوبی داشته باشید یا همینجوری حالخراب میمونید تا عمرتون تموم بشه.
غر زدن و ناراحتیتون سر سوزن برای کسی ارزشی نداره.
یا تلاش میکنید جوری زندگی کنید که احساس خوبی داشته باشید یا همینجوری حالخراب میمونید تا عمرتون تموم بشه.