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
حالا داستان دقیقا چیه
مرحوم دایکسترا (ارواحنا الفدا) یک مقاله ای سال ۱۹۸۸ بیرون میدن و از وضع تدریس برنامه نویسی توسط دانشگاه ها گله می کنن.
ایشان ادعا داشتن که برنامه نویسی می بایست یکی از زیرشاخه های علوم ریاضی تلقی بشه و مدرسین علاوه بر تدریس سینتکس یک زبان مباحثی مانند اثبات درستی یک برنامه با ابزارهای صوری مانند منطق Hoare رو هم تدریس کنن.

بعد از انتشار این مقاله یک مناظره بین اساتید شکل میگیره که آیا دایکسترا داره حرف درست میزنه یا نه!!!! خب چلغوزا معلومه هر چی که دایکسترا میگه درسته
اونا داشتن تو جاده ای رانندگی میکردن که دایکسترا آسفالتش کرده بود ولی خب چه میشه گفت

خلاصه متن این مناظره ها هست و لینکش رو براتون میذارم
توی اونایی که مناظره کردن نام یک دانشمند فقید دیگه یعنی ریچارد همینگ هم به چشم میخوره که خوندن حرفاش خالی از لطف نیست
https://www.psy.gla.ac.uk/~steve/educ/dijk/Dijkstra89cacm.pdf
در آخر هم دایکسترا مثل احمدی نژاد برمیگرده میگه چه خبرتونههههههه چه خبرتوننننننننه؟
و از مخاطبین میخواد که زیاد جدی نگیرن و به جهالتشون ادامه بدن

اینم جا داره بگم که توی مقاله ای که بالا فرستادم حضرت دایکسترا در اصل یک پروپوزال هم برای نحوه تدریس یک دوره برنامه نویسی برای افراد مبتدی ارائه دادند
#5min_Rust

درنهایت نکات مهمی که راجب Stack باید یادتون بمونه :

۱- سرعت بالاتری داره نسبت به heap؛ چون برای دیتاهاش نیازی نداره به سیستم عامل بگه براش حافظه پیدا کنه ( system call کمتری داره )
۲- داده‌هایی می‌تونند روی Stack قرار بگیرند که از قبل سایزشون مشخص باشه؛ یعنی بدونیم چقدر فضای حافظه رو نیاز دارند.
۳- نمی‌تونیم از یک تابع به داده‌ای داخل تابع دیگر که روی استک هست اشاره کنیم؛ چون همونطور که دیدیم وقتی اجرا اون بخش کد تموم بشه تمام مقادیر از Stack حذف میشه و ما می‌مونیم و اشاره‌گر به خانه حافظه‌ای که یا خالی هست یا نباید بهش اشاره می‌شده و این موضوع امن نیست.
stack_vs_heap.png
166 KB
#5min_Rust

خب توی این مثال؛ اول از همه یک مقدار حافظه از Stack به تابع main اختصاص داده می‌شه؛ توی اولین دستور داخل main یک متغییر داریم به اسم a و مقدار 22 که داخل Stack قرار می‌گیره (نوع داده int چون سایزش زمان کامپایل مشخص هست همیشه داخل stack قرار میگیره)

بعد از اون برای بدست آوردن مقدار b باید تابع دیگری صدا زده بشه؛ که اینبار add_one هست و یک فضای اختصاصی روی Stack بهش داده می‌شه؛ و کاری که می‌کنه اینه که ورودی رو +1 می‌کنه و برای کسی که صداش زده برمی‌گردونه پس یک متغییر به اسم i داره که آرگومان ورودی تابع هست و توی استک قرار میگیره و خروجی هم توسط return برای آدرس b توی main ارسال میشه 0x23f توی این مثال؛ توی این بازه که داشتیم روی add_one کار میکردیم پشت صحنه SP هم جابجا شد و بجای اینکه به آخر main روی stack اشاره کنه به انتهای آدرس add_one اشاره میکرد.
وقتی کارمون با تابع add_one تموم شد و مقدارش رو برگردوندیم؛ این بخش از Stack حذف میشه؛ باتمام متغییرها و مقادیری که توی این بخش بود (درک این موضوع به lifetime, ownership, ... کمک می‌کنه پس یادتون بمونه)
و SP دوباره بر میگرده و انتهای main رو نشون میده و b 23 داخل استک main قرار میگیره.

