Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
3093 - Telegram Web
Telegram Web
به بهانه کنسرت علیرضا قربانی و داون شدن سایت فروش بلیط، مسأله سیستم دیزاین امشب:

فرض کنید یه سایت فروش بلیت رو می‌خوایم طراحی کنیم که توانایی هندل کردن لود زیاد به شکل bursty رو داشته باشه، مثلاً سر ساعتی که فروش بلیط باز میشه.

فلوی رزرو هم به این صورته که هر کاربر می تونه نمایی از صندلی های پر و خالی رو ببینه و تا یه تعداد محدودی رو رزرو کنه.
از زمانی که رزرو شد پنج دقیقه فرصت داره پرداخت کنه که سفارش نهایی بشه وگرنه صندلی ها به حالت آزاد برمی گردن.

فرض کنید این ویژگی رو هم داریم که لیست صندلی های خالی با Polling آپدیت بشه، ولی همچنان کاربر موقعی که می خواد رزرو کنه باز سرور باید چک کنه که همه ى صندلی های انتخاب شده خالی باشن.

۱- تحليل تون از تعداد کاربر همزمان و RPS در زمان پیک برای همین کنسرت که در تهران قراره برگزار بشه چقدره؟

۲- توی راه حلتون چه اجزایی و چه تکنیک‌هایی استفاده می کنید؟ مثلا کش و دیتابیس و صف و ... اگر از تکنولوژی خاصی استفاده می کنید که کمک می کنه هم بگید.

۳- با توجه به اینکه لود همیشگی نیست و یه بار پیش میاد، چطوری می شه این معماری رو لود تست کرد تا مطمئن باشیم در روز موعود سیستم نمی افته. هرچی تست کامل تر باشه بهتر مثلا شامل این هم بشه که لود بالانسرها درست لود رو بتونن هندل کنن و gateway timeout ندیم. دیتابیس پر نشه و ...

۴- شاید در عمل دغدغه مهمی نباشه ولی چطور می شه برای زمان هایی که لود کمه، با کمترین تفییر، سیستم رو به حالتی رسوند که منابع کمتری مصرف کنه چون همیشه اون load رو نداریم. فرض کنید لود قابل پیش بینی هست و نیاز نیست خودکار scale بشه.
یه سایت زیبا پیدا کردم که اموزش‌های مقدماتی ولی خوبی از ابزارهای مختلف داره. اسم سایت codeapiئه و این آموزش‌ها قسمت try x in y minutesش هستن.

برای مثال اموزش curl که با مقدمات http شروع می‌کنه و متد‌ها و response codeها رو توضیح میده.
https://codapi.org/try/curl/

یا همچنین برای مقدمات sql در postgresql
https://codapi.org/try/postgres/
نوشته‌های ترمینالی
یه سایت زیبا پیدا کردم که اموزش‌های مقدماتی ولی خوبی از ابزارهای مختلف داره. اسم سایت codeapiئه و این آموزش‌ها قسمت try x in y minutesش هستن. برای مثال اموزش curl که با مقدمات http شروع می‌کنه و متد‌ها و response codeها رو توضیح میده. https://codapi.org/try/curl/…
یه چیزی که تو کامنت ها راجع بهش صحبت شد و حس کردم می‌تونه یه پست جدا داشته باشه، فرمت کردن خروجی curl ئه.
ما خیلی وقت ها از حالت ساده curl استفاده میکنیم که نتیجه رو ببینیم ولی گاهی هم فقط یه سری اطلاعات خاص برامون مهمه مثلا فقط یه هدر خاص یا حتی latency

با آپشن write out که curl در اختیار ما قرار میده میتونیم یه خروجی formatted داشته باشیم، به این صورت که curl تمپلیتی که بهش دادیم رو پر می‌کنه.

آموزش مفصلش اینجاست:
https://everything.curl.dev/usingcurl/verbose/writeout.html


