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 #3137 · Back to latest

Older Posts 20 shown
Post #3136 3.35K
یکی از پترن های بد ولی رایج توی نصب نرم‌افزار اینه که اسکریپت نصب رو curl کنیم و مستقیم اجرا کنیم.
مشکلی که وجود داره اینه که ممکنه تنی اون اسکریپت هرچیزی وجود داشته باشه و ما اون رو اجرا میکنیم، گاهی حتی با sudo


مثال:
curl -sSL https://example.com/install.sh | bash

برای این که سمت این پترن نریم، راه خوب اینه که اول اسکریپت رو بگیریم و تو دیسک ذخیره کنیم و بعد با ادیتور یا pager محتواشو بررسی کنیم.

ابزار vet اومده این کارو ساده کرده. با گرفتن آدرس میاد و اسکریپت رو دانلود می‌کنه، محتواشو (یا diffشو به نسبت دفعه قبل) بهتون نشون میده و حتی با shell check براتون چک می‌کنه و اگه مشکلی نبود، با اوکی شما اجراش می‌کنه. یه مقدار هم منو یاد aur helper ها میندازه که باید اول بررسی کنید اسکریپت رو و بعد نصب اتفاق میوفته.
https://github.com/vet-run/vet


این ابزار کار خاصی نمی‌کنه که اگه نصب نکنید ممکن نیست، ولی دیدگاهی که داره، «ساده کردن عادت خوب»ـه که برا من جالب بود.
GitHub GitHub - vet-run/vet: vet is a command-line tool that acts as a safety net for the risky curl | bash pattern. It lets you inspect… vet is a command-line tool that acts as a safety net for the risky curl | bash pattern. It lets you inspect, diff against previous versions, and lint remote scripts before asking for your explicit ...
  • ❤ 18
  • 👍 6
  • 👌 3
  • 🔥 1
Post #3135 2.85K
چرا abstraction اشتباه در کد، از کد تکراری بدتر است:
https://sandimetz.com/blog/2016/1/20/the-wrong-abstraction

بلاگ پست قدیمی‌ایه ولی به نظرم هنوز کاملا می‌تونه نمود داشته باشه، مخصوصا وقتی که کد به مرور تغییر می‌کنه و ما میخوایم لاجیک جدید رو به زور توی همون تابع یا کلاس یا اینترفیس قبلی بگنجونیم.
Sandi Metz The Wrong Abstraction — Sandi Metz I've been thinking about the consequences of the "wrong abstraction." My RailsConf 2014 "all the little things" talk included a section where I asserted: > duplication is far cheaper than the wrong abstraction And in the summary, I went on to advise: >
  • 🔥 9
  • 👌 3
Post #3134 2.9K
مثل این که کمتر از یک ماه دیگه، Bitnami قراره بلاهایی سر تیم ها و دولوپرها بیاره.

ماجرا از این قراره که از ۲۸ آگوست به بعد فقط به آخرین تگ هر چارت میتونیم دسترسی داشته باشیم (latest) و نسخه های استیبل و مشخص فقط از طریق برنامه جدیدشون که پولیه میشه استفاده کرد. (به اسم bitnamisecure)

لازم به تاکیده که استفاده از تگ latest برا پروداکشن مطلقا ایده خوبی نیست و هر روز ممکنه اتفاقات جدید بیفته. تو این مدت تگ های فعلی رو تو یه ریپوزیتوری به عنوان lagecy قرار دادن ولی نسخه های جدید وارد این نمیشه.

به عنوان دولوپر چیکار کنیم؟ تو محیط دولوپ که میتونیم از latest استفاده کنیم ولی تو محیط پروداکشن فعلا و برای نسخه های فعلی از docker.io/bitnamilegacy به جای docker.io/bitnami استفاده کنیم.

برا اپدیت به نسخه های جدید و در ادامه هم باید واقعا دید که چی میشه. جایگزینی میاد یا چی!

https://github.com/bitnami/charts/issues/35164
Docker Docker: Accelerated Container Application Development Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.
  • 😐 4
  • ❤ 3
  • 😱 1
Post #3133 2.32K

Forwarded from Go Casts | Systems & Agents 🚀

مقاله خیلی جذابیه. نکات بسیار ارزشمندی رو میگه. نکات مهمی رو در مورد استفاده از PostgreSQL میگه وقتی که شما همزمان Write-Heavy و Read-Heavy هستی.

مقاله ایده های جالب و متفاوتی رو ارائه میکنه:
داشتن جداولی با حداکثر ۱۰۰ هزار رکورد برای داشتن index scanهای سریع و جلوگیری از کاهش عملکرد PostgreSQL

استفاده از index-only scans و مکانیزمی شبیه loose index scan برای کم کردن io operations

داشتن استراتژی compaction و VACUUM Analyze برای جلوگیری از عملکرد read queries با بزرگ شدن جدول دیتابیس

استفاده از دستور COPY به جای Insert برای batch insertهای زیاد و سنگین

