نسخه جدید Laravel 11.37 منتشر شده و چندتا ویژگی جذاب و کاربردی بهش اضافه شده که میشه گفت تا حدودی کاربردی هستن
۱ - اضافه شدن Trait Dumpable برای Uri
با استفاده از این trait که به تابع dd() همزمان دسترسی داریم که میتونه debug رو برای ساخت Uri ها راحتتر کنه (البته این trait برای Eloquent ها هم وجود داره).
۲ - اضافه شدن تابع is() به کلاس Str
ویژگی جالبی میده و از نوشتن کد های طولانی جلوگیری کرده در واقع برسی میکنه که ورودی اول شبیه به ورودی دوم هستش یا نه که ویژگی های مختلفی داره مثل استفاده کردن از * یا استفاده کردن از ? یا برسی بزرگ و کوچک بودن حروف لاتین بقیه ویژگی ها رو میتونید از منبع همین پست برسی کنید.
۳ - اضافه شدن چندتا Eloquent Relation Methods
اگر بخواهیم شرط های تو در تو بنویسیم با استفاده از ارتباط ها باید از انواع مختلف where استفاده کنیم که یکی از این مدل ها whereDoesntHave هستش مدل مبدا یک یک ارتباط یک به چند داره رو در نظر میگیره و به عنوان مثال هر کاربر میتونه چندین نظر برای محصولات ذخیره کنه و داخل تابع whereDoesntHave میشه این مورد رو اضافه کرد و روی هر نظر هم یک شرط قرار داد به عنوان مثال نظراتی رو برگردون که تایید شدن یا تاریخ ساخت اون ها قبل از یک ماه هستش حالا لاراول اومده یک کلاس جدید قرار داده که خیلی کوتاه تر بشه این موضوع رو هندل کرد یعنی با استفاده از تابع whereDoesntHaveRelation برای دیدن مثال و جزئیات به منبع اخر همین پست را مطالعه کنید.
یک تابع دیگه هم مثل whereDoesntHaveRelation برای ارتباط ها از نوع polymorphic قرار داده (اگر با ارتباط های polymorphic اشنایی ندارید منبع زیر میتونه کمکتون کنه) که اسم تابع مورد نظر whereMorphDoesntHaveRelation هستش
چندتا ویژگی دیگه هم وجود داره و فیکس های مختلفی وجود داره که از منابع زیر میتونید مطالعه کنید.
منبع مربوط به ویژگی های نسخه 11.37
https://laravel-news.com/laravel-11-37-0
@DevTwitter | <Sina Nayebzadeh/>
۱ - اضافه شدن Trait Dumpable برای Uri
با استفاده از این trait که به تابع dd() همزمان دسترسی داریم که میتونه debug رو برای ساخت Uri ها راحتتر کنه (البته این trait برای Eloquent ها هم وجود داره).
۲ - اضافه شدن تابع is() به کلاس Str
ویژگی جالبی میده و از نوشتن کد های طولانی جلوگیری کرده در واقع برسی میکنه که ورودی اول شبیه به ورودی دوم هستش یا نه که ویژگی های مختلفی داره مثل استفاده کردن از * یا استفاده کردن از ? یا برسی بزرگ و کوچک بودن حروف لاتین بقیه ویژگی ها رو میتونید از منبع همین پست برسی کنید.
۳ - اضافه شدن چندتا Eloquent Relation Methods
اگر بخواهیم شرط های تو در تو بنویسیم با استفاده از ارتباط ها باید از انواع مختلف where استفاده کنیم که یکی از این مدل ها whereDoesntHave هستش مدل مبدا یک یک ارتباط یک به چند داره رو در نظر میگیره و به عنوان مثال هر کاربر میتونه چندین نظر برای محصولات ذخیره کنه و داخل تابع whereDoesntHave میشه این مورد رو اضافه کرد و روی هر نظر هم یک شرط قرار داد به عنوان مثال نظراتی رو برگردون که تایید شدن یا تاریخ ساخت اون ها قبل از یک ماه هستش حالا لاراول اومده یک کلاس جدید قرار داده که خیلی کوتاه تر بشه این موضوع رو هندل کرد یعنی با استفاده از تابع whereDoesntHaveRelation برای دیدن مثال و جزئیات به منبع اخر همین پست را مطالعه کنید.
یک تابع دیگه هم مثل whereDoesntHaveRelation برای ارتباط ها از نوع polymorphic قرار داده (اگر با ارتباط های polymorphic اشنایی ندارید منبع زیر میتونه کمکتون کنه) که اسم تابع مورد نظر whereMorphDoesntHaveRelation هستش
چندتا ویژگی دیگه هم وجود داره و فیکس های مختلفی وجود داره که از منابع زیر میتونید مطالعه کنید.
منبع مربوط به ویژگی های نسخه 11.37
https://laravel-news.com/laravel-11-37-0
@DevTwitter | <Sina Nayebzadeh/>
👍30🤣20🔥5❤1
NeoPaste
یه ابزار خفن برای مدیریت کلیپبورده! باهاش میتونی متنها و عکسهای کپیشده پیست کنی. حتی میتونی فرمت عکسها رو عوض کنی.
دیگه لازم نیست فایلهات تو یه جای پیشفرض ذخیره بشه؛ هرچی رو تو همون پوشهای که کار میکنی، سیو میکنه.
https://github.com/ArioMoniri/NeoPaste
@DevTwitter | <Ario/>
یه ابزار خفن برای مدیریت کلیپبورده! باهاش میتونی متنها و عکسهای کپیشده پیست کنی. حتی میتونی فرمت عکسها رو عوض کنی.
دیگه لازم نیست فایلهات تو یه جای پیشفرض ذخیره بشه؛ هرچی رو تو همون پوشهای که کار میکنی، سیو میکنه.
https://github.com/ArioMoniri/NeoPaste
@DevTwitter | <Ario/>
👍27👎9🤣2
سم آلتمان، مدیرعامل OpenAI، اخیراً فاش کرده که شرکت از سرویس اشتراکی ChatGPT Pro با قیمت ۲۰۰ دلار در ماه ضرر میکند، چون کاربران بیشتر از حد انتظار از این سرویس استفاده میکنن.
با اینکه OpenAI تا حالا حدود ۲۰ میلیارد دلار سرمایه جمع کرده، هنوز به سوددهی نرسیده. پیشبینی شده که سال گذشته حدود ۵ میلیارد دلار ضرر کردن، در حالی که درآمدشون ۳.۷ میلیارد دلار بوده.
آلتمان ابراز اطمینان کرده که OpenAI میتونه هوش مصنوعی عمومی (AGI) بسازه و گفته تمرکز جدید شرکت روی دستیابی به هوش فوقالعاده (superintelligence) هست.
با این حال، هزینههای سنگین برای آموزش و اجرای مدلهای پیشرفته هوش مصنوعی، چالشهای مالی بزرگی برای OpenAI ایجاد کرده.
شراکت OpenAI با مایکروسافت، که ۱۳ میلیارد دلار در این شرکت سرمایهگذاری کرده، شامل توافقیه که ۲۰٪ از درآمد OpenAI به مایکروسافت میرسه و این موضوع هم روی سوددهی تأثیر گذاشته.
کمپانی OpenAI انتظار داره تا سال ۲۰۲۹ به سوددهی برسه، ولی شرایط مالی فعلی نشون میده که شرکتهای هوش مصنوعی برای ترکیب نوآوری و مدلهای کسبوکار پایدار، با چالشهای جدی روبهرو هستن.
Link: https://techcrunch.com/2025/01/05/openai-is-losing-money-on-its-pricey-chatgpt-pro-plan-ceo-sam-altman-says/
@DevTwitter | <Mehdi Allahyari/>
با اینکه OpenAI تا حالا حدود ۲۰ میلیارد دلار سرمایه جمع کرده، هنوز به سوددهی نرسیده. پیشبینی شده که سال گذشته حدود ۵ میلیارد دلار ضرر کردن، در حالی که درآمدشون ۳.۷ میلیارد دلار بوده.
آلتمان ابراز اطمینان کرده که OpenAI میتونه هوش مصنوعی عمومی (AGI) بسازه و گفته تمرکز جدید شرکت روی دستیابی به هوش فوقالعاده (superintelligence) هست.
با این حال، هزینههای سنگین برای آموزش و اجرای مدلهای پیشرفته هوش مصنوعی، چالشهای مالی بزرگی برای OpenAI ایجاد کرده.
شراکت OpenAI با مایکروسافت، که ۱۳ میلیارد دلار در این شرکت سرمایهگذاری کرده، شامل توافقیه که ۲۰٪ از درآمد OpenAI به مایکروسافت میرسه و این موضوع هم روی سوددهی تأثیر گذاشته.
کمپانی OpenAI انتظار داره تا سال ۲۰۲۹ به سوددهی برسه، ولی شرایط مالی فعلی نشون میده که شرکتهای هوش مصنوعی برای ترکیب نوآوری و مدلهای کسبوکار پایدار، با چالشهای جدی روبهرو هستن.
Link: https://techcrunch.com/2025/01/05/openai-is-losing-money-on-its-pricey-chatgpt-pro-plan-ceo-sam-altman-says/
@DevTwitter | <Mehdi Allahyari/>
🤣38👍25❤6🔥5
پروژه eliza یک فریم ورک برای توسعه AI Agent هست که سهم بازار و کامیونیتی بزرگی داره ، به راحتی به Discord ، Twitter و Telegram وصل میشه ، مدلهای Llama، OpenAI و Grok رو ساپرت میکنه:
https://elizaos.github.io/eliza/
@DevTwitter | <Ehsan Azhdari/>
https://elizaos.github.io/eliza/
@DevTwitter | <Ehsan Azhdari/>
🔥14👍2
فکر کردی اجرای مدلهای LLaMA و بقیه به صورت لوکال هنر محسوب میشه؟ فکر کردی کار کردن با ابزارهای Inference LLM و دادن دیتا بهشون کار بزرگیه؟ نه عزیز، کار خفن اینه که خودت مدل لوکال رو روی دیتای خودت Train کنی!
https://github.com/hiyouga/LLaMA-Factory
@DevTwitter | <Diss Obedience/>
https://github.com/hiyouga/LLaMA-Factory
@DevTwitter | <Diss Obedience/>
🤣36👍20❤5
این پروژه ، یک جعبه ابزار برای ساخت agent با استفاده از LangGraph ، FastAPI و Streamlit بر بستر پایتون و داکر هست:
https://github.com/JoshuaC215/agent-service-toolkit
@DevTwitter | <Ehsan Azhdari/>
https://github.com/JoshuaC215/agent-service-toolkit
@DevTwitter | <Ehsan Azhdari/>
👍17🤣2👎1
یکی از کارهای لذت بخش برای خودم، مهندسی معکوس APIها هست.
ابزارهایی مثل Burp Suite کمک کننده هستند ولی خب تنها انتخاب نیست.
در کنار ابزارهای کنونی که دارید، بد نیست که API Parrot هم امتحان کنید.
https://github.com/apiparrot/apiparrot-desktop-releases/releases
@DevTwitter | <Vahid Nameni/>
ابزارهایی مثل Burp Suite کمک کننده هستند ولی خب تنها انتخاب نیست.
در کنار ابزارهای کنونی که دارید، بد نیست که API Parrot هم امتحان کنید.
https://github.com/apiparrot/apiparrot-desktop-releases/releases
@DevTwitter | <Vahid Nameni/>
👍34🔥4🤣2
یه ابزار خیلی جالب open-source از apache که با گولنگ هم نوشته شده برای مدیریت پایگاه دانش و فروم به کار میاد.
Build a Q&A Platform
with Apache Answer
A Q&A platform software for teams at any scale. Whether it’s a community forum, help center, or knowledge management platform, you can always count on Answer.
https://answer.apache.org
میشه بهش پلاگین هم اضافه کرد
https://answer.apache.org/plugins/
@DevTwitter | <Hossein Nazari/>
Build a Q&A Platform
with Apache Answer
A Q&A platform software for teams at any scale. Whether it’s a community forum, help center, or knowledge management platform, you can always count on Answer.
https://answer.apache.org
میشه بهش پلاگین هم اضافه کرد
https://answer.apache.org/plugins/
@DevTwitter | <Hossein Nazari/>
👍9❤4
ابزاری که بجای شما زحمت تبادل نظر در اینستاگرام را میکشد. اعم از لایک ، کامنت و …
https://github.com/David-patrick-chuks/Riona-AI-Agent
@DevTwitter | <Setareh/>
https://github.com/David-patrick-chuks/Riona-AI-Agent
@DevTwitter | <Setareh/>
👍29👎9🔥4
ابزارهای هوش مصنوعی که هیشکی بهت نمیگه چون سکرته !
1. useTrag.com:
یه دستیار باهوش که کدهای برنامهنویسیت رو بررسی میکنه و اشکالات رو پیدا میکنه. مثل یه برنامهنویس با تجربه عمل میکنه و بهت میگه کجای کارت ایراد داره!
2. Pixyer.AI:
تصویربرداری حرفهای از محصولات رو برات انجام میده. انگار یه عکاس حرفهای داری که عکسهای تبلیغاتی محصولاتت رو میگیره.
3. CapGo.AI:
این یکی مثل یه اکسل خیلی باهوشه! میتونه خودش دادهها رو تحلیل کنه و گزارشهای هوشمند بهت بده.
4. Averi.ai:
مدیر بازاریابی دیجیتال شخصیته! استراتژیهای بازاریابی رو طراحی میکنه و کمپینهات رو مدیریت میکنه.
5. GiddyGiddy.com:
یه همراه مجازی که باهات چت میکنه و حرف میزنه. مثل یه دوست که همیشه در دسترسه!
6. TableSprint.com:
کمکت میکنه سریع و راحت اپلیکیشن بسازی، بدون اینکه نیاز به دانش فنی زیادی داشته باشی.
7. Kusho.AI:
یه ابزار تست هوشمند که مسیرهای مختلف نرمافزارت رو چک میکنه تا مطمئن شی همه چیز درست کار میکنه.
8. PricingMaker.com:
قیمتگذاری محصولات و خدماتت رو هوشمندانه انجام میده. با تحلیل بازار، بهترین قیمت رو پیشنهاد میده.
9. SmartLeadMagnet.com:
محتوای جذاب و ارزشمند تولید میکنه که بتونی باهاش مشتری جذب کنی - مثل کتابهای الکترونیکی یا راهنماها.
10. PodLM.ai:
پادکست تولید میکنه! میتونه متن رو به پادکست تبدیل کنه یا حتی محتوای پادکست رو خودش بسازه.
خب رفیق، اینا ابزارهای جدید و باحالی هستن که میتونن خیلی از کارهات رو راحتتر کنن. البته حواست باشه که هر کدوم رو قبل از استفاده تو کسب و کارت خوب تست کنی تا مطمئن شی برات مفیده.
@DevTwitter | <Safakaram/>
1. useTrag.com:
یه دستیار باهوش که کدهای برنامهنویسیت رو بررسی میکنه و اشکالات رو پیدا میکنه. مثل یه برنامهنویس با تجربه عمل میکنه و بهت میگه کجای کارت ایراد داره!
2. Pixyer.AI:
تصویربرداری حرفهای از محصولات رو برات انجام میده. انگار یه عکاس حرفهای داری که عکسهای تبلیغاتی محصولاتت رو میگیره.
3. CapGo.AI:
این یکی مثل یه اکسل خیلی باهوشه! میتونه خودش دادهها رو تحلیل کنه و گزارشهای هوشمند بهت بده.
4. Averi.ai:
مدیر بازاریابی دیجیتال شخصیته! استراتژیهای بازاریابی رو طراحی میکنه و کمپینهات رو مدیریت میکنه.
5. GiddyGiddy.com:
یه همراه مجازی که باهات چت میکنه و حرف میزنه. مثل یه دوست که همیشه در دسترسه!
6. TableSprint.com:
کمکت میکنه سریع و راحت اپلیکیشن بسازی، بدون اینکه نیاز به دانش فنی زیادی داشته باشی.
7. Kusho.AI:
یه ابزار تست هوشمند که مسیرهای مختلف نرمافزارت رو چک میکنه تا مطمئن شی همه چیز درست کار میکنه.
8. PricingMaker.com:
قیمتگذاری محصولات و خدماتت رو هوشمندانه انجام میده. با تحلیل بازار، بهترین قیمت رو پیشنهاد میده.
9. SmartLeadMagnet.com:
محتوای جذاب و ارزشمند تولید میکنه که بتونی باهاش مشتری جذب کنی - مثل کتابهای الکترونیکی یا راهنماها.
10. PodLM.ai:
پادکست تولید میکنه! میتونه متن رو به پادکست تبدیل کنه یا حتی محتوای پادکست رو خودش بسازه.
خب رفیق، اینا ابزارهای جدید و باحالی هستن که میتونن خیلی از کارهات رو راحتتر کنن. البته حواست باشه که هر کدوم رو قبل از استفاده تو کسب و کارت خوب تست کنی تا مطمئن شی برات مفیده.
@DevTwitter | <Safakaram/>
👍44👎10🔥6🤣6
بررسی دو مفهوم stateful و stateless توی طراحی سیستم ها بخصوص توی وب و api ها
این روش ها هرکدوم مزایا و معایب خودشونو دارن که من چند تاشو میگم
1- دارای حالت (stateful) : توی یک سیستم دارای حالت ، سرور میاد و اطلاعاتی که مربوط به وضعیت کاربر میشن رو ذخیره میکنه داخل session ؛ برای مثال وقتی وارد یک سایت فروشگاهی میشیم اطلاعاتی مثله (سبد خرید ، احراز هویت و ...) به دست سرور توی session ما ذخیره میشن.
از مزایای این روش اینه که مناسبه برای سیستم هایی که نیاز به پیگیری وضعیت کاربر دارن مثل (بازی ها ، چت ها ، سبد خرید و ....)
معایبش هم اینه که باید منابع بیشتری مصرف کنید و مقیاس پذیری سخت تری داره
2- بی حالت (stateless) : توی این مدل سیستم ها هیچ اطلاعاتی از درخواست های قبلی کاربر ذخیره نمیشن توی session. و هر درخواست مستقل از درخواست قبلی ارسال میشه و همه ی اطلاعات مورد نیاز باید توی همون درخواست دریافت بشه.
مزایای این روش سرعت بیشتری که داره هست چون نیاز ندارید به session دسترسی داشته باشید و مقیاس پذیری بالایی داره
معایب هم می تونیم به مدیریت پیچیده ای که ممکنه برای حفظ وضعیت کاربر ها ایجاد بشه اشاره کنیم و همینطور به ارسال اطلاعات تکراری و اضافی در هر درخواست اشاره کنیم.
@DevTwitter | <Ali/>
این روش ها هرکدوم مزایا و معایب خودشونو دارن که من چند تاشو میگم
1- دارای حالت (stateful) : توی یک سیستم دارای حالت ، سرور میاد و اطلاعاتی که مربوط به وضعیت کاربر میشن رو ذخیره میکنه داخل session ؛ برای مثال وقتی وارد یک سایت فروشگاهی میشیم اطلاعاتی مثله (سبد خرید ، احراز هویت و ...) به دست سرور توی session ما ذخیره میشن.
از مزایای این روش اینه که مناسبه برای سیستم هایی که نیاز به پیگیری وضعیت کاربر دارن مثل (بازی ها ، چت ها ، سبد خرید و ....)
معایبش هم اینه که باید منابع بیشتری مصرف کنید و مقیاس پذیری سخت تری داره
2- بی حالت (stateless) : توی این مدل سیستم ها هیچ اطلاعاتی از درخواست های قبلی کاربر ذخیره نمیشن توی session. و هر درخواست مستقل از درخواست قبلی ارسال میشه و همه ی اطلاعات مورد نیاز باید توی همون درخواست دریافت بشه.
مزایای این روش سرعت بیشتری که داره هست چون نیاز ندارید به session دسترسی داشته باشید و مقیاس پذیری بالایی داره
معایب هم می تونیم به مدیریت پیچیده ای که ممکنه برای حفظ وضعیت کاربر ها ایجاد بشه اشاره کنیم و همینطور به ارسال اطلاعات تکراری و اضافی در هر درخواست اشاره کنیم.
@DevTwitter | <Ali/>
👍52❤5👎1
مدل 82 میلیون پارامتری ساختن واسه text-to-speech
هیچ زمانی مثل امروز هوش مصنوعی democratized نبوده
https://huggingface.co/hexgrad/Kokoro-82M
@DevTwitter | <Alek/>
هیچ زمانی مثل امروز هوش مصنوعی democratized نبوده
https://huggingface.co/hexgrad/Kokoro-82M
@DevTwitter | <Alek/>
❤22👍12🤣1
#نقل_کد
“Success usually comes to those who are too busy to be looking for it.”
— Henry David Thoreau
«موفقیت سراغ کسایی میره که به خاطر بیزی بودن کون این حرفا نمیذارن»
— هنری دیوید توریو
@DevTwitter
“Success usually comes to those who are too busy to be looking for it.”
— Henry David Thoreau
«موفقیت سراغ کسایی میره که به خاطر بیزی بودن کون این حرفا نمیذارن»
— هنری دیوید توریو
@DevTwitter
🤣59👎25👍22
اگه میخوای بیشتر در مورد انواع ایندکس های دیتابیس بدونی پیشنهاد میکنم این سری آموزش ویدیویی از PlanetScale رو ببین.
دیدن ش دید عمیق تری بهت میده که بهتر از ایندکس ها استفاده کنی.
لیست موضوعاتی که پوشش داده
Introduction to indexes
B+ trees
Primary keys
Secondary keys
Primary key data types
Where to add indexes
Index selectivity
Prefix indexes
Composite indexes
Covering indexes
Functional indexes
Indexing JSON columns
Indexing for wildcard searches
Fulltext indexes
Invisible indexes
Duplicate indexes
Foreign keys
https://planetscale.com/learn/courses/mysql-for-developers/indexes/introduction-to-indexes
How do Database Indexes Work?
https://planetscale.com/blog/how-do-database-indexes-work
@DevTwitter | <Hossein Nazari/>
دیدن ش دید عمیق تری بهت میده که بهتر از ایندکس ها استفاده کنی.
لیست موضوعاتی که پوشش داده
Introduction to indexes
B+ trees
Primary keys
Secondary keys
Primary key data types
Where to add indexes
Index selectivity
Prefix indexes
Composite indexes
Covering indexes
Functional indexes
Indexing JSON columns
Indexing for wildcard searches
Fulltext indexes
Invisible indexes
Duplicate indexes
Foreign keys
https://planetscale.com/learn/courses/mysql-for-developers/indexes/introduction-to-indexes
How do Database Indexes Work?
https://planetscale.com/blog/how-do-database-indexes-work
@DevTwitter | <Hossein Nazari/>
❤8👍5
چرا ما Monolith رو به Microservices ترجیح دادیم؟
(و چرا این تصمیم باعث شد تیم فنی ما سریعتر و کارآمدتر کار کنه)
چند سال اخیر همه از Microservices حرف میزنن.
میگن مقیاسپذیرتره، بهتر دپلوی میشه، تیمها مستقلتر کار میکنن.
اما… ما تصمیم گرفتیم Monolith بمونیم!
و این تصمیم درستترین انتخاب برای تیم و محصول ماست.
چرا؟
چون میکروسرویسها همیشه جواب درست نیستن.
خیلی از تیمها فقط بهخاطر ترند بودن، بدون دلیل منطقی مهاجرت میکنن.
ما ۳ فاکتور مهم رو بررسی کردیم و دیدیم که Monolith برای ما بهتره:
۱. سرعت توسعه:
در مراحل اولیهی محصول، تغییرات زیادی داریم.
اضافه کردن فیچرها در یک کدبیس یکپارچه خیلی سریعتر و سادهتر از هماهنگی بین چندین سرویس جداست.
۲. هزینهی مدیریت:
میکروسرویسها زیرساخت پیچیدهای میخوان و این تمرکز رو از روی دولوپ میبره روی نگهداشت و پایداری سیستم.
از Service Discovery گرفته تا Logging، Monitoring و DevOps.
برای یه استارتاپ، پیچیدگی بیدلیل یعنی اتلاف زمان و منابع.
۳. نیاز واقعی به مقیاسپذیری:
میکروسرویسها زمانی میدرخشند که هزاران ریکوئست در ثانیه داشته باشید.
ما هنوز به اون مرحله نرسیدیم! پس چرا خودمون رو درگیر چالشهایی کنیم که هنوز وجود ندارن؟ سری که درد نمیکنه رو...
آیا هیچوقت به Microservices مهاجرت میکنیم؟
احتمالاً بله، اما وقتی که نیازش رو حس کنیم، نه زودتر.
فعلاً یه Monolith تمیز، ماژولار و سازماندهیشده، سریعترین و کارآمدترین راهحل برای ماست.
نکته: اگر فقط بهخاطر “ترند بودن” به سمت Microservices میرید،
احتمالاً دارید کار خودتون رو سختتر میکنید.
@DevTwitter | <Joseph Yas/>
(و چرا این تصمیم باعث شد تیم فنی ما سریعتر و کارآمدتر کار کنه)
چند سال اخیر همه از Microservices حرف میزنن.
میگن مقیاسپذیرتره، بهتر دپلوی میشه، تیمها مستقلتر کار میکنن.
اما… ما تصمیم گرفتیم Monolith بمونیم!
و این تصمیم درستترین انتخاب برای تیم و محصول ماست.
چرا؟
چون میکروسرویسها همیشه جواب درست نیستن.
خیلی از تیمها فقط بهخاطر ترند بودن، بدون دلیل منطقی مهاجرت میکنن.
ما ۳ فاکتور مهم رو بررسی کردیم و دیدیم که Monolith برای ما بهتره:
۱. سرعت توسعه:
در مراحل اولیهی محصول، تغییرات زیادی داریم.
اضافه کردن فیچرها در یک کدبیس یکپارچه خیلی سریعتر و سادهتر از هماهنگی بین چندین سرویس جداست.
۲. هزینهی مدیریت:
میکروسرویسها زیرساخت پیچیدهای میخوان و این تمرکز رو از روی دولوپ میبره روی نگهداشت و پایداری سیستم.
از Service Discovery گرفته تا Logging، Monitoring و DevOps.
برای یه استارتاپ، پیچیدگی بیدلیل یعنی اتلاف زمان و منابع.
۳. نیاز واقعی به مقیاسپذیری:
میکروسرویسها زمانی میدرخشند که هزاران ریکوئست در ثانیه داشته باشید.
ما هنوز به اون مرحله نرسیدیم! پس چرا خودمون رو درگیر چالشهایی کنیم که هنوز وجود ندارن؟ سری که درد نمیکنه رو...
آیا هیچوقت به Microservices مهاجرت میکنیم؟
احتمالاً بله، اما وقتی که نیازش رو حس کنیم، نه زودتر.
فعلاً یه Monolith تمیز، ماژولار و سازماندهیشده، سریعترین و کارآمدترین راهحل برای ماست.
نکته: اگر فقط بهخاطر “ترند بودن” به سمت Microservices میرید،
احتمالاً دارید کار خودتون رو سختتر میکنید.
@DevTwitter | <Joseph Yas/>
👍90🤣7👎4❤3
This media is not supported in your browser
VIEW IN TELEGRAM
من چند روزی بود که سر اجرای یه پروژه GitHub گیر کرده بودم که هیچ جوری نمیتونستم از ساختارش دید بگیرم.
بعد چند شب بیخوابی امروز یه ابزار خفن پیدا کردم که واقعاً خیلی کاربردیه. لینکشو پایین میزارم :)
پوینتش اینه که دیگه لازم نیست وقتتون رو برای تبدیل دستی ریپازیتوری هدر بدین. فقط کافیه تو آدرس گیتهاب، "hub" رو با "ingest" عوض کنید و بلافاصله یه متن مرتب و کامل دریافت کنید که میتونید مستقیماً به GPT بدید. مث آب خوردن :)
امکاناتش؟
- نمایش کامل ساختار دایرکتوری پروژه
- یه خلاصه کوتاه و مفید از پروژه
- کل کدها و محتوا به صورت متنی آماده برای استفاده در GPT
اکستنشن کروم و .. بقیه چیزارو هم داره.
https://github.com/cyclotruc/gitingest
@DevTwitter | <Ali Mikaeili/>
بعد چند شب بیخوابی امروز یه ابزار خفن پیدا کردم که واقعاً خیلی کاربردیه. لینکشو پایین میزارم :)
پوینتش اینه که دیگه لازم نیست وقتتون رو برای تبدیل دستی ریپازیتوری هدر بدین. فقط کافیه تو آدرس گیتهاب، "hub" رو با "ingest" عوض کنید و بلافاصله یه متن مرتب و کامل دریافت کنید که میتونید مستقیماً به GPT بدید. مث آب خوردن :)
امکاناتش؟
- نمایش کامل ساختار دایرکتوری پروژه
- یه خلاصه کوتاه و مفید از پروژه
- کل کدها و محتوا به صورت متنی آماده برای استفاده در GPT
اکستنشن کروم و .. بقیه چیزارو هم داره.
https://github.com/cyclotruc/gitingest
@DevTwitter | <Ali Mikaeili/>
👍42🔥20
امنیت سرویسهای وب با WS-Security در SOAP:
امنیت در دنیای سرویسهای وب یکی از چالشهای اساسی است، بهویژه وقتی صحبت از پیامهای حساس و سیستمهای توزیعشده به میان میآید. در این میان،
WS-Security به عنوان یک استاندارد کلیدی در SOAP Web Services، نقش مهمی در تأمین امنیت پیامها ایفا میکند.
ویژگیهای برجسته WS-Security:
1- احراز هویت: با ارسال اطلاعات هویتی مانند UsernameToken، امنیت هویت کاربر تضمین میشود.
2- تمامیت دادهها: با استفاده از امضای دیجیتال (XML Signature) تضمین میشود که پیام در طول انتقال تغییر نمیکند.
3- محرمانگی: رمزنگاری پیامها (XML Encryption) از افشای اطلاعات جلوگیری میکند.
چرا WS-Security مهم است؟
این پروتکل با ارائه قابلیتهای امنیتی سطح بالا، مناسب برای سیستمهای توزیعشده و انتقال امن پیامها در محیطهای پیچیده است.
@DevTwitter | <Ahmad Esmaili/>
امنیت در دنیای سرویسهای وب یکی از چالشهای اساسی است، بهویژه وقتی صحبت از پیامهای حساس و سیستمهای توزیعشده به میان میآید. در این میان،
WS-Security به عنوان یک استاندارد کلیدی در SOAP Web Services، نقش مهمی در تأمین امنیت پیامها ایفا میکند.
ویژگیهای برجسته WS-Security:
1- احراز هویت: با ارسال اطلاعات هویتی مانند UsernameToken، امنیت هویت کاربر تضمین میشود.
2- تمامیت دادهها: با استفاده از امضای دیجیتال (XML Signature) تضمین میشود که پیام در طول انتقال تغییر نمیکند.
3- محرمانگی: رمزنگاری پیامها (XML Encryption) از افشای اطلاعات جلوگیری میکند.
چرا WS-Security مهم است؟
این پروتکل با ارائه قابلیتهای امنیتی سطح بالا، مناسب برای سیستمهای توزیعشده و انتقال امن پیامها در محیطهای پیچیده است.
@DevTwitter | <Ahmad Esmaili/>
👍15🤣12❤1🔥1
با Webtop دسترسی لحظه ای به Alpine, Ubuntu, Fedora, و Arch همراه با full desktop environments
ساده فقط روی مرورگر بدون نیاز به نصب
فقط کافیه http://lscr.io/linuxserver/webtop:latest را pull
و روی http://yourhost:3000 استفاده کنید
@DevTwitter | <MehrdadLinux/>
ساده فقط روی مرورگر بدون نیاز به نصب
فقط کافیه http://lscr.io/linuxserver/webtop:latest را pull
و روی http://yourhost:3000 استفاده کنید
@DevTwitter | <MehrdadLinux/>
👍24
ویدیوهای کامل و محتوای دورهی «یادگیری ماشین» دانشکدهی مهندسی کامپیوتر دانشگاه شریف منتشر شد:
http://SharifML.ir
کل این محتوا رایگان است.
تهیهی این مجموعه ممکن نبود، مگر با تلاش جدی یک تیم ۷۰ نفره که قدردان یکایک آنها هستم.
@DevTwitter | <علی شریفی زارچی/>
http://SharifML.ir
کل این محتوا رایگان است.
تهیهی این مجموعه ممکن نبود، مگر با تلاش جدی یک تیم ۷۰ نفره که قدردان یکایک آنها هستم.
@DevTwitter | <علی شریفی زارچی/>
🔥111👍14👎10❤9
#نقل_کد
“A person who never made a mistake never tried anything new.”
– Albert Einstein
«کسی که نمیرینه نمیتونه تپههای جدید رو فتح کنه»
— آلبرت انیشتین
@DevTwitter
“A person who never made a mistake never tried anything new.”
– Albert Einstein
«کسی که نمیرینه نمیتونه تپههای جدید رو فتح کنه»
— آلبرت انیشتین
@DevTwitter
🤣134👍41👎7🔥2