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 Gopher Academy
🔵 عنوان مقاله
Go Developer Survey 2024 H2 Results

🟢 خلاصه مقاله:
در نتایج جدیدترین نظرسنجی جامعه Go که بر اساس تحلیل بیش از ۴۰۰۰ پاسخ به دست آمده است، توسعه‌دهندگان به طور کلی از جهت‌گیری زبان برنامه‌نویسی Go رضایت دارند. با این حال، این توسعه‌دهندگان اصلی‌ترین چالش را حفظ استانداردهای یکنواخت کدنویسی می‌دانند. در زمینه انتخاب سیستم‌عامل، Linux و macOS پیشتاز هستند، در حالی که VS Code و GoLand به عنوان IDE‌های محبوب، و AWS به عنوان برترین انتخاب در مورد سرویس‌های ابری شناخته شده است. همچنین آمارهای جالبی در مورد سطح استفاده توسعه‌دهندگان Go از مدل‌های LLM (مدل‌های زبانی بزرگ) ارائه شده است.

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


👑 @gopher_academy
از نکات جالب اینکه Microsoft جزو 20 شرکت اول توسعه‌دهنده کرنل لینوکس 6.12LTS هست.
در کنار این توسعه، Microsoft توزیع مخصوص خودش به نام Azure Linux را دارد که کلیه سرورهای LinkedIn از CentOS بتازگی به آن مهاجرت کرده اند.
منابع:
https://linkedin.com/blog/engineering/architecture/navigating-the-transition-adopting-azure-linux-as-linkedins-operatingsystem
https://lwn.net/Articles/997959/

@DevTwitter | <Vahid Nameni/>
Forwarded from Gopher Academy
🎯درود دوستان برای تبلیغات توی چنل ما می تونید به ای دی زیر پیام بدید و تعرفه ها رو براتون بفرستیم جهت تبلیغ:

@labdon_ads
Forwarded from وب آموز (m J)
هشدار! هکر ها درحال پخش بدافزار از طریق کانال یوتیوب هک شده وب آموز هستند.
دیزاین پترن Facade در Golang
یکی از دیزاین پترن های جذاب و کاربردی، پترن Facade! شاید اسمش یه کم شیک به نظر بیاد، ولی قول میدم که خیلی کاربردیه و کارمون رو راحت‌تر می‌کنه.

حالا Facade چیه؟
فرض کن جلوی یه ساختمون خیلی شیک و بزرگ وایسادی، ولی لازم نیست بری داخلش و همه اتاقاشو ببینی. فقط کافیه از بیرون، نمای ساده و مرتبش رو ببینی و کارتو راه بندازی. پترن Facade دقیقاً همینه! یه رابط کاربری ساده می‌ده که دیگه لازم نباشه با پیچیدگی‌های سیستم درگیر بشی.

چرا باید ازش استفاده کنیم؟
دو تا اصل مهم دنیای کدنویسی اینجا برامون روشن‌تر می‌شه:
1- همه چی ساده باشه KISS
2- تکرار نکن DRY

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

ی مثال ساده: اتصال به دیتابیس
فرض کن می‌خوای به دیتابیس وصل بشی، کوئری بزنی و قطع کنی. بدون Facade و با Facade داخل تصویر هست.

کاربردهای دیگه:
کار با فایل‌ها
ارتباط با API
راه‌اندازی وب‌سرور
مدیریت سفارش‌های فروشگاه آنلاین
و...

این Facade مثل یه شمشیر دولبه‌ست. اگه زیادی ساده‌سازی کنی یا بخوای همه کارها رو تو یه struct و متدهاش بذاری، ممکنه یه ساختار پیچیده (God Object) بسازی که خودش یه مشکل جدیده.

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


@DevTwitter | <Mohammad Abdorrahmani/>
تو دیتابیس ها یه مفهومی وجود داره به اسم clustered index که در مقابلش non clustered index قرار میگیره

خب این clustered index یعنی چی؟ یعنی اینکه ترتیبی که داده ها در ایندکس قرار میگیرن، همون ترتیبی هست که داده ها در فایل و دیسک ذخیره میشن.

بنابراین هر جدول دیتابیس فقط میتونه یه clustered index داشته باشه که معمولا primary key هست.

کجا ها clustered index مهمه؟ جاهایی که شما range query یا sequential scan داری مهم میشه

چرا مهم میشه؟ چون دیتابیس با تعداد io کمتر رکوردهارو از فایل و دیسک fetch میکنه

حالا قرار دادن یه guid مثل uuid به عنوان primary key چه بلایی سر clustered index میاره؟ عملا رکوردهایی که در ایندکس دارن مرتب میشن میتونن تو فایل های مختلفی از دیسک scatter بشن و هزینه fetch کردن شون در کوئری های range رو بالا ببره.

یه سری دیتابیس ها یه سری بهبود برای این قضیه دارن، مثلا یه implicit primary key خودشون در نظر میگیرن که incremental integer هست و اون رو clustered index در نظر میگیرن.

https://blog.novanet.no/careful-with-guid-as-clustered-index/

@DevTwitter | <Hossein Nazari/>
Forwarded from Linuxor ?
همین الان برو اون پروژه ای که چند وقت پیش بخاطر پرباگ بودن ولش کردی رو reopen کن و مشکلاتش رو حل کن که قراره درس بزرگی تو معماری و دیزاین بهت بده


@Linuxor
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
تفاوت VPN های سنتی با Tailscale چیه؟
نرم افزار Tailscale ترکیب
open-source software-defined
mesh
virtual private network (VPN)
به عنوان یک VPN مدرنه روی پروتکل WireGuard یک شبکه مش نظیر به نظیر (tailnet) ایجاد می کنه Tailscale با دوری کردن از centralization مقدارthroughput بالاتر و latency کمتر به صورت یک Overlay network(شبکه‌های همپوشان) و با استفاده از NAT traversal در مجموع یک ارتباط امن برای شما ایجاد میکنه
پیاده سازی های مختلف روی سرور داره مثلا
https://github.com/juanfont/headscale
یک self-hosted implementation متن باز از Tailscale control server است

از اینجا دانلود کنید
https://tailscale.com/download

از اینجا اموزش بخونید
https://tailscale.com/kb/1017/install
گزینه های دیگه
https://openziti.io/
https://ferrumgate.com/
https://netbird.io/

اینها معادل https://www.zerotier.com/ هستند
Forwarded from Gopher Academy
🔵 عنوان مقاله
How I Program with LLMs

🟢 خلاصه مقاله:
در مقاله‌ای که توسط یکی از بنیان‌گذاران Tailscale نوشته شده است، رویکردهای مدرن نوشتن کد به زبان Go با استفاده از تکنیک‌های مبتنی بر مدل‌های زبان بزرگ (LLM) مورد بررسی قرار گرفته است. نویسنده در مورد توسعه یک محیط جدید برای برنامه‌نویسی به نام 'Go playground' که با توانایی‌های LLM بهبود یافته است، بحث می‌کند. این ابزار جدید به برنامه‌نویسان اجازه می‌دهد تا با روش‌های کارآمدتر و دقیق‌تری کد بنویسند، و به آنها در اجرای سریع‌تر و تست آسان‌تر کد کمک می‌کند. نویسنده تاکید زیادی بر مزایای استفاده از فناوری‌های مدرن و هوش مصنوعی در توسعه نرم‌افزار دارد و انتظار دارد که این تکنولوژی‌ها تأثیر قابل توجهی بر بهبود کیفیت و کارایی کدنویسی در آینده داشته باشند.

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


👑 @gopher_academy
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
هفتمین استارشیپ، با موفقیت پرتاب شد و بوستر Super Heavy برای دومین‌بار با بازوهای پرتاب گرفته شد اما متأسفانه خود فضاپیما بعد از مدتی به دلیل از کار افتادن بعضی از موتورها ارتباطشون رو باهاش از دست دادن، درنتیجه به طور خودکار منهدم شد. تونستند بوستر رو برگردونن اما موشک نتونست هدفش که چرخش کامل به دور زمین و رهاسازی شبه‌ماهواره‌های استارلینک بود رو انجام بده.
صحنه‌هایی از ورود مجدد موشک منهدم‌شده به جو در جزیره‌های تورکس و کایکوس دیده شد. در ویدیوها می‌بینید.
space.com
hadi @geekalerts
Forwarded from Armon technical logs (armon Taheri)
از دوستان کسی itweekend امسال رو شرکت میکنه خوشحال میشم هم دیگه رو ببینم
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰داستان لینوکس از زبان اندرو تننبام
🔹در سال‌های اولیه توسعه MINIX، کاربران درخواست ویژگی‌های بیشتری داشتند، اما نویسنده به دلیل محدودیت‌های آموزشی (مانند قابل فهم بودن سیستم برای دانشجویان در یک ترم دانشگاهی) از اضافه کردن این ویژگی‌ها خودداری کرد. این موضوع باعث نارضایتی کاربران شد. در آن زمان، FreeBSD در دسترس نبود و گزینه‌ای جایگزین وجود نداشت. در نتیجه، لینوس توروالدز، یک دانشجوی فنلاندی، در سال ۱۹۹۱ تصمیم گرفت یک سیستم‌عامل شبیه‌سازی یونیکس به نام لینوکس ایجاد کند. اولین نسخه لینوکس (0.01) بر روی MINIX توسعه یافت و از
ایده‌های آن، مانند ساختار درخت منبع و طرح‌بندی سیستم فایل، الهام گرفت. این نسخه شامل ۹۳۰۰ خط کد C و ۹۵۰ خط اسمبلی بود و از نظر اندازه و عملکرد مشابه MINIX بود.

