نوشته‌های ترمینالی
2.6K subscribers
421 photos
12 videos
32 files
2.24K links
Download Telegram
چه ایمجی برای استفاده در پروداکشن خوبه؟
آیا باید از دیسترو ها استفاده کنیم یا ایمج scratch هم جواب میده؟
https://sam.gleske.net/blog/engineering/2022/10/25/guide-to-production-docker-images.html
3
خیلی وقتا برای ما پیش میاد که تو یه برنچی کار میکنیم که میخوایم با main/master مرجش کنیم ولی کس دیگه‌ای اول مرج میکنه برنچشو و ما conflict می‌خوریم.
حالا وقتی میخوایم کانفلیکت‌ها رو حل کنیم می‌تونیم برنچ main رو با برنچ خودمون merge کنیم یا برنچ خودمون رو rebase کنیم به main جدید.

اینکه کدومش خوبه کدومش نه، جوابش بستگی داره‌س!
تو تیم‌هایی که جونیور زیاد دارن توصیه می‌شه مرج کنید و تموم. اینطوری تاریخچه پیچیده‌تری دارید (چون چرا یهو main تو یه برنچ مرج شده) ولی مجیک خاصی اتفاق نمی‌افته.
از طرفی rebase باعث می‌شه که یه تاریخچه شبیه‌سازی شده و جدید به وجود بیاد که توش کامیت‌های برنچ جدید شما انگار بعد از آخرین کامیت main به وجود اومدن! برای کسی که بعدا نگاه کنه فهمش راحت تره ولی نکته اینه که چنین چیزی اصلا وجود نداشته و ممکنه مشکل لاجیکی تو کد ایجاد کنه.
تو این ویدیو این بحث رو خیلی خوب در قالب یه مکالمه توضیح دادن. توصیه می‌کنم ببینید.
https://www.youtube.com/watch?v=7gEbHsHXdn0
👍9
آیا گوشی هوشمند ما به ما گوش می‌کنه؟
احتمالا بله.
https://news.itsfoss.com/ad-company-listening-to-microphone/

(یه مقدارم عنوانش کلیخور و زرده ولی حالا ببینیدش ضرر نداره)
👍2👎1💔1
Forwarded from Geek Alerts
امروز، ۹ سپتامبر، سال‌روز تولد دنیس ریچی است.

دنیس مک‌آلیستر ریچی، دانشمند کامپیوتر آمریکایی بود که بیشتر به عنوان خالق زبان برنامه‌نویسی C و مشارکت‌های زیادش در توسعه و خلق سیستم‌عامل یونیکس به همراه کن تامسون، شناخته می‌شه. ریچی و تامسون در سال ۱۹۸۳ جایزه تورینگ که ارزشمندترین جایزه در حوزه علوم کامپیوتر هست رو به دلیل پیاده‌سازی یونیکس می‌گیرن. دنیس ریچی همچنین در سال ۱۹۹۹ مدال ملی فناوری رو توسط رییس‌جمهور وقت آمریکا، کلینتون دریافت می‌کنه. جسد ریچی در ۱۲م اکتبر ۲۰۱۱ در سن هفتادسالگی‌اش در خونه‌اش که به تنهایی در اون زندگی می‌کرد پیدا شد. هیچ‌گاه زمان دقیق مرگ دنیس مشخص نشد. اعلام فوت ریچی یک هفته بعد از مرگ استیو جابز بود اما پوشش رسانه‌ای قابل توجه‌ای در مقایسه با جابز براش ایجاد نشد. امروز ۸۳مین سال‌روز تولد دنیس هست. بدون مشارکت‌های او، احتمالاً هیچ کدوم از ما نمی‌تونستیم به شکل کنونی از کامپیوترها، نرم‌افزارهای پیچیده یا حتی اینترنت مدرن استفاده کنیم.

https://en.wikipedia.org/wiki/Dennis_Ritchie
hadi @geekalerts
36👍5😢1
روز اونایی که ایده‌های انتزاعی رو با کمک زبون‌های صوری به شکل قابل اجرا توسط اجسام بی‌جان می‌نویسن مبارک باشه.
351😐8🤣4👍2
ثبت نام هکتوبرفست شروع شده.
یادتون باشه که جا نمونید.

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

ادیت: امسال تیشرت نمیدن انگار.
👎3👍1
چرا سورس کد بیشتر بد است؟

https://huly.blog/source-code-is-poison

این مطلب نگاه خیلی جالبی به سورس کد داره. میگه خیلی اوقات ما پاداش میگیریم چون کد جدید نوشتیم ولی کد یه بدهی و سمه. مقدار کمش می‌تونه به فیچر منجر بشه ولی زیاد که میشه مثل سم باعث میشه توسعه جلو نره و نیروی بیشتری نیاز داشته باشه و ...
Forwarded from Programming Resources via @like
Do you know we will have overflow for datetime on January 19, 2038 because of UNIX timestamp?
آیا میدانید در سال ۲۰۳۸ یه باگ بزرگ خواهیم داشت و اونم سرریز کردن unix timestamp عه چون دیگه جا نداره که زمان‌های بعدی رو نگه داره ؟

#bug #date #time #unix #2038 #overflow #timestamp
@pythony

https://2038.wtf
👍7😱3😢1
Forwarded from Programming Resources via @like
An interactive IP address and CIDR range visualizer.
اگه شما هم مثل من همیشه این cidr ها رو قاطی میکنید از این سایت استفاده کنید که بصورت جالبی نشون میده که محدوده آی‌پی مورد نظر از کجا تا کجاس :)

#network #ip #cidr #visual #tutorial #interactive #address #interactive
@pythony

https://cidr.xyz
👍64🔥1
Forwarded from Python Hints
#خارج_از_بحث اما مهم و آموزنده

ما ایرانی‌ها به لطف اتفاقاً سال‌های اخیر، بخصوص اعتراضات و دستگیری‌ها و ...

با تکنیک‌های پیدا کردن محل معترض و تجمع و از این دست اطلاعات توسط نهادهای امنیتی بسیار آشنا هستیم.

اما غیر از اون مورد، همه‌ی دوستان نزدیک من می‌دونند پیام‌ها و تماس‌های مهم نباید از طریق تلفن بیاد ( آدم وقتی امنیت کار می‌کنه و چیزهایی می‌بینه به همه مشکوک می‌شه منم مستثنی نبودم )

اما وقتی میگیم SS7 خیلی‌ها متوجه نمی‌شوند، برای همین همیشه با پیدا کردن مکان دقیق، تا ۵۰ متر این مورد رو مثال می‌زدیم. (وقتی می‌گفتند توی اعتراضات گوشی با خودتون نبرید، یا سیمکارت نداشته باشید و ... دقیقاً برای همین بود)

حالا کانال Veritasium (که شخصاً خیلی سال هست دنبال می‌کنم، قبلاً توی @pytens هم صحبت شده راجبش) با جزئیات و تاریخچه درمورد این نوع حملات صحبت کرده و حتی دمو هم انجام میده

بنظرم لازم هست همگی این مورد رو ببینید.

Exposing the flaw in our phone system

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


راهکارهایی که شخصاً پیشنهاد می‌دم، البته قطعاً فوق‌العاده نیست ولی بهتره :

۱- شماره موبایلی که برای ورود ۲ مرحله‌ای بانک و ... اعلام می‌کنید سعی کنید روی خط تلفنی باشه که هیچکس نداره شمارش رو ...

۲- هرکسی درخواست شماره و رزومه و ... از کف اینترنت داد براش نفرستید اگر مطمئن نیستید (مگر شماره‌ای که فقط برای همینکار هست)

۳- تماس‌ها، پیام‌های مهم رو روی اپلیکیشن‌های end2end encrypted رد و بدل کنید Signal گزینه خوبی هست.

۴- اگر مجبور شدید اطلاعات مهم رو بخش، بخش بفرستید مثلاً.
آدرس سرور: تلگرام
یوزر نیم: ایمیل
پسورد: سیگنال

۵- فایل و ... رو encrypted بفرستید.

۶- برای two factor authentication از ابزار‌های مخصوص اینکار استفاده کنید مثلاً:

Microsoft Authenticator, ...
👍81
زیر کاپوت گیت چه خبره؟
اسلاید های یک ارائه خوب ولی قدیمی از جزییات کارکرد گیت

https://github.com/techgaun/git-internals/blob/master/README.md


این اسلایدها هم هست که جذاب تر و طولانی تره ولی به نظرم بالایی مختصر مفید تر بود
https://www.slideshare.net/slideshow/git-internals-187357386/187357386
9👍4
Forwarded from Lack of leak XD
💡درباره اینکه ویندو منیجر چیه و چیکار میکنه و تفاوتش با دسکتاپ چیه .. این پست رو بخونید

اول از همه اینکه دسکتاپی که شما استفاده میکنید از چیزای خیلی زیادی تشکیل شده که شاید تا بحال اسمشونم نشنیدید .

desktop environment : DE
window manager : WM

اول از همه شما اون پشت یک دیسپلی سرور دارید که بطور کلی داره گرافیک شمارو هندل میکنه تا بتونید بصورت gui با سیستمتون کار کنید . محبوب ترین دیسپلی سرور حال حاضر xorg هست و بعد از اون wayland عه. یادتون نره که برای بالا اومدن هرچیز گرافیکی شما به این نیاز دارید .

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

دسکتاپ شما در مرحله اول با دیسپلی سرور بالا میاد و بعدا از اون سرویس های مورد نیاز خودش رو ران میکنه تا نیاز های شما رو برطرف کنه .

هر دسکتاپی خودش یک wm داره که بتونه مکان و ویژگی های پنجره هاتون رو تنظیم کنه و به شما هم امکان تنظیم رو بده . مثلا وقتی دارید سایز یک پنجره رو تغییر میدید ، دارید با wm سرو کله میزنید . کل کار ویندو منیجر در حقیقت اینه که پنجره هاتون رو مدیریت کنه .

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

ویندو منیجر ها انواع مختلفی دارن :

floating
tiling
dynamic

توی فلوت مثل دسکتاپ میمونه پنجره ها هر جور که باز میکنید تو دسکتاپ و تغییر اینا داره ، اینجا هم همون هست .

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

توی داینامیک هم شما میتونید راحت بین فلوت و تایل سوییچ کنید و در کنار هم استفاده کنید

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

این بنظرم مقدمه ی بدی نبود برای اشنایی با ویندو منیجر . در باره این موضوع بیشتر صحبت خواهم کرد .

@lack_xd
👏13👍31
نوشته‌های ترمینالی
اگه میخواید با کمترین حجم کار یه ide معقول از neovim در بیارید این ویدیو kickstart رو معرفی میکنه که برای همینکاره https://www.youtube.com/watch?v=stqUbv-5u2s
یه بار دیگه جا داره پروژه Kickstart رو معرفی کنم.
اگه میخواید کانفیگ های neovimتون رو مرتب کنید یا از پلاگین منیجر lazy استفاده کنید یا حتی از vim به neovim سوییچ کنید، این پروژه که maintainerش آدم مطرحیه در حوزه neovim، نقطه شروع خیلی خوبیه.

یه چیزی تو مایه های همین رو دیدم یه شرکتی به اسم bettervim به قیمت گزاف می‌فروخت! وقتی رایگان و آزادش هست حداقل آشنا باشیم باهاش.

https://github.com/nvim-lua/kickstart.nvim
4😁1
اگه با زبان کلوژر (clojure) و vscode کار میکنید از این repl داخل ادیتور غافل نشید.

https://calva.io/

کلا هم اگه دنبال یادگیری lisp هستید ولی یه چیزی عملی میخواین بین dialect های مختلفی که داره من racket و clojure رو دوست داشتم.

توسط دوست خوبم دانیال #ارسالی
15😁1
در باب برنامه نویسی فانکشنال، یه مقاله خیلی خوب و البته پایه ای هست که توضیح میده چطوری میشه محاسبات رو در قالب توابع بازگشتی بیان کرد. (در واقع اثبات انجام میده)
اگه به functional programming علاقه دارید ازش میشه چیزای خوبی یاد گرفت.

https://www-formal.stanford.edu/jmc/recursive.pdf

#ارسالی از دوست خوبم دانیال

و یادآوری اینکه مقاله سنگینیه، شاید با کمک سرچ و یوتوب منابعی پیدا کنید که بیشتر توضیح دادن.
2👍1
چی میشه اگه یه مهندس نرم‌افزار (آشنا به گیت و گیتهاب) یه شرکت و متودولوژی توسعه نرم‌افزار طراحی کنه؟
احتمالا برای همه چی از گیت و گیتهاب استفاده می‌کنه. توی plaintext و markdown می‌نویسه و ...

به نظرم ویدیویی جالبی بود.
https://youtu.be/WgV6M1LyfNY?si=Hr9hsBTfmEME7s9A
6👍2