Dev Perfects – Telegram
Dev Perfects
41 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 LearnPOV | لرن پی او وی (Smin)
10 شورت‌کات ضروری VS Code برای که سرعتتون رو به شدت بالا میبره 🚀

📂 Ctrl + P
باز کردن سریع هر فایل
با این میانبر می‌تونی خیلی راحت اسم فایل موردنظرت رو تایپ کنی و مستقیماً اون رو باز کنی.
📝 Ctrl + /
کامنت/آنکامنت کردن یک خط
این ترکیب بهت کمک می‌کنه که یک خط رو به‌سرعت کامنت یا آنکامنت کنی، بدون نیاز به تایپ دستی //.
↕️ Alt + ↑ / ↓
جابه‌جا کردن یک خط به بالا یا پایین
اگر بخوای بدون کپی/پیست کردن، یک خط رو بالا یا پایین ببری، این میانبر خیلی کاربردیه.
Ctrl + Shift + K
حذف خط جاری
با این ترکیب می‌تونی کل خطی که نشانگر روشه رو بدون انتخاب حذف کنی.

📚 Ctrl + B
نمایش یا مخفی کردن سایدبار
با این میانبر سریع سایدبار رو باز و بسته کن تا فضای بیشتری برای کدنویسی داشته باشی.

💡Ctrl + Space
فعال کردن IntelliSense برای پیشنهادات کد
اگر در حال کدنویسی هستی و پیشنهادهای خودکار نمایش داده نشدن، این میانبر کمک می‌کنه دوباره اون‌ها رو ببینی.
🔍 Ctrl + Shift + F
جستجو در کل پروژه
این میانبر بهت امکان می‌ده که در کل فایل‌های پروژه دنبال متن یا کدی خاص بگردی.
📑 Ctrl + D
انتخاب بعدیِ کلمه‌ای که هایلایت شده
اگه بخوای چند کلمه مشابه رو یکی‌یکی انتخاب کنی، این ترکیب فوق‌العاده‌ست.

🔗 Ctrl + Shift + L
انتخاب تمام موارد مشابه در متن
این میانبر همه‌ی نمونه‌های یک کلمه در فایل رو یکجا انتخاب می‌کنه تا بتونی همه رو هم‌زمان تغییر بدی.
📜 Ctrl + Shift + P
باز کردن Command Palette
با این ترکیب می‌تونی به همه‌ی دستورات و قابلیت‌های VS Code دسترسی داشته باشی.


امیدوارم از این مطلب لذت برده باشید، با ری‌اکشنای خودتون بهمون انرژی بدید ❤️‍🔥

#vscode #tricks

𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣

Forwarded from Geek Alerts
مصرف رم کمتر مرورگر لزوما بهتر نیست، مرورگرها رم رو برای استفاده‌های بعدی از اون Tab ذخیره می‌کنن، که وقتی برمیگردید اون تب سریع باز بشه، مرورگر Edge با غیر فعال کردن تب مصرف رم رو کم میکنه و تبلیغ میکنه من رم کمتری مصرف میکنم. ولی کروم هم ویژگی inactive tab تو بخش پرفورمنس داره.

کافیه به بخش پرفورمنس کروم برید و Memory Saver رو فعال کنید، اونجا بهتون میگه inactive tab میخواید توی چه سطحی باشه تا مصرف رم کمتری داشته باشید.

reddit
@geekalerts
Forwarded from Geek Alerts
دیگه History دستورات لینوکس و ویندوز را نگرد
🔥 ابزار intelli-shell یک code-completion مثل IntelliSense برای ترمینال لینوکس است 😎
💠 برای Bash, Zsh, Fish حتی PowerShell هم کار میکنه
💠 برای Linux و,MacOS حتی Windows 😁

نصب :
mkdir -p ~/.local/share/intelli-shell/bin
curl -sSf https://raw.githubusercontent.com/lasantosr/intelli-shell/main/intelli-shell.sh > ~/.local/share/intelli-shell/bin/intelli-shell.sh

روش استفاده :
با دستور زیر دستورات tldr را دانلود و ذخیره میکنه
 intelli-shell fetch

