Forwarded from DevTwitter Ads.
سایت آینا یه تست داره به اسم "قطبنمای فکری" که سوالای چالشی خوبی داره و چند دقیقه کامل غرق خودش کرد من رو 👌🏼
البته گاهی اون جوابی که مد نظرم بود توی گزینهها نبود، ولی بازم توی این قحطیِ محتوای عمیق، تجربهی نابی بود 🤌🏼
تحلیلی که آخرش از جوابام بهم داد هم بهتر از انتظارم بود و چندجاش دقیقاً زده بود وسط خال 🙂
اگه از عمیق فکر کردن لذت میبرید، حتماً برید سراغش:
https://aina.vision/
^آیِ بیکلاه^
البته گاهی اون جوابی که مد نظرم بود توی گزینهها نبود، ولی بازم توی این قحطیِ محتوای عمیق، تجربهی نابی بود 🤌🏼
تحلیلی که آخرش از جوابام بهم داد هم بهتر از انتظارم بود و چندجاش دقیقاً زده بود وسط خال 🙂
اگه از عمیق فکر کردن لذت میبرید، حتماً برید سراغش:
https://aina.vision/
^آیِ بیکلاه^
🍌18👎6❤2
یه اکستنشن مرورگر نوشتم که یه لایه REST API روی مرورگر میده و میشه با اون API اطلاعات هر تب رو ازش گرفت و توش یه سری اکشن (کلیک، اینپوت، ...) انجام داد.
الان قراره رو با مرورگر X رو باز کنم و به claude بگم با استفاده از اون پروژه و یه سری curl روی این توییت یه توییت دیگه بزنه.
پ.ن.
یه تعدادی MCP برای این موضوع هست ولی اولا به نظرم MCP به سادگی این REST API نیست.
پ.ن.
چرا اصلا این کارو کردم؟ چون تاحالا اکستنشن مرورگر توسعه نداده بودم و در واقع پروژه تسته.
https://github.com/pouriya/espai
@DevTwitter | <حضرت آقا پوریا/>
الان قراره رو با مرورگر X رو باز کنم و به claude بگم با استفاده از اون پروژه و یه سری curl روی این توییت یه توییت دیگه بزنه.
پ.ن.
یه تعدادی MCP برای این موضوع هست ولی اولا به نظرم MCP به سادگی این REST API نیست.
پ.ن.
چرا اصلا این کارو کردم؟ چون تاحالا اکستنشن مرورگر توسعه نداده بودم و در واقع پروژه تسته.
https://github.com/pouriya/espai
@DevTwitter | <حضرت آقا پوریا/>
❤19👎13👍3
اومدم یه ریپو درست کردم و یه سری تریکی که هرروز توی AI استفاده میکنم رو لیست کردم. امیدوارم به کارتون بیاد.
اگه شما هم تریکهایی دارین، مرج ریکوست حتما بدین عزیزان.
https://github.com/blkst8/AI-Tricks-101/
@DevTwitter | <Black State/>
اگه شما هم تریکهایی دارین، مرج ریکوست حتما بدین عزیزان.
https://github.com/blkst8/AI-Tricks-101/
@DevTwitter | <Black State/>
❤24👎9👍4
توهمی به نام «پوشه» در سیستمعامل
در نگاه اول، folder چیزی شبیه یک محفظه است که فایلها را داخل خودش نگه میدارد؛ انگار واقعاً یک فضای فیزیکی وجود دارد که فایلها در آن قرار گرفتهاند
ولی در واقع پوشه خودش یک file است؛ فایلی که فقط یک لیست از نامها و آدرس فایلهای دیگر را نگه میدارد
وقتی وارد یک مسیر میشوید:
/home/user/project/file.txt
سیستمعامل در حال باز کردن چندین محفظه تو در تو نیست
در واقع، دارد چند جدول را دنبال میکند تا از یک نام به یک مکان واقعی روی دیسک برسد
این یکی از انتزاعهای سیستمعامل است، چیزی که برای ما به شکل یک فضای مرتب و قابل لمس نمایش داده میشود، در لایه پایینتر فقط مجموعهای از دادهها و اشارهگرهاست
@DevTwitter | <Ali Ghasempour/>
در نگاه اول، folder چیزی شبیه یک محفظه است که فایلها را داخل خودش نگه میدارد؛ انگار واقعاً یک فضای فیزیکی وجود دارد که فایلها در آن قرار گرفتهاند
ولی در واقع پوشه خودش یک file است؛ فایلی که فقط یک لیست از نامها و آدرس فایلهای دیگر را نگه میدارد
وقتی وارد یک مسیر میشوید:
/home/user/project/file.txt
سیستمعامل در حال باز کردن چندین محفظه تو در تو نیست
در واقع، دارد چند جدول را دنبال میکند تا از یک نام به یک مکان واقعی روی دیسک برسد
این یکی از انتزاعهای سیستمعامل است، چیزی که برای ما به شکل یک فضای مرتب و قابل لمس نمایش داده میشود، در لایه پایینتر فقط مجموعهای از دادهها و اشارهگرهاست
@DevTwitter | <Ali Ghasempour/>
👍129❤18🔥6
این ریپوی مربوط به Loop Engineering را دیدم و به نظرم ارزش بررسی دارد این پروژه امکان مدیریت و هماهنگی تعداد زیادی AI Agent را فراهم میکند از انجام تحقیق گرفته تا همکاری بین ایجنتها و بازبینی کد در یک جریان کاری واحد
https://github.com/huangruiteng/loopx
@DevTwitter | <Davinchi/>
https://github.com/huangruiteng/loopx
@DevTwitter | <Davinchi/>
👍9👎2
در بلاگ جدیدم رفتم سراغ بررسی عملی پردازش ۱۰ گیگابایت داده روی لپتاپ شخصی با DuckDB و تجربههای کلیدی پردازش دادههای بزرگ بدون نیاز به کلود یا سرورهای گرانقیمت را نوشتم.
در نهایت ۳۰ میلیون سطر داده متنی (حدود ۱۰.۵ گیگابایت) فقط در ۸۸ ثانیه وارد یک فایل ۲.۶۷ گیگابایتی DuckDB شد و زمان کوئریها از ۲.۱ ثانیه به ۰.۰۳ ثانیه رسید (۷۰ برابر سریعتر).
البته باید حدود ۵۰ گیگ دیتای دیگه هم بهش اضافه بشه. ولی با این حال، سرعت موقع کوئری در حد میلی ثانیه ست.
چند نکته بسیار مهم از این تجربه عملی:
- قبل از شروع بارگذاری، بایتهای فایل را چک کنید. خطاهای کدگذاری مثل CP1252 و کاراکترهای غیر استاندارد میتوانند همان اول کار پردازش را خراب کنند.
- الگوی all_varchar = true: ابتدا تمام ستونها را متنی بخوانید و سپس درون خود SQL نوع دادهها را تبدیل کنید. این کار مانع از تبدیل بیصدا و اشتباه دادهها به NULL میشود و صفرهای ابتدای کدها را حفظ میکند.
- در جداول تحلیلی از Primary Key استفاده نکنید. تعریف کلید اصلی باعث ساخت ایندکسهای سنگین میشود که سرعت بارگذاری را ۱۷ برابر کندتر و حجم فایل را ۵.۶ برابر بزرگتر میکند.
- مدیریت حافظه: با تنظیم preserve_insertion_order = false حافظه مصرفی بهشدت کاهش پیدا میکند و DuckDB حتی با محدودیت شدید حافظه (۱ گیگابایت رم) دادهها را بدون افت سرعت روی دیسک مدیریت میکند.
متن کامل مقاله:
https://mlnotes.substack.com
@DevTwitter | <Mehdi Allahyari/>
در نهایت ۳۰ میلیون سطر داده متنی (حدود ۱۰.۵ گیگابایت) فقط در ۸۸ ثانیه وارد یک فایل ۲.۶۷ گیگابایتی DuckDB شد و زمان کوئریها از ۲.۱ ثانیه به ۰.۰۳ ثانیه رسید (۷۰ برابر سریعتر).
البته باید حدود ۵۰ گیگ دیتای دیگه هم بهش اضافه بشه. ولی با این حال، سرعت موقع کوئری در حد میلی ثانیه ست.
چند نکته بسیار مهم از این تجربه عملی:
- قبل از شروع بارگذاری، بایتهای فایل را چک کنید. خطاهای کدگذاری مثل CP1252 و کاراکترهای غیر استاندارد میتوانند همان اول کار پردازش را خراب کنند.
- الگوی all_varchar = true: ابتدا تمام ستونها را متنی بخوانید و سپس درون خود SQL نوع دادهها را تبدیل کنید. این کار مانع از تبدیل بیصدا و اشتباه دادهها به NULL میشود و صفرهای ابتدای کدها را حفظ میکند.
- در جداول تحلیلی از Primary Key استفاده نکنید. تعریف کلید اصلی باعث ساخت ایندکسهای سنگین میشود که سرعت بارگذاری را ۱۷ برابر کندتر و حجم فایل را ۵.۶ برابر بزرگتر میکند.
- مدیریت حافظه: با تنظیم preserve_insertion_order = false حافظه مصرفی بهشدت کاهش پیدا میکند و DuckDB حتی با محدودیت شدید حافظه (۱ گیگابایت رم) دادهها را بدون افت سرعت روی دیسک مدیریت میکند.
متن کامل مقاله:
https://mlnotes.substack.com
@DevTwitter | <Mehdi Allahyari/>
👍14🍌9❤1
سر مدیریت خطا تو Go خیلیا یه جای کار گیر میکنن؛ همون if err != nil که بعد از هر خط تکرار میشه و کد رو شلوغ میکنه. اونایی که از زبونهای دیگه مثل Rust یا Scala اومدن، دلشون برای Option و Result و این جور abstractionهای functional تنگ میشه.
ریپو samber/mo دقیقا همینو میاره تو Go، با استفاده از Generics نسخه ۱.۱۸ به بعد. یعنی به جای چک کردن دستی nil یا error، از تایپهایی مثل Option، Result، Either، IO و Task استفاده میکنی که استاندارد برنامهنویسی functional هستن.
اگه دوست داری کدت رو functionalتر و خواناتر بنویسی، این کتابخونه به دردت میخوره. بدون هیچ دیپندنسی خارجی هم هست، فقط استاندارد لایبرری Go.
https://github.com/samber/mo
@DevTwitter
ریپو samber/mo دقیقا همینو میاره تو Go، با استفاده از Generics نسخه ۱.۱۸ به بعد. یعنی به جای چک کردن دستی nil یا error، از تایپهایی مثل Option، Result، Either، IO و Task استفاده میکنی که استاندارد برنامهنویسی functional هستن.
اگه دوست داری کدت رو functionalتر و خواناتر بنویسی، این کتابخونه به دردت میخوره. بدون هیچ دیپندنسی خارجی هم هست، فقط استاندارد لایبرری Go.
https://github.com/samber/mo
@DevTwitter
❤17👎15👍3
SupportPulse
یه پروژه کامل و اماده استفاده.
برای هر سازمان و شرکتی قابل استفاده هستش برای بخش پشتیبانی هاتون.
بجای استفاده از پلتفرم های چت سوم شخص، یه پروژه کامل نوشتم که خودتون سلف هاست کنید و بتونین با سرعت و scale بالا به کاربراتون پاسخ دهی سریع و بی درنگی داشته باشید.
پروژه با دات نت و SingalR نوشته شده که مستندات کمی توی جامعه اپن سورس داشت، سعی کردم با نوشتن این پروژه، مباحث امنیتی وب سوکت رو رفع کنم، یک رفرنس برای SignalR و بچه های .Net اضافه کنیم به جامعه اپن سورس، امیدوارم دوسش داشته باشین و همگی استفاده کنین.
راستی توی این پروژه همه چیزو با وب سوکت هندل کردیم، همه چیز!
https://github.com/mhdibny/SupportPulse
@DevTwitter | <mhdi/>
یه پروژه کامل و اماده استفاده.
برای هر سازمان و شرکتی قابل استفاده هستش برای بخش پشتیبانی هاتون.
بجای استفاده از پلتفرم های چت سوم شخص، یه پروژه کامل نوشتم که خودتون سلف هاست کنید و بتونین با سرعت و scale بالا به کاربراتون پاسخ دهی سریع و بی درنگی داشته باشید.
پروژه با دات نت و SingalR نوشته شده که مستندات کمی توی جامعه اپن سورس داشت، سعی کردم با نوشتن این پروژه، مباحث امنیتی وب سوکت رو رفع کنم، یک رفرنس برای SignalR و بچه های .Net اضافه کنیم به جامعه اپن سورس، امیدوارم دوسش داشته باشین و همگی استفاده کنین.
راستی توی این پروژه همه چیزو با وب سوکت هندل کردیم، همه چیز!
https://github.com/mhdibny/SupportPulse
@DevTwitter | <mhdi/>
🔥28🍌12👍6
ابزار متنباز تست نفوذ مبتنی بر عاملهای هوشمند که مانند یک پژوهشگر امنیت واقعی، آسیبپذیریهای برنامه را در فرایند CI/CD کشف و تایید میکند.
دلیل ترند شدن: افزایش تقاضا برای جایگزینی اسکنرهای استاتیک با عاملهای اتونوموس امنیت پیشگیرانه.
آمار: 50K ستاره
https://github.com/usestrix/strix
@DevTwitter | <کدنویس اسطورهای/>
دلیل ترند شدن: افزایش تقاضا برای جایگزینی اسکنرهای استاتیک با عاملهای اتونوموس امنیت پیشگیرانه.
آمار: 50K ستاره
https://github.com/usestrix/strix
@DevTwitter | <کدنویس اسطورهای/>
🔥14👍1
ساخت و آموزش یک مدل ۳۵۰ میلیون پارامتری از صفر با پایتورچ چقدر هزینه دارد و چه چالشهایی دارد؟
یک نفر در مقالهای جذاب تمام جزئیات آموزش این مدل روی ۱۰ میلیارد توکن را با ۱۰۱ دلار هزینه روی کارت H100 منتشر کرده است.
چند نکته بسیار کلیدی از این تجربه عملی:
• استفاده از RMSNorm به جای LayerNorm با حذف میانگینگیری، سرعت آموزش را ۱۰ تا ۱۵ درصد افزایش داد بدون اینکه پایداری مدل افت کند.
• لایه SwiGLU در FFN حدود ۵۷ درصد کل پارامترهای مدل (۲۰۱ میلیون پارامتر) را تشکیل میدهد.
• فرمولهای مختلط در RoPE باعث صدمه به عملکرد torch.compile میشد، بنابراین استفاده از مثلثات حقیقی سرعت را بالا برد.
• سختافزار بسیار مهم است: آموزش روی H100 SXM نسبت به H100 NVL با فقط ۰.۱۰ دلار اختلاف قیمت در ساعت، سرعت را ۱.۷ برابر (از ۸۳k به ۱۴۰k توکن در ثانیه) افزایش داد.
لینک مقاله کامل:
https://john463212.substack.com/p/building-a-350m-transformer-from
@DevTwitter | <Mehdi Allahyari/>
یک نفر در مقالهای جذاب تمام جزئیات آموزش این مدل روی ۱۰ میلیارد توکن را با ۱۰۱ دلار هزینه روی کارت H100 منتشر کرده است.
چند نکته بسیار کلیدی از این تجربه عملی:
• استفاده از RMSNorm به جای LayerNorm با حذف میانگینگیری، سرعت آموزش را ۱۰ تا ۱۵ درصد افزایش داد بدون اینکه پایداری مدل افت کند.
• لایه SwiGLU در FFN حدود ۵۷ درصد کل پارامترهای مدل (۲۰۱ میلیون پارامتر) را تشکیل میدهد.
• فرمولهای مختلط در RoPE باعث صدمه به عملکرد torch.compile میشد، بنابراین استفاده از مثلثات حقیقی سرعت را بالا برد.
• سختافزار بسیار مهم است: آموزش روی H100 SXM نسبت به H100 NVL با فقط ۰.۱۰ دلار اختلاف قیمت در ساعت، سرعت را ۱.۷ برابر (از ۸۳k به ۱۴۰k توکن در ثانیه) افزایش داد.
لینک مقاله کامل:
https://john463212.substack.com/p/building-a-350m-transformer-from
@DevTwitter | <Mehdi Allahyari/>
🔥26❤3👍1
همیشه سر یه پروژه جانبی به یه سرویس هاستینگ، مانیتورینگ، یا دیتابیس نیاز پیدا میکنیم و بودجهای هم برای پرداخت نداریم. اونجاست که شروع میکنی سرچ زدن «فلان سرویس free tier داره یا نه» و وقت زیادی صرف پیدا کردنشون میشه.
ریپو free-for-dev دقیقاً برای همین درد ساخته شده. یه لیست بزرگ و دستهبندیشده از سرویسهای SaaS، PaaS و IaaS هست که پلن رایگان دارن؛ از هاستینگ و CI/CD و مانیتورینگ گرفته تا دیتابیس، ایمیل، امنیت و APIهای machine learning.
مناسب کیه؟ هر برنامهنویسی که پروژه شخصی یا استارتاپ کوچیک میزنه، دولوپرهایی که دارن dev/test environment میسازن، یا حتی تیمهای کوچیکی که دنبال کاهش هزینهی ابزارهاشون هستن. برای backend developer، دواپس، یا حتی کسی که تازه داره یاد میگیره و نمیخواد اول کار پول خرج زیرساخت کنه، خیلی بهدردبخوره.
نکتهی خوبش اینه که فقط لینک نیست، برای هر سرویس یه توضیح کوتاه از محدودیت پلن رایگانش هم نوشته، پس مجبور نیستی بری صفحهی پرایسینگ هرکدوم رو چک کنی.
https://github.com/jixserver/free-for-dev
@DevTwitter | <Ladoya/>
ریپو free-for-dev دقیقاً برای همین درد ساخته شده. یه لیست بزرگ و دستهبندیشده از سرویسهای SaaS، PaaS و IaaS هست که پلن رایگان دارن؛ از هاستینگ و CI/CD و مانیتورینگ گرفته تا دیتابیس، ایمیل، امنیت و APIهای machine learning.
مناسب کیه؟ هر برنامهنویسی که پروژه شخصی یا استارتاپ کوچیک میزنه، دولوپرهایی که دارن dev/test environment میسازن، یا حتی تیمهای کوچیکی که دنبال کاهش هزینهی ابزارهاشون هستن. برای backend developer، دواپس، یا حتی کسی که تازه داره یاد میگیره و نمیخواد اول کار پول خرج زیرساخت کنه، خیلی بهدردبخوره.
نکتهی خوبش اینه که فقط لینک نیست، برای هر سرویس یه توضیح کوتاه از محدودیت پلن رایگانش هم نوشته، پس مجبور نیستی بری صفحهی پرایسینگ هرکدوم رو چک کنی.
https://github.com/jixserver/free-for-dev
@DevTwitter | <Ladoya/>
1❤29👍7👎3
اگر میخواید درباره LLMها یاد بگیرید و واقعا بفهمید پشت صحنهشون چه خبره، این ریپو میتونه شروع خوبی باشه
از tokenizer و attention شروع میکنه و قدمبهقدم میره سمت ساخت GPT، pretraining و fine-tuning همهچیز هم با PyTorch و از صفر پیادهسازی شده
https://github.com/rasbt/LLMs-from-scratch
@DevTwitter | <Davinchi/>
از tokenizer و attention شروع میکنه و قدمبهقدم میره سمت ساخت GPT، pretraining و fine-tuning همهچیز هم با PyTorch و از صفر پیادهسازی شده
https://github.com/rasbt/LLMs-from-scratch
@DevTwitter | <Davinchi/>
1👍18❤6🍌4
شرکت Cloudflare یه مرورگر وب به اسم Kitesurf ساخته که فقط برای دستیارهای AI طراحی شده، نه آدما.
توی این مرورگر خبری از تم، تبها یا افزونهها نیست. مصرف حافظه این مرورگر ۷ برابر کمتر از Chromium هست و الان به صورت بتا روی Cloudflare Workers و توی سرویس Browser Run در دسترسه.
https://blog.cloudflare.com/kitesurf/
@DevTwitter | <Behrad Javed/>
توی این مرورگر خبری از تم، تبها یا افزونهها نیست. مصرف حافظه این مرورگر ۷ برابر کمتر از Chromium هست و الان به صورت بتا روی Cloudflare Workers و توی سرویس Browser Run در دسترسه.
https://blog.cloudflare.com/kitesurf/
@DevTwitter | <Behrad Javed/>
1❤23🔥6👍4
هر پرامپتی که مینویسی، خروجی خوبی نمی گیری؟! شاید مشکل از AI نباشه، از پرامپت باشه!
فریمورک TCREI یک ساختار ۵ مرحلهایه:
Task - Context - Rules - Example - Iteration
ویدئوی کامل رو ببین تا با مثال یاد بگیری چطور بهتر از AI استفاده کنی.
https://youtube.com/watch?v=IiqXCIYHGV8
@DevTwitter | <Samy Vahdat/>
فریمورک TCREI یک ساختار ۵ مرحلهایه:
Task - Context - Rules - Example - Iteration
ویدئوی کامل رو ببین تا با مثال یاد بگیری چطور بهتر از AI استفاده کنی.
https://youtube.com/watch?v=IiqXCIYHGV8
@DevTwitter | <Samy Vahdat/>
🔥17❤5👎2
چه کسی فایل nginx.conf را تغییر داده؟
اگر میخواهی اطلاعات مربوط به فایل را بررسی کنی، دستور زیر را اجرا کن:
یا برای نمایش فقط مالک فایل:
دستور stat اطلاعات مهمی درباره فایل نمایش میدهد، از جمله:
آخرین زمان دسترسی به فایل:
آخرین زمان تغییر محتوای فایل:
آخرین زمان تغییر Metadata فایل:
زمان ایجاد فایل، در صورت پشتیبانی فایلسیستم:
مالک فایل:
گروه فایل:
سطح دسترسی فایل:
نکته مهم:
دستور stat مشخص نمیکند چه کاربری فایل را تغییر داده است؛ فقط اطلاعات مالکیت و زمانهای مربوط به فایل را نمایش میدهد.
اگر واقعاً میخواهی بفهمی چه کسی فایل را تغییر داده، باید از ابزارهایی مثل auditd استفاده کنی:
سپس برای مشاهده تغییرات:
پس بهطور خلاصه:
چه زمانی و با چه مالکیتی؟
چه کاربری این تغییر را انجام داده؟
@DevTwitter | <Ramin Asadi/>
اگر میخواهی اطلاعات مربوط به فایل را بررسی کنی، دستور زیر را اجرا کن:
sudo stat nginx.conf
یا برای نمایش فقط مالک فایل:
sudo stat -c '%U' nginx.conf
دستور stat اطلاعات مهمی درباره فایل نمایش میدهد، از جمله:
آخرین زمان دسترسی به فایل:
Accessآخرین زمان تغییر محتوای فایل:
Modifyآخرین زمان تغییر Metadata فایل:
Changeزمان ایجاد فایل، در صورت پشتیبانی فایلسیستم:
Birthمالک فایل:
Ownerگروه فایل:
Groupسطح دسترسی فایل:
Permissionsنکته مهم:
دستور stat مشخص نمیکند چه کاربری فایل را تغییر داده است؛ فقط اطلاعات مالکیت و زمانهای مربوط به فایل را نمایش میدهد.
اگر واقعاً میخواهی بفهمی چه کسی فایل را تغییر داده، باید از ابزارهایی مثل auditd استفاده کنی:
sudo auditctl -w /etc/nginx/nginx.conf -p wa -k nginx_config
سپس برای مشاهده تغییرات:
sudo ausearch -k nginx_config
پس بهطور خلاصه:
چه زمانی و با چه مالکیتی؟
statچه کاربری این تغییر را انجام داده؟
auditd@DevTwitter | <Ramin Asadi/>
❤15👍8🍌4
یه سرویس API gateway به اسم AgentRouter هست که دسترسی یکپارچه به بیش از ۳۰ مدل زبانی (از جمله Claude، GPT، DeepSeek) رو با یه API key واحد و فرمت سازگار با OpenAI فراهم میکنه.
با ثبتنام داخلش میتونید 175 دلار کردیت بگیرید و از مدلهای جدید و بروز مثل Opus 5 و gpt-sol استفاده کنید.
https://agentrouter.org/register?aff=PIU6
@DevTwitter
با ثبتنام داخلش میتونید 175 دلار کردیت بگیرید و از مدلهای جدید و بروز مثل Opus 5 و gpt-sol استفاده کنید.
https://agentrouter.org/register?aff=PIU6
@DevTwitter
👎31❤15🍌6
تا حالا شده پروژهتان در محیط لوکال کاملاً سریع کار کنه، اما روی سرور اصلی با چند میلیون رکورد به نفسنفس بیفته؟
واقعیت اینکه دیتابیس معمولاً کند نیست، ما فقط مسیر درست را نشانش نمیدهیم. مثلاً فرستادن دیتابیس به دنبال ستونهای اضافی، استفاده از ایندکسهای اشتباه یا اصرار به استفاده از OFFSET در صفحات عمیق، از آن کارهایی است که هر سیستمی را زیر بار سنگین زانو زدن وادار میکنه.
من در این مقاله کاملاً تجربی و مثالمحور درباره بهینهسازی کوئریها نوشتم؛ از جادوی Covering Index گرفته تا منطق پشت پرده Cursor Pagination.
اگر دوست دارید به کوئریها و ساختار دیتابیس پروژهتان دستی بکشید، پیشنهاد میکنم این مقاله را بخونید. خوشحال میشم تجربههای شما را هم بخونم
لینک مقاله
@DevTwitter | <Afshin Akrami/>
واقعیت اینکه دیتابیس معمولاً کند نیست، ما فقط مسیر درست را نشانش نمیدهیم. مثلاً فرستادن دیتابیس به دنبال ستونهای اضافی، استفاده از ایندکسهای اشتباه یا اصرار به استفاده از OFFSET در صفحات عمیق، از آن کارهایی است که هر سیستمی را زیر بار سنگین زانو زدن وادار میکنه.
من در این مقاله کاملاً تجربی و مثالمحور درباره بهینهسازی کوئریها نوشتم؛ از جادوی Covering Index گرفته تا منطق پشت پرده Cursor Pagination.
اگر دوست دارید به کوئریها و ساختار دیتابیس پروژهتان دستی بکشید، پیشنهاد میکنم این مقاله را بخونید. خوشحال میشم تجربههای شما را هم بخونم
لینک مقاله
@DevTwitter | <Afshin Akrami/>
❤17👍4👎1
هر چی روی این تکنولوژی Docker و مکملش یعنی Docker Compose در مقایسه با روشهای سنتی مبتنی بر Virtual Machine سرمایهگذاری کنیم، ضرر نکردیم.
با خیال راحت، تمام سرویسهایی که لازم داریم رو روی سرور نصب، شبکهبندی و راهاندازی میکنیم؛ از Pythonهای تخصصی، مثل ایمیجهای مختص یادگیری ماشین، یادگیری عمیق و ... گرفته تا n8n و Wordpress و MySQL و Postgres و خیلی کانتینرهای عمومی و اختصاصی دیگه.
فکر کنم تونسته باشم تو این تصویر، بخشی از این مزیتها رو نشون بدم.
@DevTwitter | <Ali Akbar Mahzoon/>
با خیال راحت، تمام سرویسهایی که لازم داریم رو روی سرور نصب، شبکهبندی و راهاندازی میکنیم؛ از Pythonهای تخصصی، مثل ایمیجهای مختص یادگیری ماشین، یادگیری عمیق و ... گرفته تا n8n و Wordpress و MySQL و Postgres و خیلی کانتینرهای عمومی و اختصاصی دیگه.
فکر کنم تونسته باشم تو این تصویر، بخشی از این مزیتها رو نشون بدم.
@DevTwitter | <Ali Akbar Mahzoon/>
🍌27👍14❤3
Forwarded from DevTwitter Ads.
آیدی کانال اپلای ابراد رو براتون میذارم اگه قصد مهاجرت دارین عضو بشین تجربه و رزومه هارو با خودتون مقایسه کنین
https://t.iss.one/+rN8iMAldRkM4ZWVk
https://t.iss.one/+rN8iMAldRkM4ZWVk
🍌16👎7❤2
یکی از دردسرهای کار با Claude Code برای من این بود که پرامپتها رو فارسی بنویسم یا انگلیسی؛ فارسی راحتتره، ولی برای نتیجه بهتر معمولاً ترجمهشون میکردم.
برای حل همین مشکل Translate Prompt for Claude Code رو ساختم؛ یک اکستنشن برای VS Code و Cursor.
پرامپتت رو به هر زبانی که راحتی بنویس، Cmd + Alt + T رو بزن و ترجمه مستقیماً داخل input Claude Code قرار میگیره. ارسال هم هیچوقت خودکار انجام نمیشه.
* بدون API Key و سرویس ثالث
* بدون Telemetry
* استفاده از Claude CLI خودت
* انتخاب زبان مقصد
* ترجمه متن انتخابشده از هر ادیتور
* کاملاً Open Source
فعلاً قابلیت یککلیکی روی macOS در دسترسه، ولی بقیه قابلیتها روی همه سیستمعاملها کار میکنن.
GitHub:
https://github.com/AminModaresi/claude-prompt-translate
@DevTwitter | <Amin/>
برای حل همین مشکل Translate Prompt for Claude Code رو ساختم؛ یک اکستنشن برای VS Code و Cursor.
پرامپتت رو به هر زبانی که راحتی بنویس، Cmd + Alt + T رو بزن و ترجمه مستقیماً داخل input Claude Code قرار میگیره. ارسال هم هیچوقت خودکار انجام نمیشه.
* بدون API Key و سرویس ثالث
* بدون Telemetry
* استفاده از Claude CLI خودت
* انتخاب زبان مقصد
* ترجمه متن انتخابشده از هر ادیتور
* کاملاً Open Source
فعلاً قابلیت یککلیکی روی macOS در دسترسه، ولی بقیه قابلیتها روی همه سیستمعاملها کار میکنن.
GitHub:
https://github.com/AminModaresi/claude-prompt-translate
@DevTwitter | <Amin/>
1❤43👎19👍8