Random shi- tutorials – Telegram
Random shi- tutorials
206 subscribers
229 photos
27 videos
12 files
546 links
محتوای مفید برنامه نویسی و لینوکسی از سراسر دنیا ✍️
جوین شدن شما موجب شادی روح و روان ما میگردد😗
Download Telegram
مدیریت بوت‌لودرهای اضافی UEFI با efibootmgr در لینوکس

اگه بعد از چندبار نصب لینوکس، توی منوی بوت سیستم‌ عامل‌های قدیمی یا خراب میبینی، با ابزار efibootmgr به‌راحتی میتونی ورودی‌های UEFI رو مدیریت کنی.

نمایش لیست ورودی‌ها :

sudo efibootmgr


نمونه خروجی :
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0002,0003
Boot0001* Ubuntu
Boot0002* Windows Boot Manager
Boot0003* oldOS


‏BootCurrent: ورودی فعلی که باهاش سیستم بالا اومده
‏BootOrder: ترتیب بوت
‏ BootXXXX: هر ورودی موجود در NVRAM (ذخیره‌شده در فریمور UEFI)



حذف یک ورودی خاص :

sudo efibootmgr -b 0003 -B


عدد 0003 شناسه‌ی بوتی هست که میخوای پاک بشه (از خروجی دستور قبل بردار).


تنظیم ترتیب بوت:
sudo efibootmgr -o 0001,0002


مثلاً اول Ubuntu و بعد Windows.


تنظیم بوت پیش‌فرض :

sudo efibootmgr -n 0001


در نظر بگیرید که
‏efibootmgr فقط ورودی‌ها رو از NVRAM پاک میکنه، اما فایل واقعی بوت‌لودرها توی پارتیشن EFI میمونن. اگه خواستی اون‌ها رو هم پاک کنی:



پیدا کردن پارتیشن EFI :
lsblk -f


مونت کردن :

sudo mount /dev/sdX1 /mnt


حذف فایل های اضافی :

sudo rm -r /mnt/EFI/OldOS





#bootloader
#linux
#os
#byteforge
@byteforge_chan🛸
1
دوره لینکدین من در فرادرس (50 درصد تخفیف) که خیلی از موارد کلیدی رو بهش اشاره کردم

ولی تمامی موارد رو نمیشد اینجا گفت چونکه باید بر اساس پروفایل و رزومه شما یکسری نکات گفته بشه
اگر اخیراً ویندوز ۱۱ رو آپدیت کردی، حتماً اینو بخون .


توی نسخه‌های جدید ویندوز ۱۱ (به‌خصوص از 24H2 به بعد)، مایکروسافت بدون سر و صدا شروع کرده به فعال کردن BitLocker روی بعضی سیستم‌ها.
این یعنی درایو SSD شما ممکنه رمزنگاری شده باشه، بدون اینکه خودتون خبر داشته باشید.

نتیجه؟
در بعضی سیستم‌ها، مخصوصاً لپ‌تاپ‌های قدیمی‌تر یا سیستم‌هایی که TPM ندارن، این موضوع میتونه باعث کاهش سرعت SSD بشه. گاهی تا ۲۰ درصد یا حتی بیشتر.
و اگه کلید بازیابی (Recovery Key) رو نداشته باشید، توی شرایط خاص ممکنه به کل اطلاعاتتون دسترسی نداشته باشید.
بازیابی هم فقط با همون حساب مایکروسافتی ممکنه که روی ویندوز sync شده .

چطور بفهمیم BitLocker فعاله یا نه؟

‏Command Prompt رو باز کن و این دستور رو بزن:
manage-bde -status

اگه دیدی فعاله، حتماً کلید بازیابی رو یه جای مطمئن ذخیره کن.

اگه بخوای غیرفعالش کنی:
برو به مسیر:
Settings > Privacy & Security > Device Encryption


تنظیمات > حریم خصوصی و امنیت > رمزنگاری دستگاه


(تو بعضی نسخه‌ها با عنوان Device Encryption نمایش داده میشه)



اگه امنیت و کنترل کامل روی داده‌ها برات مهمه، این اتفاق شاید یه تلنگر باشه برای فکر کردن به گزینه‌های دیگه به‌جز ویندوز.🤷🏻‍♂️




#bitlocker
#windows_11
#byteforge
@byteforge_chan 🛸
🔥1
لیست یکی از کامل ترین منابع برای Software Engineer ها
نکات و سورس های زیادی در این لینک ها جمع آوری شده

. Important Software Engineering Principles:

– SOLID - https://lnkd.in/gXJ_JAPX

– ACID - https://lnkd.in/gk98CBGw

– YAGNI - https://lnkd.in/grAd8zdP

– KISS - https://lnkd.in/gHm-y8HM

– DRY - https://lnkd.in/guu9XBq6

– Design Patterns - https://lnkd.in/ghW-VYsi

– Separation Of Concerns - https://lnkd.in/ghjd75Rk

– Modularity - https://lnkd.in/gwhd-K97

. System Design Resources:

1. Primer: https://lnkd.in/eVhC6dTV

2. Resources: https://lnkd.in/eWcNwskN

3. LLD Resourceshttps://lnkd.in/eFNUU9zg

. Coding Interview Resources:

– 900+ DSA Problems: https://lnkd.in/gBe9skqv

– Coding Patterns: https://lnkd.in/gG77UBc5

– Blind 75: https://lnkd.in/gBGV2TFB

– Grind 169: https://lnkd.in/gVRxYejX

– Grind 75: https://lnkd.in/gDGVpq83

– Leetcode 150: https://lnkd.in/gviu_EhN

کانال فرصت های شغلی IT و ارتقای برنامه نویسی:
https://news.1rj.ru/str/webinar_farsi

کانال فرصت های کارآموزی بین المللی و تحصیلی در زمینه IT:
https://news.1rj.ru/str/applyfarsi30
Forwarded from Linuxor ?
بعضیا کانتینر داکر رو با ماشین مجازی اشتباه می‌گیرن، توی ماشین های مجازی واقعا پراسس ها توی ماشین ایزوله هستن ولی پراسس های کانتینر های داکر روی هاست اجرا می‌شه و با یه فیچر لینوکس به اسم namespace ها و cgroup ها مدیریت می‌شه

با دستور زیر می‌تونید ببینید PID اون کانتینر داخل هاستتون چیه :


docker inspect -f '{{.State.Pid}}' my-container


@Linuxor
17 هزار پرامپت آماده منتظر توئن ؛ دیگه تو استفاده از Ai دچار مشکل نمیشی...!

اگه با هوش‌های مصنوعی مثل ChatGPT، Midjourney یا DALL·E کار می‌کنی، این سایت یه گنج واقعی برات حساب میشه:

یه آرشیو عظیم از 17.000 پرامپت دسته‌بندی‌شده، منظم و قابل سرچ برای هر مدل هوش مصنوعی که فکرشو بکنی!

چیا توش داره؟

- پرامپت‌ها همراه با مثال و توضیح
- دسته‌بندی‌شده بر اساس موضوع و سبک
- امکان ذخیره، ویرایش و اشتراک‌گذاری پرامپت‌ها
- افزونه کروم برای دسترسی سریع‌تر
- و از همه مهم‌تر: کاملاً رایگان

آدرسش اینه:
https://promptport.ai

#کاربردی
Forwarded from Linuxor ?
با ابزار Uptime Kuma می‌تونین به طرز زیبایی سرورتون رو مانیتور کنید و زمانی که مشکلی پیش اومد مثلا از ایمیل یا تلگرام بهتون خبر بده

github.com/louislam/uptime-kuma

@Linuxor
چطور اکانت گیتهابم رو حفظ کنم؟ مروری بر 2FA و اهمیت مدیریت دسترسی‌ها 🔥

چند روز پیش یک مشکلی با سیستم 2FA داشتم که خیلی به موقع خودش رو نشون داد. به اپ 2FA در گوشیم دسترسی نداشتم و از اون بدتر، ریکاوری کدهایی که باید ذخیره می‌کردم رو اصلاً نداشتم! (که خب معمولاً خیلیا همینطوری هستن). این شد که یک وضعیت بحرانی پیش اومد و من به از تمام اکانت‌های گیت‌هابم اومده بودم بیرون. تنها راه دسترسی به اکانتم هم یه PAT یا (Personal Access Token) بود که به سختی ساعت‌ها گشتم تا پیداش کنم و در نهایت تونستم وارد بشم. ولی این اتفاق به من یادآوری کرد که چقدر مهمه چند تا نکته امنیتی ساده رو برای اکانت گیت‌هابمون فعال کنیم تا مثل من یهو از زندگی ناامید نشین!

1- سیو کردن ریکاوری کدها
اولین و مهم‌ترین چیزی که باید انجام بدید اینه که ریکاوری کدها رو دانلود کنید و حتما یه جایی ذخیره کنید. نوشتن اونا توی جایی که به راحتی بهش دسترسی داشته باشید (مثلاً یه فایل امن یا یه اپ مخصوص ذخیره‌سازی پسورد) خیلی می‌تونه کمک‌کننده باشه. این کار رو حتما انجام بدید که اگر روزی روزگاری به اپ 2FA دسترسی نداشتید، راحت بتونید وارد بشید.

2- فعال کردن SSH
یکی دیگه از کارهایی که به شدت توصیه می‌کنم، فعال کردن SSH برای اکانت گیت‌هاب هست. این کار کمک می‌کنه که بدون نیاز به وارد کردن پسورد یا توکن، بتونید به راحتی به گیت‌هاب دسترسی پیدا کنید.

نحوه فعال سازی SSH:
- ابتدا باید یک کلید SSH بسازید (با استفاده از ssh-keygen در ترمینال).
- بعد از ساخت کلید، باید اون رو به گیت‌هاب اضافه کنید از طریق تنظیمات SSH Keys در گیت‌هاب.