با دستور export و import خروجی میگیره و بک آپ شما را برمیگردانه
شورت کات های مهم:
ctrl + b bookmark دستور جاری
ctrl + space نمایش پیشنهاد ها
ctrl + l جایگذاری labelsبا
ctrl + d حذف کردن
ctrl + e یا ctrl + u یا F2 ویرایش

🔥از این آسون تر؟
❤️ ممنون از حمایت هاتون 💐🌺
#ابزار_کاربردی #لینوکس #Utility#linux
Forwarded from Geek Alerts
گوگل برای کسایی که اشتراک Google One AI رو خریداری کرده باشن سرویس NotebookLM Plus رو هم ارائه میده، از خود NotebookLM میدونید که یک AI حرفه‌ای برای یادداشت برداری و تحقیق هست و اشتراک پلاس اون اجازه میده جای ۱۰۰ تا ۵۰۰ تا نوت‌بوک ایجاد کنید و جای ۵۰ منبع ۳۰۰ منبع داشته باشید.

در کنار اینکه جای ۵۰ چت روزانه ۵۰۰ چت دارید و سرویس پادکست هم تا ۲۰ خلاصه صوتی در روز تولید میکنه، ولی این اشتراک فقط به استفاده بیشتر محدود نیست و ویژگی‌هایی هم به NotebookLM اضافه میکنه مثل اینکه میتونید سبک و طول جواب دادن رو هم مشخص کنید.

اشتراک Google One AI Premium که ماهانه ۲۰ دلار هست الان مزایای زیادی مثل دسترسی به Gemini Advanced رو داره، به صورت مستقیم یا توی برنامه‌های مختلف مثل Gmail و ... در کنار امکان ذخیره کردن دیتا توی گوگل درایو تا ۲ ترابایت که ارزش این اشتراک رو بیشتر هم میکنه.

https://notebooklm.google/
blog.google
@geekalerts
Forwarded from Gopher Academy
توی مصاحبه های گولنگ 99 درصدش سوال زیر رو میپرسن😂

فرق ارایه و اسلایس چیه؟



👑 @gopher_academy
Forwarded from Syntax | سینتکس (Daimon)
تاریخچه کوبرنتیز

کوبرنتیز (Kubernetes) یکی از پیشروترین ابزارهای مدیریت کانتینرها در دنیای فناوری امروز است. اما برای درک بهتر تاریخچه کوبرنتیز، لازم است ابتدا نگاهی به ریشه‌های آن و پیشرفت‌هایی که به خلق این ابزار انجامید بیندازیم.

2006: آغاز راه در گوگل با cgroup

در سال 2006، گوگل به‌دنبال بهینه‌سازی منابع خود بود، چرا که نیاز داشت حجم عظیمی از داده‌ها و اپلیکیشن‌ها را در مقیاس بالا مدیریت کند. در این راستا، پروژه‌ای را با هدف ایجاد ابزارهایی برای جداسازی و تخصیص منابع سیستم آغاز کرد. این پروژه که ابتدا با نام "Process Container" شناخته می‌شد، بعدها به cgroup (Control Groups) تغییر نام یافت. cgroup قابلیتی بود که اجازه می‌داد منابع مختلف سیستم (CPU، حافظه، دیسک و ...) به صورت کنترل‌شده و محدود بین فرآیندها تقسیم شوند.

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

در سال 2007، گوگل کد مربوط به cgroup را به هسته لینوکس ارسال کرد و این قابلیت به عنوان بخشی از هسته اصلی لینوکس پذیرفته و ادغام شد. این گام مهمی بود، زیرا cgroup به توسعه‌دهندگان اجازه می‌داد که از امکانات جداسازی منابع در سیستم‌عامل لینوکس بهره ببرند و پایه‌ای قدرتمند برای مدیریت کانتینرها ایجاد کردند.

معرفی Namespaces توسط Red Hat

همزمان با توسعه cgroup، مفهوم دیگری به نام Namespaces توسط شرکت Red Hat معرفی شد. Namespaces امکان ایزوله‌سازی بخش‌های مختلف سیستم (مانند شبکه، فایل‌سیستم و موارد دیگر) را فراهم کرد. ترکیب cgroup و Namespaces، اساس فناوری کانتینرها را شکل داد و بستر لازم برای مدیریت اپلیکیشن‌ها در محیط‌های ایزوله را فراهم کرد.

سال 2013: معرفی Docker

