Dev Perfects
42 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Linuxor ?
هوش مصنوعی هام دارن احساسی میشن 😂😂


🐧 @Linuxor
من اینجا همه‌ی آن چیز که برای deep learning لازمه رو یک رودمپ کردم؛ از بهترین دوره‌های دنیا که اتفاقاً همه هم رایگان هستند.

یکی از اعضای کانال، اشاره داشتند که راجب
Image Processing
اما چیزی نگفتم و کاملاً هم حق دارند.

اما قبلش :
توی ۱۰ سالی که Image کار کردم هیچ موقع یک کتاب یا یک دوره مخصوص پردازش تصویر که شامل همه چیز باشه ندیدم و و احتمال ۹۹٪ هم نخواهم دید.

Image Processing
فقط چندتا تکنیک نرمال نیست که با یک دوره در بیاد، نیاز به خلاقیت داره برای همین هم من منبع خوبی توش پیدا نکردم.
( همین بحث برای پردازش متن و سیگنال هم هست )

اما توی این همه سال همیشه یک دوره رو به نیروهای جونیور خودم معرفی می‌کردم (اینم رایگان) که حداقل ببینند هر تکنیک چه تاثیری روی تصویر خواهد داشت.

Youtube Channel

حتماً دوره‌های این کانال رو ببینید.

در نهایت آیا می‌دونید ۹۰٪ پست‌ها بدون ذکر منبع توی توییتر و لینکدین بصورت لغت به لغت و به‌نام صاحب اکانت پخش می‌شه ؟

نکته‌ای ندارم فقط خواستم ببینم می‌دونید یا خیر؟
۹۰٪ وقتا توی لینکدین دارم تجربیات خودم رو زیر یک اکانت دیگه لایک می‌کنم.
جوابی به بیشترین سوال، اینو باید توی @pyhints می‌زدم ولی حالا که اینجا هستم بذارید بنویسم و اونجا فروارد کنم.

وقتی وارد یک کانال یوتیوب می‌شید (ویدئو مفید با محتوای مناسب)
لایک - کامنت - سابسکرایب رو فراموش نکنید.

دانلود کردن ویدیو و بستن ویدئو توی دقیقه ۵ (حتی اگر لایک کنید) باعث میشه یوتیوب فکر کنه اون ویدیو جذاب یا مفید نبوده و کمتر ریکامند بده اون رو.
طبیعی هست که بخواید دانلود کنید ویدئو‌هارو هزینه و سرعت اینترنت و ...
ولی حداقل یکبار با کیفیت پایین هم که شده ویدئو رو ببینید.

حالا چرا این رو می‌گم :
۱- انگیزه دادن
۲- حمایت کردن

توی این مدتی که لایوهای fluent python کتابی راجب مباحث advance تر در پایتون رو آپلود می‌کردم راجب قوانین یوتیوب بسیار یاد گرفتم.

از بسیاری از دوستان Senior هم خواستم که مباحث دیگری مثل
Linux, Ansible, Docker, K8s, Nginx, Backend, Rust, Security, ...

رو باهم کار کنیم (مباحثی که خودم راجبشون به اندازه کار production سواد دارم) اما تقریباً خروجی همه صحبت‌ها یک چیز بود.

جامعه ایران نگاه نمی‌کنه، دانلود می‌زنه که زودتر صفحه رو ببنده


برای همین بچه‌هایی که تدریس شغل آخرشون هست رو نمی‌شه مجاب کرد به آموزش دادن و خدا می‌دونه که بهترین آموزش‌ها دست این افراد هست (بخاطر تجربه بالایی که در زمینه پروداکشن دارند)

خلاصه که سعی کنید از بچه‌های یوتیوبر حمایت کنید (ترافیک رو خرج اینستا، یوتیوبر‌های دلقک نکنید درست می‌شه‌ها) که منم بتونم اینجا کانال‌ها و آموزش‌های فارسی بیشتری رو معرفی کنم.

بچه‌های سنیور، نیازی به درآمد یوتیوب فارسی ندارند چون جامعه هدف فارسی انقدر بزرگ نیست
ولی حمایت شما بهشون انگیزه میده برای ادامه دادن.


شخصاً بسیار درگیر مشکلات هستم، توی اولین فرصت لایو‌های Fluent Python رو ادامه خواهم داد (شاید ۳ بار در هفته)
Forwarded from Linuxor ?
هوش مصنوعی بخاطر زرنگ بودن برنامه نویس ها تو کد زدن انقدر پیشرفت کرده

هوش مصنوعی بخاطر تنبل بودن برنامه نویس ها تو کد زدن انقدر پیشرفت کرده

🐧 @Linuxor
Forwarded from  (Amir Hossein "Amiria" Maher)
en.wikipedia.org/wiki/Lottie_(file_format)
airbnb.io/lottie

قالب تصاویر متحرّک برداری Lottie، یه قالب برای ذخیره و پردازش تصاویر متحرّک Adobe After Effects هست که می‌شه باهاش، پویانمایی‌ها رو به راحتی تو وب و جاهای مختلف دیگه، پیاده و اجرا کرد.
این قالب بر پایهٔ JSON هست و با کتابخونهٔ خودش، کارهای نمایش رو انجام می‌ده.

#frontend #FLOSS #web
@amiria703_channel
Forwarded from Iman (Mrcodee.js)
پروژه های حرفه ای برای برنامه‌نویسان آینده!

🔹 آموزش HTML, CSS, JS با پروژه‌های واقعی
🔹 پروژه‌های خفن React و Tailwind
🎁 همراه با سورس کد رایگان
📌 یه فرصت طلایی برای یادگیری حرفه‌ای!

همین الان بیا تو کانال:👇👇👇👇
https://t.iss.one/htmlcss1385
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
تبادل داریم ————————————————————————————
حتما از گرداری توی وبسایتتون استفاده کنید ☺️🤌

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

پ.ن : مشاهده از یوتوب رو‌ هم اضافه کردیم برای رفقایی که از یوتوب استفاده میکنن 🚀


#️⃣ #NEWPost #css #website‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
Forwarded from Source Byte
Pure Malware Development Resource Collections

https://github.com/malsearchs/Pure-Malware-Development.git
Forwarded from Sadra Codes
استکی که ابتدای راه انتخاب می‌کنید خیلی خیلی مهمه و باید حسابی با تحقیق و برنامه‌ریزی انتخابش کنید. آینده رو بسنجید. هدف خودتون رو بسنجید. صرف علاقه یا بدلیل سهولت یا محبوبیت، یک زبان رو انتخاب نکنید.

اینکه میگن یه زبان/فریم‌ورک/ابزار رو که انتخاب کردید، تمام تمرکز رو بذارید روش و حسابی توش دیپ شید کاملا اشتباهه بنظرم.

شاید دیپ شدن در اون استک خاص خوب و مفید باشه، ولی به هیچ وجه تمام تمرکز رو روی اون نذارید. دقیقا مثل همون قضیه تخم مرغ و سبده. همیشه توی ساید داستان، یکی دوتا ابزار یا فریم ورک دیگه که زیاد ارتباطی به استک اصلیتون ندارن رو هم کار کنید و گاها جدی دنبالش کنید. بک اند پایتون کار می‌کنید؟ هرازگاهی یه دوتا توتوریال از ریکت یا نکست ببینید.

اینطوری اتفاقی که میوفته، هم دید بهتری واسه ادامه مسیر دارین، هم اگه استک اولی زیاد چنگی به دل نزد طی گذر زمان و شما رو به هدفتون نزدیک نکرد، حداقلش اینه که می‌تونید از ترکیب چند استکی که کار کردید خروجی بهتر و به نتیجه قابل قبولی برسید.

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

