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
نیاز به کمکتون دارم

اگر اپ موبایل می‌نویسید و سینیور محسوب می‌شید (ترجیحا هر چیزی غیر از react native)، یک راهنمایی در مورد حوزه‌ی کاریتون نیاز دارم.
زبان‌هایی که کار می‌کنید، چالش‌ها، پیش‌نیاز‌ها برای شروع و ...

* احتمالا مجموعه‌ای از مواردی که دوستان میگن رو توی چنل منتشر می‌کنیم

@dvtwi
Forwarded from جادی | Jadi
نابغه باید بمیرد - aaron swartz.pdf
2.2 MB
نگاهی به زندگی آرون شواتز و معرفی کتاب «نابغه باید بمیرد»

آرون شوارتز، آرون سوارتزِ سوارتس یا ارون سورتز یا هر جور دیگه که تلفظش کنین، نابغه‌ای در دنیای کامپیوتر بود. کسی که چیزهایی مثل آر اس اس، ردیت و مارک‌داون بخشی از کارهاش هستن و هکتیویسمش نمونه ای برای هرکسی که می فهمه خوبه سواد فنی‌اش فایده اجتماعی هم داشته باشه.

در این ویدئوی خیلی کوتاه با توجه به خبری که اخیرا در مورد شرکت متا / فیسبوک بوده نگاهی به زندگیش داریم و دلیل خودکشی اش و معرفی کتاب کوتاه «نابغه باید بمیرد» که نسترن خسروی از نوشته‌هاش جمع کرده.

https://youtu.be/qlWZmJzXBvY

#کتاب #ویدئو
This media is not supported in your browser
VIEW IN TELEGRAM
اگر بخش Layouts در zellij به Tmux اضافه میشود خوب بود

البته پلاگین هست ولی به خوبی zellij نیست

میتوانید انواع حالت ها کاری را از قبل تعریف کنید و با پسوند .kdl ذخیره کنید و هر زمان نیاز داشتید لود کنید
#Linux #لینوکس
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۵۵

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

#مولانا | گنجور
📍@iipoem
یه اشتباهی که خیلی ها می کنند اینه که فکر می کنند که Typenoscript یه زبان در مقابل جاوا اسکریپته

مثلا پایتون یه زبانه و جاوا یه زبان دیگه هست و شما تصمیم می‌گیری که کدت رو به زبان پایتون یا جاوا بزنی

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

بلکه تایپ اسکریپت همراه جاوا اسکریپته تا تایپ ها استاتیک باشند و خطا های زمان اجرا به زمان کامپایل بیاد و همینطور دولوپر ها تجربه بهتری هنگام کد زدن داشته باشند و بعد از کامپایل(ترنسپایل) کل کد تایپ اسکریپت به جاوا اسکریپت تبدیل میشه.

یعنی این دو تا زبان همراه هم خواهند بود.
(تا اینکه روزی browser ها به صورت native از تایپ اسکریپت پشتیبانی کنند)

البته تو بک اند deno و bun به صورت native می تونن typenoscript رو اجرا کنن که این خیلی خبر خوبیه

@DevTwitter | <Pouria Jahandideh/>
Media is too big
VIEW IN TELEGRAM
یک پروژه دیدم امروز روی گیتهاب که یک AI Agent بود که از طریق Whatsapp میتونستی باهاش صحبت کنید. فقط شلوغش کرده بود. فکر کردم یک پروژه مشابه درست کنم با تلگرام. این ویدیوی دمو هست (صدا هم داره قسمتی که ایجنت صحبت میکنه).
فعلا میتونید باهاش چت کنید، عکس generate میکنه و همچین متن به صدا. برای متن به صدا از Kodoro استفاده کردم و کاملا هم لوکال هست . برای عکس هم میشه از Dalle و هم از یک کمپانی/api دیگه به اسم Novita استفاده کنید.
اسم این agent را گذاشتم Nova. بیشتر از ۲ ساعت وقت نذاشتم و هنوز خیلی کار داره تا یک agent کامل بشه. ولی هسته کد آماده است. حتا readme هم کامل نیست. ولی میتونید متوجه بشید و استفاده کنید. pull request بدید اگه دوست داشتید.
Github: https://github.com/mallahyari/nova-assistant

