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 Python Hints
یک پست برای مصاحبه الگوریتم توی @pyrust گذاشتم، دوستان پیام دادن پس پایتون چی

کتاب پیاده‌سازی الگوریتم و آموزش و ... توی پایتون چندتایی معرفی شده (بخش Posts کانال رو ببینید، اگر قابلیت استوری برگرده کتاب گذاشتن رو ادامه میدم، چندتا خوب یافتم)

ولی اگر فقط پیاده‌سازی می‌خواید برای تمرین مصاحبه :

https://github.com/TheAlgorithms/Python

خیلی بعید هست کسی مستقیم این پیاده‌سازی‌ها رو بپرسه (من بعضی وقتا که مصاحبه شونده سواد نداره ولی ادعا می‌کنه الگوریتم رو عالی بلد هست می‌پرسم)

معمولاً بجای پیاده‌سازی مستقیم به شما مسئله‌ای داده میشه که راهکار حل اون یک الگوریتم خاص هست و اینجوری سوالات پیاده‌سازی الگوریتمی پرسیده میشه.
Forwarded from Maestro - Done (Hossein Nazari)
وقتی نوبت به نوشتن manifestهای کوبرنتیز میرسه، اسم دو تا ابزار وسط میاد، یکی helm و دیگری kustomize.

به شخصه از این نظر که kustomize همون رویه manifest اصلی کوبرنتیز رو حفظ میکنه و خوانایی خوبی داره، ترجیحش میدم.

اما خب برای اینکه شما در multi environment بخواید استفاده کنید و تفاوت های محیط ها پیچیده باشه شاید helm گزینه بهتری باشه.


در کل هم فکر میکنم کامیونیتی بیشتر helm رو پذیرفته و پیدا کردن helm chart راحت تره برای خیلی از سرویس ها.

خوشحال میشم اگه شما هم تجربه ای در این مورد دارید، به اشتراک بذارید در کامنت ها.

این مقاله توضیحاتی در مورد تفاوت هاشون داده.
https://blog.devops.dev/helm-vs-kustomize-when-to-use-which-tool-in-kubernetes-6500d72ca4b4


توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://t.iss.one/gocasts/515

@gocasts
Forwarded from Go Casts 🚀
وقتی نوبت به نوشتن manifestهای کوبرنتیز میرسه، اسم دو تا ابزار وسط میاد، یکی helm و دیگری kustomize.

به شخصه از این نظر که kustomize همون رویه manifest اصلی کوبرنتیز رو حفظ میکنه و خوانایی خوبی داره، ترجیحش میدم.

اما خب برای اینکه شما در multi environment بخواید استفاده کنید و تفاوت های محیط ها پیچیده باشه شاید helm گزینه بهتری باشه.


در کل هم فکر میکنم کامیونیتی بیشتر helm رو پذیرفته و پیدا کردن helm chart راحت تره برای خیلی از سرویس ها.

خوشحال میشم اگه شما هم تجربه ای در این مورد دارید، به اشتراک بذارید در کامنت ها.

این مقاله توضیحاتی در مورد تفاوت هاشون داده.
https://blog.devops.dev/helm-vs-kustomize-when-to-use-which-tool-in-kubernetes-6500d72ca4b4


توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://t.iss.one/gocasts/515

@gocasts
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy Raymond)
🔶 در اینجا یه نگاهی به سورس HarmonyOS در گیت هاب می کنیم که HarmonyOS برای افزایش سرعت و مدیریت بهتر منابع به کرنل لینوکس روی آورده است و می خواد با خلاص شدن از شر پشتیبانی آندروید و هسته ی لینوکسش بتواند فقط از میکروکرنل هارمونی او اس پشتیبانی کند و این قضیه سرعت هارمونی او اس رو شاید چند برابر IOS هم بکند و چون خود IOS هم از هسته لینوکس استفاده کرده است.

احتمالا در آینده زبان Rust در هارمونی او اس به کار خواهند گرفت که این باعث افزایش سرعت آن خواهیم بود.

