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

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

@terminal_stuff

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

Showing posts older than #2790 · Back to latest

Older Posts 20 shown
Post #2789 1.11K
پارادایم‌های مختلف دیتابیس چیا هستن؟
دیتابیس‌های رابطه‌ای رو حتما دیدیم، شاید key-value store هم دیده باشید ولی با document-basedها هم آشنا هستین؟ با گراف‌بیس‌ها چی؟
https://www.youtube.com/watch?v=W2Z7fbCLSTw
YouTube 7 Database Paradigms Learn about seven different database paradigms and what they do best. https://fireship.io/lessons/top-seven-database-paradigms/ 00:00 Intro 00:45 Key-value 01:48 Wide Column 02:47 Document 04:05 Relational 06:21 Graph 07:22 Search Engine 08:27 Multi-model…
  • 👍 4
Post #2787 922

Forwarded from Python BackendHub

مقاله جالبه بخونید بنظرم

https://belief-driven-design.com/naming-stuff-is-hard-17fca2ee582/

میشه گفت مهم ترین اصل کلین کد اسم گذاری variable ها هست. چون شما هر طوری کد بزنی اگه اینو درست انجام ندی کدت کلین نیست.

همیشه تو هر کاری زیاده روی هست. به کسی که قراره کدتون رو maintain کنه رحم کنید و مثل عکس اسم گذاری نکنید :))


w 🚫
weight ❔
weightKg ✅
customerWeightInKg ❔
customerCurrentWeightInKg🚫

@ManiFoldsPython
  • 👍 3
Post #2786 1.37K
بحث rate limit هم جالبه. ایده اینه که یه سرور (یا کلا خدمت دهنده) داریم که به یکسری مشتری می‌خواد خدمت بده، اما نمی‌خواد یه مشتری زیاد از منابع استفاده کنه که سر سرور شلوغ بشه و به بقیه منابع نرسه. برای همین میان یه محدودیت می‌ذارن که مثلا هر اکانت می‌تونه روزی ۶۰۰۰ تا توییت بخونه یا ۲۰۰ تا توییت بنویسه یا این ip صد بار در روز بیشتر آب و هوا رو چک نکنه.
حالا الگوریتم‌های مختلفی که باهاش rate limit پیاده‌سازی می‌شه چیا هستن؟
https://nordicapis.com/different-algorithms-to-implement-rate-limiting-in-apis/
Nordic APIs Different Algorithms to Implement Rate Limiting in APIs | Nordic APIs | There are many ways to rate limit APIs. Here are a few examples and algorithms to help you implement rate limiting effectively.
  • 👍 4
Post #2785 2.12K
می‌دونستین از رو لوگوی intel inside می‌تونید حدودا نسل پردازنده رو بفهمید؟
چطوری؟ با کمک این عکس.
  • 🔥 9
  • 😁 3
  • ❤ 1
  • 👍 1
Post #2784 1.02K
اگه با latex بخواید تو مک کار کنید یه latex distribution خوبی که می‌تونید استفاده کنید و ابزارها رو به شکل مناسب داره، mactexئه، البته در همه‌ی سیستم‌عامل‌ها هم tectonic وجود داره که خیلی زیبا و سرراسته.
  • 👍 1
  • 😁 1
Post #2783 966
اگه با مک کار کرده باشید، ممکنه مثل من با این accent menu به مشکل خورده باشید. یه منوئه که وقتی یه دکمه رو نگه دارید خودشو نشون میده و بهتون گزینه‌های دیگر همین کلیدی که نگه داشتید رو نشون میده، مثل چیزی که توی کیبورد تاچ گوشی‌ها گاها می‌بینیم.

برای غیرفعال کردنش با توجه به ux خوب این سیستم‌عامل، گزینه‌ی گرافیکی اصلا وجود نداره و باید تو ترمینال این دستور رو بزنید:


