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
- Telegram Web
Telegram Web
یه ویدیو خیلی جالب در مورد گیت
تو این ویدیو میاد دیتا مدل گیت رو بررسی میکنه و میگه چرا شاید به عنوان یه دیتابیس هم این دیتا مدل می‌تونه جالب باشه؟

https://youtu.be/nPPlyjMlQ34?si=pvgzmoQH4XCLpd7t
فایل متنی چیه؟ شاید بدیهی به نظر بیاد ولی توی POSIX تعریف ازش داریم.
تو این لینک میتونید بیشتر در موردش بخونید.
نکات مختلفی داره از جمله این که بین خط ها چی میاد و و از همه جالب تر این که اگر آخرین کارکتر فایلتون n\ نباشه معتبر نیست فایلتون :)))
https://stackoverflow.com/questions/729692/why-should-text-files-end-with-a-newline/729795#729795
This media is not supported in your browser
VIEW IN TELEGRAM
مایکروسافت ادیتور متن تحت ترمینال خودش به نام Edit رو عرضه کرده که ادیتور ساده ای هست و به کاربران امکان ویرایش فایلهای متنی رو بدون خارج شدن از محیط ترمینال فراهم میکنه، بسیار سبک هست، از ماوس پشتیبانی میکنه، امکان باز کردن چند فایل به صورت همزمان رو داره و میشه عبارات مختلف رو در اون پیدا و جایگزین کرد.

این شرکت Edit رو به عنوان ویرایشگر پیش فرض متن برای ویندوز ساخته و به دلیل اینکه کاربران درگیر میم نحوه خارج شدن از Vim نشن، نیاز بوده که ساده باشه و دارای حالتهای مختلف مثل Vim نباشه، در نتیجه مایکروسافت تصمیم گرفته ادیتور خودش رو بسازه.

این ادیتور با زبان Rust نوشته شده، متن باز هست و از حالا میشه اون رو از گیت هاب دانلود و روی ویندوز و لینوکس نصب کرد.

🔎 theverge

📍 @TechTube
یکی از پترن های مورد علاقه من تو سیستم های توزیع شده، back pressure ئه.
خلاصه ماجرا اینه که وقتی یه سیستم نمیتونه با سرعتی که ورودی میگیره، اون رو هندل کنه، یه جوری این فشاری که روشه رو روی سیستم دیگری که بهش ورودی میده اعلام کنه.
این مطلب با مثال های زیاد و توضیحات جذاب این موضوع رو توضیح داده.

https://medium.com/@jayphelps/backpressure-explained-the-flow-of-data-through-software-2350b3e77ce7
به بهانه کنسرت علیرضا قربانی و داون شدن سایت فروش بلیط، مسأله سیستم دیزاین امشب:

فرض کنید یه سایت فروش بلیت رو می‌خوایم طراحی کنیم که توانایی هندل کردن لود زیاد به شکل 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
2025/06/27 20:58:22
Back to Top
HTML Embed Code: