اگه بکاند کار میکنین، Api رو حتما ورژنبندی کنین. ورژنبندی باعث میشه Api رو راحتتر آپدیت کنین، بدون این که Breaking Change به وجود بیاد.
منظور از Breaking Change اینه که ورژن های قبلی از کار نیفتن (Break نشن)
روش های مختلفی برای ورژنبندی هست اما مرسومترینش اینه:
api/v1/users
api/v2/users
اگه بدون ورژنبندی بخواین تغییری تو Api ایجاد کنین، خیلی از کلاینت های قدیمی از کار میفتن (همون بحث Breaking Change)
@Linuxiz
منظور از Breaking Change اینه که ورژن های قبلی از کار نیفتن (Break نشن)
روش های مختلفی برای ورژنبندی هست اما مرسومترینش اینه:
api/v1/users
api/v2/users
اگه بدون ورژنبندی بخواین تغییری تو Api ایجاد کنین، خیلی از کلاینت های قدیمی از کار میفتن (همون بحث Breaking Change)
@Linuxiz
تا حالا پیش اومده یسری سایتا رفته باشی که انگار یه چیزی سر جاش نیست؟
این سایت به صورت چالشی و سرگرمکننده یسری Ui های مشابه رو میاره تا صحیحترین Ui رو انتخاب کنین که دقتتون بیشتر شه.
حتی بعد از رد شدن از هر مرحله، دلیل گزینه صحیح رو مینویسه.
https://cantunsee.space/
@Linuxiz
این سایت به صورت چالشی و سرگرمکننده یسری Ui های مشابه رو میاره تا صحیحترین Ui رو انتخاب کنین که دقتتون بیشتر شه.
حتی بعد از رد شدن از هر مرحله، دلیل گزینه صحیح رو مینویسه.
https://cantunsee.space/
@Linuxiz
کتابخونه blBot یه کتابخونه ساده و در عین حال کاربردی که برای ساخت بات های مختلف روی بله و تلگرام هست.
البته ساخت این کتابخونه برای دوران قطعی نت و دست و پا زدن توی مسنجر های مثل بله بوده پس تمرکز اصلیم برای بله بوده هرچند که خود api بله پر از ایراد نقص بود و هست
هنوز روی npm نبردم پس باید لوکال روی پروژه ها استفاده کرد
http://github.com/ali-googoojani/blBot
@Linuxiz
البته ساخت این کتابخونه برای دوران قطعی نت و دست و پا زدن توی مسنجر های مثل بله بوده پس تمرکز اصلیم برای بله بوده هرچند که خود api بله پر از ایراد نقص بود و هست
هنوز روی npm نبردم پس باید لوکال روی پروژه ها استفاده کرد
http://github.com/ali-googoojani/blBot
@Linuxiz
GitHub
GitHub - Ali-googoojani/blBot: a lightweight library for telegram and bale bots
a lightweight library for telegram and bale bots. Contribute to Ali-googoojani/blBot development by creating an account on GitHub.
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
تاحالا براتون سوال شده این رباتا چطوری روی دوتا چرخ به تعادل میرسن و نمیافتن؟ (الگوریتم PID)
@Linuxiz
@Linuxiz
❤2
این هوش مصنوعی Codex رو اگه خواستید رایگان استفاده کنید سعی نکنید از گزینه Sign In with Browser استفاده کنید چون ازتون شماره تلفن میخواد و تحریمه.
وارد این صفحه بشید
platform.openai.com
و یه API KEY بسازید بعد ابزار ترمینالیش یا اکستنشنش رو نصب کنید
npm install -g @openai/codex
در نهایت میتونید از اکانت رایگانش بدون تحریم و فیلتر استفاده کنید (برادرا زحمت کشیدن از مسیر آذربایجان ترافیک ایرانو عبور میدن) فقط حواستون باشه توکن های روزانتون توی پلن رایگانش محدوده برای کد های کوچیک خوبه و با دستور model/ هم میتونید بین مدل هاش سوییچ کنید اگه لیمیت خوردید.
@Linuxiz
وارد این صفحه بشید
platform.openai.com
و یه API KEY بسازید بعد ابزار ترمینالیش یا اکستنشنش رو نصب کنید
npm install -g @openai/codex
در نهایت میتونید از اکانت رایگانش بدون تحریم و فیلتر استفاده کنید (برادرا زحمت کشیدن از مسیر آذربایجان ترافیک ایرانو عبور میدن) فقط حواستون باشه توکن های روزانتون توی پلن رایگانش محدوده برای کد های کوچیک خوبه و با دستور model/ هم میتونید بین مدل هاش سوییچ کنید اگه لیمیت خوردید.
@Linuxiz
یه مرجع کامل برای یادگیری Docker آماده شده. این جزوه برای یه منبع فارسیِ، منسجم و کاربردی طراحی شده؛ مناسب هم برای شروع از صفر، هم برای عمیقتر کردن دانش.
این مجموعه بیشتر از ۱۷۰ تا مفهوم و دستور Docker رو کامل و به فارسی توضیح میده و برای هر مبحث یه روند مشخص داره؛ اول تعریف میکنه، بعد میگه چرا اصلاً این مفهوم وجود داره، مزایا و معایبش رو بررسی میکنه و در آخر هم یه مثال عملی میزنه. علاوه بر این، کلی نمونهکد قابل اجرا، جدول مقایسه و سناریوی واقعی از محیط کار داخلش هست که کمک میکنه مطالب رو بهتر و کاربردیتر بفهمین. از نظر محتوا هم از مباحث پایه شروع میکنه، مثل DevOps و تفاوت کانتینر با ماشین مجازی، و کمکم میرسه به موضوعاتی مثل Dockerfile، ساخت چندمرحلهای (Multistage Build)، مدیریت شبکه و storage، و در نهایت هم کار با Swarm و مباحث امنیت.
لینک مخزن:
https://github.com/Fatemebookanian/docker-guide-fa
@Linuxiz
این مجموعه بیشتر از ۱۷۰ تا مفهوم و دستور Docker رو کامل و به فارسی توضیح میده و برای هر مبحث یه روند مشخص داره؛ اول تعریف میکنه، بعد میگه چرا اصلاً این مفهوم وجود داره، مزایا و معایبش رو بررسی میکنه و در آخر هم یه مثال عملی میزنه. علاوه بر این، کلی نمونهکد قابل اجرا، جدول مقایسه و سناریوی واقعی از محیط کار داخلش هست که کمک میکنه مطالب رو بهتر و کاربردیتر بفهمین. از نظر محتوا هم از مباحث پایه شروع میکنه، مثل DevOps و تفاوت کانتینر با ماشین مجازی، و کمکم میرسه به موضوعاتی مثل Dockerfile، ساخت چندمرحلهای (Multistage Build)، مدیریت شبکه و storage، و در نهایت هم کار با Swarm و مباحث امنیت.
لینک مخزن:
https://github.com/Fatemebookanian/docker-guide-fa
@Linuxiz
GitHub
GitHub - Fatemebookanian/docker-guide-fa
Contribute to Fatemebookanian/docker-guide-fa development by creating an account on GitHub.
❤1
سوال های مصاحبهای در رابطه با Variable های جاوا اسکریپت:
https://www.frontendjoy.com/p/javascript-variables-17-quick-questions-you-need-to-master
@Linuxiz
https://www.frontendjoy.com/p/javascript-variables-17-quick-questions-you-need-to-master
@Linuxiz
FrontendJoy
✨🗳️ 17 JavaScript Variables Interview Questions
https://github.com/0xAX/linux-insides/tree/master
یک منبع مدرن و همیشه بروز برای یادگیری کرنل لینوکس.. بترتیب از بوت شدن تا ساختار کرنل، فصل به فصل در قالب فایل های Markdown توضیح میده..
نقطه مثبت بزرگی که داره، اینه که تقریبا پا به پای لینوکس، بروزرسانی میشه!
@Linuxiz
یک منبع مدرن و همیشه بروز برای یادگیری کرنل لینوکس.. بترتیب از بوت شدن تا ساختار کرنل، فصل به فصل در قالب فایل های Markdown توضیح میده..
نقطه مثبت بزرگی که داره، اینه که تقریبا پا به پای لینوکس، بروزرسانی میشه!
@Linuxiz
کتاب حاشیهنویسیهای ++C نوشتهی فرانک بی. بروکن، کتابی بهروز در مورد ++C که بیش از 1100 صفحه داره و طیف گستردهای از موضوعات رو پوشش میده :
fbb-git.gitlab.io/cppannotations
@Linuxiz
fbb-git.gitlab.io/cppannotations
@Linuxiz
یه ایده برای پولسازی بی نهایت!
یه بازی بسازید که بی نهایت مرحله داره! یه سری بازی هست بی نهایت مرحله داره مثل این بازی و مراحلش با الگوریتم ساخته میشن یوزر درگیرش بشه اصلا تمومش نمیتونه کنه که حذفش کنه و میتونید از تبلیغات پول در بیارید.
البته بازی نباید ساده باشه این بازی رو من بعد یه مدتی الگوریتم حل کردنش رو کشف کردم یه چیز پیچیده تر بسازید تا یوزر همیشه درگیرش باشه، خیلی خواهان داره.
@Linuxiz
یه بازی بسازید که بی نهایت مرحله داره! یه سری بازی هست بی نهایت مرحله داره مثل این بازی و مراحلش با الگوریتم ساخته میشن یوزر درگیرش بشه اصلا تمومش نمیتونه کنه که حذفش کنه و میتونید از تبلیغات پول در بیارید.
البته بازی نباید ساده باشه این بازی رو من بعد یه مدتی الگوریتم حل کردنش رو کشف کردم یه چیز پیچیده تر بسازید تا یوزر همیشه درگیرش باشه، خیلی خواهان داره.
@Linuxiz
آیا تاحالا سعی کردهاید بفهمید کامپایلرها و زبانهای برنامهنویسی چطوری کار میکنن؟
پس بیایید با هم یه کامپایلر بسازیم که از ابتدا از Resource تا Assembly رو پوشش بده
این کتاب به شما تئوری کامپایلر و برنامهنویسی اسمبلی کافی برای شروع رو آموزش میده. این کتاب از زیرمجموعهای از TypeScript استفاده میکنا که شبیه به شبهکد خونده میشه، از اینجا میتونید آنلاین بخونیدش گزینه دانلود نداره :
keleshev.com/compiling-to-assembly-from-scratch/#table-of-contents
@Linuxiz
پس بیایید با هم یه کامپایلر بسازیم که از ابتدا از Resource تا Assembly رو پوشش بده
این کتاب به شما تئوری کامپایلر و برنامهنویسی اسمبلی کافی برای شروع رو آموزش میده. این کتاب از زیرمجموعهای از TypeScript استفاده میکنا که شبیه به شبهکد خونده میشه، از اینجا میتونید آنلاین بخونیدش گزینه دانلود نداره :
keleshev.com/compiling-to-assembly-from-scratch/#table-of-contents
@Linuxiz
برنامه های ساخته شده با الکترون مثل VsCode و اسلک، سیگنال و... که حجمشون حدود 100 مگابایته اگه با Tauri ساخته میشدن حجمشون زیر 10 مگابایت میشد چون تائوری از مرورگر نیتیو سیستم عامل و زبان راست استفاده میکنه ولی الکترون از کرومیوم داخلی، مشکل این شرکتا با تائوری اینه که از زبان راست استفاده میکنه و فرانت کارا میانه خوبی باهاش ندارن (البته اون زمانی که اینا ساخته شدن اصلا تائوری نبود) ولی شما باید با تائوری آشنا بشید اگر بتونید زبان راست کد بزنید میتونید برنامه های فوق العاده کم حجمی همزمان برای اندروید، ای او اس، ویندوز، لینوکس و مک بسازین این یکی از منبع های خوب برای یادگیری تائوریه :
github.com/tauri-apps/awesome-tauri
@Linuxiz
github.com/tauri-apps/awesome-tauri
@Linuxiz
کتاب Operating systems and internal design از ویلیام استالینگز رو شروع کردم(که البته بنا به دلایلی تمومش نکردم) و اوایلش به یه کانسپت باحال به نام Instruction execution رسیدم!
(تو کتاب های ترجمه شده خیلی بد توضیح داده شده بود)
این که دقیقا تو پایین ترین لایه CPU چجوری دستورالعمل ها رو اجرا میکنه.
ما یه سری رجیستر تو CPU داریم که در حال حاضر با دو تا رجیستر PC و IR کار داریم.
فرض کنید یه توالی از اینستراکشن ها داریم که توی مموری لود شدن و از آدرس 100 شروع میشن. کلا دو تا استیج اصلی داریم: Fetch stage, Execution stage.
اولین اینستراکشن فچ میشه و توی رجیستر IR ذخیره میشه. حالا PC هم آدرس اینستراکشن بعدی رو ذخیره میکنه!
یعنی اگر اینستراکشن 100 فچ بشه مقدار 101 تو رجیستر PC ذخیره میشه!
مرحله Fetch stage هم اینستراکشنی که باید فچ کنه رو با مقدار PC پیدا میکنه.
این مراحل تا پایان تمامی Instruction ها ادامه پیدا میکنه.
@Linuxiz
(تو کتاب های ترجمه شده خیلی بد توضیح داده شده بود)
این که دقیقا تو پایین ترین لایه CPU چجوری دستورالعمل ها رو اجرا میکنه.
ما یه سری رجیستر تو CPU داریم که در حال حاضر با دو تا رجیستر PC و IR کار داریم.
فرض کنید یه توالی از اینستراکشن ها داریم که توی مموری لود شدن و از آدرس 100 شروع میشن. کلا دو تا استیج اصلی داریم: Fetch stage, Execution stage.
اولین اینستراکشن فچ میشه و توی رجیستر IR ذخیره میشه. حالا PC هم آدرس اینستراکشن بعدی رو ذخیره میکنه!
یعنی اگر اینستراکشن 100 فچ بشه مقدار 101 تو رجیستر PC ذخیره میشه!
مرحله Fetch stage هم اینستراکشنی که باید فچ کنه رو با مقدار PC پیدا میکنه.
این مراحل تا پایان تمامی Instruction ها ادامه پیدا میکنه.
@Linuxiz
یه کاری که حداقل از وقتی گیت هاب برگشته دارم میکنم و پیشنهادش میکنم به شما هم اینه که بیاید یدونه گیت لبی forgejo ای چیزی برای خودتون بیارید بالا
و ریپو هایی که براتون کاربردی اند رو mirror کنید
اینجوری تا وقتی نت هست اینا آپدیت میمونن
و وقتی ام نت نباشه بهش دسترسی دارید
خودم حدود ۷۰۰ تا ریپو رو میرور کردم
@Linuxiz
و ریپو هایی که براتون کاربردی اند رو mirror کنید
اینجوری تا وقتی نت هست اینا آپدیت میمونن
و وقتی ام نت نباشه بهش دسترسی دارید
خودم حدود ۷۰۰ تا ریپو رو میرور کردم
@Linuxiz
👏2👍1
یه پروژهی اوپن سورس خفن دیگه که کار یه ایرانی هم هست. برای تمام سیستمعاملها هم هست. دیگه IDM و ADM و بقیه دانلود منیجرای پر از تبلیغ و نیازمند کرک و سنگین رو بندازید دور. اپ اندرویدش رو امروز استفاده کردم و واقعا خوبه
https://github.com/amir1376/ab-download-manager
@Linuxiz
https://github.com/amir1376/ab-download-manager
@Linuxiz
GitHub
GitHub - amir1376/ab-download-manager: A Download Manager that speeds up your downloads
A Download Manager that speeds up your downloads. Contribute to amir1376/ab-download-manager development by creating an account on GitHub.
❤4😱1
عزیزانی که تازه دارید git یاد میگیرین ، این وبسایت به صورت interactive و گرافیکی بهتون مفاهیم branching رو یاد میده
https://learngitbranching.js.org/
@Linuxiz
https://learngitbranching.js.org/
@Linuxiz
learngitbranching.js.org
Learn Git Branching
An interactive Git visualization tool to educate and challenge!
😱1
سیستم دیزاین موضوع بسیار گستردهای هستش، حتی یه مهندس نرمافزار با سالها سابقه کار توی یه شرکت برتر فناوری ممکنه توی طراحی سیستم چیزی بارش نباشه.
این مخزن بهتون یاد میده که چطوری مصاحبه طراحی سیستم رو با رویکردی سیستماتیک توی مدت زمان کوتاهی انجام بدید :
github.com/checkcheckzz/system-design-interview
@Linuxiz
این مخزن بهتون یاد میده که چطوری مصاحبه طراحی سیستم رو با رویکردی سیستماتیک توی مدت زمان کوتاهی انجام بدید :
github.com/checkcheckzz/system-design-interview
@Linuxiz
❤1😱1