آیا میدانید Electron چیست؟
🔹 یک فریمورک که به برنامهنویسها اجازه میدهد با استفاده از فناوریهای وب مثل
HTML, CSS, and JavaScript
یعنی همون چیزی که برای وبسایتها استفاده میکنیم، برنامههای دسکتاپ (ویندوز، مک و لینوکس) بسازند.
🔹 شما میتونید یک وباپ بسازید و با Electron اون رو تبدیل کنید به یک برنامه دسکتاپ مستقل که روی سیستم کاربر اجرا میشه.
#اپلیکیشن #وب
----------
🆔 @OxinCode
🔹 یک فریمورک که به برنامهنویسها اجازه میدهد با استفاده از فناوریهای وب مثل
HTML, CSS, and JavaScript
یعنی همون چیزی که برای وبسایتها استفاده میکنیم، برنامههای دسکتاپ (ویندوز، مک و لینوکس) بسازند.
🔹 شما میتونید یک وباپ بسازید و با Electron اون رو تبدیل کنید به یک برنامه دسکتاپ مستقل که روی سیستم کاربر اجرا میشه.
#اپلیکیشن #وب
----------
🆔 @OxinCode
امروز میخوایم یک تجربه جالب از تیم مهندسی Monday.com رو باهاتون به اشتراک بذاریم! داستان کشف یک Singleton مخفی که فقط با Load Test خودش رو نشان داد!
در تست همزمانسازی دکمهی Generate report یک سری خطای عجیب 400 ظاهر شد. بعد از کلی بررسی، فهمیدن که یک سرویس اشتباهی بهصورت singleton رجیستر شده بوده و همین باعث میشد درخواستهای همزمان اطلاعات همدیگه رو خراب کنند.
مشکل؟
🔹 اشتراک ناخواسته state بین درخواستها.
راهحل؟
🔹 حذف singleton و بازگشت به سرویسهای stateless.
پیام مهم این داستان:
🔹 همیشه load test چیزهایی رو آشکار میکنه که در دنیای واقعی شاید ماهها دیده نشن
🔹 در سرویسهای async اگر state درست مدیریت نشه، فاجعه میسازه!
🔹 تست همزمانی روی یک instance رو جدی بگیرید
#مهندسی_نرمافزار
----------
🆔 @OxinCode
در تست همزمانسازی دکمهی Generate report یک سری خطای عجیب 400 ظاهر شد. بعد از کلی بررسی، فهمیدن که یک سرویس اشتباهی بهصورت singleton رجیستر شده بوده و همین باعث میشد درخواستهای همزمان اطلاعات همدیگه رو خراب کنند.
مشکل؟
🔹 اشتراک ناخواسته state بین درخواستها.
راهحل؟
🔹 حذف singleton و بازگشت به سرویسهای stateless.
پیام مهم این داستان:
🔹 همیشه load test چیزهایی رو آشکار میکنه که در دنیای واقعی شاید ماهها دیده نشن
🔹 در سرویسهای async اگر state درست مدیریت نشه، فاجعه میسازه!
🔹 تست همزمانی روی یک instance رو جدی بگیرید
#مهندسی_نرمافزار
----------
🆔 @OxinCode
امروز میخوایم خیلی خلاصه درباره یک نکته مهم در طراحی فرمهای وب حرف بزنیم:
تقویمهای انتخاب تاریخ!
🔹 واقعیت اینه که در اکثر مواقع اصلاً نیازی به Date Pickerهای پیچیده نیست.
🔹 استفاده از ورودیهای ساده و بومی مرورگر مثل date و time خیلی سریعتر، قابلاعتمادتر و کاربرپسندتره.
🔹 گاهی حتی بهتره تاریخ رو با چند ورودی جدا (روز/ماه/سال) یا حتی یک ورودی ساده با پیشنهادها وارد کنیم.
#وب
----------
🆔 @OxinCode
تقویمهای انتخاب تاریخ!
🔹 واقعیت اینه که در اکثر مواقع اصلاً نیازی به Date Pickerهای پیچیده نیست.
🔹 استفاده از ورودیهای ساده و بومی مرورگر مثل date و time خیلی سریعتر، قابلاعتمادتر و کاربرپسندتره.
🔹 گاهی حتی بهتره تاریخ رو با چند ورودی جدا (روز/ماه/سال) یا حتی یک ورودی ساده با پیشنهادها وارد کنیم.
#وب
----------
🆔 @OxinCode
🛠 آیا میدانید Forgejo چیست؟
🔹 یک پلتفرم متنباز و خودمیزبان برای مدیریت مخازن Git که شبیه GitHub عمل میکنه اما کاملاً آزاد، سبک و قابلنصب روی سرور خودتون.
🔹 اخیرا نسخه 13ام Forgejo هم منتشر شده! حتما امتحانش کنید.
#گیت #گیتهاب #دانستنیها
----------
🆔 @OxinCode
🔹 یک پلتفرم متنباز و خودمیزبان برای مدیریت مخازن Git که شبیه GitHub عمل میکنه اما کاملاً آزاد، سبک و قابلنصب روی سرور خودتون.
🔹 اخیرا نسخه 13ام Forgejo هم منتشر شده! حتما امتحانش کنید.
#گیت #گیتهاب #دانستنیها
----------
🆔 @OxinCode
آشنایی با کتابخانه ReUI
🔹 یه مجموعه اوپنسورس از کامپوننتهای React با افکتهای انیمیشنی فوقالعاده!
🔹 این مجموعه با
React, Typescript, Tailwind CSS, and Motion
ساخته شده و کاملاً با shadcn/ui سازگار است.
🔹 https://reui.io/docs/installation
#وب #طراحی
----------
🆔 @OxinCode
🔹 یه مجموعه اوپنسورس از کامپوننتهای React با افکتهای انیمیشنی فوقالعاده!
🔹 این مجموعه با
React, Typescript, Tailwind CSS, and Motion
ساخته شده و کاملاً با shadcn/ui سازگار است.
🔹 https://reui.io/docs/installation
#وب #طراحی
----------
🆔 @OxinCode
شما میدونید DuckDB چیه؟
🔹 یک پایگاه دادهی فوقسریع و سبک برای تحلیل داده!
🔹 این پایگاه داده شبیه SQLite هست اما برای کارهای تحلیلی و پردازش دادههای بزرگ استفاده میشه.
#پایگاه_داده
----------
🆔 @OxinCode
🔹 یک پایگاه دادهی فوقسریع و سبک برای تحلیل داده!
🔹 این پایگاه داده شبیه SQLite هست اما برای کارهای تحلیلی و پردازش دادههای بزرگ استفاده میشه.
#پایگاه_داده
----------
🆔 @OxinCode
شما میدونید Istio چیه؟
یک سرویسمش (Service Mesh) قدرتمند برای مدیریت ترافیک، امنیت، مانیتورینگ و کنترل ارتباطات بین سرویسها در محیطهای Kubernetes
🔹 https://istio.io/latest/docs/overview/quickstart
#امنیت #مدیریت_ترافیک
----------
🆔 @OxinCode
یک سرویسمش (Service Mesh) قدرتمند برای مدیریت ترافیک، امنیت، مانیتورینگ و کنترل ارتباطات بین سرویسها در محیطهای Kubernetes
🔹 https://istio.io/latest/docs/overview/quickstart
#امنیت #مدیریت_ترافیک
----------
🆔 @OxinCode
🎯 افکار نهایی برای تبدیل شدن به یک برنامهنویس در سطح ۱٪ برتر
✅ از مسیر لذت ببرید
✅ با ذهنیت امروزی و پیشرفته حرکت کنید
✅ مهارتهای حل مسئله را جدی بگیرید
✅ فرصتها را ببینید و غنیمت بشمارید
✅ کیفیت را به کمیت ترجیح دهید
✅ روی مهارتهای خود سرمایهگذاری کنید
✅ کد دیگران را بخوانید و تحلیل کنید
✅ با دیگر برنامهنویسان همکاری و ارتباط برقرار کنید
✅ از بهترینها یاد بگیرید
#برنامهنویسی
----------
🆔 @OxinCode
✅ از مسیر لذت ببرید
✅ با ذهنیت امروزی و پیشرفته حرکت کنید
✅ مهارتهای حل مسئله را جدی بگیرید
✅ فرصتها را ببینید و غنیمت بشمارید
✅ کیفیت را به کمیت ترجیح دهید
✅ روی مهارتهای خود سرمایهگذاری کنید
✅ کد دیگران را بخوانید و تحلیل کنید
✅ با دیگر برنامهنویسان همکاری و ارتباط برقرار کنید
✅ از بهترینها یاد بگیرید
#برنامهنویسی
----------
🆔 @OxinCode
📚 معرفی کتابِ Just Use Postgres!
🔹 اگه با PostgreSQL کار میکنید یا قصد دارید استفاده کنید، این کتاب عالیه! 🐘
🔹 مفاهیم پایه تا پیشرفته: کوئریها، تراکنش، ایندکسها، JSON، Full-Text Search و …
🔹 بررسی اکوسیستم PostgreSQL و افزونهها مثل pgvector و PostGIS
🔹 نکات عملی برای بهینهسازی عملکرد و طراحی نرمافزارهای حرفهای
🔹 نویسنده: Denis Magda
#کتاب #PostgreSQL
----------
🆔 @OxinCode
🔹 اگه با PostgreSQL کار میکنید یا قصد دارید استفاده کنید، این کتاب عالیه! 🐘
🔹 مفاهیم پایه تا پیشرفته: کوئریها، تراکنش، ایندکسها، JSON، Full-Text Search و …
🔹 بررسی اکوسیستم PostgreSQL و افزونهها مثل pgvector و PostGIS
🔹 نکات عملی برای بهینهسازی عملکرد و طراحی نرمافزارهای حرفهای
🔹 نویسنده: Denis Magda
#کتاب #PostgreSQL
----------
🆔 @OxinCode
نسل جدید طراحی تجربه کاربری (UX 3.0) فراتر از رابطهای سنتی است.
🔹 این عصر، تعامل بین انسان و هوش مصنوعی را محور قرار میدهد. چهار پایه اصلی UX 3.0 را در زیر ببینید.
🔹 اکوسیستم هوشمند: طراحی تجربه یکپارچه بین دستگاهها و سرویسها.
🔹 همزیستی انسان و ماشین: سیستمها نه تنها پاسخ میدهند، بلکه پیشبینی میکنند و همکاری میکنند.
🔹 تعامل انسانی-هوش مصنوعی: تجربهای شفاف، قابل اعتماد و شخصیسازیشده.
🔹 همآفرینی و هوش رابطهای: کاربران و طراحان به صورت فعال در خلق تجربهها مشارکت میکنند.
#طراحی_تجربه_کاربری
----------
🆔 @OxinCode
🔹 این عصر، تعامل بین انسان و هوش مصنوعی را محور قرار میدهد. چهار پایه اصلی UX 3.0 را در زیر ببینید.
🔹 اکوسیستم هوشمند: طراحی تجربه یکپارچه بین دستگاهها و سرویسها.
🔹 همزیستی انسان و ماشین: سیستمها نه تنها پاسخ میدهند، بلکه پیشبینی میکنند و همکاری میکنند.
🔹 تعامل انسانی-هوش مصنوعی: تجربهای شفاف، قابل اعتماد و شخصیسازیشده.
🔹 همآفرینی و هوش رابطهای: کاربران و طراحان به صورت فعال در خلق تجربهها مشارکت میکنند.
#طراحی_تجربه_کاربری
----------
🆔 @OxinCode
💥 آشنایی با Unosend
🔹 امروز میخوایم با Unosend آشنا شویم، یک API ایمیل که ارسال ایمیلهای تراکنشی و مارکتینگ رو با ۹۹.۹٪ تحویلپذیری فراهم میکنه.
🔹 پنجهزار ایمیل رایگان در ماه
🔹 قیمت شفاف و مقیاسپذیر
🔹 زیرساخت قابل اعتماد مثل Resend و SendGrid
🔹 تجربه توسعهدهنده عالی
🔹 برای شروع نیازی به کارت اعتباری نیست.
#مارکتینگ #API
----------
🆔 @OxinCode
🔹 امروز میخوایم با Unosend آشنا شویم، یک API ایمیل که ارسال ایمیلهای تراکنشی و مارکتینگ رو با ۹۹.۹٪ تحویلپذیری فراهم میکنه.
🔹 پنجهزار ایمیل رایگان در ماه
🔹 قیمت شفاف و مقیاسپذیر
🔹 زیرساخت قابل اعتماد مثل Resend و SendGrid
🔹 تجربه توسعهدهنده عالی
🔹 برای شروع نیازی به کارت اعتباری نیست.
#مارکتینگ #API
----------
🆔 @OxinCode
📱 پیدا کردن و حذف کدهای مرده در iOS و اندروید
🔹 نوشتن کد راحت شده، حذفش هم باید راحت باشه! Reaper یه SDK متنبازه که کدهایی که تو اپلیکیشن شما استفاده نمیشن رو پیدا میکنه.
🔹 با آنالیز زمان اجرا، Reaper نشون میده کدهایی که کاربر هیچوقت بهشون دسترسی نداشته، قابل حذف هستن.
🔹 Android
🔹 IOS
#برنامهنویسی #اندروید #IOS
----------
🆔 @OxinCode
🔹 نوشتن کد راحت شده، حذفش هم باید راحت باشه! Reaper یه SDK متنبازه که کدهایی که تو اپلیکیشن شما استفاده نمیشن رو پیدا میکنه.
🔹 با آنالیز زمان اجرا، Reaper نشون میده کدهایی که کاربر هیچوقت بهشون دسترسی نداشته، قابل حذف هستن.
🔹 Android
🔹 IOS
#برنامهنویسی #اندروید #IOS
----------
🆔 @OxinCode
امروز میخوایم درباره یک تحول بزرگ در طراحی رابطهای کاربری صحبت کنیم
🔹 تصور کن دیگه لازم نیست بین تبها جابهجا بشی، فرمها رو پر کنی یا روی منوها کلیک کنی. کافییه به دستیار دیجیتال بگی:
"این مبلغ رو منتقل کن، یه ایمیل با این موضوعها بنویس، خلاصهای برام آماده کن و تقویمم رو بروزرسانی کن."
🔹 این آینده نزدیکه و به لطف پروتکل جدیدِ
Model Context Protocol (MCP)
ممکن شده.
#رابط_کاربری #فناوری_نوین #هوش_مصنوعی
----------
🆔 @OxinCode
🔹 تصور کن دیگه لازم نیست بین تبها جابهجا بشی، فرمها رو پر کنی یا روی منوها کلیک کنی. کافییه به دستیار دیجیتال بگی:
"این مبلغ رو منتقل کن، یه ایمیل با این موضوعها بنویس، خلاصهای برام آماده کن و تقویمم رو بروزرسانی کن."
🔹 این آینده نزدیکه و به لطف پروتکل جدیدِ
Model Context Protocol (MCP)
ممکن شده.
#رابط_کاربری #فناوری_نوین #هوش_مصنوعی
----------
🆔 @OxinCode
سلام بچهها، امروز یه نکته مهم درباره مسیر برنامهنویس شدن میخوایم بگیم.
🔹 خیلی وقتها تو گیتهاب میگردیم و فکر میکنیم بقیه چند سال نوری جلوترن، ولی واقعیت اینه که همه توسعهدهندههای بزرگ، از یک Pull Request کوچیک شروع کردن 😉
🔹 تو هم اگه میخوای شروع کنی، پروژههای Open Source دقیقاً همون جاییه که میتونی.
#برنامهنویسی #گیت #گیتهاب
----------
🆔 @OxinCode
🔹 خیلی وقتها تو گیتهاب میگردیم و فکر میکنیم بقیه چند سال نوری جلوترن، ولی واقعیت اینه که همه توسعهدهندههای بزرگ، از یک Pull Request کوچیک شروع کردن 😉
🔹 تو هم اگه میخوای شروع کنی، پروژههای Open Source دقیقاً همون جاییه که میتونی.
#برنامهنویسی #گیت #گیتهاب
----------
🆔 @OxinCode
💥 سلام، امروز میخوایم فقط یه تلنگر ساده بزنیم به اونهایی که خودشون رو بیدلیل درگیر الگوهای طراحی و معماریهای پیچیده میکنن!
🔹 اصلا خوب نیست برای یه کار ساده، مثل نمایش اسم کاربر، بریم سراغِ
Factory + Strategy + Observer + Repository + Service Layer
🔹 واقعیت تخصصی ماجرا اینه که
Over-Engineering
نه فقط سرعت توسعه رو کم میکنه، بلکه Debt میسازه و Testability رو هم سختتر میکنه.
🔹 نود درصد مواقع یک فانکشن ساده و یک کلاس تمیز، بهتر از سه لایه Abstraction اضافهست.
🔹 سادگی هنر معماری نرمافزاره. گاهی فقط باید کمتر پیچیدهش کنیم.
#برنامهنویسی #مهندسی_نرمافزار
----------
🆔 @OxinCode
🔹 اصلا خوب نیست برای یه کار ساده، مثل نمایش اسم کاربر، بریم سراغِ
Factory + Strategy + Observer + Repository + Service Layer
🔹 واقعیت تخصصی ماجرا اینه که
Over-Engineering
نه فقط سرعت توسعه رو کم میکنه، بلکه Debt میسازه و Testability رو هم سختتر میکنه.
🔹 نود درصد مواقع یک فانکشن ساده و یک کلاس تمیز، بهتر از سه لایه Abstraction اضافهست.
🔹 سادگی هنر معماری نرمافزاره. گاهی فقط باید کمتر پیچیدهش کنیم.
#برنامهنویسی #مهندسی_نرمافزار
----------
🆔 @OxinCode
💥 معرفی Domain Locker ابزاری برای مدیریت همه دامنهها در یک جا
🔹 اگه چند تا دامنه داری و همیشه سختت میشه تاریخ انقضا، DNS و یا اطلاعات رجیسترار رو مدیریت کنی، این ابزار دقیقاً همون چیزیه که لازم داری.
🔹 این پروژه متنباز (MIT) هست و توسط Alicia Sykes توسعه داده شده.
🔹 همه دامنههات رو یکجا جمع میکنه و مرتب مانیتورشون میکنه.
🔹 از تغییرات مهم، مشکلات امنیتی یا نزدیک شدن به تاریخ انقضا بهت نوتیفیکیشن میده.
دموی آنلاین هم دارد:
demo.domain-locker.com
یوزر:
[email protected]
پسورد:
domainlocker
گیت هاب پروژه:
https://github.com/lissy93/domain-locker?ref=dailydev
#معرفی_ابزار #معرفی_سایت
----------
🆔 @OxinCode
🔹 اگه چند تا دامنه داری و همیشه سختت میشه تاریخ انقضا، DNS و یا اطلاعات رجیسترار رو مدیریت کنی، این ابزار دقیقاً همون چیزیه که لازم داری.
🔹 این پروژه متنباز (MIT) هست و توسط Alicia Sykes توسعه داده شده.
🔹 همه دامنههات رو یکجا جمع میکنه و مرتب مانیتورشون میکنه.
🔹 از تغییرات مهم، مشکلات امنیتی یا نزدیک شدن به تاریخ انقضا بهت نوتیفیکیشن میده.
دموی آنلاین هم دارد:
demo.domain-locker.com
یوزر:
[email protected]
پسورد:
domainlocker
گیت هاب پروژه:
https://github.com/lissy93/domain-locker?ref=dailydev
#معرفی_ابزار #معرفی_سایت
----------
🆔 @OxinCode
🌐 ایا میدانید Openness چیست؟
این مفهوم یعنی شفافیت و اعتماد در دادهها
این مفهوم از این جهت مهم است تا از وابستگی به یک فروشنده جلوگیری شود و انعطافپذیری سیستم حفظ شود.
با استفاده از فرمتهای استاندارد باز مثلِ
Data Lake Table Formats
امکان تغییر ابزار یا فروشنده بدون از دست رفتن دادهها فراهم میشود و سیستمها در مواقع اضطراری قابل اصلاح هستند.
مثالها شامل موارد زیر است که همگی با استانداردهای باز کار میکنند و از
Vendor Lock-in
جلوگیری میکنند 👇
🔹 Open Data Stack، Databricks Data
🔹 Lakehouse، Snowflake
🔹 Dremio
پیام اصلی این است که دادهها باید باز، استاندارد و قابل همکاری باشند تا آزادی، امنیت و استقلال از فروشنده خاص تضمین شود.
اگر در زمینه معماری دادهها کار میکنید حتما این مفهوم رو سرچ کنید.
#معماری_داده
----------
🆔 @OxinCode
این مفهوم یعنی شفافیت و اعتماد در دادهها
این مفهوم از این جهت مهم است تا از وابستگی به یک فروشنده جلوگیری شود و انعطافپذیری سیستم حفظ شود.
با استفاده از فرمتهای استاندارد باز مثلِ
Data Lake Table Formats
امکان تغییر ابزار یا فروشنده بدون از دست رفتن دادهها فراهم میشود و سیستمها در مواقع اضطراری قابل اصلاح هستند.
مثالها شامل موارد زیر است که همگی با استانداردهای باز کار میکنند و از
Vendor Lock-in
جلوگیری میکنند 👇
🔹 Open Data Stack، Databricks Data
🔹 Lakehouse، Snowflake
🔹 Dremio
پیام اصلی این است که دادهها باید باز، استاندارد و قابل همکاری باشند تا آزادی، امنیت و استقلال از فروشنده خاص تضمین شود.
اگر در زمینه معماری دادهها کار میکنید حتما این مفهوم رو سرچ کنید.
#معماری_داده
----------
🆔 @OxinCode
📌 چرا JSON همیشه بهترین انتخاب برای API نیست؟
تقریباً همهی APIها از JSON استفاده میکنن؛ ساده، خوانا و همهگیر. اما واقعیت اینه که گزینههای بهتر و بهینهتری هم وجود دارن. یکی از مهمترینشون Protocol Buffers هست.
مزیت Protobuf
🔹 تایپ قوی با فایل .proto
🔹 تولید خودکار کد برای زبانهای مختلف.
🔹 سریعتر، امنتر و مناسب microserviceها
🔹 دادهی باینری بسیار فشرده (تا ۳ برابر کوچیکتر از JSON
#میکروسرویس #API #JSON #Protobuf
----------
🆔 @OxinCode
تقریباً همهی APIها از JSON استفاده میکنن؛ ساده، خوانا و همهگیر. اما واقعیت اینه که گزینههای بهتر و بهینهتری هم وجود دارن. یکی از مهمترینشون Protocol Buffers هست.
مزیت Protobuf
🔹 تایپ قوی با فایل .proto
🔹 تولید خودکار کد برای زبانهای مختلف.
🔹 سریعتر، امنتر و مناسب microserviceها
🔹 دادهی باینری بسیار فشرده (تا ۳ برابر کوچیکتر از JSON
#میکروسرویس #API #JSON #Protobuf
----------
🆔 @OxinCode