Forwarded from DevAcademy
Big O
من بحث Big O رو با این ویدیو ZTM یاد گرفتم و همیشه به اطرافیانم توصیه میکنم که کورس الگوریتم ZTM ببینن. اگر دوست دارید یه بارم هم شده این بحث رو درک کنید، یه سر به این لینک بزنید و این ویدیو رو تا اخر نگاه کنید و اگر براتون قابل فهم بود با بقیه هم share کنید.
داخل این لینک علاوه بر ویدیو، چیت شیت big o هم قرار داره که میتونه بهتون کمک کنه راحت تر تو ذهنتون بمونه
https://zerotomastery.io/cheatsheets/big-o-cheat-sheet/?utm_source=udemy&utm_medium=coursecontent
💻@DevAcaademy
💬@DevAcademyGroup
من بحث Big O رو با این ویدیو ZTM یاد گرفتم و همیشه به اطرافیانم توصیه میکنم که کورس الگوریتم ZTM ببینن. اگر دوست دارید یه بارم هم شده این بحث رو درک کنید، یه سر به این لینک بزنید و این ویدیو رو تا اخر نگاه کنید و اگر براتون قابل فهم بود با بقیه هم share کنید.
داخل این لینک علاوه بر ویدیو، چیت شیت big o هم قرار داره که میتونه بهتون کمک کنه راحت تر تو ذهنتون بمونه
https://zerotomastery.io/cheatsheets/big-o-cheat-sheet/?utm_source=udemy&utm_medium=coursecontent
💻@DevAcaademy
💬@DevAcademyGroup
Zero To Mastery
Big O Cheat Sheet + PDF + Free Tutorial Videos | Zero To Mastery
Learn Big O to become a better developer. This Big O Cheat Sheet (+ PDF version) covers the key points you need to remember for a coding interview.
Forwarded from Ninja Learn | نینجا لرن
راستی دوستان من کتاب
رو تا فصل ۴ ترجمه کردم
خواستید میتونید با هشتک
پیداشون کنید و استفاده کنید 😊
➖➖➖➖➖➖➖➖➖
Rest api Design rulebook
رو تا فصل ۴ ترجمه کردم
خواستید میتونید با هشتک
#کتاب
پیداشون کنید و استفاده کنید 😊
➖➖➖➖➖➖➖➖➖
🔆 CHANNEL | GROUP
Forwarded from Linuxor ?
یکی توییت زده : من متوجه شدهام که مدلهای زبانی بزرگ (LLMs) مانند Claude و GPT-4o با این پرامپت خیلی خوب کار میکنند؛ این پرامپت آنها را وادار میکند تا قبل از ارائه پاسخ نهایی، کمی "تأمل" کنند.
این روش شبیه به پرامپتهاییه که از مدل میخواد فرآیند استدلالش رو توضیح بده. chain-of-thought که توی تحقیقات مرتبط با هوش مصنوعی هم موفقیتآمیز بوده. شما هم میتونین استفاده کنید و نتیجه های بهتری بگیرین در واقع به هوش مصنوعی امکان تصحیح خطای خودش رو میده.
@Linuxor
این روش شبیه به پرامپتهاییه که از مدل میخواد فرآیند استدلالش رو توضیح بده. chain-of-thought که توی تحقیقات مرتبط با هوش مصنوعی هم موفقیتآمیز بوده. شما هم میتونین استفاده کنید و نتیجه های بهتری بگیرین در واقع به هوش مصنوعی امکان تصحیح خطای خودش رو میده.
@Linuxor
Forwarded from a pessimistic researcher (Kc)
حتی یک فریم از این خاطره فراموشم نشد
Forwarded from DevTwitter | توییت برنامه نویسی
چطور با استفاده از custom casts در لاراول دادهها را به شکل دلخواه درآوریم؟
لینک مقاله
@DevTwitter | <Reza Annabestani/>
لینک مقاله
@DevTwitter | <Reza Annabestani/>
Forwarded from Software Engineer Labdon
توافق روی نام گذاری ها از نون شب واجب تره!!
یه جمله جالب توی کتاب clean code دیدم که نوشته بود، زمانی که میخواید توابع یا متغیرهاتون رو نامگذاری کنید اون قدر حساسیت به خرج بدید که انگار دارید برای یک نوزاد تازه به دنیا اومده اسم انتخاب میکنید.
یک نکته که داخل تیم هم خیلی مهمه اینه که برای یک مفهوم، از چند ورب مختلف استفاده نشه. مثلا برای ایجاد کردن فرضا محصول میشه همه ورب های add, create, insert, make, ... رو استفاده کرد. برای اینکه ابهام و سردرگمی پیش نیاد همیشه سعی کنید توی پروژتون برای همه entity ها از یک ورب یکسان استفاده کنید و این رو توی تیمتون هم باهم توافق کنید که همه از اون ورب استفاده کنن.
این مساله به ظاهر کوچیک خیلی خیلی مهمه لطفا رعایت کنید.
| <Pouya Farshidnia/>
➖➖➖➖➖➖➖➖
https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
یه جمله جالب توی کتاب clean code دیدم که نوشته بود، زمانی که میخواید توابع یا متغیرهاتون رو نامگذاری کنید اون قدر حساسیت به خرج بدید که انگار دارید برای یک نوزاد تازه به دنیا اومده اسم انتخاب میکنید.
یک نکته که داخل تیم هم خیلی مهمه اینه که برای یک مفهوم، از چند ورب مختلف استفاده نشه. مثلا برای ایجاد کردن فرضا محصول میشه همه ورب های add, create, insert, make, ... رو استفاده کرد. برای اینکه ابهام و سردرگمی پیش نیاد همیشه سعی کنید توی پروژتون برای همه entity ها از یک ورب یکسان استفاده کنید و این رو توی تیمتون هم باهم توافق کنید که همه از اون ورب استفاده کنن.
این مساله به ظاهر کوچیک خیلی خیلی مهمه لطفا رعایت کنید.
| <Pouya Farshidnia/>
➖➖➖➖➖➖➖➖
https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
Forwarded from Meitix
سه مفهوم بنیادین در دنیای ایزوله سازی در لینوکس 🐧 وجود داره:
1️⃣ cgroup (Control Groups)
این ابزار به لینوکس اجازه میده منابع سیستم (مثل CPU، RAM، دیسک و شبکه) رو مدیریت و محدود کنه. مثلا شما میتونید یه گروه خاص از فرآیندها رو طوری محدود کنید که بیشتر از ۱۰٪ CPU استفاده نکنند. داکر از این قابلیت استفاده میکنه تا مطمئن شه هر کانتینر فقط منابع مشخصی رو مصرف کنه و از دسترس منابع بقیه کانتینرها خارج نشه.
2️⃣ namespace
اNamespace یکی از ستونهای اصلی ایزولهسازی در لینوکسه. این قابلیت به شما اجازه میده یه فرآیند رو در یه فضای ایزوله شده اجرا کنید. مثلا فرآیندهای کانتینر شما فقط فایلسیستم، شبکه، و پروسسهای مخصوص خودشون رو میبینند و به بقیه محیط سیستم دسترسی ندارند. داکر از namespace استفاده میکنه تا حس "ماشین مجازی" بودن رو به کانتینرها بده، در حالی که در واقع همه چیز روی همون کرنل اصلی اجرا میشه.
3️⃣ unionfs
اUnionFS به شما اجازه میده چند لایه فایلسیستم رو روی هم سوار کنید، انگار که یه لایه واحد هستند. این قابلیت برای کانتینرها خیلی کاربردیه چون میتونید یه لایه پایه (مثل فایلسیستم اوبونتو) داشته باشید و تغییرات هر کانتینر رو به صورت جداگانه در یه لایه دیگه ذخیره کنید. این کار باعث صرفهجویی در حافظه و کارایی بهتر میشه.
@meiti_x 💻
1️⃣ cgroup (Control Groups)
این ابزار به لینوکس اجازه میده منابع سیستم (مثل CPU، RAM، دیسک و شبکه) رو مدیریت و محدود کنه. مثلا شما میتونید یه گروه خاص از فرآیندها رو طوری محدود کنید که بیشتر از ۱۰٪ CPU استفاده نکنند. داکر از این قابلیت استفاده میکنه تا مطمئن شه هر کانتینر فقط منابع مشخصی رو مصرف کنه و از دسترس منابع بقیه کانتینرها خارج نشه.
2️⃣ namespace
اNamespace یکی از ستونهای اصلی ایزولهسازی در لینوکسه. این قابلیت به شما اجازه میده یه فرآیند رو در یه فضای ایزوله شده اجرا کنید. مثلا فرآیندهای کانتینر شما فقط فایلسیستم، شبکه، و پروسسهای مخصوص خودشون رو میبینند و به بقیه محیط سیستم دسترسی ندارند. داکر از namespace استفاده میکنه تا حس "ماشین مجازی" بودن رو به کانتینرها بده، در حالی که در واقع همه چیز روی همون کرنل اصلی اجرا میشه.
3️⃣ unionfs
اUnionFS به شما اجازه میده چند لایه فایلسیستم رو روی هم سوار کنید، انگار که یه لایه واحد هستند. این قابلیت برای کانتینرها خیلی کاربردیه چون میتونید یه لایه پایه (مثل فایلسیستم اوبونتو) داشته باشید و تغییرات هر کانتینر رو به صورت جداگانه در یه لایه دیگه ذخیره کنید. این کار باعث صرفهجویی در حافظه و کارایی بهتر میشه.
@meiti_x 💻
Forwarded from Meitix
اینا core foundation داکره😅
داکر خودش تکنولوژیهای زیرساختی مثل namespace و cgroup رو اختراع نکرده، اما قدرتش در اینه که این ابزارهای پراکنده رو در قالب یک پلتفرم یکپارچه، کاربرپسند و نوآورانه ارائه داده. نوآوری داکر بیشتر در تجربه کاربری، قابلیت انتقالپذیری و سادهسازی فرایندهای پیچیدهست مثل ایجاد نتورک یا مدیریت volume هاست، نه در ایجاد ابزارهای کاملاً جدید.
و قسمت خیلی مهم تر اینه که ممکنه داکر رو با vm یکی بدونیم ولی فرقشون خیلی هست
@meiti_x 💻
داکر خودش تکنولوژیهای زیرساختی مثل namespace و cgroup رو اختراع نکرده، اما قدرتش در اینه که این ابزارهای پراکنده رو در قالب یک پلتفرم یکپارچه، کاربرپسند و نوآورانه ارائه داده. نوآوری داکر بیشتر در تجربه کاربری، قابلیت انتقالپذیری و سادهسازی فرایندهای پیچیدهست مثل ایجاد نتورک یا مدیریت volume هاست، نه در ایجاد ابزارهای کاملاً جدید.
و قسمت خیلی مهم تر اینه که ممکنه داکر رو با vm یکی بدونیم ولی فرقشون خیلی هست
@meiti_x 💻
Forwarded from DevTwitter | توییت برنامه نویسی
Forwarded from DevTwitter | توییت برنامه نویسی
یک برنامهنویس با تجربه به این 17 مورد توجه مینماید:
0- عاشق کدی که نوشتی نشو، همیشه باید سعی کنی بهترش کنی
1- در شرایط اورژانسی میفهمی پیچیدگی الکی درست کردن چطوری پاره میکند
2- هر روش و تکنولوژی بالاخره مزایا و معایب خودش را دارد و قطعاً هر چیزی Trade-off های خودش را دارد - حواست باشد، بهترینی وجود ندارد
3- هر خط کدی که مینویسی برای کسی یا جایی یک سرمایه است - شاید هم برای خودت
4- همه میگن کدهای بقیه کثافت است
5- بیخودی Dependency ایجاد نکنید
6- درست کد بنویسید، دعوا و درگیری و متوجه نشدن کم میشود
7- حالا یکم Comment بنویسید، جای دوری نمیرود، ولی کد خودش باید کامنت خودش باشد
8- سر یاد گرفتن چیزهای جدید مقاومت نکنید، لازم است
9- از Code Review نترسید، سبب انتشار و Share شدن دانش میگردد
10- همیشه maintainability را در نظر داشته باشید - شما در حال سیمانریزی و ایجاد یک چیزی که هرگز دست نخورد نیستید
11- جایی لازم بود، کمک بگیرید
12 - اصل مشکل را در کد حل کنید نه فقط یک جنبه از خطا را
13- هیچ پروژه و برنامهای خلاص نخواهد شد، همیشه هست
14- زمانبندی دادن با قول دادن و قسم خوردن یکی نیست، فقط یک احتمال است
15- طراحی و مهندسی سیستم را همان ابتدا مستند سازی کنید
16- پروژه را بدهید بیرون سریع، بعد آرام آرام با یک برنامه مشخص کاملش کنید
@DevTwitter | <Ali Kolahdoozan/>
0- عاشق کدی که نوشتی نشو، همیشه باید سعی کنی بهترش کنی
1- در شرایط اورژانسی میفهمی پیچیدگی الکی درست کردن چطوری پاره میکند
2- هر روش و تکنولوژی بالاخره مزایا و معایب خودش را دارد و قطعاً هر چیزی Trade-off های خودش را دارد - حواست باشد، بهترینی وجود ندارد
3- هر خط کدی که مینویسی برای کسی یا جایی یک سرمایه است - شاید هم برای خودت
4- همه میگن کدهای بقیه کثافت است
5- بیخودی Dependency ایجاد نکنید
6- درست کد بنویسید، دعوا و درگیری و متوجه نشدن کم میشود
7- حالا یکم Comment بنویسید، جای دوری نمیرود، ولی کد خودش باید کامنت خودش باشد
8- سر یاد گرفتن چیزهای جدید مقاومت نکنید، لازم است
9- از Code Review نترسید، سبب انتشار و Share شدن دانش میگردد
10- همیشه maintainability را در نظر داشته باشید - شما در حال سیمانریزی و ایجاد یک چیزی که هرگز دست نخورد نیستید
11- جایی لازم بود، کمک بگیرید
12 - اصل مشکل را در کد حل کنید نه فقط یک جنبه از خطا را
13- هیچ پروژه و برنامهای خلاص نخواهد شد، همیشه هست
14- زمانبندی دادن با قول دادن و قسم خوردن یکی نیست، فقط یک احتمال است
15- طراحی و مهندسی سیستم را همان ابتدا مستند سازی کنید
16- پروژه را بدهید بیرون سریع، بعد آرام آرام با یک برنامه مشخص کاملش کنید
@DevTwitter | <Ali Kolahdoozan/>
Forwarded from IRCF | اینترنت آزاد برای همه
وزیر علوم از درخواست به وزارت ارتباطات برای بازگشایی یوتیوب برای اساتید و دانشجویان خبر داد.
این درخواست از وزارت ارتباطات درحالی است که پیش از این ستار هاشمی گفته بود اعتقادی به #اینترنت_طبقاتی ندارد.
© fanzyMag
🔍 ircf.space
@ircfspace
این درخواست از وزارت ارتباطات درحالی است که پیش از این ستار هاشمی گفته بود اعتقادی به #اینترنت_طبقاتی ندارد.
© fanzyMag
🔍 ircf.space
@ircfspace
Forwarded from IRCF | اینترنت آزاد برای همه
با وجود تکذیب ارتباط وزارت ارتباطات با ارائه #اینترنت_طبقاتی برای دانشجویان و اساتید از سوی مدیر روابط عمومی اینوزارتخانه و تأکید بر اینکه اینموضوع بر اساس توافق میان وزارت علوم و دادستانی و مطابق با آییننامه کارگروه تعیین مصادیق انجام شده، شواهد نشان میدهد که اینترنت طبقاتی همچنان در قالب پروژههای کوچکتر درحال اجراست.
© filterbaan
🔍 ircf.space
@ircfspace
© filterbaan
🔍 ircf.space
@ircfspace
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
⁉️برای "تغییر نام فایل" مخصوصا به صورت دسته ای و گروهی در لینوکس از چه ابزاری استفاده میکنید ؟
ابزار های mv،rename خوب هستند
✅ ولی تا به حال ابزار mmv یا گرافیکی مثل Bulky را امتحان کردید ؟
💠 ابزار گرافیکی Bulky
در بیشتر میزکارها Cinnamon, MATE, GNOME, Xfce و ... به صورت پیشفرض نصب است
پشتیبانی بسیار عالی از regex و انواع Pattern داره
کافیه فایل ها را به صورت گروهی انتخاب کنید و دکمه Rename را بزنید
💠 ابزار mmv یا multiple move
در اکثر نصاب ها مثل apt یا yum یا pacman , ... به نام mmv هست
پیشنهاد شما ؟
❤️ ممنون از حمایت هاتون 💐🌺
#linux
ابزار های mv،rename خوب هستند
✅ ولی تا به حال ابزار mmv یا گرافیکی مثل Bulky را امتحان کردید ؟
برای Rename گروهی فایل ها استفاده از regex یا Pattern کار را ساده میکنه
یک بار دستور را میزنید و تمام n فایل شما با الگوی از قبل تعریف شده شما تغییر نام پیدا میکنند
💠 ابزار گرافیکی Bulky
در بیشتر میزکارها Cinnamon, MATE, GNOME, Xfce و ... به صورت پیشفرض نصب است
پشتیبانی بسیار عالی از regex و انواع Pattern داره
کافیه فایل ها را به صورت گروهی انتخاب کنید و دکمه Rename را بزنید
💠 ابزار mmv یا multiple move
در اکثر نصاب ها مثل apt یا yum یا pacman , ... به نام mmv هست
mmv [options] source_pattern target_pattern الگوی کلی
mmv '*.txt' '#1.md' مثال
mmv 'file*.txt' 'document#1.txt' استفاده Pattern
mmv '*.jpg' '2025_#1.jpg' استفاده Prefix یا Suffix
mmv 'data_0*.txt' 'data_#1.txt' استفاده wildcard patterns
mmv -r '*.txt' '#1.txt' برای دایرکتوری
پیشنهاد شما ؟
❤️ ممنون از حمایت هاتون 💐🌺
#linux
Forwarded from Ninja Learn | نینجا لرن
تو پست بعدی درمورد این میخوام حرف بزنم که چرا بعضی ها میگن پایتون شی گرا نیست
Forwarded from DevTwitter | توییت برنامه نویسی
توی یه پست تازه توی Medium درباره تستهای Benchmark توی Go نوشتم.
توی این پست، یه توضیح کامل و کاربردی دادم که تستهای Benchmark دقیقاً چیا هستن و کجا به درد میخورن. برای درک بهتر موضوع، یه تست ساده هم برای محاسبه فاکتوریل نوشتیم و نتایج رو بررسی کردیم.
https://medium.com/@debug-ing/benchmark-testing-in-go-a-practical-guide-2900e008ce43
@DevTwitter | <Mahdi Mohammadi/>
توی این پست، یه توضیح کامل و کاربردی دادم که تستهای Benchmark دقیقاً چیا هستن و کجا به درد میخورن. برای درک بهتر موضوع، یه تست ساده هم برای محاسبه فاکتوریل نوشتیم و نتایج رو بررسی کردیم.
https://medium.com/@debug-ing/benchmark-testing-in-go-a-practical-guide-2900e008ce43
@DevTwitter | <Mahdi Mohammadi/>
🔥1
Forwarded from Meitix
داکر همون VM نیست!
واقعیت اینه که اینا دو تا مفهوم کاملاً متفاوتن. ماشین مجازی یه سیستمعامل کامله که روی یه نرمافزار مثل VMware یا VirtualBox اجرا میشه. این یعنی هر VM برای خودش یه سیستمعامل جدا داره، کرنل خودش رو اجرا میکنه و منابع سختافزاری مثل CPU و رم رو شبیهسازی میکنه. همین کار باعث میشه VMها نسبتاً سنگین باشن و زمان زیادی برای بوت شدنشون لازم باشه.
اما داکر یه چیز دیگهست. کانتینرهای داکر به جای داشتن سیستمعامل مستقل، از همون کرنل سیستمعامل میزبان استفاده میکنن. این یعنی وقتی شما یه کانتینر داکر رو اجرا میکنید، فقط اپلیکیشن و فایلهای مورد نیازش رو میاره، نه یه سیستمعامل کامل. همین موضوع باعث میشه کانتینرها خیلی سبکتر و سریعتر باشن.
از نظر کاربرد هم تفاوت زیادی دارن. ماشینهای مجازی بیشتر برای اجرای سیستمعاملهای مختلف روی یه سختافزار استفاده میشن، مثلاً اگه بخواید ویندوز و لینوکس رو کنار هم داشته باشید. ولی داکر برای ایزولهسازی و اجرای سریع اپلیکیشنها طراحی شده. شما میتونید یه اپلیکیشن رو با تمام وابستگیهاش توی یه کانتینر اجرا کنید، بدون اینکه نگران تداخل با بقیه برنامهها باشید.
پس دفعه بعد که کسی گفت داکر همون VMه، با خیال راحت توضیح بدید که داکر سبکه، سریعتره و هدفش اجرای اپلیکیشنهاست، نه شبیهسازی سختافزار. 🚀
@meiti_x 💻
واقعیت اینه که اینا دو تا مفهوم کاملاً متفاوتن. ماشین مجازی یه سیستمعامل کامله که روی یه نرمافزار مثل VMware یا VirtualBox اجرا میشه. این یعنی هر VM برای خودش یه سیستمعامل جدا داره، کرنل خودش رو اجرا میکنه و منابع سختافزاری مثل CPU و رم رو شبیهسازی میکنه. همین کار باعث میشه VMها نسبتاً سنگین باشن و زمان زیادی برای بوت شدنشون لازم باشه.
اما داکر یه چیز دیگهست. کانتینرهای داکر به جای داشتن سیستمعامل مستقل، از همون کرنل سیستمعامل میزبان استفاده میکنن. این یعنی وقتی شما یه کانتینر داکر رو اجرا میکنید، فقط اپلیکیشن و فایلهای مورد نیازش رو میاره، نه یه سیستمعامل کامل. همین موضوع باعث میشه کانتینرها خیلی سبکتر و سریعتر باشن.
از نظر کاربرد هم تفاوت زیادی دارن. ماشینهای مجازی بیشتر برای اجرای سیستمعاملهای مختلف روی یه سختافزار استفاده میشن، مثلاً اگه بخواید ویندوز و لینوکس رو کنار هم داشته باشید. ولی داکر برای ایزولهسازی و اجرای سریع اپلیکیشنها طراحی شده. شما میتونید یه اپلیکیشن رو با تمام وابستگیهاش توی یه کانتینر اجرا کنید، بدون اینکه نگران تداخل با بقیه برنامهها باشید.
پس دفعه بعد که کسی گفت داکر همون VMه، با خیال راحت توضیح بدید که داکر سبکه، سریعتره و هدفش اجرای اپلیکیشنهاست، نه شبیهسازی سختافزار. 🚀
@meiti_x 💻