کانتینرها به لطف cgroup و Namespaces به ابزاری بسیار قدرتمند تبدیل شدند، اما هنوز استفاده از آن‌ها پیچیده بود. در سال 2013، شرکت Docker با معرفی پلتفرم خود، این پیچیدگی‌ها را ساده کرد. Docker فناوری کانتینر را به یک ابزار قابل‌دسترس برای توسعه‌دهندگان تبدیل کرد و مفهوم کانتینری‌شدن اپلیکیشن‌ها را به جریان اصلی دنیای فناوری وارد کرد.

سال 2014: تولد کوبرنتیز در گوگل

گوگل که سال‌ها تجربه مدیریت کانتینرها را در مقیاس بالا داشت، تصمیم گرفت تا ابزار داخلی خود برای مدیریت کانتینرها را به یک پروژه متن‌باز تبدیل کند. این ابزار که به نام Kubernetes شناخته شد، در سال 2014 به عنوان یک پروژه متن‌باز معرفی گردید. کوبرنتیز با الهام از ابزار داخلی گوگل به نام Borg طراحی شده بود و هدف آن مدیریت خودکار کانتینرها، مقیاس‌گذاری، و هماهنگی بین آن‌ها بود.

نکته:
کوبرنتیز (Kubernetes) در ابتدا با زبان C توسعه داده شده بود. اما در سال 2014 تیم گوگل تصمیم گرفت آن را با زبان Go بازنویسی کند. دلیل این تغییر، توانایی‌های Go در مدیریت هم‌زمانی (Concurrency)، عملکرد بالا، و سهولت توسعه و نگهداری بود که برای یک سیستم توزیع‌شده مدرن مانند Kubernetes بسیار ضروری است.

این بازنویسی بخشی از تلاش برای ارائه یک پلتفرم متن‌باز و مدرن‌تر بود که بتواند به‌خوبی نیازهای زیرساخت‌های ابری را برآورده کند.


2015: کوبرنتیز و CNCF

برای گسترش و پذیرش بیشتر کوبرنتیز در جامعه متن‌باز، گوگل تصمیم گرفت این پروژه را به بنیاد جدیدی به نام Cloud Native Computing Foundation (CNCF) اهدا کند. CNCF که یک زیرمجموعه از بنیاد Linux Foundation است، وظیفه داشت تا به توسعه و گسترش اکوسیستم ابزارهای مدرن ابری کمک کند. این حرکت باعث شد کوبرنتیز از زیر چتر گوگل خارج شود و به یک پروژه مستقل و جهانی تبدیل شود که توسط جامعه متن‌باز هدایت می‌شود.

رشد و محبوبیت کوبرنتیز

پس از اهدا به CNCF، کوبرنتیز به سرعت به استانداردی برای مدیریت کانتینرها تبدیل شد. ابزارهای بسیاری برای تکمیل اکوسیستم کوبرنتیز توسعه یافتند و شرکت‌های بزرگی مانند
Red Hat، IBM، Microsoft💩, AWS
از آن پشتیبانی کردند. کوبرنتیز به دلیل انعطاف‌پذیری، مقیاس‌پذیری، و قابلیت اتوماسیون، به یکی از محبوب‌ترین ابزارها برای مدیریت زیرساخت‌های ابری تبدیل شده است.

#kubernetes

@Syntax_fa
قابل توجه کسایی که به تازگی با Docker آشنا شدن!
اگه با کانتینرها کار می‌کنی، حتما اسم Kubernetes و Docker Swarm رو شنیدی. هر دوتا برای مدیریت کانتینرها ساخته شدن، ولی بعضی از تفاوت‌های اصلیشون چیه و کدوم بیشتر به درد می‌خوره؟

Kubernetes
- یه پلتفرم قوی و پر از امکانات برای مدیریت و مقیاس‌پذیری کانتینرها
- قابلیت Self-Healing (کانتینر کرش کنه خودش درستش می‌کنه)
- قابلیت Load Balancing و Auto scaling داره
- برای پروژه‌های بزرگ عالیه
ولی پیاده‌سازیش سخته، منابع زیادی مصرف می‌کنه و یادگیریش زمان‌بره