هواوی هم اکنون در حال معرفی پردازنده اختصاصی کامپیوتر (Kirin PC) و لب تاپ است و بتواند در آینده اکوسیستم کاملی ایجاد کند و محصولاتی را عرضه کند و خیلی مهم است که سیستم عامل هارمونی او اس برای محصولات خود توسعه دهد.

مخزن زیر آخرین به روز رسانی آن ۳ سال پیش است و پروژه ۵ سال پیش آپلود شده است و احتمالا پروژه اولیه است.

https://github.com/Awesome-HarmonyOS/HarmonyOS

#لینوکس

@TheRaymondDev
Forwarded from ASafaeirad
CSS display contents
Learn
how to use display contents to build more fluid layouts

Article
Don't miss section 4

#til #article
Forwarded from a pessimistic researcher (Kc)
"Coffee and Cigarettes"
——————————————————

عنوان انتخاب شده برای این نوشته برگرفته شده از عنوان یکی از فیلم‌های جیم جارموش، عنوان یکی از فصل‌های کتاب Carl Adam Petri: Ideas, Personality, Impact، و شاید بخش مهمی از تجربیات حاصل از همزیستی من با دوستان اطرافم باشه. فیلم جیم جارموش شامل یازده اپیزود کوتاه و مستقل از همه که دو نفر نشستند روبه‌روی هم و حین قهوه خوردن و سیگار کشیدن با همدیگه صحبت میکنن. آقای Javier Esparza اولین و تنها دیدارش با آقای Adam Petri رو به اپیزود دوازدهم فیلم آقای جیم جارموش تشبیه می‌کنه. زمانی که آقای Javier یک دانشجوی دکتری کم تجربه بود و تصمیم گرفته بود بعد از تحصیلات در حوزه‌ی فیزیک نظری، دکتراش رو در حوزه‌ی تئوری پتری نت کار کنه، با چاپ کردن اولین مقاله‌اش در کنفرانس Petri Net تونست توجه آقای Carl رو به خودش جلب کنه و با دعوت یکی از دوستان مشترکش با Carl، موسسه‌ی GMD که امروزه با نام موسسه‌ی Fraunhofer شناخته میشه رو ویزیت کنه. گفتنی‌ست که آقای Carl تنها زمانی که ۱۳ سال سن داشت مدل پتری نت رو برای توصیف فرآیندهای شیمیایی ابداع کرد و در طول حیاتش در موسسه‌ی GMD فعالیت داشت. آقای Javier صبح روزی که رسید تاکش رو داد ولی خبری از آقای Petri نبود. روز بعد آقای پتری میخواست که آقای خاویر رو ببینه. وقتی که آقای خاویر وارد دفتر آقای پتری شد، دید که ایشون یک ماگ بزرگ قهوه روی میزش داره و بین انگشتانش هم یک نخ سیگار منتوس نگه‌داشته. طی دو ساعت آینده، آقای پتری ماگ پشت ماگ قهوه‌اش رو شارژ می‌کرد و سیگار پشت سیگار دود میکرد و مابینش درمورد پروژه‌های فعلیش صحبت می‌کرد. آقای پتری به فیزیک هم بسیار علاقه‌مند بود و به خاویر گفته بود که تنها به axiomatize کردن causality و concurrency بسنده نمی‌کنه و دوست داره سراغ alternative events که امروزه با عنوان events in conflict شناخته میشه بره و این مفهوم رو هم Axiomatize کنه. پتری بسیار آروم و با مکس‌های طولانی صحبت می‌کرد. همین باعث میشد که آقای Javier تقریبا هیچ چیزی متوجه نشه و همواره سعی در این داشته که ارتباط ایده‌های آقای پتری با Quantum Mechanics رو بفهمه. در بین حرفهاشون پتری به اصل عدم قطعیت هایزنبرگ اشاره می‌کنه و آقای Javier برمیگرده میگه که : "این فقط شوآف کردنه، من فکر نکنم هایزنبرگ تونسته باشه اصل عدم قطعیت خودش رو درست تفسیر کرده باشه". این حرف آقای Javier که به نوعی نقد آقای هایزنبرگ میشد باعث ناراحتی Petri میشه و ایشون با لحن آرومی به خاویر میگه: "من وقتی که یک نوجوان بودم با دوچرخه میرفتم تا خونه‌ی هایزنبرگ که فقط بتونم از نزدیک ببینمش. حتی انقدر خجالت می‌کشیدم که نمیرفتم باهاش حرف بزنم." اینجا بود که آقای خاویر متوجه شد که چقدر آقای پتری به علم احترام می‌ذاره. بعد از دو ساعت گفتگو، دوست مشترکشون وارد اتاق میشن و میگن که ما به همراه باقی دوستان داریم میریم ناهار بخوریم، دوست دارید شما هم به ما ملحق بشید؟ آقای پتری هم بلافاصله میگن : "اوه بله ناهار... تو باید بری... آدمای جوان باید غذا بخورن. من خودم هیچوقت ناهار نمی‌خورم. " بعدها آقای خاویر فهمید که دوستش اومده بود تا خاویر رو از دست پتری نجات بده چرا که هیچکس نمیدونست یک گفتگو با پتری تا چه زمان ممکن طول بکشه. افرادی بودن که گفتگوشون با پتری به قدری طولانی شده که هوا تاریک شده و پتری حتی حواسش نبوده که چراغ رو روشن کنه.

