اگر در حال ساخت workflow های RAG یا نیاز به یک API برای استخراج متون از فایل ها و ساخت embeding هستید، میتونید از api اوپن سورسی که نوشتم استفاده کنید. از یک مدل لوکال برای ساخت embeding ها استفاده میکنه که فارسی خیلی خوبی ساپورت میکنه.
https://github.com/xmannii/Maux-API
@DevTwitter | <Mani/>
https://github.com/xmannii/Maux-API
@DevTwitter | <Mani/>
👍10👎1
This media is not supported in your browser
VIEW IN TELEGRAM
روی سرورهای شخصیم، معمولا از این تلهها استفاده میکنم.
ابزار Ghostport برای گمراهکردن port scannerها با زبان Rust طراحی شده که با شبیهسازی serviceها به صورت fake در تمام portها و استفاده از امضای سفارشی، باعث ایجاد نتایج غلط در اسکنرها میشود.
https://github.com/vxfemboy/ghostport
@DevTwitter | <Vahid Nameni/>
ابزار Ghostport برای گمراهکردن port scannerها با زبان Rust طراحی شده که با شبیهسازی serviceها به صورت fake در تمام portها و استفاده از امضای سفارشی، باعث ایجاد نتایج غلط در اسکنرها میشود.
https://github.com/vxfemboy/ghostport
@DevTwitter | <Vahid Nameni/>
👍50🤣11🔥7👎2
فرض کنید کاربران در بخش جستجو اشتباهات تایپی داشته باشند ، چه طور باز هم نتیجه مورد نظر را پیدا کنیم ؟
لینک یرگول
@DevTwitter | <سعید/>
لینک یرگول
@DevTwitter | <سعید/>
👎30👍22🔥3🤣3
اوبونتو، توزیع محبوب لینوکس؛ بیستساله شد.
این توزیع، در اکتبر ۲۰۰۴ توسط «مارک شاتلورث» و بر پایه «دبیان گنو/لینوکس» با هدف تبدیل شدن به یک سیستمعامل همگانی دسکتاپ، ارائه شد.
در حال حاضر این توزیع انتخاب اول بسیاری افراد هم برای دسکتاپ و هم برای سروره.
تولدش مبارک!
@DevTwitter | <Mohammadreza Haghiri/>
این توزیع، در اکتبر ۲۰۰۴ توسط «مارک شاتلورث» و بر پایه «دبیان گنو/لینوکس» با هدف تبدیل شدن به یک سیستمعامل همگانی دسکتاپ، ارائه شد.
در حال حاضر این توزیع انتخاب اول بسیاری افراد هم برای دسکتاپ و هم برای سروره.
تولدش مبارک!
@DevTwitter | <Mohammadreza Haghiri/>
❤90🤣20👎15👍14
ابزار Austin یک Python frame stack sampler است
پروفایل های آماری قدرتمندی که کمترین تأثیر را بر برنامه داره میسازه
ابزار جانبی نمیخواد، تاثیر حداقلی، سریع و سبک، پروفایل زمان و حافظه،
پشتیبانی از چند فرآیندی (مثل. mod_wsgi)
@DevTwitter | <MehrdadLinux/>
پروفایل های آماری قدرتمندی که کمترین تأثیر را بر برنامه داره میسازه
ابزار جانبی نمیخواد، تاثیر حداقلی، سریع و سبک، پروفایل زمان و حافظه،
پشتیبانی از چند فرآیندی (مثل. mod_wsgi)
@DevTwitter | <MehrdadLinux/>
👍22👎1
سال 2022 یک پروژه فروشگاهی پیشرفته لاراولی ساختم به نام Shopline که به صورت فول استک بود
توسعه این پروژه چند ماهی تقریبا متوقف کرده بودم ولی الان دوباره دارم یک سری آپدیت ها براش میدم.
اولین آپدیت این بود که از لاراول 10 به لاراول 11 آپدیت کردم
این پروژه به نظرم میتونه خیلی برای یادگیری مناسب باشه
https://github.com/milwad-dev/shopline
@DevTwitter | <Milwad Khosravi/>
توسعه این پروژه چند ماهی تقریبا متوقف کرده بودم ولی الان دوباره دارم یک سری آپدیت ها براش میدم.
اولین آپدیت این بود که از لاراول 10 به لاراول 11 آپدیت کردم
این پروژه به نظرم میتونه خیلی برای یادگیری مناسب باشه
https://github.com/milwad-dev/shopline
@DevTwitter | <Milwad Khosravi/>
👍30👎7
دستیار هوش مصنوعی برای برنامه نویسان پایتون!
از وب سایت zzzcode.ai می تونید به عنوان یک دستیار تخصصی برای زبان پایتون، حوزه داده و هوش مصنوعی استفاده کنید. هم براتون کد مینویسه و هم کدهایی که بهش میدید رو توضیح میده. به عنوان نمونه من ازش خواستم که سورس کد مدل یادگیری ماشین GCNN روی توی پایتون بهم بده و خروجی تصویر رو داده. نمونه پرامپت داده شده در زیر:
Prompt:
Hi dear, I want to train a GCNN model on "MyDataset" dataset. Can you please write code in Python?
لینک وب سایت: https://zzzcode.ai/
@DevTwitter | <Ali Nazarizadeh/>
از وب سایت zzzcode.ai می تونید به عنوان یک دستیار تخصصی برای زبان پایتون، حوزه داده و هوش مصنوعی استفاده کنید. هم براتون کد مینویسه و هم کدهایی که بهش میدید رو توضیح میده. به عنوان نمونه من ازش خواستم که سورس کد مدل یادگیری ماشین GCNN روی توی پایتون بهم بده و خروجی تصویر رو داده. نمونه پرامپت داده شده در زیر:
Prompt:
Hi dear, I want to train a GCNN model on "MyDataset" dataset. Can you please write code in Python?
لینک وب سایت: https://zzzcode.ai/
@DevTwitter | <Ali Nazarizadeh/>
🔥16👍10👎2
یه اسکریپت پایتون نوشتم که خیلی سریع و راحت میشه سایز queue ها و topicهای روی سرویس باس Azure روی ترمینال مانیتور کرد.
راه های دیگه هم داره، ولی من یه چیز ساده و مخصوص ترمینال میخواستم تا توی کارم ازش استفاده کنم.
https://github.com/imaun/servicebus-size-monitor
@DevTwitter | <imun/>
راه های دیگه هم داره، ولی من یه چیز ساده و مخصوص ترمینال میخواستم تا توی کارم ازش استفاده کنم.
https://github.com/imaun/servicebus-size-monitor
@DevTwitter | <imun/>
👍13
در لاراول، به جای اینکه خودمون بیایم و شناسههای مدلها رو دستی مقایسه کنیم، بهتره از روابطی که بین مدلها تعریف کردیم استفاده کنیم. اینجوری هم کدمون تمیزتر و خواناتر میشه، هم استانداردتر و حرفهایتر!
مثلاً فرض کن میخوایم یه پست رو بر اساس دستهبندی و نویسندهاش پیدا کنیم. به جای اینکه شناسهها رو اینطوری چک کنیم:
میتونیم از متدهای خفن لاراول مثل
یا مثلاً برای اینکه ببینیم نویسنده یه پست همون کاربری هست که ما میخوایم، به جای اینکه شناسهها رو مستقیم مقایسه کنیم:
خیلی راحت میتونیم از رابطه استفاده کنیم:
اینجوری کدمون سادهتر و شیکتر میشه و از امکانات قوی لاراول هم به بهترین شکل ممکن استفاده میکنیم!
@DevTwitter | <Firoozeh Daeizadeh/>
مثلاً فرض کن میخوایم یه پست رو بر اساس دستهبندی و نویسندهاش پیدا کنیم. به جای اینکه شناسهها رو اینطوری چک کنیم:
Post::where('category_id', $category->id)
->where('author_id', $user->id)
->first();میتونیم از متدهای خفن لاراول مثل
whereBelongsTo استفاده کنیم که خودش باهوشه و از روابط تعریفشده استفاده میکنه:Post::whereBelongsTo($category)
->whereBelongsTo($user, 'author')
->first();
یا مثلاً برای اینکه ببینیم نویسنده یه پست همون کاربری هست که ما میخوایم، به جای اینکه شناسهها رو مستقیم مقایسه کنیم:
$post->author_id == $user->id;
خیلی راحت میتونیم از رابطه استفاده کنیم:
$post->author()->is($user);
اینجوری کدمون سادهتر و شیکتر میشه و از امکانات قوی لاراول هم به بهترین شکل ممکن استفاده میکنیم!
@DevTwitter | <Firoozeh Daeizadeh/>
👍41🤣9🔥5👎3
من الان یادم افتاد یه اسمبلر قبلا نوشته بودم واسه دانشگاه اگه اینو بیارم توی github.com/keyvank/30cc میتونم با سی خود سی رو کامپایل کنم بعد با پایتون اسمبلی رو تبدیل به کدماشین بکنم و دیگه حتی nasm هم نداشته باشیم :)) استقلال واقعی.
https://github.com/Glyphack/assembler-python/blob/master/assembler.py
@DevTwitter | <Shaygan/>
https://github.com/Glyphack/assembler-python/blob/master/assembler.py
@DevTwitter | <Shaygan/>
🤣13👍7🔥5👎1
نسخه جدید Next.js 15 اومده!
@next/codemod CLI
بهروز رسانی بدون دردسر!
به راحتی به آخرین نسخههای Next.js و React منتقل شو!
Async Request APIs (Breaking)
بیدردسرتر از همیشه!
گام به جلو در راستای یک مدل رندرینگ و کشینگ سادهتر.
Caching Semantics (Breaking)
کشینگ دیگه به عنوان پیشفرض نیست!
درخواستهای fetch، GET Route Handlers و روت کلاینت دیگه کش نمیشن!
React 19 Support
همیشه بهروز!
پشتیبانی از React 19 و بهبود هایدریشن!
Turbopack Dev (Stable)
دنده پنج رو بزن!
بهبود عملکرد و ثبات در زمان توسعه. ظاهرا توربو میخواد کار کنه اینبار
Static Route Indicato
چراغ سبز یا قرمز!
شناسایی مسیرهای استاتیک و داینامیک برای بهینهسازی سریعتر! اینم فیچر جذابی به نظر میرسه ولی باید تست بشه که چقدر عمل میکنه
unstable_after API (Experimental)
کارها رو بعد از دریافت رسپانس انجام بده!
با after() کارهای لازم رو بعد از ارسال پاسخ انجام بده و معطل نکن!
instrumentation.js API (Stable)
مشاهده بهتر چرخه عمر سرور.
برای نظارت بر عملکرد سرور از این API استفاده کن!
Enhanced Forms (next/form)
فرمهای هوشمند!
فرمهایی که خودشون کارها رو پیشدستی میکنن و بدون کد نویسی اضافه بهینه میشن!
next.config: TypeScript support for next.config.ts
تنظیمات با TypeScript!
حالا میتونی تنظیمات Next.js رو با TypeScript بنویسی.
Self-hosting Improvements
کنترل بیشتر!
کنترل بهتری روی هدرهای Cache-Control.
Server Actions Security
امنیت بهبود یافته!
Bundling External Packages (Stable)
مدیریت پکیج های خارجی راحتتر!
گزینههای جدید برای مدیریت پکیج ها در App و Pages Router.
ESLint 9 Support
پشتیبانی از ESLint 9 برای کدهایی با کیفیت بالاتر.
Development and Build Performance
زمانهای بیلد و Fast Refresh سریعتر!
@DevTwitter | <Peyman Naderi/>
@next/codemod CLI
بهروز رسانی بدون دردسر!
به راحتی به آخرین نسخههای Next.js و React منتقل شو!
Async Request APIs (Breaking)
بیدردسرتر از همیشه!
گام به جلو در راستای یک مدل رندرینگ و کشینگ سادهتر.
Caching Semantics (Breaking)
کشینگ دیگه به عنوان پیشفرض نیست!
درخواستهای fetch، GET Route Handlers و روت کلاینت دیگه کش نمیشن!
React 19 Support
همیشه بهروز!
پشتیبانی از React 19 و بهبود هایدریشن!
Turbopack Dev (Stable)
دنده پنج رو بزن!
بهبود عملکرد و ثبات در زمان توسعه. ظاهرا توربو میخواد کار کنه اینبار
Static Route Indicato
چراغ سبز یا قرمز!
شناسایی مسیرهای استاتیک و داینامیک برای بهینهسازی سریعتر! اینم فیچر جذابی به نظر میرسه ولی باید تست بشه که چقدر عمل میکنه
unstable_after API (Experimental)
کارها رو بعد از دریافت رسپانس انجام بده!
با after() کارهای لازم رو بعد از ارسال پاسخ انجام بده و معطل نکن!
instrumentation.js API (Stable)
مشاهده بهتر چرخه عمر سرور.
برای نظارت بر عملکرد سرور از این API استفاده کن!
Enhanced Forms (next/form)
فرمهای هوشمند!
فرمهایی که خودشون کارها رو پیشدستی میکنن و بدون کد نویسی اضافه بهینه میشن!
next.config: TypeScript support for next.config.ts
تنظیمات با TypeScript!
حالا میتونی تنظیمات Next.js رو با TypeScript بنویسی.
Self-hosting Improvements
کنترل بیشتر!
کنترل بهتری روی هدرهای Cache-Control.
Server Actions Security
امنیت بهبود یافته!
Bundling External Packages (Stable)
مدیریت پکیج های خارجی راحتتر!
گزینههای جدید برای مدیریت پکیج ها در App و Pages Router.
ESLint 9 Support
پشتیبانی از ESLint 9 برای کدهایی با کیفیت بالاتر.
Development and Build Performance
زمانهای بیلد و Fast Refresh سریعتر!
@DevTwitter | <Peyman Naderi/>
🔥32👍10🤣10❤3
اگر در چهار حوزه دیپ لرنینگ، ماشین لرنینگ و جبر خطی و پردازش زبان طبیعی دنبال حل تمرین در سطح کد هستید این سایت برای شماست
deep-ml.com
@DevTwitter | <Amir/>
deep-ml.com
@DevTwitter | <Amir/>
🔥25👍9🤣1
چرا استفاده از فیلدهای JSON در دادههای تراکنشی ریسک دارد؟
خیلی وسوسهانگیز است که از فیلدهای JSON برای ذخیرهسازی دادههای غیرساختاریافته استفاده کنیم، اما برای دادههای تراکنشی این یک تصمیم پر ریسک است. بیایید به دلایلش نگاهی بیندازیم:
کاهش کارایی جستجو: فیلدهای JSON نمیتوانند به خوبی جداول ساختاریافته از ایندکسهای کارآمد استفاده کنند. این یعنی جستجوهای شما کندتر میشود، که در دادههای تراکنشی که نیاز به سرعت بالا دارند، فاجعه است.
کاهش نرمالسازی و ساختار: پایگاههای داده رابطهای طراحی شدهاند تا روابط بین دادهها را مدیریت کنند. استفاده زیاد از JSON میتواند دادههای غیر نرمال بسازد، که مدیریت و بهروزرسانی آنها را سخت میکند و به ناسازگاریهای داده منجر میشود.
مشکل در صحت دادهها: در جداول نرمالسازی شده، محدودیتهایی مثل نوع داده و روابط وجود دارد که مانع ورود دادههای نادرست میشوند. ولی در JSON، این کنترلها وجود ندارد، پس ممکن است به راحتی دادههای ناسازگار داشته باشید.
گزارشگیری سختتر: اکثر ابزارهای گزارشگیری با دادههای ساختاریافته بهتر کار میکنند. برای استفاده از دادههای JSON باید آنها را تجزیه و ساختاردهی کنید که وقتگیر است و روی سرعت تأثیر میگذارد.
مدیریت پیچیدهتر تراکنشها: اگر بخواهید دادههای مختلفی را در یک فیلد JSON همزمان بهروزرسانی کنید، مدیریت تراکنشها سختتر و پیچیدهتر میشود.
پس چکار کنیم؟
از ترکیب جداول رابطهای و JSON به شکل هوشمندانه استفاده کنیم.
برای دادههای غیرساختاریافته جداول مرتبط ایجاد کنیم.
فقط در صورت لزوم روی فیلدهای JSON ایندکس بگذاریم.
طرحی برای مهاجرت تدریجی به ساختارهای بهتر داشته باشیم.
چکار نکنیم؟
کل دادههای مهم را در JSON ذخیره نکنیم.
به جای نرمالسازی از JSON استفاده نکنیم.
نوع JSON را برای دادههایی که مرتب تغییر میکنند به کار نبریم.
در نهایت، برای دادههای تراکنشی که سرعت، جستجوی مکرر و صحت داده اهمیت دارند، بهتر است به جداول نرمالسازی شده پایبند بمانیم و از JSON فقط در موارد ضروری استفاده کنیم. و اگر احساس میکنید این محدودیتها زیاد است، راهحلهایی مثل Cassandra و Google Bigtable را جدی بگیرید! یادتان باشد، مشکلات پرفرمنس میتوانند خیلی زودتر از چیزی که فکرش را بکنید، کسب و کار شما را تهدید کنند.
@DevTwitter | <Firoozeh Daeizadeh/>
خیلی وسوسهانگیز است که از فیلدهای JSON برای ذخیرهسازی دادههای غیرساختاریافته استفاده کنیم، اما برای دادههای تراکنشی این یک تصمیم پر ریسک است. بیایید به دلایلش نگاهی بیندازیم:
کاهش کارایی جستجو: فیلدهای JSON نمیتوانند به خوبی جداول ساختاریافته از ایندکسهای کارآمد استفاده کنند. این یعنی جستجوهای شما کندتر میشود، که در دادههای تراکنشی که نیاز به سرعت بالا دارند، فاجعه است.
کاهش نرمالسازی و ساختار: پایگاههای داده رابطهای طراحی شدهاند تا روابط بین دادهها را مدیریت کنند. استفاده زیاد از JSON میتواند دادههای غیر نرمال بسازد، که مدیریت و بهروزرسانی آنها را سخت میکند و به ناسازگاریهای داده منجر میشود.
مشکل در صحت دادهها: در جداول نرمالسازی شده، محدودیتهایی مثل نوع داده و روابط وجود دارد که مانع ورود دادههای نادرست میشوند. ولی در JSON، این کنترلها وجود ندارد، پس ممکن است به راحتی دادههای ناسازگار داشته باشید.
گزارشگیری سختتر: اکثر ابزارهای گزارشگیری با دادههای ساختاریافته بهتر کار میکنند. برای استفاده از دادههای JSON باید آنها را تجزیه و ساختاردهی کنید که وقتگیر است و روی سرعت تأثیر میگذارد.
مدیریت پیچیدهتر تراکنشها: اگر بخواهید دادههای مختلفی را در یک فیلد JSON همزمان بهروزرسانی کنید، مدیریت تراکنشها سختتر و پیچیدهتر میشود.
پس چکار کنیم؟
از ترکیب جداول رابطهای و JSON به شکل هوشمندانه استفاده کنیم.
برای دادههای غیرساختاریافته جداول مرتبط ایجاد کنیم.
فقط در صورت لزوم روی فیلدهای JSON ایندکس بگذاریم.
طرحی برای مهاجرت تدریجی به ساختارهای بهتر داشته باشیم.
چکار نکنیم؟
کل دادههای مهم را در JSON ذخیره نکنیم.
به جای نرمالسازی از JSON استفاده نکنیم.
نوع JSON را برای دادههایی که مرتب تغییر میکنند به کار نبریم.
در نهایت، برای دادههای تراکنشی که سرعت، جستجوی مکرر و صحت داده اهمیت دارند، بهتر است به جداول نرمالسازی شده پایبند بمانیم و از JSON فقط در موارد ضروری استفاده کنیم. و اگر احساس میکنید این محدودیتها زیاد است، راهحلهایی مثل Cassandra و Google Bigtable را جدی بگیرید! یادتان باشد، مشکلات پرفرمنس میتوانند خیلی زودتر از چیزی که فکرش را بکنید، کسب و کار شما را تهدید کنند.
@DevTwitter | <Firoozeh Daeizadeh/>
👍27🤣4
من یک سری ویدیو ساختم که در اونجا سعی کردم تا به بیانی ساده نحوه استفاده و tune کردن مدل های LLM به صورت عملی با استفاده از زبان برنامه نویسی Python را آموزش بدم. برای توضیحات بیشتر به ویدیوی مربوط به مقدمه مراجعه کنید. سرفصل های دوره شامل این موارد است:
1 - مقدمه
2 - شروع به کار با LLMها با استفاده از ابزار transformers
3 - مهندسی Prompt جهت تعامل بهتر با مدل زبانی
4 - ساخت خودکار Prompt
5 - مبحث In-Context Learning
6 - مبحث Retrieval Augmented Generation (RAG) و vectorDB ها
7 - انجام Fine-tune و Alignment مدل های زبانی روی داده جدید
8 - بررسی روش هایی برای ارزیابی کیفیت مدل های LLM
https://www.youtube.com/playlist?list=PLHldQ76_k1klWQE7GyGfLH6m4iHOdVogN
https://github.com/aix64-main/LLMs
@DevTwitter | <Hossein Shahamat/>
1 - مقدمه
2 - شروع به کار با LLMها با استفاده از ابزار transformers
3 - مهندسی Prompt جهت تعامل بهتر با مدل زبانی
4 - ساخت خودکار Prompt
5 - مبحث In-Context Learning
6 - مبحث Retrieval Augmented Generation (RAG) و vectorDB ها
7 - انجام Fine-tune و Alignment مدل های زبانی روی داده جدید
8 - بررسی روش هایی برای ارزیابی کیفیت مدل های LLM
https://www.youtube.com/playlist?list=PLHldQ76_k1klWQE7GyGfLH6m4iHOdVogN
https://github.com/aix64-main/LLMs
@DevTwitter | <Hossein Shahamat/>
🔥17👍4🤣2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
کمپانی Anthropic امروز نسخه ارتقاءیافته Claude 3.5 Sonnet و مدل جدید Claude 3.5 Haiku را معرفی کرد. همچنین قابلیت: استفاده از کامپیوتر. با این قابلیت، میشه Claude را هدایت کرد تا مانند انسانها با کامپیوترها تعامل داشته باشد—با نگاه کردن به مونیتور، کلیک کردن و تایپ کردن متن.
https://www.anthropic.com/news/3-5-models-and-computer-use
@DevTwitter | <Mehdi Allahyari/>
https://www.anthropic.com/news/3-5-models-and-computer-use
@DevTwitter | <Mehdi Allahyari/>
🔥18👍4
DevTwitter | توییت برنامه نویسی
چرا PHP نسبت به بقیه زبانها کندتر است و راهکار چیست؟ قسمت دوم کندی PHP برای شرکتها و سازمانهای بزرگی مانند فیسبوک به یک چالش جدی تبدیل شده بود، زیرا هر فرآیند از ابتدا شروع میشد و این بار اضافی برای سازمانها توجیهپذیر نبود. به همین دلیل فیسبوک تصمیم…
چرا PHP نسبت به بقیه زبانها کندتر است و راهکار چیست؟ قسمت سوم
فیسبوک با معماری خودش تونسته بود جلوی کندی PHP رو بگیره اما باز کفایت نمیکرد برای همین شرکت ها از معماریهای میکروسرویس استفاده میکردن
یعنی برای هر بخش از برنامه از زبان ها و تکنولوژی های مختلف استفاده میکردن
اما وردپرس به مرور که سنگین تر میشد جواب سایتای بزرگ رو نمیداد و سایتای بزرگ از وردپرس کوچ میکردن
تا اینکه با تکنولوژی های ردیس و میم کش و opcache باز میشد امید تازه ایی به وردپرس داد و جلو رفت
اما باز جواب گو نبود و باید یک معماری جدید برای php ساخته میشد.
معماری FrankenPHP یک راه حل سازمانی برای وردپرس بود
یکی از بزرگترین مزایای FrankenPHP این است که، بر خلاف PHP سنتی، پردازشهای قبلی را حفظ میکند و نیازی نیست که هر بار درخواست جدید از صفر شروع شود. این معماری، با استفاده از قابلیتهای مدرنی مانند WebSocket و Server Push، به PHP این امکان را میدهد که به شکلی نزدیک به برنامههای Go عمل کند.
از لحاظ سرعت، FrankenPHP میتواند به طرز چشمگیری به عملکرد زبانهایی مثل Go نزدیک شود. با حذف نیاز به فرآیندهای متعدد و قابلیت پردازش درخواستها در زمان کوتاهتر، FrankenPHP عملکردی مشابه برنامههای نوشته شده با Go و سایر زبانهای بهینه شده برای وب سرورها را ارائه میدهد.
https://github.com/dunglas/frankenphp-wordpress
و امروز اگر یک سازمان و سایت بزرگ وردپرسی دارید میتوانید از این استفاده کنید.
<Farhad Safari/>
فیسبوک با معماری خودش تونسته بود جلوی کندی PHP رو بگیره اما باز کفایت نمیکرد برای همین شرکت ها از معماریهای میکروسرویس استفاده میکردن
یعنی برای هر بخش از برنامه از زبان ها و تکنولوژی های مختلف استفاده میکردن
اما وردپرس به مرور که سنگین تر میشد جواب سایتای بزرگ رو نمیداد و سایتای بزرگ از وردپرس کوچ میکردن
تا اینکه با تکنولوژی های ردیس و میم کش و opcache باز میشد امید تازه ایی به وردپرس داد و جلو رفت
اما باز جواب گو نبود و باید یک معماری جدید برای php ساخته میشد.
معماری FrankenPHP یک راه حل سازمانی برای وردپرس بود
یکی از بزرگترین مزایای FrankenPHP این است که، بر خلاف PHP سنتی، پردازشهای قبلی را حفظ میکند و نیازی نیست که هر بار درخواست جدید از صفر شروع شود. این معماری، با استفاده از قابلیتهای مدرنی مانند WebSocket و Server Push، به PHP این امکان را میدهد که به شکلی نزدیک به برنامههای Go عمل کند.
از لحاظ سرعت، FrankenPHP میتواند به طرز چشمگیری به عملکرد زبانهایی مثل Go نزدیک شود. با حذف نیاز به فرآیندهای متعدد و قابلیت پردازش درخواستها در زمان کوتاهتر، FrankenPHP عملکردی مشابه برنامههای نوشته شده با Go و سایر زبانهای بهینه شده برای وب سرورها را ارائه میدهد.
https://github.com/dunglas/frankenphp-wordpress
و امروز اگر یک سازمان و سایت بزرگ وردپرسی دارید میتوانید از این استفاده کنید.
<Farhad Safari/>
👍35🤣17👎3
با گولنگ معمولا فریمورک خاصی رو استفاده نمیکنم، خود گولنگ خیلی ساده ست و لازم نیست چیزی باهاش استفاده بشه
اما این ابزار بنظرم جالب بود، خودم تا حالا امتحانش نکردم، شاید اگه دنبال توسعه خیلی سریع یه سری crud api ساده باشید این ابزار خیلی تسریع کنه روند توسعه رو براتون.
Sponge is a powerful Go development framework, it's easy to develop web and microservice projects.
https://go-sponge.com
https://github.com/zhufuyi/sponge
@DevTwitter | <Hossein Nazari/>
اما این ابزار بنظرم جالب بود، خودم تا حالا امتحانش نکردم، شاید اگه دنبال توسعه خیلی سریع یه سری crud api ساده باشید این ابزار خیلی تسریع کنه روند توسعه رو براتون.
Sponge is a powerful Go development framework, it's easy to develop web and microservice projects.
https://go-sponge.com
https://github.com/zhufuyi/sponge
@DevTwitter | <Hossein Nazari/>
👍21❤7👎5🤣3
کلاس Database Systems از Andy Pavlo دانشگاه CMU، پاییز 2024.
اپیزودهای زیادی رو گذاشتن و کلاس همچنان برگزار میشه و هر دفعه جلسه بعدیش رو میگذارن.
مربوط به Internal های دیتابیس میشه و کیفیت Presentation و تسلط و توضیحات مدرس بشدت بالاس.
https://youtu.be/APqWIjtzNGE?si=AksBkQkU3SrT7IIQ
@DevTwitter | <Mohsen M./>
اپیزودهای زیادی رو گذاشتن و کلاس همچنان برگزار میشه و هر دفعه جلسه بعدیش رو میگذارن.
مربوط به Internal های دیتابیس میشه و کیفیت Presentation و تسلط و توضیحات مدرس بشدت بالاس.
https://youtu.be/APqWIjtzNGE?si=AksBkQkU3SrT7IIQ
@DevTwitter | <Mohsen M./>
🔥14👍3
ابزار tmux یک ترمینال multiplexer است
یک مشکلی که داره اگر سیستم ریست شود تمام نشست ها میپره
با ابزار Tmux Resurrect این مشکل را حل میکنه و دوباره همه را زنده کنید
https://github.com/tmux-plugins/tmux-resurrect
@DevTwitter | <MehrdadLinux/>
یک مشکلی که داره اگر سیستم ریست شود تمام نشست ها میپره
با ابزار Tmux Resurrect این مشکل را حل میکنه و دوباره همه را زنده کنید
https://github.com/tmux-plugins/tmux-resurrect
@DevTwitter | <MehrdadLinux/>
🔥17🤣3👍1👎1
یه اشاره به این فیچر جدید توی نسخه .NET 9 blazor داشته باشیم بد نیست، از مقدار زیادی کار اضافه جلوگیری میکنه.
زمانی که اپ شما بصورت global interactive باشه و بخواید بعضی از صفحاتتون رو static ssr رندر کنید، دوتا روش جلوتون هست که لینک نحوه انجامشون رو براتون میزارم. خلاصه بخوام بگم خیلی کار باید انجام بدید.
ولی توی ورژن 9 کافیه فقط attribute [ExcludeFromInteractiveRouting]@ رو به صفحتون اضاف کنید. با این کار بصورت خودکار صفحتون از interactive routing خارج میشه.
لینک روش ها:
https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#static-ssr-pages-in-a-globally-interactive-app
@DevTwitter | <Mohammad Sajjadian/>
زمانی که اپ شما بصورت global interactive باشه و بخواید بعضی از صفحاتتون رو static ssr رندر کنید، دوتا روش جلوتون هست که لینک نحوه انجامشون رو براتون میزارم. خلاصه بخوام بگم خیلی کار باید انجام بدید.
ولی توی ورژن 9 کافیه فقط attribute [ExcludeFromInteractiveRouting]@ رو به صفحتون اضاف کنید. با این کار بصورت خودکار صفحتون از interactive routing خارج میشه.
لینک روش ها:
https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#static-ssr-pages-in-a-globally-interactive-app
@DevTwitter | <Mohammad Sajjadian/>
🤣11👍8🔥7❤3
This media is not supported in your browser
VIEW IN TELEGRAM
یک مدل جدید اومده از دانشگاه کارنگی ملون (CMU) به اسم Pangea-7B که هم multimodal و هم multilingual هست که ۳۹ تا زبان از جمله فارسی را پوشش میده. روی یک دیتاست ۶ میلیونی train شده و دقتش خیلی عالیه، تستش کردم.
از جمله کارهایی که ازش میتونید استفاده کنید چت به همراه تصویر، سوال و جواب روی عکس، درست کردن caption برای عکس، استخراج متن از عکس و ....
مدلهای چند زبانه، دارن روز به روز بیشتر و بهتر میشن.
neulab.github.io/Pangea/
@DevTwitter | <Mehdi Allahyari/>
از جمله کارهایی که ازش میتونید استفاده کنید چت به همراه تصویر، سوال و جواب روی عکس، درست کردن caption برای عکس، استخراج متن از عکس و ....
مدلهای چند زبانه، دارن روز به روز بیشتر و بهتر میشن.
neulab.github.io/Pangea/
@DevTwitter | <Mehdi Allahyari/>
👍25👎1