defaults write -g ApplePressAndHoldEnabled -bool false



توضیح accent menu:
https://support.apple.com/guide/mac-help/enter-characters-with-accent-marks-on-mac-mh27474/mac
Apple Support Enter characters with accent marks on Mac In apps on your Mac, type characters with accent marks by pressing a key on the keyboard to display an accent menu.
  • 👍 1
Post #2782 746
یه مشکل دیگه هم که ممکنه روی mac برخورده باشید اینه که ابزارهای پیشفرضی که نصب هستن (مثلا ls/rm/chmod/chown اینا) همون نسخه‌ی معادل لینوکسیشون نیستن.
به بیان دیگه توی گنو/لینوکس عمدتا توزیع‌ها از gnu coreutils استفاده می‌کنن و ما هم به فلگ‌هاشون عادت داریم، بعضی توزیع‌ها هم از چیزای جایگزین استفاده می‌کنن (مثلا alpine برای سبک بودن از یه نسخه‌‌ی خیلی سبک استفاده می‌کنه به اسم busybox)

نسخه‌ای که توی مک وجود داره هم هیچ کدوم از اینا نیست،‌ امکاناتی که لازم داریم رو هم خیلی اوقات نداره. اما خبر خوب اینکه همون پکیج‌های coreutils اینجا هم وجود دارن و می‌تونید نصب کنید.

اینجا دستورات نصب رو ببینید:
https://apple.stackexchange.com/questions/69223/how-to-replace-mac-os-x-utilities-with-gnu-core-utilities


البته خبر بد اینکه برای اینکه با ابزارهای اصلی توی PATH تداخل نکنن، اول اسمشون یه g اضافه شده مثلا gls به جای ls.
اما راه‌هایی داره که همون مطلب بالا رو توصیه می‌کنم ببینید.


لینک نصب و توضیحاتش از brew:
https://formulae.brew.sh/formula/coreutils
Ask Different How to replace Mac OS X utilities with GNU core utilities? I found there is some differences between the utility command I used on the mac OSX and linux. I want to make my experience united. How could I replace all my mac utilities with GNU utilities?
  • 🆒 1
Post #2781 663
داکر هم با توجه به ماهیتش سخته که بخواد با کرنلی غیر از لینوکس کار کنه، حالا معماری هم متفاوت باشه که دیگه واویلا.

حالا اگر docker desktop رو نصب کنید خیلی خوب پیش‌نیازها هندل شده و out of the box کار می کنه، فقط محدودیتش اینه که باید تو پس زمینه اجرا باشه تا دستورای داکر کار کنه یعنی daemonی نداره.
اما مشکلی که هست اینه که خیلی کنده. خیلی خیلی کند گاهی. مخصوصا برای کارهایی که شامل کار با فایل‌های زیاد و دسترسی به file system می‌شه ترجمه‌ی سیستم‌کال‌ها گویا خیلی طول می‌کشه!


این مطلب راه‌های خوبی پیشنهاد داده و خیلی کامله.
https://www.syntasso.io/post/slow-performance-on-m1-macbooks-leads-to-supporting-multi-architecture-docker-builds

این پروژه هم ببینید بد نیست:
https://github.com/abiosoft/colima
و این هم آموزش استفاده ازش:
https://opensource.com/article/22/9/docker-desktop-colima


همچنین کاری که خودم کردم این بود: می‌تونید به جای desktop-linux از بیلدر دیفالت استفاده کنید. با یه چنین دستوری:

docker context use default


اینکه داستان چیه رو اینجا بخونید:
https://stackoverflow.com/a/49688931

اینکه چرا کار میکنه رو دقیق نمی‌دونم ولی فکر کنم موقع پول کردن از داکرهاب پلتفرم رو هم مشخص می‌کنه و ایمج‌های مناسبی رو می‌گیره، اما اگر اون ایمج نسخه‌ی arm8 نداشته باشه (که اکثرا دیدم دارن) مشکل داریم و باید برگردیم به همون روش‌های قبلی.


