تفاوت Load Balancers و API Gateways و BFFs
خیلی از افراد ممکنه بین سه مفهوم Load Balancer ، API Gateway و BFF (Backend For Frontend) دچار سردرگمی بشن اما توی این پست قرار به زبون خودمونی و با چنتا مثال ساده این سه مفهوم رو بررسی کنیم
👈 توزیع کننده های بار (Load Balancers)
وقتی میری هتل، معمولاً با یه پذیرشگر | رسپشن روبه رو میشی. پذیرشگر مدارکت رو چک میکنه، یه سری اطلاعات وارد سیستمش میکنه، و میفرستتتت اتاقت. اگه مهمون زیاد باشه، هتل ممکنه چند تا پذیرشگر داشته باشه.
توزیع کنندههای بار هم کار مشابهی رو برای اپلیکیشن انجام میدن. یه ابزاره که درخواستهای ورودی رو بین چند تا سرور تقسیم میکنه. همچنین، توزیع کنندههای بار سیستم رو در دسترس نگه میدارن. اگه یه سرور از کار بیفته، درخواست رو به سرور دیگهای میفرسته.
👉 API Gateway
فرض کن بری مصاحبه یه شرکتی که برای پوزیشنهای مختلف استخدام میکنه - معمار فنی، مدیر مهندسی و مهندس نرم افزار. برای هر پوزیشن، یه پنل متفاوت وجود داره. حالا، نمیخوان کاندیداهای مصاحبه هر اتاق رو برای پیدا کردن پنل مناسب چک کنن. این جاییه که یه هماهنگ کننده مشخصات کاندیدا رو چک میکنه و اونها رو به پنل مناسب هدایت میکنه.
برای یه سیستم،API Gateway همون هماهنگ کنندهس. API Gateway ها همچنین میتونن عملکردهای مختلفی رو انجام بدن، مثل احراز هویت، محدود کردن سرعت، ورود به سیستم و کش کردن.
👉 BFF (Backends for Frontend)
بیا مثال مصاحبه خودمون رو ادامه بدیم. برای هر پوزیشن شغلی (مثل معمار تکنولوژی، مدیر مهندسی، مهندس نرمافزار)، مراحل مصاحبه متفاوته اما ممکنه بعضی مراحل هم بین پوزیشن ها مشترک باشه (مثل مصاحبه فنی). برای مدیریت این تفاوت ها به یه هماهنگ کننده نیاز داریم.
مفهوم Backends for Frontends در این سناریو رفیق صمیمیه (BFF) شماست :)
در اصطلاحات سیستم، BFF کامپوننتیه که میتونه از نیازهای مختلف دستگاه مراقبت کنه. BFF مخفف Backends for Frontends هست. یعنی سرویسهای بکاند مخصوصی که برای رابطهای کاربری خاص ساخته میشن. این مفهوم معمولاً توی سیستمهایی استفاده میشه که رابطهای کاربری متنوعی دارن و دستگاههای مختلف نیازهای متفاوتی دارن. به زبان ساده، BFF برای هر نوع رابط کاربری یه سرویس بکاند اختصاصی میسازه. این کار باعث میشه که توسعهی سیستم سریعتر و مدیریتش راحتتر بشه. مثلا، میتونی یه BFF برای وب اپ ها یه BFF برای دستگاه های تلفن همراه و یکی دیگه برای اپلیکیشن های اکسترنال داشته باشی. در نهایت، میتونی هر 3 مورد رو تویه application stack داشته باشی که در سطوح مختلف کار میکنن.
https://i.postimg.cc/1zVRyyhy/GEBz-Tx9a-AAAef-Zu.jpg
🆔 @MdDaily
خیلی از افراد ممکنه بین سه مفهوم Load Balancer ، API Gateway و BFF (Backend For Frontend) دچار سردرگمی بشن اما توی این پست قرار به زبون خودمونی و با چنتا مثال ساده این سه مفهوم رو بررسی کنیم
👈 توزیع کننده های بار (Load Balancers)
وقتی میری هتل، معمولاً با یه پذیرشگر | رسپشن روبه رو میشی. پذیرشگر مدارکت رو چک میکنه، یه سری اطلاعات وارد سیستمش میکنه، و میفرستتتت اتاقت. اگه مهمون زیاد باشه، هتل ممکنه چند تا پذیرشگر داشته باشه.
توزیع کنندههای بار هم کار مشابهی رو برای اپلیکیشن انجام میدن. یه ابزاره که درخواستهای ورودی رو بین چند تا سرور تقسیم میکنه. همچنین، توزیع کنندههای بار سیستم رو در دسترس نگه میدارن. اگه یه سرور از کار بیفته، درخواست رو به سرور دیگهای میفرسته.
👉 API Gateway
فرض کن بری مصاحبه یه شرکتی که برای پوزیشنهای مختلف استخدام میکنه - معمار فنی، مدیر مهندسی و مهندس نرم افزار. برای هر پوزیشن، یه پنل متفاوت وجود داره. حالا، نمیخوان کاندیداهای مصاحبه هر اتاق رو برای پیدا کردن پنل مناسب چک کنن. این جاییه که یه هماهنگ کننده مشخصات کاندیدا رو چک میکنه و اونها رو به پنل مناسب هدایت میکنه.
برای یه سیستم،API Gateway همون هماهنگ کنندهس. API Gateway ها همچنین میتونن عملکردهای مختلفی رو انجام بدن، مثل احراز هویت، محدود کردن سرعت، ورود به سیستم و کش کردن.
نکته جالب: توزیع کننده های بار (Load Balancers) لایه 7 هم میتونن نقشAPI Gateway رو ایفا کنن.
👉 BFF (Backends for Frontend)
بیا مثال مصاحبه خودمون رو ادامه بدیم. برای هر پوزیشن شغلی (مثل معمار تکنولوژی، مدیر مهندسی، مهندس نرمافزار)، مراحل مصاحبه متفاوته اما ممکنه بعضی مراحل هم بین پوزیشن ها مشترک باشه (مثل مصاحبه فنی). برای مدیریت این تفاوت ها به یه هماهنگ کننده نیاز داریم.
مفهوم Backends for Frontends در این سناریو رفیق صمیمیه (BFF) شماست :)
در اصطلاحات سیستم، BFF کامپوننتیه که میتونه از نیازهای مختلف دستگاه مراقبت کنه. BFF مخفف Backends for Frontends هست. یعنی سرویسهای بکاند مخصوصی که برای رابطهای کاربری خاص ساخته میشن. این مفهوم معمولاً توی سیستمهایی استفاده میشه که رابطهای کاربری متنوعی دارن و دستگاههای مختلف نیازهای متفاوتی دارن. به زبان ساده، BFF برای هر نوع رابط کاربری یه سرویس بکاند اختصاصی میسازه. این کار باعث میشه که توسعهی سیستم سریعتر و مدیریتش راحتتر بشه. مثلا، میتونی یه BFF برای وب اپ ها یه BFF برای دستگاه های تلفن همراه و یکی دیگه برای اپلیکیشن های اکسترنال داشته باشی. در نهایت، میتونی هر 3 مورد رو تویه application stack داشته باشی که در سطوح مختلف کار میکنن.
پ ن: به نظرم این اسم گذاریا فقط دارن لقمه رو میچرخونن در نهایت شما یه Reverse Proxy میاری بالا و هرکدوم از این کار ها میشه یکی از ویژگی های Reverse Proxy اتون :)
https://i.postimg.cc/1zVRyyhy/GEBz-Tx9a-AAAef-Zu.jpg
🆔 @MdDaily
ImgBB
GEBz-Tx9a-AAAef-Zu hosted at ImgBB
Image GEBz-Tx9a-AAAef-Zu hosted in ImgBB
👌5👏2🔥1
معرفی Floorp
مرورگر Floorp یه فورک از فایرفاکسه که توسط شرکت ژاپنی ablaze ایجاد شده و توی گیت هاب به صورت اپن سورس منتشر شده.
چند وقتیه از فایرفاکس بهش مهاجرت کردم و واقعا یکی از بهترین فورک های موجود هستش.
بعضی از ویژگی های این مرورگر:
👈 مسدود کننده ی قوی ترکر و بدافزار ها هنگام وب گردی
👈 امکان سفارشی سازی بدون محدودیت محیط مرورگر
👈 برپایه ی Firefox ESR و انتشار آپدیت های منظم امنیتی قبل از Firefox
👈 حفظ حریم شخصی: مرورگر Floorp از شما هیچگونه داده ای جمع آوری نمیکنه
👈 ویژگی Sidebar
👈 و....
🔗 گیت هاب پروژه: https://github.com/floorp-Projects/floorp/
🔗 وبسایت پروژه: https://floorp.app/
🆔 @MdDaily
مرورگر Floorp یه فورک از فایرفاکسه که توسط شرکت ژاپنی ablaze ایجاد شده و توی گیت هاب به صورت اپن سورس منتشر شده.
چند وقتیه از فایرفاکس بهش مهاجرت کردم و واقعا یکی از بهترین فورک های موجود هستش.
بعضی از ویژگی های این مرورگر:
👈 مسدود کننده ی قوی ترکر و بدافزار ها هنگام وب گردی
👈 امکان سفارشی سازی بدون محدودیت محیط مرورگر
👈 برپایه ی Firefox ESR و انتشار آپدیت های منظم امنیتی قبل از Firefox
👈 حفظ حریم شخصی: مرورگر Floorp از شما هیچگونه داده ای جمع آوری نمیکنه
👈 ویژگی Sidebar
👈 و....
🔗 گیت هاب پروژه: https://github.com/floorp-Projects/floorp/
🔗 وبسایت پروژه: https://floorp.app/
🆔 @MdDaily
👍3
Audio
🎧 پلی لیست #موزیک مناسب برای زمان کار، تمرکز و کاهش استرس
🎵 Tracklist
► 00:00 Starlight Exsert - Waves
► 03:33 Oscuro - Stay Strong
► 06:44 Colin McAllister - What We Had
► 11:45 Quallm - Sunset
► 15:16 Sapphyre Smurf - Minerva
► 17:46 AK - Make Me Feel
► 20:22 Ptr - Alpine Pass
► 22:43 Dear Gravity - Departure
► 25:19 Alyas - Timeless
► 27:40 Josh Leake - Young Summer
► 32:39 AK, Faodail - Pale Love
► 36:00 4th Front - Feeling Alive
► 40:25 Victoriya - Overflow
► 45:32 Sublab - Your Hands
► 48:52 Lazarus Moment - Grassy Plains
► 54:48 AK - Autumn Is Here
► 58:18 Azaleh - Forever In My Heart
► 1:02:02 Victoriya, Andy Leech - Night Garrden
► 1:05:32 Almost Vanished - Deyilah
► 1:09:52 Neskre - Wander
► 1:12:49 Rameses B - Butterflies
► 1:15:58 Jellis, Subsets - Reborn
► 1:19:47 WMD - Redolent
► 1:23:18 Fractal Shadow, V - Shades Of You
🆔 @MdDaily
🎵 Tracklist
► 00:00 Starlight Exsert - Waves
► 03:33 Oscuro - Stay Strong
► 06:44 Colin McAllister - What We Had
► 11:45 Quallm - Sunset
► 15:16 Sapphyre Smurf - Minerva
► 17:46 AK - Make Me Feel
► 20:22 Ptr - Alpine Pass
► 22:43 Dear Gravity - Departure
► 25:19 Alyas - Timeless
► 27:40 Josh Leake - Young Summer
► 32:39 AK, Faodail - Pale Love
► 36:00 4th Front - Feeling Alive
► 40:25 Victoriya - Overflow
► 45:32 Sublab - Your Hands
► 48:52 Lazarus Moment - Grassy Plains
► 54:48 AK - Autumn Is Here
► 58:18 Azaleh - Forever In My Heart
► 1:02:02 Victoriya, Andy Leech - Night Garrden
► 1:05:32 Almost Vanished - Deyilah
► 1:09:52 Neskre - Wander
► 1:12:49 Rameses B - Butterflies
► 1:15:58 Jellis, Subsets - Reborn
► 1:19:47 WMD - Redolent
► 1:23:18 Fractal Shadow, V - Shades Of You
🆔 @MdDaily
🔥4❤🔥2👍2
از فیوشا چه خبر؟
فیوشا او اس اسم سیستم عامل جدید گوگل که قرار بود جایگزین اندروید بشه هست. تقریبا گوگل از سال 2016 سورس این پروژه رو منشتر کرد و در نهایت تو سال 2019 توی کنفرانس Google I / O راجبش صحبت کرد. این پروژه قرار بود بشه جایگزین کرنل لینوکس توی سیستم عامل های اندرویدی و روی تمام دیوایس ها قابل اجرا باشه. در نهایت گوگل میخواست توی کروم او اس و اندروید از کرنل لینوکسی به فیوشا مهاجرت کنه.
اگه همین الانم اسم فیوشا (به انگلیسی: Fuchsia) رو توی گوگل و یوتیوب سرچ کنید قرار کلی ویدیو و مقاله ی چه به زبان فارسی و یا به زبان انگلیسی ببینید با عناوین: با سیستمعامل فیوشا، جایگزین اندروید آشنا شوید - فیوشا چیست و آیا جایگزین اندروید خواهد شد؟ - اندروید یا ios یا فیوشا ؟ و ....
برگردیم به عنوان این پست از فیوشا چه خبر؟ خب قرار بود مروگر کروم روی فیوشا اجرا بشه به عنوان یه ازمایش موفق و حتی اوایل سال 2022 هم ویدیو هایی منتشر شد که پیشرفت این پروژه رو نشون میداد ولی در نهایت گوگل تصمیم گرفت به طور رسمی متوقفش کنه و نتیجش این شد که بر خلاف تمام تبلیغات گوگل و ترند شدن فیوشا کاربردش رو توی چیز های خیلی کوچیک تر از چیزی که گوگل میگفت دیدیم و در نتیجه توی سال 2023 تیم گوگل اعلام کرد که دیگه روی نسخه ی Workstation این سیستم عامل کار نمیکنن و حالا فیوشا تبدیل شده به یه ابزار توسعه برای یه سری از محصولات گوگل مثل Nest و فقط همین :)
به نظر میرسه که گوگل در نهایت به این نتیجه رسیده که جایگزین کردن لینوکسی که توی سالیان مختلف با مشارکت صد ها نفر و شرکت در سراسر دنیا توسعه پیدا کرده با یه پروژه ی دیگه ایده ی خوبی نیست چون حالا حالا ها نمیشه اون اکوسیستم بزرگ رو برای فیوشا ساخت.
از داستان گوگل چه نتایجی میتونیم بگیریم ؟
👈 ترندها رو دنبال نکنید
ترندها میتونن هر لحظه تغییر کنن. اگر بخواهیم پروژه و اهداف رو بر اساس ترندها پیش ببریم، ممکنه بعد از مدتی با تغییر ترند ها پروژه جذاببیت خودشو از دست بده و یا شکست بخوره به جای دنبال کردن ترندها، بهتره روی نیازهای واقعی کاربران تمرکز کنیم. اگه نیازهای واقعی کاربران رو بشناسیم، میتونیم پروژهای رو شروع کنیم که همیشه جذاب و کاربردی باشه.
👈 به اینکه چی قرار جایگزین چی بشه هم خیلی توجه نکنید
وقتی یه ترندی میاد چیزی که جذابش میکنه اینکه رسانه ها با تیتر های زردی مثل فیوشا 'جایگزین جدید اندروید' بازدید بگیرن و نتیجش میشه اینکه کسایی که تحلیل فنی تر میکنن دیده نمیشن. پس باید سعی کنیم پروژهها رو واقعبینانه تر بررسی کنیم.
منابع:
🔗 Google is no longer bringing the full Chrome browser to Fuchsia
🔗 r/Fuchsia
🔗 Google’s Fuchsia OS was one of the hardest hit by last week’s layoffs
➖➖➖
نظر شما چیه؟
🆔 @MdDaily
فیوشا او اس اسم سیستم عامل جدید گوگل که قرار بود جایگزین اندروید بشه هست. تقریبا گوگل از سال 2016 سورس این پروژه رو منشتر کرد و در نهایت تو سال 2019 توی کنفرانس Google I / O راجبش صحبت کرد. این پروژه قرار بود بشه جایگزین کرنل لینوکس توی سیستم عامل های اندرویدی و روی تمام دیوایس ها قابل اجرا باشه. در نهایت گوگل میخواست توی کروم او اس و اندروید از کرنل لینوکسی به فیوشا مهاجرت کنه.
اگه همین الانم اسم فیوشا (به انگلیسی: Fuchsia) رو توی گوگل و یوتیوب سرچ کنید قرار کلی ویدیو و مقاله ی چه به زبان فارسی و یا به زبان انگلیسی ببینید با عناوین: با سیستمعامل فیوشا، جایگزین اندروید آشنا شوید - فیوشا چیست و آیا جایگزین اندروید خواهد شد؟ - اندروید یا ios یا فیوشا ؟ و ....
برگردیم به عنوان این پست از فیوشا چه خبر؟ خب قرار بود مروگر کروم روی فیوشا اجرا بشه به عنوان یه ازمایش موفق و حتی اوایل سال 2022 هم ویدیو هایی منتشر شد که پیشرفت این پروژه رو نشون میداد ولی در نهایت گوگل تصمیم گرفت به طور رسمی متوقفش کنه و نتیجش این شد که بر خلاف تمام تبلیغات گوگل و ترند شدن فیوشا کاربردش رو توی چیز های خیلی کوچیک تر از چیزی که گوگل میگفت دیدیم و در نتیجه توی سال 2023 تیم گوگل اعلام کرد که دیگه روی نسخه ی Workstation این سیستم عامل کار نمیکنن و حالا فیوشا تبدیل شده به یه ابزار توسعه برای یه سری از محصولات گوگل مثل Nest و فقط همین :)
به نظر میرسه که گوگل در نهایت به این نتیجه رسیده که جایگزین کردن لینوکسی که توی سالیان مختلف با مشارکت صد ها نفر و شرکت در سراسر دنیا توسعه پیدا کرده با یه پروژه ی دیگه ایده ی خوبی نیست چون حالا حالا ها نمیشه اون اکوسیستم بزرگ رو برای فیوشا ساخت.
از داستان گوگل چه نتایجی میتونیم بگیریم ؟
👈 ترندها رو دنبال نکنید
ترندها میتونن هر لحظه تغییر کنن. اگر بخواهیم پروژه و اهداف رو بر اساس ترندها پیش ببریم، ممکنه بعد از مدتی با تغییر ترند ها پروژه جذاببیت خودشو از دست بده و یا شکست بخوره به جای دنبال کردن ترندها، بهتره روی نیازهای واقعی کاربران تمرکز کنیم. اگه نیازهای واقعی کاربران رو بشناسیم، میتونیم پروژهای رو شروع کنیم که همیشه جذاب و کاربردی باشه.
👈 به اینکه چی قرار جایگزین چی بشه هم خیلی توجه نکنید
وقتی یه ترندی میاد چیزی که جذابش میکنه اینکه رسانه ها با تیتر های زردی مثل فیوشا 'جایگزین جدید اندروید' بازدید بگیرن و نتیجش میشه اینکه کسایی که تحلیل فنی تر میکنن دیده نمیشن. پس باید سعی کنیم پروژهها رو واقعبینانه تر بررسی کنیم.
منابع:
🔗 Google is no longer bringing the full Chrome browser to Fuchsia
🔗 r/Fuchsia
🔗 Google’s Fuchsia OS was one of the hardest hit by last week’s layoffs
➖➖➖
نظر شما چیه؟
🆔 @MdDaily
👍10🔥1
💫 معرفی ytclass
این سایت میاد بهترین دورههای آموزشی رو در میان انبوه ویدیوهای موجود یوتیوب با استفاده از هوش مصنوعی بر اساس موضوعی که وارد میکنید بهتون پیشنهاد میده و از زبان و دوره های فارسی هم پشتیبانی میکنه!
همچنین برای درک بهتر از ویدیو، کوییز هم ایجاد می کنه و امکان چت کردن با ویدیو هم بهتون میده.
🔗 آدرس وبسایت: https://ytclass.co/
🆔 @MdDaily
این سایت میاد بهترین دورههای آموزشی رو در میان انبوه ویدیوهای موجود یوتیوب با استفاده از هوش مصنوعی بر اساس موضوعی که وارد میکنید بهتون پیشنهاد میده و از زبان و دوره های فارسی هم پشتیبانی میکنه!
همچنین برای درک بهتر از ویدیو، کوییز هم ایجاد می کنه و امکان چت کردن با ویدیو هم بهتون میده.
🔗 آدرس وبسایت: https://ytclass.co/
🆔 @MdDaily
🔥5
پست فردای #ام_دی_کورس راجب چه موضوعی باشه؟
Final Results
11%
ساخت api با bun
20%
معرفی آسیب پذیری های امنیتی فرانت
6%
نحوه ی کار Lazyload
19%
مدیریت زمان و پروداکتیویتی برای توسعه دهندگان
9%
Sharing a state between windows without a server
28%
ساخت ربات اسپاتیفای با گولنگ
6%
مقدمه ای بر svelte
0%
توی کامنت ها میگم
❤🔥7
Md Daily
پست فردای #ام_دی_کورس راجب چه موضوعی باشه؟
با تشکر از تمام عزیزانی که توی نظر سنجی شرکت کردند.
پنل نظر سنجی تا ساعت ۱۸ باز هست و ۲ تا از موضوعاتی که بیشترین رای را بیارن این هفته منتشر میشه.
آخر هفته ام پادکست مشترک با سید مهدی عزیز داریم ؛)
پنل نظر سنجی تا ساعت ۱۸ باز هست و ۲ تا از موضوعاتی که بیشترین رای را بیارن این هفته منتشر میشه.
آخر هفته ام پادکست مشترک با سید مهدی عزیز داریم ؛)
👍3⚡2
#ام_دی_کورس
ساخت ربات دانلودر اسپاتیفای با گولنگ
ادامه در:
https://mddaily.web.app/blog/create-spotify-downloader-bot-with-golang/
🆔 @MdDaily
ساخت ربات دانلودر اسپاتیفای با گولنگ
اسپاتیفای یکی از برنامه های مورد علاقه من و هزاران کاربر دیگس . توی این پست قرار با استفاده از Go و API های اسپاتیفای یک ربات بنویسیم که به ما این امکان را بده که آیتم های مورد نظرمون رو دانلود کنیم.
برای این کار قرار از کتابخونه Spotifyاستفاده کنیم.
پیش نیاز ها:
به یه حساب کاربری تو Spotify نیاز داریم که ClientID و ClientSecret امون رو ازش بگیریم
یه IDE یا Code Editor برای نوشتن کد هامون
دریافت پیش نیاز های SPOTIFY:
وارد آدرس open.spotify.com توی مرورگرتون بشید و توی حسابتون لاگین کنید. بعد از اینکه لاگین کردید وقت اینکه وارد داشبورد توسعه دهندگان اسپاتیفای به developer.spotify.com بشید. با صفحه ای مثل تصویر زیر مواجه خواهید شد...
ادامه در:
https://mddaily.web.app/blog/create-spotify-downloader-bot-with-golang/
🆔 @MdDaily
👏4⚡1👍1🔥1
#ام_دی_کورس
۷ حمله امنیتی رایج فرانت اند
توی این مقاله به همراه مثال به نحوه ی انجام حملاتی مثل: XSS, Dependency risks, CSRF,Clickjacking و .. پرداخته شد و در نهایت راه های مقابله با این حملات معرفی شدند
ادامه در:
https://mddaily.web.app/blog/7-common-front-end-security-attacks/
🆔 @MdDaily
۷ حمله امنیتی رایج فرانت اند
توی این مقاله به همراه مثال به نحوه ی انجام حملاتی مثل: XSS, Dependency risks, CSRF,Clickjacking و .. پرداخته شد و در نهایت راه های مقابله با این حملات معرفی شدند
برنامههای وب که برای کارای تجاری مهمتر میشن، هدف جذابتری هم برای حملات سایبری میشن. ولی متأسفانه، خیلی از توسعهدهندههای وب توی ساخت یه frontend امن، نسبت به همتایان بکاند و DevOps خودشون عقب موندن. این فاصله، خطر لو رفتن داده ها رو بیشتر میکنه.
حوادث اخیر مثل نقض پروتکل Balancer نشون میده که مهاجمان با سوء استفاده از آسیب پذیری های فرانت اند چه میزان خسارت میتونن وارد کنن. طبق گزارش ها، پروتکل Balancer از طریق یک حمله به فرانت اند هک شد و منجر به از دست رفتن بیش از 240,000 دلار شد، طبق چیزی که به طور عمومی تایید شده. به دلیل گسترش ابزارها و اسکریپت های هک، تهدید علیه برنامه های وب با کاهش موانع برای انجام حملات همچنان در حال افزایش است...
ادامه در:
https://mddaily.web.app/blog/7-common-front-end-security-attacks/
🆔 @MdDaily
❤🔥3
Audio
💫 اولین اپیزود دواپس با سید مهدی عزیز
00:00 مقدمه
00:16 احوال پرسی و معرفی
00:38 چیشد که وارد دواپس شدی؟
01:33 از چه سالی شروع کردی و چه قدر وقت گذاشتی؟
02:11 تعریفت از دواپس چیه؟
04:24 چه قدر لینوکس و برنامه نویسی بلد باشیم؟
08:35 بش اسکریپت
09:07 دوره ی بش اسکریپت از mddaily
09:29 تفاوت SRE و DEVOPS , SysAdmin
14:00 چه مفاهیمی را بلد باشیم؟
15:08 بازار کار
16:28 کوبر
18:57 چه زمانی از کوبر یا داکر استفاده کنیم؟
21:59 چالش های دواپس
27:20 تجربه ی سید از یادگیری دواپس
28:06 چیشد به اینجا رسیدیم؟
33:42 من فلان چیز رو خوندم الان نوبت چیه؟ چی بخونم؟
35:50 برای دواپس چه سیستمی نیازه؟
36:47 جمع بندی و صحبت های پایانی
➖➖➖
ببخشید اگه کم و کاستی هایی وجود داشت، این اولین اپیزودمون بود و تو قسمت های بعدی بهتر میشیم :)
🆔 @MdDaily - @seyedmahdidiary
00:00 مقدمه
00:16 احوال پرسی و معرفی
00:38 چیشد که وارد دواپس شدی؟
01:33 از چه سالی شروع کردی و چه قدر وقت گذاشتی؟
02:11 تعریفت از دواپس چیه؟
04:24 چه قدر لینوکس و برنامه نویسی بلد باشیم؟
08:35 بش اسکریپت
09:07 دوره ی بش اسکریپت از mddaily
09:29 تفاوت SRE و DEVOPS , SysAdmin
14:00 چه مفاهیمی را بلد باشیم؟
15:08 بازار کار
16:28 کوبر
18:57 چه زمانی از کوبر یا داکر استفاده کنیم؟
21:59 چالش های دواپس
27:20 تجربه ی سید از یادگیری دواپس
28:06 چیشد به اینجا رسیدیم؟
33:42 من فلان چیز رو خوندم الان نوبت چیه؟ چی بخونم؟
35:50 برای دواپس چه سیستمی نیازه؟
36:47 جمع بندی و صحبت های پایانی
➖➖➖
ببخشید اگه کم و کاستی هایی وجود داشت، این اولین اپیزودمون بود و تو قسمت های بعدی بهتر میشیم :)
🆔 @MdDaily - @seyedmahdidiary
🔥11❤🔥1
چرا یادگیری یه چیز جدید تو سال ۲۰۲۴ انقدر سخته؟
هر روز، کسایی که میخوان از طریق اینترنت یه چیزی یاد بگیرن، با یه تناقض عجیب و غریب روبرو میشن: یه عالمه محتوا وجود داره که به راحتی میشه بهشون دسترسی پیدا کرد، ولی ما نمیدونیم کدومشون رو انتخاب کنیم.
مطمئنم که تو هم یه لیست بلندبالا از دورههایی که میخوای بگذرونی، کتابهایی که میخوای بخونی و ویدیوهایی که میخوای "بعداً تماشا کنی" داری. یه جورایی انگار یه کتابخونهی بزرگ روبروت داری، ولی نمیتونی از هیچکدوم از کتابهاش استفاده کنی.
این اتفاق واسه من هم خیلی میوفته. انقدر وقت صرف میکنم که ببینم چی بخونم که آخرش هم هیچی نمیخونم. یا یه چیزی رو انتخاب میکنم و بعد از چند دقیقه فکر میکنم که وقتم رو تلف میکنم و میتونستم یه کار مفیدتر انجام بدم.
تو این پست میخوام یه کم درباره این موضوع صحبت کنم که چرا انتخاب کردن انقدر سخت شده و چیکار کنیم که انتخاب های بهتری انجام بدیم
انقدر انتخاب هست که آدم گیج میشه
این مشکل فقط واسه محتوای آموزشی نیست، تو خیلی از زمینههای دیگه زندگی هم وجود داره. مثلاً یه تحقیق نشون داده که کاربرای نتفلیکس به طور میانگین 17.8 دقیقه وقت صرف میکنن تا یه فیلم یا سریال انتخاب کنن.
این تردید و عدم قطعیت نشون میده که یه مشکل بزرگ داریم: تو دنیایی که پر از امکاناته، نمیتونیم درست تصمیم بگیریم.
پیتر دراکر، یه آدم معروف تو زمینهی مدیریت، یه حرف خیلی قشنگ درباره این موضوع زده:
حرف دراکر خیلی درسته. الان تو هر زمینهای که فکرشو بکنی، از آموزش و سرگرمی گرفته تا چیزای دیگه، انقدر انتخاب هست که آدم گیج میشه و نمیتونه تصمیم بگیره.
چرا انتخاب کردن انقدر سخت شده؟
دو تا دلیل اصلی واسه این موضوع وجود داره:
1. تولید محتوا خیلی راحتتر شده.
2. محتوا به آدمهای خیلی بیشتری میرسه.
دیگه مثل قدیم نیست که واسه تولید محتوا باید کلی پول خرج میکردی و با یه عالمه آدم کار میکردی. الان هر کسی که یه ذره دانش فنی داشته باشه میتونه یه عالمه محتوا تولید کنه و به اشتراک بذاره.
از طرف دیگه، اینترنت باعث شده که محتوا به دست آدمهای خیلی بیشتری برسه. یه زمانی فقط یه عده آدم خاص میتونستن به محتواهای آموزشی دسترسی داشته باشن، ولی الان هر کسی که یه گوشی یا کامپیوتر داشته باشه میتونه از این محتواها استفاده کنه.
هزینهی واقعی یه دورهی بد
وقتی تو یه دورهای شرکت میکنی که انتظاراتت رو برآورده نمیکنه، فقط پولت نیست که هدر میره. وقت و انرژیای که صرف میکنی هم خیلی مهمه. اینها چیزایی هستن که دیگه نمیتونی بهشون برگردی و خیلی باارزشتر از پول هستن.
از طرف دیگه، پشیمونی هم خیلی اذیتکننده است. همش با خودت میگی "اگه یه دورهی دیگه رو انتخاب میکردم چی میشد؟". این شک و تردید میتونه خیلی بیشتر از ضرر مالی اذیتکننده باشه، چون باعث میشه که تو تصمیمگیریهای آیندهت هم اعتماد به نفست رو از دست بدی و انتخاب کردن واست سختتر بشه.
خلاصه کلام: چطور یه چیز جدید یاد بگیریم؟
یادگیری یه چیز جدید هیچوقت آسون نبوده، با این حال، چند تا راهکار هست که میتونه بهمون کمک کنه تا بهتر یاد بگیریم:
انتخابهای الکی نکن:
👈 سعی نکن یه عالمه دوره و کتاب جمع کنی. وقتی گزینههای کمتری داشته باشی، تمرکزت بیشتر میشه و گیج نمیشی.
👈 بیشتر از حدی که میتونی بخونی یا تو دورهها شرکت کنی، کتاب و دوره نخر.
تمرکزت رو حفظ کن:
👈 وقتی داری یه دوره یا ویدیو میبینی، بقیهی تبها و برنامهها رو ببند. فقط روی یه کار تمرکز کن.
هدفهای واقعبینانه بذار:
👈 یه برنامه واقعی با هدفهایی که میتونی بهشون برسی، تنظیم کن.
👈 دنبال هدفهای الکی نباش که فقط باعث میشن فکر کنی داری کار خیلی مهمی انجام میدی.
محتوای خوب انتخاب کن:
👈 اول از همه، یه چیز ساده و کوتاه انتخاب کن تا ببینی واقعاً دوست داری همون رو یاد بگیری یا نه.
تمرین کن:
👈 برای هر چیزی که یاد میگیری، یه جوری تمرین کن. اینطوری یادگیریت عمیقتر میشه و مطمئن میشی که واقعاً یاد گرفتی.
👈 هر چند وقت یک بار مرور کنید.
🆔 @MdDaily
هر روز، کسایی که میخوان از طریق اینترنت یه چیزی یاد بگیرن، با یه تناقض عجیب و غریب روبرو میشن: یه عالمه محتوا وجود داره که به راحتی میشه بهشون دسترسی پیدا کرد، ولی ما نمیدونیم کدومشون رو انتخاب کنیم.
مطمئنم که تو هم یه لیست بلندبالا از دورههایی که میخوای بگذرونی، کتابهایی که میخوای بخونی و ویدیوهایی که میخوای "بعداً تماشا کنی" داری. یه جورایی انگار یه کتابخونهی بزرگ روبروت داری، ولی نمیتونی از هیچکدوم از کتابهاش استفاده کنی.
این اتفاق واسه من هم خیلی میوفته. انقدر وقت صرف میکنم که ببینم چی بخونم که آخرش هم هیچی نمیخونم. یا یه چیزی رو انتخاب میکنم و بعد از چند دقیقه فکر میکنم که وقتم رو تلف میکنم و میتونستم یه کار مفیدتر انجام بدم.
تو این پست میخوام یه کم درباره این موضوع صحبت کنم که چرا انتخاب کردن انقدر سخت شده و چیکار کنیم که انتخاب های بهتری انجام بدیم
انقدر انتخاب هست که آدم گیج میشه
این مشکل فقط واسه محتوای آموزشی نیست، تو خیلی از زمینههای دیگه زندگی هم وجود داره. مثلاً یه تحقیق نشون داده که کاربرای نتفلیکس به طور میانگین 17.8 دقیقه وقت صرف میکنن تا یه فیلم یا سریال انتخاب کنن.
این تردید و عدم قطعیت نشون میده که یه مشکل بزرگ داریم: تو دنیایی که پر از امکاناته، نمیتونیم درست تصمیم بگیریم.
پیتر دراکر، یه آدم معروف تو زمینهی مدیریت، یه حرف خیلی قشنگ درباره این موضوع زده:
برای اولین بار تو تاریخ، یه عده آدم خیلی زیاد حق انتخاب دارن. ولی جامعه هیچ آمادگیای واسه این موضوع نداره.
حرف دراکر خیلی درسته. الان تو هر زمینهای که فکرشو بکنی، از آموزش و سرگرمی گرفته تا چیزای دیگه، انقدر انتخاب هست که آدم گیج میشه و نمیتونه تصمیم بگیره.
چرا انتخاب کردن انقدر سخت شده؟
دو تا دلیل اصلی واسه این موضوع وجود داره:
1. تولید محتوا خیلی راحتتر شده.
2. محتوا به آدمهای خیلی بیشتری میرسه.
دیگه مثل قدیم نیست که واسه تولید محتوا باید کلی پول خرج میکردی و با یه عالمه آدم کار میکردی. الان هر کسی که یه ذره دانش فنی داشته باشه میتونه یه عالمه محتوا تولید کنه و به اشتراک بذاره.
از طرف دیگه، اینترنت باعث شده که محتوا به دست آدمهای خیلی بیشتری برسه. یه زمانی فقط یه عده آدم خاص میتونستن به محتواهای آموزشی دسترسی داشته باشن، ولی الان هر کسی که یه گوشی یا کامپیوتر داشته باشه میتونه از این محتواها استفاده کنه.
هزینهی واقعی یه دورهی بد
وقتی تو یه دورهای شرکت میکنی که انتظاراتت رو برآورده نمیکنه، فقط پولت نیست که هدر میره. وقت و انرژیای که صرف میکنی هم خیلی مهمه. اینها چیزایی هستن که دیگه نمیتونی بهشون برگردی و خیلی باارزشتر از پول هستن.
از طرف دیگه، پشیمونی هم خیلی اذیتکننده است. همش با خودت میگی "اگه یه دورهی دیگه رو انتخاب میکردم چی میشد؟". این شک و تردید میتونه خیلی بیشتر از ضرر مالی اذیتکننده باشه، چون باعث میشه که تو تصمیمگیریهای آیندهت هم اعتماد به نفست رو از دست بدی و انتخاب کردن واست سختتر بشه.
ما همیشه به دنبال یه کتاب کامل، یه بازی کامل، یه غذای کامل و یه فیلم کامل هستیم. ولی کمال هیچ ربطی به خود محتوا نداره، بلکه به حال و هوای خودمون تو اون لحظه بستگی داره. واسه همین همش دنبال یه چیز کامل میگردیم و ساعتها، روزها و ماهها طول میکشه تا یه کاری رو شروع کنیم، ولی آخرش هم هیچوقت شروعش نمیکنیم.
خلاصه کلام: چطور یه چیز جدید یاد بگیریم؟
یادگیری یه چیز جدید هیچوقت آسون نبوده، با این حال، چند تا راهکار هست که میتونه بهمون کمک کنه تا بهتر یاد بگیریم:
انتخابهای الکی نکن:
👈 سعی نکن یه عالمه دوره و کتاب جمع کنی. وقتی گزینههای کمتری داشته باشی، تمرکزت بیشتر میشه و گیج نمیشی.
👈 بیشتر از حدی که میتونی بخونی یا تو دورهها شرکت کنی، کتاب و دوره نخر.
تمرکزت رو حفظ کن:
👈 وقتی داری یه دوره یا ویدیو میبینی، بقیهی تبها و برنامهها رو ببند. فقط روی یه کار تمرکز کن.
هدفهای واقعبینانه بذار:
👈 یه برنامه واقعی با هدفهایی که میتونی بهشون برسی، تنظیم کن.
👈 دنبال هدفهای الکی نباش که فقط باعث میشن فکر کنی داری کار خیلی مهمی انجام میدی.
محتوای خوب انتخاب کن:
👈 اول از همه، یه چیز ساده و کوتاه انتخاب کن تا ببینی واقعاً دوست داری همون رو یاد بگیری یا نه.
تمرین کن:
👈 برای هر چیزی که یاد میگیری، یه جوری تمرین کن. اینطوری یادگیریت عمیقتر میشه و مطمئن میشی که واقعاً یاد گرفتی.
👈 هر چند وقت یک بار مرور کنید.
یادمون باشه که تو مسیر یادگیری، هر قدمی که برمیداریم، حتی یه قدم کوچیک، یه پیشرفته.هیچ چیز به هدر نمیره؛ حتی اگه بدترین اتفاق هم بیفته، یه چیز جدید یاد گرفتی.
🆔 @MdDaily
❤🔥17👍4❤1🔥1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
پروژه MoneyPrinter
کاربری با نام اینترنتی FujiwaraChoki میبینه که توی یوتیوب شورت هایی با یه قالب خاصی دارن خیلی بازدید میگیرن. پس میگه چرا این فرایند رو خودکار نکنیم؟
نتیجش میشه پروژه MoneyPrinter که از MoviePy استفاده میکنه برای تولید ویدیو، از یه ای پی ای غیر رسمی تیک تاک برای تبدیل متن به صدا استفاده میشه که رباتیک نباشه، برای تولید متن طبق اون موضوعی که بهش میدین از gpt و در نهایت برای تولید تصاویر از pexels استفاده می کنه . کد خیلی بامزه ای داره و چیز خیلی پیچیده ایم نیست.
دموش رو توی ویدیوی پست میتونید ببینید.
🔗 لینک یوتیوب ویدیو
🔗 گیت هاب پروژه:
https://github.com/FujiwaraChoki/MoneyPrinter/
🆔 @MdDaily
کاربری با نام اینترنتی FujiwaraChoki میبینه که توی یوتیوب شورت هایی با یه قالب خاصی دارن خیلی بازدید میگیرن. پس میگه چرا این فرایند رو خودکار نکنیم؟
نتیجش میشه پروژه MoneyPrinter که از MoviePy استفاده میکنه برای تولید ویدیو، از یه ای پی ای غیر رسمی تیک تاک برای تبدیل متن به صدا استفاده میشه که رباتیک نباشه، برای تولید متن طبق اون موضوعی که بهش میدین از gpt و در نهایت برای تولید تصاویر از pexels استفاده می کنه . کد خیلی بامزه ای داره و چیز خیلی پیچیده ایم نیست.
دموش رو توی ویدیوی پست میتونید ببینید.
🔗 لینک یوتیوب ویدیو
🔗 گیت هاب پروژه:
https://github.com/FujiwaraChoki/MoneyPrinter/
🆔 @MdDaily
⚡8
چطوری یه README.md خوب بسازیم؟
فایل README چیه؟
فایل README اولین چیزیه که یه کاربر وقتی مخزن شما رو باز میکنه، میبینه. این فایل بهش یه ایده کلی از پروژه، زبانی که توش استفاده شده، شرایط و قوانین، کارایی هاش، اسکرین شات از برنامه در حال اجرا و... میده.
چرا مهمه؟
این کاربر میتونه یه استخدام کننده یا کلاینت باشه.
پس خیلی مهمه که README پروژه شما به سوالات "چیه"، "چرا" و "چطوری" پروژه جواب بده.
یعنی باید:
👈مهم ترین اطلاعات رو توش بنویسید.
👈پروژه و تکنولوژی های استفاده شده توش رو واضح توضیح بدید.
👈 لینک ها و توضیحات اضافی که توی README جا نمیشن رو یه جای دیگه بذارید تا کاربر مجبور نشه دنبالشون بگرده.
در غیر این صورت ممکنه کاربر حوصله اش سر بره و میره سراغ یه پروژه دیگه. خیلی توصیه میشه که مستندات پروژه تون رو خوب بنویسید.چونکه کاربر ها نه فقط دنبال اطلاعات پروژه هستن، بلکه میخوان ببینن شما چقدر دقیق و با حوصله هستید.
چی توی README بذاریم؟
با خودتون فکر کنید:
👈پروژه شما چیه؟
👈چرا این پروژه رو ساختید؟
👈چه مشکلی رو حل میکنه؟
👈شما توی این پروژه چی یاد گرفتید؟
👈چه چیزی باعث میشه پروژه شما از بقیه پروژه ها متمایز باشه؟
بعد جواب این سوالات رو توی README بنویسید.
ساختار پیشنهادی
👈معرفی: یه توضیح کوتاه و مختصر از پروژه که کاربر توی چند ثانیه اول بفهمه پروژه شما چیه.
👈تکنولوژی: زبان های برنامه نویسی، کتابخانه ها و فریم ورک های استفاده شده توی پروژه (مثلا پایتون، React و...).
👈طراحی: عکس، فیلم یا GIF از رابط کاربری پروژه (اگه رابط کاربری داره).
👈ویژگی ها: اگه پروژه شما ویژگی های زیادی داره، یه لیست ازشون توی این بخش بذارید.
راه اندازی:
👈توضیح بدید که چطوری میشه پروژه رو نصب و اجرا کرد.
👈اگه راه اندازی پروژه ساده است، توی README توضیحش بدید و اگه راه اندازی پروژه پیچیده است، یه لینک به یه فایل دیگه توی پروژه بدید که توش توضیح دادید چطوری میشه پروژه رو راه اندازی کرد.
ریپوی awesome-readme اومده لیستی از README ها را به همراه توضیحات کوتاهی راجب اینکه چرا خوب نوشته شدن رو جمع آوری کرده که می تونید ازشون ایده بگیرید :
🔗 https://github.com/matiassingers/awesome-readme
برای نوشتن و ویرایش فایل های Markdown هم marktext یا obsidian رو پیشنهاد میکنم.
🆔 @MdDaily
فایل README چیه؟
فایل README اولین چیزیه که یه کاربر وقتی مخزن شما رو باز میکنه، میبینه. این فایل بهش یه ایده کلی از پروژه، زبانی که توش استفاده شده، شرایط و قوانین، کارایی هاش، اسکرین شات از برنامه در حال اجرا و... میده.
چرا مهمه؟
این کاربر میتونه یه استخدام کننده یا کلاینت باشه.
پس خیلی مهمه که README پروژه شما به سوالات "چیه"، "چرا" و "چطوری" پروژه جواب بده.
یعنی باید:
👈مهم ترین اطلاعات رو توش بنویسید.
👈پروژه و تکنولوژی های استفاده شده توش رو واضح توضیح بدید.
👈 لینک ها و توضیحات اضافی که توی README جا نمیشن رو یه جای دیگه بذارید تا کاربر مجبور نشه دنبالشون بگرده.
در غیر این صورت ممکنه کاربر حوصله اش سر بره و میره سراغ یه پروژه دیگه. خیلی توصیه میشه که مستندات پروژه تون رو خوب بنویسید.چونکه کاربر ها نه فقط دنبال اطلاعات پروژه هستن، بلکه میخوان ببینن شما چقدر دقیق و با حوصله هستید.
چی توی README بذاریم؟
با خودتون فکر کنید:
👈پروژه شما چیه؟
👈چرا این پروژه رو ساختید؟
👈چه مشکلی رو حل میکنه؟
👈شما توی این پروژه چی یاد گرفتید؟
👈چه چیزی باعث میشه پروژه شما از بقیه پروژه ها متمایز باشه؟
بعد جواب این سوالات رو توی README بنویسید.
ساختار پیشنهادی
👈معرفی: یه توضیح کوتاه و مختصر از پروژه که کاربر توی چند ثانیه اول بفهمه پروژه شما چیه.
👈تکنولوژی: زبان های برنامه نویسی، کتابخانه ها و فریم ورک های استفاده شده توی پروژه (مثلا پایتون، React و...).
👈طراحی: عکس، فیلم یا GIF از رابط کاربری پروژه (اگه رابط کاربری داره).
👈ویژگی ها: اگه پروژه شما ویژگی های زیادی داره، یه لیست ازشون توی این بخش بذارید.
راه اندازی:
👈توضیح بدید که چطوری میشه پروژه رو نصب و اجرا کرد.
👈اگه راه اندازی پروژه ساده است، توی README توضیحش بدید و اگه راه اندازی پروژه پیچیده است، یه لینک به یه فایل دیگه توی پروژه بدید که توش توضیح دادید چطوری میشه پروژه رو راه اندازی کرد.
ریپوی awesome-readme اومده لیستی از README ها را به همراه توضیحات کوتاهی راجب اینکه چرا خوب نوشته شدن رو جمع آوری کرده که می تونید ازشون ایده بگیرید :
🔗 https://github.com/matiassingers/awesome-readme
برای نوشتن و ویرایش فایل های Markdown هم marktext یا obsidian رو پیشنهاد میکنم.
🆔 @MdDaily
👍8❤🔥5👎1🔥1👌1
Sudoer
یکی از دولوپرها و میننینرهای اصلی انجینکس از تیم انجینکس جدا شده و از دیروز تصمیم گرفته که یه فورکی از انجینکس منتشر کنه به اسم freenginx این توضیحاتش رو بخونید خیلی جالبه https://www.phoronix.com/news/Nginx-Forked-To-Freenginx
دلیلش رو میخوندم خیلی جالب بود، می گفت Maxim Dounin که یکی از دولوپر های اصلی به مدت زمان زیادی بوده بعد از اینکه شرکت F5 توی سال 2019 میاد و nginx رو میخره باهاشون به اختلاف نظر میخوره و وقتی سال 2022 شرکت F5 دفتر مسکو رو تعطیل میکنه دیگه Maxim برای این شرکت کار نمیکنه ولی باهاشون به توافق می رسه که صورت داوطلبانه و رایگان برای بهبود Nginx و بهتر کردنش همه کاری بکنه.
اما بعضی از مدیران جدید غیر فنی تو F5 دارن تصمیماتی میگیرن که با سیاست امنیتی که Nginx سالها ازش استفاده کرده ، مداخله کنن و هم سیاست و هم موضع توسعه دهندگان رو نادیده بگیرن.
نتیجش چیه ؟ با توجه به تغییرات تو F5 ممکنه تصمیماتی گرفته بشه که دیگه Nginx پروژه ای متن باز و رایگان که برای منافع عمومی توسعه و نگهداری میشه نباشه. پس Maxim به همین دلیل Nginx رو تحت عنوان Freenginx فورک کرده تا توسط توسعه دهندگان مدیریت بشه و نه شرکتی که طرز تفکر مدیرانش با اهداف nginx در تضاد هست .
وبسایت پروژه: http://freenginx.org
🆔 @MdDaily
اما بعضی از مدیران جدید غیر فنی تو F5 دارن تصمیماتی میگیرن که با سیاست امنیتی که Nginx سالها ازش استفاده کرده ، مداخله کنن و هم سیاست و هم موضع توسعه دهندگان رو نادیده بگیرن.
نتیجش چیه ؟ با توجه به تغییرات تو F5 ممکنه تصمیماتی گرفته بشه که دیگه Nginx پروژه ای متن باز و رایگان که برای منافع عمومی توسعه و نگهداری میشه نباشه. پس Maxim به همین دلیل Nginx رو تحت عنوان Freenginx فورک کرده تا توسط توسعه دهندگان مدیریت بشه و نه شرکتی که طرز تفکر مدیرانش با اهداف nginx در تضاد هست .
وبسایت پروژه: http://freenginx.org
🆔 @MdDaily
👍13
چنتا تا از بهترین ریپو های گیت هاب
🔗 30 Days Of JavaScript
این ریپو یک چالش برنامه نویسی 30 روزه جاوا اسکریپت رو ارائه میکنه که میتونید با تمرین عملی به بهبود مهارت های جاوا اسکریپتتون کمک کنید.
🔗 30 seconds of code
این ریپو، مجموعه ای عالی از قطعه کدهای مفید توی مباحث مختلف که میتونید اون ها رو تو 30 ثانیه یا کمتر یاد بگیرید.
🔗 App Ideas
توی این ریپو به صورت دسته بندی شده از Beginner تا Advanced ایده ی پروژه های مختلفی به شما میده
🔗 Beautiful Docs
این ریپو مجموعه ای از مثال های عالی و نکاتی از زبان های برنامه نویسی و تکنولوژی های مختلفه که کمک میکنه تا برای پروژه هاتون مستندات زیبایی ایجاد کنید :)
🔗 Build your own X
این یکی مورد علاقه ی خودمه :) توی این ریپو می تونید کلی مثال از نحوه ی پیاده سازی چیز های مختلف مثلا چطوری یه چیزی مثل داکر، یه شبیه ساز یا حتی یه Browser Engineering توی زبان های مختلف از صفر تا صد بسازید پیدا کنید.
🔗 Free-certifications
توی این ریپو می تونید لیست جامعی از گواهینامه ها و دوره های آموزشی رایگان برای موضوعات مختلف پیدا کنید.
🔗 Free for dev & Free Programming Books
توی این دوتا ریپو می تونید مجموعه از خدمات، نرم افزار ها، وبسایت ها و کتاب های رایگان رو پیدا کنید. ریپو Free Programming Books کتاب های به زبان فارسی هم داره.
🔗 Project Based Learning
این ریپو هم کار جالبی کرده اومده بر اساس زبان های برنامه نویسی مختلف دسته بندی انجام داده و وقتی یه زبان یا تکنلوژی را انتخاب می کنید نمونه پروژه هایی که میشه باهاش ساخت را لیست کرده به همراه اموزش ساختشون که اکثرا ویدیو های یوتیوب هستند
🔗 Public APIs
لیستی از APIهای رایگان
🔗 Devops Eexercises
این ریپو شامل سؤالات و تمرینهایی در مورد موضوعات فنی مختلف مثل DevOps و SRE هستش و در حال حاضر میتونید 2624 تا سوال و تمرین توش پیدا کنید
➖➖➖
شما دیگه چه ریپو هایی رو میشناسید که جاشون توی این لیست خالیه؟
🆔 @MdDaily
🔗 30 Days Of JavaScript
این ریپو یک چالش برنامه نویسی 30 روزه جاوا اسکریپت رو ارائه میکنه که میتونید با تمرین عملی به بهبود مهارت های جاوا اسکریپتتون کمک کنید.
🔗 30 seconds of code
این ریپو، مجموعه ای عالی از قطعه کدهای مفید توی مباحث مختلف که میتونید اون ها رو تو 30 ثانیه یا کمتر یاد بگیرید.
🔗 App Ideas
توی این ریپو به صورت دسته بندی شده از Beginner تا Advanced ایده ی پروژه های مختلفی به شما میده
🔗 Beautiful Docs
این ریپو مجموعه ای از مثال های عالی و نکاتی از زبان های برنامه نویسی و تکنولوژی های مختلفه که کمک میکنه تا برای پروژه هاتون مستندات زیبایی ایجاد کنید :)
🔗 Build your own X
این یکی مورد علاقه ی خودمه :) توی این ریپو می تونید کلی مثال از نحوه ی پیاده سازی چیز های مختلف مثلا چطوری یه چیزی مثل داکر، یه شبیه ساز یا حتی یه Browser Engineering توی زبان های مختلف از صفر تا صد بسازید پیدا کنید.
🔗 Free-certifications
توی این ریپو می تونید لیست جامعی از گواهینامه ها و دوره های آموزشی رایگان برای موضوعات مختلف پیدا کنید.
🔗 Free for dev & Free Programming Books
توی این دوتا ریپو می تونید مجموعه از خدمات، نرم افزار ها، وبسایت ها و کتاب های رایگان رو پیدا کنید. ریپو Free Programming Books کتاب های به زبان فارسی هم داره.
🔗 Project Based Learning
این ریپو هم کار جالبی کرده اومده بر اساس زبان های برنامه نویسی مختلف دسته بندی انجام داده و وقتی یه زبان یا تکنلوژی را انتخاب می کنید نمونه پروژه هایی که میشه باهاش ساخت را لیست کرده به همراه اموزش ساختشون که اکثرا ویدیو های یوتیوب هستند
🔗 Public APIs
لیستی از APIهای رایگان
🔗 Devops Eexercises
این ریپو شامل سؤالات و تمرینهایی در مورد موضوعات فنی مختلف مثل DevOps و SRE هستش و در حال حاضر میتونید 2624 تا سوال و تمرین توش پیدا کنید
➖➖➖
شما دیگه چه ریپو هایی رو میشناسید که جاشون توی این لیست خالیه؟
🆔 @MdDaily
❤🔥7👍1🔥1👌1
animation.gif
11.7 MB
تست و اجرای برنامه های اندرویدی در دستگاه های واقعی بدون نیاز به استفاده از منابع شما در نسخه ی جدید اندروید استودیو ممکن شد!
همونطور که توی گیف مشخصه توی آپدیت جدید Jellyfish در کانال Canary اندروید استودیو این امکان فراهم شده که شما بتونید توی دیوایس های واقعی و API Level های مختلف برنامه هاتون رو اجرا کنید و تست بگیرید. این سرویس از سمت فایربیس پشتیبانی میشه و فعلا رایگان هست و استفاده ازش محدودیتی نداره. توی این آپدیت دیگه مجبور نیستید برای تست اپ هاتون از گوشی واقعی خودتون یا شبیه ساز هایی که منابع سیستمون رو اشغال میکنند استفاده کنید.
ویژگی ها:
👈 عدم استفاده از منابع سیستم شما
👈 دسترسی به Logcat
👈 دسترسی به ADB
👈 امکان اجرا و تست روی چندین دیوایس به صورت هم زمان
میتونید نسخه ی Jellyfish رو از لینک زیر دانلود کنید:
🔗 https://developer.android.com/studio/preview
اطلاعات بیشتر در:
🔗 https://firebase.blog/posts/2024/02/device-streaming-android
🆔 @MdDaily
همونطور که توی گیف مشخصه توی آپدیت جدید Jellyfish در کانال Canary اندروید استودیو این امکان فراهم شده که شما بتونید توی دیوایس های واقعی و API Level های مختلف برنامه هاتون رو اجرا کنید و تست بگیرید. این سرویس از سمت فایربیس پشتیبانی میشه و فعلا رایگان هست و استفاده ازش محدودیتی نداره. توی این آپدیت دیگه مجبور نیستید برای تست اپ هاتون از گوشی واقعی خودتون یا شبیه ساز هایی که منابع سیستمون رو اشغال میکنند استفاده کنید.
ویژگی ها:
👈 عدم استفاده از منابع سیستم شما
👈 دسترسی به Logcat
👈 دسترسی به ADB
👈 امکان اجرا و تست روی چندین دیوایس به صورت هم زمان
میتونید نسخه ی Jellyfish رو از لینک زیر دانلود کنید:
🔗 https://developer.android.com/studio/preview
اطلاعات بیشتر در:
🔗 https://firebase.blog/posts/2024/02/device-streaming-android
🆔 @MdDaily
🔥4👍2
سیستم مدیریت محتوای Headless چیه؟
بذار یه مثال ساده بزنم. فرض کن میخوای یه ساختنی با لگو بسازی. تو دو تا راه داری:
1. از یه مجموعه لگوی آماده استفاده کنی:
تو این روش، میری یه مغازه اسباب بازی فروشی و یه مجموعه لگو که از قبل طراحی شده و یه عالمه قطعه داره رو میخری. با این مجموعه میتونی یه چیزایی مثل یه قلعه، یه سفینه فضایی یا یه ماشین بسازی.
2. خودت با لگو یه چیز جدید بسازی:
تو این روش، یه عالمه آجر لگو با رنگ ها و شکل های مختلف میگیری و با خلاقیت خودت شروع به ساختن میکنی. میتونی یه چیز خلاقانه و منحصر به فرد بسازی.
پس Headless CMS مثل روش دومه.
تو این روش، تو محتوای وب سایتت رو یه جا ذخیره میکنی (مثلاً متن، عکس، ویدیو). بعد، میتونی از این محتوا تو هر جایی که دوست داری استفاده کنی (مثلاً تو وب سایت، اپلیکیشن موبایل، یا حتی ساعت هوشمند).
مزیت Headless CMS چیه؟
👈آزادی عمل بیشتر: تو میتونی هر جوری که دوست داری محتوایت رو نمایش بدی. دیگه محدود به قالب های پیش فرض نیستی.
👈خلاقیت بیشتر: میتونی از خلاقیت خودت استفاده کنی و یه وب سایت یا اپلیکیشن منحصر به فرد بسازی.
👈انعطاف پذیری بیشتر: میتونی به راحتی محتوایت رو به روز رسانی کنی و تغییرات جدیدی ایجاد کنی.
در نتیجه Headless CMS برای چه کسانی مناسبِ؟
وقتی شما از چیزی مثل وردپرس استفاده می کنید بهتون یه پکیج کامل میده که می تونید وب سایت خودتون را باهاش ایجاد کنید ولی بعضی وقتا ما نیاز به CMS ای داریم که فقط مدیریت سمت بکند را انجام بده و ما بتونیم ازش توی کلاینت های مختلف استفاده کنیم پس Headless CMS یه راه حله که آزادی عمل و انعطاف پذیری بیشتری برای ساخت وب سایت یا اپلیکیشن میده.
معرفی Strapi:
یکی از قدرتمند ترین ابزار های Headless CMS پروژه ی Strapi است که با کمترین میزان کد نویسی ممکن در سمت بکند به شما یه پنل مدیریت کامل برای مدیریت محتوا به همراه API میده که توی هر کلاینتی می تونید بهش متصل بشید و برای فلاتر و react و ... هم پکیج داره.
🔗 وبسایت پروژه: https://strapi.io/
🔗 گیت هاب پروژه: https://github.com/strapi/strapi
🆔 @MdDaily
بذار یه مثال ساده بزنم. فرض کن میخوای یه ساختنی با لگو بسازی. تو دو تا راه داری:
1. از یه مجموعه لگوی آماده استفاده کنی:
تو این روش، میری یه مغازه اسباب بازی فروشی و یه مجموعه لگو که از قبل طراحی شده و یه عالمه قطعه داره رو میخری. با این مجموعه میتونی یه چیزایی مثل یه قلعه، یه سفینه فضایی یا یه ماشین بسازی.
2. خودت با لگو یه چیز جدید بسازی:
تو این روش، یه عالمه آجر لگو با رنگ ها و شکل های مختلف میگیری و با خلاقیت خودت شروع به ساختن میکنی. میتونی یه چیز خلاقانه و منحصر به فرد بسازی.
پس Headless CMS مثل روش دومه.
تو این روش، تو محتوای وب سایتت رو یه جا ذخیره میکنی (مثلاً متن، عکس، ویدیو). بعد، میتونی از این محتوا تو هر جایی که دوست داری استفاده کنی (مثلاً تو وب سایت، اپلیکیشن موبایل، یا حتی ساعت هوشمند).
مزیت Headless CMS چیه؟
👈آزادی عمل بیشتر: تو میتونی هر جوری که دوست داری محتوایت رو نمایش بدی. دیگه محدود به قالب های پیش فرض نیستی.
👈خلاقیت بیشتر: میتونی از خلاقیت خودت استفاده کنی و یه وب سایت یا اپلیکیشن منحصر به فرد بسازی.
👈انعطاف پذیری بیشتر: میتونی به راحتی محتوایت رو به روز رسانی کنی و تغییرات جدیدی ایجاد کنی.
در نتیجه Headless CMS برای چه کسانی مناسبِ؟
وقتی شما از چیزی مثل وردپرس استفاده می کنید بهتون یه پکیج کامل میده که می تونید وب سایت خودتون را باهاش ایجاد کنید ولی بعضی وقتا ما نیاز به CMS ای داریم که فقط مدیریت سمت بکند را انجام بده و ما بتونیم ازش توی کلاینت های مختلف استفاده کنیم پس Headless CMS یه راه حله که آزادی عمل و انعطاف پذیری بیشتری برای ساخت وب سایت یا اپلیکیشن میده.
معرفی Strapi:
یکی از قدرتمند ترین ابزار های Headless CMS پروژه ی Strapi است که با کمترین میزان کد نویسی ممکن در سمت بکند به شما یه پنل مدیریت کامل برای مدیریت محتوا به همراه API میده که توی هر کلاینتی می تونید بهش متصل بشید و برای فلاتر و react و ... هم پکیج داره.
🔗 وبسایت پروژه: https://strapi.io/
🔗 گیت هاب پروژه: https://github.com/strapi/strapi
🆔 @MdDaily
strapi.io
Strapi - Open source Node.js Headless CMS 🚀
Strapi is the next-gen headless CMS, open-source, JavaScript/TypeScript, enabling content-rich experiences to be created, managed and exposed to any digital device.
👍3🔥1