Forwarded from DevTwitter | توییت برنامه نویسی
ساخت یک پکیج Core برای میکرو فرانت اند
چند وقته که دارم روی یک پکیج Shared Core کار میکنم تا مشکل اشتراکگذاری کامپوننتها، هوکها، آیکونها و ابزارهای مشترک بین پروژههای میکرو فرانتاندی که داخل ریپو های مختلف هستن رو حل کنم. بعد از بررسی گزینههای مختلف، بهترین راهکار رو استفاده از GitHub Packages دیدم که باعث سریعتر شدن فرآیند توسعه و مدیریت سادهتر وابستگیها میشه(البته استفاده از monorepo هم گزینه خوبیه ولی برای پروژه هایی که داخل یک ریپو قرار دارند البته مشکلات زیادی توی deployment براتون پیش میاد).
ویژگیهای این پکیج:
* Rollup برای باندلینگ و بهینهسازی
* Storybook برای مستندسازی و تست کامپوننتها
* SVGR برای مدیریت و استفاده از آیکونهای SVG
* CI/CD خودکار با GitHub Actions
* قابلیت multi language support با استفاده از i18n , i18n-next
* انتشار روی GitHub Packages برای استفاده راحت در پروژههای مختلف
هر تغییری که با master مرج بشه عملیات ci/cd شروع میشه و مراحل build و release پروژه رو انجام میده به وسیله ی Github Actions
چرا به جای مونو ریپو از GitHub Packages استفاده کردم؟
* استقلال کامل پروژهها: هر پروژه نسخه مخصوص خودش رو داره و به تغییرات سایر پروژهها وابسته نیست.
* فرآیند توسعه سریعتر: نیازی به هماهنگسازی کل مونو ریپو نیست، فقط پکیج آپدیت میشه.
* پیچیدگی کمتر در CI/CD: فقط پکیج تغییر کرده منتشر میشه، نه کل ریپو.
استفاده راحت در پروژههای مختلف: بهسادگی از GitHub Packages نصب میشه، بدون تنظیمات اضافه.
برای استفاده از این ریپو میتونید مراحل زیر رو انجام بدین
1- تنظیم env متغیرها در GitHub: داخل فایل publish.yml یکسری متغییر داریم که برای استفاده از github action ضروری هستن و برای ست کردنشون کافیه که متغییری به اسم GT_TOKEN (میتونید داخل فایل publish.yml تغییرش بدید) رو داخل github secrets تعریف کنید
میتونید از این لینک کمک بگیرید:
https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions
2- کامپوننت ها، ایکون ها، helpers ها و هر انچه ماژول shared دارین رو انتقال بدید به core
3- کافیه تغییراتتون رو push کنید تا عملیات ci/cd استارت بشه و عملیات build و release انجام بشه (گیت هاب اکشن زمانی فعالیت رو اغاز میکنه که تغییراتی رو برنچ master اعمال بشه، میتونید داخل فایل publish.yml تغییرش بدین)
4- تنظیم npmrc برای نصب پکیج: برای نصب پکیج توی پروژههای دیگر، باید یک فایل npmrc. در ریشه پروژه قرار بدین. این فایل باید شامل توکن GitHub برای دسترسی به GitHub Packages باشه (میتونید از این لینک کمک بگیرید: https://stackoverflow.com/questions/72412063/personal-access-tokens-for-install-github-npm-packages)
اینو مد نظر داشته باید که پکیج شما همواره به این صورت خواهد بود
مثلا برای این ریپو به این صورت هستش
و در اخر کافیه پکیج رو نصب کنید
با این روش، پکیجهای shared core به راحتی بین پروژهها به اشتراک گذاشته میشن و فرایندهای CI/CD بهصورت خودکار و بدون نیاز به دخالت دستی انجام میشه.
https://github.com/sadegh1379/es-core
@DevTwitter | <Sadegh Akbari/>
https://github.com/sadegh1379/es-core
چند وقته که دارم روی یک پکیج Shared Core کار میکنم تا مشکل اشتراکگذاری کامپوننتها، هوکها، آیکونها و ابزارهای مشترک بین پروژههای میکرو فرانتاندی که داخل ریپو های مختلف هستن رو حل کنم. بعد از بررسی گزینههای مختلف، بهترین راهکار رو استفاده از GitHub Packages دیدم که باعث سریعتر شدن فرآیند توسعه و مدیریت سادهتر وابستگیها میشه(البته استفاده از monorepo هم گزینه خوبیه ولی برای پروژه هایی که داخل یک ریپو قرار دارند البته مشکلات زیادی توی deployment براتون پیش میاد).
ویژگیهای این پکیج:
* Rollup برای باندلینگ و بهینهسازی
* Storybook برای مستندسازی و تست کامپوننتها
* SVGR برای مدیریت و استفاده از آیکونهای SVG
* CI/CD خودکار با GitHub Actions
* قابلیت multi language support با استفاده از i18n , i18n-next
* انتشار روی GitHub Packages برای استفاده راحت در پروژههای مختلف
هر تغییری که با master مرج بشه عملیات ci/cd شروع میشه و مراحل build و release پروژه رو انجام میده به وسیله ی Github Actions
چرا به جای مونو ریپو از GitHub Packages استفاده کردم؟
* استقلال کامل پروژهها: هر پروژه نسخه مخصوص خودش رو داره و به تغییرات سایر پروژهها وابسته نیست.
* فرآیند توسعه سریعتر: نیازی به هماهنگسازی کل مونو ریپو نیست، فقط پکیج آپدیت میشه.
* پیچیدگی کمتر در CI/CD: فقط پکیج تغییر کرده منتشر میشه، نه کل ریپو.
استفاده راحت در پروژههای مختلف: بهسادگی از GitHub Packages نصب میشه، بدون تنظیمات اضافه.
برای استفاده از این ریپو میتونید مراحل زیر رو انجام بدین
1- تنظیم env متغیرها در GitHub: داخل فایل publish.yml یکسری متغییر داریم که برای استفاده از github action ضروری هستن و برای ست کردنشون کافیه که متغییری به اسم GT_TOKEN (میتونید داخل فایل publish.yml تغییرش بدید) رو داخل github secrets تعریف کنید
میتونید از این لینک کمک بگیرید:
https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions
2- کامپوننت ها، ایکون ها، helpers ها و هر انچه ماژول shared دارین رو انتقال بدید به core
3- کافیه تغییراتتون رو push کنید تا عملیات ci/cd استارت بشه و عملیات build و release انجام بشه (گیت هاب اکشن زمانی فعالیت رو اغاز میکنه که تغییراتی رو برنچ master اعمال بشه، میتونید داخل فایل publish.yml تغییرش بدین)
4- تنظیم npmrc برای نصب پکیج: برای نصب پکیج توی پروژههای دیگر، باید یک فایل npmrc. در ریشه پروژه قرار بدین. این فایل باید شامل توکن GitHub برای دسترسی به GitHub Packages باشه (میتونید از این لینک کمک بگیرید: https://stackoverflow.com/questions/72412063/personal-access-tokens-for-install-github-npm-packages)
اینو مد نظر داشته باید که پکیج شما همواره به این صورت خواهد بود
@PACKAGE_NAME/{GITHUB_USERNAME}مثلا برای این ریپو به این صورت هستش
sadegh1379/es-core@و در اخر کافیه پکیج رو نصب کنید
npm install @sadegh1379/es-coreبا این روش، پکیجهای shared core به راحتی بین پروژهها به اشتراک گذاشته میشن و فرایندهای CI/CD بهصورت خودکار و بدون نیاز به دخالت دستی انجام میشه.
https://github.com/sadegh1379/es-core
@DevTwitter | <Sadegh Akbari/>
https://github.com/sadegh1379/es-core
Forwarded from Linuxor ?
ترکیب دانش مالی و برنامه نویسی یکی از ترکیب های موثر برای پول در آوردنه، این ریپو یه مجموعه عظیمی از کتابخونه هایی که برای تحلیل مالی و ترید نیاز دارین رو جمع آوری کرده :
https://github.com/wilsonfreitas/awesome-quant
@Linuxor
https://github.com/wilsonfreitas/awesome-quant
@Linuxor
Forwarded from Geek Alerts
Pavel Durov
پست جدید پاول دوورو مدیر تلگرام در مورد رسیدن به ۱ میلیارد کاربر ماهانه
تلگرام اکنون به طرز قابلتوجهی بیش از ۱ میلیارد کاربر فعال ماهانه داره و تبدیل شده به دومین پیامرسان محبوب جهان(اگر ویچت چین رو درنظر نگیریم).
همچنین کاربران تلگرام به طور میانگین روزی ۲۱ بار این برنامه رو باز میکنن و ۴۱ دقیقه از روزشون رو درش سپری میکنن. در همین حال درآمد ما رشد کرده و به سود ۵۴۷میلیون دلاری در سال ۲۰۲۴ تبدیل شده.
در مقابل ما واتساپ قرار داره که نسخهای ارزان و بیکیفیت از تلگرامه. سالهاست که اونها درحال تقلید از ما هستند و همچنین میلیاردها دلار برای لابیگری و کمپینها خرج کردند تا تلگرام رو متوقف کنن، اما در نهایت تلگرام رشد کرد، سودآور شد و برخلاف رقیبمان، استقلال خودش رو حفظ کرد.
🤓 hadi @geekalerts
تلگرام اکنون به طرز قابلتوجهی بیش از ۱ میلیارد کاربر فعال ماهانه داره و تبدیل شده به دومین پیامرسان محبوب جهان(اگر ویچت چین رو درنظر نگیریم).
همچنین کاربران تلگرام به طور میانگین روزی ۲۱ بار این برنامه رو باز میکنن و ۴۱ دقیقه از روزشون رو درش سپری میکنن. در همین حال درآمد ما رشد کرده و به سود ۵۴۷میلیون دلاری در سال ۲۰۲۴ تبدیل شده.
در مقابل ما واتساپ قرار داره که نسخهای ارزان و بیکیفیت از تلگرامه. سالهاست که اونها درحال تقلید از ما هستند و همچنین میلیاردها دلار برای لابیگری و کمپینها خرج کردند تا تلگرام رو متوقف کنن، اما در نهایت تلگرام رشد کرد، سودآور شد و برخلاف رقیبمان، استقلال خودش رو حفظ کرد.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from محتوای آزاد سهراب
Forwarded from Geek Alerts
بالاخره بعد از ۹ ماه، دو فضانوردی که توسط Starliner بویینگ به فضا رفته بودند و به دلایل فنی در ایستگاه فضایی گیرافتاده بودن به زمین برگشتند. این دو نفر که میخواستن فقط دو هفته در فضا بمونن تا این فضاپیما رو امتحان کنن، به دلیل نقصهای فنی زیادی که برای این فضاپیما پیش اومده بود مجبور شدن با کپسول دراگون SpaceX برگردن. نقص فنیای که برای این فضاپیما پیش اومده بود باعث شد که ناسا ریسک نکنه و استارلاینر رو بدون سرنشین به زمین برگردونه و احتمالا ناسا قراردادش رو با این شرکت فسخ کنه. و اینطور شد که دیشب اسپیساکس در ماموریت Crew-9 این دو نفر رو برگردونه. در تصویر چهارنفر رو میبینید چون که دو فضانورد آمریکایی و روسی رو هم همراه این ماموریت به دنبال اونها فرستاند.
🔗 wired
🤓 hadi @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 🎄 یک برنامه نویس تنبل ( MΞ)
🔸cookie-extractor-extension
توی وب اسکرپینگ/نوشتن بات مواقعی پیش میاد که ما به همه کوکی ها نیاز داریم حتی اونایی که httpOnly/secure هستن
با js نمیشه دراورد بخاطر مسائل امنیتی
نت رو گشتم یه چیز ساده و درست حسابی نبود
یه افزونه نوشتم که میاد همه کوکی های سایت رو در میاره و توی المنتی ذخیره میکنه
اینطوری راحت میشه با سایر افزونه/یوزراسکریپتا ترکیب کرد
https://github.com/maanimis/cookie-extractor-extension
@TheRaymondDev
توی وب اسکرپینگ/نوشتن بات مواقعی پیش میاد که ما به همه کوکی ها نیاز داریم حتی اونایی که httpOnly/secure هستن
با js نمیشه دراورد بخاطر مسائل امنیتی
نت رو گشتم یه چیز ساده و درست حسابی نبود
یه افزونه نوشتم که میاد همه کوکی های سایت رو در میاره و توی المنتی ذخیره میکنه
اینطوری راحت میشه با سایر افزونه/یوزراسکریپتا ترکیب کرد
https://github.com/maanimis/cookie-extractor-extension
@TheRaymondDev
Forwarded from Linuxor ?
Forwarded from Agora (Alireza Azadi)
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from ASafaeirad
Node.js Launches Official Community Space on Discord
https://nodejs.org/en/blog/announcements/official-discord-launch-announcement
#node #discord #news
https://nodejs.org/en/blog/announcements/official-discord-launch-announcement
#node #discord #news
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 پاول دروف اعلام کرد که اکنون تلگرام به طور قابل توجهی بیش از ۱ میلیارد کاربر فعال ماهانه دارد و به دومین اپلیکیشن پیام رسان محبوب در جهان تبدیل شده است (به استثنای WeChat ویژه چین)
تعداد کاربران نیز در حال افزایش است. به طور متوسط هر کاربر روزانه ۲۱ بار تلگرام را باز می کند و روزانه ۴۱ دقیقه را در برنامه می گذراند و رشد درآمد ما با ۵۴۷ میلیون دلار سود در سال ۲۰۲۴ افزایش یافته است.
#خبر
@TheRaymondDev
تعداد کاربران نیز در حال افزایش است. به طور متوسط هر کاربر روزانه ۲۱ بار تلگرام را باز می کند و روزانه ۴۱ دقیقه را در برنامه می گذراند و رشد درآمد ما با ۵۴۷ میلیون دلار سود در سال ۲۰۲۴ افزایش یافته است.
#خبر
@TheRaymondDev
Telegram
Pavel Durov
🏆 Telegram now has significantly over 1 billion monthly active users, becoming the second most popular messaging app in the world (excluding the China-specific WeChat) 🥈
🔼User engagement is also rising. On average, each user opens Telegram 21 times daily…
🔼User engagement is also rising. On average, each user opens Telegram 21 times daily…
Forwarded from Kargadan.ir | کرگدن
🚀 آفر ویژه نوروزی | Kargadan Cloud Offers 🎉
🎉 ⭕️ سال نو ——- > زیرساختی نو❌ 📉
به مناسبت نوروز، با آفر ویژه کرگدن سرورهای ابری خود را با تخفیفهای استثنایی تمدید یا خریداری کنید و در سال جدید، کسبوکارتان را پایدارتر و مقرونبهصرفهتر پیش ببرید!
💡 این فرصت محدود است! هماکنون سرویسهای خود را تمدید یا سرویس جدید ایجاد کنید و با پرداخت دورهای، هزینههای خود را کاهش دهید.
✨ سال نو بر شما مبارک، با آرزوی موفقیت، سلامتی و رشد بیشتر برای شما و کسبوکارتان! ✨
تیم پشتیبانی کرگدن
#آفر_ویژه #نوروز
🔗 https://kargadan.ir
🆔 @kargadan_ir
به مناسبت نوروز، با آفر ویژه کرگدن سرورهای ابری خود را با تخفیفهای استثنایی تمدید یا خریداری کنید و در سال جدید، کسبوکارتان را پایدارتر و مقرونبهصرفهتر پیش ببرید!
⭕️ تخفیفهای ویژه نوروز:
🔹 15٪ تخفیف برای پرداختهای دوره ای یکماهه
🔹 25٪ تخفیف برای پرداختهای دوره ای سهماهه
🔹 35٪ تخفیف برای پرداختهای دوره ای ششماهه
🔹 50٪ تخفیف برای پرداختهای دوره ای یکساله
💡 این فرصت محدود است! هماکنون سرویسهای خود را تمدید یا سرویس جدید ایجاد کنید و با پرداخت دورهای، هزینههای خود را کاهش دهید.
✨ سال نو بر شما مبارک، با آرزوی موفقیت، سلامتی و رشد بیشتر برای شما و کسبوکارتان! ✨
تیم پشتیبانی کرگدن
#آفر_ویژه #نوروز
🆔 @kargadan_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python BackendHub (Mani)
https://dev.arie.bovenberg.net/blog/python-datetime-pitfalls/
اینو حتما بخونید. Datetime is hard. کدی که با دیت تایم سروکار داره، احتمال خیلی زیاد معمولا باگ داره
@PyBackendHub
اینو حتما بخونید. Datetime is hard. کدی که با دیت تایم سروکار داره، احتمال خیلی زیاد معمولا باگ داره
@PyBackendHub
Arie Bovenberg
Ten Python datetime pitfalls, and what libraries are (not) doing about it
It’s no secret that the Python datetime library has its quirks. Not only are there probably more than you think; third-party libraries don’t address most of them! I created a new library to explore what a better datetime library could look like.
Forwarded from Linuxor ?
این ریپو لیست بزرگی از پروژه هایی که با یه کامند ساده داکری میشه اونارو روی سرور بالا آورد رو جمع آوری کرده از چت روم های اختصاصی بگیر تا سرور اشتراک فایل و مانیتورینگ
https://github.com/hotheadhacker/awesome-selfhost-docker
@Linuxor
https://github.com/hotheadhacker/awesome-selfhost-docker
@Linuxor
Forwarded from دستاوردهای یادگیری عمیق(InTec)
قبلتر
بدون شک
نکته:
https://www.nvidia.com/en-us/products/workstations/dgx-station/
DGX Station رو معرفی کردم بودم (شخصا هم منتظرش هستم) یکی از دوستان پرسیده این یا اون ؟بدون شک
DGX Station به مراتب گزینه بهتری هست؛ اما برای شرکتی که میخواد انواع مدلها و Guard و ... رو تست کنه یا اینکه code assistant, agent توسعه بده و یا حتی Local LLM به نیروهاش بده DGX Spark گزینه ارزونتر و مناسبتری هست.نکته:
DGX Statiion هنوز معرفی هم نشده.https://www.nvidia.com/en-us/products/workstations/dgx-station/
NVIDIA
NVIDIA DGX Station
Revolutionary AI desktop with GB300 Superchip. 784GB memory, CUDA X-AI™ platform. Unparalleled performance for AI development teams.
Forwarded from Linuxor ?
Forwarded from Linuxor ?