@DevTwitter | <Mehdi Allahyari/>
Forwarded from Yasha
گروه تلگرام تهلاگ، اگه سوال لینوکسی دارید:
@TehlugGp
#موقت
بنظرم قبل از توضیح راجب انواع نوع داده توی Rust لازمه راجب Heap/Stack صحبت کنم 🧐
یک مقداری سخت تر میشه ولی اینطوری فکر می‌کنم خروجی بهتری خواهد داشت.
Forwarded from Yasha
توی این کنفرانس راب پایک، یکی از سازنده‌های اصلی زبان گولنگ میاد درباره ساده بودن گولنگ صحبت می‌کنه و با بقیه زبانا مقایسه‌اش می‌کنه. با اینکه برای ۹ سال پیشه ولی حرفاش خیلی جالبه، پیشنهاد می‌کنم که حتی اگه با گولنگ سروکار ندارید ۲۰ دقیقه بهش وقت بدید و ببینیدش:

https://youtube.com/watch?v=rFejpH_tAHM
بچه ها اگه کسی علاقه داره به ترجمه داکیومنت فارسی Vite کمک کنه اینجا درحال توسعه هست و قبل از انتقال به org اصلی نیاز به بررسی داره.

- https://github.com/mostafa-nematpour/vite-docs-fa
- https://vite.liara.run

@DevTwitter | <پویا/>
Forwarded from DevAcademy
برنامه نویس ارشد گو لنگ Golang
دورکاری
حقوق: از رنج ۱۲۰۰ تا ۱۷۰۰ دلار توافقی (سطح زبان انگلیسی توی حقوق تاثیر بسیار زیادی داره)
سطح زبان: از متوسط به بالا

برای کسب اطلاعات بیشتر به ایشون پیام بدید:
@R_dhghani


💻@DevAcaademy
💬
@DevAcademyGroup
Forwarded from Python Hints
این از بحث گروه هست :
خلاصه سوال این بود که؛ چطور ورژن پایتون رو انتخاب کنیم (ی صحبت هم این بود که ۴ تا ورژن قبل از آخرین نسخه برای اینکه پایدارتر هست) :

۱- اولین مورد End of Life هست؛ ۴ نسخه قبل از آخرین Stable Release اطلا و ابدا منطقی نیست و کاملا هم اشتباه هست:
Branch  Schedule  End of life
3.13 PEP 719 2029-10
3.12 PEP 693 2028-10
3.11 PEP 664 2027-10
3.10 PEP 619 2026-10

حتی در حال حاضر 3.9 حدود ۸ ماه دیگه و 3.8 حدود ۴ ماه دیگه پشتیبانی ازشون تموم میشه یعنی اگر باگ - مورد امنیتی یا چیزی بخوره خودتونید و خودتون.
اگر زمان توسعه یک پروژه رو ۶ ماه درنظر بگیریم حتی 3.10 هم دیگه ریسک هست (درحال حاضر پروژه‌هام از ۳ ماه قبل روی 3.12 استارت خوردن)

۲- توی مورد قبلی هم گفتم حواستون به Stable Release باشه؛ اگر یک نسخه‌ای روی بخش Stable منتشر شده باید آماده باشید بهش مهاجرت کنید؛ البته چون پشتیبانی توی پایتون ۴-۵ ساله هست؛ می‌تونید کمی صبر کنید ۱ سال و بعد مهاجرت کنید روی نسخه جدید (اینم بخاطر پکیج‌ها می‌گم)

۳- مهمترین نکته؛ پکیج‌هایی هستند که استفاده می‌کنید؛ هرکدوم یک compatibility list دارند مثلا برای Django 4.2.19 محدودیت روی ورژن بالاتر نذاشته :
Requires: Python >=3.8

ولی بعضی پکیج‌ها هستند که دارند برای مثال اگر اینطور باشه یعنی پایتون 3.13 پشتیبانی نمی‌شه هنوز.
Requires: Python 3.8, 3.9, 3.10, 3.11, 3.12


