Dev Perfects
40 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 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 لیست ‌ربات های جایگزین هوش‌مصنوعی

‏1. @RemoveBackgroundBot – حذف پس‌زمینه تصاویر
‏2. @ImageFilterBot – فیلتر و افکت عکس
‏3. @CanvaBot – طراحی گرافیک
‏4. @PhotoResizerBot – تغییر اندازه تصاویر
‏5. @PhotoEditorBot – ویرایش عکس
‏6. @VideoEditorBot – ویرایش ویدیو
‏7. @AudioConverterBot – تبدیل فرمت صوتی
‏8. @VideoConverterBot – تبدیل فرمت ویدیو
‏9. @GifsBot – ساخت و جستجوی GIF
‏10. @CompressVideoBot – فشرده‌سازی ویدیو
‏11. @FileConverterBot – تبدیل فرمت فایل
‏12. @PDFToolsBot – ویرایش فایل PDF
‏13. @ToPDF_bot – تبدیل فایل به PDF
‏14. @TextToSpeechBot – تبدیل متن به صوت
‏15. @HashtagsBot – پیشنهاد هشتگ
‏16. @TypoBot – تصحیح نگارش
‏17. @ParaphraserBot – بازنویسی متن
‏18. @WordCounterBot – شمارش کلمات
‏19. @TranslateBot – ترجمه متن
‏20. @CaptionBot – پیشنهاد کپشن
‏21. @InspireBot – جملات انگیزشی
‏22. @QuotLyBot – ساخت نقل‌قول تصویری
‏23. @MemesBot – ایجاد میم
‏24. @PexelsBot – تصاویر رایگان
‏25. @UnsplashBot – تصاویر باکیفیت
‏26. @hoshifybot – هوشیفای

#AI
@TheRaymondDev
This media is not supported in your browser
VIEW IN TELEGRAM
اقا من به این استیکره نگا میکنم خندم میگیره 😂
آیا شما هم ؟
Forwarded from Geniuses Group (Omid Hekayati)
شناخت احساسات و توانایی در نام دهی صحیح آنها برای هر انسانی، دانش موثر زندگی با کیفیت هست.
شاید به نظر خیلی ساده و بدیهی باشه که یک فرد بتونه براحتی احساسی را که در یک لحظه داره با استفاده از کلمات مشخص کنه تا دیگران حس اون فرد را درک کنند، ولی واقعیت ماجرا این هست که این موضوع یکی از سخت ترین کارهای ممکن برای هر انسانی است. البته این سختی در دیگر بخش ها هم وجود داره مثلا در روان شناسی موضوع معناسازی (تعریف کلی، تعریف در روان شناسی) که خیلی هم بی ربط به متن مشخص شده در عنوان پست نیست، باز از کارهای سخت تفکری برای انسان هست.
احساساتی که هر انسان می تونه در طول زمان کسب کنه خیلی متنوع هست مثلا شادی، لذت (در این پست در خصوص تفاوت این دو کمی صحبت کردیم)، خشم، غم و ...
یک نکته جذاب در خصوص امکان نام دهی احساسات این هست که ما مجبور میشیم با کلمات موثر دیگر آن احساس آشنا بشیم. مثلا وقتی به خشم میرسیم، قطعا با کلمه خشونت هم که نوعی رفتار فردی و اجتماعی هست آشنا میشیم.