گاها یهو دیدین که همین سیستم، خودش تونست تبدیل به یه ایده شه و روی ریپازیتوری پایتون (یا بلعکس) مرج شه حتی. اگه دقت کرده باشین خیلی از دولوپرهای پایتون اصلا استک اصلیشون پایتون نیس. مثلا طرف راست کد می‌زنه، میگه فلان چیزو اینجا داریم، شما هم اضافه کنید. (این سیستم واسه فیچر هایی که جدید رلیز میشن روی یه زبان خیلی جواب میده)
Forwarded from Meitix
docker-commands-cheat-sheet-pdf.pdf
63.6 KB
چیت شیت کامند های داکر
Forwarded from Gopher Academy
🔵 عنوان مقاله
Why Go Slices Still Surprise Me

🟢 خلاصه مقاله:
مقاله به بررسی مفهوم "اسلایس‌ها" در برنامه‌نویسی می‌پردازد، که اغلب به دو دلیل منبع اشتباهات و سردرگمی می‌شود. اولین کاربرد اسلایس به عنوان یک "فت پوینتر" (فضایی که هم شامل اشاره‌گر و هم اندازه است) است که برای دسترسی به داده‌ها و نگهداری اطلاعات درباره آنها استفاده می‌شود. دومین کاربرد، اسلایس به عنوان یک "آرایه پویا" است که امکان تغییر اندازه و مدیریت داده‌ها در حافظه را فراهم می‌کند. مشکل اصلی زمانی رخ می‌دهد که این دو کاربرد با یکدیگر ادغام شده و به اشتباه گرفته می‌شود، که منجر به پیچیدگی‌ها و خطاهای برنامه‌نویسی می‌شود. مقاله به اهمیت تفکیک این دو کاربرد و درک صحیح آنها تأکید دارد تا بتوان از بروز این ابهامات و خطاها پیشگیری کرد.

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


👑 @gopher_academy
Forwarded from Future Pulse Persian
🟢 اگر مقاله، سورس کد، یا محتوای مفیدی در حوزه‌های زیر دارید، خوشحال می‌شویم که برای ما ارسال کنید:


🔴 Linux
🔴 DevOps
🔴 Blockchain
🔴 Database
🔴 software

💡 محتوای شما می‌تواند در کانال‌های مرتبط (با عنوان ذکر منبع خودتون)منتشر شود تا افراد بیشتری از آن بهره‌مند شوند.

🕊 ادمین:
@mrbardia72
یه فریمورک کوچیک نوشته بودم که کاملا بدون کامپوزر کار کنه

بعد از مدتها اومدم روش یکم کار کردم و بهش cli و مایگریشن اضافه کردم
خیلی چیز باحالی شد
اگر php کار میکنید حتما یه نگاهی بهش بندازید
سعی میکنم فیچر های بیشتری بهش اضافه کنم هی
https://github.com/miladniroee/php-mvc-simple-framework

@DevTwitter | <Ladoya/>
Forwarded from Geek Alerts
Forwarded from Geek Alerts
کمپانی برزیلی Gradiente میگه برند آیفون برای ماست و این عکس رو منتشر کردن که سال ۲۰۰۰ با نام آیفون گوشی ساختن.
سال ۲۰۱۳ تلاش کردن تا جلوی واردات آیفون به برزیل رو بگیرن ولی تو دعوای حقوقی شکست خوردن، حالا دوباره پرونده‌رو به جریان انداختن.
البته احتمالا شکست میخوره یا اینکه با دریافت مبلغی از شکایت خودش کنار میکشه.
9to5mac
@geekalerts
Forwarded from Go Casts 🚀
یه مقاله جذاب در مورد نوشتن کد سریع از Shopify
درسته که درباره Ruby on Rails نوشته شده اما اکثر نکاتش به خیلی از زبان و فریمورک های دیگه از جمله گولنگ هم قابل تعمیم دادن هست.