به عنوان نکنه تکمیلی، شاید به این برخورده باشید که بخواید curl -i بزنید (که هدرها و status رو چاپ می‌کنه و برا من خیلی کاربردیه) و در همون حال خروجی رو در یه کامند دیگه pipe کنید، در حالت عادی هر دو توی stdout. ریخته میشن که مطلوب نیست،
ولی با ترفندی که تو مطلب زیر یاد داده میشه گفت که اون خروجی جای دیباگ توی stderr ریخته بشن

مثال مشکل دار:
curl -i https://api.joind.in | jq

مثالی که مشکل رو حل می‌کنه:

curl -s -D "/dev/stderr" https://api.joind.in | jq


منبع:
https://akrabat.com/pretty-print-curl-i/
#مطلب

Here’s how I use LLMs to help me write code
https://simonwillison.net/2025/Mar/11/using-llms-for-code/

با اومدن LLM ها و ابزارهایی مثل Cursor و Windsurf نحوه‌ی کد زدن خیلی از مهندسان نرم‌افزار هم عوض شده و استفاده از این ابزارها به بخشی از کارهای روزمره تبدیل شده. از طرفی استفاده‌ی درست از LLM ها به گونه‌ای که بتونیم بهترین بهره‌وری رو داشته باشیم کار ساده‌ای نیست و نیاز به آزمون و خطا و تجربه کردن داره. مقاله‌ی بالا به همین موضوع می‌پردازه و سعی میکنه به ما کمک کنه که چطوری بهتر از LLM ها توی کد زدن استفاده کنیم.

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

- تاریخ cuttoff رو حتما مد نظر قرار بدید
تاریخ cutoff نشون میده اطلاعاتی که مدل روش آموزش دیده چقدر بروز بوده. برای مثال اگر cutoff یه مدلی 2023 باشه احتمالا تغییراتی که توی 2025 اتفاق افتاده رو نمی‌دونه یا بد عمل میکنه. البته با اومدن قابلیت tools و سرچ کردن این مشکل بهتر شده اما همچنان اگر مدل روی داده‌های جدیدتر آموزش دیده باشه بهتر می‌تونه جواب بده. خوبه زمان cutoff مدلی که استفاده می‌کنید رو بدونید. برای همین هرچقدر از کتابخونه‌های معروف‌تر که توی اینترنت درموردشون دیتای بیشتری هست استفاده کنید احتمالا LLM ها بیشتر می‌تونن بهتون کمک کنن.

- کانتکست خیلی مهمه!
جواب مدل‌ها خیلی خیلی وابسته به این هست که چه چیزی رو توی پیام‌های قبلی براشون فرستادید. تمامی پیام هایی که بین شما و مدل رد و بدل میشه توی کانتکست مدل هست و اونا رو میدونه. برای همین خیلی مهمه که کانتکست خوبی بهش بدید. مثلا اگر میخواید یه کار بزرگی بهش بدید خوبه اول یه iteration کوچیک باهاش برید و بهش بگید کم کم پیچیدش کنه و قسمت‌های مختلفش رو بزنه. اینطوری چون تمامی کدها و کانتکست قبلی رو داره می‌تونه بهتر جواب بده

- مدل‌های زبانی برای prototype زدن و تست گرفتن ایده‌های مختلف خیلی خوبن
- هنگام استفاده از مدل‌ها توی کد پروداکشن محافظه‌کارتر باشید
توی کدهای پروداکشن بهتره دقیقا به LLM بگید چی‌میخواید و با جزئیات براش توضیح بدید. کدهایی که LLM میزنه به نظر درست میاد، اسم متغیرها درسته اسم توابع به نظر درست میاد اما این نباید شما رو گول بزنه. حتما حتما باید کدهای LLM رو تست کنید و درستی یه کدی رو تا با چشمتون ندیدید باور نکنید. احتمال اینکه باگ‌های ریز توی جاهای مختلف باشه زیاده که به چشم نمیان. همچنین اگر تست‌ها رو میدید که خود LLM بزنه خوبه خیلی دقیق کدهای تست رو بررسی کنید که چه چیزی رو دارن تست میکنن.

