Dev Perfects – Telegram
Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Linuxor ?
ده میلیون تا عکس پروفایل کاربرارو ریخته بودیم توی یه دایرکتوری، سرور به صورت فاجعه آمیزی کند شده بود

یه حرکت ساده زدیم بجای اینکه اینطوری ذخیره کنیم
profiles/10005372.png

بر اساس 2 کاراکتر 2 کاراکتر نامش به صورت درختی ذخیره کردیم مشکل حل شد

profiles/10/00/53/72/10005372.png


@Linuxor
👍1
دولت هیچ طرحی برای رفع #فیلترینگ نداره!

🔍 ircf.space
@ircfspace
Forwarded from Python Hints
مکالمه چندساعت قبل من و یکی از دوستان نزدیکم :

+ تو روی پروژه "X" کار کردی
- نه، یا اگر هم کار کردم اسمش این نبوده. چطور ؟
+ اومدم یکجا برای همکاری جدید، یک نگاهی کلی به سورس کد پروژه انداختم روی سیستم یکی از نیروها، استاندارد‌های داکر و ... اش مثل تو هست.
- خب بپرس ببین کی بوده دولوپر قبلی، یا لاگ گیت رو ببین
+ میگن "Y" بوده، می‌شناسیش ؟
- آره، ۱ سال همکار بودیم.
+ حله، خیالم راحت شد.


من توی کدهام نه maintainer میزنم، نه چیز دیگه و حتی خیلی وقتا پیش اومده پشت سیستم نیروهام نشستم و کد زدم و مثلاً ۶-۷ ساعت کار اون روز رو با اکانت نیروم commit زدم.
ولی هیچکس نگفته که فلان روز چرا کار نکردی و یک دلیل ساده هم داره؛
امضای من توی کدهام مشخص هست. هرکسی که بیش از ۳ ماه با من کار کنه می‌دونه امضای من چطور هست.
بعضی وقتا، حتی کدهای Django من رو بدون خوندن سورس کد هم شناسایی می‌کنند.
وقتی پوشه؛ backups وجود داره و بعد از پرکردن .env پروژه

و این قضیه که دوستانم امضای من رو توی کد یا پروژه متوجه می‌شوند واقعاً برام لذت بخش هست.

نمونه Dockerfile اولیه من برای پروژه‌های Django؛ این خیلی ساده هست و بر اساس پروژه تغییر می‌کنه ولی خب ۸۰-۹۰٪ پروژه‌ها با همین کار در میاد.

FROM python:3.10-slim AS build
WORKDIR /src
COPY requirements.txt .

RUN python -m venv /opt/venv &&\
. /opt/venv/bin/activate &&\
pip3 install --default-timeout=100 -U --upgrade pip &&\
pip3 install --default-timeout=100 -r requirements.txt \
&& find /opt/venv \
\( -type d -a -name test -o -name tests \) \
-o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \
-exec rm -rf '{}' +

# RUN stage
FROM python:3.10-slim
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /src
COPY --from=build /opt/venv /opt/venv
COPY . .
RUN chmod +x ./docker/noscripts/entrypoint.sh
CMD ["/src/docker/noscripts/entrypoint.sh"]



پیونوشت: این صحبت بهنونه شد برای اینکه نمو‌نه داکرفایل رو بذارم .
This media is not supported in your browser
VIEW IN TELEGRAM
🦾 زور بازوت رو نشون بده و جایزه ببر!
یه مسابقه ۱۰۰ میلیون تومنی برای ساخت بازو (بات) و مینی‌اپ در بله

💵 از استعدادت پول در بیار!
چطوری؟

🤔 شاید ایدهٔ ساخت یه محصول جدید، خیلی وقته که ذهنت رو درگیر کرده؛ ولی نمی‌دونستی چطوری ایده‌ات رو عملی کنی یا حمایت مالی برای ساختش نداشتی!
💡شاید هم دنبال یه فرصت برای یادگیری و تجربه‌های جدید در حوزهٔ برنامه‌نویسی هستی.

🚀 بله با مسابقهٔ «زور بازوت رو نشون بده!» یک فرصت عالی برای مهندسین نرم‌افزار، وب دولوپر‌ها، صاحبان سایت‌ها و اپلیکیشن‌ها و تیم‌های محصول فراهم کرده که پاسخگوی این دغدغه‌هاست.

در طول مسابقه می‌تونی:
🔰دوره‌های آموزشی ببینی؛
🔰 از راهنمایی مربی‌ها استفاده کنی؛
🔰 و گواهی‌نامهٔ معتبر دریافت کنی.

یه مسابقه با ۱۰۰ میلیون تومن جایزهٔ نقدی و ۱ میلیارد تومن اعتبار تبلیغات منتظرته! 🎁

👈 همین الان در مسابقه ثبت‌نام کن!👉

کانال اخبار بازو در بله

کانال اطلاع‌رسانی بله | @BaleMessenger
بعد از جریان لایسنس Redis شاهد حضور نرم افزار Valkey
با حمایت شرکت canonical به صورت deb package در Ubuntu 24.04 release و ارائه image – securely در داکر با ویژگی LTS هستیم
اطلاعات بیشتر
https://ubuntu.com/blog/valkey-container-image
Forwarded from DevAcademy
سلام به همه عزیزان

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

1) Job Position:#Frontend_Developer#Remote
- Job Level: Senior
- Requirements: nextJS, ReactJS, RestfulAPI, CSS, TDD, Git

2) Job Position:#Backend_Developer, Remote
- Job Level: Senior
- Requirements: django Python

3) Job Position:#FullStack_Developer, Remote
- Job Level: Senior
- Requirements: Python, django, ReactJS, nextJS

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


راستی، اگر همکاری خوبی داشته باشیم امکان #اسپانسرشیپ_ویزا اروپا هم وجود داره.

https://www.linkedin.com/posts/amirmougouei_frontendabrdeveloper-remote-backendabrdeveloper-activity-7300118738303918082-JbTy?utm_source=share&utm_medium=member_desktop&rcm=ACoAAClra28BavkOYc-F6nhnvSM_iIlDclEXTZI

💻@DevAcaademy
💬
@DevAcademyGroup
Forwarded from Gopher Academy
📢 اگر تلگرام پرمیوم دارید، کانال ما رو Boost کنید ! 🚀

با Boost کردن کانال، به رشد و دیده شدن ما بیشتر کمک کنید💙

https://news.1rj.ru/str/boost/gopher_academy
دستورات پیشرفته‌تر systemctl برای مدیریت سرویس‌ها در لینوکس
علاوه بر دستورات پایه‌ای، systemctl امکانات قدرتمند دیگری نیز دارد که برای مدیریت حرفه‌ای سرویس‌ها و پردازش‌های سیستم ضروری هستند. در ادامه لیستی از دستورات کاربردی و پیشرفته را بررسی می‌کنیم:

+ مدیریت سرویس‌ها (Services)
- مشاهده وضعیت تمامی سرویس‌های در حال اجرا:
systemctl list-units --type=service --state=running

- مشاهده وضعیت تمامی سرویس‌های فعال و غیرفعال:
systemctl list-units --type=service

- بررسی وضعیت سرویس خاص به همراه لاگ‌های اخیر:
systemctl status nginx --no-pager

- اجبار به توقف یک سرویس (Kill کردن سخت یک سرویس):
systemctl kill apache2
- مشاهده تمامی وابستگی‌های یک سرویس:
systemctl list-dependencies sshd

- مشاهده سرویس‌هایی که در هنگام بوت اجرا می‌شوند:
systemctl list-unit-files --state=enabled

+ فعال/غیرفعال کردن سرویس‌ها
- فعال‌سازی یک سرویس برای اجرا در هنگام بوت:
systemctl enable mysql

- غیرفعال کردن یک سرویس تا هنگام اجرای دستی:
systemctl disable docker

- ری‌لود کردن تغییرات در سرویس بدون نیاز به ری‌استارت:
systemctl reload nginx

- ریست کردن وضعیت یک سرویس:
systemctl reset-failed apache2

+ کنترل سطح دسترسی و وضعیت بوت
- مشاهده سطح اجرایی (Runlevel) فعلی:
systemctl get-default

- تغییر سطح اجرایی به حالت چندکاربره (Multi-User Mode):
systemctl set-default multi-user.target

- تغییر به حالت اضطراری (Emergency Mode):
systemctl emergency

- بوت سیستم به حالت ریکاوری:
systemctl rescue

+ مدیریت لاگ‌ها و رخدادها
- مشاهده لاگ‌های جدید سرویس خاص:
journalctl -u nginx --no-pager

- مشاهده لاگ‌های سرویس از زمان بوت سیستم:
journalctl -u sshd --since today

- مشاهده لاگ‌های کرنل:
journalctl -k
- مشاهده لاگ‌های جدید در لحظه (مشابه tail -f):
journalctl -f

+ خاموش، ری‌استارت و خاموشی زمان‌بندی شده
- خاموش کردن سیستم:
systemctl poweroff

- ری‌استارت سیستم:
systemctl reboot

- ری‌استارت زمان‌بندی شده در 10 دقیقه:
shutdown -r +10
- لغو خاموشی یا ری‌استارت برنامه‌ریزی‌شده:
shutdown -c

چرا systemctl مهم است؟
ابزار systemctl یک ابزار قدرتمند برای مدیریت حرفه‌ای سرویس‌ها، بررسی وضعیت سیستم، تنظیمات بوت، لاگ‌ها و کنترل پردازش‌ها است. اگر ادمین لینوکس هستید، این دستورات می‌توانند شما را در مدیریت بهتر سرور و سرویس‌های حیاتی یاری کنند.

@DevTwitter | <Ebrahim Rohani/>
Forwarded from Geek Alerts
سوئد میخواد یه قانون تصویب کنه که پیام‌رسان‌ها باید پیام‌هاشون رو ذخیره کنن و به دولت سوئد تحویل بدن.

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

🔗 swedenherald
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۳۲۸

دل رفت بر کسی که بیماش خوش است
غم خوش نبود و لیک غم هاش خوش است
جان می طلبد نمی دهم روزی چند
جان را که محل نیست تقاضاش خوش است

#مولانا | گنجور
📍@iipoem
ا، چه الگوی آشنایی!
‏پیام‌رسان سراغ داریم محکم پای‌ حفظ حریم خصوصی کاربران وایستاد، ولی دید جای دیگه‌ای نیست بتونه بساط رانت رو‌ پهن کنه، شل کرد 😁

🔍 ircf.space
@ircfspace
درباره RefreshToken و AccessToken براتون مطلبی رو آماده کردم تا بیشتر باهاشون آشنا بشیم

وقتی درباره‌ی رفرش توکن صحبت می‌کنیم، در واقع داریم درباره‌ی یه مکانیزم امنیتی حرف می‌زنیم که به کاربر اجازه می‌ده بدون نیاز به لاگین مجدد، به سیستم دسترسی داشته باشه. این کار با استفاده از دو نوع توکن انجام می‌شه:
Access Token: یه توکن کوتاه‌مدت که برای دسترسی به منابع استفاده می‌شه.
Refresh Token: یه توکن بلندمدت‌تر که برای گرفتن Access Token جدید استفاده می‌شه.

مراحل کلی رفرش توکن:
اول:کاربر لاگین می‌کنه: بعد از لاگین، سرور یه Access Token و یه Refresh Token به کلاینت می‌ده.

دوم:Access Token منقضی می‌شه: بعد از یه مدت (مثلاً ۱۵ دقیقه)، Access Token دیگه معتبر نیست.

سوم:درخواست جدید با توکن منقضی شده: وقتی کاربر یه درخواست جدید می‌فرسته، سرور خطای 401 (Unauthorized) برمی‌گردونه.

چهارم:رفرش توکن فرستاده می‌شه: کلاینت با استفاده از Refresh Token، یه درخواست به سرور می‌فرسته و یه Access Token جدید می‌گیره.