#خشونت محصول عدم شناخته، عدم شناخت هم یعنی نبود داده موثر و موثق در ذهن ما در زمان مناسب!
بخشی از جمله بالا منتسب به کتابی هم نام با موضوع یعنی خشونت از نویسنده ای به نام ژیژک هست. هرجایی که گفتگو شکل بگیره که قطعا با مناظره و جدل متفاوت است، قطعا روز پیروزی جامعه و کمرنگ شدن خشونت هست. یعنی اجازه بدیم هر داده ای در جامعه روان بشه و با ابزارهای نوین با برچسب گذاری های معتبر، موثق، ... به شکل صحیحی گفت و گو ها اعتبار بگیرند.
از زاویه ای دیگر با فرصت به یکدیگر برای شناخت حتی سطحی، خشونت را از زندگی خودمون حذف کنیم. و مهم تر از آن از شروع چرخه های شوم خشونت که عموما منجر به نیستی میشه، جلوگیری کنیم. یادمون باشه که شکی نیست که خشونت باعث زایش خشونت میشه، و چرخه ای نابودگر را بوجود میاره که در بعضی شرایط این چرخه تا زمان مرگ #سیستم که خشونت درش شکل گرفته، ادامه پیدا می کنه.
جمله های معروف دیگر هم در موضوع کنترل خشونت وجود داره. مثلا هنگام عصبانيت، مراقب كلام خود باشيم!، یکی از ریشه های عصبانیت ، نپذیرفتن افراد (رویداد) به همان صورتی که می توانند باشند است.
در پی نوشت 2 این پست به زایش خشونت بدلیل #فیلترینگ اشاره کردیم، اینجا هم یادآوری کنیم که خشونت علت و معلول خیلی از خصیصه های اجتماعی ما انسان ها هست. پس یادمون باشه تا جای امکان هیچ گاه، علت ایجاد خشونت نباشیم.

در نهایت مثل همیشه قصد #تلنگر_ذهنی و معرفی مفهوم های مرتبط در علوم مرتبط بخصوص #علم_روان_شناسی و #علوم_اجتماعی و ارائه چند کلمه کلیدی موثر جهت مطالعه بیشتر در این پست با دلایل ارتباطی آنها، بود، امیدوارم فرصتی در جهت مطالعه و تفکر بهشون پیدا کنید. پادکست های خوبی مثل پادکست در راه جآن هستند که از اهمیت این موضوعات بیشتر به ما میگن و بیشتر این مدل موضوعات را باز می کنند. شما هم اگر منبعی مثل پادکست می شناسید، بدون محدود مکان و زمان، اشاعه کننده این موضوعات مهم به دیگران باشید.
🔥1
اگه امسال تازه رفتید دانشگاه شاید این توصیه ها به دردتون بخوره:

۱- هرجوری دلتون میخواد رفتار کنید. هرجور دلتون میخواد لباس بپوشید (اگر براتون دردسر نمیشه!). هرچی دلتون میخواد سر کلاس ببرید، دفتر، چک‌نویس، جامدادی یا هرچی که حس میکنید نیازش دارید. تا وقتی به بقیه آسیبی (چه جسمی، چه روحی) نرسوندید، مرتکب کار اشتباهی نشدید.

۲- اگه درسی رو بلدید، براتون جذابه و دوست دارید مشارکت کنید، بدون توجه به حرف بقیه این کارو انجام بدید. فقط سنجیدن شرایط استاد رو فراموش نکنید؛ بعضی ها دوست ندارن تو کلاسشون زیاد حرف بزنی یا نظر بدی و از دیدشون داری خودنمایی میکنی. پس باید مراقب این باشید.

۳- محیط دانشگاه جاییه که اگر با علاقه واردش شده باشید و دوست داشته باشید که تحصیلات مرتبط با کارتون رو داشته باشید میتونید شاهد اتفاقات خوبی باشید. همیشه حدااقل دوتا استاد درست حسابی تو دوتا درس مهم پیدا میشه که شما بخواید ازشون بیشتر یاد بگیرید و ارتباط بسازید باهاشون. از این نترسید.

۴- هرکی مسخره میکنه، هرکی میگه تو میخوای خودنمایی کنی، هرکی میگه انقد سر کلاس صحبت نکن، هرکی حس میکنه تو دنبال اینی که فلانیو (یا فلانی هارو!) بکشی سمت خودت واسه همین «بلدم بلدم» بازی درمیاری، به طور خلاصه چرت میگه. قطعا رعایت تعادل در تمامی این موارد مهمه.