شاید من هم بتونم یه روزی اپیزود سیزدهم فیلم آقای جیم جارموش رو بنویسم. زمانی که ایران بودم گفتکوهای زیادی با مهران به همراه فهوه و سیگار داشتیم. منتهی مثل آقای پتری خیلی به علوم احترام نمی ذاشتیم و به راحتی هر کس و ناکسی رو نقد می‌کردیم. علاوه بر این ناهار هم زیاد میخوردیم. منتهی از وقتی اومدم اینجا شرایط کمی متفاوت شده. آدمای اینجا رابطه‌ی خوبی با قهوه و سیگار ندارن، بخصوص وقتایی که بخوای باهاشون یک گپ و گفت علمی داشته باشی. کلا به نظرم یکمی جامعه‌ی آکادمیک فرق کرده. قدیما صفای بیشتری داشت. یادمه آقای Dana Scott توی یکی از مصاحبه‌هاشون میگفن که Alfred Tarski که استاد راهنماشون در مقاطع پیش از دکتری بودن به قدری سیگار می‌کشید بین حرفاش که ما همیشه سر کلاس‌هاش این ترس رو داشتیم که الان با سیگار روی تخته می‌نویسه و گچ رو اسموک میکنه :)
💎 اصول Normalization در طراحی دیتابیس 💎

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

1⃣ فرم اول نرمال (1NF)
تو فرم اول نرمال، باید همه‌ی ستون‌های دیتابیس‌تون "اتمی" باشن. یعنی هر سلول از جدول باید فقط یه مقدار داشته باشه، نه چندتا مقدار!
📌 مثال:
فرض کن یه جدول داری که توش شماره تلفن‌های چند نفر رو ذخیره کردی. اگه تو یه سلول چند تا شماره تلفن ذخیره کنی، دیتابیست تو فرم اول نرمال نیست باید هر شماره تلفن توی یه ردیف جدا باشه.

2⃣ فرم دوم نرمال (2NF)
وقتی فرم اول رو رعایت کردی، می‌رسی به فرم دوم. تو این فرم، باید مطمئن بشی که همه‌ی ستون‌های غیرکلیدی، وابسته به کلید اصلی (Primary Key) باشن.
📌 مثال:
فرض کن یه جدول داری که اطلاعات دانش‌آموزان و درس‌هایی که می‌خونن رو ذخیره می‌کنه. اگه یه ستون مربوط به اطلاعات کلاس (مثل شماره کلاس) باشه که وابسته به دانش‌آموز نباشه، دیتابیس‌ت تو فرم دوم نرمال نیست. باید اون اطلاعات رو تو یه جدول جدا ذخیره کنی.

3⃣ فرم سوم نرمال (3NF)
حالا که فرم دوم رو رعایت کردی، می‌رسیم به فرم سوم. اینجا باید مطمئن بشی که هیچ ستون غیرکلیدی به یه ستون غیرکلیدی دیگه وابسته نباشه
📌 مثال:
اگه تو جدول دانش‌آموزان، هم اسم شهر و هم اسم استان رو ذخیره کنی و استان وابسته به شهر باشه، دیتابیس تو فرم سوم نرمال نیست. باید شهر و استان رو تو یه جدول دیگه ذخیره کنی.

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