استفاده از golang string type به جای byte slice برای transfer داده که عملکرد تقریبا ۲ برابر بهتری داشته!

Lessons from scaling PostgreSQL queues to 100k events per second

https://www.rudderstack.com/blog/scaling-postgres-queue/

@gocasts
  • ❤ 6
  • 👍 2
  • 🔥 2
Post #3130 2.86K
Post #3127 3.66K
Post #3125 2.49K
باگ امنیتی روز صفر (zero day) کروم حل شده که دسترسی به سیستم رو به اتکر می‌ده.
مرورگرهای chromium based خودتون رو آپدیت کنید زودتر.
https://thehackernews.com/2025/07/urgent-google-releases-critical-chrome.html

کلا همیشه ایده خوبیه که مرورگر ها رو بروز نگه دارید.
  • 😱 6
  • 👍 4
  • 🔥 1
Post #3124 2.38K
در مورد اینسیدنت cloudflare روی ۱.۱.۱.۱

بلاگ پست جالبی نوشتن و خلاصه ایده ش اینه که به خاطر سیستم legacy کانفیگ اشتباه باعث خطا شد و ما دیگه سیستم مدرن(!) میاریم بالا و حل میشه همه چی.

https://news.ycombinator.com/item?id=44578490


چند تا نکته به نظرم میرسه:
۱. چقدر خوبه که تا حدی شفافیت دارن و براشون مهمه و هم عذرخواهی کردن و گفتن کاری میکنیم که دیگه تکرار نشه.
۲. این که یه مشکل رو به اشتباه یه مهندس تقلیل نمی‌دن برام قشنگه، چون آدما اشتباه میکنن و باید سامانه ها و روند ها جوری باشه که خطا رو نشون بده (مثال ساده میشه پایپالاین تست یا محیط تست جدا از پروداکشن)
۳. به نظر میاد که خطا رو محیط تست بوده ولی باعث خراب شدن پروداکشن شده. این یکی از بدترین اتفاق هاست. به چند دلیل از جمله این که تغییر تو محیط تست زیاده و قاعدتاً داکیومنت نمیشه و پیدا کردن ریشه مشکل ممکنه خیلی سخت بشه.
۴. این روحیه که همه چیزو بندازیم گردن سیستم قبلی و بگیم legacy بود رو دوست ندارم. یهو با این اینسیدنت متوجه شدید که legacy بوده و همه اشکالاتش در اومد؟ قاعدتا مشکل از این هم هست که وقت کافی به حل بدهی فنی هاش اختصاص پیدا نکرده در طی ماه ها و سال های اخیر.
۵. نکته ای که برام جالبه اینه که اینسیدنت ۲۰۲۱ meta هم که باعث شد کل زیرساختش از بیرون قابل دسترسی نباشه هم به خاطر یه کانفیگ اشتباه بود. شاید اون تمرکزی که برای قابل اطمینان کردن لایه های بالاتر داشتیم (زبان های type safe و انواع تست و canary release و ...) رو باید رو لایه های پایین تر هم داشته باشیم.
  • ❤ 5
  • 👍 1
Post #3123 2.03K
Post #3122 1.88K

Forwarded from مسعود بیگی (مسعود بیگی)

✅ دوستان خوب و عزیزم سلام، من و تیم خوبم در #رسمیو، مدتی رو سرمون خلوت خواهد بود و دوست داریم به شکل مشاوره یا همکاری در انجام پروژه های شما (به صورت صفر تا صد یا مشارکت در پیاده سازی بخشی از سرویس هاتون) همراه باشیم .

✅ ما توی تیممون به جز توسعه دهندگان .net و React ، پروداکت منیجر و دیزاینر هم داریم اگر لازم داشته باشید برای این پروژه ها.

✅ کد تمیز و قابل گسترش مینویسیم، با هم سر استانداردهای مستندسازی به تفاهم خواهیم رسید.


✅ بعد از پایان پروژه هم، پروژه رو به تیم تون تحویل میدیم و اگر نیاز به آموزشی باشه، در حد توان راهنمایی و آموزش نیروهاتون رو هم بر عهده خواهیم گرفت.

خیلی به من لطف خواهید کرد اگر این پست را در همه ی گروه های فنی و بیزنسی تان منتشر کنید.
متاسفانه فعلا فقط از طریق اکانت تلگرام @StartupNerd وشماره 09308282925 در خدمت شما و پاسخگو خواهم بود.

🫂 مجددا از شما خواهش میکنم این پست رو (در همه ی گروه های خودتون که فکر میکنید ممکنه کسی به توانایی ما نیاز داشته باشه) بازنشر کنید
  • ❤ 8
  • 💔 6
Post #3121 2.11K
اگه به گوشتون نخورده، ردیس نسخه ۸ اومده. و تغییرات خیلی خوبی داشته.
هم از سمت فنی قابلیت های جدید (مثل کار با Json) هم بهبود پرفورمنسی و توانایی استفاده بهتر از تردهای بیشتر رو داره.
هم از سمت لایسنس، ماژول ها و چیزهای close source رو اوپن سورس کردن و همه رو مرج کردن در قالب لایسنس درست و حسابی منتشر کردن.

اگه کاربر ردیس هستین، بلاگ پست خودشون رو به نگاهی بندازید به نظرم.
https://redis.io/blog/redis-8-ga/
Redis Redis 8 GA: Fast, scalable, and feature-rich Discover Redis 8 GA with 30+ performance boosts and new data structures. Build fast, real-time apps effortlessly. Try it today.
  • ❤ 17
Post #3120 1.78K
امین رشیدبیگی | مهندسی نرم‌افزار مدیرعامل گیتهاب، Thomas Dohmke، یه ارائه داشت که با فیچرهای جدید کوپایلوت یک بازی Snake رو با vibe coding پیاده‌سازی کنه که تا آخر هر کاری کرد کدش کار نکرد و مجبور شد ارائه‌اش رو ناتموم بذاره :)) #wearedevelopers2025 @aminrbg
"Everyone says that AI replaces developer: Shows him this demo"
https://www.trendingtopics.eu/github-wearedevelopers-conference/

مطلبش آلمانیه، ندیدم جایی ترجمه‌شو :)))
ولی خلاصه ماجرا همینه که بالا نوشتن، بعد هم مدیر عامل تهدید رو به فرصت تبدیل کرده و گفته پس نگران نباشید شغل هاتون رو از دست نمی‌دید. :))))
Trending Topics „Jeder der sagt, dass AI Developer ersetzt: Zeigt ihm diese Demo“ 15.000 Softwareentwickler, Entscheidungsträger und Technologie-Experten auf einem Fleck - und eine ganz große Frage: Welche Rolle haben Developer noch im
  • 😁 12
  • ❤ 2
  • 👍 1
Post #3119 1.43K

Forwarded from امین رشیدبیگی | مهندسی نرم‌افزار

مدیرعامل گیتهاب، Thomas Dohmke، یه ارائه داشت که با فیچرهای جدید کوپایلوت یک بازی Snake رو با vibe coding پیاده‌سازی کنه که تا آخر هر کاری کرد کدش کار نکرد و مجبور شد ارائه‌اش رو ناتموم بذاره :))

#wearedevelopers2025
@aminrbg
  • 😁 21
  • 🤣 8
  • 🐳 2
Post #3118 2.58K
نوشته‌های ترمینالی اگه با گیت کار می‌کنید احتمالا دستورهای اولیه تو ذهنتون هست مثل add commit push pull که خیلیم خوبه. ولی یه سری دستورها اضافه شدن که کار رو راحت کنن. مثلا چون با checkout و reset کارهای خیلی متفاوتی میشه انجام داد، در نسخه‌های جدید switch و restore رو معرفی…
بین کامندهای گیت که کمتر می‌شناسیم، worktree هست که از وقتی باهاش دوست شدم و درست استفاده کردم به سری جاها زندگیم رو راحت کرد.
این آموزش، هم نیازمندی‌ای که رفع می‌کنه هم طرز استفاده ازش رو به خوبی توضیح میده.

https://youtu.be/8vsRb2mTBA8


@terminal_stuff
  • 👍 7
  • ❤ 2
Post #3116 2.01K

Forwarded from مهندسی نرم‌افزار - Software Inside

#مطلب

The Part of PostgreSQL We Hate the Most
https://www.cs.cmu.edu/~pavlo/blog/2023/04/the-part-of-postgresql-we-hate-the-most.html

قسمت‌هایی از پستگرس که ازشون متنفریم! این روزا پستگرس تبدیل شده به یکی از محبوب‌ترین دیتابیس‌های رابطه‌ای و روز به روز هم داره به محبویتش اضافه میشه اما این بدین معنی نیست که پستگرس مشکلی نداره :)
داخل پستگرس یه مفهومی داریم به اسم MVCC که کمک می‌کنه تراکنش‌های مختلف به صورت همزمان داخل پایگاه داده اجرا بشن بدون اینکه روی داده‌های هم‌دیگه اثر بذارن و isolation رو نقض کنن.
این مطلب به صورت عمیق به توضیح MVCC توی دیتابیس‌ها علی‌الخصوص پستگرس می‌پردازه و مشکلات روشی که پسترگس رفته رو بیان میکنه. اینکه توی پسترگس نیاز به VACCUM دوره‌ای داریم یا مشکل Table bloatیا اینکه آپدیت کردن یک ستون از یه ردیف باعث میشه کل داده‌های ردیف کپی بشن به همین مفهوم مربوطه.

این مطلب دید خیلی خوبی به internals پستگرس میده و به کسایی که دوست دارن توی پستگرس و دیتابیس‌ها عمیق بشن توصیه میکنم

✴️ @software_inside - مهندسی‌نرم‌افزار
Andy Pavlo - Carnegie Mellon University The Part of PostgreSQL We Hate the Most As much as Andy loves PostgreSQL, there is one part that is terrible and causes many headaches for people. Learn what it is and why it sucks.
  • ❤ 12
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 →