- آماده‌ی مداخله‌ی انسانی باشید!

مدل‌های زبانی قرار نیست جای تجربه و شهود شما رو بگیرن. بزرگ‌ترین مزیت این مدل‌ها سرعت زیادشون هست اما خیلی جاها باید آماده باشید که مداخله کنید و یه تغییراتی رو خودتون اعمال کنید. قرار نیست سر تا ته یه پروژه رو بدید LLM بزنه.

داخل مقاله کلی مثال و prompt و نکته‌ی باحال دیگه هم هست که من اینحا نیاوردم و پیشنهاد میکنم حتما مقاله‌ی اصلی رو بخونید.

✴️ @software_inside - مهندسی‌نرم‌افزار
شاید از کسایی که طرفدار emacs هستن اسم magit رو شنیده باشید. یه رابط کاربری خیلی خوب توی emacs برای کار با گیت هستش.
در خوب بودن اون که شکی نیست ولی اگه مثل من از emacs استفاده نمی‌کنید شاید gitu رو دوست داشته باشید. یه رابط کاربری تحت ترمینال برای کار با گیته که به نظرم ظاهر جذابی داشت و امکانات خوبی که داشت رو راحت در اختیار کاربر قرار می‌داد.
https://github.com/altsem/gitu


همچنین اگه به استفاده از گیت در یک برنامه ترمینالی علاقه دارید lazygit و gitui و tig هم شاید براتون جالب باشه.
Please open Telegram to view this post
VIEW IN TELEGRAM
حتما این روزا اسم mcp رو شنیدید. اگه دوست دارید دقیق‌تر بدونید چی هستن
این مطلب کوتاه رو توصیه میکنم:
https://itsfoss.com/mcp-servers/

و البته منابعی که استفاده کرده رو هم نگاه بندازید. بلاگ‌های قوی‌ای هستن.

و اگه بیشتر علاقه‌مند شدین داکیومنت‌های رایگان مایکروسافت برای آموزش mcp به نظر جالب بود:
https://github.com/microsoft/mcp-for-beginners
حتما این روزها با ترند بازنویسی نرم‌افزار ها با rust آشنا هستین. یه چیزی که اخیرا دیدم و جالب بود، یه init system جدید با rust بود که تلاش می‌کنه سبک تر باشه ولی فیچرهای خوبی هم داره. اخیرا هم توی arch به رسمیت شناخته شده و به مخازن رسمی اضافه شده.

لینک خبر:
https://www.linuxjournal.com/content/arch-linux-breaks-new-ground-official-rust-init-system-support-arrives

پی‌نوشت: اگر با لینوکس آشنا هستین ولی نمی‌دونید init system چیه هم این مطلب می‌تونه بهتون دید خوبی بده از وظایفش.
Forwarded from The Tofighi Times
ارتباط به سرویس‌های گوگل

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

روی کامپیوتر می‌شه با تریکی بقیه‌ی سرویس‌های گوگل رو هم باز کرد.
ایران الآن گوگل رو روی آی‌پی سیف‌سرچ باز کرده که ملت دیگه زیاد اعصابشون داغون نشه و حداقل گوگل داشته باشند. حالا می‌شه همین آی‌پی رو روی چیزای دیگه ست کرد و به بقیه‌ی سرویس‌های گوگل هم دسترسی داشت!

خب این هم یه چیز جالب دیگه:
این آی‌پی علاوه بر خود گوگل، می‌تونه gmail.com و mail.google.com و https://colab.research.google.com/drive/ و اینا رو هم پشتیبانی کنه.
برای همین مثلا با چنین تنظیمی من با نت ملی به جیمیل هم اکسس دارم:

در لینوکس، تغییر /etc/hosts و اضافه کردن این‌ها بهش:

