TGViewer
Channel Public Channel
نوشته‌های ترمینالی

نوشته‌های ترمینالی

@terminal_stuff

virgool.io/@rsharifnasab
github.com/rsharifnasab
Subscribers
3.51K
Photos
434
Videos
12
Links
2.4K

Showing posts older than #3096 · Back to latest

Older Posts 20 shown
Post #3094 2.51K
به بهانه کنسرت علیرضا قربانی و داون شدن سایت فروش بلیط، مسأله سیستم دیزاین امشب:

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

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

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

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

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

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

۴- شاید در عمل دغدغه مهمی نباشه ولی چطور می شه برای زمان هایی که لود کمه، با کمترین تفییر، سیستم رو به حالتی رسوند که منابع کمتری مصرف کنه چون همیشه اون load رو نداریم. فرض کنید لود قابل پیش بینی هست و نیاز نیست خودکار scale بشه.
  • 👍 14
  • ❤ 3
Post #3093 1.88K
یکی از پترن های مورد علاقه من تو سیستم های توزیع شده، back pressure ئه.
خلاصه ماجرا اینه که وقتی یه سیستم نمیتونه با سرعتی که ورودی میگیره، اون رو هندل کنه، یه جوری این فشاری که روشه رو روی سیستم دیگری که بهش ورودی میده اعلام کنه.
این مطلب با مثال های زیاد و توضیحات جذاب این موضوع رو توضیح داده.

https://medium.com/@jayphelps/backpressure-explained-the-flow-of-data-through-software-2350b3e77ce7
Medium Back pressure explained — the resisted flow of data through software Backpressure is something nearly every software engineer will have to deal with at some point, and for some it’s a frequent problem. But…
  • 👍 5
  • 👌 2
Post #3092 1.81K
TechTube 𝕏 تک توب مایکروسافت ادیتور متن تحت ترمینال خودش به نام Edit رو عرضه کرده که ادیتور ساده ای هست و به کاربران امکان ویرایش فایلهای متنی رو بدون خارج شدن از محیط ترمینال فراهم میکنه، بسیار سبک هست، از ماوس پشتیبانی میکنه، امکان باز کردن چند فایل به صورت همزمان رو داره…
من هرچی بگم اضافیه. :)))
  • 🤣 23
  • ❤ 1
Post #3091 1.94K

Forwarded from TechTube 𝕏 تک توب

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

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

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

🔎 theverge

📍 @TechTube
  • 🤣 7
  • ❤ 4
Post #3090 2.23K
فایل متنی چیه؟ شاید بدیهی به نظر بیاد ولی توی POSIX تعریف ازش داریم.
تو این لینک میتونید بیشتر در موردش بخونید.
نکات مختلفی داره از جمله این که بین خط ها چی میاد و و از همه جالب تر این که اگر آخرین کارکتر فایلتون n\ نباشه معتبر نیست فایلتون :)))
https://stackoverflow.com/questions/729692/why-should-text-files-end-with-a-newline/729795#729795
Stack Overflow Why should text files end with a newline? I assume everyone here is familiar with the adage that all text files should end with a newline. I've known of this "rule" for years but I've always wondered — why?
  • 👍 7
  • 😁 2
Post #3089 1.98K
یه ویدیو خیلی جالب در مورد گیت
تو این ویدیو میاد دیتا مدل گیت رو بررسی میکنه و میگه چرا شاید به عنوان یه دیتابیس هم این دیتا مدل می‌تونه جالب باشه؟

https://youtu.be/nPPlyjMlQ34?si=pvgzmoQH4XCLpd7t
YouTube Using Git as a NoSql Database by Kenneth Truyers Git is not just a source control system. It’s a content tracker we can (ab)use as a NoSQL database. Git has two features that traditional databases don’t support: deduplicated storage and automatic history tracking. This talk discusses how to leverage it…
  • ❤ 6
  • 👍 2
Post #3088 2.4K
ادیتور zed اخیرا ویژگی agentic edit رو معرفی کرده. قضیه به این صورته که شما قبلا می‌تونستین api key مربوط به LLM رو وارد کنید (انواع مختلفی رو هم ساپورت میکرد) و کنار کد و با کانتکست هر فایلی که بهش بگید، بتونید با مدلتون چت کنید.
الان علاوه بر اون قابلیت ادیت هم اضافه کرده، یعنی خود ادیتور میاد بر اساس پرامپت شما و چندین کال زدن به LLM، ادیت می‌کنه کد رو و حتی توی کد سرچ می‌کنه و فایل های مرتبط و مورد نیاز رو به کانتکست اضافه می‌کنه. در نهایت هم diff رو به شما نشون میده و شما تایید یا رد می‌کنید و خلاصه بدون اجازه شما کد رو دست نمیزنه. (البته قطعا ایده خوبیه که از ورژن کنترل استفاده کنید و کپی‌ای چیزی داشته باشید از کد)

https://zed.dev/agentic


در کل من ادیتور Zed رو دوست دارم خیلی. هم vim mode خوبی داره هم پشتیبانی نسبتا خوبی از زبان های مختلف بدون نیاز به پلاگین خاصی داره. البته برخلاف تبلیغشون که خیلی سریعه، از کانفیگ neovim من با ده ها پلاگین سریع‌تر نیست، اما باز هم تجربه لذت بخشی ارائه می‌ده.
Zed Zed — The AI Code Editor Built for Speed Zed is an AI code editor built for agentic workflows. Open source, fast by default, and compatible with any model or agent.
  • 👍 12