پنجم:درخواست اصلی تکرار می‌شه: کلاینت درخواست اصلی رو با Access Token جدید دوباره ارسال می‌کنه.

چطوری با Axios توی پروژه‌ها رفرش توکن رو خودکار کنیم؟
یه مشکلی که همیشه توی پروژه‌های با احراز هویت پیش میاد، منقضی شدن توکن‌هاست. کاربر کارش رو می‌کنه، یهو می‌بینه خطای 401 می‌گیره و مجبوره دوباره لاگین کنه!
این کار رو می‌شه با استفاده از Axios Interceptors به راحتی پیاده‌سازی کرد. یعنی وقتی توکن منقضی میشه، به جای اینکه کاربر رو به لاگین برگردونیم، یه درخواست جدید برای رفرش توکن می‌فرستیم و بعد درخواست اصلی رو دوباره ارسال می‌کنیم. به همین سادگی!

چطوری کار می‌کنه؟
خطای 401 رو می‌گیریم: هر وقت سرور بهمون بگه "توکنت تموم شده" (یعنی خطای 401)، وارد عمل میشیم.
رفرش توکن می‌گیریم: یه درخواست به سرور می‌فرستیم و با استفاده از Refresh Token، یه توکن جدید می‌گیریم.
درخواست اصلی رو تکرار می‌کنیم: توکن جدید رو جایگزین می‌کنیم و درخواست اصلی رو دوباره ارسال می‌کنیم.

نکات مهم:
-با کوکی‌ها کار می‌کنیم: با withCredentials: true مطمئن می‌شیم که کوکی‌ها (مثل Refresh Token) به درستی ارسال میشن.

-جلوی تلاش‌های بی‌جا رو می‌گیریم: با یه فلگ ساده (retry_) مطمئن می‌شیم که فقط یه بار برای رفرش توکن تلاش می‌کنیم.

-امنیت اولویته: همیشه حواسمون به ذخیره‌سازی امن Refresh Token باشه!

این روش نه‌تنها تجربه کاربری رو بهتر می‌کنه، بلکه باعث میشه کاربر کمتر با صفحه‌ی لاگین کلنجار بره و کارش رو سریع‌تر تموم کنه

@DevTwitter | <Soheil Seyyedi/>
Forwarded from Geek Alerts
نسخه اصلی فتوشاپ با قابلیت‌های AI برای موبایل منتشر شد

ادوبی سال‌ها روی Photoshop Express تمرکز داشت که یه نسخه خیلی کم امکانات برای ویرایش‌ عکس هست، الان برنامه photoshop نسخه ۶.۰ رو برای آیفون و آی‌پد منتشر کردن و گفتن به‌زودی نسخه اندروید هم منتشر میشه.

این نسخه یه سری ویژگی داره مثل Tap Select که میشه باهاش عناصر خاصی داخل عکس رو انتخاب و ویرایش کرد. یا امکان ترکیب و ادغام تصاویر رو با استفاده از لایه‌ها و ماسک‌ها که توی نسخه‌های حرفه‌ای فتوشاپ دسکتاپ قبلا موجود بود اضافه کردن.

ابزارهای AI هم دارید مثل حذف یا اضافه کردن اشیاء داخل تصاویر و بقیه ابزارهای AI که با نام مجموعه ادوبی Firefly میشناسیم. در ادامه هم بخشی از ویژگی‌ها نیاز به اشتراک دارن مثل ابزارهای پیشرفته تنظیم نور و رنگ.

🔗 theverge
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
بزار بگم
قراره کتاب
Boost your DjangoDX


که ادام جانسون نوشته رو براتون بزارم 😁

پ.ن: رایگانشو هیچ جای وب مجاز پیدا نمیکنید 😬
Forwarded from Debrary (Mehran)
Operating Systems Three Easy Pieces.pdf
5.8 MB
Operating Systems: Three Easy Pieces - Version 1.00 - Remzi H. Arpaci-Dusseau & Andrea C. Arpaci-Dusseau - 2018
@debrary
کانال جالبیه دوست داشتید نگاهش بندازید:

https://news.1rj.ru/str/segfault_t


@SohrabContents