Forwarded from NimaCodez | خفنیجات با نیما
اگه امسال تازه رفتید دانشگاه شاید این توصیه ها به دردتون بخوره:
۱- هرجوری دلتون میخواد رفتار کنید. هرجور دلتون میخواد لباس بپوشید (اگر براتون دردسر نمیشه!). هرچی دلتون میخواد سر کلاس ببرید، دفتر، چکنویس، جامدادی یا هرچی که حس میکنید نیازش دارید. تا وقتی به بقیه آسیبی (چه جسمی، چه روحی) نرسوندید، مرتکب کار اشتباهی نشدید.
۲- اگه درسی رو بلدید، براتون جذابه و دوست دارید مشارکت کنید، بدون توجه به حرف بقیه این کارو انجام بدید. فقط سنجیدن شرایط استاد رو فراموش نکنید؛ بعضی ها دوست ندارن تو کلاسشون زیاد حرف بزنی یا نظر بدی و از دیدشون داری خودنمایی میکنی. پس باید مراقب این باشید.
۳- محیط دانشگاه جاییه که اگر با علاقه واردش شده باشید و دوست داشته باشید که تحصیلات مرتبط با کارتون رو داشته باشید میتونید شاهد اتفاقات خوبی باشید. همیشه حدااقل دوتا استاد درست حسابی تو دوتا درس مهم پیدا میشه که شما بخواید ازشون بیشتر یاد بگیرید و ارتباط بسازید باهاشون. از این نترسید.
۴- هرکی مسخره میکنه، هرکی میگه تو میخوای خودنمایی کنی، هرکی میگه انقد سر کلاس صحبت نکن، هرکی حس میکنه تو دنبال اینی که فلانیو (یا فلانی هارو!) بکشی سمت خودت واسه همین «بلدم بلدم» بازی درمیاری، به طور خلاصه چرت میگه. قطعا رعایت تعادل در تمامی این موارد مهمه.
و در آخر، شما اگه هدفت از دانشگاه رفتن پیشرفت بوده باشه و خودت رو درگیرش کنی و بیشتر یاد بگیری و مشارکت کنی؛ اونی که تهش سود میکنه خودتی D; نه اونی که بهت میگه پاچهخوار. و اتفاقا بخاطر اونم که شده بیشتر یادبگیر و بیشتر مشارکت کن.
۲۰ هم مال دخترا نیست. مال هرکسیه که تلاش میکنه و دلش میخواد ۲۰ بشه. اتفاقا سعی کن معدل الف بشی که خصوصا تو فرآیند مهاجرت اگر دلت بخواد شدیدا بهت کمک میکنه.
همکلاسیای دانشگاه نهایتا ۴ سال با توان. خیلی زور بزنی دوتا رفیق خوب پیدا کنی. ولی دانش و مهارت و ارتباطاتی که بهدست میاری یه عمر باهات هست. نذار چیزی که بخاطرش رفتی سراغ دانشگاه بخاطر چهار نفر، اونم چهار نفری که مثل تو مهارت و دانش ندارن، خراب شه.
موفق باشی
۱- هرجوری دلتون میخواد رفتار کنید. هرجور دلتون میخواد لباس بپوشید (اگر براتون دردسر نمیشه!). هرچی دلتون میخواد سر کلاس ببرید، دفتر، چکنویس، جامدادی یا هرچی که حس میکنید نیازش دارید. تا وقتی به بقیه آسیبی (چه جسمی، چه روحی) نرسوندید، مرتکب کار اشتباهی نشدید.
۲- اگه درسی رو بلدید، براتون جذابه و دوست دارید مشارکت کنید، بدون توجه به حرف بقیه این کارو انجام بدید. فقط سنجیدن شرایط استاد رو فراموش نکنید؛ بعضی ها دوست ندارن تو کلاسشون زیاد حرف بزنی یا نظر بدی و از دیدشون داری خودنمایی میکنی. پس باید مراقب این باشید.
۳- محیط دانشگاه جاییه که اگر با علاقه واردش شده باشید و دوست داشته باشید که تحصیلات مرتبط با کارتون رو داشته باشید میتونید شاهد اتفاقات خوبی باشید. همیشه حدااقل دوتا استاد درست حسابی تو دوتا درس مهم پیدا میشه که شما بخواید ازشون بیشتر یاد بگیرید و ارتباط بسازید باهاشون. از این نترسید.
۴- هرکی مسخره میکنه، هرکی میگه تو میخوای خودنمایی کنی، هرکی میگه انقد سر کلاس صحبت نکن، هرکی حس میکنه تو دنبال اینی که فلانیو (یا فلانی هارو!) بکشی سمت خودت واسه همین «بلدم بلدم» بازی درمیاری، به طور خلاصه چرت میگه. قطعا رعایت تعادل در تمامی این موارد مهمه.
و در آخر، شما اگه هدفت از دانشگاه رفتن پیشرفت بوده باشه و خودت رو درگیرش کنی و بیشتر یاد بگیری و مشارکت کنی؛ اونی که تهش سود میکنه خودتی D; نه اونی که بهت میگه پاچهخوار. و اتفاقا بخاطر اونم که شده بیشتر یادبگیر و بیشتر مشارکت کن.
۲۰ هم مال دخترا نیست. مال هرکسیه که تلاش میکنه و دلش میخواد ۲۰ بشه. اتفاقا سعی کن معدل الف بشی که خصوصا تو فرآیند مهاجرت اگر دلت بخواد شدیدا بهت کمک میکنه.
همکلاسیای دانشگاه نهایتا ۴ سال با توان. خیلی زور بزنی دوتا رفیق خوب پیدا کنی. ولی دانش و مهارت و ارتباطاتی که بهدست میاری یه عمر باهات هست. نذار چیزی که بخاطرش رفتی سراغ دانشگاه بخاطر چهار نفر، اونم چهار نفری که مثل تو مهارت و دانش ندارن، خراب شه.
موفق باشی
Forwarded from Rust for Python developers
چون صحبت شد
توی همین تصویر بالا بخوام مثال بزنم :
شما توی این پکیج یک
بر اساس داکیومنت خود
پس بنظرم بهترین مورد برای یادگیری اینه که
که خب وقتی میریم سراغ
اوکی پس همه چیز از
از
من توی کد بالا یک
استفاده کنم. این
برگردم سراغ مطلبی که توی
بگذریم اگر خواستید از
با توجه به توضیحاتی که دادم اگر مثل من
https://t.iss.one/pyrust/96
بخصوص اینکه سورس کد سادهای هم داره.
secrecy بنظر crate خیلی سادهای میاد ولی چون مثال نداره توی Rust community دیدم یک نفر درموردش سوال پرسیده و خب جوابی که بهش داده بودند بنظرم خوب نبود؛ بنظرم جواب سادهترین راهکار نبود برای همین رفتم سراغ داکیومنت و ...توی همین تصویر بالا بخوام مثال بزنم :
cargo add secrecy
شما توی این پکیج یک
struct اصلی دارید به اسم SecretBox که خب از اسمش پیداس ی Box باید ایجاد کنید براش (جلوتر میگم) و دوتا هم TypeAlias دارید به اسم SecretString, SecretSlice که خب من تو این مثال میرم سراغ SecretString ولی دقیقا داستان برای SecretSlice هم یکسان هست.بر اساس داکیومنت خود
secrecy ؛ خود SecretString هم چیزی نیست جز SecretBox که براش تریت From پیاده سازی شده (اصن برای همین بهش میگه TypeAlias) :This is a type alias for SecretBox<str> which supports some helpful trait impls.
Notably it has a From<String> impl which is the preferred method for construction.
پس بنظرم بهترین مورد برای یادگیری اینه که
From trait رو سورس کدش رو ببینیم :pub type SecretString = SecretBox<str>;
impl From<&str> for SecretString {
fn from(s: &str) -> Self {
Self::from(String::from(s))
}
}
که خب وقتی میریم سراغ
SecretBox هم میبیبنیم pub struct SecretBox<S: Zeroize + ?Sized> {
inner_secret: Box<S>,
}اوکی پس همه چیز از
zeroize میاد (اگر باهاش کار نکردید یک نگاهی بهش بندازید جزو crate های مهم هست)از
From فهمیدم که میتونم مستقیم String بهش بدم و SecretString بگیرم و همین نیازمندی من بود و کد بالا میشه :use secrecy::{SecretString, ExposeSecret};
...
password: SecretString::from(
env::var("DATABASE_PASSWORD").expect("DATABASE_PASSWORD env not provided."),
),
...من توی کد بالا یک
trait دیگه رو هم آوردم به اسم ExposeSecret چون password دیگه از تایپ String نیست برای اینکه توی مواقع مورد نیاز (مثل ساخت کانکشن دیتابیس) بتونم ازش استفاده کنم به این trait نیاز دارم و برای خوندنش هم مباید از password.expose_secret()
استفاده کنم. این
crate از من دربرابر اینکه حواسم نباشه و یک چیزی رو لو بدم محافظت میکنه مثل نوشتن پسورد توی println یا توی لاگها اتفاقی که برای فیسبوک؛ گوگل قبلا افتاده.برگردم سراغ مطلبی که توی
Rust Community بود؛ به همین راحتی مشکل طرف حل میشد یعنی استفاده از from یا .into که زیرش از from استفاده میشه ولی پیچونده بودنش سراغ پیادهسازی trait و ... ( نمیدونم برم درستش کنم یا نه چون به راهحل تیک سبز داده بود)بگذریم اگر خواستید از
new هم استفاده کنید میشه این : let mystring = "My Sample String".to_owned();
let mybox = Box::new(mystring);
let secret_string = SecretString::new(mybox);
با توجه به توضیحاتی که دادم اگر مثل من
Junior هستید داکیومنت این crate گزینه خوبی هست برای مطلبی که چندروز قبل نوشتم https://t.iss.one/pyrust/96
بخصوص اینکه سورس کد سادهای هم داره.
Forwarded from DevTwitter | توییت برنامه نویسی
تکنولوژی و ابزار فرانت به سرعتی در حال تغییره که آدم از پشت نمیتونه برسه بک اند و حوزه های دیگه رو نمیدونم ولی شما فرض کن تو فرانت داری با پنج شیش تا ابزار کار میکنی برای مثال:
React
Next
CSS Frameworks
Bundlers
JavaScript
ریکت و نکست که دارن به سرعت فضایی آپدیت میدن نکست که دیگه اصلا هر دو هفته یچیز جدید میده الان مثلا Server actions اضافه کرد که خیلی کاربردیه
ریکت بزودی ورژن جدید که تغییرات جامع داره رو میده بیرون
برای فریم وورک های سی اس اس تیلویند از یه طرف و shadcn UI و ... دارن به کلی صنعت رو به سویه جدید میبرن
جاوااسکریپت تو ورژن جدیدش که هنوز در مرحله تایید هستش کلی فیچر جدید داره به زبان اضافه میکنه
هر روز باید کلی وقت بزاری اخبار بخونی و نه تنها از جدیدترین چیز ها اطلاع داشته باشی بلکه باید به اونا تسلط هم داشته باشی مثلا همین سرور اکشن های نکست به سرعت توسط کامیونیتی مورد استقبال قرار گرفت
بنظرم یه باید عجله کنیم تو یادگیری و پیاده سازی
چون به مدت دیگه نه تنها دیگه نمیتونید مباحث رو توی نه ماه تا یکسال جمع کنید بلکه استخدام هم سخت تر میشه چون حجم پیش نیاز ها به قدری سنگین داره میشه که نه تنها مسائل پایه رو باید تسلط داشته باشید و اینکه اگه یه کوچولو حواستون به مسیرتون نباشه ممکنه دچار
Tutorial Hell
بشید، خلاصه خواستم بگم بهتون اگه از فضای مجازی دور شدید بخاطر اعتیاد آور بودنش یه راه حلی پیدا کنید آپدیت هارو بگیرید هر روز به کم وقت بزارید چیزای جدید بخونید اوناییم که وقت کافی نمیزارن و تخصصشون محکوم به فنا هستن، تلخه ولی واقعیته
دوران دانشجویی هم باید کار کنید رو تخصصتون هم درستون بخونید شرایط طاقت فرساست
@DevTwitter | <Mohammad Mousavi/>
React
Next
CSS Frameworks
Bundlers
JavaScript
ریکت و نکست که دارن به سرعت فضایی آپدیت میدن نکست که دیگه اصلا هر دو هفته یچیز جدید میده الان مثلا Server actions اضافه کرد که خیلی کاربردیه
ریکت بزودی ورژن جدید که تغییرات جامع داره رو میده بیرون
برای فریم وورک های سی اس اس تیلویند از یه طرف و shadcn UI و ... دارن به کلی صنعت رو به سویه جدید میبرن
جاوااسکریپت تو ورژن جدیدش که هنوز در مرحله تایید هستش کلی فیچر جدید داره به زبان اضافه میکنه
هر روز باید کلی وقت بزاری اخبار بخونی و نه تنها از جدیدترین چیز ها اطلاع داشته باشی بلکه باید به اونا تسلط هم داشته باشی مثلا همین سرور اکشن های نکست به سرعت توسط کامیونیتی مورد استقبال قرار گرفت
بنظرم یه باید عجله کنیم تو یادگیری و پیاده سازی
چون به مدت دیگه نه تنها دیگه نمیتونید مباحث رو توی نه ماه تا یکسال جمع کنید بلکه استخدام هم سخت تر میشه چون حجم پیش نیاز ها به قدری سنگین داره میشه که نه تنها مسائل پایه رو باید تسلط داشته باشید و اینکه اگه یه کوچولو حواستون به مسیرتون نباشه ممکنه دچار
Tutorial Hell
بشید، خلاصه خواستم بگم بهتون اگه از فضای مجازی دور شدید بخاطر اعتیاد آور بودنش یه راه حلی پیدا کنید آپدیت هارو بگیرید هر روز به کم وقت بزارید چیزای جدید بخونید اوناییم که وقت کافی نمیزارن و تخصصشون محکوم به فنا هستن، تلخه ولی واقعیته
دوران دانشجویی هم باید کار کنید رو تخصصتون هم درستون بخونید شرایط طاقت فرساست
@DevTwitter | <Mohammad Mousavi/>
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰نمایش وبسایتهای تایید شده با علامت تیک آبی در صفحه نتایج جستجو.
🔰البته به زودی
🔹گوگل درحال آزمایش ویژگی جدیدی برای تأیید اصالت وبسایتها در نتایج جستوجو است که به کاربران کمک میکند تا از کلیک بر روی لینکهای جعلی یا تقلبی دوری کنند.
🔹برخی از کاربران پیش از این هم تیک آبیرنگ را در کنار لینک وبسایتهایی مانند مایکروسافت و متا در نتایج جستوجوی گوگل مشاهده کردهاند؛ این کار از سوء استفاده افراد سودجو از نام تجاری شرکتها جلوگیری میکند.
🔰البته به زودی
🔹گوگل درحال آزمایش ویژگی جدیدی برای تأیید اصالت وبسایتها در نتایج جستوجو است که به کاربران کمک میکند تا از کلیک بر روی لینکهای جعلی یا تقلبی دوری کنند.
🔹برخی از کاربران پیش از این هم تیک آبیرنگ را در کنار لینک وبسایتهایی مانند مایکروسافت و متا در نتایج جستوجوی گوگل مشاهده کردهاند؛ این کار از سوء استفاده افراد سودجو از نام تجاری شرکتها جلوگیری میکند.
Forwarded from Code Module | کد ماژول (𔓙)
اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀
🔗 Link
#figma
@CodeModule
🔗 Link
#figma
@CodeModule
Forwarded from Gopher Academy
🌟هفت آبان روز بزرگذاشت پدر ایران
🌟افتخار ایران و بشریت
🍻#CYRUS_THE_GREAT
👑#کوروش_بزرگ
🕊کوروش بیا که اینجا فرمانده ای نداریم
🕊فرمان بده درفشی از کاویان فرازیم
🕊ما جز قلم نداریم تیغی که صلح آریم
🕊با شعرِ آریایی روحُ روان نوازیم
🍻 به مناسبت این روز تخفیف ۵۰ درصدی روی تعرفه های تبلیغی کانال
🔵فقط 8 و 7 آبان تخفیف ۵۰ درصدی داریم
برای هماهنگی تبلیغات پیام بدید👇
@labdon_ads
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🌟افتخار ایران و بشریت
🍻#CYRUS_THE_GREAT
👑#کوروش_بزرگ
🕊کوروش بیا که اینجا فرمانده ای نداریم
🕊فرمان بده درفشی از کاویان فرازیم
🕊ما جز قلم نداریم تیغی که صلح آریم
🕊با شعرِ آریایی روحُ روان نوازیم
🍻 به مناسبت این روز تخفیف ۵۰ درصدی روی تعرفه های تبلیغی کانال
🔵فقط 8 و 7 آبان تخفیف ۵۰ درصدی داریم
برای هماهنگی تبلیغات پیام بدید👇
@labdon_ads
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🎉1
Forwarded from Gopher Academy
🔵 عنوان مقاله
Distributed Transactions in Go: Read Before You Try
🟢 خلاصه مقاله:
این مقاله به بررسی و توضیح روشهای مدیریت تراکنشها در معماریهای مبتنی بر خدمات میپردازد، جایی که این تراکنشها نیاز به پردازش در بیش از یک سرویس دارند. بهطور خاص، مقاله تمرکز خود را بر روی چالشها و راهکارهای مدیریت و اطمینان از کنسیستنسی دادهها در سیستمهای توزیعشده قرار میدهد. اول از همه، مقاله مفاهیم پایهای تراکنش و خصوصیات ACID (atomicity, consistency, isolation, durability) را معرفی میکند. سپس، به بررسی مدلهای مختلف تراکنشها مثل 2PC (Two-Phase Commit) و سایر مدلهای فراگیر تنظیم تراکنش مانند SAGA میپردازد. مقاله نیز رهیافتهای جدید مانند تراکنشهای طولانی-عمر (Long-running Transactions) و تکنیکهای بازیابی معاصر را بررسی کرده و تأثیر آنها بر روی مقیاسپذیری و دوام سیستمها را تحلیل میکند. در نهایت، مقاله توصیهها و بهترین روشها برای طراحی سیستمهای مقاوم در برابر خطا را ارائه میدهد، تاکید بر پیادهسازی استراتژیهایی که به حفظ تمامیت داده کمک کند.
🟣لینک مقاله:
https://golangweekly.com/link/160759/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Distributed Transactions in Go: Read Before You Try
🟢 خلاصه مقاله:
این مقاله به بررسی و توضیح روشهای مدیریت تراکنشها در معماریهای مبتنی بر خدمات میپردازد، جایی که این تراکنشها نیاز به پردازش در بیش از یک سرویس دارند. بهطور خاص، مقاله تمرکز خود را بر روی چالشها و راهکارهای مدیریت و اطمینان از کنسیستنسی دادهها در سیستمهای توزیعشده قرار میدهد. اول از همه، مقاله مفاهیم پایهای تراکنش و خصوصیات ACID (atomicity, consistency, isolation, durability) را معرفی میکند. سپس، به بررسی مدلهای مختلف تراکنشها مثل 2PC (Two-Phase Commit) و سایر مدلهای فراگیر تنظیم تراکنش مانند SAGA میپردازد. مقاله نیز رهیافتهای جدید مانند تراکنشهای طولانی-عمر (Long-running Transactions) و تکنیکهای بازیابی معاصر را بررسی کرده و تأثیر آنها بر روی مقیاسپذیری و دوام سیستمها را تحلیل میکند. در نهایت، مقاله توصیهها و بهترین روشها برای طراحی سیستمهای مقاوم در برابر خطا را ارائه میدهد، تاکید بر پیادهسازی استراتژیهایی که به حفظ تمامیت داده کمک کند.
🟣لینک مقاله:
https://golangweekly.com/link/160759/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
threedots.tech
Distributed Transactions in Go: Read Before You Try
In the previous post, I looked into running transactions in a layered architecture. Now, let’s consider transactions that need to span more than one service.
If you work with microservices, a time may come when you need a transaction running across them.…
If you work with microservices, a time may come when you need a transaction running across them.…
Forwarded from DevTwitter | توییت برنامه نویسی
یکی ادعا کرده که یه رباتی نوشته که برای هر اگهی کار تو لینکدین رزومه و کاورلتر شخصی سازی شده مینویسه و جواب سوالارم میده و اتومات ایزی اپلای میکنه. باهاش تو ۲۴ ساعت ۱۰۰۰ تا اگهی اپلای کرده و ۵۰ تا مصاحبه گرفته! کدشم تو گیت هاب ۱۸ هزار تا استار گرفته!
https://github.com/feder-cr/Auto_Jobs_Applier_AIHawk
@DevTwitter | <Shana/>
https://github.com/feder-cr/Auto_Jobs_Applier_AIHawk
@DevTwitter | <Shana/>
Forwarded from IRCF | اینترنت آزاد برای همه
Forwarded from Meitix
یکی از مشکلاتی که ممکنه shard کردن دیتا در db برامون وجود میاره celebrity problemه.
مثلا فرض کنیم که بیایم دیتا رو بر این اساس به چهارتا segment تقسیم کنیم
توی این حالت ممکنه توی تیبل ۲ام ما از شانس ما، ۴ سلبریتی با درخواست های زیاد باشن که نقاط hot در db ما هستن این باعث میشه بار درستی تقسیم نشه و دیتابیس فشار بهش بیاد
توییتر برای حل این مشکل اومده توییت ها رو بر اساس userid تقسیم کرده و تو هر partition اومده توییت هارو بر اساس تاریخ تقسیم کرده(میتونه روز، هفته و ماه باشه)
این باعث میشه کوئری هامون خیلی بهینه تر بشه.
از طرفی replica و caching هم قطعا دارن
مثلا فرض کنیم که بیایم دیتا رو بر این اساس به چهارتا segment تقسیم کنیم
Userid %4 =0
توی این حالت ممکنه توی تیبل ۲ام ما از شانس ما، ۴ سلبریتی با درخواست های زیاد باشن که نقاط hot در db ما هستن این باعث میشه بار درستی تقسیم نشه و دیتابیس فشار بهش بیاد
توییتر برای حل این مشکل اومده توییت ها رو بر اساس userid تقسیم کرده و تو هر partition اومده توییت هارو بر اساس تاریخ تقسیم کرده(میتونه روز، هفته و ماه باشه)
این باعث میشه کوئری هامون خیلی بهینه تر بشه.
از طرفی replica و caching هم قطعا دارن
Forwarded from Dev Dastan
✨ What gives programmers feelings of power
➖ P.S. I have actually removed more lines of code than writing throughout my career!
➖➖➖➖➖➖
#softwareEngineering #softwareDevelopment #fun
🖥 Follow @devDastan for more content.
➖➖➖➖➖➖
#softwareEngineering #softwareDevelopment #fun
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from LearnPOV | لرن پی او وی
میخوام یه ابزار خفن بهتون معرفی بکنم که اگر به طرحای 3d و انیمیت شده و کامپوننت های تعاملی علاقه داشته باشید حسابی قراره کیف میکنید
پستش ساعت ۴ ارسال میشه، انرژی بدیددد بهمون ببینم انرژیا بالاس زودتر میزنم بیاد 😍🔥
پستش ساعت ۴ ارسال میشه، انرژی بدیددد بهمون ببینم انرژیا بالاس زودتر میزنم بیاد 😍🔥
Forwarded from DevTwitter | توییت برنامه نویسی
ا گه دوست دارید با سرویسهای AWS کار کنید اما امکانش براتون فراهم نیست، این یکی رو دیگه نمیتونید کرک کنید و استفاده کنید!
ولی یه راه بهتر هست که نه نیازی به کردیت کارت داره، نه حتی ثبت نام توی AWS.
برای این کار میتونید از پروژه localstack استفاده کنید. این پروژه مجموعهای از سرویسهای AWS رو کاملا شبیه سازی کرده و کافیه که شما طبق داکیومنت جامع و خوبی که داره، روی کامپیوتر خودتون به راحتی راه اندازیش کنید. docker compose هم داره.
چند نمونه از سرویسهایی که پشتیبانی میکنه:
AWS Lambda
S3
Dynamodb
Kinesis
SQS
SNS
مثلا اگر در پروژهای مشارکت دارید که از S3 برای ذخیرهسازی و مدیریت فایلها استفاده میکنه اما امکانش براتون فراهم نیست که از سرویس اصلی برای آزمون و خطا استفاده کنید، از این طریق به راحتی میتونید کد خودتون رو لوکال تست کنید.
https://github.com/localstack/localstack
@DevTwitter | <Amir Ziapour/>
ولی یه راه بهتر هست که نه نیازی به کردیت کارت داره، نه حتی ثبت نام توی AWS.
برای این کار میتونید از پروژه localstack استفاده کنید. این پروژه مجموعهای از سرویسهای AWS رو کاملا شبیه سازی کرده و کافیه که شما طبق داکیومنت جامع و خوبی که داره، روی کامپیوتر خودتون به راحتی راه اندازیش کنید. docker compose هم داره.
چند نمونه از سرویسهایی که پشتیبانی میکنه:
AWS Lambda
S3
Dynamodb
Kinesis
SQS
SNS
مثلا اگر در پروژهای مشارکت دارید که از S3 برای ذخیرهسازی و مدیریت فایلها استفاده میکنه اما امکانش براتون فراهم نیست که از سرویس اصلی برای آزمون و خطا استفاده کنید، از این طریق به راحتی میتونید کد خودتون رو لوکال تست کنید.
https://github.com/localstack/localstack
@DevTwitter | <Amir Ziapour/>
Forwarded from Future Pulse Persian
طلایی ترین لیست وبلاگها برنامه نویسان شرکتهای بزرگ دنیا مثل Google و . . .
در این لیست افرادی که تجربه کار کردن در شرکتهای بزرگ دارند اسم و لینکشون آورده شده
نفراول :
برنامه نویس شرکت TripAdvisor
هم مقالات فنی و هم مهارت نرم رو پوشش میده
https://dandreamsofcoding.com/
نفر دوم :
خالق الگوریتمی که در تمامی سیستم های recommender در شرکت بزرگ ازش استفاده میشه
https://lemire.me/blog/
نفر سوم :
از ایشون مگه بالاتر داریم ؟ CEO شرکت Stack overflow
https://www.joelonsoftware.com/
نفر چهارم :
مهندس نرمافزار گوگل و خالق چند تا از بزرگترین پروژههای Open Source جهان
https://latedev.wordpress.com/
نفر پنجم :
یک از تاثیر گذاران محبوبیت Linux
https://www.linux.org/forums/
نفر ششم :
برنامه نویس Google و نوسینده چند کتاب مشهور در دنیا
https://www.jeremykun.com/
نفر هفتم :
خالق Viaweb نوسینده بزرگ در حیطه برنامه نویسی
https://paulgraham.com/articles.html
نفر هقتم :
متخصص و Director شرکت Huawei
https://www.yegor256.com/
نفر هشتم :
یک متخصص به تمام معنا
https://prog21.dadgum.com/
نفر نهم :
نوسینده کتاب Clean Code
https://blog.cleancoder.com/
نفرم دهم :
مهندس گوگل
https://stevehanov.ca/blog/
نفرم یازدهم :
مهندس شرکت Uber
https://blog.pragmaticengineer.com/
➖➖➖➖➖➖➖➖
👑 @labdon_academy
در این لیست افرادی که تجربه کار کردن در شرکتهای بزرگ دارند اسم و لینکشون آورده شده
نفراول :
برنامه نویس شرکت TripAdvisor
هم مقالات فنی و هم مهارت نرم رو پوشش میده
https://dandreamsofcoding.com/
نفر دوم :
خالق الگوریتمی که در تمامی سیستم های recommender در شرکت بزرگ ازش استفاده میشه
https://lemire.me/blog/
نفر سوم :
از ایشون مگه بالاتر داریم ؟ CEO شرکت Stack overflow
https://www.joelonsoftware.com/
نفر چهارم :
مهندس نرمافزار گوگل و خالق چند تا از بزرگترین پروژههای Open Source جهان
https://latedev.wordpress.com/
نفر پنجم :
یک از تاثیر گذاران محبوبیت Linux
https://www.linux.org/forums/
نفر ششم :
برنامه نویس Google و نوسینده چند کتاب مشهور در دنیا
https://www.jeremykun.com/
نفر هفتم :
خالق Viaweb نوسینده بزرگ در حیطه برنامه نویسی
https://paulgraham.com/articles.html
نفر هقتم :
متخصص و Director شرکت Huawei
https://www.yegor256.com/
نفر هشتم :
یک متخصص به تمام معنا
https://prog21.dadgum.com/
نفر نهم :
نوسینده کتاب Clean Code
https://blog.cleancoder.com/
نفرم دهم :
مهندس گوگل
https://stevehanov.ca/blog/
نفرم یازدهم :
مهندس شرکت Uber
https://blog.pragmaticengineer.com/
➖➖➖➖➖➖➖➖
👑 @labdon_academy
Dan Dreams of Coding
Just trying to make sense of it all
Forwarded from محتوای آزاد سهراب
قسمت دوم هم ضبط کردم، ساختار فایلسیستم و یک سری دستورات پایه رو گفتم.
بعد از ادیت کردن آپلودش میکنم
@SohrabContents
بعد از ادیت کردن آپلودش میکنم
@SohrabContents
Forwarded from Ninja Learn | نینجا لرن
🎢 برنامهنویسی Async
شاید زیاد به گوشت خورده باشه: Async Programming، ولی خب، دقیقاً یعنی چی؟ 🤔 بیایید با هم ببینیم چجوری میشه باهاش پروژههامونو بهتر و سریعتر توسعه بدیم.
حالا Async چیه؟ 🤔
تصور کن یه کافه پر سر و صدا داری؛ مشتریها میان، سفارش میدن، میشینن و منتظر آماده شدن سفارش میمونن. حالا فرض کن فقط یه کارمند داری که باید یکییکی سفارش بگیره و هرکدوم آماده شد، بده دست مشتری. 😴 اما اگه از Async کمک بگیری، این کارمند میتونه همه سفارشها رو پشت سر هم بگیره و هربار که یه سفارش آماده شد، همونو تحویل بده. بدون اینکه لازم باشه به مشتری بگه "منتظر بمون"
حالا Async چجوری کار میکنه؟
برنامهنویسی Async بهت اجازه میده که تسکها رو همزمان اجرا کنی. مثلا موقع درخواست به یه سرور خارجی (API)، میتونی به برنامه بگی به جای منتظر موندن، همزمان یه کار دیگه هم انجام بده.
کجا به درد میخوره؟
▶️ API Calling:
وقتی داری اطلاعات میگیری، منتظر نمیمونی، یه تسک دیگه اجرا میکنی. 🚀
▶️ File Handling:
خوندن و نوشتن فایلهای بزرگ بدون توقف کد. 📂
▶️ Web Scraping:
همزمان چندین صفحه رو بررسی میکنی.
یه مثال ساده از Async با Python و Js🐍
فرض کن یه فانکشن میخوایم بنویسیم که ۲ ثانیه بخوابه و بعد یه متن چاپ کنه. حالا ببین فرق sync و async چیه:
حالا Js :
امید وارم مفید بوده باشه :)
@ninja_learn_ir
شاید زیاد به گوشت خورده باشه: Async Programming، ولی خب، دقیقاً یعنی چی؟ 🤔 بیایید با هم ببینیم چجوری میشه باهاش پروژههامونو بهتر و سریعتر توسعه بدیم.
حالا Async چیه؟ 🤔
تصور کن یه کافه پر سر و صدا داری؛ مشتریها میان، سفارش میدن، میشینن و منتظر آماده شدن سفارش میمونن. حالا فرض کن فقط یه کارمند داری که باید یکییکی سفارش بگیره و هرکدوم آماده شد، بده دست مشتری. 😴 اما اگه از Async کمک بگیری، این کارمند میتونه همه سفارشها رو پشت سر هم بگیره و هربار که یه سفارش آماده شد، همونو تحویل بده. بدون اینکه لازم باشه به مشتری بگه "منتظر بمون"
حالا Async چجوری کار میکنه؟
برنامهنویسی Async بهت اجازه میده که تسکها رو همزمان اجرا کنی. مثلا موقع درخواست به یه سرور خارجی (API)، میتونی به برنامه بگی به جای منتظر موندن، همزمان یه کار دیگه هم انجام بده.
کجا به درد میخوره؟
▶️ API Calling:
وقتی داری اطلاعات میگیری، منتظر نمیمونی، یه تسک دیگه اجرا میکنی. 🚀
▶️ File Handling:
خوندن و نوشتن فایلهای بزرگ بدون توقف کد. 📂
▶️ Web Scraping:
همزمان چندین صفحه رو بررسی میکنی.
یه مثال ساده از Async با Python و Js🐍
فرض کن یه فانکشن میخوایم بنویسیم که ۲ ثانیه بخوابه و بعد یه متن چاپ کنه. حالا ببین فرق sync و async چیه:
import asyncio
# Sync
def print_sync():
print("Starting Sync...")
time.sleep(2)
print("Done Sync!")
# Async
async def print_async():
print("Starting Async...")
await asyncio.sleep(2)
print("Done Async!")
# اجرا
asyncio.run(print_async())
حالا Js :
// Sync
function printSync() {
console.log("Starting Sync...");
sleep(2000); // این تابع sleep فقط برای شبیهسازیه
console.log("Done Sync!");
}
function sleep(ms) {
const start = Date.now();
while (Date.now() - start < ms) {}
}
// Async
async function printAsync() {
console.log("Starting Async...");
await new Promise(resolve => setTimeout(resolve, 2000));
console.log("Done Async!");
}
// اجرا
printAsync();
#async #sync #backend