و در آخر، شما اگه هدفت از دانشگاه رفتن پیشرفت بوده باشه و خودت رو درگیرش کنی و بیشتر یاد بگیری و مشارکت کنی؛ اونی که تهش سود میکنه خودتی D; نه اونی که بهت میگه پاچه‌خوار. و اتفاقا بخاطر اونم که شده بیشتر یادبگیر و بیشتر مشارکت کن.
۲۰ هم مال دخترا نیست. مال هرکسیه که تلاش میکنه و دلش میخواد ۲۰ بشه. اتفاقا سعی کن معدل الف بشی که خصوصا تو فرآیند مهاجرت اگر دلت بخواد شدیدا بهت کمک میکنه.

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

موفق باشی
چون صحبت شد secrecy بنظر crate خیلی ساده‌ای میاد ولی چون مثال نداره توی Rust community دیدم یک نفر درموردش سوال پرسیده و خب جوابی که بهش داده بودند بنظرم خوب نبود؛ بنظرم جواب ساده‌ترین راهکار نبود برای همین رفتم سراغ داکیومنت و ...

توی همین تصویر بالا بخوام مثال بزنم :
cargo add secrecy


شما توی این پکیج یک struct اصلی دارید به اسم SecretBox که خب از اسمش پیداس ی Box باید ایجاد کنید براش (جلوتر میگم) و دوتا هم TypeAlias دارید به اسم SecretString, SecretSlice که خب من تو این مثال میرم سراغ SecretString ولی دقیقا داستان برای SecretSlice هم یکسان هست.

بر اساس داکیومنت خود secrecy ؛ خود SecretString هم چیزی نیست جز SecretBox که براش تریت From پیاده سازی شده (اصن برای همین بهش میگه TypeAlias) :

This is a type alias for SecretBox<str> which supports some helpful trait impls.
Notably it has a From<String> impl which is the preferred method for construction.


پس بنظرم بهترین مورد برای یادگیری اینه که From trait رو سورس کدش رو ببینیم :
pub type SecretString = SecretBox<str>;

impl From<&str> for SecretString {
fn from(s: &str) -> Self {
Self::from(String::from(s))
}
}

که خب وقتی میریم سراغ SecretBox هم می‌بیبنیم
pub struct SecretBox<S: Zeroize + ?Sized> {
inner_secret: Box<S>,
}

اوکی پس همه چیز از zeroize میاد (اگر باهاش کار نکردید یک نگاهی بهش بندازید جزو crate های مهم هست)

از From فهمیدم که می‌تونم مستقیم String بهش بدم و SecretString بگیرم و همین نیازمندی من بود و کد بالا میشه :

use secrecy::{SecretString, ExposeSecret};

...
password: SecretString::from(
env::var("DATABASE_PASSWORD").expect("DATABASE_PASSWORD env not provided."),
),
...

من توی کد بالا یک trait دیگه رو هم آوردم به اسم ExposeSecret چون password دیگه از تایپ String نیست برای اینکه توی مواقع مورد نیاز (مثل ساخت کانکشن دیتابیس) بتونم ازش استفاده کنم به این trait نیاز دارم و برای خوندنش هم مباید از
password.expose_secret()

استفاده کنم. این crate از من دربرابر اینکه حواسم نباشه و یک چیزی رو لو بدم محافظت می‌کنه مثل نوشتن پسورد توی println یا توی لاگ‌ها اتفاقی که برای فیسبوک؛ گوگل قبلا افتاده.

برگردم سراغ مطلبی که توی Rust Community بود؛ به همین راحتی مشکل طرف حل می‌شد یعنی استفاده از from یا .into که زیرش از from استفاده می‌شه ولی پیچونده بودنش سراغ پیاده‌سازی trait و ... ( نمی‌دونم برم درستش کنم یا نه چون به راه‌حل تیک سبز داده بود)

