یه ابزار خیلی جالب 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/>
👍8❤4
ابزاری که بجای شما زحمت تبادل نظر در اینستاگرام را میکشد. اعم از لایک ، کامنت و …
https://github.com/David-patrick-chuks/Riona-AI-Agent
@DevTwitter | <Setareh/>
https://github.com/David-patrick-chuks/Riona-AI-Agent
@DevTwitter | <Setareh/>
👍28👎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/>
👍43👎10🔥6🤣6❤2
بررسی دو مفهوم stateful و stateless توی طراحی سیستم ها بخصوص توی وب و api ها
این روش ها هرکدوم مزایا و معایب خودشونو دارن که من چند تاشو میگم
1- دارای حالت (stateful) : توی یک سیستم دارای حالت ، سرور میاد و اطلاعاتی که مربوط به وضعیت کاربر میشن رو ذخیره میکنه داخل session ؛ برای مثال وقتی وارد یک سایت فروشگاهی میشیم اطلاعاتی مثله (سبد خرید ، احراز هویت و ...) به دست سرور توی session ما ذخیره میشن.
از مزایای این روش اینه که مناسبه برای سیستم هایی که نیاز به پیگیری وضعیت کاربر دارن مثل (بازی ها ، چت ها ، سبد خرید و ....)
معایبش هم اینه که باید منابع بیشتری مصرف کنید و مقیاس پذیری سخت تری داره
2- بی حالت (stateless) : توی این مدل سیستم ها هیچ اطلاعاتی از درخواست های قبلی کاربر ذخیره نمیشن توی session. و هر درخواست مستقل از درخواست قبلی ارسال میشه و همه ی اطلاعات مورد نیاز باید توی همون درخواست دریافت بشه.
مزایای این روش سرعت بیشتری که داره هست چون نیاز ندارید به session دسترسی داشته باشید و مقیاس پذیری بالایی داره
معایب هم می تونیم به مدیریت پیچیده ای که ممکنه برای حفظ وضعیت کاربر ها ایجاد بشه اشاره کنیم و همینطور به ارسال اطلاعات تکراری و اضافی در هر درخواست اشاره کنیم.
@DevTwitter | <Ali/>
این روش ها هرکدوم مزایا و معایب خودشونو دارن که من چند تاشو میگم
1- دارای حالت (stateful) : توی یک سیستم دارای حالت ، سرور میاد و اطلاعاتی که مربوط به وضعیت کاربر میشن رو ذخیره میکنه داخل session ؛ برای مثال وقتی وارد یک سایت فروشگاهی میشیم اطلاعاتی مثله (سبد خرید ، احراز هویت و ...) به دست سرور توی session ما ذخیره میشن.
از مزایای این روش اینه که مناسبه برای سیستم هایی که نیاز به پیگیری وضعیت کاربر دارن مثل (بازی ها ، چت ها ، سبد خرید و ....)
معایبش هم اینه که باید منابع بیشتری مصرف کنید و مقیاس پذیری سخت تری داره
2- بی حالت (stateless) : توی این مدل سیستم ها هیچ اطلاعاتی از درخواست های قبلی کاربر ذخیره نمیشن توی session. و هر درخواست مستقل از درخواست قبلی ارسال میشه و همه ی اطلاعات مورد نیاز باید توی همون درخواست دریافت بشه.
مزایای این روش سرعت بیشتری که داره هست چون نیاز ندارید به session دسترسی داشته باشید و مقیاس پذیری بالایی داره
معایب هم می تونیم به مدیریت پیچیده ای که ممکنه برای حفظ وضعیت کاربر ها ایجاد بشه اشاره کنیم و همینطور به ارسال اطلاعات تکراری و اضافی در هر درخواست اشاره کنیم.
@DevTwitter | <Ali/>
👍50❤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👍11🤣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
🤣57👎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👍4
چرا ما 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/>
👍89🤣7👎4❤3🔥1
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🔥19
امنیت سرویسهای وب با 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/>
👍14🤣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/>
👍23
ویدیوهای کامل و محتوای دورهی «یادگیری ماشین» دانشکدهی مهندسی کامپیوتر دانشگاه شریف منتشر شد:
http://SharifML.ir
کل این محتوا رایگان است.
تهیهی این مجموعه ممکن نبود، مگر با تلاش جدی یک تیم ۷۰ نفره که قدردان یکایک آنها هستم.
@DevTwitter | <علی شریفی زارچی/>
http://SharifML.ir
کل این محتوا رایگان است.
تهیهی این مجموعه ممکن نبود، مگر با تلاش جدی یک تیم ۷۰ نفره که قدردان یکایک آنها هستم.
@DevTwitter | <علی شریفی زارچی/>
🔥109👍14👎10❤9🤣4
#نقل_کد
“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
🤣133👍40👎7🔥2
۱. الگوریتم جدید ما، LinearBoost، منتشر شد. این الگوریتم بسیار سریع برای Classification روی دادههای Tabular استفاده میشه. روی هفت دیتاست معروف بنچمارک، دقتش از XGBoost در هر هفت تا، و از LightGBM در پنج تا بالاتر بوده، و زمان اجراش تا ۹۸ درصد کمتره!
۲. روی این الگوریتم، چند سال با Reza Rawassizadeh وقت گذاشتیم تا به نتیجه برسه. و البته به عنوان پروژه جانبی و در اوقات فراغت جلو بردیمش و تمرکز اصلیمون نبوده. به همین دلیل جای کار زیاد داره. در ادامه جنبه فنی رو بیشتر توضیح میدم. نتایج رو هم در داخل ریپو گیتهاب ببینید.
۳. ماجرا اینه که سه الگوریتم رایج یعنی XGBoost و LightGBM و CatBoost مبتنی بر بوستینگ درخت تصمیم هستند. اما آیا نمیشه یه الگوریتم خطی رو جانشین درخت تصمیم کرد؟ درخت تصمیم فیچرها رو یکی یکی در نظر میگیره، در حالی که یه الگوریتم خطی همه فیچرها رو با هم میبینه و این جنبه مثبتیه.
۴. جواب اینه که میشه، ولی دو تا مشکل هست، یکی این که الگوریتمهای خطی مثل SVM معمولا زمانبر هستند و بوستینگشون زمان بسیاری خواهد گرفت، و دیگری این که این الگوریتمها خودشون خوب هستند و خیلی جنبه Weak Classifier ندارند. اما ما اومدیم و الگوریتم قبلیمون، یعنی SEFR رو بوست کردیم.
۵. نتیجه تا الان که جالب شده. مقالهاش رو هم بهزودی منتشر خواهیم کرد. کار هم به صورت متنباز و هم به صورت پکیج پایتون ارائه شده و اگر دوست دارید، شما هم تستش کنید.
https://github.com/LinearBoost/linearboost-classifier
@DevTwitter | <Hamidreza Keshavarz/>
۲. روی این الگوریتم، چند سال با Reza Rawassizadeh وقت گذاشتیم تا به نتیجه برسه. و البته به عنوان پروژه جانبی و در اوقات فراغت جلو بردیمش و تمرکز اصلیمون نبوده. به همین دلیل جای کار زیاد داره. در ادامه جنبه فنی رو بیشتر توضیح میدم. نتایج رو هم در داخل ریپو گیتهاب ببینید.
۳. ماجرا اینه که سه الگوریتم رایج یعنی XGBoost و LightGBM و CatBoost مبتنی بر بوستینگ درخت تصمیم هستند. اما آیا نمیشه یه الگوریتم خطی رو جانشین درخت تصمیم کرد؟ درخت تصمیم فیچرها رو یکی یکی در نظر میگیره، در حالی که یه الگوریتم خطی همه فیچرها رو با هم میبینه و این جنبه مثبتیه.
۴. جواب اینه که میشه، ولی دو تا مشکل هست، یکی این که الگوریتمهای خطی مثل SVM معمولا زمانبر هستند و بوستینگشون زمان بسیاری خواهد گرفت، و دیگری این که این الگوریتمها خودشون خوب هستند و خیلی جنبه Weak Classifier ندارند. اما ما اومدیم و الگوریتم قبلیمون، یعنی SEFR رو بوست کردیم.
۵. نتیجه تا الان که جالب شده. مقالهاش رو هم بهزودی منتشر خواهیم کرد. کار هم به صورت متنباز و هم به صورت پکیج پایتون ارائه شده و اگر دوست دارید، شما هم تستش کنید.
https://github.com/LinearBoost/linearboost-classifier
@DevTwitter | <Hamidreza Keshavarz/>
🔥56👍15🤣3
قبل از اینکه بخواید مقایسهی سرعت زبونهای برنامهنویسی (benchmark) رو جدی بگیرید، این ۲ تا ویدیو رو ببینید؛ یه خرده طولانین ولی کاملا میارزه.
https://youtube.com/watch?v=RrHGX1wwSYM
https://youtube.com/watch?v=EH12jHkQFQk
@DevTwitter | <Mohammad FS/>
https://youtube.com/watch?v=RrHGX1wwSYM
https://youtube.com/watch?v=EH12jHkQFQk
@DevTwitter | <Mohammad FS/>
👍22🤣5👎2❤1
از نکات جالب اینکه Microsoft جزو 20 شرکت اول توسعهدهنده کرنل لینوکس 6.12LTS هست.
در کنار این توسعه، Microsoft توزیع مخصوص خودش به نام Azure Linux را دارد که کلیه سرورهای LinkedIn از CentOS بتازگی به آن مهاجرت کرده اند.
منابع:
https://linkedin.com/blog/engineering/architecture/navigating-the-transition-adopting-azure-linux-as-linkedins-operatingsystem
https://lwn.net/Articles/997959/
@DevTwitter | <Vahid Nameni/>
در کنار این توسعه، Microsoft توزیع مخصوص خودش به نام Azure Linux را دارد که کلیه سرورهای LinkedIn از CentOS بتازگی به آن مهاجرت کرده اند.
منابع:
https://linkedin.com/blog/engineering/architecture/navigating-the-transition-adopting-azure-linux-as-linkedins-operatingsystem
https://lwn.net/Articles/997959/
@DevTwitter | <Vahid Nameni/>
🤣59👍31❤4
دیزاین پترن Facade در Golang
یکی از دیزاین پترن های جذاب و کاربردی، پترن Facade! شاید اسمش یه کم شیک به نظر بیاد، ولی قول میدم که خیلی کاربردیه و کارمون رو راحتتر میکنه.
حالا Facade چیه؟
فرض کن جلوی یه ساختمون خیلی شیک و بزرگ وایسادی، ولی لازم نیست بری داخلش و همه اتاقاشو ببینی. فقط کافیه از بیرون، نمای ساده و مرتبش رو ببینی و کارتو راه بندازی. پترن Facade دقیقاً همینه! یه رابط کاربری ساده میده که دیگه لازم نباشه با پیچیدگیهای سیستم درگیر بشی.
چرا باید ازش استفاده کنیم؟
دو تا اصل مهم دنیای کدنویسی اینجا برامون روشنتر میشه:
1- همه چی ساده باشه KISS
2- تکرار نکن DRY
وقتی از Facade استفاده میکنی، پیچیدگیهای پشت پرده سیستم رو قایم میکنی و فقط چیزی که کاربر (یا حتی خودت!) نیاز داری رو نشون میدی. کدت مرتبتر، قابل نگهداریتر و قابلفهمتر میشه.
ی مثال ساده: اتصال به دیتابیس
فرض کن میخوای به دیتابیس وصل بشی، کوئری بزنی و قطع کنی. بدون Facade و با Facade داخل تصویر هست.
کاربردهای دیگه:
کار با فایلها
ارتباط با API
راهاندازی وبسرور
مدیریت سفارشهای فروشگاه آنلاین
و...
این Facade مثل یه شمشیر دولبهست. اگه زیادی سادهسازی کنی یا بخوای همه کارها رو تو یه struct و متدهاش بذاری، ممکنه یه ساختار پیچیده (God Object) بسازی که خودش یه مشکل جدیده.
خلاصه صحبت هامون:
دیزاین پترن Facade، یه ابزار فوقالعاده برای سادهسازی و مرتب کردن کدهاتونه. اما همونطور که هر چیزی حد داره، از این پترن هم فقط وقتی استفاده کن که به درد بخوره و لازم باشه.
@DevTwitter | <Mohammad Abdorrahmani/>
یکی از دیزاین پترن های جذاب و کاربردی، پترن Facade! شاید اسمش یه کم شیک به نظر بیاد، ولی قول میدم که خیلی کاربردیه و کارمون رو راحتتر میکنه.
حالا Facade چیه؟
فرض کن جلوی یه ساختمون خیلی شیک و بزرگ وایسادی، ولی لازم نیست بری داخلش و همه اتاقاشو ببینی. فقط کافیه از بیرون، نمای ساده و مرتبش رو ببینی و کارتو راه بندازی. پترن Facade دقیقاً همینه! یه رابط کاربری ساده میده که دیگه لازم نباشه با پیچیدگیهای سیستم درگیر بشی.
چرا باید ازش استفاده کنیم؟
دو تا اصل مهم دنیای کدنویسی اینجا برامون روشنتر میشه:
1- همه چی ساده باشه KISS
2- تکرار نکن DRY
وقتی از Facade استفاده میکنی، پیچیدگیهای پشت پرده سیستم رو قایم میکنی و فقط چیزی که کاربر (یا حتی خودت!) نیاز داری رو نشون میدی. کدت مرتبتر، قابل نگهداریتر و قابلفهمتر میشه.
ی مثال ساده: اتصال به دیتابیس
فرض کن میخوای به دیتابیس وصل بشی، کوئری بزنی و قطع کنی. بدون Facade و با Facade داخل تصویر هست.
کاربردهای دیگه:
کار با فایلها
ارتباط با API
راهاندازی وبسرور
مدیریت سفارشهای فروشگاه آنلاین
و...
این Facade مثل یه شمشیر دولبهست. اگه زیادی سادهسازی کنی یا بخوای همه کارها رو تو یه struct و متدهاش بذاری، ممکنه یه ساختار پیچیده (God Object) بسازی که خودش یه مشکل جدیده.
خلاصه صحبت هامون:
دیزاین پترن Facade، یه ابزار فوقالعاده برای سادهسازی و مرتب کردن کدهاتونه. اما همونطور که هر چیزی حد داره، از این پترن هم فقط وقتی استفاده کن که به درد بخوره و لازم باشه.
@DevTwitter | <Mohammad Abdorrahmani/>
👍22🤣7❤1
تو دیتابیس ها یه مفهومی وجود داره به اسم clustered index که در مقابلش non clustered index قرار میگیره
خب این clustered index یعنی چی؟ یعنی اینکه ترتیبی که داده ها در ایندکس قرار میگیرن، همون ترتیبی هست که داده ها در فایل و دیسک ذخیره میشن.
بنابراین هر جدول دیتابیس فقط میتونه یه clustered index داشته باشه که معمولا primary key هست.
کجا ها clustered index مهمه؟ جاهایی که شما range query یا sequential scan داری مهم میشه
چرا مهم میشه؟ چون دیتابیس با تعداد io کمتر رکوردهارو از فایل و دیسک fetch میکنه
حالا قرار دادن یه guid مثل uuid به عنوان primary key چه بلایی سر clustered index میاره؟ عملا رکوردهایی که در ایندکس دارن مرتب میشن میتونن تو فایل های مختلفی از دیسک scatter بشن و هزینه fetch کردن شون در کوئری های range رو بالا ببره.
یه سری دیتابیس ها یه سری بهبود برای این قضیه دارن، مثلا یه implicit primary key خودشون در نظر میگیرن که incremental integer هست و اون رو clustered index در نظر میگیرن.
https://blog.novanet.no/careful-with-guid-as-clustered-index/
@DevTwitter | <Hossein Nazari/>
خب این clustered index یعنی چی؟ یعنی اینکه ترتیبی که داده ها در ایندکس قرار میگیرن، همون ترتیبی هست که داده ها در فایل و دیسک ذخیره میشن.
بنابراین هر جدول دیتابیس فقط میتونه یه clustered index داشته باشه که معمولا primary key هست.
کجا ها clustered index مهمه؟ جاهایی که شما range query یا sequential scan داری مهم میشه
چرا مهم میشه؟ چون دیتابیس با تعداد io کمتر رکوردهارو از فایل و دیسک fetch میکنه
حالا قرار دادن یه guid مثل uuid به عنوان primary key چه بلایی سر clustered index میاره؟ عملا رکوردهایی که در ایندکس دارن مرتب میشن میتونن تو فایل های مختلفی از دیسک scatter بشن و هزینه fetch کردن شون در کوئری های range رو بالا ببره.
یه سری دیتابیس ها یه سری بهبود برای این قضیه دارن، مثلا یه implicit primary key خودشون در نظر میگیرن که incremental integer هست و اون رو clustered index در نظر میگیرن.
https://blog.novanet.no/careful-with-guid-as-clustered-index/
@DevTwitter | <Hossein Nazari/>
👍28👎2❤1
شرط میبندم اینو نمیدونستی:
توی php میتونی واسه خوانایی بیشتر بین اعداد _ قرار بدی و هیچ خللی توی برنامت وارد نشه؟ حتی عملیات ریاضی هم به درستی کار میکنن.
اگه باور نداری همین الان برو امتحانش کن
حالا به چه دردی میخوره؟ خوب از اونجایی که نمیشه داخل کد کاما بین اعداد گذاشت، این حرکت میتونه خوانایی کد رو ببره بالا.
@DevTwitter | <Pouya Farshidnia/>
توی php میتونی واسه خوانایی بیشتر بین اعداد _ قرار بدی و هیچ خللی توی برنامت وارد نشه؟ حتی عملیات ریاضی هم به درستی کار میکنن.
اگه باور نداری همین الان برو امتحانش کن
حالا به چه دردی میخوره؟ خوب از اونجایی که نمیشه داخل کد کاما بین اعداد گذاشت، این حرکت میتونه خوانایی کد رو ببره بالا.
@DevTwitter | <Pouya Farshidnia/>
11🤣109👍63🔥12👎6❤1