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 a pessimistic researcher (Kc)
مثلا یکی از بورژوازی هایی که شاید پایه‌گزارش TED Talk ها بودن و به نظرم عامه‌پسندترین و لایک‌خور ترین و ویوخور ترین چیزیه که میشه توی این صحبتا‌ جا کرد، آفتابه گرفتن به ساحت آکادمیک و علم ورزیه و پروموت کردن فستفودی هایی مثل همین بوتکمپ‌هاست. کلا هر چی که سخته و نیاز به تلاش و ممارست و پشت‌کار داره رو ذلیل کن. به قول مهدی که امروز بهم گفت "هنر خوار شد جادویی ارجمند"
Forwarded from a pessimistic researcher (Kc)
جدی این ریتاردها چرا تموم نمیشن؟؟ بدا به حال اونایی که دنبال اینا راه می‌افتن و این لوکوموتیو رونا رو پروموت میکنن.
Forwarded from a pessimistic researcher (Kc)
https://assets.amazon.science/bb/40/22ac44f84f6d8eb625ac9666a00f/formally-verified-cloud-scale-authorization.pdf

این مقاله رو گذاشته بودم سر فرصت راجع بهش تو کانال توضیح بدم و خواهم داد. منتهی کله‌ام فراستریتد شد و باید خرجش کنم متأسفانه. الان این مقاله ۳۸ تا نویسنده داره و توی ICSE 2025 قراره چاپ بشه. مقاله پروژه‌ای بوده که توی AWS چند سال داشتن روش کار میکردن. به طور خلاصه اومدن Authorization System شرکت Amazon رو که با Java نوشته بودن در ابتدا به زبان Dafny که Verification-oriented هست بازنویسی کردن و سپس از Dafny به Java ترنسپایل کردن. بعد جالبه که وقتی میری نویسنده‌ها رو میبینی چند تاشون استاد دانشگاهن و تعدادی دیگه استاد بودن چندین سال و باقی شون آدمایی هستند که PhD خیلی قوی انجم دادن تو این حوزه و یا دارن انجام میدن. و همونطور که می‌بینید سیستم دانشگاهی داره ور می‌افته و یکی از proof of concept هاشم این مقاله است. چونکه خیلی از Hiring Manager ها الان دنبال کسایی هستند که رفتن بوتکمپ نه اونایی که ۴ سال دانشگاه خوندن
Forwarded from کدنویس یکروزه (𝕻𝖊𝖉𝖗𝖆𝖒 𝕽𝖆𝖍𝖎𝖒𝖎)
دفترتلفن-پیشرفته (2).htm
21.3 KB
برنامه Deep Seek
هوش مصنوعی انقلابی چین!

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

   در ضمن یه دکترای نرم افزار ایرانی در یوتیوب بررسی تخصصی برای این اختراع انقلابی چینی که امکانات پولی Chat GPT رو هم به شما رایگان میده گذاشته که مثلاً یادتون میده که یه جزوه‌ی ۱۰۰ صفحه ای را راحت بدید و براتون خلاصه می کنه:

https://youtu.be/JVWIB6PlLwI
Forwarded from a pessimistic researcher (Kc)
بدا به حال ما که اونایی که بدا به حالشون ما رو هم دنبال میکنن :))

الان که یکمی یواش تر شدم احساس می‌کنم که ارزش این همه واکنش رو نداشت و پیاما رو پاک میکنم تا چند دقیقه دیگه.
Forwarded from Syntax | سینتکس (Daimon)
Media is too big
VIEW IN TELEGRAM
قدیمی ترین وب سایت هایی که هنوزم آنلاینن!

#fun

@Syntax_fa
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 و ۸۰۰۰ خط اسمبلی بود. این نسخه از معماری‌های ۶۴ بیتی، چندبرنامه‌نویسی متقارن و پروتکل‌های شبکه جدید پشتیبانی می‌کرد. بخش عمده‌ای از کد این نسخه به درایورهای دستگاه‌های مختلف اختصاص داشت. پس از آن، نسخه‌های متعددی از لینوکس منتشر شدند که به رشد و گسترش این سیستم‌عامل کمک کردند.

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