| Erfan's Notes | – Telegram
| Erfan's Notes |
192 subscribers
81 photos
10 videos
101 links
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
نمی‌دونم با چه منطقی، ولی یوتیوب تصمیم گرفت این ویدیو 12 سال پیش رو بهم Suggest کنه و منم نشستم دیدم، پیاده‌سازی یک ترن‌هوایی سه‌بعدی در اکسل!

اولین کلمه‌ای که به ذهنم رسید، ترکیب W و T و F بود، ولی بعد که کمی فکر کردم دیدم که ما همین الانش هم داریم تقریبا مشابه این کار رو انجام میدیم! وقتی برای چاپ یک Hello World چند کیلو node_modules اجرا می‌شه، یا وقتی یک نفر با پایتون اپ موبایل توسعه میده، یا حتی همین VSCode و Discord ای که استفاده می‌کنیم با Electron هستند و ...

اینکه تکنولوژی پیش میره خوبه، ولی اینکه ما داریم تنبل‌تر می‌شیم و هزینه این تنبلی می‌افته روی دوش سخت‌افزار، نگران‌کنندست
من معمولا ترجیح می‌دم همیشه آخرین نسخه از هر پکیج رو در اولین فرصت دانلود و آپدیت کنم، برای همین از توزیع Arch Linux استفاده می‌کنم که به‌صورت Rolling Release آپدیت می‌گیره

نکته جالب اینجاست که از حدود یک‌ماه پیش به Mirror های ابر آروان سوئیچ کردم به جای Mirror های بین‌المللی آرچ لینوکس، چیزی که توجهم رو جلب کرد این بود که سرعت دانلود آپدیتم از حدود 16Mbps رسید به 120Mbps به لطف CDN های داخل کشور

ولی نکته عجیبی که متوجه شدم این بود که:‌ چرا پس هیچ پکیجی آپدیت نمی‌شه 😐، هرچی آپدیت میاد همش از AUR هست و چیزی از خود Mirror ها آپدیت نمی‌شه، تا اینکه الان نگاه کردم و طبق عکس بالا دیدم که Mirror ها رو ماهی یک‌بار آپدیت می‌کنند و Sync می‌کنند با Upstream اصلی! 😂 الان نزدیک به یک ماه هست که Sync نشده و می‌تونم حدس بزنم که حداقل 70-80 درصد پکیج های روی سیستم من براشون آپدیت عرضه شده در طول این یک ماه

پ.ن: آپدیت ماهانه برای توزیع‌هایی مثل Ubuntu یا Debian که ترجیح‌شون بر Stability هست، عادی هست و مشکلی نداره، ولی دیگه برای Arch Linux و توزیع‌های Rolling Release حتی اگه ساعتی Sync نمی‌کنید هم حداقل باید روزانه Sync کنید! مثل این می‌مونه که بهتون آب‌میوه رایگان بدند ولی از تاریخش یک ماه گذشته باشه.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
| Erfan's Notes |
من معمولا ترجیح می‌دم همیشه آخرین نسخه از هر پکیج رو در اولین فرصت دانلود و آپدیت کنم، برای همین از توزیع Arch Linux استفاده می‌کنم که به‌صورت Rolling Release آپدیت می‌گیره نکته جالب اینجاست که از حدود یک‌ماه پیش به Mirror های ابر آروان سوئیچ کردم به جای…
متوجه شدم که دانشگاه آزاد اصفهان هم Mirror هایی رو ارائه کرده، بهشون سوئیچ کردم (آخرین آپدیتش امروز بوده و ظاهرا روزانه آپدیت می‌شه،‌ باید ببینیم)، حدود 281 آپدیت اومده در طول این مدت که ابرآروان ازش بی‌خبرمون کرده بود، سرعت دانلود هم چیزی حدود 90Mbps یا همون 11MBPS هست
یه باگ Visual جالب توی گیت‌هاب دیدم، نمی‌دونم در چه شرایطی رخ می‌ده ولی خب همونطور که می‌بینید باعث شده که یک Card تکرار بشه یا به اصطلاح Duplicate بشه، مهم نیست توی چه سطحی باشید و چقدر CI و CD و تست داشته باشید، در هر صورت باگ رخ خواهد داد
🔥2
سال ۲۰۱۳ زمانی بود که اولین پروژه اندرویدی‌ام رو با Basic4Android به لطف و کمک یک اپ آموزشی نوشتم، اپی که اسمش «تکه کدهای B4A» بود و با نت 2g ایرانسل به زور تونسته بودم از کافه‌بازار دانلودش کنم