Post #3087 2.25K
چرا داشتن فقط یک مانیتور برای بهره‌وری بهتر است؟
این ویدیو توضیح می‌ده که چطوری با تمرکز بر فقط همون یک مانیتور حس بهتری داره و خستگی کمتری رو تجربه می‌کنه.

https://m.youtube.com/watch?v=8rWtKKeBMm8
YouTube Why I only use one monitor BenQ Programming Monitor https://benqurl.biz/4i9Wmi7 Most developers swear by having multiple monitors… but after years of trying, I realized it just doesn’t work for me. In this video, I share why I decided to switch to a single monitor setup as a software…
  • 👍 5
  • 😢 1
Post #3085 1.79K

Forwarded from Geek Alerts

اسکایپ امروز بعد از ۲۲ سال برای همیشه خاموش می‌شه و کاربران برای استفاده از ویژگی‌های مشابه باید به مایکروسافت تیمز برن.

hadi @geekalerts
  • 💔 13
  • 👏 4
  • 🤣 3
  • 🤩 2
Post #3084 2.88K
Post #3083 2.3K
Post #3080 1.83K
کد زیبا چه کدیه؟ کدیه که به اندازه باشه نه بیشتر نه کمتر. قابل فهم باشه و ...
در این مطلب یه کد زیبا که برای match کردن regex ها استفاده می‌شه توضیح داده شده! به نظرم مهم تر از خود اون کد، دیدی که به برنامه‌نویسی و کد تمیز داره جالبه.
https://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html
  • 👍 9
Post #3079 2.33K
یه کتاب‌خونه‌ و ابزار جدیدی که پیدا کردم اسمش llm ئه و بهتون اجازه میده تو ترمینال و یا به عنوان کتابخونه پایتونی با llmهاتون ارتباط بگیرید.
جدا از این که محبوبه و داک خوبی داره، چیزی که برای من جالب بود قابلیت پلاگین‌هاش بود که مثلا می‌شه با یه پلاگین پشتیبانی از مدل‌های لوکال یا مدل‌های openrouter رو هم بهش اضافه کرد.
همچنین قابلیت کار با عکس یا خروجی structured هم داره که من تو ابزارهای دیگه ندیده بودم به این راحتی و رایگان بشه استفاده کرد.

لینک گیتهاب:
https://github.com/simonw/llm

لینک داکیومنت (قسمت schema به عنوان مثال)
https://llm.datasette.io/en/stable/schemas.html


یک نمونه پلاگین:
https://github.com/simonw/llm-openrouter

برای نصبش هم پیشنهادم استفاده از uvئه که به راحتی با uv tool install llm می‌تونید نصبش کنید.
GitHub GitHub - simonw/llm: Access large language models from the command-line Access large language models from the command-line - simonw/llm
  • 👍 8
Post #3078 2.1K
یکی از بهترین ابزارهایی که کاربران پایتون یا حتی کاربرانی که ابزارهای پایتونی دارن می‌تونن نصب کنن uvئه به نظرم. یه جایگزینه برای بسیاری از ابزارهای مدیریت پکیج و غیره پایتونه (مثل pip و pipx و pyenv و virtualenv) که با rust نوشته شده و بسیار بسیار سریعه. اینقدر سریع پکیج‌ها رو دانلود می‌کنه که من باورم نمیشه با pip یه کار مشترک رو انجام بدن!
https://docs.astral.sh/uv/


چیزی که امروز باهاش آشنا شدم قابلیت toolsش هست. به این صورته که شما فقط می‌نویسید uvx pycowsay (برای نصب ابزار pycowsay) و همین! خودش اگه اون نصب باشه اجراش میکنه و اگه نصب نباشه اول نصبش میکنه و بعد اجراش میکنه! همچنین می‌شه ابزار رو جوری نصب کرد که به path اضافه بشه.
https://docs.astral.sh/uv/concepts/tools/


به عنوان نکته مثبت اضافه، اگه دوست ندارید کامند های خودش رو هم یاد بگیرید کافیه به جای pip install ... بزنید uv pip install و خودش اکثر ساب‌کامند‌های پیپ رو پشتیبانی می‌کنه و می‌تونید از سرعت زیادش لذت ببرید.
docs.astral.sh uv uv is an extremely fast Python package and project manager, written in Rust.
  • 👍 10
  • ❤ 3
  • 🔥 2
Post #3077 1.9K
Post #3076 2.13K
اگه تو ویم متن نوشته باشید احتمالا به این مشکل خوردید که خط ها طولانی میشه و سخته باهاشون کار کرد.
یه کاری که میشه کرد wrap کردن خط‌هاست که میاد خط های طولانی رو در دو خط نشون میده. در حالت پیشفرض از وسط کلمه هم ممکنه بشکونه ولی میتونید تنظیم کنید فقط از whitespace ها برک بده.

حالا تو این حالت مشکلی که هست اینه که j/k خیلی جالب کار نمیکنن چون کل اون خط که ما چند خط می‌بینیم رو یه خط می‌بینیم!

این ویدیو چند تا شورتکات خوب گفته با کلید g که مشکل رو حل میکنن‌.
https://youtu.be/t9FWr7cajV4?si=XeS61yU20w0P6F5g

البته g کلا کارهای خیلی جالبی می‌کنه مثلا تبدیل lowercase به uppercase هم انجام میده.
https://learnbyexample.github.io/tips/vim-tip-7/
YouTube Overpowered vim commands for writers If you're reading a youtube video description in your free time it's time to go outside and touch some grass. If the words "vim config" have any kind of meaning to you, you're already cooked and might as well drop a sub. #programming #math #sylvanfranklin
  • 👍 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →