Forwarded from محتوای آزاد سهراب (Sohrab)
Forwarded from Linuxor ?
نزدیک به 300k اینماد ثبت شده. شاید فکر کنید این نشون دهنده پیشرفت باشه و مردم دوست دارن به سمت استارتاپ و کسب و کار خودشون برن؛
اما آمار که میگه 99% شون شکست خوردن پس نشون دهنده پیشرفت نیست و چیز دیگه ای هستش، من بهش میگم آب از سر گذشتن... مردم وقتی امنیت شغلی نداشته باشن تمایل پیدا میکنن به ریسک کردن با زندگی خودشون و بجای کار کردن یه جای امن شروع میکنن به راه انداختن استارتاپ و کسب و کار خودشون و طبق تجربه ای که من دارم این فضا به هیچ کس رحم نمیکنه و بدبخت ترشون هم میکنه اتفاقا. هرچند آرزو دارم که هرکس کسبو کاری راه میندازه موفق بشه و خیلی کمک های مفیدی هم بالا توی کانال کردم :)
@Linuxor
اما آمار که میگه 99% شون شکست خوردن پس نشون دهنده پیشرفت نیست و چیز دیگه ای هستش، من بهش میگم آب از سر گذشتن... مردم وقتی امنیت شغلی نداشته باشن تمایل پیدا میکنن به ریسک کردن با زندگی خودشون و بجای کار کردن یه جای امن شروع میکنن به راه انداختن استارتاپ و کسب و کار خودشون و طبق تجربه ای که من دارم این فضا به هیچ کس رحم نمیکنه و بدبخت ترشون هم میکنه اتفاقا. هرچند آرزو دارم که هرکس کسبو کاری راه میندازه موفق بشه و خیلی کمک های مفیدی هم بالا توی کانال کردم :)
@Linuxor
Forwarded from Reza Jafari
چطور بهترین مدل ماشین لرنینگ رو برای پروژهمون انتخاب کنیم؟
انتخاب مدل مناسب یکی از مهمترین بخشهای هر پروژهی Machine Learning به حساب میاد. وقتی با انبوهی از الگوریتمها و گزینههای مختلف روبهرو میشی، خیلی راحت ممکنه سردرگم بشی؛ اینکه بهتره یک مدل ساده و قابل تفسیر رو انتخاب کنی یا یک مدل پیچیده که دقت بالاتری داره اما به سختی قابل توضیحه. یا اینکه باید دنبال بالاترین نمرهی معیارها باشی یا مدلی که سریعتر و راحتتر قابل پیادهسازیه. واقعیت اینه که بهترین مدل اونیه که متناسب با دادهها، نیازهای مسئله و انتظارات ذینفعها انتخاب بشه، نه صرفاً پیچیدهترین یا دقیقترین مدل.
برای شروع باید دقیق بدونی منظورت از «بهترین» در اون پروژه چیه. توی بعضی حوزهها مثل تشخیص تقلب، شاید بخوای به هر قیمتی موارد تقلب رو پیدا کنی حتی اگر چند هشدار اشتباه داشته باشی. در عوض، توی موتورهای پیشنهاد محصول یا فیلم، سرعت پردازش و مقیاسپذیری مهمتر از شفافیت مدل میشه. در پزشکی هم دقت پیشبینی حیاتی هست ولی اگر مدل توضیحپذیر نباشه، پزشک به اون اعتماد نمیکنه. بدون این وضوح، ممکنه مدلی انتخاب کنی که روی کاغذ عالی به نظر میاد اما در عمل کارایی نداره.
قدم بعدی شروع با یک baseline ساده است. به جای اینکه مستقیم بری سراغ neural network یا مدلهای ensemble، اول با الگوریتمهای سادهای مثل linear regression، logistic regression یا decision tree شروع کن. این مدلها کمک میکنن بفهمی دادههات به طور پایهای چقدر اطلاعات دارن و آیا ارزش داره به سمت مدلهای پیچیدهتر بری یا نه. در ضمن، همین baselineها نقطهی مقایسهای ایجاد میکنن که باهاش بتونی عملکرد مدلهای پیشرفتهتر رو واقعبینانه بسنجی.
بعد از داشتن baseline باید معیار درست رو برای سنجش موفقیت انتخاب کنی. Accuracy شاید معروفترین معیار باشه، اما همیشه مناسب نیست، مخصوصاً وقتی دادهها نامتعادلن. مثلاً در تشخیص یک بیماری نادر، اگر همیشه بگی «بیمار نیست»، به ظاهر دقت خیلی بالایی به دست میاری ولی در واقع مدلی ساختی که هیچ فایدهای نداره. برای همین باید بسته به نوع مسئله، معیارهایی مثل Precision، Recall، F1 Score یا ROC-AUC رو در نظر بگیری. در مسائل رگرسیون هم شاخصهایی مثل RMSE، MAE یا R² میتونن دید درستی از کیفیت پیشبینی بهت بدن.
وقتی معیار مشخص شد، باید مطمئن بشی نتایج قابل اعتمادن. استفاده از Cross-Validation جلوی اینکه یک بار تقسیمبندی train و test باعث خوششانسی یا بدشانسی بشه رو میگیره. با تقسیم داده به چند بخش و چرخوندن نقش test بین اونها، تصویر واقعیتر و پایدارتری از عملکرد مدل به دست میاری. این موضوع مخصوصاً وقتی داده کمی داری خیلی مهمه.
از طرف دیگه، باید تعادل بین دقت و Interpretability رو هم در نظر بگیری. شاید مدلهای پیشرفته مثل gradient boosting یا deep learning بهترین اعداد رو نشون بدن، اما اگر کسی نتونه توضیح بده مدل چرا این تصمیم رو گرفته، بهخصوص در حوزههای حساس مثل سلامت یا مالی، پذیرش اون سخت میشه. ابزارهایی مثل SHAP یا LIME میتونن کمک کنن، ولی خودشون پیچیدگی اضافه میکنن و همه جا هم پذیرفته نیستن.
در نهایت، هیچ چیزی جای آزمایش روی دادهی واقعی رو نمیگیره. دادههای آزمایشگاهی تمیز و مرتب معمولاً با شرایط پر از نویز و خطا در دنیای واقعی فاصله دارن. مدلی که در محیط تست خوب عمل میکنه، ممکنه وقتی وارد تولید بشه، با مشکلاتی مثل تغییر شرایط اقتصادی یا ورود دادههای عجیب و غیرمنتظره عملکردش افت کنه. برای همین توصیه میشه همیشه مدل رو توی یک محیط staging یا پایلوت روی دادهی واقعی آزمایش کنی و علاوه بر دقت، پایداری، سرعت و منابع مصرفی رو هم بررسی کنی.
جمعبندی اینه که انتخاب بهترین مدل بیشتر از اینکه مسابقه برای پیدا کردن پیچیدهترین الگوریتم باشه، فرآیندی برای هماهنگ کردن مدل با نیاز واقعی مسئله و محدودیتهاست. با تعریف هدف روشن، شروع ساده، انتخاب معیار درست، استفاده از cross-validation، حفظ تعادل بین دقت و توضیحپذیری و در نهایت تست در شرایط واقعی، میتونی مطمئن باشی مدلی که انتخاب میکنی واقعاً بهترین گزینه برای کارته.
🔤 🔤 🔤 🔤 🔤 🔤 🔤
🥇 اهورا اولین اپراتور هوش مصنوعی راهبردی ایران در حوزه ارائه خدمات و سرویسهای زیرساخت هوش مصنوعی
🌐 لینک ارتباط با اهورا
@reza_jafari_ai
انتخاب مدل مناسب یکی از مهمترین بخشهای هر پروژهی Machine Learning به حساب میاد. وقتی با انبوهی از الگوریتمها و گزینههای مختلف روبهرو میشی، خیلی راحت ممکنه سردرگم بشی؛ اینکه بهتره یک مدل ساده و قابل تفسیر رو انتخاب کنی یا یک مدل پیچیده که دقت بالاتری داره اما به سختی قابل توضیحه. یا اینکه باید دنبال بالاترین نمرهی معیارها باشی یا مدلی که سریعتر و راحتتر قابل پیادهسازیه. واقعیت اینه که بهترین مدل اونیه که متناسب با دادهها، نیازهای مسئله و انتظارات ذینفعها انتخاب بشه، نه صرفاً پیچیدهترین یا دقیقترین مدل.
برای شروع باید دقیق بدونی منظورت از «بهترین» در اون پروژه چیه. توی بعضی حوزهها مثل تشخیص تقلب، شاید بخوای به هر قیمتی موارد تقلب رو پیدا کنی حتی اگر چند هشدار اشتباه داشته باشی. در عوض، توی موتورهای پیشنهاد محصول یا فیلم، سرعت پردازش و مقیاسپذیری مهمتر از شفافیت مدل میشه. در پزشکی هم دقت پیشبینی حیاتی هست ولی اگر مدل توضیحپذیر نباشه، پزشک به اون اعتماد نمیکنه. بدون این وضوح، ممکنه مدلی انتخاب کنی که روی کاغذ عالی به نظر میاد اما در عمل کارایی نداره.
قدم بعدی شروع با یک baseline ساده است. به جای اینکه مستقیم بری سراغ neural network یا مدلهای ensemble، اول با الگوریتمهای سادهای مثل linear regression، logistic regression یا decision tree شروع کن. این مدلها کمک میکنن بفهمی دادههات به طور پایهای چقدر اطلاعات دارن و آیا ارزش داره به سمت مدلهای پیچیدهتر بری یا نه. در ضمن، همین baselineها نقطهی مقایسهای ایجاد میکنن که باهاش بتونی عملکرد مدلهای پیشرفتهتر رو واقعبینانه بسنجی.
بعد از داشتن baseline باید معیار درست رو برای سنجش موفقیت انتخاب کنی. Accuracy شاید معروفترین معیار باشه، اما همیشه مناسب نیست، مخصوصاً وقتی دادهها نامتعادلن. مثلاً در تشخیص یک بیماری نادر، اگر همیشه بگی «بیمار نیست»، به ظاهر دقت خیلی بالایی به دست میاری ولی در واقع مدلی ساختی که هیچ فایدهای نداره. برای همین باید بسته به نوع مسئله، معیارهایی مثل Precision، Recall، F1 Score یا ROC-AUC رو در نظر بگیری. در مسائل رگرسیون هم شاخصهایی مثل RMSE، MAE یا R² میتونن دید درستی از کیفیت پیشبینی بهت بدن.
وقتی معیار مشخص شد، باید مطمئن بشی نتایج قابل اعتمادن. استفاده از Cross-Validation جلوی اینکه یک بار تقسیمبندی train و test باعث خوششانسی یا بدشانسی بشه رو میگیره. با تقسیم داده به چند بخش و چرخوندن نقش test بین اونها، تصویر واقعیتر و پایدارتری از عملکرد مدل به دست میاری. این موضوع مخصوصاً وقتی داده کمی داری خیلی مهمه.
از طرف دیگه، باید تعادل بین دقت و Interpretability رو هم در نظر بگیری. شاید مدلهای پیشرفته مثل gradient boosting یا deep learning بهترین اعداد رو نشون بدن، اما اگر کسی نتونه توضیح بده مدل چرا این تصمیم رو گرفته، بهخصوص در حوزههای حساس مثل سلامت یا مالی، پذیرش اون سخت میشه. ابزارهایی مثل SHAP یا LIME میتونن کمک کنن، ولی خودشون پیچیدگی اضافه میکنن و همه جا هم پذیرفته نیستن.
در نهایت، هیچ چیزی جای آزمایش روی دادهی واقعی رو نمیگیره. دادههای آزمایشگاهی تمیز و مرتب معمولاً با شرایط پر از نویز و خطا در دنیای واقعی فاصله دارن. مدلی که در محیط تست خوب عمل میکنه، ممکنه وقتی وارد تولید بشه، با مشکلاتی مثل تغییر شرایط اقتصادی یا ورود دادههای عجیب و غیرمنتظره عملکردش افت کنه. برای همین توصیه میشه همیشه مدل رو توی یک محیط staging یا پایلوت روی دادهی واقعی آزمایش کنی و علاوه بر دقت، پایداری، سرعت و منابع مصرفی رو هم بررسی کنی.
جمعبندی اینه که انتخاب بهترین مدل بیشتر از اینکه مسابقه برای پیدا کردن پیچیدهترین الگوریتم باشه، فرآیندی برای هماهنگ کردن مدل با نیاز واقعی مسئله و محدودیتهاست. با تعریف هدف روشن، شروع ساده، انتخاب معیار درست، استفاده از cross-validation، حفظ تعادل بین دقت و توضیحپذیری و در نهایت تست در شرایط واقعی، میتونی مطمئن باشی مدلی که انتخاب میکنی واقعاً بهترین گزینه برای کارته.
@reza_jafari_ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Gopher Academy
🔵 عنوان مقاله
Flight Recorder in Go 1.25
🟢 خلاصه مقاله:
Flight Recorder در Go 1.25 ابزاری تشخیصی است که بهصورت پیوسته ردیابی اجرای برنامه را ضبط میکند و چند ثانیهی اخیر را در یک بافر چرخشی نگه میدارد. مزیت اصلی این است که پس از وقوع مشکل، میتوان همان پنجره زمانیِ مرتبط را ذخیره و تحلیل کرد، بدون نیاز به فعالبودنِ دائمیِ ردیابی سنگین. این قابلیت برای عیبیابی مسائل گذرا در محیط production—مثل افزایش مقطعی تاخیر، بنبستها، رقابت بر سر قفلها یا تعاملات GC—با سربار کم مفید است و زمان رسیدن به ریشه مشکل را کاهش میدهد. همچنین میتوان بخش ضبطشده را صادر کرد و در ابزارهای آشنای ردیابی Go بررسی نمود تا اتفاقات منتهی به رخداد بهروشنی دیده شود.
#Go #Go125 #FlightRecorder #Tracing #Diagnostics #Observability #ProductionDebugging #Profiling
🟣لینک مقاله:
https://golangweekly.com/link/175049/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Flight Recorder in Go 1.25
🟢 خلاصه مقاله:
Flight Recorder در Go 1.25 ابزاری تشخیصی است که بهصورت پیوسته ردیابی اجرای برنامه را ضبط میکند و چند ثانیهی اخیر را در یک بافر چرخشی نگه میدارد. مزیت اصلی این است که پس از وقوع مشکل، میتوان همان پنجره زمانیِ مرتبط را ذخیره و تحلیل کرد، بدون نیاز به فعالبودنِ دائمیِ ردیابی سنگین. این قابلیت برای عیبیابی مسائل گذرا در محیط production—مثل افزایش مقطعی تاخیر، بنبستها، رقابت بر سر قفلها یا تعاملات GC—با سربار کم مفید است و زمان رسیدن به ریشه مشکل را کاهش میدهد. همچنین میتوان بخش ضبطشده را صادر کرد و در ابزارهای آشنای ردیابی Go بررسی نمود تا اتفاقات منتهی به رخداد بهروشنی دیده شود.
#Go #Go125 #FlightRecorder #Tracing #Diagnostics #Observability #ProductionDebugging #Profiling
🟣لینک مقاله:
https://golangweekly.com/link/175049/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
Flight Recorder in Go 1.25 - The Go Programming Language
Go 1.25 introduces a new tool in the diagnostic toolbox, flight recording.
Forwarded from code2 - تکنولوژی و فناوری
یه مدل با نام supernova عرضه شده که ide های cursor و windsurf هم فعلا به رایگان ارائه میدند و میتونید ازش استفاده کنید.
به نظر میرسه فعلا مشخص نیست عرضه کنندهاش چه شرکتی هست و صرفا توسط بازیگرهای اصلی حوزه ide های هوش مصنوعی به صورت پارتنرشیپ داره عرضه میشه.
اما در مجموع مدل خوب و قوی و راضی کنندهای هست. از مودل کد زدن و اجرای دستوراتش حس میکنم که از مدلهای چینی باید باشه. البته صرفا حدس. به نظرم ارزش امتحان کردن داره.
@code2_ir
کانال کد۲
به نظر میرسه فعلا مشخص نیست عرضه کنندهاش چه شرکتی هست و صرفا توسط بازیگرهای اصلی حوزه ide های هوش مصنوعی به صورت پارتنرشیپ داره عرضه میشه.
اما در مجموع مدل خوب و قوی و راضی کنندهای هست. از مودل کد زدن و اجرای دستوراتش حس میکنم که از مدلهای چینی باید باشه. البته صرفا حدس. به نظرم ارزش امتحان کردن داره.
مدل کدنویسی سوپرنوا یک مدل هوش مصنوعی کدنویسی جدید، رایگان و بهسرعت در حال ظهور است که قابلیتهای چندحالته (مولتیمودال) دارد و روی پلتفرمهایی مانند Kilo Code و Cursor در دسترس است. این مدل میتواند کد را از روی تصاویر درک و تولید کند و یک پنجرهی متنی بسیار بزرگ با ظرفیت ۲۰۰,۰۰۰ توکن ارائه میدهد، هرچند در انجام وظایف پیچیده نتایج متناقضی نشان داده است. برخی معتقدند که این مدل میتواند نسخهای از هوش مصنوعی کدنویسی Grok باشد. همچنین یک نسخهی بزرگتر با پنجرهی متنی ۱ میلیون توکن نیز منتشر شده است.
@code2_ir
کانال کد۲
Forwarded from کانال مهرداد لینوکس
ممنون از همه دوستانی که در نظر سنجی شرکت کردند 💐❤️
Forwarded from DevTwitter | توییت برنامه نویسی
کامپیوترها برای نگهداری و نمایش کاراکترهای یک متن از یه فضای یک بایتی (معادل هشت بیت 0 یا 1) استفاده میکردن
این میزان فضا توی کامپیوتر میتونه شامل 255 حالت مختلف بشه
کامپیوترها برای نشانههای گرامری، حروف انگلیسی و عدد از استاندارد اسکی (ASCII) استفاده میکردن
این استاندارد آمریکایی میاد برای هر کاراکتر یه معادل عددی تعریف میکنه
مثلا کاراکتر A در اسکی معادل عدد 65هست
قرار گرفتن این اعداد پشت سر هم در کامپیوتر یک متن رو میسازه
مشابه این استاندارد معادل عددی برای پشتیبانی از تمام زبانهای دنیا به وجود اومد که یونیکد (Unicode) نام داره
کاراکترهای انگلیسی و اعداد انگلیسی توی یونیکد از همون اعداد استاندارد اسکی استفاده میکنن و در ادامه پشتیبانی از کاراکترهای بقیه زبانهای دنیا بهش اضافه میشه
یونیکد در حال حاضر دارای چیزی حدود 297,000 معادل عددی برای کاراکترهای مختلف از زبانهای مختلف، اموجیها و ... هست
فضای یک بایتی برای پشتیبانی از این میزان حالتهای مختلف کافی نیس
شما برای این جا دادن این میزان از حالتهای مختلف به شکل بیت کامیپوتر به حداقل سه بایت نیاز دارین
سه بایت میتونه تا حدود 16 میلیون عدد مختلف رو برای شما نگه داری کنه
حالا شما برای نگهداری یک متن که شامل کاراکترهای
یونیکد هست نیاز دارین 3 بایت برای هر کاراکتر اختصاص بدین
کاراکترهای انگلیسی تو یونیکد تنها یک بایت هم براشون کافیه ولی اگه شما برای یه متن انگلیسی، هر کاراکتر رو سه بایت در نظر بگیرین عملا به ازای هر کاراکتر انگلیسی دو بایت فضا رو هدر دادین
مثلا تو یه متن با ده هزار کاراکتر،
یه چیزی حدود 20 کیلوبایت فضای کامپیوتر رو هدر دادین
چه وقتی میخاین ازش استفاده کنین و توی رم هست و چه وقتی که روی هارد دیسک برای استفاده در آینده ذخیره شده
اینجاست که UTF-8 میتونه کمک کنه
این استاندارد که توسط یونیکد تعریف شده به جای اینکه بیاد فضای 3 بایتی به هر کاراکتر
اختصاص بده، میاد از 7 بیت راست یک بایت برای کاراکترهای اسکی استفاده میکنه
و برای کاراکترهای بعدی علاوه بر خود کاراکتر، تعداد بایت مصرف شده برای اون کاراکتر هم داخل بایت اول ذخیره میکنه
یعنی 128 کاراکتر اول اسکی به شکل عادی ذخیره میشن بدون تغییر خاصی با فقط یک بایت فضا
ولی برای کاراکترهای بعدی میاد و داخل بایت اول مشخص میکنه چه میزان فضا برای کاراکتر استفاده شده
این میزان فضا از یک بایت تا چهاربایت میتونه متغیر باشه
حالا چه شکلی اینکارو میکنه
تو یه بایت برای 128 عدد اولیه اسکی، بیت چپ همیشه صفر هست
اما وقتی بیت چپ یک میشه یعنی با یه کاراکتر UTF8 طرف هستیم
همونطور که گفتم هر کاراکتر توی UTF-8 میتونه از یک بایت تا چهاربایت متغیر باشه
کامپیوتر چطور اینو تشخیص میده؟
بیتهای 1 اولِ بایت رو میشماره تا به عدد 0 صفر برسه
یعنی اگه بایت اول با عدد باینری 110 شروع بشه، یعنی دوبایت فضا استفاده شده
اگه 1110 باشه سه بایت و ...
تو UTF-8 فضای بیتهای بایت اول بین خود کاراکتر و تعداد بایت تقسیم میشه و متغیره
اما تو بایتهای دوم و سوم و چهارم همیشه شش تا بیت راست برای خود کاراکتر استفاده میشه و دو بیت دیگه برای هندل کردن ارور تو utf-8 استفاده میشه
امیدوارم تونسته باشم با دانش ناقص خودم شما رو در مورد این انکدینگ رایج دنیای کامپیوتر آشنا کرده باشم
توضیحات دقیقتر:
https://en.wikipedia.org/wiki/UTF-8
سایت استفاده شده برای تست بایت UTF-8:
https://utf8-playground.netlify.app/
@DevTwitter | <Amir/>
این میزان فضا توی کامپیوتر میتونه شامل 255 حالت مختلف بشه
کامپیوترها برای نشانههای گرامری، حروف انگلیسی و عدد از استاندارد اسکی (ASCII) استفاده میکردن
این استاندارد آمریکایی میاد برای هر کاراکتر یه معادل عددی تعریف میکنه
مثلا کاراکتر A در اسکی معادل عدد 65هست
قرار گرفتن این اعداد پشت سر هم در کامپیوتر یک متن رو میسازه
مشابه این استاندارد معادل عددی برای پشتیبانی از تمام زبانهای دنیا به وجود اومد که یونیکد (Unicode) نام داره
کاراکترهای انگلیسی و اعداد انگلیسی توی یونیکد از همون اعداد استاندارد اسکی استفاده میکنن و در ادامه پشتیبانی از کاراکترهای بقیه زبانهای دنیا بهش اضافه میشه
یونیکد در حال حاضر دارای چیزی حدود 297,000 معادل عددی برای کاراکترهای مختلف از زبانهای مختلف، اموجیها و ... هست
فضای یک بایتی برای پشتیبانی از این میزان حالتهای مختلف کافی نیس
شما برای این جا دادن این میزان از حالتهای مختلف به شکل بیت کامیپوتر به حداقل سه بایت نیاز دارین
سه بایت میتونه تا حدود 16 میلیون عدد مختلف رو برای شما نگه داری کنه
حالا شما برای نگهداری یک متن که شامل کاراکترهای
یونیکد هست نیاز دارین 3 بایت برای هر کاراکتر اختصاص بدین
کاراکترهای انگلیسی تو یونیکد تنها یک بایت هم براشون کافیه ولی اگه شما برای یه متن انگلیسی، هر کاراکتر رو سه بایت در نظر بگیرین عملا به ازای هر کاراکتر انگلیسی دو بایت فضا رو هدر دادین
مثلا تو یه متن با ده هزار کاراکتر،
یه چیزی حدود 20 کیلوبایت فضای کامپیوتر رو هدر دادین
چه وقتی میخاین ازش استفاده کنین و توی رم هست و چه وقتی که روی هارد دیسک برای استفاده در آینده ذخیره شده
اینجاست که UTF-8 میتونه کمک کنه
این استاندارد که توسط یونیکد تعریف شده به جای اینکه بیاد فضای 3 بایتی به هر کاراکتر
اختصاص بده، میاد از 7 بیت راست یک بایت برای کاراکترهای اسکی استفاده میکنه
و برای کاراکترهای بعدی علاوه بر خود کاراکتر، تعداد بایت مصرف شده برای اون کاراکتر هم داخل بایت اول ذخیره میکنه
یعنی 128 کاراکتر اول اسکی به شکل عادی ذخیره میشن بدون تغییر خاصی با فقط یک بایت فضا
ولی برای کاراکترهای بعدی میاد و داخل بایت اول مشخص میکنه چه میزان فضا برای کاراکتر استفاده شده
این میزان فضا از یک بایت تا چهاربایت میتونه متغیر باشه
حالا چه شکلی اینکارو میکنه
تو یه بایت برای 128 عدد اولیه اسکی، بیت چپ همیشه صفر هست
اما وقتی بیت چپ یک میشه یعنی با یه کاراکتر UTF8 طرف هستیم
همونطور که گفتم هر کاراکتر توی UTF-8 میتونه از یک بایت تا چهاربایت متغیر باشه
کامپیوتر چطور اینو تشخیص میده؟
بیتهای 1 اولِ بایت رو میشماره تا به عدد 0 صفر برسه
یعنی اگه بایت اول با عدد باینری 110 شروع بشه، یعنی دوبایت فضا استفاده شده
اگه 1110 باشه سه بایت و ...
تو UTF-8 فضای بیتهای بایت اول بین خود کاراکتر و تعداد بایت تقسیم میشه و متغیره
اما تو بایتهای دوم و سوم و چهارم همیشه شش تا بیت راست برای خود کاراکتر استفاده میشه و دو بیت دیگه برای هندل کردن ارور تو utf-8 استفاده میشه
امیدوارم تونسته باشم با دانش ناقص خودم شما رو در مورد این انکدینگ رایج دنیای کامپیوتر آشنا کرده باشم
توضیحات دقیقتر:
https://en.wikipedia.org/wiki/UTF-8
سایت استفاده شده برای تست بایت UTF-8:
https://utf8-playground.netlify.app/
@DevTwitter | <Amir/>
Forwarded from Ninja Learn | نینجا لرن (Mohammad)
دیگران: چرا از گروه های برنامه نویسی دوری کردی؟
من:
من:
Forwarded from Geek Alerts
کلادفلر یه استیبل کوین (با پشتوانه دلار) به نام «نتدلار» معرفی کرده، هدفشون اینه که بشه سیستم تراکنش واسه اهالی وب و اینترنت، فریلنسرها، صاحبان سایتها و کلا کسایی که کسب درآمد اینترنتی دارن.
یه بخش مهمش ولی برای صاحبان سایتها هست که با فعال کردنش رباتهایی هوشمصنوعی که میان به سایتشون باید «نتدلار» پرداخت کنن. یعنی اگه پروژه موفق باشه، شرکتهای هوشمصنوعی بابت کپی کردن دیتا از اینترنت باید پول پرداخت کنن.
ممکنه خیلی کمک کنه این روند تولید محتوا که ارزشش داره کم میشه دوباره جون بگیره. [L]
https://netdollar.cloudflare.com/
🤓 @geekalerts
یه بخش مهمش ولی برای صاحبان سایتها هست که با فعال کردنش رباتهایی هوشمصنوعی که میان به سایتشون باید «نتدلار» پرداخت کنن. یعنی اگه پروژه موفق باشه، شرکتهای هوشمصنوعی بابت کپی کردن دیتا از اینترنت باید پول پرداخت کنن.
ممکنه خیلی کمک کنه این روند تولید محتوا که ارزشش داره کم میشه دوباره جون بگیره. [L]
https://netdollar.cloudflare.com/
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from ASafaeirad
Don't forget to take State of JS survey 2025
https://survey.devographics.com/en-US/survey/state-of-js/2025
https://survey.devographics.com/en-US/survey/state-of-js/2025
State of JavaScript 2025
Take the State of JavaScript survey
Forwarded from DevTwitter | توییت برنامه نویسی
هوک جدید Next.js که میتونه چند لول UX اپ شمارو بهتر کنه.
اسمش useLinkStatus هست و میاد و وضعیت لودینگ کامپوننت Link والدش رو مشخص میکنه و اگر درحال لودینگ بود pending رو true بر میگردونه.
به این صورت دغدغه بزرگ لودینگ پیج ها حل میشه و متونیم به راحتی در UI به کاربر نمایشش بدیم.
لینک رفرنس:
https://nextjs.org/docs/app/api-reference/functions/use-link-status
@DevTwitter | <Farzad Vahdati/>
اسمش useLinkStatus هست و میاد و وضعیت لودینگ کامپوننت Link والدش رو مشخص میکنه و اگر درحال لودینگ بود pending رو true بر میگردونه.
به این صورت دغدغه بزرگ لودینگ پیج ها حل میشه و متونیم به راحتی در UI به کاربر نمایشش بدیم.
لینک رفرنس:
https://nextjs.org/docs/app/api-reference/functions/use-link-status
@DevTwitter | <Farzad Vahdati/>
Forwarded from GitHub Trending Daily
🔥 New GitHub Trending Repositories 🔥
Found 10 new trending repositories:
1. stremio-web by Stremio
📝 Stremio - Freedom to Stream
💻 JavaScript | ⭐ 1,772 | 🌟 Today: 51
🔗 Link
2. playball by paaatrick
📝 Watch MLB games from the comfort of your own terminal
💻 JavaScript | ⭐ 992 | 🌟 Today: 106
🔗 Link
3. jsoncrack.com by AykutSarac
📝 ✨ Innovative and open-source visualization application that transforms various data formats, such as...
💻 TypeScript | ⭐ 41,676 | 🌟 Today: 67
🔗 Link
4. Agent-S by simular-ai
📝 Agent S: an open agentic framework that uses computers like a human
💻 Python | ⭐ 6,416 | 🌟 Today: 82
🔗 Link
5. BitNet by microsoft
📝 Official inference framework for 1-bit LLMs
💻 Python | ⭐ 22,455 | 🌟 Today: 282
🔗 Link
6. libsignal by signalapp
📝 Home to the Signal Protocol as well as other cryptographic primitives which make Signal possible.
💻 Rust | ⭐ 4,854 | 🌟 Today: 15
🔗 Link
7. glide by glide-browser
📝 An extensible and keyboard-focused web browser
💻 TypeScript | ⭐ 422 | 🌟 Today: 63
🔗 Link
8. dbt-core by dbt-labs
📝 dbt enables data analysts and engineers to transform their data using the same practices that softwa...
💻 Python | ⭐ 11,476 | 🌟 Today: 10
🔗 Link
9. llm-app by pathwaycom
📝 Ready-to-run cloud templates for RAG, AI pipelines, and enterprise search with live data. 🐳Docker-fr...
💻 Jupyter Notebook | ⭐ 41,166 | 🌟 Today: 88
🔗 Link
10. motia by MotiaDev
📝 Multi-Language Backend Framework that unifies APIs, background jobs, workflows, and AI Agents into a...
💻 TypeScript | ⭐ 9,060 | 🌟 Today: 197
🔗 Link
🔘 @github_trending_daily
Found 10 new trending repositories:
1. stremio-web by Stremio
📝 Stremio - Freedom to Stream
💻 JavaScript | ⭐ 1,772 | 🌟 Today: 51
🔗 Link
2. playball by paaatrick
📝 Watch MLB games from the comfort of your own terminal
💻 JavaScript | ⭐ 992 | 🌟 Today: 106
🔗 Link
3. jsoncrack.com by AykutSarac
📝 ✨ Innovative and open-source visualization application that transforms various data formats, such as...
💻 TypeScript | ⭐ 41,676 | 🌟 Today: 67
🔗 Link
4. Agent-S by simular-ai
📝 Agent S: an open agentic framework that uses computers like a human
💻 Python | ⭐ 6,416 | 🌟 Today: 82
🔗 Link
5. BitNet by microsoft
📝 Official inference framework for 1-bit LLMs
💻 Python | ⭐ 22,455 | 🌟 Today: 282
🔗 Link
6. libsignal by signalapp
📝 Home to the Signal Protocol as well as other cryptographic primitives which make Signal possible.
💻 Rust | ⭐ 4,854 | 🌟 Today: 15
🔗 Link
7. glide by glide-browser
📝 An extensible and keyboard-focused web browser
💻 TypeScript | ⭐ 422 | 🌟 Today: 63
🔗 Link
8. dbt-core by dbt-labs
📝 dbt enables data analysts and engineers to transform their data using the same practices that softwa...
💻 Python | ⭐ 11,476 | 🌟 Today: 10
🔗 Link
9. llm-app by pathwaycom
📝 Ready-to-run cloud templates for RAG, AI pipelines, and enterprise search with live data. 🐳Docker-fr...
💻 Jupyter Notebook | ⭐ 41,166 | 🌟 Today: 88
🔗 Link
10. motia by MotiaDev
📝 Multi-Language Backend Framework that unifies APIs, background jobs, workflows, and AI Agents into a...
💻 TypeScript | ⭐ 9,060 | 🌟 Today: 197
🔗 Link
🔘 @github_trending_daily
Forwarded from ASafaeirad
TIL: NPX Cheatsheet
https://www.nodejs-security.com/blog/mastering-npx-cheatsheet-npm-nodejs-power-users
#npx #til
https://www.nodejs-security.com/blog/mastering-npx-cheatsheet-npm-nodejs-power-users
#npx #til
NodeJS Security & NodeJS Secure Coding
Mastering NPX: A Cheatsheet for npm and Node.js Power Users
Explore unknown npx commands and tips to enhance your Node.js workflow. This cheatsheet covers everything from running packages without global installs to finding executable paths and using npx with specific Node versions.
Forwarded from Python Hints
#Quick
یکی از دلایل خوب استفاده از
پروژهای رو داشتم که هنوز از
بعد بنده خدا مدیر شرکت میخواست optimization بزنه که مشکلاتش کمتر بشه، همین که ابزارهایی که استفاده میکردند رو آپدیت کردم و البته معماری سیستم رو کمی بهتر (مثلاً برای دسترسی به یک سری سرویسهای داخلی چون نتونسته بودند کانفیگ کنند، درخواستها رو از اینترنت رد میکردند که خودش باعث میشه
بخصوص میزان مصرف منابع!
خلاصه که، اون ایمیج لعنتی رو هر از گاهی یک آپدیت بزنید. از کانتینرها برای همین استفاده میکنیم.
یکی از دلایل خوب استفاده از
containar اینه که آپدیت ورژنها سادهتر باشه! پروژهای رو داشتم که هنوز از
Postgres 12 استفاده میکرد؛ ۱۴ نوامبر ۲۰۲۴ پشتیبانی این نسخه تموم شده (سرچ کردم حفظ نیستم).بعد بنده خدا مدیر شرکت میخواست optimization بزنه که مشکلاتش کمتر بشه، همین که ابزارهایی که استفاده میکردند رو آپدیت کردم و البته معماری سیستم رو کمی بهتر (مثلاً برای دسترسی به یک سری سرویسهای داخلی چون نتونسته بودند کانفیگ کنند، درخواستها رو از اینترنت رد میکردند که خودش باعث میشه
latency زیاد بشه) بیش از ۷۰-۸۰٪ مشکلاتشون حل شد. بخصوص میزان مصرف منابع!
خلاصه که، اون ایمیج لعنتی رو هر از گاهی یک آپدیت بزنید. از کانتینرها برای همین استفاده میکنیم.
Forwarded from DevTwitter | توییت برنامه نویسی
در سیستمهای توزیعشده همیشه یه نگرانی اساسی وجود داره:
اگر یکی از سرویسها بیصدا از کار بیفته، بقیه چطور متوجه میشن؟
اینجاست که Heartbeat Pattern وارد عمل میشه
یه سیگنال ساده و دورهای که تضمین میکنه سیستم بفهمه هر جزء هنوز زندهست یا نه.
کجا استفاده میشه؟
توی Load Balancerها برای تشخیص سرورهای سالم
توی Kubernetes (liveness و readiness probes)
توی دیتابیسهای توزیعشده مثل Cassandra یا MongoDB
من توی مقالهی جدیدم در Medium، این الگو رو توضیح دادم — از تعریف و کاربردها تا چالشها و یه نمونه پیادهسازی با Go.
متن کامل مقاله:
https://medium.com/@a.mousavi/understanding-the-heartbeat-pattern-in-distributed-systems-5d2264bbfda6
سورس کد کامل:
https://github.com/arash-mosavi/go-test-heartbeat-pattern
@DevTwitter | <Arash Mousavi/>
اگر یکی از سرویسها بیصدا از کار بیفته، بقیه چطور متوجه میشن؟
اینجاست که Heartbeat Pattern وارد عمل میشه
یه سیگنال ساده و دورهای که تضمین میکنه سیستم بفهمه هر جزء هنوز زندهست یا نه.
کجا استفاده میشه؟
توی Load Balancerها برای تشخیص سرورهای سالم
توی Kubernetes (liveness و readiness probes)
توی دیتابیسهای توزیعشده مثل Cassandra یا MongoDB
من توی مقالهی جدیدم در Medium، این الگو رو توضیح دادم — از تعریف و کاربردها تا چالشها و یه نمونه پیادهسازی با Go.
متن کامل مقاله:
https://medium.com/@a.mousavi/understanding-the-heartbeat-pattern-in-distributed-systems-5d2264bbfda6
سورس کد کامل:
https://github.com/arash-mosavi/go-test-heartbeat-pattern
@DevTwitter | <Arash Mousavi/>
Forwarded from Geek Alerts
خبر خوب، پیامرسان سیگنال به صورت کامل پست کوانتوم شد. یعنی پیامهای شما در آینده هم قابل رمزگشایی نیست، قبلا فقط شروع مکالمه پست کوانتوم بود ولی بعد از شروع به رمزنگاری کلاسیک (ECDH) وابسته بود.
الان با SPQR یک لایه مقاوم کوانتومی به کل ارتباط اضافه میشه. توضیح دادن که اگه دستگاه شما پشتیبانی کنه و برنامه سیگنال شما آپدیت باشه به مرور برای شما این ویژگی فعال میشه.
همچنین خوبه بدونید واتساپ از پروتکل سیگنال برای ارتباط استفاده میکنه، (که تیم سیگنال اجرای درست و امنیتش رو تایید کرده) این یعنی ویژگیهای امنیتی که سیگنال میگیره (مثل این SPQR) خودکار به واتساپ هم بعدا اضافه میشن. منتظر باشید ماههای آینده واتساپ هم پست کوانتوم میشه. [L]
🤓 @geekalerts
الان با SPQR یک لایه مقاوم کوانتومی به کل ارتباط اضافه میشه. توضیح دادن که اگه دستگاه شما پشتیبانی کنه و برنامه سیگنال شما آپدیت باشه به مرور برای شما این ویژگی فعال میشه.
همچنین خوبه بدونید واتساپ از پروتکل سیگنال برای ارتباط استفاده میکنه، (که تیم سیگنال اجرای درست و امنیتش رو تایید کرده) این یعنی ویژگیهای امنیتی که سیگنال میگیره (مثل این SPQR) خودکار به واتساپ هم بعدا اضافه میشن. منتظر باشید ماههای آینده واتساپ هم پست کوانتوم میشه. [L]
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
یه چیزی برای گولنگ پیدا کردم طلاست، پیدا کردن منابع برای گولنگ کار راحتی نیست و منابع کمی نسبت به بقیه زبانا در دسترسه اینجا اومدن لیستی از کتاب های مفید برای یادگیری گولنگ رو جمع کردن از مبتدی بگیر تا پیشرفته و برنامه نویسی بکند وب:
github.com/dariubs/GoBooks
نکته خوبش اینه برای هر کتاب یه پاراگراف توضیح هم نوشته که قبلش ببینید براتون مفیده یا نه
@Linuxor
github.com/dariubs/GoBooks
نکته خوبش اینه برای هر کتاب یه پاراگراف توضیح هم نوشته که قبلش ببینید براتون مفیده یا نه
@Linuxor
Forwarded from Accio
Finally, It's here. AI models literally plot to blackmail and murder employees when given the chance in order to survive:
Youtube Video
Original paper
Youtube Video
Original paper