🔹لینوکس به سرعت رشد کرد و با افزودن ویژگی‌هایی مانند حافظه مجازی، سیستم فایل پیشرفته‌تر و شبکه‌سازی، به یک سیستم‌عامل کامل و تولیدی تبدیل شد. اگرچه در ابتدا فقط روی پردازنده‌های ۳۸۶ اجرا می‌شد، اما به سرعت به پلتفرم‌های دیگر منتقل شد. با این حال، لینوکس به‌دلیل استفاده گسترده از ویژگی‌های غیراستاندارد کامپایلر gcc، با چالش‌هایی در سازگاری با کامپایلرهای دیگر مانند LLVM مواجه شد.

🔹نسخه ۱.۰ لینوکس در سال ۱۹۹۴ منتشر شد و شامل ۱۶۵۰۰۰ خط کد بود. این نسخه ویژگی‌هایی مانند سیستم فایل جدید، فایل‌های مپ‌شده به حافظه و شبکه‌های سازگار با BSD را ارائه کرد. در سال‌های بعد، لینوکس با انتقال نرم‌افزارهای یونیکس و مشارکت گسترده توسعه‌دهندگان، به سرعت پیشرفت کرد.

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

ترجمه و گرفته شده از کتاب سیستم عامل تننبام
شرط میبندم اینو نمیدونستی:
توی php میتونی واسه خوانایی بیشتر بین اعداد _ قرار بدی و هیچ خللی توی برنامت وارد نشه؟ حتی عملیات ریاضی هم به درستی کار میکنن.
اگه باور نداری همین الان برو امتحانش کن
حالا به چه دردی میخوره؟ خوب از اونجایی که نمیشه داخل کد کاما بین اعداد گذاشت، این حرکت میتونه خوانایی کد رو ببره بالا.

@DevTwitter | <Pouya Farshidnia/>
برگردیم با معرفی یک برنامه جدید.

برنامه Alpaka یک کلاینت ollama نوشته شده با کریگامی و برای میزکار کی‌دی‌ای هستش.

درحال حاضر خیلی ساده است، میتونید مدل هایی که روی سیستم دارید رو انتخاب کنید و باهاشون چت کنید.

@SohrabContents
😂
🎓 به دنیای برنامه‌نویسی و مهندسی کامپیوتر خوش آمدید!💻

🏆 آیا می‌خواهید مهارت‌های خود را در برنامه‌نویسی ارتقا دهید؟
💠ما در آتوکس کامپیوتر بهترین دوره‌های آموزشی را برای شما فراهم کرده‌ایم!


💻🔹 دوره‌های ما شامل:

🔻• 17 رودمپ تخصصی برنامه نویسی مثل بک اند، فرانت اند، هوش مصنوعی و....

🔺پوشش تمامی دروس مهندسی کامپیوتر از ریاضی 1 و مبانی کامپیوتر تا ریاضیات مهندسی و....

🔹• یادگیری کنکور کارشناسی ارشد کامپیوتر + منابع

🔹• بخش تخصصی حل مشکل + کارگاه کامپیوتر + پادکست و...

🔺• و بسیاری دیگر...


📔 با ما به جمع متخصصان بپیوندید!

🎛 برای اطلاعات بیشتر و ثبت‌نام به کانال ما بپیوندید:

🔴 گروه T.me/computerATOX

🟢 کانال T.me/channelATOX

🟠 ربات T.me/C_ATOX_bot

همین امروز شروع کنید و آینده خود را بسازید!💡
Forwarded from Sudoer (Morteza Bashsiz)
درود

توی توسعه nipoVPN به یه جایی رسیدم که هیچ راه حلی براش ندارم
هرچی هم بیشتر میخونم بیشتر متوجه میشم که هیچی نمیدونم