بعد از اون متغییر answer_universe رو داریم؛ این مقدار رو چون می‌خواستیم بمونه و با حذف Stack پاک نشه تصمیم گرفتیم بفرستیمش روی Heap اما یادتون باشه بالاتر گفتم int روی stack جا داره چون سایزش از قبل معلوم هست؛ برای اینکه به زور ببریمش روی Heap از چیزی به اسم Box استفاده می‌کنیم (درآینده راجبش حرف میزنم)

وقتی on_heap صدا زده میشه؛ استک فقط و فقط شامل main هست و add_one حذف شده ازش (توی تصویر نمی‌شد این رو نشون داد) on_heap داخل خودش b رو داره (آپدیت کردن SP یادمون نرفته فقط دوباره توضحیش نمیدم) و b رو میخوایم روی heap بفرستیم پس به سیستم درخواست میدیم یک فضایی به اندازه i32 نوع داده integer 32bit برامون روی heap پیدا کنه و بهمون بده وقتی سیستم این رو پیدا کرد دیتای 42 رو اونجا مینوسه و آدرسش 0x5f21 رو بهمون بر میگردونه و بعد هم که return , ....

بعد از این مرحله تابع on_heap هم از روی stack حذف میشه و فقط main ‌می‌مونه روی main چون answer_universe هنوز به دیتای 42 روی heap نیاز داره پس اون دیتاهم روی heap وجود داره.

در نهایت وقتی این کارها تموم شد (اینجا print, ... نداریم) برنامه بطور کامل اجرا شده و main هم تموم می‌شه و تمام مموری پاک میشه.


پینوشت:
منبع نمونه کد بالا؛ این رو قبلا گذاشته بودم بنظرم خوبه دوباره زیر این پست هم باشه.
Forwarded from Syntax | سینتکس (Daimon)
شما بزرگ ترین دشمنان و خلافکاران در علیه شرکت های تولید نرم افزار در جهان رو در تصویر میبینید!

رئیس سایت سافت ۹۸ و پی سی دانلود در یک قاب

#fun

@Syntax_fa
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰تغییرات جدید در لینوکس کرنل ۶.۱۴
🔹نسخه‌ی ۶.۱۴ کرنل لینوکس شامل تغییرات و بهبودهای متعددی در بخش‌های مختلف سیستم است. در اینجا خلاصه‌ای از برخی از مهم‌ترین تغییرات آورده شده است:
________________________________________
🔹تغییرات کلی
🔸 کوچک‌بودن نسخه: نسخه‌ی ۶.۱۴ یک نسخه نسبتاً کوچک است و تغییرات آن بیشتر شامل اصلاحات و بهینه‌سازی‌های جزئی می‌شود.
🔸پشتیبانی از معماری s390: بخش قابل توجهی از تغییرات در این نسخه مربوط به پاک‌سازی و بهینه‌سازی کدهای مرتبط با معماری s390 (مخصوصاً در بخش KVM) است.
🔸تست‌های خودکار (selftests): برخی از تست‌های خودکار به‌روزرسانی شده‌اند تا مشکلات کوچک را شناسایی و اصلاح کنند.
________________________________________
🔹تغییرات در بخش‌های مختلف
1. فایل‌سیستم‌ها:
🔸سیستم فایل XFS: بهبودهایی در مدیریت خطا و بهینه‌سازی‌های مربوط به بازنویسی فایل‌ها (reflink) انجام شده است.
🔸سیستم فایلBtrfs: اصلاحات مربوط به مدیریت تراکنش‌ها و جلوگیری از بروز مشکلات در هنگام ادغام ریشه‌های انتقال (relocation root).
________________________________________
2. شبکه:
🔸پرتکل TCP/IP: بهبودهایی در مدیریت بسته‌های شبکه و جلوگیری از نشت حافظه (memory leak) در برخی از تونل‌های شبکه مانند RPL، Seg6 و IOAM6.
🔸اتصال‌های RxRPC: اصلاحات در مدیریت صف‌های اتصال و جلوگیری از رقابت (race condition) در تغییر وضعیت تماس‌ها.
________________________________________
3. درایورهای سخت‌افزاری:
🔹درایورهای گرافیکی (DRM):
🔸بهبود در Intel: بهبودهایی در پشتیبانی از DSC (Display Stream Compression) و مدیریت صحیح نرخ بیت (BPP).
🔸بهبود درAMD: اصلاحات در مدیریت نور پس‌زمینه (backlight) و بهبودهایی در پشتیبانی از Vulkan.
🔸بهبود درNVMe: اصلاحات در مدیریت اتصال و بهبودهایی در پشتیبانی از خواب (sleep) برای برخی از دستگاه‌های خاص.
🔸ویژگی SCSI: بهبودهایی در مدیریت خطا و جلوگیری از استفاده‌ی پس از آزادسازی حافظه (use-after-free) در مسیرهای خطای اولیه.
________________________________________
4. مدیریت انرژی:
🔸ویژگی CPUFreq: اصلاحات در مدیریت محدودیت‌های عملکرد (performance limits) و به‌روزرسانی‌های مربوط به درایور AMD-PState.
________________________________________
5. امنیت:
🔸 ویژگی Seccomp: بهبودهایی در پشتیبانی از uretprobe (بررسی بازگشت از فراخوانی‌های سیستمی) بدون فیلتر کردن.
________________________________________
6. زمان‌بندی (Scheduling):
🔸 ویژگی Fair Scheduler: اصلاحات در محاسبه‌ی طول برش زمانی (slice length) برای وظایف عادلانه (fair tasks).
________________________________________
7. مدیریت حافظه:
🔸 ویژگی KVM: بهبودهایی در مدیریت حافظه‌ی مجازی (virtual memory) و جلوگیری از نشت حافظه در برخی از سناریوها.
________________________________________
8. پشتیبانی از Rust:
🔸 بهبودهایی در پشتیبانی از Rust در کرنل، از جمله اصلاحات در مدیریت نمادها (symbols) و جلوگیری از هشدارهای کامپایلر.
________________________________________
9.تغییرات در ابزارها و کتابخانه‌ها
🔸 ویژگی Kbuild: بهبودهایی در اسکریپت‌های ساخت کرنل، از جمله اصلاحات در مدیریت هشدارهای کامپایلر و بهینه‌سازی‌های مربوط به نمادها.
🔸 ویژگی Clocksource: بهبودهایی در همگام‌سازی منابع زمان (clocksource) و جلوگیری از مشکلات مربوط به زمینه‌های اتمیک.
________________________________________
10.تغییرات در مستندات و تست‌ها
🔸 مستندات: به‌روزرسانی‌هایی در مستندات مربوط به ارسال پچ‌ها (SubmittingPatches) و بهبودهایی در مستندات مربوط به سیستم‌فایل‌ها.
🔸تست‌های خودکار (selftests): افزودن تست‌های جدید برای بررسی عملکرد صحیح برخی از ویژگی‌ها مانند qdisc_tree_reduce_backlog و pfifo_head_drop.
📌نویسنده: حسین سیلانی
📌منبع :  آکادمی کندوی دانش
https://learninghive.ir
Forwarded from laravel-news
پکیج Faker فارسی برای PHP

چند روز پیش برای پروژه خودم روی PHP 8.3 نیاز داشتم تا اطلاعات فیک فارسی و منطبق با کشور ایران رو داشته باشم و متاسفانه پکیجی براش پیدا نکردم (سازگار با نسخه های قبلی PHP بودند و چندسالی توسعه داده نشده بودند، faker اصلی هم توابع محدودی locale فارسی داشت.)