دقت کنید که Shopify در یک مقیاس خیلی بزرگ کار میکنه و نکاتش مهمه.

کدی که با Ruby on Rails نوشته میشه معروفه به کند بودن

اما در Shopify در مقیاس میلیون درخواست در دقیقه داره از Ruby on Rails استفاده میشه

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

اولین نکته ش در مورد ORM یا همون ActiveRecord هست که باید درک کنید توابع مختلف orm چه رفتاری با دیتابیس دارند.

تو گولنگ همین مشکل با gorm وجود داره که به شدت میتونه لود زیادی روی دیتابیس بندازه بدون اینکه برنامه نویس متوجه این قضیه بشه.

دومین نکته ش باز در مورد دیتابیس هست که میگه از select * پرهیز کنید و فقط ستون هایی که لازم دارید رو انتخاب کنید.


نکته دیگه پرهیز از کوئری زدن به ستون هایی هست که index ندارن و در مقیاس بالا باعث میشه که full scan رخ بده
البته ایندکس اضافه کردن باعث lock شدن دیتابیس ممکنه بشه برای writeها و باید مواظب مایگریشن ایندکس باشیم

نکته بعدی کش کردن همه چیز هست…
Cache All The Things
If you can’t make something faster, a good alternative is to cache it. Things like complex view compilation and external API calls benefit greatly from caching. Especially if the resultant data doesn’t change often.

یه سری چیزارو میشه throttle کرد
Throttle Bottlenecks
But what about operations you can’t cache? Things like delivering an email, sending a webhook, or even logging in can be abused by users of an application. Essentially, any expensive operation that can’t be cached should be throttled.

برای یه سری پروسه ها هم میشه job queue و مکانیزم های async در نظر گرفت
Do It Later (In a Job)
Jobs allow us to defer work to another process through queueing systems often backed by Redis. Exporting a dataset, activating a subscription, or processing a payment are all great examples of job-worthy work

پرهیز از متاپروگرمینگ
Use Metaprogramming Sparingly
Changing a program’s structure at runtime is a powerful feature. In a highly dynamic language like Ruby, there are significant performance costs associated to metaprogramming.

دونستن تفاوت O(1) و O(n) برای مقیاس پذیر بودن خیلی مهمه
Know the difference between O(n) and O(1)
What O(n) and O(1) mean is that there are two kinds of operations. O(n) is an operation that scales in time with size, and O(1) is one that is constant in time regardless of size.

مثلا جای آرایه بهتره از hash استفاده بشه چون lookup کردن تو hash فارغ از اندازه O(1) هست


Allocate Less
استفاده و مدیریت Garbage Collector
If used improperly, dangerous methods can lead to unwanted side effects in your code. A best practice to follow is to avoid mutating global state while leveraging mutation on local state.

https://shopify.engineering/write-fast-code-ruby-rails


@gocasts
به‌روزرسانی جدید فروم پارچ

- امکان ورود با کدبرگ فراهم شد.

- هم اکنون پاسخ‌های به عنوان پاسخ درست علامت زده می‌شوند و در کنار سوال نوشته solved قرار می‌گیرد.



https://forum.parchlinux.com

@ParchLinux
Forwarded from Geek Alerts
اهمیت صبحانه.
میدونستید ما صفحه توییتر هم داریم؟ خوش‌حال میشیم دنبال کنید.
https://x.com/Geek_Alerts
@geekalerts
Forwarded from mnr tech
اگر قرار باشه توی یک پروژه کاربرای بین‌المللی داشته باشیم چطور باید شماره هارو هندل کنیم؟

شاید توی پروژه های بزرگ بین‌المللی براتون سوال بشه که ما چطور میتونیم شماره موبایل ها با کد های کشور های مختلف رو هندل کنیم؟

خوب قسمت راحت کار اینجاست که بگیم کاربر رو مجبور می‌کنیم طبق استاندارد E.164 شماره کامل رو با کد کشور وارد کنه مثلا برای ایران به این صورت
+98901*******