Docker Swarm
- ساده، سریع و مستقیم توی Docker ادغام شده
- نصبش یه خط دستوره، پیچیدگی خاصی نداره
- سبک‌تر از Kubernetes و مناسب برای پروژه‌های کوچیک و متوسط ولی Auto scaling نداره، مانیتورینگش ضعیفه و تو Production سطح بالا خیلی جواب نمی‌ده

من خودم بدون شک Kubernetes رو ترجیح میدم.

@DevTwitter | <Iman Rajabi/>
بدهی؟
خب بازم قیمت‌هارو بالا ببرین!

🔍 ircf.space
@ircfspace
Forwarded from Gopher Academy
🔵 عنوان مقاله
  How to Build an MMO Game with Godot 4 and Go

🟢 خلاصه مقاله:
این مقاله به بررسی و توضیح یک سری ویدیویی متشکل از 13 قسمت در یوتیوب می‌پردازد که نحوه ساخت یک بازی آنلاین چندنفره با استفاده از موتور بازی محبوب Godot (بدون ارتباط با Go) را آموزش می‌دهد. در این سریال، زبان برنامه‌نویسی Go برای مدیریت بخش پشتیبانی(بک‌اند) استفاده شده است. اصلی‌ترین هدف از این سری ویدیو، ارائه دستورالعمل‌ها و راهنمایی‌های گام به گام برای توسعه‌دهندگانی است که علاقمند به استفاده از Godot و Go در پروژه‌های بازی‌سازی خود هستند. این مقاله، علاوه بر معرفی ابزارها و تکنولوژی‌های مرتبط، به برجسته‌سازی توانایی‌ها و قابلیت‌های این دو پلتفرم در خلق بازی‌های چندنفره تمرکز دارد و نکات کاربردی برای برنامه‌نویسان و توسعه‌دهندگان بازی را ارائه می‌دهد.

🟣لینک مقاله:
https://golangweekly.com/link/164561/web


👑 @gopher_academy
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰استارلینک

🔹 شرکت راه‌آهن چک، به زودی شروع به تست استارلینک برای ارائه اینترنت سریع به مسافران در قطارها می‌کند. این پروژه با استفاده از ترمینال‌های ویژه طراحی‌شده برای خطوط ریلی، احتمالاً در جنگ اوکراین نیز استفاده می‌شود. این ترمینال‌ها قدرت ارسال و دریافت بیشتری دارند. موفقیت این پروژه می‌تواند به تجهیز خطوط ریلی اروپا به استارلینک منجر شود.

🔹همچنین، هواپیمایی ایر فرانس قصد دارد استارلینک را به ناوگان خود اضافه کند و از این اینترنت برای مسافران دائمی به صورت رایگان استفاده خواهد کرد. شرکت‌هایی مانند یونایتد ایرلاینز، قطر ایرویز و ایر بالتیک قبلاً این فناوری را در ناوگان خود به کار گرفته‌اند.
منبع خبر:
-Cyber Security awareness-
Up2date 4 Defence Today,
Secure Tomorrow
@CisoasaService
گِرِپ‌- سریع ترین موتور جستجوی کد در جهان

وقتی گیتهاب کم میاره، گرپ اپ وارد میشه!

تا حالا شده دنبال یه قطعه کد بگردی و سرچ گیتهاب اذیتت کنه؟
یا بخوای ببینی یه فانکشن خاص توی کلی ریپو چجوری استفاده شده؟

اینجاست که grep.app می‌تونه نجاتت بده! یه موتور جستجوی سریع برای کد که بهت اجازه می‌ده با Regex بگردی، کدهای اوپن‌سورس رو بکاوی و خیلی راحت‌تر اون چیزی که می‌خوای رو پیدا کنی.
چندتا ویژگی خفن:
- جستجوی سریع و دقیق توی مخازن عمومی GitHub
- پشتیبانی از Regex برای فیلترهای حرفه‌ای
- امکان جستجو توی چندین زبان برنامه‌نویسی

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

@DevTwitter | <Bahare Zarei/>
Forwarded from SoniaCircuit (Sony)
Forwarded from SoniaCircuit (Sony)
Forwarded from Sadra Codes
Graveyard of empires 💀🥶
Forwarded from Gopher Academy
دوره آموزش برنامه‌نویسی گولنگ، از مقدماتی تا پیشرفته به‌صورت جلسات Live Coding و پروژه یک وبسایت مشابه اینستاگرام