ادیت:
دوستمون تو کامنت‌ها orb رو پیشنهاد کردن که فوق‌العاده چیز سریع و مرتبیه. حتما توصیه می‌کنم شما هم تست کنید.
https://orbstack.dev/
https://github.com/orbstack/orbstack
Syntasso.io Slow performance on M1 Macbooks leads to supporting multi-architecture Docker builds Syntasso’s engineering team has recently been excited to test drive the new M1 Macbook chips. And it’s mainly been a positive experience but there have been a few surprises! In particular, we spent a few days debugging our software running on Docker Desktop…
  • ❤ 2
Post #2780 676
ابزار proxychains که قبلا هم در موردش صحبت کردم، اینطوری کار میکرد که لایبرری‌های برنامه‌ی مورد نظر رو دستکاری میکرد تا به جای اینکه ترافیک شبکه رو مستقیم بفرستن بیرون، از یه socksای چیزی رد کنن.
حالا این دستکاری لایبرری‌ها قاعدتا مشکلاتی داره.
مشکلی که اینجا هست اینه که گویا تو نسخه ۱۴ یه باگ ریزی هم وجود داره که خود سیستم معماری پردازنده رو درست مشخص نمی‌کنه.
به هر حال در موردش اینجا بخونید. ایشو هنوز بازه ولی راه‌هایی شامل کامپایل از سورس پیشنهاد دادن.
راه جایگزین هم البته استفاده از environment variableها هستن.


راستی یادمون نره که دستکاری لایبرری‌ها تو این سیستم‌عامل به شکل پیشفرض ممنوعه. مکانیسمی که وجود داره اسمش SIP یا system integrity protection هست. برای غیرفعال کردنش هم باید برید تو مود ریکاوری (که تو مکبوکهای جدید با مکبوکهای قدیمی فرق داره روشش و اصلا سرراست نیست خلاصه)
و این دستور رو بزنید:


csrutil disable
Post #2779 556
اگه mac m1 دارید احتمالا مشکلات زیادی هم با معماری پردازنده‌ش داشتید. البته من طرفدار بروز شدن معماری‌ها هستم و به نظرم خیلی قدم مهمی بود.

چند تا مشکلی که داشتم اینا هستن:
Post #2778 706
اگر خواسته باشید رو مک، صدای سیستم رو ضبط کنید مثلا برای ضبط کلاس انلاین، حتما با چالش‌هاش مواجه شدین. چالش‌ها در این حده که یه ماژول به کرنل اضافه کنید و ...
خبر خوب اینه که از نسخه ی ۱۳ به بعد بدون دردسر صدای یه برنامه یا کل سیستم رو بگیرید و ضبط کنید. مثلا این آموزش obs ئه.
نکته‌ای که باید دقت کنید اینه که از macOs screen capture به جای حالت عادی استفاده کنید.

https://obsproject.com/kb/macos-desktop-audio-capture-guide
Obsproject macOS Desktop Audio Capture Guide | OBS OBS Knowledge Base. Make sure your viewers can hear what you hear from your Mac
Post #2777 639
اگر macتون fingerprint داره، می‌تونید به‌جای تایپ کردن رمز سودو ازش استفاده کنید.
چطوری؟ یه فایل رو باید با دسترسی روت ادیت کنید و یه خط بهش اضافه کنید.
جزئیاتش رو اینجا ببینید:
https://apple.stackexchange.com/questions/259093/can-touch-id-on-mac-authenticate-sudo-in-terminal
Ask Different Can Touch ID on Mac authenticate sudo in Terminal?
  • 🤯 3
Post #2776 700
اگه تو مک می‌خواید markdown بنویسید، اکثر ادیتورهای خوب پولی هستن متاسفانه من از typora تو لینوکس استفاده می‌کردم که اینجا پولیه.

اینجا یه لیست از ابزارهای متن‌باز ادیت مارک‌داون هست:
https://github.com/marktext/marktext

چند تا گزینه‌ی خوب با پشتیبانی نسبتا خوب از فارسی marktext و zettlr هستن. البته دومی گزینه‌های بیشتری هم داره.

جمع‌بندی من استفاده از marktext بود با چند تا نکته:
اول که نصبش می‌کنید چون اکانت دولوپر اپل ندارن و ساینش نکردن، برنامه باز نمیشه. این دستور رو بزنید بهش اعتماد میکنه و باز میشه:

xattr -cr /Applications/MarkText.app



برای فارسی نوشتن مشکلی نیست و می‌تونید حالت RTLش رو فعال کنید ولی برای خروجی گرفتن، کار خودشو می‌کنه. در واقع بر اساس تم‌هاش خروجی رو تولید می‌کنه که تم ‌های پیش‌فرضش پشتیبانی نمی‌کنن از متن راست به چپ. برای همین می‌تونید یه تم بسازید که این مشکل رو حل کنه:


/** ME **/

.markdown-body {
direction: rtl;
}

pre {
direction: ltr;
}



کافیه متن بالا (کامنتش هم مهمه) رو تو یه فایل در مسیر تم‌ها بذارید.

لینوکس:

~/.config/marktext/themes/export/my-theme.css


مک:


~/Library/Application Support/marktext/themes/export/my-theme.css
GitHub GitHub - marktext/marktext: 📝A simple and elegant markdown editor, available for Linux, macOS and Windows. 📝A simple and elegant markdown editor, available for Linux, macOS and Windows. - marktext/marktext
  • 👍 1
Post #2775 664
اگه مک دارید و می‌خواید با caps-lock زبون رو عوض کنید، در حالت عادی گاهی کار می‌کنه و گاهی نمی‌کنه.
اینجا یه راه حل خوب براش هست:
https://apple.stackexchange.com/a/456649
Ask Different Switching language input using Capslock: how to remove delay? I have U.S. and Japanese (Hiragana) input on the keyboard. There's a feature in macOS "Use the Caps Lock key to switch to and from U.S.". So, pressing Capslock switches between U.S. and Japanese fi...
  • 👍 3
  • ❤ 1
Post #2773 933
چرا نوشتن فایل‌ها در tmpfs بد است!
https://rwmj.wordpress.com/2012/09/12/tmpfs-considered-harmful/

این مقاله کوتاه توضیح میده که چطوری میتونه ما به عنوان کاربر و برنامه‌نویس رو گمراه کنه و باعث بشه فایل‌های مهممون پاک بشن.

همچنین می‌تونید نظرات کاربرا رو اینجا بخونید:
https://news.ycombinator.com/item?id=4510171


پانوشت: tmpfs یه مدل فایل‌سیستم موقته که در خیلی از توزیع‌ها توی /tmp ازش استفاده می‌شه و فایل‌ها رو فقط در زمان روشن بودن سیستم حفظ می‌کنه (مثل مموری)
Richard WM Jones tmpfs considered harmful To clarify, this is about using tmpfs for /tmp being harmful. Specialized use of tmpfs in other situations is fine. Fedora (beginning with 18) has changed /tmp so it is now a separate tmpfs partiti…
  • 👍 4
Post #2772 2.87K
چرا self-study بد است؟
https://www.youtube.com/watch?v=g7MSfHEdxXs


ایده این ویدیو این نیست که self study نکنیم، بلکه میگه این خطرات رو داره و اگر مثلا در روندش احساس حماقت کردید یا انگیزه‌تون رو از دست دادید مشکل شما نیست، مشکل این روشه.
YouTube The Dark Side of Self Study In this video I talk about the dark side of self study. This applies to all subjects, not just math. Learning on your own is great and very rewarding, but it can have some serious pitfalls. In this video I try to address these and explain how you can overcome…
  • 👍 10
  • 👎 1
