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 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/>
Forwarded from CleverDevs (Mammad)
🔥 با تحلیل داده یک تخصص پردرآمد یاد بگیر!

بوت‌کمپ دیتا آنالیز، 6 ماهه ازت یک متخصص می‌سازه.

🖥 آموزش پروژه محور
📠 معرفی برای استخدام


آموزش و استخدامت، هر دو با ماست👇👇

https://dnkr.ir/6NAXa
https://dnkr.ir/6NAXa
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۱۲۰۳

تا میرود آن نگار ما میرانیم
پیمانه چو پر شود فرو گردانیم
چون بگذرد این سر که درین آب و گلست
در صبح وصال دولتش خندانیم

#مولانا | گنجور
📍@iipoem
اگه تا حالا API زدی، حتماً به این فکر کردی که GraphQL بهتره یا REST؟ هرکدوم یه سری مزایا و معایب دارن،

پس بیاید یه مقایسه ساده کنیم :

RESTful API :

- هر چیزی یه Endpoint داره، مثلاً /users یا /products.

- اگه اطلاعات مختلف بخوای، باید چند تا درخواست بزنی. (گاهی داده اضافی می‌گیری، گاهی کمتر از چیزی که لازم داری!)

- کشینگش راحت‌تره، چون روی HTTP سوار شده.

GraphQL :

- فقط یه Endpoint داری، ولی می‌تونی دقیقاً همون داده‌ای که لازم داری رو درخواست بدی.

- یه درخواست، چندین جواب! یعنی بهینه‌تر، مخصوصاً برای اپ‌های موبایل.

- کشینگش سخت‌تره، ولی Apollo Client کمک می‌کنه.

- برای کشینگش و ارور های خاص نیاز به تنظیمات داره

پس کدومو انتخاب کنیم ؟

+ اگه API ساده می‌خوای که سریع بالا بیاد و کشینگ برات مهمه → REST!

+ اگه یه سرویس پیچیده داری که قراره چندین نوع کلاینت (موبایل، وب و ...) بهش وصل شن → GraphQL عالیه!

+ گاهی ترکیبشون هم جواب می‌ده! REST برای بخش‌های عمومی، GraphQL برای بخش‌های خاص.

در نهایت، انتخاب بین GraphQL و REST به نیازهای پروژه بستگی داره! مهم اینه که بدونیم هر کدوم کجا بهتر عمل می‌کنن.

@DevTwitter | <Mohsen Abbasi/>
خب سلام دوستان رسیدیم به ساختمان داده ها؛ ساختار هایی که برای مدیریت داده ها خیلی کاربردی ان💡

همونطور که میدونید، داخل برنامه هامون نیاز داریم داده ها را به صورتی ذخیره و مدیریت کنیم که پردازش سریعتر و مصرف حافظه بهینه تر بشه.
به طور مثال میخوایم کاربران یک اپلیکیشن را مدیریت کنیم یا مسیرهای کوتاه تر بین دو شهر را در نقشه پیدا کنیم!
🔸اینجا ساختار مناسب خیلی میتونه مفید باشه!
🔍 ساختمان داده چه کاربردی داره؟
🔸کاهش زمان عملیات ها (مثل جستجو، افزودن یا حذف داده)
🔸بهینه سازی مصرف حافظه (ذخیره هوشمندانه داده ها بدون اتلاف فضا)

🧱 چند نوع ساختمان داده داریم؟
به طور کلی به دو دسته تقسیم میشه:

1️⃣ ساختارهای اولیه (Primitive Data Types)
🔸پایه ای ترین نوع ذخیره داده ها مثل int ، float ، char و boolean
این تایپ ها تشکیل دهنده پایه ساختمان داده های پیچیده تر هستن!


2️⃣ ساختارهای غیراولیه (Non-Primitive)
🔸برای مدیریت مجموعه های بزرگ و پیچیده داده ها استفاده میشن و عمدتا به دو گروه تقسیم میشن:

1️⃣ ساختارهای خطی (Linear):
🔸داده ها به صورت ترتیبی چیده میشن مثل: آرایه (Array)، پشته (Stack)، صف (Queue)، لیست پیوندی (Linked List).
و از کاربرد هاشون میشه به مدیریت صف پیامها، ذخیره اطلاعات کاربران به ترتیب ثبتنام اشاره کرد.


2️⃣ ساختارهای غیرخطی (Non-Linear):
🔸داده ها به صورت سلسله مراتبی یا شبکه ای ذخیره میشن و از نمونه هاشون میشه به درخت (Tree)، گراف (Graph)، جدول هش (Hash Table) اشاره کرد
و نمونه کاربرد هاشون هم پیدا کردن کوتاه ترین مسیر در نقشه (با گراف)، جستجوی سریع در دیکشنری (با درخت دودویی) هست.


در پستهای آینده، هر یک از این ساختارها رو
ببیشتر بررسی میکنیم 🚀
اگر سوالی یا پیشنهادی دارید خوشحال میشم کامنت بگذارید! 💬

#️⃣ #data_structure #programming



🥷 CHANNEL | GROUP
Forwarded from Gopher Academy
👇توصیه‌های کلی و کوتاه و مختصر برای زبان برنامه‌نویسی Go که یادگیری خالی از لطف نیست

https://go-proverbs.github.io


https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
بوتکمپ ساخت اپ اندروید با کاتلین یا قیمت 90$ که تا پس فردا رایگانه
از یودمی

Android App Development Bootcamp with Kotlin - Masterclass


https://www.udemy.com/course/android-app-development-bootcamp-with-kotlin-masterclass/?source=onlinecouponcourses.com&couponCode=FREELEARNKOTLIN

@DevTwitter
دوره هایی که تا سه روز آینده رایگان هستن از سایت دانشجویار:

- آموزش جنگو از صفر
- پایتون به زبان ساده
- نرم افزار حسابداری و انبار داری با سی شارپ
- اپلیکیشن سایت خبری اندروید با جاوا
- سایت خرید بلیط با ASP. NET
- معماری MVP در کاتلین
- ساخت تلگرام تحت ویندوز با سی شارپ
- افزایش عملکرد ویژه برنامه نویس ها
- متریال دیزاین در زامارین
- سیستم قرعه کشی و کار با پیامک در PHP
- آموزش EntityFrameWork در سی شارپ

https://www.daneshjooyar.com/landing/nazri/

@DevTwitter

*فوروارد کنید تو گروه هاتون
‏آگهیای استخدامو اصلا درک نمیکنم
یعنی چی
تسلط کامل به جاوا،کاتلین،پایتون و...
خود گاسلینگم جرات نمیکنه بگه من تسلط کامل رو جاوا دارم
بعد شرکتهای در پیت ایرانی با حقوق سه تومن به شخصی با تسلط کامل به جاوا نیازمندن

@DevTwitter | <برنادوت/>
‏کاتلین یه جوری شده که اگه بخوای تو کامیونیتیش کانتریبیوت کنی احساس میکنی جزو یک گنگ روسی شدی :))

@DevTwitter | <Amin/>
#Kotlin

‏می دونستید اسم زبان برنامه نویسی کاتلین اول قرار بوده جت باشه که معلوم شه محصول Jetbrains ، ولی بعد از ایده Ceylon که مثل جاوا نام یک جزیره هستند تقلید شده و اسم کاتلین که نام یک جزیره هست انتخاب شده.

@DevTwitter | <Saeed Zarinfam/>
‏از این به بعد دیگه پلاگین کاتلین برای intellj درست نمیشه و قراره که با هر نسخه استیبل intellj کاتلین هم تغییر کنه :// اینجا پاک شدن یک میلیون خط رو در این رابطه می‌بینید:

https://github.com/JetBrains/kotlin/commit/39fa2b0baf89b246348b1e9c33cfebfc3068c014

@DevTwitter | <Mohammad Moein Abdi/>