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

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Linuxor ?
شیش تا قانون برای نوشتن یه REST API خوب، برید توی این سایت خیلی ساده با مثال توضیح داده، اگه تازه کارید این اشتباها ممکنه بعدا کارتون رو سخت کنه، این قوانین API رو قبل پیاده سازیتون بخونید

restfulapi.net

@Linuxor
Forwarded from Linuxor ?
اگه حوصله کتاب خوندن برای یادگیری ++C مدرن داری، این کتاب الکترونیک خیلی کم حجم و خوبه نسخه اصلیش به زبان چینیه ولی این ترجمش به انگلیسیه :)

changkun.de/modern-cpp/en-us/00-preface

@Linuxor
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 آقای Thomas Dohmke، مدیرعامل GitHub، اعلام کرده که از سمتش کناره گیری می کند و گیت هاب زیر نظر بخش CoreAI مایکروسافت، که برای این شرکت و مشتریان اون راهکارهای هوش مصنوعی ارائه می دهد را قرار می گیرد و پس از نزدیک به چهار سال مدیریت، گیت‌هاب را ترک می‌کند تا «دوباره به یک بنیان‌گذار استارتاپ تبدیل شود» و به دنبال فرصت‌های جدید خارج از مایکروسافت و گیت‌هاب برود.

#خبر

@TheRaymondDev
Forwarded from Linuxor ?
می‌دونستین VS Code با اینکه اوپن سورسه ولی مایکروسافت برای استفاده دقیقا اون ورژن اوپن رو منتشر نمی‌کنه و یه سری تغییرات مثل ردیابی (telemetry) یا جمع‌آوری داده‌های استفاده کاربر روش اعمال می‌کنه بعد اونو منتشر می کنه؟
حالا یه عده اومدن خودشون VS Code رو بدون اون اضافات بیلد کردن می‌تونید از اینجا دانلودش کنید :

vscodium.com

@Linuxor
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
ویرایش سوم کتاب 1001 دستور لینوکس

⭕️به جای خواندن چندین کتاب لینوکسی، این کتاب را چند مرتبه بخوان

بعد از گذشت 2 سال وقت و تلاش در ایجاد یک منبع فارسی جامع،از دستورات لینوکسی سرانجام ویرایش سوم کتاب با ویژگیهای زیر آماده شد:
🔹تنهای منبع فارسی کامل برای دستورات لینوکسی با پوشش کامل دستورات موجود در دوره های:

Linux Essentials
Linux +
LPIC-1 101-500 and 102-500
LPIC-2 201-450 and 202-450
LPIC-3 Mixed  300-300
LPIC-3 Security 303-300

🔹850صفحه با چینش جدید، در قالب 28 فصل با قسمت های :
🔻شرح دستور
🔻ساختار  دستور
🔻گزینه های دستور
🔻مثال های کامل از دستور
🔹سه فصل ابتدایی، دارای مفاهیم،مبانی و ساختار لینوکس،ترمینال ومیزهای لینوکسی

🔹مناسب: کاربرهای ادمین سیستم،امنیت شبکه،برنامه نویسان
نشر کیان دانش
نویسنده: حسین سیلانی


⭕️ قیمت نسخه چاپی سیاه و سفید:    550.000 هزارتومان
⭕️ قیمت فایلpdf رنگی:    330.000 هزارتومان

🛑به منظور تهیه کتاب  فیش واریزی و آدرس پستی دقیق به ایدی تلگرامی من بفرستید و کتاب را از طریق پست را دریافت کنید.
هزینه پست به عهده من می باشد.
Forwarded from Codino School (ایمان غفوری)
This media is not supported in your browser
VIEW IN TELEGRAM
- توضیحات مربوط به دستور جدید check:fqcn

@codino
Forwarded from Curious Geek ⚡️
چرا مهاجرت نکنیم؟ ؛)
🆔 @Hiradsajde
Forwarded from Curious Geek ⚡️
چرا مهاجرت نکنیم؟ ؛)

ابتدا فکر می‌کردم مملکت وزیر دانا می‌خواهد، بعد فکر کردم شاه دانا می‌خواهد، اما اکنون می‌فهمم که مملکت، ملت دانا می‌خواهد - امیرکبیر

🆔 @Hiradsajde
Forwarded from Philocode
گرفتن content type از محتوای فایل امن‌تر از گرفتنش از هدر content-type خواهد بود. چرا؟ چون هدر رو می‌شه راحت تغییر داد.
Forwarded from Codino School (ایمان غفوری)
🔅 نسخه جدید laravel-microscope منتشر شد:

- اضافه شدن دستور جدید check:fqcn (به همراه قابلیت cache)
- اضافه شدن cache برای دستور check:view


v1.0.400


@codino
Forwarded from یه شعر (Poem Bot)
خیام | رباعیات | رباعی شمارهٔ ۹۳

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

#خیام | گنجور
📍@iipoem
Forwarded from Go Casts 🚀
نکاتی در مورد code review

مواردی که اشاره میکنه صرفا نکات فنی نیست و به نظرم نکات غیرفنی ای که بهش اشاره میکنه خیلی موثر هست در ایجاد یک فضای مناسب و پایدار برای داشتن فرهنگ Code Review در تیم.

این مقاله نکات ساده و مهمی رو اشاره میکنه که خوبه مطالعه بشه
https://endler.dev/2025/how-to-review-code/


@gocasts
Forwarded from Geek Alerts
چت‌بات کلود از آنتروپیک حافظه پیدا کرده، یعنی چیزهایی که بهش میگید رو دیگه یادش میمونه، اما تفاوت‌هایی با بقیه چت‌بات‌ها داره، مثلا اینکه واقعا یه حافظه که یه سری دیتارو اونجا ذخیره کنه در کار نیست.

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

برای فعال کردنش هم میتونید به Settings برید بعد Profile و زیربخش Search and reference chats رو روشن کنید. [L]

🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
تا الان، بهترین خروجی برای جستجو تو وردپرس و ووکامرس، با استفاده از algolia بوده.
ما راضی و مشتری خیلی راضی :))

https://www.algolia.com/

@DevTwitter | <Morteza Geransayeh/>
Forwarded from Linuxor ?
بازی خواستید بسازید این ریپو رو توی مروگرتون بوکمارک کنید مثل اکبر بیکار هر روز برید اینجا چند تا از سورس کداشو ببینید یه مجموعه خیلی خوب از سورس کد بازی ها، تازه بعضیاش رو روی مرورگر با تکنولوژی WASM می‌تونید تست هم کنید خیلی حال می‌ده.

github.com/leereilly/games

@Linuxor
Forwarded from Linuxor ?
این عکسو ببینید این برنامه ها با چند صد خط کد پایتونی با لایبری textual نوشته شدن هم توی ترمینال ران می‌شن هم توی مروگر، کافیه ریپو رو کلون کنید و برید توی دارکتوری examples بدون خوندن چیز اضافه ای می‌فهمید چی به چیه انقدر سادس :)
textual.textualize.io

@Linuxor
Forwarded from Python BackendHub (Mani)
از کانال های مختلف دیدم پست میذارن که بله تایپینگ کد شما رو بیشتر میکنه کثیف تر میکنه اگه میخواستیم تایپ بزنیم که میرفتیم سمت C و این حرفا. اولا که C تایپ سیستم قوی نداره. تایپ سیستم بسیار ساده ای داره. پس statically typed بودن یا نبودن یک زبون رو خوب/بد بودن تایپ سیستمش تاثیری نمیذاره. پس اگه انتخابتون C هست برای اینکه تایپ سیستم قوی داشته باشین انتخاب درستی نیست!‌

ثانیا تایپینگ خودش یک داکیومنته. مثلا شما فکر کنید من یک سیستم نوشتم که ۱۰ تاسیستم مختلف رو integrate میکنه و یک API واحد میده برای هر ۱۰ تاشون. من یا میتونم ۱۰ صفحه داکیومنت بنویسم که اگه خواستیم یک سیستم جدید اضافه کنیم چه دپندسی هایی وجود داره یا اینکه میتونم یک Enum داشته باشم به اسم Service و همه جا با اون Enum بیام exhaustive check انجام بدم.