امید وارم مفید بوده باشه :)

#sql #database #db #nf


@ninja_learn_ir
Forwarded from Code Module | کد ماژول (𔓙)
با PWA Builder بیشتر آشنا بشید

‏PWA Builder یک ابزار آنلاینه که به دولوپرا کمک می‌کنه تا برنامه‌های PWA رو به آسونی و به سرعت بسازن. این ابزار، به‌ویژه برای افرادی که به تازگی با توسعه PWA آشنا شدن، بسیار مفید هست.

ویژگی های کاربردی این ابزار 🕷

تولید manifest.json: ‏PWA Builder به شما این امکان رو میده که فایل manifest.json رو به راحتی تولید کنید. این فایل اطلاعاتی درباره نام، آیکون‌ها، رنگ‌ها و سایر جزئیات اپلیکیشن شما رو در بر می‌گیره.

ایجاد Service Worker: این ابزار به شما کمک می‌کنه تا یک Service Worker سفارشی بسازید. از این فایل برای مدیریت کش، بهینه‌سازی بارگذاری و قابلیت آفلاین بودن PWA استفاده میشه.

تجزیه و تحلیل وب‌سایت: ‏PWA Builder وب‌سایت شما رو تجزیه و تحلیل می‌کنه و به شما نشون میده، که آیا قابلیت‌های PWA رو داره یا نه. همچنین می‌تونه نکاتی جهت بهبود اپلیکیشن ارائه بده.

تنظیمات سفارشی: دولوپرا می‌تونن تنظیمات مختلفی رو برای سفارشی‌سازی PWA پروژشون انجام بدن، مثل تعیین استراتژی‌های کش و زمان انقضا.

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

تولید آیکون‌های مورد نیاز: ‏PWA Builder می‌تونه آیکون‌ با اندازه‌های مختلف که برای استفاده در manifest نیاز دارید، تولید کنه.

‏به طور کلی PWA Builder به عنوان یک ابزار ساده و مفید برای شروع توسعه PWA، به شما کمک میکنه تا به راحتی به ویژگی‌های مختلف این نوع برنامه‌های وب دسترسی پیدا کنید و اون هارو بهینه‌سازی کنید.

🔗 Website

#pwa
@CodeModule
Forwarded from Agora (Alireza Azadi)
امروز که داشتم فید هکر نیوز رو چک میکردم چشمم خورد به این مطلب:

Experimental web browser optimized for rabbit-holing

گویا به این روش خوندن مطالب (که ظاهرا خیلی هم فراگیره) میگن rabbit-holing* و واسم جالب بود :)
کاری که این مرورگر میکنه اینه که به جای این که مطالب رو برای شما توی یک تب دیگه باز کنه، این ها رو به شکل یک زنجیر ردیف میکنه و شما میتونید به صورت افقی بین این صفحه‌ها اسکرول کنید. اینجا میتونید بیشتر راجع‌بهش بخونید و اگر خواستید نصبش هم بکنید.

*اینجا که گفته rabbit-holing یاد قسمت اول متهم گریخت افتادم که هاشم از معلم زبان بچه‌ش میپرسه اگزوز به انگلیسی چی میشه، بعد معلم زبانه میگه اصلا فارسی نیست. بعد میپرسه خب معنیش به انگلیسی چی میشه؟ یارو یه چرتی از خودش در میاره میگه: یعنییی جایی که دود ازِش میزنه بیرون :)))) بعد هاشم هم میگه: این انگلیسیا واقعا چه مخی دارن. به جای این که بگن یه جایی که ازش دود میزنه بیرون، یه کلمه میگن اگزوز خیالشونو راحت میکنن.
اینم شده حکایت این کلمه‌ی rabbit-holing. یه جای این که این همه کارکتر حروم کنه مثل من و توضیح بده این مرورگر واسه چیه، یه کلمه گفته rabbit-holing خیالشو راحت کرده.
Forwarded from a pessimistic researcher (Kc)
یک نکته جالبی که بهش برخوردم اینه که توی شهر Potsdam شمالی واقع در کشور آلمان یک محله‌ای هست که اسم ۴ تا ریاضی‌دان آلمانی رو روی چهارتا خیابون کنار هم نام‌گذاری کردن. اسم یکی از این خیابون‌ها Carl Adam Petri هست.
Forwarded from Linuxor ?
اگه روی لینوکس و مک nekoray دارین و کار نمیکنه از کلاینت hiddify استفاده کنید

