این آرشیو جاییه برای چیزهای مفید: ایدهها، ابزارها، اشتباهها و درسهایی که میخوام دوباره ببینم.
بیشترش درباره نرمافزار، مهندسی و جنبهی عملی ساختن زندگی در کشوری جدیده.
درباره چه چیزهایی مینویسم؟#
- یادداشتهای فنی و آزمایشها
- ابزارها، جریان کار و سیستمهای کوچک
- تفکر محصولی و تصمیمهای نرمافزاری
- زندگی توی پرتغال و واقعیت ساختن چیزی جدید
هدف#
هدف سادهست: یادداشتهایی برای خودم که در آینده مفید باشه، شاید کمی کاربردی هم برای شما.
جبر خطی: خیلی بیشتر از چند تا عدد جبر خطی فقط یه درس خشک ریاضی نیست؛ در واقع یه زبان قدرتمنده برای اینکه بفهمیم چیزها چطور تغییر میکنن و توی فضاهای چندبعدی چه ارتباطی با هم دارن. شاید اولش فقط یه مشت ماتریس و بردار به نظر بیاد، ولی باور کنید، جبر خطی موتور محرک خیلی از تکنولوژیهاییه که هر روز داریم ازشون استفاده میکنیم.
مفاهیم اصلی و جذاب کل داستان جبر خطی دور دو تا مفهوم اصلی میچرخه:
...
قضیه اعداد اول چیه؟ همونطور که میدونید، اعداد اول اون اعدادی هستن که فقط به خودشون و ۱ بخشپذیرن. این تعریف ساده، پایه و اساس خیلی از مفاهیم ریاضیه. اما تا حالا فکر کردید چرا صفر یا اعداد زوج گنده جایی توی این دسته ندارن؟
چرا صفر کنسله؟ تعریف عدد اول: طبق تعریف، یه عدد اول باید دقیقاً دو تا مقسومعلیه متفاوت داشته باشه.
مشکل صفر: صفر رو به هر عددی تقسیم کنی، جواب میشه صفر. یعنی صفر بینهایت مقسومعلیه داره! این کلاً شرط اصلی عدد اول بودن رو نقض میکنه. جدا از این، صفر توی جمع و ضرب نقشهای خاصی داره (عنصر خنثی و …) که کلاً جنسش رو از بقیه اعداد متمایز میکنه.
...
چرا VS Code اینقدر داغونه؟ آقا خدایی چرا VS Code اینقدر خسته و سنگینه؟ یعنی هر چی پلاگین نصب میکنی بدتر میشه. انگار یه مرورگر کروم باز کردی فقط برای اینکه چهار خط کد بنویسی. واقعاً نمیفهمم چرا اینقدر محبوب شده.
چرا همه دارن ازش استفاده میکنن؟ بدتر از اون اینه که همه جا پر شده از این ادیتور. هر جا میری، هر آموزشی میبینی، همه دارن با VS Code کار میکنن. من که اصلاً راضی نیستم از این قضیه که اینقدر داره استاندارد میشه و جایگزین ادیتورهای سبکتر و سریعتر میشه. ولی خب، چه میشه کرد؟ زور بازار زیاده.
...
قضیه کوبرنتیز (K8s) چیه؟ خب، بیاید یه کم در مورد کوبرنتیز یا همون K8s صحبت کنیم. کوبرنتیز رو مثل کاپیتان کشتی کانتینرهاتون در نظر بگیرید. یه پلتفرم متنبازه که همه کارهای سخت و پیچیده رو براتون انجام میده: دیپلوی کردن، اسکیل کردن و مدیریت اپهای کانتینری. گوگل استارتش رو زد و الان دیگه تقریباً همه جا استاندارده و همه ازش استفاده میکنن.
چرا باحاله؟ اسکیل میشه: ترافیک سایت رفته بالا و اپلیکیشن داره میترکه؟ K8s خودش کانتینر اضافه میکنه. خلوت شده؟ کمش میکنه تا منابع هدر نره. به همین راحتی. خودش رو تعمیر میکنه: این قسمتش خیلی خفنه. اگه یه کانتینر کرش کنه، K8s دوباره رانش میکنه. اگه یه سرور (نود) کلاً از کار بیفته، کانتینرها رو میبره روی یه سرور سالم. انگار سیستم خود-ترمیمه. همه جا اجرا میشه: روی لپتاپ، تو فضای ابری، یا سرورهای شرکت—برای K8s فرقی نمیکنه. هر جا بخواید اجرا میشه. اکوسیستم بزرگ: چون همه ازش استفاده میکنن، کلی ابزار و پلاگین براش هست که کارتون رو راه بندازه. حالا K9s چیه؟ خب، kubectl خیلی خوبه و کار راه اندازه، ولی تایپ کردن دستورات طولانی در طول روز واقعاً خستهکننده میشه. اینجاست که K9s وارد میشه. یه رابط کاربری توی ترمیناله که گشت و گذار توی کلاسترها رو خیلی جذاب میکنه، انگار دارید بازی میکنید. کلاستر رو به صورت زنده مانیتور میکنه و میتونید با شورتکاتهای ساده کیبورد همه چی رو کنترل کنید.
...
چرا این سند؟ به عنوان یک برنامهنویس و یک کارآفرین و عمرن یک هکر، بعد از خواندن سند اریک استیون ریموند به نظرم رسید که بهتره من سند خودم رو که بهروزتره و تجربیات خودم هم درونش هست منتشر کنم. با این حال، من هم ادعای منحصر به فرد بودن در این موضوع رو ندارم؛ اگر از آنچه اینجا میخوانید خوشتان نمیآید، سند خودتان را بنویسید.
توجه: در پایان این سند فهرستی از پرسشهای متداول (FAQ) وجود دارد. لطفن قبل از ارسال هرگونه سوالی در مورد این سند، آنها را دوبار بخوانید.
...