توابع کد ملی و اطلاعات فیک بانکی هم به زودی اضافه می کنم.

https://github.com/amyavari/persian-faker-php

#package #faker
Forwarded from Linuxor ?
‏با گذاشتنِ r.jina.ai‎ قبل از هر URL، محتوایِ اون صفحه رو به صورتِ مارک‌داون بهتون می‌ده. مثلاً می‌تونید آخرین نسخهٔ مستنداتِ محصول رو به چت‌بات بدید تا جوابِ به‌روز بده. اگر قبل از لینکِ یک PDF بگذارید متنش رو بهتون می‌ده. رویِ بعضی از PDFهای فارسی هم کار می‌کنه. مثلا :

r.jina.ai/example.com


@Linuxor ~ sir_kokabi
خیلی دلم نمیخواد چنل پر کنم از چیزای مربوط به هوش مصنوعی ولی خب این مورد واقعا جذاب بود
بعضی وقت ها میخوایم یه ریپازیتوری رو تبدیل به یه فرمتی کنیم که بتونیم بدیم به هوش مصنوعی تا بتونه کمکمون کنه در رابطه باهاش ولی خب دستی وارد کردن کد ها هم کار کثیفیه و هم زمان بره
اینجاست که چیزایی مثل گیت اینجست به داد آدم میرسن.

گییت اینجست هم سایت داره که میتونید لینک ریپازیتوری مورد نظرتون رو بدید بهش و براتون تبدیلش کنه به MarkDown که هوش مصنوعی راحت بفهمتش
هم اکستنشن کروم داره و هم میتونید توی آدرس ریپازیتوری گیت هابتون بجای hub از واژه ingest استفاده کنید و بهتون نمای کلی کار رو میده

هم اینکه میتونید با pip نصبش کنید و به صورت لوکال ازش استفاده کنید و ریپازیتوری های لوکالتون رو اینجست کنید.


پ.ن: الان فهمیدم که اکستنشن کرومش میاد و توی گیت هاب یه دکمه اضافه میکنه open in gitingest و شما رو میبره به سایت


لینک:

https://gitingest.com/

https://github.com/cyclotruc/gitingest/tree/main


#هوش_مصنوعی #ai

💙💙 @PhiloLearn 💙💙
جامعه اوبونتو داره هر روز ترسناکتر از دیروز میشه.


@SohrabContents
Forwarded from Code Module | کد ماژول (𔓙)
با Clerk احراز هویت رو به ساده ترین شکل ممکن هندل کن 🗽

بعضی اوقات فرایند توسعه سیستم ثبت‌نام، ورود، بازیابی رمز عبور و ... زمان بر و حوصله سر بر میشه، و این وسط ما تایم زیادی رو از دست میدیم. اما چاره چیه؟

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

نگاهی دقیق تر به ویژگی های Clerk

شخصی سازی Ui: ظاهر صفحات ورود و ثبت‌نام رو میتونید مطابق با برند و دیزاین پروژتون شخصی‌سازی کنید.

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

مدیریت آسون کاربران: داشبورد کاربری ساده و قدرتمند برای مدیریت کاربران و تنظیمات مربوط به اون‌ها.

صرفه‌جویی در زمان و هزینه: با استفاده از Clerk، دیگه نیازی به صرف زمان و منابع برای توسعه و نگهداری سیستم احراز هویت اختصاصی ندارید.


خلاصه که این ابزار خیلی کاربردی و به درد بخور هست. برای کسب اطلاعات بیشتر حتما به داکیومنتش مراجعه کنید 🦞

#clerk
@CodeModule
لیست رنج سنی افرادی که کمک‌های مالی بیمه‌ای دریافت می‌کنند.

این لیست توسط دپارتمان DOGE:
Department Of Government Efficiency

منتشر شده، و شما شاهد این موضوع هستید که نزدیک به ۲۰ میلیون بالای ۱۰۰ سال وجود داره و حتی
۱ نفر بالای ۲۴۰ سال
۱ نفر هم بالای ۳۶۰ سال

