اگر تجربه خوبی از Wine و PlayOnLinux نداشتید، Winboat شاید مناسب شما باشد که با الهام از WinApps ایجاد شده و ویندوز به صورت Nested Virtualization داخل Docker اجرا میشود.
این جور ابزارها مهاجرت به لینوکس را برای خیلی ها آسان می کنند.
https://github.com/TibixDev/winboat
@DevTwitter | <VAHID NAMENI/>
این جور ابزارها مهاجرت به لینوکس را برای خیلی ها آسان می کنند.
https://github.com/TibixDev/winboat
@DevTwitter | <VAHID NAMENI/>
🔥23👍4
یک تسک نسبتا سخت (برای Ai) دادم به بهترین مدلهایی که الان برای coding مطرح هستند. ازشون تنها با یک پرامپت خواستم نقشه یک خونه رو طراحی کنن (پراپمت در پایین). با کلیک بر لینک زیر میتونید خروجی همشون رو ببینید و مقایسه کنید: https://floor-plan-comparison.netlify.app
این رو ببینید تازه میفهمید واقعا اختلافشون چقدره.
مدل های شرکت کننده:
Opus 4.1 - GLM 4.6 - Sonnet 4.5- GPT 5 Hight- Codex High - Qwen 3 Max - Qwen 3 Coder
--
پرامپت:
Create me a Floor plan for a 1585 sqft land in 3d. Make sure that it has 2 Rooms, 2 washrooms and it should be a usable floor plan. Use HTML,CSS,JS along with Three.JS. Give me just one html file that i can run and view this.
@DevTwitter | <Amin Anvary/>
این رو ببینید تازه میفهمید واقعا اختلافشون چقدره.
مدل های شرکت کننده:
Opus 4.1 - GLM 4.6 - Sonnet 4.5- GPT 5 Hight- Codex High - Qwen 3 Max - Qwen 3 Coder
--
پرامپت:
Create me a Floor plan for a 1585 sqft land in 3d. Make sure that it has 2 Rooms, 2 washrooms and it should be a usable floor plan. Use HTML,CSS,JS along with Three.JS. Give me just one html file that i can run and view this.
@DevTwitter | <Amin Anvary/>
❤30🔥12👍2👎2
This media is not supported in your browser
VIEW IN TELEGRAM
معرفی یک ابزار/لایبرری خیلی جالب و به درد بخور به اسم LLM Intercept: یه پراکسی سبک و ساده برای ذخیره و استفادهمجدد از درخواستهای LLMهاتون.
تقریباً همهی اپها دارن از APIهای سازگار با OpenAI استفاده میکنن. حالا با LLM Intercept میتونید اون تماسها رو ضبط کنید و تبدیلشون کنید به دیتاست برای فاینتیون مدلهای کوچیکتر و ارزونتر.
ایدهاش سادهست
مثل همیشه از یه مدل بزرگ (مثلاً GPT-4 یا Claude) توی اپتون استفاده کنید.
ترافیک رو از طریق LLM Intercept عبور بدید تا ورودی و خروجیها بهصورت شفاف ذخیره بشن.
دیتای جمعشده رو بهصورت Parquet خروجی بگیرید (میتونید پرامپتهای سیستمی رو حذف کنید).
با اون دادهها یه مدل کوچیکتر مثل Liquid AI LFM2 (از ۳۵۰M تا ۲.۶B) رو فاینتیون کنید.
بعد مدل بزرگ رو با مدل خودتون جایگزین کنید. لوکال، خصوصی و تقریباً رایگان.
هدف: کمک به تیمها برای اینکه بتونن از ترافیک واقعی اپشون، مدلهای کوچیک و بهینه بسازن، بدون دردسر، سریع و اقتصادی.
این خیلی به درد میخوره.
Github: https://github.com/mlech26l/llm_intercept
@DevTwitter | <Mehdi Allahyari/>
تقریباً همهی اپها دارن از APIهای سازگار با OpenAI استفاده میکنن. حالا با LLM Intercept میتونید اون تماسها رو ضبط کنید و تبدیلشون کنید به دیتاست برای فاینتیون مدلهای کوچیکتر و ارزونتر.
ایدهاش سادهست
مثل همیشه از یه مدل بزرگ (مثلاً GPT-4 یا Claude) توی اپتون استفاده کنید.
ترافیک رو از طریق LLM Intercept عبور بدید تا ورودی و خروجیها بهصورت شفاف ذخیره بشن.
دیتای جمعشده رو بهصورت Parquet خروجی بگیرید (میتونید پرامپتهای سیستمی رو حذف کنید).
با اون دادهها یه مدل کوچیکتر مثل Liquid AI LFM2 (از ۳۵۰M تا ۲.۶B) رو فاینتیون کنید.
بعد مدل بزرگ رو با مدل خودتون جایگزین کنید. لوکال، خصوصی و تقریباً رایگان.
هدف: کمک به تیمها برای اینکه بتونن از ترافیک واقعی اپشون، مدلهای کوچیک و بهینه بسازن، بدون دردسر، سریع و اقتصادی.
این خیلی به درد میخوره.
Github: https://github.com/mlech26l/llm_intercept
@DevTwitter | <Mehdi Allahyari/>
👍11❤7🔥1
در حال کد زدن با کمک Sonnet 4.5 هستم و باید بگم عالیه... عالی. کافیه یه کم منطق برنامهنویسی و الگوریتم و فلوچارت و طراحی الگوریتم و معماری نرمافزار بدونی...
یه نفره میشه به اندازه یه تیم سه چهار نفره کد زد. از اون لذتهاست که میدونی آخرش مصیبته چون همین سونتها ما رو حذف خواهند کرد ولی باز هم از این معجزات نسل بشر هاج و واج میمونی و لذت میبری و خوشحالی که الان، در زمانهٔ این تغییرات بزرگ داری زندگی میکنی.
برخلاف دیگر انسان-خالقین یا Creatorها، مثل هنرمندان و ادیبان و .... که از آمدن هوش مصنوعی ترسیدهاند... برنامهنویسان که خالقین و Creatorهای عصر اطلاعات و ارتباطات هستند، در عصر هوش مصنوعی سرشار از شگفتزده بودن هستند.
@DevTwitter | <عادل طالبی/>
یه نفره میشه به اندازه یه تیم سه چهار نفره کد زد. از اون لذتهاست که میدونی آخرش مصیبته چون همین سونتها ما رو حذف خواهند کرد ولی باز هم از این معجزات نسل بشر هاج و واج میمونی و لذت میبری و خوشحالی که الان، در زمانهٔ این تغییرات بزرگ داری زندگی میکنی.
برخلاف دیگر انسان-خالقین یا Creatorها، مثل هنرمندان و ادیبان و .... که از آمدن هوش مصنوعی ترسیدهاند... برنامهنویسان که خالقین و Creatorهای عصر اطلاعات و ارتباطات هستند، در عصر هوش مصنوعی سرشار از شگفتزده بودن هستند.
@DevTwitter | <عادل طالبی/>
👎90👍38❤2🔥1
بهتازگی با پکیج timeitPro آشنا شدم و واقعا از سادگی و دقتی که در اندازهگیری عملکرد توابع داره لذت بردم. فقط با یه دکوراتور ساده میتونی بفهمی هر تابع چقدر زمان، CPU و حافظه مصرف میکنه و نتایجش هم بهصورت JSON ذخیره میشن تا بعداً بتونی تحلیلشون کنی. حتی یه داشبورد تحت وب داره که نتایج رو به شکل نمودار نشون میده و مقایسه اجراها رو خیلی راحت میکنه. برای من که همیشه دنبال ابزار سبک و قابل اعتماد برای پروفایلینگ بودم، timeitPro دقیقاً همون چیزیه که لازم داشتم. پیشنهاد میکنم حتماً یه بار امتحانش کنید.
https://github.com/farahbakhsh3/timeitPro
@DevTwitter | <Dr. Amin Farahbakhsh/>
https://github.com/farahbakhsh3/timeitPro
@DevTwitter | <Dr. Amin Farahbakhsh/>
👍20❤4👎4🔥2
آیا PHP یک زبان Blocking است؟
توی چند تا از مصاحبههای اخیرم این سؤال ازم پرسیده شد که: “PHP blocking هست یا نه؟”
گفتم بد نیست یه بار این موضوع رو دقیقتر بررسی کنیم.
زبان PHP ذاتاً thread-blocking هست.
یعنی وقتی یه عملیات I/O انجام میدین (مثلاً خوندن فایل، ارتباط با سوکت، یا درخواست شبکه)،
کل پردازش متوقف میمونه تا نتیجه اون عملیات برگرده.
به زبان ساده: اگه یه درخواست جدید به همون سرور برسه،
تا زمانی که پردازش درخواست قبلی تموم نشده،
درخواست جدید باید منتظر بمونه.
(FastCGI Process Manager) PHP-FPM
وظیفهاش اینه که برای هر درخواست، یه child process جدید بسازه
و اون رو به یکی از worker processها بده تا اجرا کنه.
اما نکته مهم اینه که اون پردازشِ داخل worker همچنان blocking هست.
حالا اگه همهی workerها درگیر باشن و تعدادشون به حداکثر تنظیمشده برسه،
درخواست جدید باید منتظر بمونه تا یکی از workerها آزاد بشه.
(در نتیجه هنوز هم ما با blocking مواجهیم، فقط به شکل مدیریتشدهتر.)
خب حالا سوالی که پیش ماید که آیا میتونیم PHP رو non-blocking کنیم؟
بله، تا حدی میشه!
با این شرط که درخواستهای I/O (که به کرنل وابسته هستن یا مثلا درخواست مربوط به دیتابیس)
توی thread جداگانه اجرا بشن.
اما این کار نیاز داره که خود برنامهنویس thread management رو هندل کنه،
و برای این کار باید Zend extension مربوط به threads فعال باشه.
نکته مهم: PHP-FPM خودش اجازهی استفاده از threadها رو به صورت مستقیم نمیده.
@DevTwitter | <Hossein Salehi/>
توی چند تا از مصاحبههای اخیرم این سؤال ازم پرسیده شد که: “PHP blocking هست یا نه؟”
گفتم بد نیست یه بار این موضوع رو دقیقتر بررسی کنیم.
زبان PHP ذاتاً thread-blocking هست.
یعنی وقتی یه عملیات I/O انجام میدین (مثلاً خوندن فایل، ارتباط با سوکت، یا درخواست شبکه)،
کل پردازش متوقف میمونه تا نتیجه اون عملیات برگرده.
به زبان ساده: اگه یه درخواست جدید به همون سرور برسه،
تا زمانی که پردازش درخواست قبلی تموم نشده،
درخواست جدید باید منتظر بمونه.
(FastCGI Process Manager) PHP-FPM
وظیفهاش اینه که برای هر درخواست، یه child process جدید بسازه
و اون رو به یکی از worker processها بده تا اجرا کنه.
اما نکته مهم اینه که اون پردازشِ داخل worker همچنان blocking هست.
حالا اگه همهی workerها درگیر باشن و تعدادشون به حداکثر تنظیمشده برسه،
درخواست جدید باید منتظر بمونه تا یکی از workerها آزاد بشه.
(در نتیجه هنوز هم ما با blocking مواجهیم، فقط به شکل مدیریتشدهتر.)
خب حالا سوالی که پیش ماید که آیا میتونیم PHP رو non-blocking کنیم؟
بله، تا حدی میشه!
با این شرط که درخواستهای I/O (که به کرنل وابسته هستن یا مثلا درخواست مربوط به دیتابیس)
توی thread جداگانه اجرا بشن.
اما این کار نیاز داره که خود برنامهنویس thread management رو هندل کنه،
و برای این کار باید Zend extension مربوط به threads فعال باشه.
نکته مهم: PHP-FPM خودش اجازهی استفاده از threadها رو به صورت مستقیم نمیده.
@DevTwitter | <Hossein Salehi/>
👍30👎5🔥4❤3
آقا من همیشه یه چیزی رو مخم بود
اینکه تو الگوریتم های استاندارد و بزرگ رمزنگاری متقارن (AES-CTR و ChaCha20 و...) یه مشکلی دارن و اونم اینه که هر بیت از plaintext دقیقا رو یه بیت از ciphertext اثر میذاره! شما اگر یه بیت رو تغییر بدی، فقط همون بیت تو خروجی تغییر میکنه و خلاصه رابطه بین ورودی و خروجی دقیقا یک بیت به یک بیت هست
درسته که یسری مزایا هم داره (مثلا میشه یه فایل عظیم یا یه stream رو باهاشون رمز کرد) ولی بازم اینکه اصطلاحا diffusion ندارن به نظرم برای کاربرد های حساس و روی متن های نسبتا کوتاه اصلا مناسب نیست.
بخاطر همین نشستم تحقیق کردم و الگوریتم طراحی کردم و رسیدم به MACE :)
بر اساس یه الگوریتم هش کار میکنه (که من BLAKE3 رو انتخاب کردم، ولی اجباری نیست!) و داده ها رو به چانک های ۶۴ بایتی میشکونه و اونها رو با یه فرایند ساده ولی مؤثر رمز میکنه (توضیحات دقیقش تو README پروژه هست)
خلاصهش اینکه این الگوریتم با اینکه بسیار سبک و سریعه، قابلیت های زیادی داره و البته که full diffusion بهتون ارایه میکنه: هر بیت از ورودی رو تغییر بدید کل خروجی زیر و رو میشه!
خوشحال میشم بخونیدش و تستش کنید و نظرتونو بهم بگید:
github.com/MHSarmadi/MACE
@DevTwitter | <محمد حسین سرمدی/>
اینکه تو الگوریتم های استاندارد و بزرگ رمزنگاری متقارن (AES-CTR و ChaCha20 و...) یه مشکلی دارن و اونم اینه که هر بیت از plaintext دقیقا رو یه بیت از ciphertext اثر میذاره! شما اگر یه بیت رو تغییر بدی، فقط همون بیت تو خروجی تغییر میکنه و خلاصه رابطه بین ورودی و خروجی دقیقا یک بیت به یک بیت هست
درسته که یسری مزایا هم داره (مثلا میشه یه فایل عظیم یا یه stream رو باهاشون رمز کرد) ولی بازم اینکه اصطلاحا diffusion ندارن به نظرم برای کاربرد های حساس و روی متن های نسبتا کوتاه اصلا مناسب نیست.
بخاطر همین نشستم تحقیق کردم و الگوریتم طراحی کردم و رسیدم به MACE :)
بر اساس یه الگوریتم هش کار میکنه (که من BLAKE3 رو انتخاب کردم، ولی اجباری نیست!) و داده ها رو به چانک های ۶۴ بایتی میشکونه و اونها رو با یه فرایند ساده ولی مؤثر رمز میکنه (توضیحات دقیقش تو README پروژه هست)
خلاصهش اینکه این الگوریتم با اینکه بسیار سبک و سریعه، قابلیت های زیادی داره و البته که full diffusion بهتون ارایه میکنه: هر بیت از ورودی رو تغییر بدید کل خروجی زیر و رو میشه!
خوشحال میشم بخونیدش و تستش کنید و نظرتونو بهم بگید:
github.com/MHSarmadi/MACE
@DevTwitter | <محمد حسین سرمدی/>
👍29👎10🔥8❤4
چند روز پیش امسیپی Chrome DevTools منتشر شد. یه مشکل کوچیک داشت که نمیشد پارامتر --no-sandbox رو به کروم پاس داد برا همین رو بعضی جاها مثلا کانتینرها نمیشد استفاده کرد.
الان یه آپدیت دادن و میشه پارامتر به کروم ارسال کرد و این مشکل حل شد.
https://github.com/ChromeDevTools/chrome-devtools-mcp
الان با یه همچین کانفیگی اوکی شده
@DevTwitter | <Serajoddin Aliabadi/>
الان یه آپدیت دادن و میشه پارامتر به کروم ارسال کرد و این مشکل حل شد.
https://github.com/ChromeDevTools/chrome-devtools-mcp
الان با یه همچین کانفیگی اوکی شده
@DevTwitter | <Serajoddin Aliabadi/>
1👎9❤6👍2🔥2
اکستنشن Notebook Sidebar یکی از کاربردی ترین افزونه های کروم برای برنامه نویس ها و کاربران مختلف هست. با این افزونه می تونید یادداشت هاتون رو مستقیماً داخل سایدبار مرورگر کروم بنویسید و کار هاتون رو برنامه ریزی کنید.در آپدیت جدید اکستنشن Notebook Sidebar قابلیت های کاربردی جدیدی مثل ایمپورت و اکسپورت یادداشت ها و حالت دارک مود هم اضافه شده.
لینک دانلود از کروم استور:
https://chromewebstore.google.com/detail/notebook-sidebar/fdjcoigfklgjpeplkkdbdicminpimdok
@DevTwitter | <OMid/>
لینک دانلود از کروم استور:
https://chromewebstore.google.com/detail/notebook-sidebar/fdjcoigfklgjpeplkkdbdicminpimdok
@DevTwitter | <OMid/>
👍14👎3🔥2
بلاخره React از مِتا جدا شد!
بعد بیش از ۱۰ سال، React قراره تحت یه بنیاد مستقل به نام React Foundation اداره بشه ( زیر چتر Linux Foundation )
یعنی از این به بعد تصمیم گیری ها و سرنوشت ری اکت، دیگه فقط دست Meta نیست و جامعه دولوپرها و شرکتهای دیگه هم تو جهت دهی آینده React نقش دارن!
و این یعنی شفافیت، مشارکت و تنوع بیشتر در توسعه کتابخونه دوست داشتنی ری اکت
بنظرم React داره یه فصل جدید از داستانش رو شروع میکنه…
ری اکت دیگه صرفا پروژه یه شرکت نیست، بلکه نتیجه ی همکاری یه جامعه ی جهانی از دولوپر هاست
@DevTwitter | <Ahmad Ahmad-Nejad/>
بعد بیش از ۱۰ سال، React قراره تحت یه بنیاد مستقل به نام React Foundation اداره بشه ( زیر چتر Linux Foundation )
یعنی از این به بعد تصمیم گیری ها و سرنوشت ری اکت، دیگه فقط دست Meta نیست و جامعه دولوپرها و شرکتهای دیگه هم تو جهت دهی آینده React نقش دارن!
و این یعنی شفافیت، مشارکت و تنوع بیشتر در توسعه کتابخونه دوست داشتنی ری اکت
بنظرم React داره یه فصل جدید از داستانش رو شروع میکنه…
ری اکت دیگه صرفا پروژه یه شرکت نیست، بلکه نتیجه ی همکاری یه جامعه ی جهانی از دولوپر هاست
@DevTwitter | <Ahmad Ahmad-Nejad/>
👍89🔥14❤7
این پروژه یک وباسکرپر (Web Scraper) ساده و کاربردی است که به شما کمک میکنه تغییرات سایتها رو بهصورت خودکار شناسایی و ذخیره کنید.
با استفاده از این ابزار، میتونید چندین وبسایت رو زیر نظر بگیرید و هر زمان که محتوای اون ها تغییر کرد، باخبر بشید.
https://github.com/amintatari64/web-scraper
@DevTwitter | <Mat/>
با استفاده از این ابزار، میتونید چندین وبسایت رو زیر نظر بگیرید و هر زمان که محتوای اون ها تغییر کرد، باخبر بشید.
https://github.com/amintatari64/web-scraper
@DevTwitter | <Mat/>
❤27👍4👎1
دارم سعی میکنم سوالات متداول و مهم از طراحی سیستم که در مصاحبه ها پرسیده میشه و از خودم هم پرسیده شده رو به صورت ویدئو ضبط کنم و کلیدواژهای مهم برای هر سوال رو در حد توان و وقتی که دارم کمی توضیح بدم.
توی هر سوال به موضوعات مهمش بیشتر پرداخته شده که در مصاحبه اهمیت بیشتری داره تا نشون بده از یک سری مفاهیم اون موضوع شناخت دارید.
البته که در هر سوال مطالب زیادی هست ولی سعی کردم هم موارد مهمش توضیح داده بشه و هم ساده باشه.
این پلی لیست در حدود 40 ویدئو هست که به مرور منتشر میشه.
در حال تکمیل پلی لیست های دیگه هم هستم :))
https://www.youtube.com/watch?v=3J-2KRValAA&feature=youtu.be
@DevTwitter | <Mohammad Keshavarz/>
توی هر سوال به موضوعات مهمش بیشتر پرداخته شده که در مصاحبه اهمیت بیشتری داره تا نشون بده از یک سری مفاهیم اون موضوع شناخت دارید.
البته که در هر سوال مطالب زیادی هست ولی سعی کردم هم موارد مهمش توضیح داده بشه و هم ساده باشه.
این پلی لیست در حدود 40 ویدئو هست که به مرور منتشر میشه.
در حال تکمیل پلی لیست های دیگه هم هستم :))
https://www.youtube.com/watch?v=3J-2KRValAA&feature=youtu.be
@DevTwitter | <Mohammad Keshavarz/>
❤23👍1👎1🔥1
ویژوال استودیوی 2026 توسط مایکروسافت منتشر شد
استفاده کنید و لذت ببرید
- ویژگی های جدید
ادغام با هوش مصنوعی
افزایش سرعت و کارایی
بهبود تجربه کاربری
پشتیبانی از سی شارپ 14 و دات نت 10
بهبود هات ری لود توی asp.net و blazor
بهبود سرعت بیلد و اجرای پروژه ها
انجام اپدیت ها به صورت ماهانه
@DevTwitter | <Säber V/>
استفاده کنید و لذت ببرید
- ویژگی های جدید
ادغام با هوش مصنوعی
افزایش سرعت و کارایی
بهبود تجربه کاربری
پشتیبانی از سی شارپ 14 و دات نت 10
بهبود هات ری لود توی asp.net و blazor
بهبود سرعت بیلد و اجرای پروژه ها
انجام اپدیت ها به صورت ماهانه
@DevTwitter | <Säber V/>
26❤50👎17👍2🔥1
این ریپوی گیتهاب مجموعهای از Agentهای آماده در حوزههای مختلف داره که میتونید مستقیماً توی Claude Code ازشون استفاده کنید.
پوشش گستردهای هم داره — از Full Stack و SEO گرفته تا Code Review، Database و Security.
https://github.com/wshobson/agents
@DevTwitter | <Mohammad/>
پوشش گستردهای هم داره — از Full Stack و SEO گرفته تا Code Review، Database و Security.
https://github.com/wshobson/agents
@DevTwitter | <Mohammad/>
❤9🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
در CSS سه واحد جدید برای Viewport معرفی شده که مشکل ارتفاع در موبایل را حل میکنند. پیشتر استفاده از 100vh باعث میشد بخشهای تمامصفحه دقیق نمایش داده نشوند، چون نوار ابزار مرورگر هنگام اسکرول ظاهر یا ناپدید میشود و ارتفاع واقعی تغییر میکند. حالا با سه واحد جدید این مشکل رفع شده است:
1. lvh (Large Viewport Height)
بیشترین ارتفاع زمانی که نوار ابزار پنهان است.
کاربرد: برای بخشهای فولاسکرین.
2. svh (Small Viewport Height)
کمترین ارتفاع زمانی که نوار ابزار دیده میشود.
کاربرد: برای اجزایی مثل هدر یا فوتر ثابت.
3. dvh (Dynamic Viewport Height)
ارتفاع پویا بین lvh و svh.
کاربرد: برای بخشهای تطبیقی.
اگر چند بخش 100dvh داشته باشید، با ظاهر شدن نوار ابزار ممکن است صفحه بپرد.
جمعبندی:
- نمایش ثابت: svh
- فولاسکرین واقعی: lvh
- رفتار تطبیقی: dvh
این واحدها جایگزین vh نیستند، بلکه ابزارهایی برای کنترل دقیقتر در موبایلاند. CSS امروز هوشمندتر و دقیقتر شده و کنترل بیشتری بر طراحی رابطها میدهد.
@DevTwitter | <Hesam Valizadeh/>
1. lvh (Large Viewport Height)
بیشترین ارتفاع زمانی که نوار ابزار پنهان است.
کاربرد: برای بخشهای فولاسکرین.
height: 100lvh;
2. svh (Small Viewport Height)
کمترین ارتفاع زمانی که نوار ابزار دیده میشود.
کاربرد: برای اجزایی مثل هدر یا فوتر ثابت.
height: 100svh;
3. dvh (Dynamic Viewport Height)
ارتفاع پویا بین lvh و svh.
کاربرد: برای بخشهای تطبیقی.
height: 100dvh;
اگر چند بخش 100dvh داشته باشید، با ظاهر شدن نوار ابزار ممکن است صفحه بپرد.
جمعبندی:
- نمایش ثابت: svh
- فولاسکرین واقعی: lvh
- رفتار تطبیقی: dvh
این واحدها جایگزین vh نیستند، بلکه ابزارهایی برای کنترل دقیقتر در موبایلاند. CSS امروز هوشمندتر و دقیقتر شده و کنترل بیشتری بر طراحی رابطها میدهد.
@DevTwitter | <Hesam Valizadeh/>
👍33❤8🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی ابزار «قطرهچکان» (Eyedropper) سایتها از مرز مرورگر رد میشه!
چند روز پیش داشتم از یک سایت آنلاین Shadow Generator استفاده میکردم که متوجه یک نکته عجیب شدم: ابزار قطرهچکان رنگ اون سایت، علاوه بر فضای داخل مرورگر، به کل دسکتاپ و محیط سیستم عامل من هم دسترسی داشت!
اولش شک کردم... مگه میشه؟ چطور یک وبسایت میتونه بدون نصب افزونه، اطلاعات پیکسل رو از خارج از پنجره مرورگر بخونه؟ این که کاملاً خلاف اصول امنیتی مرورگره!
بعد از کمی تحقیق، متوجه شدم که این قابلیت بهخاطر یک پیشرفت جدید در دنیای وب به نام EyeDropper API امکانپذیر شده.
ماجرا از این قراره:
که EyeDropper API یک رابط برنامهنویسی جدید برای مرورگرهای مبتنی بر کرومیوم (مثل کروم و اج) است.
این API به سایتها اجازه میده که ابزار بومی (Native) انتخاب رنگ مرورگر رو فعال کنن.
این قابلیت، مرز بین اپلیکیشنهای تحت وب و نرمافزارهای دسکتاپ رو باریکتر کرده و برای ابزارهای طراحی وب (مثل انتخابکنندههای رنگ یا ویرایشگرهای عکس) واقعاً یک تحول محسوب میشه.
لینک سایت:
https://folge.me/tools/tailwind-shadow-generator
@DevTwitter | <Ali shabani/>
چند روز پیش داشتم از یک سایت آنلاین Shadow Generator استفاده میکردم که متوجه یک نکته عجیب شدم: ابزار قطرهچکان رنگ اون سایت، علاوه بر فضای داخل مرورگر، به کل دسکتاپ و محیط سیستم عامل من هم دسترسی داشت!
اولش شک کردم... مگه میشه؟ چطور یک وبسایت میتونه بدون نصب افزونه، اطلاعات پیکسل رو از خارج از پنجره مرورگر بخونه؟ این که کاملاً خلاف اصول امنیتی مرورگره!
بعد از کمی تحقیق، متوجه شدم که این قابلیت بهخاطر یک پیشرفت جدید در دنیای وب به نام EyeDropper API امکانپذیر شده.
ماجرا از این قراره:
که EyeDropper API یک رابط برنامهنویسی جدید برای مرورگرهای مبتنی بر کرومیوم (مثل کروم و اج) است.
این API به سایتها اجازه میده که ابزار بومی (Native) انتخاب رنگ مرورگر رو فعال کنن.
این قابلیت، مرز بین اپلیکیشنهای تحت وب و نرمافزارهای دسکتاپ رو باریکتر کرده و برای ابزارهای طراحی وب (مثل انتخابکنندههای رنگ یا ویرایشگرهای عکس) واقعاً یک تحول محسوب میشه.
لینک سایت:
https://folge.me/tools/tailwind-shadow-generator
@DevTwitter | <Ali shabani/>
❤39👍13👎2🔥2
متغیرهای سیستمی در SQL Server
در SQL Server، متغیرهایی که با @@ شروع میشوند به عنوان متغیرهای سیستمی شناخته میشوند و اطلاعات مهمی درباره وضعیت سرور، کوئریها، تراکنشها و تنظیمات جاری ارائه میدهند.
این متغیرها توسط SQL Server مدیریت میشوند و کاربر فقط میتواند مقادیر آنها را بخواند، نه تغییر دهد.
نکته پرفرمنس: استفاده مکرر از متغیرهای سیستمی روی کوئریهای سنگین تاثیری مستقیم روی سرعت ندارد، اما بررسیهای مکرر یا استفاده نادرست در کوئریهای پیچیده میتواند منجر به کدهای نامفهوم یا غیر بهینه شود.
@DevTwitter | <Amirreza Moradi/>
در SQL Server، متغیرهایی که با @@ شروع میشوند به عنوان متغیرهای سیستمی شناخته میشوند و اطلاعات مهمی درباره وضعیت سرور، کوئریها، تراکنشها و تنظیمات جاری ارائه میدهند.
این متغیرها توسط SQL Server مدیریت میشوند و کاربر فقط میتواند مقادیر آنها را بخواند، نه تغییر دهد.
نکته پرفرمنس: استفاده مکرر از متغیرهای سیستمی روی کوئریهای سنگین تاثیری مستقیم روی سرعت ندارد، اما بررسیهای مکرر یا استفاده نادرست در کوئریهای پیچیده میتواند منجر به کدهای نامفهوم یا غیر بهینه شود.
@DevTwitter | <Amirreza Moradi/>
❤12🔥6
#کدبوک
یکی از جامعترین منابع برای یادگیری عمیق Rust و توسعه سیستمهای سریع و ایمن:
- توضیح کامل مفاهیم پایه تا پیشرفته مثل ownership و borrowing
- آموزش ساخت نرمافزارهای سطح پایین با ایمنی حافظه بالا
- تمرکز بر عملکرد، همزمانی و طراحی کد تمیز
- مناسب برای برنامهنویسهایی که میخوان Rust رو در پروژههای واقعی سیستممحور بهکار ببرن
* فایل PDF این کتاب رو میتونید از کانال DevBooks که لینکش توی بیو هست دانلود کنید.
@DevTwitter
یکی از جامعترین منابع برای یادگیری عمیق Rust و توسعه سیستمهای سریع و ایمن:
- توضیح کامل مفاهیم پایه تا پیشرفته مثل ownership و borrowing
- آموزش ساخت نرمافزارهای سطح پایین با ایمنی حافظه بالا
- تمرکز بر عملکرد، همزمانی و طراحی کد تمیز
- مناسب برای برنامهنویسهایی که میخوان Rust رو در پروژههای واقعی سیستممحور بهکار ببرن
* فایل PDF این کتاب رو میتونید از کانال DevBooks که لینکش توی بیو هست دانلود کنید.
@DevTwitter
❤15👍4👎1🔥1
اگه Claude Code براتون در دسترس نیست، با پروژههای زیر میتونید مدلهای دیگه مثل Gemini (API Tier) رو بهش بیارید و استفاده کنید.
https://github.com/BeehiveInnovations/zen-mcp-server
@DevTwitter | <Mohammad/>
https://github.com/BeehiveInnovations/zen-mcp-server
@DevTwitter | <Mohammad/>
❤14👍2👎1🔥1
امروز یه چیز خیلی خفن تو Django 6 کشف کردم:
Async ORM
تا قبل از این، وقتی جنگو داشت query اجرا میکرد، کل thread قفل میشد و باید صبر میکردی.
ولی حالا با ORM جدید میتونی queryهات رو به صورت async اجرا کنی!
یعنی همزمان چند تا درخواست رو هندل کنی، بدون اینکه performance بیاد پایین
دیگه لازم نیست بگی "اگه performance برام مهمه برم سمت FastAPI"
جنگو با این قابلیت داره خیلی مدرنتر میشه و به دنیای async خوشاومده
من تستش کردم و واقعا حسش فرق داره!
کدی تمیزتر، سرعت بهتر، و حس اینکه "جنگو هنوز زندهست و داره تکامل پیدا میکنه"
@DevTwitter | <Nikan Mafakheri/>
Async ORM
تا قبل از این، وقتی جنگو داشت query اجرا میکرد، کل thread قفل میشد و باید صبر میکردی.
ولی حالا با ORM جدید میتونی queryهات رو به صورت async اجرا کنی!
یعنی همزمان چند تا درخواست رو هندل کنی، بدون اینکه performance بیاد پایین
دیگه لازم نیست بگی "اگه performance برام مهمه برم سمت FastAPI"
جنگو با این قابلیت داره خیلی مدرنتر میشه و به دنیای async خوشاومده
من تستش کردم و واقعا حسش فرق داره!
کدی تمیزتر، سرعت بهتر، و حس اینکه "جنگو هنوز زندهست و داره تکامل پیدا میکنه"
@DevTwitter | <Nikan Mafakheri/>
👍51👎27❤8🔥1