مثالش, من اینجا فقط یک سرویس Digikala دارم. و برای دیجی کالا یک رفتاری رو تعریف کردم و چک کردم سرویسی نباشه که این رفتار براش تعریف نشده باشه (`assert_never`)


def do_foo(service: Service):
match service:
case Service.DIGI_KALA: ...
case _: assert_never(service)


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

کد خواناییشو از دست میده؟ نه واقعا!‌شما اگه خوانایی کد رو به تعداد خط ملاک قرار میدین, پس کد ننویسید که خیلی خوانا و تمیز باشه. کد خوانا یعنی من کدی رو بخونم و بفهمم چیکار میکنه و constraint های اون کد چیه و تو موقع استفاده ازش اشتباه نکنم.

یک مثال دیگه بازم تو پست بعدی میزنم
@PyBackendHub
Forwarded from Python BackendHub (Mani)
یک مثال دیگه میزنم براتون. بین Better way و shitty way کدوم خوانا تره؟ کدوم تعداد خطوط کمتری داری؟ حالا تو پست بعدی طرز استفادشونو ببینید!

@PyBackendHub
Forwarded from Python BackendHub (Mani)
حالا طرز استفاده رو ببینید... بله تعداد خطوط‍ FooComponent خیلی کمتره. ولی در عوض هم شکننده تره هم ناخوانا تر. چرا شکننده تره؟‌چون اگه هم loading=true باشه هم data داشته باشه تو فرانت Loading Data... رو نشون میده دیتا هم میاد زیرش 😁 حالا باید بیای این کیس رو هندل بکنی!

بعضی کد ها اینقدر بد از تایپینگ استفاده کردن که شما وقتی کد رو میخونی باید رمزگشایی کنی ببینی هدف طرف چی بوده. اینکه صرفا شما میگی این variable تایپش string عه دلیل نمیشه کدتون تایپینگ خوبی داره!

@PyBackendHub
Forwarded from Linuxor ?
اگه یه API ساختین برای امنیتش بیاید این چک لیستو برسی کنید نکات خوبی گفته :

github.com/shieldfy/API-Security-Checklist

@Linuxor
Forwarded from Python Hints
#یکبار_برای_همیشه

خیلی دیدم؛ دوستانی که از لینوکس دسکتاپ استفاده می‌کنند پارتیشن Swap رو تحت همه شرایط فعال می‌کنند.
بعضی‌ وقتا حتی تا ۱۶ گیگ روی لپ‌تاپ با رم ۱۶ گیگ دیدم بهش هارد اختصاص دادند.

اولاً که؛ ۹۹.۹٪ روی Desktop و یوزر عادی نباید اصلا کار به Swap بکشه؛ توی باقی موارد هم برای ۱۶ گیگ رم نهایتاً ۱-۲ گیگ باید باشه که به محض اینکه دیدید رم درحال پرشدن هست؛ قبل از هنگ سیستم بتونید مشکل رو حل کنید.

اینکه خیلی از مدرسین لینوکس، هی میگن swap رو فعال کنید و ... رو هم نمی‌فهمم!
اگر از تاریخچه‌اش بگذریم (اگر خواستید بخونید باید دنبال این باشید، از llm کمک بگیرید)
1970s Virtual memory on IBM OS/360 or Unix

این virtual memory یا نوع پیشرفته تر امروزش به اسم swap برای این اومد که سیستم‌عامل‌ها برای multi-task مشکل رم داشتند و چون تکنولوژی رم حجم بالا اون موقع نبود ازین تکنیک استفاده کردند.

امروزه فقط برای اینکه، به ادمین سرور وقت بده تا قبل از هنگ کردن یا .... سرور مشکل رو حل کنه استفاده می‌شه!

که ۹۹.۹٪ کاربرهای دسکتاپ این مشکل رو ندارند (نهایتاً ری‌استارت می‌کنید، سرور که نیست بگی صدای یوزرهام در میاد) و استفاده از swap فقط باعث افت سرعت سیستم و هنگ کردن بسیار براشون می‌شه بخصوص اونایی که swappiness رو هم کانفیگ نمی‌کنند.