اهمیت داده و وجود دپارتمان‌های نظارتی (البته تو ایران ناظر هم زیر دسته ولی خب)
Forwarded from Code Module | کد ماژول (𔓙)
یه جوری راجب همه چیز پست زدیم که دیگه واقعا ایده ندارم.

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

نظرتون چیه یکم از دنیای جاوااسکریپت خارج بشیم و یه سری به باقی زبان و اکوسیستم ها بزنیم؟
Forwarded from Code Module | کد ماژول (𔓙)
@CodeModuleGap

دوستان تازه وارد، گروه اصلی چنل اینه.
روزانه کلی بحث، پرسش و پاسخ و ... داریم. انتقادی، صحبتی یا سوالی چیزی داشتید اینجا میتونید مطرح کنید 💙
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 براساس گفته های مدیرعامل ردیت، برخی از انجمن های محبوب ردیت پولی می شوند و زیرا این شرکت به‌دنبال منابع درآمدی جدید است. هافمن اعلام کرده است که امکان ایجاد انواع جدیدی از انجمن ‌ها فراهم می‌شود که می‌توانند شامل محتوای انحصاری، بخش‌های خصوصی و... باشند.

#خبر

@TheRaymondDev
Forwarded from Linuxor ?
توی وب 3 هرکس مالک اطلاعات خودشه و بجای سرور مرکزی هرکی همچیش دست خودشه؛

این همون localhost خودمونه دارن گولمون میزنن اینترنتو قطع کنن گول نخورید.


@Linuxor
Forwarded from Linuxor ?
اینکه از ته دلمون یه خرده ریزه با Rust داریم نشون می‌ده داریم پیر می‌شیم!


@Linuxor
Forwarded from Gopher Academy
درود به همه

اگر به دنبال یک توسعه‌دهنده ارشد فرانت‌اند  با تخصص در Vue.js برای همکاری با شرکت خود هستید،

خوشحال می‌شوم از طریق پیام با من در ارتباط باشید. 
#vuejs
#remote
#full_time

👇👇👇👇👇👇👇

@mrbardia72
Forwarded from یه شعر (Poem Bot)
حافظ | غزلیات | غزل شمارهٔ ۳۴۶

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

#حافظ | گنجور
📍@iipoem
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🚀 دومین همایش Embedded و IoT سیسوگ – فرصتی که نباید از دست بدهی!  

🔹 چرا این رویداد برای تو مهم است؟ 


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

با متخصص‌های این حوزه ارتباط برقرار کنی – شبکه‌سازی کن، دوستای جدید پیدا کن و شاید همکاری‌های جذابی شکل بدی!

نکات کلیدی و مهارت‌های کاربردی یاد بگیری – از افرادی که تجربه واقعی دارن، فوت و فن‌های مهم رو یاد بگیر. 

با چالش‌ها و فرصت‌های جدید آشنا بشی – دنیای تکنولوژی هر روز در حال تغییره، اینجا مسیر رشدت رو بهتر می‌بینی. 

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

🎯 این فقط یک همایش نیست؛ یک فرصت برای رشد و آینده شغلی بهتره!


🗓 زمان برگزاری: ۹ اسفند ۱۴۰۳ – ساعت ۱۳:۰۰ 

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


⚠️ ظرفیت محدود!⚠️
مهلت ثبت‌نام تمدید شد تا ۳۰ بهمن

🎟 کد تخفیف تخفیف ۷۵ درصدی ویژه : 9jz7t38x 

🌐لینک ثبت‌نام

فرصت رو از دست نده، همین حالا ثبت‌نام کن!
جمع‌آوری زباله (Garbage Collection) در جاوا یعنی خود زبان حافظه‌ای که دیگه استفاده نمی‌شه رو پاک می‌کنه. در C یا C++ باید خودت حافظه رو آزاد کنی، ولی در جاوا Garbage Collector (GC) این کار رو به طور اتوماتیک انجام می‌ده.

@DevTwitter | <Misagh Momeni Bashusqeh/>