نوشته‌های ترمینالی
2.61K subscribers
422 photos
12 videos
32 files
2.24K links
Download Telegram
داکر هم با توجه به ماهیتش سخته که بخواد با کرنلی غیر از لینوکس کار کنه، حالا معماری هم متفاوت باشه که دیگه واویلا.

حالا اگر docker desktop رو نصب کنید خیلی خوب پیش‌نیازها هندل شده و out of the box کار می کنه، فقط محدودیتش اینه که باید تو پس زمینه اجرا باشه تا دستورای داکر کار کنه یعنی daemonی نداره.
اما مشکلی که هست اینه که خیلی کنده. خیلی خیلی کند گاهی. مخصوصا برای کارهایی که شامل کار با فایل‌های زیاد و دسترسی به file system می‌شه ترجمه‌ی سیستم‌کال‌ها گویا خیلی طول می‌کشه!


این مطلب راه‌های خوبی پیشنهاد داده و خیلی کامله.
https://www.syntasso.io/post/slow-performance-on-m1-macbooks-leads-to-supporting-multi-architecture-docker-builds

این پروژه هم ببینید بد نیست:
https://github.com/abiosoft/colima
و این هم آموزش استفاده ازش:
https://opensource.com/article/22/9/docker-desktop-colima


همچنین کاری که خودم کردم این بود: می‌تونید به جای desktop-linux از بیلدر دیفالت استفاده کنید. با یه چنین دستوری:

docker context use default


اینکه داستان چیه رو اینجا بخونید:
https://stackoverflow.com/a/49688931

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


ادیت:
دوستمون تو کامنت‌ها orb رو پیشنهاد کردن که فوق‌العاده چیز سریع و مرتبیه. حتما توصیه می‌کنم شما هم تست کنید.
https://orbstack.dev/
https://github.com/orbstack/orbstack
2
یه مشکل دیگه هم که ممکنه روی mac برخورده باشید اینه که ابزارهای پیشفرضی که نصب هستن (مثلا ls/rm/chmod/chown اینا) همون نسخه‌ی معادل لینوکسیشون نیستن.
به بیان دیگه توی گنو/لینوکس عمدتا توزیع‌ها از gnu coreutils استفاده می‌کنن و ما هم به فلگ‌هاشون عادت داریم، بعضی توزیع‌ها هم از چیزای جایگزین استفاده می‌کنن (مثلا alpine برای سبک بودن از یه نسخه‌‌ی خیلی سبک استفاده می‌کنه به اسم busybox)

نسخه‌ای که توی مک وجود داره هم هیچ کدوم از اینا نیست،‌ امکاناتی که لازم داریم رو هم خیلی اوقات نداره. اما خبر خوب اینکه همون پکیج‌های coreutils اینجا هم وجود دارن و می‌تونید نصب کنید.

اینجا دستورات نصب رو ببینید:
https://apple.stackexchange.com/questions/69223/how-to-replace-mac-os-x-utilities-with-gnu-core-utilities


البته خبر بد اینکه برای اینکه با ابزارهای اصلی توی PATH تداخل نکنن، اول اسمشون یه g اضافه شده مثلا gls به جای ls.
اما راه‌هایی داره که همون مطلب بالا رو توصیه می‌کنم ببینید.


لینک نصب و توضیحاتش از brew:
https://formulae.brew.sh/formula/coreutils
🆒1
اگه با مک کار کرده باشید، ممکنه مثل من با این accent menu به مشکل خورده باشید. یه منوئه که وقتی یه دکمه رو نگه دارید خودشو نشون میده و بهتون گزینه‌های دیگر همین کلیدی که نگه داشتید رو نشون میده، مثل چیزی که توی کیبورد تاچ گوشی‌ها گاها می‌بینیم.

برای غیرفعال کردنش با توجه به ux خوب این سیستم‌عامل، گزینه‌ی گرافیکی اصلا وجود نداره و باید تو ترمینال این دستور رو بزنید:


defaults write -g ApplePressAndHoldEnabled -bool false



