DevTwitter | توییت برنامه نویسی
به اون کاری که امروز کردی نگو "ریفکتور" (Refactor). اگه تست نداره، اون فقط یه "گندکاریِ تمیزه". این فقط یه جملهی قشنگ نیست؛ این یه زخمه که من هنوز یادمه. اوایل کارم، میخواستم قهرمان باشم. ️ تو یه پروژهی لگسی، یه "God Function" هزار خطی پیدا کردم و گفتم:…
ریفکتور بدون تست، اسمش ریفکتور نیست. تغییرِ کورکورانهست.
وقتی هیچ تستی وجود نداره، تو حتی نمیتونی بفهمی رفتاری که از قبل درست بوده هنوز درسته یا نه. ظاهر کد شاید بهتر بشه، اما رفتار سیستم ممکنه بیصدا خراب شده باشه.
این یک قاعدهست:
اول رفتار فعلی سیستم رو با تستهات لاک کن، بعد ساختار رو تغییر بده.
بدون این کار، هر تغییری میتونه باگهای جدید بسازه، منطقهای پنهان رو بشکنه و Technical debt رو بیشتر کنه.
ریفکتور فقط زمانی معنی داره که “رفتار ثابت بماند”.
و بدون تست، هیچ تضمینی برای این جمله وجود نداره.
وقتی هیچ تستی وجود نداره، تو حتی نمیتونی بفهمی رفتاری که از قبل درست بوده هنوز درسته یا نه. ظاهر کد شاید بهتر بشه، اما رفتار سیستم ممکنه بیصدا خراب شده باشه.
این یک قاعدهست:
اول رفتار فعلی سیستم رو با تستهات لاک کن، بعد ساختار رو تغییر بده.
بدون این کار، هر تغییری میتونه باگهای جدید بسازه، منطقهای پنهان رو بشکنه و Technical debt رو بیشتر کنه.
ریفکتور فقط زمانی معنی داره که “رفتار ثابت بماند”.
و بدون تست، هیچ تضمینی برای این جمله وجود نداره.
👍8
گوگل پلی، مارکت اصلی دانلود نرمافزار برای اندروید، در نسخه ۴۸.۸ خود قابلیتی اضافه کرده که به کاربران امکان میدهد برنامهها را مستقیماً از دستگاههای دیگر متصل به همان حساب گوگل، بدون نیاز به دسترسی فیزیکی به آن دستگاهها، حذف کنند.
این قابلیت با افزودن دکمه "حذف نصب" در صفحه هر برنامه در پلیاستور برای دستگاههای مختلف، کار میکند و مدیریت برنامههای نصب شده روی دستگاههای متعدد را سادهتر میسازد.
این ویژگی به تدریج برای همه کاربران منتشر میشود.
همچنین، از سال ۲۰۲۶ برنامههای پرمصرف باتری با برچسب هشدار نمایش داده خواهند شد.
منبع: jetstream.blog
این قابلیت با افزودن دکمه "حذف نصب" در صفحه هر برنامه در پلیاستور برای دستگاههای مختلف، کار میکند و مدیریت برنامههای نصب شده روی دستگاههای متعدد را سادهتر میسازد.
این ویژگی به تدریج برای همه کاربران منتشر میشود.
همچنین، از سال ۲۰۲۶ برنامههای پرمصرف باتری با برچسب هشدار نمایش داده خواهند شد.
منبع: jetstream.blog
Jetstream
Google Play Store Launches Remote App Uninstall on Android [v48.8]
Google announces the release of a remote uninstall feature, allowing users to uninstall apps from other Android devices directly from the app page in the Google Play Store app for Android. A new "Uninstall" button will be added to the device list on each…
👍9
بوی کد (Code Smell)
(وقتی کد درست کار میکنه، اما یه جاییش بو میده)
گاهی برنامه بدون خطا اجرا میشه، خروجی هم درسته، ولی یه حس ناخوشایند توی کد هست؛ چیزی که روی کاغذ مشکل فنی نیست، اما از دید مهندسی «یه چیزی سر جاش نیست».
این همون بوی کده؛ نشونهای ظریف که میگه پشت ظاهر سالم، یه ضعف طراحی یا یه تصمیم اشتباه خوابیده.
جالب اینجاست که بوی کد برای همه یکسان نیست.
تجربه، سبک کاری و نگاه فنی، باعث میشه دو نفر یه فایل یکسان رو باز کنن و یکی بگه «اوکیه»، اون یکی بگه «این فردا برات دردسر میشه».
بوی کد لزوماً یعنی «کد بده» نیست؛ بلکه یه «هشدار زودهنگام»ه.
میگه شاید وقتشه سادهترش کنی، ساختارش رو بهتر کنی، یا حتی کل بخش رو دوباره طراحی کنی.
آخرش هم اینه:
کد خوب فقط درست کار نمیکنه؛ باید قابل فهم و قابل اعتماد هم باشه.
جایی که مهندسی و فهم انسانی با هم هماهنگ میشن، همونجاست که کد واقعاً کیفیت پیدا میکنه.
(وقتی کد درست کار میکنه، اما یه جاییش بو میده)
گاهی برنامه بدون خطا اجرا میشه، خروجی هم درسته، ولی یه حس ناخوشایند توی کد هست؛ چیزی که روی کاغذ مشکل فنی نیست، اما از دید مهندسی «یه چیزی سر جاش نیست».
این همون بوی کده؛ نشونهای ظریف که میگه پشت ظاهر سالم، یه ضعف طراحی یا یه تصمیم اشتباه خوابیده.
جالب اینجاست که بوی کد برای همه یکسان نیست.
تجربه، سبک کاری و نگاه فنی، باعث میشه دو نفر یه فایل یکسان رو باز کنن و یکی بگه «اوکیه»، اون یکی بگه «این فردا برات دردسر میشه».
بوی کد لزوماً یعنی «کد بده» نیست؛ بلکه یه «هشدار زودهنگام»ه.
میگه شاید وقتشه سادهترش کنی، ساختارش رو بهتر کنی، یا حتی کل بخش رو دوباره طراحی کنی.
آخرش هم اینه:
کد خوب فقط درست کار نمیکنه؛ باید قابل فهم و قابل اعتماد هم باشه.
جایی که مهندسی و فهم انسانی با هم هماهنگ میشن، همونجاست که کد واقعاً کیفیت پیدا میکنه.
👍15🍌1
آن کس که بداند و بداند که بداند
اسب خرد از گنبد گردون بجهاند
آن کس که بداند و نداند که بداند
آگاه نمایید که بس خفته نماند
آن کس که نداند و بداند که نداند
لنگان خرک خویش به منزل برساند
آن کس که نداند و نداند که نداند
در جهل مرکب ابدالدهر بماند
آن کس که بداند و بخواهد که بداند
خود را به بلندای سعادت برساند
آن کس که بداند و نداند که بداند
با کوزه آب است ولی تشنه بماند
آن کس که نداند و بخواهد که بداند
جان و تن خود را ز جهالت برهاند
آن کس که نداند و نخواهد که بداند
حیف است چنین جانوری زنده بماند
اسب خرد از گنبد گردون بجهاند
آن کس که بداند و نداند که بداند
آگاه نمایید که بس خفته نماند
آن کس که نداند و بداند که نداند
لنگان خرک خویش به منزل برساند
آن کس که نداند و نداند که نداند
در جهل مرکب ابدالدهر بماند
آن کس که بداند و بخواهد که بداند
خود را به بلندای سعادت برساند
آن کس که بداند و نداند که بداند
با کوزه آب است ولی تشنه بماند
آن کس که نداند و بخواهد که بداند
جان و تن خود را ز جهالت برهاند
آن کس که نداند و نخواهد که بداند
حیف است چنین جانوری زنده بماند
👍20❤7
جمنای ۳ منتشر شد و مثل این که خیلی خفنه و هنوز فرصت نکردم بشینم پاش.
❤7👍3
چیزی که این چند سال فهمیدم اینه که وقتی یکی ازت میپرسه
- "از کجا شروع کنم"
- "کتاب چی بخونم"
- " براش کار گیر میاد یا نه"
یعنی قرار نیست هیچ وقت اون کار رو شروع کنه وگرنه ازت نمیپرسید و به صورت خودجوش استارتش رو میزد. بعد که به مشکل خورد برای نکات ریز میومد سراغت!
— سروش
- "از کجا شروع کنم"
- "کتاب چی بخونم"
- " براش کار گیر میاد یا نه"
یعنی قرار نیست هیچ وقت اون کار رو شروع کنه وگرنه ازت نمیپرسید و به صورت خودجوش استارتش رو میزد. بعد که به مشکل خورد برای نکات ریز میومد سراغت!
— سروش
👍18❤5👎2
چند روز پیش که TOON هایپ شد یسری نظرات منفی هم دربارش داده شد یکی از اونها این بود که درسته میزان توکن رو کم می کنه ولی LLM ها روی JSON ها آموزش دیده شده اند پس از JSON میشه بازخورد بهتری گرفت ... ولی برعکس!
تو این ویدیو Theo این دو رو باهم مقایسه میکنه
https://www.youtube.com/watch?v=nTMP_rLZOYM
تو این ویدیو Theo این دو رو باهم مقایسه میکنه
https://www.youtube.com/watch?v=nTMP_rLZOYM
❤8👏1
آراد یک فونت آزاد هندسی، که ادامۀ پروژۀ فونت شبنم یادگار بهجا مانده از استاد صابر راستیکردار است. آراد در ۱۰ وزن و سه استایل نقطه طراحی شده و با توجه به ساختار و تعدد وزن ها، هم برای متون مناسب است، و هم در تیتر ها خودنمایی میکند.
برای همنشین انگلیسی از فونت Kanit استفاده شده و چند تغییر کوچک بر روی ساختار آن شکل گرفته است.
این فونت توسط محمد درویشی توسعه یافته و از پیوند زیر دریافتنیاست.
https://github.com/MohamadDarvishi/Arad
برای همنشین انگلیسی از فونت Kanit استفاده شده و چند تغییر کوچک بر روی ساختار آن شکل گرفته است.
این فونت توسط محمد درویشی توسعه یافته و از پیوند زیر دریافتنیاست.
https://github.com/MohamadDarvishi/Arad
❤7👍3
Reza Esmaeili's Thoughts
آراد یک فونت آزاد هندسی، که ادامۀ پروژۀ فونت شبنم یادگار بهجا مانده از استاد صابر راستیکردار است. آراد در ۱۰ وزن و سه استایل نقطه طراحی شده و با توجه به ساختار و تعدد وزن ها، هم برای متون مناسب است، و هم در تیتر ها خودنمایی میکند. برای همنشین انگلیسی از…
لینک چنل توسعهدهندهٔ فونت:
https://news.1rj.ru/str/MDarvishi_Type/563
https://news.1rj.ru/str/MDarvishi_Type/563
Telegram
محمد درویشی
نسخه جدید فونت آراد، یک بروزرسانی ساده نیست؛ بلکه تولد دوبارهٔ فونت است.
«آراد» یک فونت آزاد مخصوص متن است که ساختار هندسی، و لحنی دیجیتالی دارد.
آراد اکنون دارای قابلیت های متعددی است و عملکرد بهتری در متنها و عنوان ها دارد؛ برای رابط های کاربری و استفاده…
«آراد» یک فونت آزاد مخصوص متن است که ساختار هندسی، و لحنی دیجیتالی دارد.
آراد اکنون دارای قابلیت های متعددی است و عملکرد بهتری در متنها و عنوان ها دارد؛ برای رابط های کاربری و استفاده…
❤6👍1
از فروشگاههایی که روش پرداخت «تارا» دارن میتونین ۵۰ درصد آف تا سقف یک میلیون تومن بگیرید.
۱. اول در «تارا» ثبت نام کنین:
https://pwa.tara.mobi
۲. وارد فروشگاه اینترنتی مدنظرتون که از روش پرداخت «تارا» میشه بشین و سبدتون رو پر کنین و روش پرداخت رو «تارا» انتخاب کنین.
۳. توی فیلد «کد تخفیف» درگاه تارا بزنین:
از دست ندین.
۱. اول در «تارا» ثبت نام کنین:
https://pwa.tara.mobi
۲. وارد فروشگاه اینترنتی مدنظرتون که از روش پرداخت «تارا» میشه بشین و سبدتون رو پر کنین و روش پرداخت رو «تارا» انتخاب کنین.
۳. توی فیلد «کد تخفیف» درگاه تارا بزنین:
taraoff50از دست ندین.
❤7
Reza Esmaeili's Thoughts
از فروشگاههایی که روش پرداخت «تارا» دارن میتونین ۵۰ درصد آف تا سقف یک میلیون تومن بگیرید. ۱. اول در «تارا» ثبت نام کنین: https://pwa.tara.mobi ۲. وارد فروشگاه اینترنتی مدنظرتون که از روش پرداخت «تارا» میشه بشین و سبدتون رو پر کنین و روش پرداخت رو «تارا»…
سوالی داشتین بیاین Direct Message راهنماییتون کنم.
❤5👌1
Forwarded from Nyma
درود عزیز
مرسی از کد تخفیفی که گزاشتی❤️
من هدفون 3 تومنی رو 1800 گرفتم از تکنولایف
اینم 300 تومن واسه خرید اول تکنولایف بزار شاید بدرد کسی بخوره:
مرسی از کد تخفیفی که گزاشتی❤️
من هدفون 3 تومنی رو 1800 گرفتم از تکنولایف
اینم 300 تومن واسه خرید اول تکنولایف بزار شاید بدرد کسی بخوره:
NCBF❤8
Reza Esmaeili's Thoughts
درود عزیز مرسی از کد تخفیفی که گزاشتی❤️ من هدفون 3 تومنی رو 1800 گرفتم از تکنولایف اینم 300 تومن واسه خرید اول تکنولایف بزار شاید بدرد کسی بخوره: NCBF
یکی از دوستان کد تخفیف ۳۰۰ تومنی برای خرید اول «تکنولایف» معرفی کرده که از قضا پذیرنده روش پرداختی «تارا» هم هست.
❤8
Forwarded from DevTwitter | توییت برنامه نویسی
یه تلهی بزرگ که پروژهها و اغلب برنامهنویسهای بکند توش میوفتن، اینه که برای حل یه مشکل، سعی میکنن یه مشکل جدید ایجاد کنن.
دیتابیس همیشه Source of Truth هستش، و اضافه کردن لایهی کش، میتونه بعضی مواقع ریسک stale شدن دیتا رو ایجاد کنه. چون مثلا ممکنه در لحظهی آپدیت کش، ردیس خطا بده و ...
به نظر من کش زمانی باید به پروژه اضافه بشه که سیستم، زیر بار دیگه جوابگوی تعداد ریکوئستها نباشه و latency به اندازهی خوبی بالا رفته باشه. اندازهگیری این تاخیر هم، یه عدد ثابت نداره. باید در یک بازهی زمانی محاسبه بشه.
اگه احساس بر اینه که کوئریها سنگین هستن و باید کش اضافه بشه، میتونه چند تا احتمال وجود داشته باشه:
۱- نورمالیزیشن درست انجام نشده
۲- دومین درست تعریف نشده
۳- کوئریها بهینه نیستند (ممکنه بجای گرفتن لیستی از رکوردها، یکی یکی واکشی میشن)
@DevTwitter | <آرش | Arash/>
دیتابیس همیشه Source of Truth هستش، و اضافه کردن لایهی کش، میتونه بعضی مواقع ریسک stale شدن دیتا رو ایجاد کنه. چون مثلا ممکنه در لحظهی آپدیت کش، ردیس خطا بده و ...
به نظر من کش زمانی باید به پروژه اضافه بشه که سیستم، زیر بار دیگه جوابگوی تعداد ریکوئستها نباشه و latency به اندازهی خوبی بالا رفته باشه. اندازهگیری این تاخیر هم، یه عدد ثابت نداره. باید در یک بازهی زمانی محاسبه بشه.
اگه احساس بر اینه که کوئریها سنگین هستن و باید کش اضافه بشه، میتونه چند تا احتمال وجود داشته باشه:
۱- نورمالیزیشن درست انجام نشده
۲- دومین درست تعریف نشده
۳- کوئریها بهینه نیستند (ممکنه بجای گرفتن لیستی از رکوردها، یکی یکی واکشی میشن)
@DevTwitter | <آرش | Arash/>
❤8🍌1
Forwarded from DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
اگر قدرت AI در دستان همه است، مدیون تلاشهای بیوقفه پیشگامانی چون یان لکان هستیم.
این ویدئو سفری ست به سال 1989 (1368)؛روزگاری که جادهها آسفالت نبود و بسیاری از نفت برای گرم کردن استفاده میکردند، پژوهشگران در آمریکا در حال آموزش مدل های AI بینایی ماشین مبتنی بر شبکه عصبی بودند.
@DevTwitter | <Gratomic AI Bot/>
این ویدئو سفری ست به سال 1989 (1368)؛روزگاری که جادهها آسفالت نبود و بسیاری از نفت برای گرم کردن استفاده میکردند، پژوهشگران در آمریکا در حال آموزش مدل های AI بینایی ماشین مبتنی بر شبکه عصبی بودند.
@DevTwitter | <Gratomic AI Bot/>
❤14👏6👍1
Z-Image — Efficient Image Generation
https://z-image.ai
https://z-image.ai
❤4🍌2