چند وقتیه nekoray آپدیت نداده و یه سری مشکلات روی لینوکس و مک توی تونل کردن کل سیستم به وجود اومده که توی hiddify درستش کردن


https://github.com/hiddify/hiddify-next


پ.ن : این دو برنامه کلاینت v2ray هستن.

🐧 @Linuxor
قانون اول استفاده از توزیع‌های رولینگ رلیز.

ایزویی که قدمتش از ۳ ماه بیشتر باشه دیگه بدرد نصب کردن توزیع نمی‌خوره پس خودتون و نگهدارنده‌های اون توزیع رو خسته نکنید!


#نکتک
@SohrabContents
Forwarded from 
kolektiva.social/@aredridel/112298450037973790

witchat.github.io

اگه مؤنّث هستید (نان‌باینری‌ها هم شامل می‌شن) و با فنّ‌آوری در ارتباطید، می‌تونید در این جامعه حضور داشته باشید و به گفتگو بپردازید.

#معرفی
@amiria703_channel
‏اگر میخواید پروسه ساخت یک چت بات با RAG رو فقط تبدیل به چند تا API CALL کنید میتونید از API اوپن سورسی که نوشتم استفاده کنید. همه چی از embeding تا ساخت Chat completions اتوماتیک انجام میشه
https://github.com/xmannii/Maux-RAG-API

@DevTwitter | <Mani/>
Forwarded from Linuxor ?
چطوری میشه توی لینوکس به صورت زنده روی وب کم افکت گذاشت ؟

توی لینوکس وقتی وب کم رو روشن می‌کنید در واقع دارین از dev/videoX/ استفاده می‌کنید، برای اینکه یه افکت بزارین باید یه Virtual webcam درست کنید که یه لایه واسط بین شما و وب کمتون میشه، بعد ساخت Virtual webcam یه آدرس جدید بهتون میده به اسم dev/videoY/ که میتونید توی برنامه هاتون از وب کم مجازی دارای افکت استفاده کنید.

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

sudo apt install webcamoid

بعد از نصب از قسمت Video توی منوی بالا سمت چپ برید و یه Output اضافه کنید و از قسمت Effect هر افکتی بزارید روی خروجی گذاشته میشه و میتونید توی برنامه های دیگه که از وب کم استفاده میکنن مثل کنفرانس ها و میتینگ ها ازش استفاده کنید.


🐧 @Linuxor
Forwarded from Linuxor ?
یه منبع جامع و خوب برای پرامپت های آماده و Prompt Engineering

جدیدا مهندسی پرامپت ترند شده و خیلی کاربردی، مهندسی پرامپت با یه سری تکنیک ها بهتون یاد میده چطوری یه Prompt بنویسید که بهینه کار کنه


این ریپو کلی پرامپت آماده براتون جمع کرده یه جا :

https://github.com/dair-ai/Prompt-Engineering-Guide

🐧 @Linuxor
This media is not supported in your browser
VIEW IN TELEGRAM
کمپانی Meta ی مجموعه مدل به اسم MovieGen که ساخت ویدیو را متحول کرده. Movie Gen چهار قابلیت ارائه می‌دهد: تولید ویدیو، ویدیوهای شخصی‌سازی شده، ویرایش دقیق ویدیو و تولید صدا. کیفیت ویدیوها واقعا بالاست بخصوص درآوردن نور و فیزیک توی ویدیو واقعا سخته.

https://ai.meta.com/blog/movie-gen-media-foundation-models-generative-ai-video/

@DevTwitter | <Mehdi Allahyari/>