سه اصل KISS ،YAGNI ،DRY در برنامه نویسی
🔵 اصل DRY
قانون DRY که مخفف dont repeat yourself هست، به معنای تکرار بیهوده نکردن کد میباشد. خلاصه و مفید بهتون بگم، یعنی کدوم بخش های برنامه مشابه هستن و سعی کنید با استفاده از کلاس ها و توابع، میزان استفاده از کدهای تکراری رو در پروژه به حداقل برسونید. هر چقدر از تکرار کد بیهوده بیشتر جلوگیری کنید، میزان زمان و هزینههای پشتیبانی خیلی کمتر میشه و مشکلات کمتری هم توی پروژه ایجاد میشه.
🔵 اصل KISS
این اصل مخفف Keep It Simple, Stupid هست و در این قاعده، ساده گرایی و پرهیز از پیچیدگی حرف اول رو میزنه. هرچقدر که کارها به واحدهای کوچک با فرآیندهای سادهتری تبدیل بشه، بازدهی افراد بیشتر میشه، میزان خطا کمتر میشه و پروژه موفق تر جلو میره. برای مثال کامپوننت های کوچیک بنویسیم، هر کامپوننت فقط یه کار مشخص رو انجام بده و ...
🔵 اصل YAGNI
اصل YAGNI که مخفف You Aren’t Gonna Need It هست، یک تمرین در توسعه نرم افزار هست که میگه ویژگی ها، فقط باید در صورت نیاز اضافه بشن. بحث اینه که توسعه دهندگان زمان خودشون رو برای ایجاد عناصر اضافی که ممکنه ضروری نباشن و باعث کند کردن روند توسعه هستن، تلف نکنن.
بطور خلاصه KISS, YAGNI, DRY سه اصل مهم در برنامه نویسی هستن که رعایت کردن اونها در نگهداری، تغییر و خوانایی کدهای پروژه در طولانی مدت بسیار تاثیرگذار میباشد.
#shahin
🤘 PgTwEeT | توییت برنامه نویسی
قانون DRY که مخفف dont repeat yourself هست، به معنای تکرار بیهوده نکردن کد میباشد. خلاصه و مفید بهتون بگم، یعنی کدوم بخش های برنامه مشابه هستن و سعی کنید با استفاده از کلاس ها و توابع، میزان استفاده از کدهای تکراری رو در پروژه به حداقل برسونید. هر چقدر از تکرار کد بیهوده بیشتر جلوگیری کنید، میزان زمان و هزینههای پشتیبانی خیلی کمتر میشه و مشکلات کمتری هم توی پروژه ایجاد میشه.
این اصل مخفف Keep It Simple, Stupid هست و در این قاعده، ساده گرایی و پرهیز از پیچیدگی حرف اول رو میزنه. هرچقدر که کارها به واحدهای کوچک با فرآیندهای سادهتری تبدیل بشه، بازدهی افراد بیشتر میشه، میزان خطا کمتر میشه و پروژه موفق تر جلو میره. برای مثال کامپوننت های کوچیک بنویسیم، هر کامپوننت فقط یه کار مشخص رو انجام بده و ...
اصل YAGNI که مخفف You Aren’t Gonna Need It هست، یک تمرین در توسعه نرم افزار هست که میگه ویژگی ها، فقط باید در صورت نیاز اضافه بشن. بحث اینه که توسعه دهندگان زمان خودشون رو برای ایجاد عناصر اضافی که ممکنه ضروری نباشن و باعث کند کردن روند توسعه هستن، تلف نکنن.
بطور خلاصه KISS, YAGNI, DRY سه اصل مهم در برنامه نویسی هستن که رعایت کردن اونها در نگهداری، تغییر و خوانایی کدهای پروژه در طولانی مدت بسیار تاثیرگذار میباشد.
#shahin
Please open Telegram to view this post
VIEW IN TELEGRAM
اشتباهات رایج برنامه نویسان مبتدی🧐
🔵 نداشتن برنامه ریزی
برنامهریزی برای یادگیری برنامهنویسی، مهمترین مرحله در مسیر یادگیری این حرفه هست. با برنامهریزی مناسب، میتونید بهترین نتیجه از زمان و انرژی خود در یادگیری برنامهنویسی بگیرید. برنامهریزی برای یادگیری برنامهنویسی بهمنظور تعیین مقدار زمان، منابع و اهداف یادگیری هست. با تعیین اهداف و مسیر مناسب، میتونید بهترین روش برای یادگیری برنامهنویسی و پیدا کنید و در کوتاهترین زمان ممکن به موفقیت برسید.
🔵 دست کم گرفتن کیفیت کد
اگر فقط می تونید روی یک جنبه از کدی که می نویسید تمرکز کنید، باید خوانایی اون باشه. هرگز اهمیت کیفیت کد رو دست کم نگیرید. به کدنویسی به عنوان راهی برای برقراری ارتباط با پیاده سازی ها نگاه کنید. وظیفه اصلی شما به عنوان یک کدنویس، اینه که راه حل هایی خوانا و بهینه انتخاب کنید.
🔵 انتخاب اولین راه حل
این نشانه ظریف یک تازه وارد واقعی هست. وقتی با مشكلی روبرو می شوند، راه حلی پیدا می كنن و فقط با اون جلو میرن. اونها بلافاصله قبل از اینکه به پیچیدگی ها و شکست های احتمالی راه حل شناسایی شده فکر کنن، سریعاً در اجرای اون عجله می کنند. اگرچه ممکنه راه حل اول وسوسه انگیز باشه، اما راه حل های خوب معمولا زمانی کشف میشن که همه راه حل هایی که پیدا کرده اید رو بررسی کنید. اگر نمیتونید به چندین راه حل برای یک مسئله فکر کنید، این احتمالاً نشانه اینه که کاملاً مسئله رو درک نمی کنید.
🔵 جستجو نکردن
چالش های برنامه نویسی طبیعیه، چرا که همیشه احتمال بروز باگ و خطا در پروژه های برنامه نویسی وجود داره و اصلا قرار نیست، صفر تا صد همه پروژه ها رو چشم بسته انجام بدیم. قطعا در طول انجام پروژه سوالات و مشکلاتی به وجود میاد اما…
اما مهم ترین چیزی میتونیم بهش تکیه کنیم اینه که مهارت سرچ کردن رو بعنوان یک برنامه نویس خوب یادبگیریم و بتونیم، به شکل صحیح راه حل رو پیدا کنیم.
🔵 عدم پذیرفت شکست
شما یک انسان هستید و مغز شما به شکست نیاز داره. بدن شما نیز خسته میشه و شما اغلب استراحت کردن رو فراموش میکنید. پذیرش شکست به عنوان یک برنامه نویس نشانه ضعف نیست، بلکه نشان دهنده انعطاف پذیری، سازگاری و تعهد به رشده. شکست بخشی اجتناب ناپذیر از سفر برای تبدیل شدن به یک توسعه دهنده ماهر هست و درس های اون بسیار ارزشمنده. با تغییر دیدگاه خود، عادی سازی شکست، اتخاذ بهترین شیوه ها مانند بررسی TDD و کد، و باز ماندن در برابر آزمایش و نوآوری، میتونید از قدرت شکست برای تبدیل شدن به یک برنامه نویس مؤثرتر و موفق تر استفاده کنید.
#shahin
🤘 PgTwEeT | توییت برنامه نویسی
برنامهریزی برای یادگیری برنامهنویسی، مهمترین مرحله در مسیر یادگیری این حرفه هست. با برنامهریزی مناسب، میتونید بهترین نتیجه از زمان و انرژی خود در یادگیری برنامهنویسی بگیرید. برنامهریزی برای یادگیری برنامهنویسی بهمنظور تعیین مقدار زمان، منابع و اهداف یادگیری هست. با تعیین اهداف و مسیر مناسب، میتونید بهترین روش برای یادگیری برنامهنویسی و پیدا کنید و در کوتاهترین زمان ممکن به موفقیت برسید.
اگر فقط می تونید روی یک جنبه از کدی که می نویسید تمرکز کنید، باید خوانایی اون باشه. هرگز اهمیت کیفیت کد رو دست کم نگیرید. به کدنویسی به عنوان راهی برای برقراری ارتباط با پیاده سازی ها نگاه کنید. وظیفه اصلی شما به عنوان یک کدنویس، اینه که راه حل هایی خوانا و بهینه انتخاب کنید.
این نشانه ظریف یک تازه وارد واقعی هست. وقتی با مشكلی روبرو می شوند، راه حلی پیدا می كنن و فقط با اون جلو میرن. اونها بلافاصله قبل از اینکه به پیچیدگی ها و شکست های احتمالی راه حل شناسایی شده فکر کنن، سریعاً در اجرای اون عجله می کنند. اگرچه ممکنه راه حل اول وسوسه انگیز باشه، اما راه حل های خوب معمولا زمانی کشف میشن که همه راه حل هایی که پیدا کرده اید رو بررسی کنید. اگر نمیتونید به چندین راه حل برای یک مسئله فکر کنید، این احتمالاً نشانه اینه که کاملاً مسئله رو درک نمی کنید.
چالش های برنامه نویسی طبیعیه، چرا که همیشه احتمال بروز باگ و خطا در پروژه های برنامه نویسی وجود داره و اصلا قرار نیست، صفر تا صد همه پروژه ها رو چشم بسته انجام بدیم. قطعا در طول انجام پروژه سوالات و مشکلاتی به وجود میاد اما…
اما مهم ترین چیزی میتونیم بهش تکیه کنیم اینه که مهارت سرچ کردن رو بعنوان یک برنامه نویس خوب یادبگیریم و بتونیم، به شکل صحیح راه حل رو پیدا کنیم.
شما یک انسان هستید و مغز شما به شکست نیاز داره. بدن شما نیز خسته میشه و شما اغلب استراحت کردن رو فراموش میکنید. پذیرش شکست به عنوان یک برنامه نویس نشانه ضعف نیست، بلکه نشان دهنده انعطاف پذیری، سازگاری و تعهد به رشده. شکست بخشی اجتناب ناپذیر از سفر برای تبدیل شدن به یک توسعه دهنده ماهر هست و درس های اون بسیار ارزشمنده. با تغییر دیدگاه خود، عادی سازی شکست، اتخاذ بهترین شیوه ها مانند بررسی TDD و کد، و باز ماندن در برابر آزمایش و نوآوری، میتونید از قدرت شکست برای تبدیل شدن به یک برنامه نویس مؤثرتر و موفق تر استفاده کنید.
#shahin
Please open Telegram to view this post
VIEW IN TELEGRAM
یه نظرسنجی موقت میزارم :
کدوم تم رو دوست دارید یا براتون جذابه واسه محیط ادیتور هاتون باهاش کار کنید ؟
کدوم تم رو دوست دارید یا براتون جذابه واسه محیط ادیتور هاتون باهاش کار کنید ؟
Anonymous Poll
86%
Dark Theme
5%
Light Theme
8%
ترکیبی از هردو تم
HTTP/2 و HTTP/3 چیه و چه کاربردی در وب داره؟ 🤔
درک عمیق پروتکلهای HTTP/2 و HTTP/3 به عنوان نسخههای جدیدتر HTTP، میتونه به بهبود کارایی و امنیت وبسایتها و اپلیکیشنهای شما کمک کنه. این پروتکلها با معرفی ویژگیهای پیشرفته، محدودیتهای HTTP/1.1 رو برطرف کرده و تجربه کاربری بهتری ارائه میدن.
1️⃣ Multiplexing:
- HTTP/2: یکی از بزرگترین بهبودها در HTTP/2 پشتیبانی از Multiplexing هست که اجازه میده چندین درخواست و پاسخ به طور همزمان از طریق یک اتصال TCP واحد ارسال بشن. این ویژگی مشکل Head-of-line Blocking در HTTP/1.1 رو برطرف میکنه.
- HTTP/3: این پروتکل از Multiplexing استفاده میکنه اما به جای TCP از QUIC استفاده میکنه که مشکلاتی مثل Head-of-line Blocking در لایه TCP رو هم برطرف میکنه و تاخیر رو کاهش میده.
2️⃣ Header Compression:
- HTTP/2: با استفاده از HPACK، فشردهسازی هدرها رو فراهم میکنه که باعث کاهش حجم دادههای ارسال شده و بهبود سرعت انتقال میشه.
- HTTP/3: از QPACK برای فشردهسازی هدرها استفاده میکنه که بهینهتر از HPACK عمل میکنه و با QUIC سازگارتره.
3️⃣ Connection Establishment:
- HTTP/2: هنوز از TCP استفاده میکنه و برای هر ارتباط جدید نیاز به سهمرحلهای TCP Handshake داره که ممکنه باعث تاخیر بشه.
- HTTP/3: به لطف استفاده از QUIC، که بر اساس UDP ساخته شده، اتصال سریعتر برقرار میشه و زمان لازم برای Handshake کاهش پیدا میکنه.
4️⃣ TLS Integration:
- HTTP/2: اگرچه TLS اختیاریه، اما بیشتر پیادهسازیهای HTTP/2 از TLS استفاده میکنن.
- HTTP/3: به طور ذاتی با TLS 1.3 ترکیب شده و امنیت بهتری ارائه میده.
درک این مفاهیم چه کمکی میکنه؟❗️
🔵 سرعت و کارایی بیشتر: با استفاده از HTTP/2 و HTTP/3 میتونید تاخیرها رو کاهش داده و صفحات وب رو سریعتر بارگذاری کنید.
🔵 افزایش امنیت: استفاده از نسخههای جدیدتر TLS به معنای ارتباطات امنتر و محافظت بهتر در برابر حملات است.
🔵 بهبود تجربه کاربری: با بارگذاری سریعتر صفحات، کاربران تجربه بهتری از وبسایت یا اپلیکیشن شما خواهند داشت.
برای کسب اطلاعات بیشتر، به منابع زیر مراجعه کنید⬇️
[ HTTP/2 ]
[ HTTP/3 ]
#vesal
🤘 PgTwEeT | توییت برنامه نویسی
درک عمیق پروتکلهای HTTP/2 و HTTP/3 به عنوان نسخههای جدیدتر HTTP، میتونه به بهبود کارایی و امنیت وبسایتها و اپلیکیشنهای شما کمک کنه. این پروتکلها با معرفی ویژگیهای پیشرفته، محدودیتهای HTTP/1.1 رو برطرف کرده و تجربه کاربری بهتری ارائه میدن.
- HTTP/2: یکی از بزرگترین بهبودها در HTTP/2 پشتیبانی از Multiplexing هست که اجازه میده چندین درخواست و پاسخ به طور همزمان از طریق یک اتصال TCP واحد ارسال بشن. این ویژگی مشکل Head-of-line Blocking در HTTP/1.1 رو برطرف میکنه.
- HTTP/3: این پروتکل از Multiplexing استفاده میکنه اما به جای TCP از QUIC استفاده میکنه که مشکلاتی مثل Head-of-line Blocking در لایه TCP رو هم برطرف میکنه و تاخیر رو کاهش میده.
- HTTP/2: با استفاده از HPACK، فشردهسازی هدرها رو فراهم میکنه که باعث کاهش حجم دادههای ارسال شده و بهبود سرعت انتقال میشه.
- HTTP/3: از QPACK برای فشردهسازی هدرها استفاده میکنه که بهینهتر از HPACK عمل میکنه و با QUIC سازگارتره.
- HTTP/2: هنوز از TCP استفاده میکنه و برای هر ارتباط جدید نیاز به سهمرحلهای TCP Handshake داره که ممکنه باعث تاخیر بشه.
- HTTP/3: به لطف استفاده از QUIC، که بر اساس UDP ساخته شده، اتصال سریعتر برقرار میشه و زمان لازم برای Handshake کاهش پیدا میکنه.
- HTTP/2: اگرچه TLS اختیاریه، اما بیشتر پیادهسازیهای HTTP/2 از TLS استفاده میکنن.
- HTTP/3: به طور ذاتی با TLS 1.3 ترکیب شده و امنیت بهتری ارائه میده.
درک این مفاهیم چه کمکی میکنه؟
برای کسب اطلاعات بیشتر، به منابع زیر مراجعه کنید
[ HTTP/2 ]
[ HTTP/3 ]
#vesal
Please open Telegram to view this post
VIEW IN TELEGRAM
نات کوین استخر جدید گذاشته و خیلی راحت و سریع میتونین انجامش بدین !
یک تسک جوین تلگرام هم داره که اگه جوین نشین فقط واردش بشین و برگردین هم تیک میخوره
راحت 1 دقیقه ای میتونین انجامش بدین
ورود به نات کوین
#پست_موقت
یک تسک جوین تلگرام هم داره که اگه جوین نشین فقط واردش بشین و برگردین هم تیک میخوره
راحت 1 دقیقه ای میتونین انجامش بدین
ورود به نات کوین
#پست_موقت
بچه ها ایردراپ کانادایی تایم فارم رو به هیچ وجه از دست ندید!
نیاز نیست تپ بزنید ، فقط کافیه فارم انجام بدید داخل ربات ، خیلی خیلی راحته . هر 3 یا 4 ساعت با توجه به ساعت هایی که دارید داخل بازی میرید فارم میزنید و کوین Claim میکنید.
لینک ورود به ربات تایم فارم
بعد پست نقشه راه معرفی شده تایم فارم رو قرار میدم . یه پروژه کامله حتما واردش بشید و از دست ندیدش !
#پست_موقت
نیاز نیست تپ بزنید ، فقط کافیه فارم انجام بدید داخل ربات ، خیلی خیلی راحته . هر 3 یا 4 ساعت با توجه به ساعت هایی که دارید داخل بازی میرید فارم میزنید و کوین Claim میکنید.
لینک ورود به ربات تایم فارم
بعد پست نقشه راه معرفی شده تایم فارم رو قرار میدم . یه پروژه کامله حتما واردش بشید و از دست ندیدش !
#پست_موقت
🔥نقشه راه یا همون Roadmap پروژه تایم فارم
کاربران بزرگترین دارایی ما هستند و توکن های SECOND که تولید میکنند به عنوان ارز در پلتفرم عمل میکند.
هدف نهایی ما تبلیغات کوتاه مدت نیست، بلکه ایجاد محصولات پایداری است که مردم در دراز مدت از آن استفاده کنند.
۱ : یکپارچه سازی کیف پول
۲ : افزودن فروشگاه و بهبود مکانیک بازی
۳ : ادغام توکن TIME در بلاکچین TON
۴ : مکانیزمی برای سوزاندن توکن های SECOND و توزیع مجدد توکن از کاربران غیرفعال به کاربران فعال
۵ : ادعام توکن TIME در اکوسیستم تایم فارم
۶ : مجموعه ای از NFT ها، دستاورد ها و شرایط همکاری منحصر به فرد برای کاربران فعال
۷ : اجرای انتقال داخلی برای توکن SECOND در داخل تایم فارم
۸ : اضافه کردن Ability یا همون نوعی توانایی برای ایجاد وظایف خود و افزودن قابلیت استفاده از توکن SECOND به عنوان پرداخت برای کار های تکمیل شده
۹ : راه اندازی اولین نسخه از پلتفرم وظایف کوچک
۱۰ : مکانیزم جدید استخراج. ایردراپ
۱۱ : افزودن ارز های جدید برای پرداخت وظیفه
۱۲ : ادغام توکن های SECOND در محصولات موجود اکوسیستم شرکت Chrono.tech
۱۳ : لیست شدن توکن😎
لینک ورود به ربات تایم فارم
کاربران بزرگترین دارایی ما هستند و توکن های SECOND که تولید میکنند به عنوان ارز در پلتفرم عمل میکند.
هدف نهایی ما تبلیغات کوتاه مدت نیست، بلکه ایجاد محصولات پایداری است که مردم در دراز مدت از آن استفاده کنند.
۱ : یکپارچه سازی کیف پول
۲ : افزودن فروشگاه و بهبود مکانیک بازی
۳ : ادغام توکن TIME در بلاکچین TON
۴ : مکانیزمی برای سوزاندن توکن های SECOND و توزیع مجدد توکن از کاربران غیرفعال به کاربران فعال
۵ : ادعام توکن TIME در اکوسیستم تایم فارم
۶ : مجموعه ای از NFT ها، دستاورد ها و شرایط همکاری منحصر به فرد برای کاربران فعال
۷ : اجرای انتقال داخلی برای توکن SECOND در داخل تایم فارم
۸ : اضافه کردن Ability یا همون نوعی توانایی برای ایجاد وظایف خود و افزودن قابلیت استفاده از توکن SECOND به عنوان پرداخت برای کار های تکمیل شده
۹ : راه اندازی اولین نسخه از پلتفرم وظایف کوچک
۱۰ : مکانیزم جدید استخراج. ایردراپ
۱۱ : افزودن ارز های جدید برای پرداخت وظیفه
۱۲ : ادغام توکن های SECOND در محصولات موجود اکوسیستم شرکت Chrono.tech
۱۳ : لیست شدن توکن😎
لینک ورود به ربات تایم فارم
سلام بچه ها صبحتون بخیر . داخل ایردراپ بلوم ، Tribe کانال توییت برنامه نویسی ساختیم . خوشحال میشیم اگه از ایردراپ بلوم استفاده میکنید، عضو ترایب ما بشید.
در رابطه با ایردراپ بلوم هم همینطور در تصویر میبینید جز انتخاب های سردبیران اپ سنتر تلگرام
که از طریق لینک زیر میتونید وارد تلگرام اپ سنتر بشید :
@tapps_bot
و اینکه ایردراپ بلوم ، قراره اولین صرافی غیر متمرکز روی بستر تلگرام باشه و توسط یه سری از مدیران سابق بایننس ایجاد شده که با توجه به مواردی گه گقته شد میشه به این پروژه به عنوان یک پروژه معتبر نگاه کرد .
زمان فارمینگ هم 8 ساعته داخل بلوم .
لینک Tribe توییت برنامه نویسی :
https://www.tg-me.com/BlumCryptoBot/app?startapp=tribe_pgtweet-ref_lSe1zlWTMe
در رابطه با ایردراپ بلوم هم همینطور در تصویر میبینید جز انتخاب های سردبیران اپ سنتر تلگرام
که از طریق لینک زیر میتونید وارد تلگرام اپ سنتر بشید :
@tapps_bot
و اینکه ایردراپ بلوم ، قراره اولین صرافی غیر متمرکز روی بستر تلگرام باشه و توسط یه سری از مدیران سابق بایننس ایجاد شده که با توجه به مواردی گه گقته شد میشه به این پروژه به عنوان یک پروژه معتبر نگاه کرد .
زمان فارمینگ هم 8 ساعته داخل بلوم .
لینک Tribe توییت برنامه نویسی :
https://www.tg-me.com/BlumCryptoBot/app?startapp=tribe_pgtweet-ref_lSe1zlWTMe
با Web Push Notifications بیشتر آشنا بشید! 🔔
Web Push یک تکنولوژی هست که به شما امکان میده تا نوتیفیکیشنهایی رو به کاربرها ارسال کنید، حتی زمانی که مرورگر بسته شده یا وبسایت در پسزمینه قرار داره. این نوتیفیکیشنها میتونن به کاربران اطلاع بدن و اونها رو به وبسایت شما برگردونن.
ویژگیهای کلیدی Web Push⬇️
1. Engagement: نوتیفیکیشنهای push میتونن کاربران رو به وبسایت شما برگردونن و مشارکت اونها رو افزایش بدن.
2. Re-engagement: با ارسال نوتیفیکیشنهای مهم میتونید کاربرهایی که مدتها به وبسایت شما سر نزدن رو مجدداً به وبسایت بازگردونید.
3. Customization: نوتیفیکیشنهای push میتونن شامل متن، تصاویر و لینکهایی باشن که کاربران رو به صفحات خاصی هدایت میکنن.
چطور از Web Push Notifications استفاده کنیم؟😄
ارسال نوتیفیکیشنهای Push: برای ارسال نوتیفیکیشنهای push، میتونید از سرویسهای Push Notification Service استفاده کنید و نوتیفیکیشنها رو به کاربران ارسال کنید. به مثال زیر توجه کنید:
به صورت کلی، Web Push Notifications یک ابزار قدرتمند برای افزایش مشارکت کاربران هست و به شما کمک میکنه تا کاربران رو از بروزرسانیها و اتفاقات مهم مطلع کنید. با استفاده از این تکنولوژی، میتونید از قدرت واقعی وبسایتها و برنامههای وب بهرهمند بشید و اطمینان حاصل کنید که وبسایت شما همیشه در دسترسه.
#vesal
🤘 PgTwEeT | توییت برنامه نویسی
Web Push یک تکنولوژی هست که به شما امکان میده تا نوتیفیکیشنهایی رو به کاربرها ارسال کنید، حتی زمانی که مرورگر بسته شده یا وبسایت در پسزمینه قرار داره. این نوتیفیکیشنها میتونن به کاربران اطلاع بدن و اونها رو به وبسایت شما برگردونن.
ویژگیهای کلیدی Web Push
1. Engagement: نوتیفیکیشنهای push میتونن کاربران رو به وبسایت شما برگردونن و مشارکت اونها رو افزایش بدن.
2. Re-engagement: با ارسال نوتیفیکیشنهای مهم میتونید کاربرهایی که مدتها به وبسایت شما سر نزدن رو مجدداً به وبسایت بازگردونید.
3. Customization: نوتیفیکیشنهای push میتونن شامل متن، تصاویر و لینکهایی باشن که کاربران رو به صفحات خاصی هدایت میکنن.
چطور از Web Push Notifications استفاده کنیم؟
ارسال نوتیفیکیشنهای Push: برای ارسال نوتیفیکیشنهای push، میتونید از سرویسهای Push Notification Service استفاده کنید و نوتیفیکیشنها رو به کاربران ارسال کنید. به مثال زیر توجه کنید:
self.addEventListener('push', function(event) {
const title = 'New Notification';
const options = {
body: event.data.text(),
icon: 'icon.png',
badge: 'badge.png'
};
event.waitUntil(self.registration.showNotification(title, options));
});
به صورت کلی، Web Push Notifications یک ابزار قدرتمند برای افزایش مشارکت کاربران هست و به شما کمک میکنه تا کاربران رو از بروزرسانیها و اتفاقات مهم مطلع کنید. با استفاده از این تکنولوژی، میتونید از قدرت واقعی وبسایتها و برنامههای وب بهرهمند بشید و اطمینان حاصل کنید که وبسایت شما همیشه در دسترسه.
#vesal
Please open Telegram to view this post
VIEW IN TELEGRAM
با Software Defined Networking (SDN) در برنامه نویسی آشنا بشید! 🌐
Software Defined Networking (SDN) یک معماری شبکه هست که به شما امکان میده تا شبکهها رو به صورت برنامهریزی شده مدیریت کنید. در این روش، کنترل شبکه از سختافزارهای شبکه جدا شده و به یک نرمافزار مرکزی انتقال پیدا میکنه. این نرمافزار میتونه به صورت داینامیک شبکهها رو پیکربندی و مدیریت کنه.
🟠 ویژگیهای کلیدی SDN:
1️⃣ جدا سازی لایه کنترل و داده:
- SDN کنترل شبکه رو از تجهیزات شبکه جدا میکنه و به یک کنترلر نرمافزاری، انتقال میده که میتونه شبکه رو به صورت مرکزی مدیریت کنه.
2️⃣ برنامهریزی داینامیک:
- با SDN میتونید شبکهها رو به صورت داینامیک و بر اساس نیازهای فعلی تنظیم و پیکربندی کنید.
3️⃣ مدیریت متمرکز:
- SDN امکان مدیریت متمرکز تمامی تجهیزات شبکه رو فراهم میکنه و به شما این امکان رو میده، که به راحتی تغییرات و بهروزرسانیها رو اعمال کنید.
چطور از SDN استفاده کنیم ؟
برای استفاده از SDN، مراحل زیر رو دنبال کنید:
1. استفاده از کنترلر SDN:
- کنترلر SDN قلب شبکه SDN هست. این کنترلر مسئول مدیریت و پیکربندی تجهیزات شبکه به صورت متمرکز هست.
2. پیکربندی شبکه:
- با استفاده از کنترلر SDN، میتونید تجهیزات شبکه رو پیکربندی و مدیریت کنید.
به صورت کلی، SDN به شما امکان میده تا شبکهها رو به صورت نرمافزاری مدیریت کنید و این میتونه باعث افزایش انعطافپذیری و کارایی شبکهها بشه. با استفاده از این تکنولوژی، میتونید شبکههای خودتون رو بهینهسازی کرده و به راحتی تغییرات رو اعمال کنید.
#vesal
🤘 PgTwEeT | توییت برنامه نویسی
Software Defined Networking (SDN) یک معماری شبکه هست که به شما امکان میده تا شبکهها رو به صورت برنامهریزی شده مدیریت کنید. در این روش، کنترل شبکه از سختافزارهای شبکه جدا شده و به یک نرمافزار مرکزی انتقال پیدا میکنه. این نرمافزار میتونه به صورت داینامیک شبکهها رو پیکربندی و مدیریت کنه.
- SDN کنترل شبکه رو از تجهیزات شبکه جدا میکنه و به یک کنترلر نرمافزاری، انتقال میده که میتونه شبکه رو به صورت مرکزی مدیریت کنه.
- با SDN میتونید شبکهها رو به صورت داینامیک و بر اساس نیازهای فعلی تنظیم و پیکربندی کنید.
- SDN امکان مدیریت متمرکز تمامی تجهیزات شبکه رو فراهم میکنه و به شما این امکان رو میده، که به راحتی تغییرات و بهروزرسانیها رو اعمال کنید.
چطور از SDN استفاده کنیم ؟
برای استفاده از SDN، مراحل زیر رو دنبال کنید:
1. استفاده از کنترلر SDN:
- کنترلر SDN قلب شبکه SDN هست. این کنترلر مسئول مدیریت و پیکربندی تجهیزات شبکه به صورت متمرکز هست.
from ryu.base import app_manager
from ryu.controller import ofp_event
from ryu.controller.handler import MAIN_DISPATCHER, set_ev_cls
from ryu.ofproto import ofproto_v1_3
class SimpleSwitch(app_manager.RyuApp):
OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION]
def __init__(self, *args, **kwargs):
super(SimpleSwitch, self).__init__(*args, **kwargs)
@set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)
def packet_in_handler(self, ev):
msg = ev.msg
datapath = msg.datapath
ofproto = datapath.ofproto
parser = datapath.ofproto_parser
actions = [parser.OFPActionOutput(ofproto.OFPP_FLOOD)]
out = parser.OFPPacketOut(datapath=datapath, buffer_id=msg.buffer_id,
in_port=msg.match['in_port'], actions=actions)
datapath.send_msg(out)
2. پیکربندی شبکه:
- با استفاده از کنترلر SDN، میتونید تجهیزات شبکه رو پیکربندی و مدیریت کنید.
sudo mn --controller=remote,ip=127.0.0.1 --topo=single,3
به صورت کلی، SDN به شما امکان میده تا شبکهها رو به صورت نرمافزاری مدیریت کنید و این میتونه باعث افزایش انعطافپذیری و کارایی شبکهها بشه. با استفاده از این تکنولوژی، میتونید شبکههای خودتون رو بهینهسازی کرده و به راحتی تغییرات رو اعمال کنید.
#vesal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
تفاوت کتابخانه و فریمورک چیه؟ 🧐
یکی از سوالات اساسی که توی مصاحبه ها مطرح میشه، اینه که چه تفاوتهایی بین کتابخانه و فریمورک وجود داره؟
تفاوت اصلی بین کتابخانه و فریمورک در “وارونگی کنترل (inversion of Control)” هست. وقتی که شما یک method رو از کتابخانه فراخوانی میکنید، شمایید که بر رویکرد اون کنترل دارید. اما در فریمورک اینمسئله برعکسه. فریمورکه که کدهای شما و فراخوانی میکنه.
🔵 وقتی که شما از کتابخانه استفاده میکنید، کنترل تمام روند برنامه در دستان شماست. اما در فریمورک شکلدیگری از کنترل وجود داره. فریمورکه که تمام جریان برنامه رو در دست میگیره. برخی از مکانها را برای شما فراهم میکنه تا بتونید کد خودتونو به فریمورک متصل کنید و موقع نیاز کدهای شما
رو فراخوانی میکنه.
🔵 در سمت دیگه، کتابخانه هیچ چیزی رو برای شروع در اختیار شما نمیزاره. در مقابلِ فریمورک، ویژگیهای محدودتری در کتابخانه وجود داره. همچنین برای استفاده گستردهتر از اونا باید از ویژگیهای ثالث (third-party) دیگر استفاده کنید.
🔵 فریمورک، تمامی جریان (flow) رو در کنترل خود داره و نقاطی از پیش تعریفشده وجود داره که شما باید، با کدهای خودتون اونا رو تکمیل کنید. همچنین فریمورک معمولاً پیچیدهتر هستن.
🔵 فریمورک اسکلتی رو تعریف میکند که در اون، برنامه ما ویژگیهای خاص خودشو برای تکمیلکردن ایناسکلت به اون اضافه میکنه. از اینطریق، فریمورک در زمان موردنیاز کدهای شمارو فراخوانی میکنه.
در هردوی اونا – فریمورک و کتابخانه، APIهای تعریف شدهای موجوده که توسط برنامهنویسان، مورد استفاده قرار میگیره.
در نهایت میشه به این نتیجه رسید که کتابخانه، در توسعه ویژگیهای اپلیکیشن به ما کمک میکنه و فریمورک اسکلت اون رو تشکیل میده.
#shahin
🤘 PgTwEeT | توییت برنامه نویسی
یکی از سوالات اساسی که توی مصاحبه ها مطرح میشه، اینه که چه تفاوتهایی بین کتابخانه و فریمورک وجود داره؟
تفاوت اصلی بین کتابخانه و فریمورک در “وارونگی کنترل (inversion of Control)” هست. وقتی که شما یک method رو از کتابخانه فراخوانی میکنید، شمایید که بر رویکرد اون کنترل دارید. اما در فریمورک اینمسئله برعکسه. فریمورکه که کدهای شما و فراخوانی میکنه.
رو فراخوانی میکنه.
در هردوی اونا – فریمورک و کتابخانه، APIهای تعریف شدهای موجوده که توسط برنامهنویسان، مورد استفاده قرار میگیره.
در نهایت میشه به این نتیجه رسید که کتابخانه، در توسعه ویژگیهای اپلیکیشن به ما کمک میکنه و فریمورک اسکلت اون رو تشکیل میده.
#shahin
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
اگه به دنبال یادگیری ماشین و هوش مصنوعی هستید، ریپازیتوری زیر پر از کتاب های کاملا رایگان و کاربردی هست.
🔗 https://github.com/josephmisiti/awesome-machine-learning/blob/master/books.md
#shahin
🤘 PgTwEeT | توییت برنامه نویسی
#shahin
Please open Telegram to view this post
VIEW IN TELEGRAM
وب اپلیکیشن یا pwa چیه و چرا باید یادش بگیریم؟ 🤔
وب اپلیکیشن یا PWA که مخفف کلمه Progressive Web Apps هست، به معنای اپلیکیشن تحت وب پیش رونده میباشد.
این نوع اپلیکیشن در سال ۲۰۱۵ توسط گوگل معرفی شد. Pwa نیاز به نصب نداره و از طریق مرورگر در اختیار کاربران قرار میگیره.
در طراحی وب اپلیکیشنها این امکان داده شده که کاربر هم بتونه به صورت آنلاین و هم آفلاین از وب اپلیکیشن استفاده کنه. در وب اپلیکیشنهای آفلاین، هسته اصلی برنامه در cache مرورگر ذخیره شده و در صورتی که ارتباط با اینترنت نیز قطع بشه، این اپلیکیشنها بارگذاری میشن و هنگام اتصال مجدد، اپلیکیشن بروزرسانی خواهد شد.
مزایای استفاده از pwa⬇️
🔵 محدود نبودن به سیستم عامل
از مهم ترین ویژگیهای وب اپلیکیشنها، عدم محدودیت به سیستم عامل هست. قبل از پیدایش pwa، کسبوکارها باید نرم افزار خودشون و تو دو نسخه اندروید و ios طراحی میکردن تا بتونن نظر تمام مشتریای خودشونو جلب کنن.
🔵 بدون نیاز به نصب و اشغال حافظه
هر برنامهای که روی تلفن همراه نصب میشه، بخشی از حافظه تلفن و اشغال میکنه. وب اپلیکیشنها از طریق مرورگر کاربر قابل دسترسی اند و نیازی به نصب ندارن؛ به همین دلیل حافظه تلفن همراه کاربر اشغال نمیکنن و کاربر هر وقت بخواد به راحتی و از طریق مرورگر به اون دسترسی خواهد داشت.
🔵 بدون نیاز به بروزرسانی
طراحی نسخه تحت وب PWA به گونه ای انجام میشه که دیگه نیازی به بروزرسانی نداره و از اونجایی که روی یک سرور قرار دارن، با هربار ورود به، آخرین نسخه وب اپلیکیشن در دسترس شما قرار خواهد گرفت.
🔵 واکنشگرا بودن
وب اپلیکیشنها به صورت ریسپانسیو طراحی میشن؛ این به این معنیه که روی همه دستگاهها با اندازه صفحه نمایشگر مختلف، عملکرد و نمایش خوبی دارن؛ به همین دلیل تمامی کاربرا با هر نوع دیوایس میتونن به راحتی از وب اپلیکیشن شما استفاده کنن.
🔵 هزینه پایینتر نسبت به اپلیکیشن
طراحی وب اپلیکیشن نسبت به اپلیکشنهای موبایل هزینه کمتری داره. وقتی که شما اقدام به طراحی اپلیکیشن برای کسبوکار یا پروژه ای میکنید، باید اپلیکیشن خودتون و در دو نسخه اندروید و ios تهیه کنید و نیاز به یک تیم برنامه نویسی برای هر یک از نسخهها خواهید داشت. اما برای تهیه وب اپلیکیشن، شما تنها نیازمند یک تیم طراحی وب سایت حرفهای هستید که با زبانهای Html، CSS و سایر زبانهای طراحی وب آشنایی داشته باشن.
وب اپلیکیشنها نوع جدیدی از اپلیکیشنها هستن که به علت مزایای بالای اونها نسبت به طراحی اپلیکیشن، مورد استفاده بسیاری از کسبوکارها قرار گرفتن. قطعا یادگیری pwa تو رزومه شما تاثیر بسیار خوبی میذاره و شما رو نسبت به سایر برنامه نویسا، یه پله حرفه ای تر میکنه😎
#shahin
🤘 PgTwEeT | توییت برنامه نویسی
وب اپلیکیشن یا PWA که مخفف کلمه Progressive Web Apps هست، به معنای اپلیکیشن تحت وب پیش رونده میباشد.
این نوع اپلیکیشن در سال ۲۰۱۵ توسط گوگل معرفی شد. Pwa نیاز به نصب نداره و از طریق مرورگر در اختیار کاربران قرار میگیره.
در طراحی وب اپلیکیشنها این امکان داده شده که کاربر هم بتونه به صورت آنلاین و هم آفلاین از وب اپلیکیشن استفاده کنه. در وب اپلیکیشنهای آفلاین، هسته اصلی برنامه در cache مرورگر ذخیره شده و در صورتی که ارتباط با اینترنت نیز قطع بشه، این اپلیکیشنها بارگذاری میشن و هنگام اتصال مجدد، اپلیکیشن بروزرسانی خواهد شد.
مزایای استفاده از pwa
از مهم ترین ویژگیهای وب اپلیکیشنها، عدم محدودیت به سیستم عامل هست. قبل از پیدایش pwa، کسبوکارها باید نرم افزار خودشون و تو دو نسخه اندروید و ios طراحی میکردن تا بتونن نظر تمام مشتریای خودشونو جلب کنن.
هر برنامهای که روی تلفن همراه نصب میشه، بخشی از حافظه تلفن و اشغال میکنه. وب اپلیکیشنها از طریق مرورگر کاربر قابل دسترسی اند و نیازی به نصب ندارن؛ به همین دلیل حافظه تلفن همراه کاربر اشغال نمیکنن و کاربر هر وقت بخواد به راحتی و از طریق مرورگر به اون دسترسی خواهد داشت.
طراحی نسخه تحت وب PWA به گونه ای انجام میشه که دیگه نیازی به بروزرسانی نداره و از اونجایی که روی یک سرور قرار دارن، با هربار ورود به، آخرین نسخه وب اپلیکیشن در دسترس شما قرار خواهد گرفت.
وب اپلیکیشنها به صورت ریسپانسیو طراحی میشن؛ این به این معنیه که روی همه دستگاهها با اندازه صفحه نمایشگر مختلف، عملکرد و نمایش خوبی دارن؛ به همین دلیل تمامی کاربرا با هر نوع دیوایس میتونن به راحتی از وب اپلیکیشن شما استفاده کنن.
طراحی وب اپلیکیشن نسبت به اپلیکشنهای موبایل هزینه کمتری داره. وقتی که شما اقدام به طراحی اپلیکیشن برای کسبوکار یا پروژه ای میکنید، باید اپلیکیشن خودتون و در دو نسخه اندروید و ios تهیه کنید و نیاز به یک تیم برنامه نویسی برای هر یک از نسخهها خواهید داشت. اما برای تهیه وب اپلیکیشن، شما تنها نیازمند یک تیم طراحی وب سایت حرفهای هستید که با زبانهای Html، CSS و سایر زبانهای طراحی وب آشنایی داشته باشن.
وب اپلیکیشنها نوع جدیدی از اپلیکیشنها هستن که به علت مزایای بالای اونها نسبت به طراحی اپلیکیشن، مورد استفاده بسیاری از کسبوکارها قرار گرفتن. قطعا یادگیری pwa تو رزومه شما تاثیر بسیار خوبی میذاره و شما رو نسبت به سایر برنامه نویسا، یه پله حرفه ای تر میکنه
#shahin
Please open Telegram to view this post
VIEW IN TELEGRAM
درود
دوستان نیازمند یک ادمین فعال هستیم.
در صورت تمایل و داشتن توانایی های لازم پیوی بنده پیام بدید💙🙏🏻
🤘 PgTwEeT | توییت برنامه نویسی
دوستان نیازمند یک ادمین فعال هستیم.
در صورت تمایل و داشتن توانایی های لازم پیوی بنده پیام بدید💙🙏🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
دنبال ایده یا نمونه پروژه های حرفه ای هستی؟ 🤔
تو repository زیر، فهرستی از زبان های برنامه نویسی قرار داده شده که هر کدوم دارای پروژه های کوچیک و بزرگی هستن. اگه به دنبال ایده یا مشتاق یادگیری هستید پیشنهاد میکنم حتما یه سر به این repository بزنید.
🌐 project-based-learnin
#shahin
🤘 PgTwEeT | توییت برنامه نویسی
تو repository زیر، فهرستی از زبان های برنامه نویسی قرار داده شده که هر کدوم دارای پروژه های کوچیک و بزرگی هستن. اگه به دنبال ایده یا مشتاق یادگیری هستید پیشنهاد میکنم حتما یه سر به این repository بزنید.
#shahin
Please open Telegram to view this post
VIEW IN TELEGRAM