216.239.38.120 google.com
216.239.38.120 www.google.com
216.239.38.120 mail.google.com
216.239.38.120 gmail.com
216.239.38.120 accounts.google.com
216.239.38.120 colab.research.google.com
216.239.38.120 ssl.gstatic.com
216.239.38.120 fonts.googleapis.com
216.239.38.120 lh3.googleusercontent.com
216.239.38.120 fonts.gstatic.com
216.239.38.120 www.gstatic.com
216.239.38.120 clients1.google.com
216.239.38.120 clients2.google.com
216.239.38.120 clients3.google.com
216.239.38.120 clients4.google.com
216.239.38.120 clients5.google.com
216.239.38.120 clients6.google.com
216.239.38.120 ogads-pa.clients6.google.com
216.239.38.120 play.google.com



بعد همین کارو توی ویندوز هم می‌شه کرد.

فایله توی ویندوز توی مسیر:
C:\Windows\system32\drivers\etc
هست. باید با Run As Administrator ادیت بشه.

مراقب باشید این فایل فایل مهمیه خرابش نکنید یه وقت.

@Tofighi_Times
Forwarded from Azizi’s Warm Corner ((ΔZIZI) ⚡️)
می‌خوای بدونی یه لینک مخربه یا نه؟ این سایت‌ها کمکت می‌کنن لینک‌ها و سایت‌های مشکوک رو بررسی کنی 👇

VirusTotal
لینک یا فایل رو می‌فرستی، با بیش از ۷۰ آنتی‌ویروس بررسی‌اش می‌کنه.
🔗 https://www.virustotal.com/

URLVoid
امنیت دامنه و سابقه‌اش رو بررسی می‌کنه، می‌فهمی آیا قبلاً گزارش شده یا نه.
🔗 https://www.urlvoid.com/

Google Safe Browsing
بر اساس دیتابیس گوگل بررسی می‌کنه لینک امن هست یا نه.
🔗 https://transparencyreport.google.com/safe-browsing/search

PhishTank
مخصوص شناسایی لینک‌های فیشینگ.
🔗 https://phishtank.org/

Hybrid Analysis
لینک رو توی یه محیط ایزوله بررسی می‌کنه که ببینه ویروسی هست یا نه.
🔗 https://www.hybrid-analysis.com/

Kaspersky OpenTip
توسط آنتی‌ویروس Kaspersky بررسی می‌شه.
🔗 https://opentip.kaspersky.com/

Norton Safe Web
لینک رو با دیتابیس Norton مقایسه می‌کنه.
🔗 https://safeweb.norton.com/

Sucuri SiteCheck
کل سایت رو بررسی می‌کنه ببینه بدافزار یا ویروس روش هست یا نه.
🔗 https://sitecheck.sucuri.net/

ThreatCop URL Scanner
برای لینک‌هایی که مشکوک به فیشینگ یا مهندسی اجتماعی هستن.
🔗 https://scanner.threatcop.com/

💡 اگر لینک کوتاه‌شده دریافت کردی (مثل bit.ly)، اول با این بازش کن ببینی کجا می‌ره:
🔗 https://checkshorturl.com/
پاسخ به یک سوال معروف مصاحبه ها:
وقتی گوگل رو در مرورگر باز می‌کنیم چه اتفاقی میوفته؟
این مطلب یه جواب خیلی کامل و مفصل به این سوال ارائه داده ولی قاعدتا تو مصاحبه با این عمق فرصت نمیشه بگیم :))

https://github.com/alex/what-happens-when
Forwarded from a pessimistic researcher (Kc)
"صحبتی با فارغ التحصیلان مقطع کارشناسی"

صحبتم با شما بزرگواران خیلی کوتاهه :) اگر میخواید تو آکادمیک بمونید، هر طوری شده اپلای کنید. ارشد خوندن تو ایران با شرایطی که اساتید دانشگاهامون دارن کار سختیه. خیلی از دوستام رو میشناسم که مثل خودم معتقدن با ارشد خوندن تو ایران فقط وقتشون تلف شد و درجا زدن و توصیه می‌کنم در صورتی تصمیم به ارشد خوندن تو ایران بگیر که آخرین راهی باشه که برات مونده و نمیتونی به هیچ طریقی اپلای کنی.
شرمنده خلاصه حرف دیگه‌ای ندارم. شاد باشید :)
Forwarded from a pessimistic researcher (Kc)
"صحبتی با دانشجویان مقطع کارشناسی"

حاجی آنِستلی دوران بچلر ۱۰ از ۱۰. تا میتونی ازش لذت ببر. بعد از بچلر میفهمی چقدر زندگی بورینگه. سعی کن این دوران رو فقط کیف کنی. با اکیپ برید بگردید. کافه برید ( ساعدی‌نیا و لمیز کنسله) از اون ادایی‌هاش برید، کف خیابون انقلاب بِجولید، صادق هدایت بخونید، بهمن بکشید، به اصل هستی شک کنید، با زیدی دیت برید، ترم اول رل زدن رِد فلگه، پارتی برید، کات کردید مووآن کنید، آخر هفته‌ها گدرینگ داشته باشید، از تاکسیک‌ها اَووید کنید، خلاصه فقط عشق. آف کورس که باید درس هم بخونی. اما گِس وات، اگر از این اِستیج زندگیت استفاده نکنی، فقط پِتی برات به همراه میاره. اینم بگم که تا کلاس تموم میشه سادِنلی غیب نشو خونه، ریتارد نباش، برو لاس و لوس رو برقرار کن و با آدما کامیونیکیت کن. و اِلا گوست میشی و اَبزورد.

از اَدوایز‌های لایف استایل که پَس کنیم میرسیم سراغ آکادمی.

حاجی نِرد و گیک باش. بیست چاری منتظر این نباش یکی بیاد بهت مسیر نشون بده بخواد برات روضه بخونه. همشون یه مشت بومرِ ریتاردِ لوزرن. من هر آدم حسابی که تو آکادمی میشناسم، خودش راه خودش رو پیدا کرده و ساخته و رفته جلو. پخت و پز کن برای خودت و تجربه به دست بیار. انجمن علمی رو حاجی نیستم من خدایی و به نظرم بول‌شت ترین کانسپت آکادمی تو ایرانه. ایونت‌ها همه بول‌شته، تاک‌ها همه پوینت‌لِس و شو آفه. جدی اگر پِی اَتِنشن کنی می‌بینی که اکثر برگزار کننده‌های این داستان دنبال بِنفیت و پِرافیت خودشونن. رزومه می‌سازن باهاش، پول در میارن، زیدی پیدا می‌کنن. اینا رو گفتم که کِلیر شی داستان این ایونتا چیه و تو هم باید تارگتت همین باشه. بری اونجا و دنبال فان باشی و با آدما سوشلایز کنی.

اما ستون چند تا مقوله هست که دوست دارم پیرمردی طور باهات شِیر کنم.

اگر پلنت اپلای و آکادمیکه رزومه می‌خوای. رزومه یعنی معدل و نمرات خوب، یعنی دست به کد باش و پروژه بزن و گیت‌هابت رو باهاش آپدیت نگه‌دار. سعی کن تی‌ای بشی چون هم یه ازای هر درسی که تی‌ای میشی یه خط به رزومه‌ات اضافه میشه هم ریکام اون استاده رو میگیری. علاوه بر این یه چیزی که خیلی توصیه میکنم جدی بگیری مسابقه ICPC عه. بخصوص توی ترمای اول. ببین منظور از مسابقه این نیست که بخوای بری رقابت کنی و مقام بیاری و اینا. چیزی که منظورمه اینه که برای آماده شدن تو این مسابقه قراره بری کلی مطلب تئوری و کد زنی یاد بگیری. اینا چیزاییه که قراره برات به یادگار بمونه و در آینده استفاده کنی. درست عین یه ورزشکاری که واسه سلامتیش مسابقه میده. واسه همین مواظب باشه که تو تله‌ی رقابت نیافتی و زندگیت رو حرومش نکنی. دومین چیزی که خیلی خیلی خیلی خیلی خیلی خیلی خیلی توصیه می‌کنم اینه که از ترم ۵ به بعد دنبال این باشی که تجربه ریسرچ پیدا کنی. بهترین راهش هم اینه که بری اینترنشیپ. و خب واسه‌ی اینترنشیپ رزومه میخوای. اینترنشیپ یعنی اینکه تو به مدت ۳ ماه میری پیش یه استادی توی یه دانشگاه یا موسسه خارجی و اونم بهت یه مسئله میده که روش کار کنی. چه عایده‌ای داره؟ اولا بهت پول میدن دوما یه خط به رزومه‌ات اضافه میشه سوما ریکام استاده رو میگیری و چهارما مقاله میتونی چاپ کنی از کارت و دوباره رزومه‌ات بهتر میشه.
اما از کجا اینترنشیپ پیدا کنی؟ یه سری موسسات و دانشگاها توی اروپا و آسیا شرقی هستند مثل ISTA اتریش و MPI آلمان و EPFL و ETH سویس و HKUST هنگ کنگ و INSAIT بلغارستان و EUROCOM فرانسه و IMDIA اسپانیا. اینا هر سال سر یه تاریخی سایتاشون رو باز میکنن و میتونی برای اینترنشیپ اپلای کنی.

اما به نظرم همه تمرکزت اینا نباشن. سعی کن اولا ببینی علاقه‌ات چیه. و خواهشا دنباله روی جمع نباش و کور کورانه انتخاب نکن. الان ۹۰ درصد ملت دنبال LLM و AI و ML اند. نمیگم اینا بدن ولی خب بخاطر هایپه که همه میرن سمتش و خوب نگاه کنی به قضیه علاقه‌ای پشتش نیست. علاقه‌ات رو که پیدا کردی سعی کن بگردی ببینی چه استادایی تو اون حوزه کار میکنن. میتونی مثل توصیه‌ای که به بچه‌های ارشد کردم بری از این سایته استاد پیدا کنی.
https://csrankings.org/#/index?plan&log&europe
خلاصه وقتی پیداشون کردی ایمیل بزنی و عین چیزی که به بچه‌های ارشد گفتم باهاشون مکاتبه کنی. تو مکاتبه inquire کن آیا پوزیشن اینترنشیپ داره یا نه. و بسیار بسیار بسیار بسیار بسیار بسیار توصیه می‌کنم که به جای internship بگی که دوست داری باهاش collaborate کنی حالا چه ریموت چه on-site که طرف حتی اگر فاند نداشت که بهت آفر اینترن بده، بتونی بازم باهاش ریموت کار کنی. اینطوری هم تجربه ریسرچ هم مقاله هم ریکام طرف به رزومه‌ات اضافه میشه. اصلا از مکاتبه نترسید و سعی کنید تا میتونید اکتیو باشید و حتما تجربه‌ی چنین ریسرچی رو به رزومه‌اتون اضافه کنید.

برادر توی دو پاراگراف آخر سطح رو رعایت نکرد و به زبون خودش صحبت کرد. شادی باشه :)
Forwarded from The Hacker News
🚨 Cisco just patched a 10.0 CVSS flaw that let attackers log in as root—no config needed.

The backdoor? A static dev credential left in production.

It affected all Unified CM v15.0.1 builds.

Full details → https://thehackernews.com/2025/07/critical-cisco-vulnerability-in-unified.html
اکثرمون با index توی DBMS ها آشنا هستیم، ولی یه چیزی که میتونن پرفورمنس رو باز هم بهتر کنه، استفاده از includeـه.
خلاصه اینه که میتونید دیتای یه سری ستون رو داخل leaf node ها بذارید‌ به اسم ترتیب بعضی کوئری ها برای اجرا شدن کلا هیچ نیازی به lookup ندارن. (و کلا io نداریم)

https://atlasgo.io/guides/postgres/included-columns
2025/07/04 21:44:17
Back to Top
HTML Embed Code: