نوشته‌های ترمینالی
2.63K subscribers
424 photos
12 videos
32 files
2.25K links
Download Telegram
اگه از گیت زیاد استفاده می‌کنید، شاید بد نباشه یکم که یاد گرفتین، از UI هم استفاده کنید. حالا GUIهای خوبی هست که خودتون می‌تونید پیدا کنید، اما یکسری UI برای گیت هست که توی ترمینال می‌تونید استفاده کنید.
سه تا معروفی که من باهاشون کار کردم و تقریبا هر سه رو دوست داشتم lazy git و gitui و tig هستن.


من از همه بیشتر تا اینجا lazy git رو دوست داشتم، رابط کاربری مرتبی داره و هرچی نیاز دارید همینجا هست، می‌تونید stage و کامیت و پوش کنید و خیلی راحت و دم دست diffها رو هم بهتون نشون می‌ده.
با stash و log و branch هم خیلی دوسته و با ? هم راحت بهتون help رو نشون میده.
این دو تا ویدیو هم از سازندگانشه.
آشنایی اولیه با lazygit
https://youtu.be/VDXvbHZYeKY
۱۵ قابلیت lazygit در ۱۵ دقیقه
https://www.youtube.com/watch?v=CPLdltN7wgE


برنامه‌ی دیگه gitui ئه که در نگاه اول خیلی شبیه lazygit ئه، فقط این برنامه با rust نوشته شده (قبلی با گو بود) و ادعا می‌کنه سریع‌تره. فرق دیگه‌ای که داره اینه که امکانات مختلفش توی tabهای مختلف برنامه‌س که می‌تونید راحت جا به جا بشید و صفحه‌ی اول برنامه شلوغ نمی‌شه.
من به نظرم فرق خیلی خاصی با قبلی نداشت و می‌تونید از هردو استفاده کنید.

برنامه‌ی سوم tigئه، اینطوری که من متوجه شدم ذاتش با اون دو تای دیگه فرق داره و سعی می‌کنه git بهتری باشه. خود دستورات گیت رو می‌تونید بزنید داخلش و براتون با ui خودش انجام می‌ده، به بیان دیگه هنوز با commandها سر و کار دارید ولی نتیجه رو توی tig می‌بینید. حتی می‌تونید خود گیت رو اجرا کنید و خروجیش رو توی tig بریزید!

دستورهای نصبشون رو می‌تونید اینجا بخونید:
https://jdhao.github.io/2021/09/11/git_tui_clients_hands_on/
البته تو مخازن نرم‌افزاری هم هر سه تاشون احتمالا هستن و کانفیگ خاصی هم نیاز ندارن.
👍51
نوشته‌های ترمینالی
https://virgool.io/@saeed.shahrivari/%D9%85%D9%81%D8%A7%D9%87%DB%8C%D9%85-%D9%BE%D8%A7%DB%8C%D9%87-%D8%A7%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-rnp5de6pgxhx
سوالی که خیلی از من میپرسن دوستان و آشنایان، اینه که تو کارشناسی مهندسی کامپیوتر چیکار میکنیم و چی یاد میگیریم؟
جواب من اینه که یکسری اصول و پایه ها رو یاد میگیریم که کارهای صنعتی بهش نیاز داره.
حالا مهم ترین اون اصول تو یکسری از درس ها ارائه میشه در این حدود: (به نظر من)
مبانی برنامه نویسی
برنامه نویسی پیشرفته
ساختمان داده
الگوریتم
مهندسی نرم افزار
سیستم عامل
شبکه
مهندسی اینترنت
پایگاه داده
معماری کامپیوتر
ریزپردازنده و اسمبلی (تا حدی!)

این مطلب بالا رو میتونید این شکلی نگاه کنید بهش که برای این درس ها منبع معرفی کرده و گفته اگر هر کدوم رو یاد بگیریم، چه سوالاتی رو میتونیم جواب بدیم.
👍5
یکسری راهنمایی‌ها برای رزومه‌ی کاری از زبان جادی
https://linuxbook.ir/chapters/resume.html
👍3👎1
در مورد performance و لاگ تو این چنل کمتر حرف زدیم، اما به این معنی نیست که اهمیت ندارن.
یه اتفاقی که توی دنیای آکادمیک میفته اینه که اردر الگوریتم رو محاسبه می‌کنیم و تموم ولی همیشه/اکثر اوقات کافی نیست، ما در دنیای واقعی دنبال گلوگاه یه سیستم بزرگ هستیم و میخوایم روی اون کار کنیم.
اگه دوست داشتید یه آموزش کوتاه برای راهکارهای اندازه گیری پرفورمنس قسمت های مختلف برنامه داشته ببینید، این آموزش با open telemetry و honey comb کار می‌کنه و بعد هم مموری مصرفی رو اندازه گیری می‌کنه.

https://pythonspeed.com/articles/slow-data-analysis-tasks/
👍5
Forwarded from Semicolon (Ali)
سایت iToolKit.ir با هدف ایجاد یک سری ابزار مفید برای برنامه نویسان طراحی کردم 🎉
این سایت بعد از اولین بارگذاری بدون اینترنت هم در دسترس میباشد 😎

امکان نصب بصورت PWA هم وجود داره تا نیاز به جستجو سایت نداشته باشید 😉

پروژه متن باز هستش و میتونید باگ یا نیازمندی های خودتونو در قسمت Issue ثبت کنید

https://github.com/AkbarAsghari/IToolKit

قابلیت های این ورژن

Encoders / Decoders
HTML
URL
Base64 Text
Base32 Text
Unicode
JWT Decoder
Ciphers
AES
Formatters
JSON
XML
Generators
Hash (MD5, SHA1, SHA256, SHA384, SHA512)
UUID 1 and 4
Password
Text
Escape / Unescape
Inspector & Case Converter
Regex Tester
Graphic
Color Picker
4👍2🔥1
شاید شما هم مثل من پوشه‌ی تنظیمات editorتون رو به gitignore همه‌ی پروژه‌هاتون اضافه می‌کنید، اما اگر پروژه، پروژه‌ی ما نیست چی؟ به تمام پروژه‌‌هایی که contributor شون هستیم چی؟ یا مثلا فایل .DS_Store مک رو در نظر بگیرید، چون یک نفر مک داره باید این به gitignore پروژه اضافه بشه؟
راه حل بهترش استفاده از global gitignoreئه، یه فایل گیت ایگنور که برای سیستم شما روی همه چی اعمال میشه نه فقط یه ریپوزیتوری.
در موردش اینجا بخونید:
https://sebastiandedeyne.com/setting-up-a-global-gitignore-file/
👍8
برای حرفه‌ای شدن تو برنامه‌نویسی و توسعه‌ی نرم‌افزار، فقط یاد گرفتن زبون و فریمورک کافی نیست. یه سری تجربه هم لازمه، ولی لزوما سال سابقه کار هم باعث نمیشه اون تجربه‌ها رو به دست بیاریم، برای همین نیاز داریم که از بقیه هم یاد بگیریم، زیر دست آدمای توانمند کار کنیم، کتاب و وبلاگ بخونیم و ...

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

توصیه دومم اینه که کتاب‌هایی که به نوعی تجارب آدمای با تجربه رو منتقل می‌کنن رو خیلی جدی بگیرید. مثلا کتاب clean coder (کدنویس تمیز) رو من از این دسته می‌دونم و دوست دارم. (هرچند با خود نویسنده زاویه‌هایی دارم حالا ولی مهم نیست.)
یک کتاب دیگه هم که هرچی ازش می‌خونم بیشتر خوشم میاد کتابچه‌ی ۹۷ چیزیه که هر برنامه‌نویس باید بدونه.
خوشبختانه ترجمه فارسی هم داره ولی من اینجا لینک انگلیسیش رو می‌ذارم.

https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/en/summary

این لینک فهرست مطالشه که ۹۷ تا توصیه کرده و رو هر کدوم بزنید توضیحاتش هست و البته من توصیه میکنم به ترتیب شروع کنید بخونید.
8👍3
Forwarded from Woland's Linux Journal (Woland)
اگر با هیچکدوم از ادیتور‌های ترمینالی لینوکس یا یونیکس راحت نیستین، ne شاید براتون مناسب باشه.
این ادیتور یک برنامه سبک و ساده‌س که با C نوشته شده و شورتکات‌های آشنا و مرسوم برنامه‌های داس و ویندوز رو استفاده می‌کنه.
مثل Ctrl S برای ذخیره کردن، Ctrl W برای بستن صفحه، Ctrl Q برای خارج شدن و غیره ...

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

نصبش به سادگی کلون کردن مخزن و اجرای دستور sudo make install است.

توی AUR هم طبیعتا هست😉


👈 🔗 لینک مخزن
👈 🔗 لینک سایت
👈 🔗 لینک راهنما


#معرفی #linux #لینوکس
👍3
مشکل ۳۰۰ درصد:
این مطلب توضیح میده که برای نوشتن و دیپلوی موفق یه برنامه بک‌اند، لازمه چیا بلد باشیم و چرا یاد گرفتن همه اینا سخته و این وسط مثال میزنه از کوبرنتیز و میکروسرویس‌ها که همه چیو پیچیده تر میکنن.
در آخر هم توصیه‌ش اینه که ساده نگه دارید همه چیو. تا جای ممکن.

مطلب جالبی بود و توصیه می‌کنم بخونید.
https://leebriggs.co.uk/blog/2023/09/28/300_percent_problem
👍5
نوشته‌های ترمینالی pinned «برای حرفه‌ای شدن تو برنامه‌نویسی و توسعه‌ی نرم‌افزار، فقط یاد گرفتن زبون و فریمورک کافی نیست. یه سری تجربه هم لازمه، ولی لزوما سال سابقه کار هم باعث نمیشه اون تجربه‌ها رو به دست بیاریم، برای همین نیاز داریم که از بقیه هم یاد بگیریم، زیر دست آدمای توانمند کار…»
Forwarded from La3tKnight
ابزار GnuPG یک ابزار رمزنگاری متن باز و معروفه . اما کار کردن باهاش برای افراد مبتدی سخته . هدف ابزار enc اینه که ابزار رمزنگاری ساده تری باشه برای استفاده باشه .

ابزار enc می‌تونه فایل ها رو با استفاده از رمزعبور یا کلیدهای رمزگذاری ، رمزنگاری و رمزگشایی کنه . همچنین میتونه کلیدهارو مدیریت کنه و داده ها رو امضا کنه.

توسعه دهنده های enc اعلام کردند که هدف اونها اینه که که رمزگذاری رو برای همه مهندسان بدون نیاز به یادگیری بسیاری از کلمات، مفاهیم و دستورات جدید در دسترس قرار بگیره.

https://github.com/life4/enc

درصورتی که دوست داشتید درمورد رمزنگاری بیشتر بدونید بهراد سری پست های زیادی درمورد رمزنگاری صحبت کرده :

https://t.iss.one/TadavomnisT_channel/167


🗞 La3tKnight
2👍1
تابع range تو پایتون چی برمیگردونه؟
لیست؟ نه
توپل؟ بازم نه.
آیا خروجی قابل iterate هست؟ بله.

اگه دوست دارید فرق iterable و iterator رو توی پایتون بدونید این مطلب توصیه میشه.

https://treyhunner.com/2018/02/python-range-is-not-an-iterator/

پی‌نوشت: اگرچه ما به عنوان تابع استفاده می‌کنیم، ولی به شکل دقیق تر یه کلاس محسوب میشه.
https://docs.python.org/3/library/functions.html#func-range
👍81
Forwarded from Aryan
سلام بچه ها امیدوارم حالتون خوب باشه
من چند روز پیش پروژه «هزار» رو که نزدیک یک سال پیش شروع کردم توی لینکدین معرفی کردم.
به طور خلاصه هزار بزرگترین پروژه هوش مصنوعی اوپن سورس برای زبان فارسیه که شامل مدل های مختلفی برای پردازش متن، صوت و تصویر میشه و برای وظایف مختلفی از جمله
speech recognition، OCR، image captioning، language modeling، text generation، text classification, sequence labeling, word embedding, ...
مدل آماده داره و همواره در حال توسعه مدل های جدیدتر هستیم.
برای اطلاعات بیشتر شدیدا پیشنهاد می کنم پست لینکدین رو ببینید یا گیت هاب پروژه رو بخونید.

برای این پروژه پلن های بلندمدتی داریم و به مرور داریم تیم توسعه رو گسترش میدیم.
اگر به این حوزه ها علاقه دارید و خیلی دست به کد هستید (سابقه عمیق علمی و عملی در زمینه های مختلف هوش مصنوعی) میتونید بهمون خبر بدید.
اگر از این کار خوشتون اومد و دوست دارید حمایت کنید حتما روی گیت هاب استار بدید.
هر سوال و پیشنهادی هم دارید میتونید مستقیما به خودم (@arxyzan) پیام بدید.
👍5
شاید شنیده باشید که curl یه باگ خطرناک داشته.
جریان از این قراره که وقتی که از socks5h استفاده می‌کردید، به شکل پیشفرض می‌اومده و گرفتن کوئری dns رو از سرور پروکسی انجام می‌داده، اما طبق پروتوکل، تا یه طول محدودی می‌شه نام دامنه رو فرستاد سمت سرور socks که برامون از dns بپرسه.
خلاصه برای هندل کردن حالتی که طول دامنه بلند باشه به buffer overflow میخورده.

این بلاگ اطلاعات خوبی از دو تا آسیب پذیری و چیزایی که تحت تاثیر قرار میدن نوشته. خلاصه اینکه نسخه‌ی ۸.۴.۰ به بعد رو نصب کنید و تا ۸.۳.۰ آسیب پذیر هستن. اگرم نه از socks5 بدون h استفاده کنید که کلا از dns لوکال استفاده می‌کنه.

https://jfrog.com/blog/curl-libcurl-october-2023-vulns-all-you-need-to-know/

این بلاگ پست هم مال خود برنامه‌نویسشه که فنی‌تر گفته و البته کوتاه تره، خیلی توصیه می‌کنم بخونید حتی اگر کاربر curl نیستید.
https://daniel.haxx.se/blog/2023/10/11/how-i-made-a-heap-overflow-in-curl/


توصیه‌ی آخر هم اینکه مراقب مشکلات مموری باشید، اگه دقت کنید اکثر CVEها که میاد (همون آسیب پذیری ها) به خاطر مشکلات حافظه‌ی برنامه‌های سی و سی پلاس پلاسه.
👍5🔥2
Forwarded from Things that I like (Maedeh Dehghan)
یه سایت کاربردی برای کارهای مختلف:
https://tinywow.com/
👍5
Forwarded from Programming Resources via @like
Build famous projects from scratch with a huge and friendly community to increase your knowledge about software engineering and its challenges.
پروژه های معروف را از ابتدا با یک جامعه بزرگ و دوستانه بسازید تا دانش خود را در مورد مهندسی نرم افزار و چالش های آن افزایش دهید.

#practice #programming #code #scratch #applpication #server #basic #interview
@pythony

https://app.codecrafters.io
2👍2