قانون هیرام Hyrum’s میگه :
وقتی تعداد کاربران یک API به اندازه کافی زیاد بشه، دیگه مهم نیست توی قرارداد (یا مستندات رسمی) چی قول دادی؛ هر رفتاری که از سیستم قابل مشاهده باشه، بالاخره یه کاربر پیدا میشه که به اون وابسته باشه.
این یعنی :
فرض کن تو یه API نوشتی که لیستی از محصولات رو برمیگردونه. مستند نکردی که این لیست مرتبشدهست، اما بهطور تصادفی همیشه مرتب شده به نظر میرسه. حالا یه کاربر به این ترتیب عادت میکنه و اپلیکیشنشو طوری مینویسه که این ترتیب حفظ بشه. تو بعداً تصمیم میگیری ترتیب رو عوض کنی (چون "قول نداده بودی"). اما اپ اون کاربر خراب میشه.
@Linuxor
وقتی تعداد کاربران یک API به اندازه کافی زیاد بشه، دیگه مهم نیست توی قرارداد (یا مستندات رسمی) چی قول دادی؛ هر رفتاری که از سیستم قابل مشاهده باشه، بالاخره یه کاربر پیدا میشه که به اون وابسته باشه.
این یعنی :
فرض کن تو یه API نوشتی که لیستی از محصولات رو برمیگردونه. مستند نکردی که این لیست مرتبشدهست، اما بهطور تصادفی همیشه مرتب شده به نظر میرسه. حالا یه کاربر به این ترتیب عادت میکنه و اپلیکیشنشو طوری مینویسه که این ترتیب حفظ بشه. تو بعداً تصمیم میگیری ترتیب رو عوض کنی (چون "قول نداده بودی"). اما اپ اون کاربر خراب میشه.
@Linuxor
👍169🤣14❤2👎2
پی اچ پی توی ورژن 9 داره رو خودش کار میکنه که هرچی بهش بگین، نگه باشه و ارور بده مثلا دیگه نمیتونین استرینگ یا بولین رو ++ کنید یا یه متغیر که بولین بوده رو بیاین به عنوان آرایه استفاده کنید باید حتما قبلش به آرایه تبدیلش کنید خلاصه یه سری کارای مسخره و بی معنی که میشد انجام بدین رو دیگه نمیشه توی ورژن 9 انجام داد و برنامه ها کم باگ تر میشه.
@Linuxor
@Linuxor
👍175🤣32👎4🔥4
ابزار CSS Animation Generator یه ابزار کاربردی برای توسعهدهندگان فرانتانده که امکان تولید سریع و دقیق انیمیشنهای CSS رو بدون کد زدن فراهم میکنه. با این ابزار میتونی انیمیشنهای از پیش تعریفشده رو انتخاب کنی یا بهصورت کامل سفارشیسازی انجام بدی؛ مثلا تنظیم ویژگیهایی مثل animation-name، duration، delay و timing-function. این ابزار نهتنها فرآیند ساخت انیمیشن رو ساده میکنه، بلکه بهت کمک میکنه کدهای بهینهتری تولید کنی و زمان توسعه رو کاهش بدی، بدون اینکه نیاز به نوشتن دستی keyframes یا تست مداوم داشته باشی
webcode.tools/css-generator/keyframe-animation
@Linuxor
webcode.tools/css-generator/keyframe-animation
@Linuxor
👍51❤6🤣3🔥2
وقتی یه پرامپت ثابت میدی، مدل نمیاد همیشه فقط بهترین پاسخ ممکن رو بده. بلکه از بین مجموعهای از پاسخهای ممکن، به صورت تصادفی (البته کنترلشده) یکی رو انتخاب میکنه.
چرا اینطوری طراحی شدن؟
یکی از دلایلش بخاطر خلاقیت و تنوعه مثلا برای نوشتن داستان یا تولید تصویر، اینکه همیشه یه خروجی یکسان بده خیلی محدوده. مدل با تصادفیسازی کنترلشده (مثلاً با temperature یا top-k sampling) میتونه خلاقیت بیشتری نشون بده.
و یکی دیگه از دلایلش اینه برای یه سوال یا پرامپت خاص، ممکنه چند تا جواب خوب وجود داشته باشه. مدل سعی میکنه از بین اونا به شکل تصادفی انتخاب کنه تا متنوع باشه.
آیا میشه اینو خاموش کرد؟ آره. اگه بخوای مدل همیشه همون خروجی رو بده، باید seed ثابت استفاده کنی (تو مدلهای تصویری مثلاً) و temperature رو بذاری روی 0 تو مدلهای زبانی. اینجوری مدل همیشه "مطمئنترین" جواب ممکن رو میده.
@Linuxor
چرا اینطوری طراحی شدن؟
یکی از دلایلش بخاطر خلاقیت و تنوعه مثلا برای نوشتن داستان یا تولید تصویر، اینکه همیشه یه خروجی یکسان بده خیلی محدوده. مدل با تصادفیسازی کنترلشده (مثلاً با temperature یا top-k sampling) میتونه خلاقیت بیشتری نشون بده.
و یکی دیگه از دلایلش اینه برای یه سوال یا پرامپت خاص، ممکنه چند تا جواب خوب وجود داشته باشه. مدل سعی میکنه از بین اونا به شکل تصادفی انتخاب کنه تا متنوع باشه.
آیا میشه اینو خاموش کرد؟ آره. اگه بخوای مدل همیشه همون خروجی رو بده، باید seed ثابت استفاده کنی (تو مدلهای تصویری مثلاً) و temperature رو بذاری روی 0 تو مدلهای زبانی. اینجوری مدل همیشه "مطمئنترین" جواب ممکن رو میده.
@Linuxor
👍147👎3❤2🔥1🤣1
یه چیزی هست برای سلنیوم به اسم Selenium Base
اینا اومدن هرچی که برای وب اتومیشن با Selenium نیاز هست رو یه جا جمع کردن
مثلا واسه رد شدن از کلافلر یه مکانیزمی ساختن Chrome Devtools Protocol Mode که میتونید فعالش کنید و باتتون شبیه آدمیزاد بشه و رد بشید
github.com/seleniumbase/SeleniumBase
@Linuxor ~ teal33t
اینا اومدن هرچی که برای وب اتومیشن با Selenium نیاز هست رو یه جا جمع کردن
مثلا واسه رد شدن از کلافلر یه مکانیزمی ساختن Chrome Devtools Protocol Mode که میتونید فعالش کنید و باتتون شبیه آدمیزاد بشه و رد بشید
github.com/seleniumbase/SeleniumBase
@Linuxor ~ teal33t
👍96🔥12🤣7❤1
قدیما روی گوشی ها یه قابلیتی بود به اسم FM Transmitter یا که باهاش میتونستی روی موج رادیویی آهنگ پخش کنی، و با یه دستگاه دیگه مثلا داخل ماشین روی همون موج گوشش بدی، البته خیلی زود این قابلیت جمع شد چون پخش روی موج های رادیویی توی اکثر کشورا غیرقانونیه و نیاز به مجوز داره و ممکنه اختلال ایجاد بشه.
@Linuxor
@Linuxor
👍155🔥10👎4❤2
This media is not supported in your browser
VIEW IN TELEGRAM
از اون ویدیوهایی که دوست دارین، توی این ویدیو میبینین چطوری میشه پرید وسط یه برنامه که پشت در حال اجراست و چیز هایی که چاپ میکنه یا stdout اونو دید
@Linuxor
@Linuxor
👍100❤12🤣7🔥3
یه اشتباهی که برنامه نویس ها میکنن اینه که برای چک کردن تغییر یه فایل میآن و یه حلقه مینویسن و توش هر لحظه فایلو چکش میکنن در صورتی که لینوکس یه ویژگی داره به اسم inotify و میتونین ازش درخواست کنید که تغییرات فایل رو بهتون اطلاع بده
توی بیشتر زبانهای برنامهنویسی میشه بهراحتی از inotify استفاده کرد و میشه علاوه بر تغییر فایل وقتی که حذف، جابجا، تغییر مجوز یا فایل توسط کسی خونده شد رو از طریق سیستم عامل دریافت کرد.
@Linuxor
توی بیشتر زبانهای برنامهنویسی میشه بهراحتی از inotify استفاده کرد و میشه علاوه بر تغییر فایل وقتی که حذف، جابجا، تغییر مجوز یا فایل توسط کسی خونده شد رو از طریق سیستم عامل دریافت کرد.
@Linuxor
👍143❤2
اومدن سوالای المپیاد ریاضی امسال آمریکا رو بلافاصله بعد آزمون دادن به LLM هایی که reasoning دارن و کل اثبات رو چک کردن. نتیجه این شده که همهشون کمتر از 5% نمره رو تونستن بگیرن. این نشون میده که نمرههای خیلی خوب این مدلا تو تستای دیگه؛ احتمالا بخاطر اینه که سوالای شبیهش تو دیتای ترین وجود داشته یا اینکه با اثبات و منطق اشتباه صرفا تونستن جواب آخرو درست دربیارن. (مقاله)
@Linuxor ~ mohammadsh377
@Linuxor ~ mohammadsh377
👍192🤣22🔥3❤1👎1
با این لایبری جاوا اسکریپت میتونین انیمیشن های حرفه ای درست کنید، صفحه اول سایتش یه انیمیشن جالب گذاشته شده که با اسکرول کردن از زوایای مختلف دیده میشه
animejs.com
@Linuxor
animejs.com
@Linuxor
👍80🔥31👎4❤1
سیستمهای توزیعشده برای مقیاسپذیری، تحمل خطا و دسترسی بالا حیاتیان، ولی چالشهایی مثل مدیریت وضعیت، خرابی و ارتباط دارن.
الگوهایی مثل Ambassador، Circuit Breaker، CQRS، Sharding، Sidecar، Pub/Sub، Leader Election و Event Sourcing راهحلن.
این مقاله همهشو ساده توضیح داده:
newsletter.systemdesigncodex.com/p/8-must-know-distributed-system-design
@Linuxor
الگوهایی مثل Ambassador، Circuit Breaker، CQRS، Sharding، Sidecar، Pub/Sub، Leader Election و Event Sourcing راهحلن.
این مقاله همهشو ساده توضیح داده:
newsletter.systemdesigncodex.com/p/8-must-know-distributed-system-design
@Linuxor
👍53🔥6❤3👎1