توضیح accent menu:
https://support.apple.com/guide/mac-help/enter-characters-with-accent-marks-on-mac-mh27474/mac
👍1
اگه با latex بخواید تو مک کار کنید یه latex distribution خوبی که می‌تونید استفاده کنید و ابزارها رو به شکل مناسب داره، mactexئه، البته در همه‌ی سیستم‌عامل‌ها هم tectonic وجود داره که خیلی زیبا و سرراسته.
👍1😁1
می‌دونستین از رو لوگوی intel inside می‌تونید حدودا نسل پردازنده رو بفهمید؟
چطوری؟ با کمک این عکس.
🔥9😁31👍1
بحث rate limit هم جالبه. ایده اینه که یه سرور (یا کلا خدمت دهنده) داریم که به یکسری مشتری می‌خواد خدمت بده، اما نمی‌خواد یه مشتری زیاد از منابع استفاده کنه که سر سرور شلوغ بشه و به بقیه منابع نرسه. برای همین میان یه محدودیت می‌ذارن که مثلا هر اکانت می‌تونه روزی ۶۰۰۰ تا توییت بخونه یا ۲۰۰ تا توییت بنویسه یا این ip صد بار در روز بیشتر آب و هوا رو چک نکنه.
حالا الگوریتم‌های مختلفی که باهاش rate limit پیاده‌سازی می‌شه چیا هستن؟
https://nordicapis.com/different-algorithms-to-implement-rate-limiting-in-apis/
👍4
Forwarded from Python BackendHub
مقاله جالبه بخونید بنظرم

https://belief-driven-design.com/naming-stuff-is-hard-17fca2ee582/

میشه گفت مهم ترین اصل کلین کد اسم گذاری variable ها هست. چون شما هر طوری کد بزنی اگه اینو درست انجام ندی کدت کلین نیست.

همیشه تو هر کاری زیاده روی هست. به کسی که قراره کدتون رو maintain کنه رحم کنید و مثل عکس اسم گذاری نکنید :))


w 🚫
weight
weightKg
customerWeightInKg
customerCurrentWeightInKg🚫

@ManiFoldsPython
👍3
پارادایم‌های مختلف دیتابیس چیا هستن؟
دیتابیس‌های رابطه‌ای رو حتما دیدیم، شاید key-value store هم دیده باشید ولی با document-basedها هم آشنا هستین؟ با گراف‌بیس‌ها چی؟
https://www.youtube.com/watch?v=W2Z7fbCLSTw
👍4
اگر دنبال یک پاسخ سرراست و مختصر برای «وقتی گوگل رو باز میکنیم چه اتفاقی می افته» این ویدیو با انیمیشن‌های زیبا و عمق کم در مورد URL و http و DNS و TCP و تا حدی TLS صحبت می‌کنه.

https://youtu.be/AlkDbnbv7dk?feature=shared
👏3
Forwarded from Golem Course
ساختار تیمی بر معماری نرم‌افزار تاثیر می‌گذارد. این مفهوم با قانون کانوی شناخته می‌شود.

اگر در یک سازمان سه تیم فرانت‌اند، بک‌اند و پایگاه داده وجود داشته باشد، احتمالاً محصول نهایی معماری سه لایه‌ای خواهد داشت. برای مثال، اگر بخواهیم قابلیت انتخاب ژانر موسیقی را به محصول خود اضافه کنیم، هر سه تیم باید تغییراتی در لایه‌های خود اعمال کنند.

برای حل این مشکل، می‌توانیم ساختار تیم را تغییر دهیم. به جای تقسیم کار بر اساس فناوری، تقسیم کار را بر اساس حوزه کسب و کار انجام دهیم: یک تیم برای موجودی، یک تیم برای پرداخت و یک تیم برای مشتریان. حالا، اگر قابلیت انتخاب ژانر موسیقی را به محصول خود اضافه کنید، فقط یک تیم باید تغییرات را اعمال کند.

این عکس از کتاب Building Microservices گرفته شده است.

@golemcourse
3👍1
📣 فرصت شغلی | دعوت به همکاری

سلام

هلدینگ صنعتی آرین سعید، برای تکمیل کادر نرم افزار خود در دفتر پالادیوم، از دانشجویان و دانش آموختگان دانشگاه های برتر تهران دعوت به همکاری می‌نماید.