بگذریم اگر خواستید از new هم استفاده کنید میشه این :
let mystring = "My Sample String".to_owned();
let mybox = Box::new(mystring);
let secret_string = SecretString::new(mybox);


با توجه به توضیحاتی که دادم اگر مثل من Junior هستید داکیومنت این crate گزینه خوبی هست برای مطلبی که چندروز قبل نوشتم
https://t.iss.one/pyrust/96

بخصوص اینکه سورس کد ساده‌ای هم داره.
تکنولوژی و ابزار فرانت به سرعتی در حال تغییره که آدم از پشت نمیتونه برسه بک اند و حوزه های دیگه رو نمیدونم ولی شما فرض کن تو فرانت داری با پنج شیش تا ابزار کار میکنی‌ برای مثال:

React
Next
CSS Frameworks
Bundlers
JavaScript

ریکت و نکست که دارن به سرعت فضایی آپدیت میدن نکست که دیگه اصلا هر دو هفته یچیز‌ جدید میده الان مثلا Server actions اضافه کرد که خیلی کاربردیه

ریکت بزودی ورژن جدید که تغییرات جامع داره رو میده بیرون

برای فریم وورک های سی اس اس تیلویند از یه طرف و shadcn UI و ... دارن به کلی صنعت رو به سویه جدید میبرن

جاوااسکریپت تو ورژن جدیدش که هنوز در مرحله تایید هستش کلی فیچر جدید داره به زبان اضافه میکنه

هر روز باید کلی وقت بزاری اخبار بخونی و نه تنها از جدیدترین چیز ها اطلاع داشته باشی بلکه باید به اونا تسلط هم داشته باشی مثلا همین سرور اکشن های نکست به سرعت توسط کامیونیتی مورد استقبال قرار گرفت

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

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

دوران دانشجویی هم باید کار کنید رو تخصصتون هم درستون بخونید شرایط طاقت فرساست

@DevTwitter | <Mohammad Mousavi/>
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰نمایش وب‌سایت‌های تایید شده با علامت تیک آبی در صفحه نتایج جستجو.
🔰البته به زودی


🔹گوگل درحال آزمایش ویژگی جدیدی برای تأیید اصالت وب‌سایت‌ها در نتایج جست‌وجو است که به کاربران کمک می‌کند تا از کلیک بر روی لینک‌های جعلی یا تقلبی دوری کنند.
🔹برخی از کاربران پیش از این هم تیک آبی‌رنگ را در کنار لینک‌ وب‌سایت‌هایی مانند مایکروسافت و متا در نتایج جست‌وجوی گوگل مشاهده کرده‌اند؛ این کار از سوء استفاده‌ افراد سودجو از نام تجاری شرکت‌ها جلوگیری می‌کند.
Forwarded from Code Module | کد ماژول (𔓙)
اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀

🔗 Link

#figma
@CodeModule
Forwarded from Gopher Academy
🌟هفت آبان روز بزرگذاشت پدر ایران
🌟افتخار ایران و بشریت

🍻#CYRUS_THE_GREAT

👑#کوروش_بزرگ

🕊کوروش بیا که اینجا فرمانده ای نداریم
🕊فرمان بده درفشی از کاویان فرازیم

🕊ما جز قلم نداریم تیغی که صلح آریم
🕊با شعرِ آریایی روحُ روان نوازیم


🍻 به مناسبت این روز تخفیف ۵۰ درصدی روی تعرفه های تبلیغی کانال
🔵فقط 8 و 7 آبان تخفیف ۵۰ درصدی داریم

برای هماهنگی تبلیغات پیام بدید👇
@labdon_ads

👑 @gopher_academy
🎉1
Forwarded from Gopher Academy
🔵 عنوان مقاله
Distributed Transactions in Go: Read Before You Try