یا خود Django 5.1.6:
Requires: Python >=3.10


۴- به تیم هم بستگی داره؛ اینکه بتونه از تغییراتی که توی ورژن‌های جدیدتر اومده استفاده کنه و باهاشون آشنا باشه.

این موارد حداقل چیزهایی هست که قبل از انتخاب ورژن پایتون پروژه باید درنظر بگیرید.
Forwarded from Python Hints
از بحث گروه :
سورس کد رو چطوری بخونیم ؟

سورس کد خوندن باید از نقطه شروع باشه؛ پروژه‌ای که میخواید سورس کدش رو بخونید باید مطمئن بشید استانداردها رو رعایت کرده حداقل توی شروع پیشنهاد می‌کنم به تعداد fork, star, ... پروژه نگاه کنید و قبل از خوندنش هم بهتره کمی با استانداردها آشنا باشید.

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

مثلا برای Django چندتا مورد داریم؛ Baserow جزو مواردی هست که خوب نوشته شده و یک بیزینس فعال هم هست که open source هم کردند.

برای خوندن هم دو حالت داره :
۱- دنبال یک مدل استانداردسازی برای یک چیز خاص هستید و فقط همون بحث رو میخونید.
مثلا من اگر بخوام ببینم چطوری swagger این پروژه نوشته شده اول وارد requirements اش می‌شم و میگردم ببینم از کدوم پکیج استفاده کرده بعد میرم روی Endpointها یا .... ببینم این موارد رو با چه استانداردی نوشته و کجاها گذاشته.

۲- هدف خاصی ندارم جز یادگیری استاندارد‌ها؛ در اینصورت یک نقطه شروع رو برای خودم پیدا می‌کنم و از اون بعنوان سر نخ استفاده می‌کنم.
شخصا Integration test ها اولین چیزی هست که میرم سراغش؛ اگر نبود logic هر بخش رو از داکیومنت می‌خونم و بخش بخش میرم توی سورس کدها و ...

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

درگاه pay.ir هم تعطیل شد.

برای همین توی پکیچ مولتی پی تغییرات حذف درگاه ها اعمال کردیم.

درخواست حذف درگاه :

- Pay.ir
- Walleta
- idpay

آی دی پی فعالیتش نامعلومه که درخواست حذف دادیم.

https://github.com/shetabit/multipay/pull/303

#لاراول

@TheRaymondDev
Forwarded from Gopher Academy
🔵 عنوان مقاله
sturdyc: Caching Library with Advanced Concurrency Features

🟢 خلاصه مقاله:
مقاله "A sturdy gopher shielding data sources from rapidly incoming requests" به بررسی یک راهکار مؤثر برای جلوگیری از بارگذاری بیش از حد و حملات اصطلاحاً cache stampede در سیستم‌های با حجم ترافیک بالا می‌پردازد. رویکرد مورد بحث در این مقاله، استفاده از خواندن‌های غیربلاک‌کننده و نوشتن‌های شارد شده است که کمینه کردن تداخل قفل‌ها را هدف قرار داده و در نتیجه، افزایش کارایی و پایداری سیستم هنگام مواجهه با درخواست‌های متعدد و سریع را به دنبال دارد. با استفاده از این روش، سیستم‌ها می‌توانند داده‌ها را مدیریت و در برابر بارهای ناگهانی وزیاد محافظت نمایند. این روش برای زیرساخت‌هایی که نیازمند حجم بالایی از تراکنش‌های داده هستند، ایده‌آل است.

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


👑 @gopher_academy
روش درست برنامه نویسی Node.js

۱. برنامه نویسی رویداد محور و asynchronous
در برنامه نویسی node خیلی مهمه که به event loop توجه داشته باشیم و از callback ها و promise ها و async/await موثر استفاده کنیم.

نیازه که از callback hell دوری کنیم و جریان async رو مدیریت کنیم.

