لاغر بودن بعضی وقتا تو دنیای لینوکس دردسر داره.
مثال بزنم آلپاین ذاتاً برای «سبک بودن» ساخته شده، نه برای «راحت بودن»
تریدآف رو باس درنظر بگیری زیر پوستش به جای glibc از musl استفاده میکنه. این تفاوت کوچیک روی کاغذ، تو عمل تبدیل میشه به منبع دردسر... خیلی از باینری ها و پکیج ها تو دنیای لینوکس واسه glibc کامپایل شدن و وقتی میرسی به آلپاین، یا اصلاً اجرا نمیشن یا برای مثال npm و pip مجبور میشن همه چیز رو از سورس بسازن. همون لحظه ای که میبینی npm install به جای چند ثانیه، چند دقیقه داره میچرخه و cpu میره بالا، دقیقاً تاوان ماسل رو میدی…
این موضوع تو پروژههای nodejs خیلی پررنگ تره، مخصوصاً وقتی نیتیو ماژول داری. پکیج هایی مثل bcrypt یا sharp یا بدتر از اون canvas روی آلپاین تقریباً همیشه دردسر دارن. نتیجه اش این میشه که مجبوری git و python3 و make و ++g نصب کنی، node-gyp راه بندازی و عملاً آلپاین مینیمال رو کثیف میکنی.
از اون طرف پرفورمنس هم داستان خودش رو داره. ماسل سبک تره ولی سریع تر نیس. برای سرو فایل استاتیک با nginx اصلاً مهم نیست، اما اگه بک اند نود یا پایتون پرمصرف داشته باشی، مخصوصاً زیر لود، تفاوتش با دبیان یا راکی خودش رو نشون میده. این اختلاف معمولاً تو تست های کوچیک دیده نمیشه، ولی تو پروداکشن و ترافیک واقعی یهو میفهمی چرا بعضی تیم ها آلپاین رو فقط برای ران تایم خیلی ساده نگه میدارن.
اگه پای پایتون وسط باشه، آلپاین واقعاً میتونه شکنجه بشه. پکیج هایی مثل numpy و pandas و pillow معمولاً wheel آماده برای glibc دارن، ولی برای آلپاین نه. نتیجه اش بیلدهای طولانی، ارورهای cryptic و گاهی fail کامل بدون راه حل تمیزه. خیلی از تیم ها دقیقاً به همین دلیل اصلاً سراغ آلپاین برای پایتون نمیرن.
حتی تو بحث شبکه هم ماسل بعضی وقت ها رفتارهای عجیبی داره. dns resolve یا ssl هندشیک ممکنه روی آلپاین تایم اوت بده ولی همون کد روی اوبونتو کاملاً سالم اجرا بشه. اینا از اون باگ هایی اند که پیدا کردنشون زمان میبره و آخرش میفهمی مشکل از کدت نبوده، از لیب سی بوده.
و در نهایت آلپاین فقط وقتی ارزش داره که واقعاً مینیمال بمونه مخصوصاً واسه ران تایم حفظ بشه. به محض اینکه برای بیلد مجبور میشی کلی ابزار نصب کنی و مولتی استیج رو هم درست رعایت نکنی، هم حجم ایمیج میره بالا هم زمان بیلدش، و اون مزیت اصلی آلپاین عملاً نادیده گرفته میشه. به شخصه تو سناریو مینیمال که به glibc نیازه دبیان اسلیم رو گزینه معقولی میدونم.
@DevTwitter | <Amir Husayn Panahifar/>
مثال بزنم آلپاین ذاتاً برای «سبک بودن» ساخته شده، نه برای «راحت بودن»
تریدآف رو باس درنظر بگیری زیر پوستش به جای glibc از musl استفاده میکنه. این تفاوت کوچیک روی کاغذ، تو عمل تبدیل میشه به منبع دردسر... خیلی از باینری ها و پکیج ها تو دنیای لینوکس واسه glibc کامپایل شدن و وقتی میرسی به آلپاین، یا اصلاً اجرا نمیشن یا برای مثال npm و pip مجبور میشن همه چیز رو از سورس بسازن. همون لحظه ای که میبینی npm install به جای چند ثانیه، چند دقیقه داره میچرخه و cpu میره بالا، دقیقاً تاوان ماسل رو میدی…
این موضوع تو پروژههای nodejs خیلی پررنگ تره، مخصوصاً وقتی نیتیو ماژول داری. پکیج هایی مثل bcrypt یا sharp یا بدتر از اون canvas روی آلپاین تقریباً همیشه دردسر دارن. نتیجه اش این میشه که مجبوری git و python3 و make و ++g نصب کنی، node-gyp راه بندازی و عملاً آلپاین مینیمال رو کثیف میکنی.
از اون طرف پرفورمنس هم داستان خودش رو داره. ماسل سبک تره ولی سریع تر نیس. برای سرو فایل استاتیک با nginx اصلاً مهم نیست، اما اگه بک اند نود یا پایتون پرمصرف داشته باشی، مخصوصاً زیر لود، تفاوتش با دبیان یا راکی خودش رو نشون میده. این اختلاف معمولاً تو تست های کوچیک دیده نمیشه، ولی تو پروداکشن و ترافیک واقعی یهو میفهمی چرا بعضی تیم ها آلپاین رو فقط برای ران تایم خیلی ساده نگه میدارن.
اگه پای پایتون وسط باشه، آلپاین واقعاً میتونه شکنجه بشه. پکیج هایی مثل numpy و pandas و pillow معمولاً wheel آماده برای glibc دارن، ولی برای آلپاین نه. نتیجه اش بیلدهای طولانی، ارورهای cryptic و گاهی fail کامل بدون راه حل تمیزه. خیلی از تیم ها دقیقاً به همین دلیل اصلاً سراغ آلپاین برای پایتون نمیرن.
حتی تو بحث شبکه هم ماسل بعضی وقت ها رفتارهای عجیبی داره. dns resolve یا ssl هندشیک ممکنه روی آلپاین تایم اوت بده ولی همون کد روی اوبونتو کاملاً سالم اجرا بشه. اینا از اون باگ هایی اند که پیدا کردنشون زمان میبره و آخرش میفهمی مشکل از کدت نبوده، از لیب سی بوده.
و در نهایت آلپاین فقط وقتی ارزش داره که واقعاً مینیمال بمونه مخصوصاً واسه ران تایم حفظ بشه. به محض اینکه برای بیلد مجبور میشی کلی ابزار نصب کنی و مولتی استیج رو هم درست رعایت نکنی، هم حجم ایمیج میره بالا هم زمان بیلدش، و اون مزیت اصلی آلپاین عملاً نادیده گرفته میشه. به شخصه تو سناریو مینیمال که به glibc نیازه دبیان اسلیم رو گزینه معقولی میدونم.
@DevTwitter | <Amir Husayn Panahifar/>
👍39👎3💔1
«اینترنت پرو» برای کسبوکارها؛ اینترنت طبقاتی دیگر خجالتی نیست
https://digiato.com/tech/what-is-professional-internet-for-businesses
@DevTwiiter
https://digiato.com/tech/what-is-professional-internet-for-businesses
@DevTwiiter
👎86👍7❤2
فرض کن ۱۰ تا commit زدی
الان یه باگ عجیب پیدا شده… ولی نمیدونی از کدوم commit وارد شده.
میای چی کار میکنی؟
به جای اینکه ۱۰ تا commit رو یکییکی تست کنی، منطقیتر اینه تقسیمش کنی به دو نیمه
میری وسط تاریخچه.
اگر وسطی باگ داشت → یعنی مشکل تو نیمه دومه.
اگر نداشت → یعنی تو نیمه اوله.
دوباره همون نیمه رو نصف میکنی…
و همینطور ادامه میدی تا برسی به commit مقصر.
این دقیقاً همون کاریه که git bisect انجام میده.
یه Binary Search روی تاریخچه commitها.
`git bisect start
git bisect bad
git bisect good <last-good-commit>`
هر بار فقط میگی این نسخه good بود یا bad.
بقیه مسیر رو Git خودش محاسبه میکنه.
به جای ۱۰ بار تست، شاید فقط ۳–۴ بار تست کنی.
دیباگ حرفهای یعنی کمتر حدس بزنی، بیشتر الگوریتمی فکر کنی.
@DevTwitter | <Ali Askari/>
الان یه باگ عجیب پیدا شده… ولی نمیدونی از کدوم commit وارد شده.
میای چی کار میکنی؟
به جای اینکه ۱۰ تا commit رو یکییکی تست کنی، منطقیتر اینه تقسیمش کنی به دو نیمه
میری وسط تاریخچه.
اگر وسطی باگ داشت → یعنی مشکل تو نیمه دومه.
اگر نداشت → یعنی تو نیمه اوله.
دوباره همون نیمه رو نصف میکنی…
و همینطور ادامه میدی تا برسی به commit مقصر.
این دقیقاً همون کاریه که git bisect انجام میده.
یه Binary Search روی تاریخچه commitها.
`git bisect start
git bisect bad
git bisect good <last-good-commit>`
هر بار فقط میگی این نسخه good بود یا bad.
بقیه مسیر رو Git خودش محاسبه میکنه.
به جای ۱۰ بار تست، شاید فقط ۳–۴ بار تست کنی.
دیباگ حرفهای یعنی کمتر حدس بزنی، بیشتر الگوریتمی فکر کنی.
@DevTwitter | <Ali Askari/>
❤94👍31👎3
👎54👍38🔥9
🔥31👎11
به هیچ وجه کانفیگ نخرید که همش قطع میشه، با کانفیگهای رایگان خودتونو متصل نگه دارید.
یه لیست از چنلهایی که خودم باهاشون وصل میشم:
https://t.me/addlist/wC1rVBK5c1sxZTI0
@DevTwitter
یه لیست از چنلهایی که خودم باهاشون وصل میشم:
https://t.me/addlist/wC1rVBK5c1sxZTI0
@DevTwitter
🔥8👍7❤3
100 ساعت قطعی اینترنت، بدون هیچ اطلاعیه و خبری.
جمهوری اسلامی زمانی که نیاز به ارتباطات مهم تر از همیشهس، اینترنت رو به بهانهی امنیت قطع کرده.
امیدوارم هر جا هستید سلامت باشید.
@DevTwitter
جمهوری اسلامی زمانی که نیاز به ارتباطات مهم تر از همیشهس، اینترنت رو به بهانهی امنیت قطع کرده.
امیدوارم هر جا هستید سلامت باشید.
@DevTwitter
❤99👎19💔8
گروه هکری Void Verge: روتر های شبکه زیر ساخت رو مختل کردیم و منجر به عبور بخشی از ترافیک بینالملل شدیم
* به همین دلیل خیلیا متصل شدن
@DevTwitter
* به همین دلیل خیلیا متصل شدن
@DevTwitter
❤108👎8
همین راههای کمی هم که وجود داره، داره بسته میشه.
تقریبا DNSهای پابلیک همشون بسته شدن
تقریبا DNSهای پابلیک همشون بسته شدن
💔60👍7❤3
👍132💔24👎12
💔41👍4❤2
زومیت و دیجیاتو دفعهی قبل سر اینترنت خودشون رو پاره کرده بودن.
اینبار که اینترنت دارن صداشو در نمیاد، دارن خبرای معرفی گوشی و فیلم و اینا میذارن.
@DevTwitter
اینبار که اینترنت دارن صداشو در نمیاد، دارن خبرای معرفی گوشی و فیلم و اینا میذارن.
@DevTwitter
👍188💔19❤8
اینایی که تو اینستا الان نوتیف استوریشون میاد چجوری دارن استوری میذارن؟
من یه پیام تو تلگرام میفرستم بعد از دو روز ارسال میشه.
@DevTwitter
من یه پیام تو تلگرام میفرستم بعد از دو روز ارسال میشه.
@DevTwitter
👍36💔3❤1
#کوته_نیوز
خبری مبنی بر احتمال قطع برق دیتاسنترها وجود داره.
این یعنی قطع اینترانت شبکه بانکی و تمام وبسایتها و اپهای داخلی که در حال حاضر بهشون دسترسی داریم.
@DevTwitter
خبری مبنی بر احتمال قطع برق دیتاسنترها وجود داره.
این یعنی قطع اینترانت شبکه بانکی و تمام وبسایتها و اپهای داخلی که در حال حاضر بهشون دسترسی داریم.
@DevTwitter
👎23💔13👍3
این دو تا لیست مدام آپدیت میشن
لیست چنلهای کانفیگ
https://t.me/addlist/wC1rVBK5c1sxZTI0
لیست چنلهای پروکسی
https://t.me/addlist/bssx72lCERZhYmJk
@DevTwitter
لیست چنلهای کانفیگ
https://t.me/addlist/wC1rVBK5c1sxZTI0
لیست چنلهای پروکسی
https://t.me/addlist/bssx72lCERZhYmJk
@DevTwitter
❤9👎4👍1
سخنگوی دولت: داریم پیگیری میکنیم برای کسایی که میتونن صدا رو بیشتر برسونن؛ دسترسی به اینترنت فراهم شه.
* منظور سیمکارت سفیده، بعد هم اصرار دارن چیزی به اسم اینترنت طبقاتی نداریم.
@DevTwitter
* منظور سیمکارت سفیده، بعد هم اصرار دارن چیزی به اسم اینترنت طبقاتی نداریم.
@DevTwitter
👎69👍13💔5
👍14👎2❤1
نتبلاکس:
با گذشت 240 ساعت، قطعی اینترنت در ایران اکنون جزو شدیدترین قطعیهای سراسری اینترنت اعمالشده و دومین قطعی طولانی ثبتشده در ایران پس از اعتراضات ژانویه است، بهطوری که این کشور یکسوم از سال ۲۰۲۶ را در حالت آفلاین گذرانده است.
@DevTwitter
با گذشت 240 ساعت، قطعی اینترنت در ایران اکنون جزو شدیدترین قطعیهای سراسری اینترنت اعمالشده و دومین قطعی طولانی ثبتشده در ایران پس از اعتراضات ژانویه است، بهطوری که این کشور یکسوم از سال ۲۰۲۶ را در حالت آفلاین گذرانده است.
@DevTwitter
💔34❤8
👍30👎8💔6