🟢 خلاصه مقاله:
این مقاله به بررسی و توضیح روش‌های مدیریت تراکنش‌ها در معماری‌های مبتنی بر خدمات می‌پردازد، جایی که این تراکنش‌ها نیاز به پردازش در بیش از یک سرویس دارند. به‌طور خاص، مقاله تمرکز خود را بر روی چالش‌ها و راهکارهای مدیریت و اطمینان از کنسیستنسی داده‌ها در سیستم‌های توزیع‌شده قرار می‌دهد. اول از همه، مقاله مفاهیم پایه‌ای تراکنش و خصوصیات ACID (atomicity, consistency, isolation, durability) را معرفی می‌کند. سپس، به بررسی مدل‌های مختلف تراکنش‌ها مثل 2PC (Two-Phase Commit) و سایر مدل‌های فراگیر تنظیم تراکنش مانند SAGA می‌پردازد. مقاله نیز رهیافت‌های جدید مانند تراکنش‌های طولانی-عمر (Long-running Transactions) و تکنیک‌های بازیابی معاصر را بررسی کرده و تأثیر آن‌ها بر روی مقیاس‌پذیری و دوام سیستم‌ها را تحلیل می‌کند. در نهایت، مقاله توصیه‌ها و بهترین روش‌ها برای طراحی سیستم‌های مقاوم در برابر خطا را ارائه می‌دهد، تاکید بر پیاده‌سازی استراتژی‌هایی که به حفظ تمامیت داده کمک کند.

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


👑 @gopher_academy
یکی ادعا کرده که یه رباتی نوشته که برای هر اگهی کار تو لینکدین رزومه و کاورلتر شخصی سازی شده مینویسه و جواب سوالارم میده و اتومات ایزی اپلای میکنه. باهاش تو ۲۴ ساعت ۱۰۰۰ تا اگهی اپلای کرده و ۵۰ تا مصاحبه گرفته! کدشم تو گیت هاب ۱۸ هزار تا استار گرفته!

https://github.com/feder-cr/Auto_Jobs_Applier_AIHawk

@DevTwitter | <Shana/>
آموزش تانل ترکیبی پیشرفته، با آیپی‌های لوکال

🎥 youtu.be/K7rTrHjG0DY

🔍 ircf.space
@ircfspace‏⁧
Forwarded from Meitix
یکی از مشکلاتی که ممکنه shard کردن دیتا در db برامون وجود میاره celebrity problemه.

مثلا فرض کنیم که بیایم دیتا رو بر این اساس به چهارتا segment تقسیم کنیم

Userid %4 =0

توی این حالت ممکنه توی تیبل ۲ام ما از شانس ما، ۴ سلبریتی با درخواست های زیاد باشن که نقاط hot در db ما هستن این باعث میشه بار درستی تقسیم نشه و دیتابیس فشار بهش بیاد

توییتر برای حل این مشکل اومده توییت ها رو بر اساس userid تقسیم کرده و تو هر partition اومده توییت هارو بر اساس تاریخ تقسیم کرده(میتونه روز، هفته و ماه باشه)

این باعث میشه کوئری هامون خیلی بهینه تر بشه.

از طرفی replica و caching هم قطعا دارن
Forwarded from Meitix
Forwarded from Meitix
Forwarded from Meitix
Forwarded from Dev Dastan
What gives programmers feelings of power

P.S. I have actually removed more lines of code than writing throughout my career!



#softwareEngineering #softwareDevelopment #fun

🖥 Follow @devDastan for more content.
Please open Telegram to view this post
VIEW IN TELEGRAM
میخوام یه ابزار خفن بهتون معرفی بکنم که اگر به طرحای 3d ‌و انیمیت شده و کامپوننت های تعاملی علاقه داشته باشید حسابی قراره کیف میکنید

پستش ساعت ۴ ارسال میشه، انرژی بدیددد بهمون ببینم انرژیا بالاس زودتر میزنم بیاد 😍🔥