#wordpress
ببینید یه چیز کوچیک باعث میشه افزونه وردپرس نوشته بشه و بیشتر از 50 هزار نصب هم بگیره.
تغییر ایمیل اصلی مدیر سایت، بدون ارسال ایمیل تاییدیه!
https://wordpress.org/plugins/change-admin-email-setting-without-outbound-email/
@DevTwitter | <Morteza Geransayeh/>
ببینید یه چیز کوچیک باعث میشه افزونه وردپرس نوشته بشه و بیشتر از 50 هزار نصب هم بگیره.
تغییر ایمیل اصلی مدیر سایت، بدون ارسال ایمیل تاییدیه!
https://wordpress.org/plugins/change-admin-email-setting-without-outbound-email/
@DevTwitter | <Morteza Geransayeh/>
🔥21❤3👍2
#wordpress
خیلیا میگن: همین فقط یه دکمه ساده چت واتساپ؟
https://wordpress.org/plugins/simple-chat-button/
بعضیاشون ۶۰۰ ۵۰۰ هزار تا نصب دارن
چند تا دونه هم بفروشن کلی پوله
حالا جدا از اعتباری که براشون داره
@DevTwitter | <Rasoul Mousavian/>
خیلیا میگن: همین فقط یه دکمه ساده چت واتساپ؟
https://wordpress.org/plugins/simple-chat-button/
بعضیاشون ۶۰۰ ۵۰۰ هزار تا نصب دارن
چند تا دونه هم بفروشن کلی پوله
حالا جدا از اعتباری که براشون داره
@DevTwitter | <Rasoul Mousavian/>
👍17👎12❤2🔥2
تقریبا یکسال پیش پروژهای شبیه این پروژه modern cpp features رو برای جاوا شروع کردم و تا حد خیلی زیادی از ویژگیهاش رو پوشش دادم. با اين که به نسبت، استارهای قابل توجهی دریافت کرد اما مشارکتی از سمت کامیونیتی دریافت نکرد. شاید الان با دوباره دیده شدنش مشارکتهایی بوجود بیاد.
لینک پروژه : https://github.com/javabaz/jhistory
@DevTwitter | <AI Komaki/>
لینک پروژه : https://github.com/javabaz/jhistory
@DevTwitter | <AI Komaki/>
👍16❤4🔥3
گواه آماری از بیاثری دانشگاه در کیفیت شغل
گزارش بسیار عالی جابویژن از بازار کار و انتخاب رشته دوره کارشناسی نشان میدهد بیش از ۸۰ درصد فارغالتحصیلان دانشگاهی در محدوده حقوق پایین قرار دارند و بخش عمده آنها رضایت کاری نازلی نیز تجربه میکنند.
فقط پنج دانشگاه شریف، تهران، امیرکبیر، علموصنعت و خواجه نصیرالدین طوسی بالای خط متوسط «درآمد و رضایت» هستند. بدون شک این مساله نیز نتیجه این دانشگاهها نیست، زیرا سیستم عجیب پذیرش و قیف سرسخت «کنکور» افرادی را وارد این دانشگاهها کرده که به صورت خودجوش توانمندیهای بالایی در کسب رضایت از شغل و درآمد دارند؛ چه بسا دانشگاه مانعی برای آنها نیز بوده است.
@DevTwitter | <Behzad Bahmannejad/>
گزارش بسیار عالی جابویژن از بازار کار و انتخاب رشته دوره کارشناسی نشان میدهد بیش از ۸۰ درصد فارغالتحصیلان دانشگاهی در محدوده حقوق پایین قرار دارند و بخش عمده آنها رضایت کاری نازلی نیز تجربه میکنند.
فقط پنج دانشگاه شریف، تهران، امیرکبیر، علموصنعت و خواجه نصیرالدین طوسی بالای خط متوسط «درآمد و رضایت» هستند. بدون شک این مساله نیز نتیجه این دانشگاهها نیست، زیرا سیستم عجیب پذیرش و قیف سرسخت «کنکور» افرادی را وارد این دانشگاهها کرده که به صورت خودجوش توانمندیهای بالایی در کسب رضایت از شغل و درآمد دارند؛ چه بسا دانشگاه مانعی برای آنها نیز بوده است.
@DevTwitter | <Behzad Bahmannejad/>
👍74👎11❤6
نسخه Linux Mint 22.2 "Zara" منتشر شد! LTS تا ۲۰۲۹
تغییرات کلیدی:
هسته Linux 6.14 + Mesa 25.0.7
احراز هویت با اثر انگشت Fingwit
@DevTwitter | <MehrdadLinux/>
تغییرات کلیدی:
هسته Linux 6.14 + Mesa 25.0.7
احراز هویت با اثر انگشت Fingwit
@DevTwitter | <MehrdadLinux/>
🔥32👍4❤3👎1
#wordpress
امروز خیلی اتفاقی داشتم بخش بلوکهای وردپرس رو چک میکردم که دیدم محتوای آموزشی این قسمت رو بهتر کردن و الان خیلی خوب شده، پیشنهاد میکنم حتما بهش سر بزنید، البته اگه علاقمند به شروع توسعه بلوک هستید و پیشزمینهش رو دارید :)
https://developer.wordpress.org/block-editor/getting-started/tutorial/
@DevTwitter | <Morteza Geransayeh/>
امروز خیلی اتفاقی داشتم بخش بلوکهای وردپرس رو چک میکردم که دیدم محتوای آموزشی این قسمت رو بهتر کردن و الان خیلی خوب شده، پیشنهاد میکنم حتما بهش سر بزنید، البته اگه علاقمند به شروع توسعه بلوک هستید و پیشزمینهش رو دارید :)
https://developer.wordpress.org/block-editor/getting-started/tutorial/
@DevTwitter | <Morteza Geransayeh/>
👍18👎12🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
#javanoscript
باز هم JS عزیز بهمراه یاور همیشه مومن، CSS
بخودی خود css خودش ، کلی حرف برای گفتن داره و خیلی فراتر از کارهای معمول میشه پروژه و کارهای شگفت انگیز و باحال باهاش انجام داد
حالا توی این مینی پروژه ، با ترکیب این دوتا میبیند که میشه همچین شاهکاری رو ساخت
به نظرم فارغ از فضای کار ، خیلی خوبه همچین آثاری رو هم خلق کرد و با فرانت عشق کرد...
راستی لینکش هم اینجاست
https://codepen.io/amit_sheen/pen/gbbzbeR
@DevTwitter | <Abolfazl Shekarshekan/>
باز هم JS عزیز بهمراه یاور همیشه مومن، CSS
بخودی خود css خودش ، کلی حرف برای گفتن داره و خیلی فراتر از کارهای معمول میشه پروژه و کارهای شگفت انگیز و باحال باهاش انجام داد
حالا توی این مینی پروژه ، با ترکیب این دوتا میبیند که میشه همچین شاهکاری رو ساخت
به نظرم فارغ از فضای کار ، خیلی خوبه همچین آثاری رو هم خلق کرد و با فرانت عشق کرد...
راستی لینکش هم اینجاست
https://codepen.io/amit_sheen/pen/gbbzbeR
@DevTwitter | <Abolfazl Shekarshekan/>
🔥63❤8👍3👎2
امروز یکی از همکارانم سوال خوبی پرسید که فکر میکنم دغدغه خیلیهاست:
"فرق واقعی Async و Concurrency چیه؟ مگه هر دو به معنی انجام همزمان کارها نیستن؟"
این دو مفهوم اغلب با هم اشتباه گرفته میشن. بذارید با یک مثال ساده تفاوتشون رو باز کنم:
۱. Synchronous vs. Asynchronous
این مفاهیم درباره انتظار کشیدن هستن.
Sync
مثل اینه که بری کافه، قهوه سفارش بدی و همونجا جلوی پیشخوان منتظر بمونی تا آماده بشه و تحویل بگیری.
تا قهوه رو نگیری، هیچ کار دیگهای نمیکنی.
Async
سفارش میدی، یک پیجر (Pager) میگیری و میری سر میزت مینشینی.
در این فاصله میتونی ایمیلهاتو چک کنی.
هر وقت قهوهات آماده شد، پیجر بهت خبر میده.
تو منتظر نموندی و از زمانت استفاده کردی.
۲. Concurrency
این مفهوم درباره مدیریت چند کار در یک بازه زمانی هست.
باریستای کافه رو در نظر بگیرید:
اون همزمان هم سفارش شما رو آماده میکنه، هم سفارش نفر بعدی رو میگیره و هم شیر رو برای یک سفارش دیگه گرم میکنه.
در واقع اون با جابجایی سریع بین کارها (Context Switching)، چند وظیفه رو پیش میبره.
این یعنی همروندی.
نکته کلیدی
برنامهنویسی Async یکی از راههای رسیدن به Concurrency هست.
درک این تفاوت، در طراحی سیستمهای مدرن مثل میکروسرویسها یا پایپلاینهای پردازش دیتا، یک مزیت فوقالعاده است.
این درک به شما کمک میکنه تا بین ابزارهایی مثل Kafka, gRPC یا WebSockets انتخاب درستی داشته باشید و سیستمی بسازید که هم Scalable و هم Reliable باشه.
@DevTwitter | <Ali Naseri/>
"فرق واقعی Async و Concurrency چیه؟ مگه هر دو به معنی انجام همزمان کارها نیستن؟"
این دو مفهوم اغلب با هم اشتباه گرفته میشن. بذارید با یک مثال ساده تفاوتشون رو باز کنم:
۱. Synchronous vs. Asynchronous
این مفاهیم درباره انتظار کشیدن هستن.
Sync
مثل اینه که بری کافه، قهوه سفارش بدی و همونجا جلوی پیشخوان منتظر بمونی تا آماده بشه و تحویل بگیری.
تا قهوه رو نگیری، هیچ کار دیگهای نمیکنی.
Async
سفارش میدی، یک پیجر (Pager) میگیری و میری سر میزت مینشینی.
در این فاصله میتونی ایمیلهاتو چک کنی.
هر وقت قهوهات آماده شد، پیجر بهت خبر میده.
تو منتظر نموندی و از زمانت استفاده کردی.
۲. Concurrency
این مفهوم درباره مدیریت چند کار در یک بازه زمانی هست.
باریستای کافه رو در نظر بگیرید:
اون همزمان هم سفارش شما رو آماده میکنه، هم سفارش نفر بعدی رو میگیره و هم شیر رو برای یک سفارش دیگه گرم میکنه.
در واقع اون با جابجایی سریع بین کارها (Context Switching)، چند وظیفه رو پیش میبره.
این یعنی همروندی.
نکته کلیدی
برنامهنویسی Async یکی از راههای رسیدن به Concurrency هست.
درک این تفاوت، در طراحی سیستمهای مدرن مثل میکروسرویسها یا پایپلاینهای پردازش دیتا، یک مزیت فوقالعاده است.
این درک به شما کمک میکنه تا بین ابزارهایی مثل Kafka, gRPC یا WebSockets انتخاب درستی داشته باشید و سیستمی بسازید که هم Scalable و هم Reliable باشه.
@DevTwitter | <Ali Naseri/>
❤61👍22🔥3
https://blogs.cisco.com/security/detecting-exposed-llm-servers-shodan-case-study-on-ollama
به امنیت خودتون اهمیت بدید
@DevTwitter | <Reza Arani/>
به امنیت خودتون اهمیت بدید
@DevTwitter | <Reza Arani/>
🔥7
#angular
آیا تا حالا وسط پروژه Angular گیر کردید که بدونید یه فیچر هنوز Stable هست یا Deprecated شده؟
یه ابزار عالی پیدا کردم
درست مثل caniuse.com برای وب، اینجا هم میتونید ببینید هر فیچر Angular توی نسخههای مختلف چه وضعیتی داره (Stable, Deprecated, Experimental, Removed).
به نظرم برای هر دولوپر Angular (بهخصوص موقع Upgrade) یه ابزار نجاتبخش حساب میشه
https://www.dolmen.tools/en/angular/caniuse/explorer
@DevTwitter | <Hesam Valizadeh/>
آیا تا حالا وسط پروژه Angular گیر کردید که بدونید یه فیچر هنوز Stable هست یا Deprecated شده؟
یه ابزار عالی پیدا کردم
درست مثل caniuse.com برای وب، اینجا هم میتونید ببینید هر فیچر Angular توی نسخههای مختلف چه وضعیتی داره (Stable, Deprecated, Experimental, Removed).
به نظرم برای هر دولوپر Angular (بهخصوص موقع Upgrade) یه ابزار نجاتبخش حساب میشه
https://www.dolmen.tools/en/angular/caniuse/explorer
@DevTwitter | <Hesam Valizadeh/>
🔥8❤3
امنیت در Docker: چیزی که اغلب فراموش میکنیم!
* از rootless containers استفاده کنید: اجرای اپلیکیشن با کاربر non-root ریسک نفوذ رو خیلی کم میکنه.
* از Base image سبک و امن استفاده کنید: مثلاً alpine یا distroless. imageهای بزرگتر مثل ubuntu اغلب پکیجهای غیرضروری دارن که سطح حمله رو زیاد میکنن.
* حتما وDependencyها رو pin کنید: همیشه نسخه دقیق کتابخونهها رو مشخص کنید تا از تغییرات ناخواسته جلوگیری بشه.
* از .dockerignore استفاده کنید: فایلهای حساس (مثل .env یا کلیدها) هرگز نباید داخل image قرار بگیرن.
* بهروز نگه داشتن imageها: آسیبپذیریها خیلی سریع پیدا میشن، پس آپدیت مرتب imageها ضروریه.
بارها پیش میاد که به خاطر استفاده از یک base image قدیمی، vulnerability جدی توی اسکن امنیتی پیدا میشه. فقط با عوض کردن base image به نسخهی جدیدتر و سبکتر، هم امنیت بیشتر میشه، هم حجم image کاهش پیدا میکنه.
نکات تکمیلی امنیت در Docker
1. استفاده از Healthcheck
- توی Dockerfile با HEALTHCHECK وضعیت سرویس رو بررسی کنید که باعث میشه container ناسالم زودتر شناسایی و جایگزین بشن.
2. حداقل کردن Surface Attack با distroless images
- این imageها فقط باینری نهایی رو دارن (بدون package manager یا shell).
- دسترسی مهاجم به شدت محدود میشه.
3.فعال کردن User namespace remapping
- باعث میشه کاربر root داخل container، روی سیستم میزبان واقعاً root نباشه.
4. استفاده از Read-Only Filesystem
- container رو با --read-only بالا بیارید تا کسی نتونه فایلهای سیستمی داخلش رو تغییر بده.
5. مدیریت Secretها بهدرستی
- هرگز secrets رو داخل image نذارید.
- از ابزارهایی مثل Docker secrets، HashiCorp Vault یا AWS/GCP Secret Manager استفاده کنید.
6. Scan امنیتی منظم
- ابزارهایی مثل Trivy, Grype یا Docker Scout رو برای اسکن image استفاده کنید.
- این ابزارها آسیبپذیریهای شناختهشده (CVE) رو شناسایی میکنن.
7. محدود کردن Resourceها
- با --cpus و --memory منابع container رو محدود کنید تا جلوی حملات DoS یا مصرف بیرویه گرفته بشه.
8. استفاده از شبکههای ایزوله
- کانتینرهایی که لازم نیست با اینترنت یا کانتینرهای دیگه در ارتباط باشن رو توی یک شبکهی جداگانه نگه دارید.
9. امضای دیجیتال و اعتبارسنجی Imageها
- با Docker Content Trust (DCT) یا cosign امضا و اعتبارسنجی کنید که image تغییر نکرده باشه.
10. بروزرسانی مرتب Docker Engine و Runtime
- چون آسیبپذیریها فقط توی imageها نیستن، بلکه خود daemon و runtime هم میتونه مشکل امنیتی داشته باشه.
***امنیت در Docker فقط به Dockerfile محدود نیست؛ از انتخاب base image شروع میشه، به مدیریت secret و network میرسه و حتی شامل CI/CD pipeline هم میشه***
@DevTwitter | <Somaye Omidi/>
* از rootless containers استفاده کنید: اجرای اپلیکیشن با کاربر non-root ریسک نفوذ رو خیلی کم میکنه.
* از Base image سبک و امن استفاده کنید: مثلاً alpine یا distroless. imageهای بزرگتر مثل ubuntu اغلب پکیجهای غیرضروری دارن که سطح حمله رو زیاد میکنن.
* حتما وDependencyها رو pin کنید: همیشه نسخه دقیق کتابخونهها رو مشخص کنید تا از تغییرات ناخواسته جلوگیری بشه.
* از .dockerignore استفاده کنید: فایلهای حساس (مثل .env یا کلیدها) هرگز نباید داخل image قرار بگیرن.
* بهروز نگه داشتن imageها: آسیبپذیریها خیلی سریع پیدا میشن، پس آپدیت مرتب imageها ضروریه.
بارها پیش میاد که به خاطر استفاده از یک base image قدیمی، vulnerability جدی توی اسکن امنیتی پیدا میشه. فقط با عوض کردن base image به نسخهی جدیدتر و سبکتر، هم امنیت بیشتر میشه، هم حجم image کاهش پیدا میکنه.
نکات تکمیلی امنیت در Docker
1. استفاده از Healthcheck
- توی Dockerfile با HEALTHCHECK وضعیت سرویس رو بررسی کنید که باعث میشه container ناسالم زودتر شناسایی و جایگزین بشن.
2. حداقل کردن Surface Attack با distroless images
- این imageها فقط باینری نهایی رو دارن (بدون package manager یا shell).
- دسترسی مهاجم به شدت محدود میشه.
3.فعال کردن User namespace remapping
- باعث میشه کاربر root داخل container، روی سیستم میزبان واقعاً root نباشه.
4. استفاده از Read-Only Filesystem
- container رو با --read-only بالا بیارید تا کسی نتونه فایلهای سیستمی داخلش رو تغییر بده.
5. مدیریت Secretها بهدرستی
- هرگز secrets رو داخل image نذارید.
- از ابزارهایی مثل Docker secrets، HashiCorp Vault یا AWS/GCP Secret Manager استفاده کنید.
6. Scan امنیتی منظم
- ابزارهایی مثل Trivy, Grype یا Docker Scout رو برای اسکن image استفاده کنید.
- این ابزارها آسیبپذیریهای شناختهشده (CVE) رو شناسایی میکنن.
7. محدود کردن Resourceها
- با --cpus و --memory منابع container رو محدود کنید تا جلوی حملات DoS یا مصرف بیرویه گرفته بشه.
8. استفاده از شبکههای ایزوله
- کانتینرهایی که لازم نیست با اینترنت یا کانتینرهای دیگه در ارتباط باشن رو توی یک شبکهی جداگانه نگه دارید.
9. امضای دیجیتال و اعتبارسنجی Imageها
- با Docker Content Trust (DCT) یا cosign امضا و اعتبارسنجی کنید که image تغییر نکرده باشه.
10. بروزرسانی مرتب Docker Engine و Runtime
- چون آسیبپذیریها فقط توی imageها نیستن، بلکه خود daemon و runtime هم میتونه مشکل امنیتی داشته باشه.
***امنیت در Docker فقط به Dockerfile محدود نیست؛ از انتخاب base image شروع میشه، به مدیریت secret و network میرسه و حتی شامل CI/CD pipeline هم میشه***
@DevTwitter | <Somaye Omidi/>
👍33❤10🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
اگه اهل افکت و هاور و انیمیشنهای چشمگیر هستی، این سایت یه معدن طلاست!
یه منبع پیدا کردم که پره از افکتهای موس و هاورهایی که وقتی تو پروژهت استفاده کنی، دیگه کسی نمیپرسه "بلدی؟" خودشون پروژه رو دو دستی بهت میدن
افکتهایی که فقط زیبا نیستن تجربه میسازن
مناسب برای عکس ها، متن ها، بکگراند صفحات و...
خوبیش اینه که با React توسعه داده شده
دیگه چی از این بهتر؟؟
لینکش هم اینجاست ، تستش کن، عاشقش میشی
reactbits.dev
@DevTwitter | <Abolfazl Shekarshekan/>
یه منبع پیدا کردم که پره از افکتهای موس و هاورهایی که وقتی تو پروژهت استفاده کنی، دیگه کسی نمیپرسه "بلدی؟" خودشون پروژه رو دو دستی بهت میدن
افکتهایی که فقط زیبا نیستن تجربه میسازن
مناسب برای عکس ها، متن ها، بکگراند صفحات و...
خوبیش اینه که با React توسعه داده شده
دیگه چی از این بهتر؟؟
لینکش هم اینجاست ، تستش کن، عاشقش میشی
reactbits.dev
@DevTwitter | <Abolfazl Shekarshekan/>
🔥57❤10👍4
امروز سهتا شرکت به ریپوی شغلهای ریموت PHP اضافه کردم. باشد که در نهایت خودم با یکیشون کار کنم.
http://github.com/rasoulrahimii/PHP-Remote-Jobs
@DevTwitter | <Rasoul Rahimii/>
http://github.com/rasoulrahimii/PHP-Remote-Jobs
@DevTwitter | <Rasoul Rahimii/>
👍19👎11❤2🔥1
لیتکد یکی از بهترین جاها برای تمرین الگوریتمه. این ریپو جواب بالای هزار تا از مسئلههاشو داره. اگه نمیدونی از کجا شروع کنی، اول جوابارو یه نگاه بنداز، بعد خودت امتحان کن. همین میتونه شروع مسیرت باشه:
https://github.com/haoel/leetcode
@DevTwitter | <Misa/>
https://github.com/haoel/leetcode
@DevTwitter | <Misa/>
❤31👎11👍1
برای فان یک مسنجر P2P امن(E2EE) تحت CLI با پایتون نوشتم.
سرور بین دو کلاینت حکم Relay رو داره و فقط کلید های عمومی شون رو ذخیره میکنه.
دوست داشتند چک کنید.
https://github.com/mthri/e2ee-chat
@DevTwitter | <Amir Motahari/>
سرور بین دو کلاینت حکم Relay رو داره و فقط کلید های عمومی شون رو ذخیره میکنه.
دوست داشتند چک کنید.
https://github.com/mthri/e2ee-chat
@DevTwitter | <Amir Motahari/>
🔥30👎7👍3❤1
یه ابزار خوب بخصوص برای دولوپرها Mastra AI ئه
فریمورک متنباز برای ساخت اپهای هوش مصنوعی
کاربرد عملی: میتونی راحت LLM رو به اپلیکیشن (Laravel، Next.js و …) وصل کنی، agent بسازی، به دیتابیس یا API وصلش کنی و یه دستیار هوشمند توی محصولت داشته باشی.
https://github.com/mastra-ai/mastra
@DevTwitter | <Hamed Ebrahimi/>
فریمورک متنباز برای ساخت اپهای هوش مصنوعی
کاربرد عملی: میتونی راحت LLM رو به اپلیکیشن (Laravel، Next.js و …) وصل کنی، agent بسازی، به دیتابیس یا API وصلش کنی و یه دستیار هوشمند توی محصولت داشته باشی.
https://github.com/mastra-ai/mastra
@DevTwitter | <Hamed Ebrahimi/>
👍13👎5🔥5
ترد (Thread) تو فرانت یعنی چی؟
ترد (Thread) یعنی یه خط یا مسیر اجرای کد توی برنامه یا مرورگر.
تصور کن برنامه یا مرورگر مثل یه آشپزخونه بزرگه:
- هر ترد مثل یه سرآشپز یا کارمند توی آشپزخونهست که یه کار مشخصو انجام میده.
- وقتی یه ترد مشغول یه کار سنگین میشه، فقط همون مسیر (یا سرآشپز) تحت تأثیر قرار میگیره، نه همه چیز.
---
چندین نوع ترد داریم که خوبه باهاشون اشنا باشیم و بدونیم از هرکدوم باید برای چه کاری استفاده کنیم:
1- ترد اصلی (Main Thread)
- که مسئول همه چیزای اصلی صفحه است: DOM، CSS، رندر و eventها
- هر چیزی که با کاربر در تعامله، اینجا اجرا میشه
2- ترد وب وورکر (Web Worker)
- کارهای سنگین و طولانی مثل پردازش دادههای بزرگ رو با این ترد انجام میدن
- مستقیم نمیتونه با DOM کار میکنه و فقط با پیام با main thread حرف میزنه
3- ترد سرویس وورکر (Service Worker)
- مخصوص PWA: کش، fetch، push notification
- مستقل از main thread و UI رو قفل نمیکنه
برای اینکه کار با main thread خوب و روان باشه، مهمه که کارای سنگین و طولانی رو مستقیم توش نذاریم. همه چیزای مربوط به DOM، رندر و تعامل با کاربر باید سریع اجرا بشه تا صفحه لگ نزنه. کارای پردازشی بزرگ رو بهتره به Web Worker بسپاریم و فقط نتیجه رو برگردونیم. همینطور از تکنیکهایی مثل debounce و throttle برای کنترل eventها استفاده کنیم تا main thread شلوغ نشه. وقتی این نکات رو رعایت کنیم، UIامون همیشه روون و بدون لگ میمونه
@DevTwitter | <Reihaneh SadatShokouhi/>
ترد (Thread) یعنی یه خط یا مسیر اجرای کد توی برنامه یا مرورگر.
تصور کن برنامه یا مرورگر مثل یه آشپزخونه بزرگه:
- هر ترد مثل یه سرآشپز یا کارمند توی آشپزخونهست که یه کار مشخصو انجام میده.
- وقتی یه ترد مشغول یه کار سنگین میشه، فقط همون مسیر (یا سرآشپز) تحت تأثیر قرار میگیره، نه همه چیز.
---
چندین نوع ترد داریم که خوبه باهاشون اشنا باشیم و بدونیم از هرکدوم باید برای چه کاری استفاده کنیم:
1- ترد اصلی (Main Thread)
- که مسئول همه چیزای اصلی صفحه است: DOM، CSS، رندر و eventها
- هر چیزی که با کاربر در تعامله، اینجا اجرا میشه
2- ترد وب وورکر (Web Worker)
- کارهای سنگین و طولانی مثل پردازش دادههای بزرگ رو با این ترد انجام میدن
- مستقیم نمیتونه با DOM کار میکنه و فقط با پیام با main thread حرف میزنه
3- ترد سرویس وورکر (Service Worker)
- مخصوص PWA: کش، fetch، push notification
- مستقل از main thread و UI رو قفل نمیکنه
برای اینکه کار با main thread خوب و روان باشه، مهمه که کارای سنگین و طولانی رو مستقیم توش نذاریم. همه چیزای مربوط به DOM، رندر و تعامل با کاربر باید سریع اجرا بشه تا صفحه لگ نزنه. کارای پردازشی بزرگ رو بهتره به Web Worker بسپاریم و فقط نتیجه رو برگردونیم. همینطور از تکنیکهایی مثل debounce و throttle برای کنترل eventها استفاده کنیم تا main thread شلوغ نشه. وقتی این نکات رو رعایت کنیم، UIامون همیشه روون و بدون لگ میمونه
@DevTwitter | <Reihaneh SadatShokouhi/>
👍27❤13👎5🔥1
امروز گوگل یک مدل بسیار کوچک ولی خیلی قدرتمند برای امبدینگ به اسم EmbeddingGemma ارائه کرد. خلاصه اش:
- مدل جمعوجور با ۳۰۸ میلیون پارامتر (بر پایه Gemma 3)
- بهترین عملکرد بین مدلهای زیر ۵۰۰ میلیون روی MTEB
- اجرای کاملاً روی دستگاه با کمتر از ۲۰۰ مگابایت رم (نسخه کوانتایز شده)
- تولید امبدینگ در کمتر از ۱۵ میلیثانیه روی EdgeTPU
- پشتیبانی از بیشتر از ۱۰۰ زبان
- خروجی قابل تنظیم (از ۱۲۸ تا ۷۶۸ بُعد) با روش Matryoshka
- پشتیبانی از context window با ۲۰۰۰ توکن
- کاملاً آفلاین کار میکنه و حریم خصوصی رو حفظ میکنه
- مناسب برای RAG روی دستگاه، جستجوی معنایی و پرسوجوی دادههای شخصی
- قابل فاینتیون کردن با نوتبوکهای آماده
- در دسترس روی Hugging Face، Kaggle و Vertex AI؛ با مستندات و پشتیبانی توی ابزارهایی مثل transformers.js، MLX، llama.cpp، LiteRT، Ollama، LMStudio، Weaviate
لینک بلاگشون:
https://developers.googleblog.com/en/introducing-embeddinggemma/
@DevTwitter | <Mehdi Allahyari/>
- مدل جمعوجور با ۳۰۸ میلیون پارامتر (بر پایه Gemma 3)
- بهترین عملکرد بین مدلهای زیر ۵۰۰ میلیون روی MTEB
- اجرای کاملاً روی دستگاه با کمتر از ۲۰۰ مگابایت رم (نسخه کوانتایز شده)
- تولید امبدینگ در کمتر از ۱۵ میلیثانیه روی EdgeTPU
- پشتیبانی از بیشتر از ۱۰۰ زبان
- خروجی قابل تنظیم (از ۱۲۸ تا ۷۶۸ بُعد) با روش Matryoshka
- پشتیبانی از context window با ۲۰۰۰ توکن
- کاملاً آفلاین کار میکنه و حریم خصوصی رو حفظ میکنه
- مناسب برای RAG روی دستگاه، جستجوی معنایی و پرسوجوی دادههای شخصی
- قابل فاینتیون کردن با نوتبوکهای آماده
- در دسترس روی Hugging Face، Kaggle و Vertex AI؛ با مستندات و پشتیبانی توی ابزارهایی مثل transformers.js، MLX، llama.cpp، LiteRT، Ollama، LMStudio، Weaviate
لینک بلاگشون:
https://developers.googleblog.com/en/introducing-embeddinggemma/
@DevTwitter | <Mehdi Allahyari/>
🔥30👍7❤4👎1
این مخزن گیت هاب همهٔ سیستمپرامپتهای واقعی ابزارهای AI رو جمع کرده و میتونه کمکتون کنه پرامپت نویسی و کار با ابزار مختلف رو یاد بگیرید
لینک مخزن
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools
@DevTwitter | <پسر لوسیفر/>
لینک مخزن
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools
@DevTwitter | <پسر لوسیفر/>
👍21❤6