3- اکسس توکن (PAT)
همچنین به جای استفاده از پسورد برای احراز هویت، می‌تونید از اکسس توکن‌ها (PAT) استفاده کنید. این توکن‌ها برای ارتباط امن‌تر با گیت‌هاب خیلی مفید هستند.

نحوه فعال سازی PAT:
- به تنظیمات اکانت گیت‌هاب برید.
- در قسمت Developer Settings، گزینه Personal Access Tokens رو پیدا کنید.
- توکن جدید بسازید و سطوح دسترسی مورد نظر رو انتخاب کنید.

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

#github
@CodeModule
Forwarded from Linuxor ?
یکی از روش هایی که می‌تونین کد رو کنار متن بنویسید مارکدونه این ادیتور بهتون یه محیط پیشرفته می‌ده که باهاش می‌تونین تقریبا هر چیزی رو نوت برداری کنید کد یا عکس یا جدول و فرمول داخلش بزارید :

https://github.com/marktext/marktext


@Linuxor
Forwarded from Ninja Learn | نینجا لرن (Denver)
خب خب خب، ‏Background Task ها توی FastAPI🚀
گاهی اوقات نیاز داریم که یه کاری بعد از ارسال پاسخ به کاربر انجام بشه. مثل ارسال ایمیل خوشامد گویی، ثبت لاگ یا آمار توی دیتابیس، پردازش فایل آپلود شده و .... توی این شرایط میتونیم از Background Task ها استفاده کنیم، اینجوری میتونیم بدون معطل کردن کاربر اون کارهارو جداگانه انجام بدیم.

استفاده از Background Task ها🛠
خب اول باید کلاس BackgroundTasks رو ایمپورت کنیم و یه پارامتر از همین نوع برای فانکشن route بنویسیم.
from fastapi import BackgroundTasks, FastAPI

app = FastAPI()


def write_notification(email: str, message=""):
with open("log.txt", mode="w") as email_file:
content = f"notification for {email}: {message}"
email_file.write(content)


@app.post("/send-notification/{email}")
async def send_notification(email: str, background_tasks: BackgroundTasks):
background_tasks.add_task(write_notification, email, message="some notification")
return {"message": "Notification sent in the background"}

حالا FastAPI میاد یه آبجکت با نوع BackgroundTasks برامون ایجاد میکنه و به اون پارامتر پاس میده.
بعد از اینکه فانکشن تسکمون رو ایجاد کردیم میتونیم با استفاده از متود ()add_task از همون پارامتر اون فانکشن رو به صف اجرا اضافه کنیم. همچنین میتونیم آرگومان های مورد نیازمون رو هم با استفاده از همین متود به تسکمون پاس بدیم.

‏Background Tasks و Dependency injection💉
‏Background Tasks به خوبی با سیستم تزریق وابستگی FastAPI سازگاره. میتونیم توی سطح های مختلف برنامه(فانکشن route، یه وابستگی و...) از Background Task استفاده کنیم.
from typing import Annotated

from fastapi import BackgroundTasks, Depends, FastAPI

app = FastAPI()


def write_log(message: str):
with open("log.txt", mode="a") as log:
log.write(message)


def get_query(background_tasks: BackgroundTasks, q: str | None = None):
if q:
message = f"found query: {q}\n"
background_tasks.add_task(write_log, message)
return q


@app.post("/send-notification/{email}")
async def send_notification(
email: str, background_tasks: BackgroundTasks, q: Annotated[str, Depends(get_query)]
):
message = f"message to {email}\n"
background_tasks.add_task(write_log, message)
return {"message": "Message sent"}

توی این مثال بعد از اینکه پاسخ به کلاینت ارسال شد، یه تسک میاد ایمیل کاربر رو توی فایل log.txt مینویسه. اگه یه کوئری پارامتر هم به API ارسال بشه یه تسک دیگه اون رو هم توی فایل مینویسه.

نکته مهم⚠️
این ابزار فقط برای کارهای سبک وسریع مناسبه. مثل همین لاگ نوشتن، ارسال ایمیل یا پردازش های خیلی کوچیک و سبک. برای کارهای سنگین تر مثل پردازش تصویر بهتره که از سیستم هایی مثل Celery استفاده بشه.

جمع بندی✍️
‏Background Task یه ابزار ساده ولی کاربردیه. میتونه توی پروژه هایی که تسک های سنگینی ندارن از Celery بی نیازتون کنه و کارهارو بعد از پاسخ دهی به صورت غیرهمزمان انجام بده.

#️⃣ #fastapi #python #backend


🥷🏻 CHANNEL | GROUP
Forwarded from تهلاگ / Tehlug
جامعه‌ی تهلاگ با کمک‌های داوطلبانه‌ی اعضاش زنده‌ست؛ حمایت شما می‌تونه تأثیر زیادی تو رشد و پیشرفت این جمع دوست‌داشتنی داشته باشه. از طریق فرم زیر می‌تونید آمادگی خودتون رو برای کمک اعلام کنید.

🔗 tally.so/r/wA0aLy

@TehranLUG
اگر عزیزی پستی رو جایی منتشر کرده که این حجم ممبر اومده
نهایت تشکر رو میکنم😁❤️
😁3