Post #2771 1.09K
Post #2770 1.19K
تیپیکال سوال مصاحبه: وقتی google[dot]com رو توی مرورگر می‌زنیم چه اتفاقی می‌افته؟
این سوال می‌تونه بر اساس دانش شما از جنبه های مختلفی مثل شبکه (شامل DNS و TCP و routing) تا مرورگر (مثل پردازش ورودی و DOM و render کردن) یا بک‌اند (مثل وب سرورها و نحوه تولید دیتا در کنار فایروال و لود بالانسر و api gateway و ...) پاسخ داده بشه.

این پیج گیتهاب پاسخ نسبتا خوبی به این سوال داده و از زمینه های مختلفی مثل سخت افزار و مرورگر و شبکه بهش پرداخته ولی خیلی به بک‌اند نپرداخته به نظرم.
در کل هم عمقش کمه و طولش به نسبت طولانی نیست و اگر خیلی دانش تخصصی زیادی ندارید هم میتونید با گذر از بخش هایی که متوجه نمیشید، ازش لذت ببرید.

https://github.com/alex/what-happens-when
GitHub GitHub - alex/what-happens-when: An attempt to answer the age old interview question "What happens when you type google.com into… An attempt to answer the age old interview question "What happens when you type google.com into your browser and press enter?" - alex/what-happens-when
  • 👍 9
Post #2769 718

Forwarded from LinFAQ (Reza)

#روزی_یک_نکته با دلاتو

دسته‌بندی: #کاربردی #آموزشی

برا داشتن لیست ابزار های نصب شده داخل پکمن:
کاری که انجام دادم این بود که لیست کل پکیج های نصب شده رو داخل یه فایل نگه داشتم (هر خط اسم یه پکیج)، مثلا توی مسیر زیر:

/home/user/packages.txt

خب حالا هر بار میخوام سیستم رو بروز کنم یا پکیجی رو نصب کنم از دستور زیر استفاده میکنم (که میشه براش یه alias ردیف کرد):

sudo pacman -Syu --needed - < /home/user/packages.txt

(چون sudo اولش هست اگه ~ استفاده کنم تو home یوزرم دنبال فایله نمیگرده...
برای همین مسیر کامل دادم، هنوز تست نکردم
$HOME
جواب هست یا نه)، که خب لیست فایل رو میگیره و اگه نصب نبودن همزمان با بروز کردن سیستم اون هارو هم نصب میکنه
(فلگ needed-- برا اینه که اگه از قبل اون پکیج ها نصب و بروز بودن دوباره نصبشون نکنه).
میتونید یه alias ردیف کنید براش:

alias update='sudo pacman -Syu --needed - < /home/user/packages.txt'

اینطوری برا نصب پکیج، کافیه اسم پکیج رو به اون فایل اضافه کنید و بعد update رو اجرا کنید.

برا لیست کردن پکیج های نصب شده میشه از دستور زیر استفاده کرد:

pacman -Qqe > pkglist.txt

منبع: https://wiki.archlinux.org/title/pacman/Tips_and_tricks#List_of_installed_packages

ضمنا منبع بالا برای بروز کردن لیست پکیج های نصب شده روی سیستم بعد هر بار نصب و حذف پکیج هم راه حل داده.

اگه بخواید بر اساس اون لیست کل پکیج ها حذف/ نصب بشن (هر پکیجی که تو لیست نبود ولی نصب بود حذف بشه و هر پکیجی که تو لیست بود ولی نصب نبود نصب بشه) میشه از این بخش ویکی کمک گرفت:


در نهایت این شیوه ها برای نصب دوباره پکیج ها روی سیستم جدید و به صورت کلی مدیریتشون کمک میکنه.
🔅@LinFAQ
🔅@LinAcademy
  • 👍 5
  • 👎 1
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 →