۲. استفاده از stream ها و پردازش داده real time
یکی از امکانات استفاده از stream ها هست که کمک داده ها را به صورت بهینه پردازش کنیم و مشکلات حافظه نداشته باشیم.

برای کار کردن با dataset های بزرگ استفاده از stream api خیلی کمک کننده است.

۳. مایکروسرویس ها و معماری Modular
به عنوان برنامه نویس بک اند خیلی خوبه که با modular monolith پروژمون رو شروع کنیم و کم کم تبدیل به microservice های مختلف بکنیم.

برای اینکار نیازه که به معماری های مایکروسرویس ها و همینطور الگو های data در آنها تسلط داشته باشیم.

۴. کار با دیتابیس ها
خیلی مهمه که بدونیم کجا از query استفاده کنیم،‌ کجا query builder و کجا ORM
چطور data model رو برای query هایی که داریم بهینه کنیم و همینطور مطمئن بشیم که در query های زمانبر سیستم از index ها استفاده می‌شه.

مهمه که روش های مختلف کار با دیتابیس به صورت async رو بدونیم

۵. برنامه نویسی شبکه و TCP/UDP
برنامه نویسی فقط REST و WEB نیست و گاهی برای کاربرد های خاص از سوکت های خام TCP و UDP استفاده می کنیم تا پرفورمنس بالاتری داشته باشیم.

همینطور مهمه که بتونیم از WebSocket ها یا grpc یا http 2 برای پیاده سازی real time استفاده کنیم.

۶. تست نویسی و دیباگ کردن
شناخت ابزار تست نویسی یه بحثه،‌ اینکه چه تست کیس هایی بنویسیم یه مهارته که طی زمان رشد پیدا می کنه.

علاوه بر این مهمه که بتونیم کد node رو دیباگ کنیم برای اینکار میتونیم از node inspector استفاده کنیم.

۷. دیپلوی و scale کردن
در نهایت نیازه که بتونیم کد های node رو به صورت scalable دیپلوی کنیم.

برای scalable بودن می توانیم از استراتژی هایی مانند clustering و load balancing استفاده کنیم.

۸. امنیت
همینطور مهمه که در پیاده سازی authentication از ایجاد آسیب پذیری ها امنیتی جلوگیری کنیم.

مهمه که حملات رایج مانند XSS و CSRF و نحوه جلوگیری را در عمل آنها را بشناسیم.

@DevTwitter | <Pouria Jahandideh/>
Forwarded from Md Daily (Mahan)
دانشگاه شاهکاره

دارم با استاد بحث میکنم که BSD هم سیستم عامله و قبول نمیکنه میگه نه نرم افزار کاربردی برپایه ی لینوکسه

بعد خودش لینوکس رو چطوری نوشته؟

Linox

🆔 @MdDaily
Forwarded from Geek Alerts
#کوته_نیوز

شبکه پرداخت pay.ir تعطیل شد. مدیرعاملش گفته دهنمونو سرویس کردن سر اینترنت و بانک مرکزی هم سرورهامونو برد که روش سالاد درست کنه.

@DevTwitter
🔥1
Forwarded from Linuxor ?
اگه می‌خوای یه CTO بشی یا بدونی CTO دقیقاً چیکار می‌کنه، این ریپو رو از دست نده، CTO یا همون مدیر ارشد فناوری، مسئول تصمیمات فنی و معماری یه استارتاپه. از مدیریت تیم و استخدام گرفته تا انتخاب تکنولوژی‌های مناسب.

این ریپو از پوزیشن CTO تا روند استخدام و معماری و تکنولوژي و کتاب هایی ک برای CTO مفیده رو ریز به ریز توی یه جا جمع کرده :

https://github.com/kuchin/awesome-cto


@Linuxor
بیا با یه ترفند خفن توی پی اچ پی آشنات کنم؟

خیلی جاها پیش میاد که میخوایم اعضای یک آرایه رو داخل متغیر قرار بدیم. توی تصویر زیر، به دو روش این کار انجام شده و نتیجه یکسان هست.
البته آرایه نباید indexed باشه.

@DevTwitter | <Pouya Farshidnia/>