🔹 در این دوره از صفر تا صد گولنگ رو یاد میگیریم

🔸 یک پروژه کامل با معماری clean arch مثل اینستاگرام با قابلیت‌های: پست، استوری، لایک، کامنت، پروفایل و... رو پیاده‌سازی می‌کنیم

🔹 در مسیر پروژه از تکنولوژی‌های مختلفی مثل: لود تست با k6، پرومتئوس و گرافانا، آبجکت استوریج MinIO استفاده می‌کنیم تا چالش‌های سیستم‌های پیچیده را درک‌
و پیاده‌سازی کنیم

🔸 یاد میگیریم مایکروسرویس‌ها چی هستن و چه زمانی باید ازشون استفاده کنیم و درنهایت میریم سراغ protobuff ،Grpc و RabbitMQ

حتما به کلادی‌گو یه سر بزن و سرفصل و جزییات بخش‌های دوره رو یه نگاهی بنداز:

https://cloudygo.ir/register

📣 اگر میخوای توو این مسیر همراهمون باشی تا ۲۵ بهمن فرصت داری تا از طریق لینک بالا با تخفیف ۲۱ درصدی ثبت‌نام کنی!
خوشحالم اعلام کنم که به عنوان یک ایرانی، یکی از پکیج های لاراولی من به 20 هزار نصب رسیده

این پکیج من که کار اعتبارسنجی در لاراول انجام میده، در خیلی از سایت های معروف لاراولی به اشتراک گذاشته شده مثل Laravel Daily، Laravel News و...

اگه دوست داشتید استار کنید تا به 500 تا استار در گیت هاب برسیم
https://github.com/milwad-dev/laravel-validate

@DevTwitter | <Milwad Khosravi/>
Forwarded from SoniaCircuit (Sony)
کار در ایران به روایت تصویر.

من حرفی در این مورد نمیزنم و اگر هم بزنم توهین سنگینی محسوب میشه ترجیح میدم بیننده قضاوت کننده باشه.

#اقتصاد_کثیف
#5min_Rust

انواع روش‌های لیبل زدن برای مقادیر رو توی این پست بررسی کنیم؛ معمولا این رو با اسم متغییر می‌شناسیم ولی خب توی زبان‌های مثل Rust اسم متغییر کمی گیج کننده هست. چرا ؟

اول با immutable, mutable شروع کنیم (تغییر پذیر و تغییر ناپذیر) :
بصورت پیش‌فرض تمام متغییرهایی که توی Rust تعریف می‌کنیم تغییرناپذیر هستند و برای تعریف یک متغییر از کلید let استفاده می‌شه یک مثال ببینیم:
let channel = "pyrust";

اگر بصورت immutable یک متغییر رو تعریف کنید تا آخر نمی‌تونید مقدارش رو تغییر بدید؛ اما توجه کنید با اینکه زبان Rust زبان Static type هست من توی این مثال type متغییر رو تعریف نکردم (راجب type ها تصمیم گرفتم بعد این پست صحبت کنم چون آموزش ویدئویی نیست و برای مثال زدن روی اون موارد باید این پست خونده می‌شد) فعلا بیاید قبول کنیم که "pyrust" توی مثال بالا از نوع داده اصطلاحا string slice هست. خود کامپایلر انقدر باهوش هست که شما نیازی ندارید این type هارو بهش بگید و می‌تونه خودش حدس بزنه ولی اگر خواستید بصورت دستی بهش تایپ هم بدید :
let channel: &str = "pyrust";

از کلمه let برای تعریف متغییر استفاده می‌شه؛ بعد از اون اسم متغییر میاد که اینجا channel هست و بعد از اون : &str که معلوم می‌کنه این متغییر از چه نوع داده‌ای باید باشه و هست باقیشم که توی همه زبان‌ها یکسان هست.
اما اگر بخوایم یک متغییر تعریف کنیم و به کامپایلر بگیم در طول اجرای برنامه این متغییر اجازه داره مقدارش عوض بشه چطور ؟ فقط کافیه از کلمه کلیدی mut (مختصر شده mutable استفاده کنیم) :
let mut channel: &str = "pyrust";

تنها تفاوت اینه که قبل از اسم متغییر (channel) باید mut رو بذارید.
این موارد رو تست کنید:
let channel = "pyrust";
channel = "pyhints";