🔷 متخصص UI/UX
🔸 تجربه در ایجاد وایر فریم ، استوری بورد، جریان کاربر
🔸 داشتن مهارت در Photoshop ،Illustrator یا سایر ابزارهای طراحی دیداری و وایر فریم ها
🔸 داشتن مهارت در HTML ،CSS و JavaScript برای نمونه سازی سریع
🔸 داشتن توانایی حل مشکلات به صورت خلاقانه و مؤثر

🔷 متخصص Back End
🔸 توسعه، تست و اشکال زدایی برنامه های نرم افزاری
🔸 تهیه گزارشات و جمع آوری اطلاعات آماری با توجه به تسک های محول شده در هر اسپرینت
🔸 بروزرسانی و گسترش برنامه های موجود با توجه به وظایف محول شده در هر اسپرینت
🔸 تسلط به نرم‌افزارهای Python, Sql Server, Django, PostgreSql امتیاز محسوب می‌شود.
🔸 تسلط کافی به زبان انگلیسی برای تحقیق و توسعه

🔷 متخصص Front End
🔸 تسلط به قوانین طراحی وب و چارچوب یوزر فرندلی HTML, CSS
🔸 آشنایی با فریم ورک های CSS و JavaScript جهت پیاده سازی بهتر پروژه
🔸 مسلط به مباحث و مفاهیم Rest و API نویسی
🔸 آشنایی کامل با مفاهیم وب و فریم ورک‌های فرانت اند
🔸 تسلط بر version control و Git و code review و استانداردهای مستندسازی کد نرم افزار
🔸 روحیه‌ی کار تیمی، مسئولیت پذیری و انگیزه زیاد برای پیشرفت شخصی
🔸 تسلط کافی به زبان انگلیسی برای تحقیق و توسعه

🔷 مزایا:
🔸 وام، پاداش، بیمه تکمیلی، هزینه ناهار، در صورت نیاز به دوره آموزشی هزینه آن پرداخت می‌شود.

دانشجویان عزیز می‌توانند از طریق زیر، رزومه خود را ارسال کنند. در صورت نیاز به توضیح بیشتر از همین طریق در ارتباط باشید.
@Sina_BaniasadAzad
[email protected]

#ارسالی
1👍1
Forwarded from cyru55 unofficial channel (cyru55)
اینترنت مخابرات استان تهران قطع شد
حتی تلفن های مخابرات از دسترس خارج شدن

اگه از بقیه شهرها خبری دارید بگید
Forwarded from Milad Nouri(ツ) میلاد نوری
زندگی صابر راستی‌کردار، کوتاه، اما کارهای او بسیار با ارزش و ماندگار بود.

متاسفانه صابر (خالق فونت‌های زیبای وزیر‌ متن و گندم و شبنم و کلی فونت دیگر)، دیروز آسمانی شد.

با آرزوی صبر برای خانواده صابر عزیز.
روحش شاد 😔🖤
💔38😢5❤‍🔥32
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با mohammad.b

دسته‌بندی: #آموزشی #کاربردی

عکس توی ترمینال
نمیشه بشه هم چیز خوبی در نمیاد (یکم پیچیده میشه و باید ترمینالت ساپورت کنه) چون ترمینالا فقط کاراکتر میشناسن (ascii, unicode)
پس چطور این ابزارا مثل
libsixel
icat
ueberzug
کار میکنن:
libsixel
icat (kitty):
یک پروتکل خاص دارن و میان از

control characters

استفاده میکنن. بعد ترمینالت وقتی فلان کنترل کاراکتر رو میگیره میفهمه این عکسه و فلان پیکسلارو فلان جا باید یه رنگی بکنه برای همین برای این دوتا باید ترمینالت ساپورت کنه.
ueberzug (rip):
میاد مستقیم به X server میگه یک پنجره توی x, y ترمینالت بسازه و عکسو توش بزار برای همینم نیازی به ساپورت ترمینالت نداره

Source

توضیح سایت kitty راجبش

🔅@LinFAQ
🔅@LinAcademy
👍5
https://gist.github.com/probonopd/9feb7c20257af5dd915e3a9f2d1f2277



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


@sohrabcontents
👍1