با پایان امروز، تقریبا ۱۰ سال کامل می‌شه که من برنامه‌نویسم، اگه توی ۲۰۱۳ قرار بود پیش‌بینی کنم ۲۰۲۳ رو، خودم رو یک اندروید دولوپر فوق حرفه‌ای می‌دیدم که «کافه‌بازار» اپ هاشو توی صفحه اول به نمایش گذاشته تا همه دانلود کنند…، ولی خب اینطوری پیش نرفت و اینطوری هم پیش نمیره، برای همین هیچ درکی از ۲۰۳۳ نمی‌تونم داشته باشم

از ۲۰۳۳ که سهله، حتی توی همین اوایل ۲۰۲۳ هم فکر نمی‌کردم که تا پایانش ۹۰ درصد سرچ های گوگل و استک اورفلو من تبدیل بشه به گفتگوی حرفه‌ای با یک Model زبانی (:

نکته ترسناک ماجرا اینجاست که ۱۰ سال بعدی رو اصلا می‌بینیم؟ در بهترین حالت قراره ۳-۴ تا از این ۱۰ سال ها رو ببینیم تا پایان عمرمون، که یکی دوتاش عمر مفید هست و مابقی‌اش عمر فرسوده، زمان واقعا ترسناکه

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

همونطوری که من با اندروید شروع کردم و الان حتی بلد نیستم یک Hello World بدون کمک سرچ برای اندروید بنویسم.
🔥13
با این سایت می‌تونید فعالیت‌های گیت‌هاب‌تون رو به شکل بلوک‌های سه‌بعدی ببینید

skyline.github.com
🔥5
سطح تولید محتوا در اینستاگرام

با HTML و CSS سایت نزنید، هرچی سایت تا به الان هک شده با HTML و CSS ساخته شده بوده
🔥15
اگه کاربر Arch Linux با مدیرپنجره i3wm یا Openbox یا چیز های مشابه باشید، احتمالا مشکل تصویر بالا براتون پیش اومده

قضیه از این قرار هست که بعد از هرگونه آپدیتی که mkinitcpio رو درگیر می‌کنه تا initramfs رو انجام بده، باعث reload شدن rule های udev می‌شه و نتیجه‌اش برای محیط های XOrg اینه که: تنظیماتی که برای Input هاتون از جمله کیبورد و موس و ... انجام دادید ریست می‌شه

مثلا مشکلی که برای من داشت این بود که بعد از آپدیت، زبان فارسی کیبوردم حذف می‌شد و سرعت موسم به هم می‌ریخت و Mouse Acceleration فعال می‌شد

چه اتفاقی می‌افته؟ قضیه رو توی تصویر بالا توضیح دادند ولی به صورت خلاصه اتفاقی که می‌افته این هست که با انجام شدن mkinitcpio یکبار به صورت کامل رول های udev ریلود می‌شن و همین باعث می‌شه دستگاه‌های شما به صورت مجازی یک‌بار قطع و وصل بشن، یعنی انگار کیبورد و موس‌تون رو یکبار درمیارید و از اول وصل می‌کنید

همین باعث می‌شه تنظیمات ریست بشه وقتی از setxkbmap یا xinput حین استارت‌آپ برای تنظیم این کانفیگ‌ها استفاده کنید (که در i3wm و openbox و ... کاملا مرسوم هست که تنظیمات رو یکبار حین استارت شدن سیستم در فایل کانفیگ اعمال می‌کنید)

راه‌حل چی هست؟ از روش های دم دستی و ماستمالی برای تنظیم خصوصیت های input ها استفاده نکنید (مثلا setxkbmap و xinput و ...) به جاش قشنگ یک کانفیگ فایل xorg ایجاد کنید که با ریلود شدن udev تنظیمات مجددا اعمال بشه
🔥5
پروتوتایپ برنامه‌نویسی با اپل ویژن پرو

همه چیز خوبه فقط با این کیبورد آخه؟
🔥10
اگه پی‌اچ‌پی و لاراول کار می‌کنید و قصد دارید که یک زبان کامپایلری و فریمورک مشابهی رو امتحان کنید، توصیه می‌کنم به Goravel نگاهی بندازید

فریمورک Goravel یک شبه‌فریمورک با تقلید از لاراول برای زبان GoLang هست

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

هنوز که هنوزه متدی برای shuffle کردن آرایه نداره و باید متد تعریف بشه

هنوز که هنوزه متدی برای انتخاب آیتم رندوم از آرایه نداره و باید متد تعریف بشه

هنوز که هنوزه میشه 🦧 و 🥒 و true و 5 رو باهم جمع کرد

هنوز که هنوزه متد sleep نداره و باید به تایم‌اوت و کال‌بک بسنده کرد

هنوز که هنوزه متد sort روی آرایه عددی، به صورت استرینگی کار می‌کنه

هنوز که هنوزه توافقی سر اینکه نفی باید 0 باشه یا false یا null یا undefined یا -1 یا … وجود نداره و ! همه رو شامل می‌شه

و حتی NaN هم با NaN برابر نیست

و در نهایت بعد از این همه سال، نباید سرچ من هنوز این باشه:
JS generate random number in range
🔥13
نسخه بتا 4.0.0 از JQuery ریلیز شده که می‌تونید تغییراتش رو اینجا ببینید

اینکه JQuery نسخه جدید داده واقعا نشون میده که تیم‌اش چقدر پشتکار داره، چون استفاده از JQuery به پایین‌ترین حد خودش رسیده در ده سال اخیر

مثل مقایسه کمپانی های تولید گوشی دکمه‌ای ساده هست، که هنوز OS شون رو آپدیت کنند…
قصد دارم بعد از اتمام پروژه فعلی، برای تفریح یک دوره آموزشی جدید ضبط کنم، بیشتر قصد دارید چه موضوعی باشه؟
Anonymous Poll
42%
ادامه دوره توسعه ربات
56%
دوره توسعه وب‌اپ های TWA برای تلگرام
31%
دوره VueJS
🔥14
مدت کوتاهی می‌شه که روی MacOS هستم و از اونجایی که ۸ سال اخیر رو تماما روی گنو/لینوکس با i3wm بودم(هنوز هم هستم)، استفاده از MacOS بدون Tiling WM و شورتکات‌ها و ... این مدت برام واقعا عذاب‌آور بود، تا اینکه بالاخره نرم‌افزار Yabai و skhd و Karabiner و Raycast رو نصب و کانفیگ کردم

نرم‌افزار Yabai در اصل شاهکاری هست که Tiling WM رو به MacOS میاره و دقیقا مثل i3wm و سایر Tiling WM ها،‌ پنجره‌های شما رو به صورت خودکار (مثل تصویر بالا) مدیریت می‌کنه

نرم‌افزار skhd یک سرویس و daemon ساده برای تعریف شورتکات کیبورد هست و نمونه شورتکات‌های تعریف شده رو هم می‌تونید در تصویر ببینید، در اصل ترکیب skhd با yabai باعث می‌شه که به لحاظ شورتکات کیبوردی هم به i3wm برسیم

نرم‌افزار Karabiner یک نرم‌افزار کامل و پیشرفته برای Remap کردن دکمه های کیبورد هست و سناریو های پیشرفته‌ای رو ساپورت می‌کنه، از جمله مفیدترین کارهایی که باهاش کردم دکمه های مسخره Command و Control و Option و ... در MacOS بوده رو تغییر دادم به شکلی که قبلا عادت داشتم

نرم‌افزار Raycast هم در اصل همون Rofi هست ولی با ظاهر شیک و برای آدم های پولدار (البته ما نسخه رایگانش رو استفاده می‌کنیم و پولمون نمی‌رسه)، در اصل یک منوی شناور مثل Rofi هست که می‌تونید با استفاده از اون اپلیکیشن‌ها و ... تون رو لانچ کنید

در کل، من به این ستاپ جدیدی که با کمک این 4 نرم‌افزار تونستم کانفیگ کنم، نمره 8 از 10 رو میدم به لحاظ نزدیکی به گنو/لینوکس با i3wm، اگر شما هم روزی ناچار به استفاده از مک شدید می‌تونید با این نرم‌افزارها و کانفیگ‌شون خودتون رو نجات بدید
🔥8321
یکی از پروژه هایی که باعث می‌شه پایتون قابل تحمل‌تر بشه برای برنامه‌نویس هایی مثل من که به {} عادت دارند

https://github.com/mathialo/bython
8542
403 Forbidden
1276
Media is too big
VIEW IN TELEGRAM
🔄 توی این ویدیو سرپایی نگاهی می‌اندازیم به patch شدن کرنل لینوکس توسط کارمند های گوگل، که با جابجایی چند متغیر تونستند باعث 40% افزایش پرفرمنس TCP بشن

همچنین درمورد مفهوم CPU Cache و Burst Length و چند تا چیزمیز مشابه دیگه صحبت می‌کنیم

پ.ن: فرایند ضبط ویدیو رو سعی کردم ساده‌تر کنم و دست‌انداز های مسیر رو کم‌تر کنم تا ویدیوهای بیشتری بتونم ضبط کنم، از بابت کیفیت متوسط صدا و عدم ادیت مناسب پیشاپیش دلجویی می‌کنم
Please open Telegram to view this post
VIEW IN TELEGRAM
832
ظاهرا اپل اخیرا یک پروژه اوپن سورس جدیدی رو منتشر کرده به اسم PKL که مخفف Pickle یا همون خیارشور هست

یک استاندارد جدید هست برای تعریف فایل های کانفیگ، با بهره‌گیری از قابلیت هایی مثل متغیر و شرط و حلقه و تایپ‌چک و ...

در واقع، بیشتر شبیه یک transpiler هست که ورودی رو به سینتکس خودش میگیره و خروجی رو به صورت JSON یا Yaml یا XML یا ... ترنسپایل می‌کنه و تحویل میده

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

داخلش هم الگوبرداری هایی از Typenoscript و Zod دیده می‌شه برای تایپ‌سیف بودن و تایپ‌چک، که کمی آشناتر می‌کنه این ابزار رو برای دولوپر های جاوا اسکریپت

دوست داشتید می‌تونید سینتکس‌اش رو یاد بگیرید و استفاده کنید، برای من تنها نکته مثبتش اینه که اپل هم کم‌کم داره به سمت اوپن‌سورس کردن پیش می‌ره و نشونه خوبی هست

pkl-lang.org/
6
احتمالا شما هم مثل من کانال ElectroBoom رو در یوتیوب سابسکرایب دارید، یا حداقل یکی از ویدیو های این شخص رو دیدید

معمولا توی همه ویدیوهاش هم یک برق گرفتگی جذابی داره

حالا نکته جالب اینجاست که با این ویدیو از BBC متوجه شدم که ایشون ایرانی-کانادایی هستند و مصاحبه‌شون هم فارسی هست، توصیه می‌کنم ببینید

و مورد بعدی هم این هست که، ایشون با ۷ میلیون سابسکرایبر توی یوتیوب، فکر کنم بزرگ‌ترین یوتیوبر ایرانی ایشون هستند، نه چرندیاتی مثل …

https://youtu.be/c9oqAbaXisg
12
به مناسبت ریلیز شدن نسخه 1.1 از BunJS، روی سیستم نصب کردمش و یک بنچمارکی ازش گرفتم در مقایسه با OpenSwoole عزیز که در عکس بالا می‌تونیم ببینیم

در حالت بنچمارک Single Thread:
بان: 220 هزار درخواست بر ثانیه
اوپن‌سوله: 148 هزار درخواست بر ثانیه

در حالت بنچمارک 8 ترد:
بان:‌ 146 هزار درخواست بر ثانیه
اوپن‌سوله: 166 هزار درخواست بر ثانیه

در حالت کلی، نزدیک به هم هستند و نکته خنده‌دار این هست که کل دنیا و JS کارها بابت پرفرمنس Bun هایپ شدند و معتقدند یه چیز انقلابی هست، با این وجود OpenSwoole ای که ده ساله همین پرفرمنس رو میده یه عده معتقدن PHP مرده 😏

پ.ن: این پست رو سومین بار هست که می‌فرستم، دو بار قبلی تصویر اشتباهی فرستاده بودم
پ.ن۲: طبیعی هست که پرفرمنس JS در حالت سینگل ترد بالاتر باشه چون خودش هم تک ترد Async هست و مولتی Instance نیست
پ.ن۳: انقدر باگ ZeroDay و مشکلات امنیتی و ... توی این هفته اخیر توی دنیا تکنولوژی پیدا شده،‌ که نمی‌دونم از کدوم بنویسم، خودتون برید بخونید
Please open Telegram to view this post
VIEW IN TELEGRAM
721
این ویدیو رو توصیه می‌کنم حتما ببینید، یک ویدیو با کیفیت و ارزشمند به تمام معناست، هم به لحاظ محتوایی و هم داستانی و اجرایی واقعا خوبه

موضوع ویدیو هم درباره پورت کردن Dot Net Framework برای ویندوز 95 هست، کاری که خود مایکروسافت از روی تنبلی یا … بیخیالش شد و ساپورت دات نت از ویندوز 98 به بعد شروع شد

https://youtu.be/CTUMNtKQLl8
44