خوب این ساده ترین حالته ولی ux خوبی نداره مخصوصا برای کاربرای ایرانی که معمولا شمارشون رو با 0 وارد میکنن.
پس باید چکار کرد؟ شاید به ذهنتون برسه که یه ولیدیشن ساده مینویسیم و با چند تا شرط هندلش می‌کنیم ولی قراره به چالش های زیادی بخوریم. پس بیاین اول به سوالات زیر جواب بدیم.

آیا کد کشور ها همه تعداد ارقامش یکسانه؟
خیر. مثلا کد ایران 98 و آمریکا 1 هست

آیا طول شماره های موبایل کشور های مختلف بدون کد کشور یکسان هست؟
خیر. طول شماره موبایل در خیلی از کشور ها 10 رقم هست (بدون کد کشور)
ولی استثنا هم داریم برای مثال شماره موبایل توی آلمان میتونه بین 10 تا 13 رقم متغییر باشه.

آیا شماره موبایل همه کشور ها وقتی از کد استفاده نمیکنیم از 0 ابتدای شماره استفاده می‌کنیم؟ و آیا با اضافه کردن کد 0 اول شماره حذف میشه؟
در بیشتر کشور ها شماره های موبایل با صفر شروع میشه و با اضافه شدن کد کشور صفر حذف میشه ولی همیشه اینطوری نیست
ایران:
09123456789 → +989123456789
هند:
09876543210 → +919876543210
آلمان:
015123456789 → +4915123456789
در شماره های بالا دقیقا همینطوره ولی در بعضی موارد مثل موارد زیر اینطوری نیست

استثناها و نکات:
برخی کشورها اصلاً از صفر ابتدایی استفاده نمی‌کنند: مثلاً در ایالات متحده، شماره‌ها مستقیماً با کد منطقه (area code) شروع می‌شوند، و وقتی کد کشور اضافه می‌شود، هیچ تغییری در ساختار داخلی شماره رخ نمی‌دهد:

آمریکا:
1234567890 → +11234567890
صفر ممکن است حفظ شود: در برخی از کشورها، حتی در حالت بین‌المللی، صفر ابتدایی شماره حفظ می‌شود:

ایتالیا: (صفر حفظ می‌شود).
03491234567 → +3903491234567

استاندارد E.164: این استاندارد که در مخابرات جهانی استفاده می‌شود، تأکید می‌کند که شماره‌ها در قالب بین‌المللی باید بدون صفر ابتدایی نوشته شوند، مگر اینکه صفر بخشی از شماره واقعی باشد.

خوب حالا برای ولیدیشن و ux بهتر باید چکار کرد؟ شاید به ذهنتون رسیده باشه که بشینید و از اول یه کلاسی بنویسید که با توجه به کشور انخاب شده یه سری rule هایی در نظر گرفته بشه و بر اساس اونها شماره ولیدیت بشه یا برای ux بهتر در صورت نیاز فرمتش به صورت خودکار عوض بشه و بعد توی دیتابیس ذخیره بشه.

ولی نیاز به این کار نیست چون از قبل پکیج هایی برای این کار نوشتن. مثلا libphonenumber برای جاوااسکریپت و پایتون

همچنین این پکیج برای لاراول
https://github.com/Propaganistas/Laravel-Phone

مثلا به کمک این پکیج وقتی کاربر کشورش رو انتخاب میکنه دیگه توی فیلد شماره موبایل فرقی نمیکنه کاربر شماره رو با 0 وارد کنه یا بدون 0 چون به راحتی شما توی بکند میتونید با توجه به کشورش شماره رو به فرمت استاندارد E.164 در بیارین و بعد توی دیتابیس ذخیره کنید.

دقت کنید حتما وقتی همچین پکیج هایی اضافه می‌کنید به پروژتون برای عملکرد مورد انتظارتون چند تا تست بنویسید.