اگه با لاراول کار میکنی، حتماً این پکیج رو امتحان کن!
یکی از کارهایی که همیشه تو پروژههای لاراولی باید انجام بدیم، فیلتر کردن دادهها و فرستادن ریسپانس تمیز و مرتب به کلاینتهاست. برای راحتتر کردن این کار و داشتن کدی تمیز و قابل فهم، پیشنهاد میکنم از پکیج Spatie\QueryBuilder\QueryBuilder
استفاده کنین با این پکیج میتونی خیلی راحت دادهها رو فیلتر و مرتب کنی و دقیقاً
همون دیتایی که لازم داری رو به کلاینت بفرستی. یه نمونه ازش ببینید:
اینطوری نه تنها کدتون مرتبتر میشه، بلکه میتونین با خیال راحت همه جور فیلتر و سرچ رو مدیریت کنین، بدون دردسر نوشتن کلی کوئری اضافه!
@DevTwitter | <Saber Qadimi/>
یکی از کارهایی که همیشه تو پروژههای لاراولی باید انجام بدیم، فیلتر کردن دادهها و فرستادن ریسپانس تمیز و مرتب به کلاینتهاست. برای راحتتر کردن این کار و داشتن کدی تمیز و قابل فهم، پیشنهاد میکنم از پکیج Spatie\QueryBuilder\QueryBuilder
استفاده کنین با این پکیج میتونی خیلی راحت دادهها رو فیلتر و مرتب کنی و دقیقاً
همون دیتایی که لازم داری رو به کلاینت بفرستی. یه نمونه ازش ببینید:
اینطوری نه تنها کدتون مرتبتر میشه، بلکه میتونین با خیال راحت همه جور فیلتر و سرچ رو مدیریت کنین، بدون دردسر نوشتن کلی کوئری اضافه!
@DevTwitter | <Saber Qadimi/>
👍29🔥4👎2🤣1
مشکلات URL و URLSearchParams در جاوااسکریپت و Node.js
نکات کلیدی
هنگام استفاده از URLSearchParams به نحوه مدیریت کاراکترهای خاص (مانند ~) و فضاهای خالی توجه کنید. در صورت نیاز از encodeURIComponent استفاده کنید.
تفاوت بین URL.search، URLSearchParams.get و URLSearchParams.toString را برای جلوگیری از رفتار غیرمنتظره درک کنید.
در Node.js از ماژول querystring استفاده کنید اگر میخواهید پارامترهای کوئری تکراری را به عنوان یک آرایه پارس کنید.
https://yavarjs.ir/posts/url-urlsearchparams/
@DevTwitter | <Hamidreza/>
نکات کلیدی
هنگام استفاده از URLSearchParams به نحوه مدیریت کاراکترهای خاص (مانند ~) و فضاهای خالی توجه کنید. در صورت نیاز از encodeURIComponent استفاده کنید.
تفاوت بین URL.search، URLSearchParams.get و URLSearchParams.toString را برای جلوگیری از رفتار غیرمنتظره درک کنید.
در Node.js از ماژول querystring استفاده کنید اگر میخواهید پارامترهای کوئری تکراری را به عنوان یک آرایه پارس کنید.
https://yavarjs.ir/posts/url-urlsearchparams/
@DevTwitter | <Hamidreza/>
👍24❤1
اگه مصاحبهی coding با شرکتهای بزرگ میکنین ۲۰ تا سوال most frequent اون شرکت در ماه اخیر از leetcode + سایت 1point3acres که یه فروم چینی هست (پولیه) رو چک کنین. با احتمال خیلی خیلی بالایی تمام سوالهایی که میگیرین تکراری و از همیناس.
@DevTwitter | <شایان/>
@DevTwitter | <شایان/>
👍31🤣8❤5👎2
در وردپرس حتما cron رو از حالت دستی خارج کنید و در cron jobs هاست خودتون تعریفش کنید به شکلی که در عکس ها هست. نتیجه: جلوگیری از افت سرعت و انجام شدن دقیق عملیات های زمان بندی شده
@DevTwitter | <Mahdi Akrami/>
define('DISABLE_WP_CRON', true);wget -O - {domain}/wp-cron.php?doing_wp_cron >/dev/null 2>&1@DevTwitter | <Mahdi Akrami/>
👍23🤣10❤3🔥3
یه کد ساده نوشتم برای انتقال فایل از آیفون به سیستم عامل لینوکس بدون کابل فقط با شبکه داخلی خونه.
خودم بیشتر برای جابجا کردن عکس استفاده میکنم.
https://github.com/Iam-ho/simple_http_upload_server
@DevTwitter | <تد موزبي/>
خودم بیشتر برای جابجا کردن عکس استفاده میکنم.
https://github.com/Iam-ho/simple_http_upload_server
@DevTwitter | <تد موزبي/>
🔥50🤣6👍4
خب من این اکستشن مترجم فایل PDF و EPUB رو روی گیت هابم بصورت پابلیش گذاشتم، روی Brave, Chrome, Edge نصب کردم و جواب داد، خوشحال میشم نصب کردید بهم بازخوردش رو بدید
نحوه نصب و استفاده هم توی فایل readme نوشتم
https://github.com/Amirahmari/PDF-EPUB-Translator
@DevTwitter | <امیر/>
نحوه نصب و استفاده هم توی فایل readme نوشتم
https://github.com/Amirahmari/PDF-EPUB-Translator
@DevTwitter | <امیر/>
❤24👍14
یه پلاگین ساده برای GoLand ساختم که محتوای ۱۰ فایل آخری که باز کردید رو همراه با یه پرامپت خوب به کلیپبورد کپی میکنه!
خیلی به درد میخوره اگه بخواید کدتون رو به ChatGPT بدید. بیاید امتحان کنید و نظرتون رو بگید!
https://gist.github.com/mhrlife/3d26a861feb1fca6084aa1a69bf1d06a
@DevTwitter | <The Big Rad/>
خیلی به درد میخوره اگه بخواید کدتون رو به ChatGPT بدید. بیاید امتحان کنید و نظرتون رو بگید!
https://gist.github.com/mhrlife/3d26a861feb1fca6084aa1a69bf1d06a
@DevTwitter | <The Big Rad/>
🤣20👍14❤4
توی ترمینالها قطعا شرایطی پیش میآید که از pipe یا همان | جهت انجام کارها استفاده کنیم.
گاهی اوقات ممکن است عملیات سادهای باشد اما گاهی اوقات که عملیات محاسباتی و طول میکشد، مقدار پیشرفت آن مهم است.
ابزار Pipe Viewer دقیقا برای این منظور ساخته شده است.
https://catonmat.net/unix-utilities-pipe-viewer
@DevTwitter | <Vahid Nameni/>
گاهی اوقات ممکن است عملیات سادهای باشد اما گاهی اوقات که عملیات محاسباتی و طول میکشد، مقدار پیشرفت آن مهم است.
ابزار Pipe Viewer دقیقا برای این منظور ساخته شده است.
https://catonmat.net/unix-utilities-pipe-viewer
@DevTwitter | <Vahid Nameni/>
👍24🔥9
کمربند سیاهِ Async Await در Node.js
در این نوشته یاد میگیری که چجوری اپلیکیشنهای Node.jsای که با callback یا Promise نوشتی رو با توابع async سادهترشون کنی.
اگه قبلا یه نگاهی به الگوی async/await و promiseها در جاوااسکریپت انداختی ولی هنوز کامل بهشون مسلط نیستی و یا این که فقط نیاز داری تا مرورشون کنی، هدف این نوشته کمک به توئه.
https://yavarjs.ir/posts/mastering-async-await/
@DevTwitter | <Hamidreza/>
در این نوشته یاد میگیری که چجوری اپلیکیشنهای Node.jsای که با callback یا Promise نوشتی رو با توابع async سادهترشون کنی.
اگه قبلا یه نگاهی به الگوی async/await و promiseها در جاوااسکریپت انداختی ولی هنوز کامل بهشون مسلط نیستی و یا این که فقط نیاز داری تا مرورشون کنی، هدف این نوشته کمک به توئه.
https://yavarjs.ir/posts/mastering-async-await/
@DevTwitter | <Hamidreza/>
👍29
مدتیه که مشغول یادگیری و آموزش PostgreSQL هستم. امروز با موضوع جالبی به نام TOAST آشنا شدم که روش خاصی برای ذخیره دادههای حجیم در این پایگاه داده ارائه میده.
درباره این موضوع، یه مقاله در مدیوم نوشتم و امیدوارم برای دوستانی که با PostgreSQL کار میکنن مفید باشه
https://medium.com/@Amir_M4A/toast-in-postgresql-storing-large-data-efficiently-0423ce21dd05
@DevTwitter | <Amir Asgary/>
درباره این موضوع، یه مقاله در مدیوم نوشتم و امیدوارم برای دوستانی که با PostgreSQL کار میکنن مفید باشه
https://medium.com/@Amir_M4A/toast-in-postgresql-storing-large-data-efficiently-0423ce21dd05
@DevTwitter | <Amir Asgary/>
❤61🔥38👍8🤣3
توسعهدهندههای فرانتاند یه شهرت دارن که "کمتر تکنیکی" از توسعهدهندههای بکاند هستن
بارها این موضوع رو توی صحبتها شنیدم
بذارید یک بار برای همیشه روشن کنیم: ما اینجا نیستیم که فقط "چیزها رو زیبا کنیم"
این برداشت کاملاً اشتباه
حقیقت اینه که:
- ما تجربههای کاربری رو طراحی میکنیم – این فقط نوشتن کد نیست؛ بلکه ایجاد اپلیکیشنهای شهودی، یکپارچه و دسترسیپذیر هست که کاربران رو درگیر میکنه و مشکلات واقعی رو حل میکنه. در سال ۲۰۲۴، با افزایش رابطهای کاربری پیچیده و نیازهای متنوع کاربران، باید مطمئن بشیم هر تعامل معنا دار و در دسترس همه هست
- ما عملکرد رو بهینه میکنیم – کاربران سرعت رو میخوان و هر میلیثانیه مهمه. در ۲۰۲۴، با دادهمحورتر و ویژگیغنیتر شدن اپلیکیشنها، بهینهسازی زمان بارگذاری و عملکرد در حال اجرا حیاتی شده. تکنیکهایی مثل code splitting، lazy loading و مدیریت مؤثر داراییها حالا استانداردهایی برای بهبود تجربه کاربری هستن
- ما با خدمات بکاند ادغام میشیم – کار ما شامل برنامهنویسی asynchronous، مدیریت API و مدیریت خطاهای قوی هست تا ارتباط بین کلاینت و سرور به خوبی انجام بشه
- ما از ابزارهای ساخت پیچیده استفاده میکنیم – تسلط بر ابزارهایی مثل Webpack، Babel و npm scripts برای بهینهسازی داراییها، مدیریت وابستگیها و خودکارسازی گردش کارها ضروریه
- ما امنیت رو پیادهسازی میکنیم – رسیدگی به آسیبپذیریها مثل XSS و CSRF خیلی مهمه. ما میدونیم چطور ورودیها رو ایمن کنیم و از دادههای کاربران حفاظت کنیم، که جلوی خطرات رو میگیره
- ما به دسترسی (a11y) اهمیت میدیم – ساخت اپلیکیشنهای فراگیر فقط یه هدف نیست، بلکه یک ضرورته. ما از ARIA roles، HTML semanticو keyboard navigationاستفاده میکنیم تا مطمئن بشیم همه میتونن از اپلیکیشنهای ما استفاده کنن
- ما مدیریت state رو به خوبی انجام میدیم – با بزرگتر شدن اپلیکیشنها، مدیریت وضعیت بین کامپوننتها چالش پیچیدهای میشه. با استفاده از کتابخانههای مدیریت وضعیت مثل Redux یا Context API، اطمینان حاصل میکنیم که دادهها بهخوبی در اپلیکیشن جریان پیدا کنن و ثبات و عملکرد حفظ بشه
- ما از فریمورکها و کتابخانههای مدرن استفاده میکنیم – با افزایش فریمورکهایی مثل React، Vue و Angular، باید همیشه درک بهروز از اکوسیستمهای اونها داشته باشیم. تسلط بر معماری مبتنی بر کامپوننت و فهم روشهای چرخه عمر برای ساخت اپلیکیشنهای مقیاسپذیر حیاتی هست
- ما روی progressive enhancement و responsive design تمرکز میکنیم – در زمانی که کاربران از دستگاههای مختلف به اپلیکیشنها دسترسی پیدا میکنن، طراحی با توسعه تدریجی اطمینان میده که کارکردهای اصلی برای همه قابل دسترسی باشه. تکنیکهای طراحی responsiveبه ما این امکان رو میده که طرحهای منعطفی بسازیم که به اندازههای مختلف صفحه نمایش سازگار بشن
- ما به بازخورد کاربران و تستها اهمیت میدیم – ادغام بازخورد کاربران از طریق تستهای usability و A/B برای بهبود تجربههای کاربری ضروریه. ما از ابزارهایی استفاده میکنیم که رفتار کاربران رو تجزیه و تحلیل میکنن و اطلاعاتی جمعآوری میکنن تا طراحیها رو بهبود بدیم و مطمئن بشیم اپلیکیشنهامون به خوبی نیازهای کاربران رو برآورده میکنه
@DevTwitter | <Soheib Kiani/>
بارها این موضوع رو توی صحبتها شنیدم
بذارید یک بار برای همیشه روشن کنیم: ما اینجا نیستیم که فقط "چیزها رو زیبا کنیم"
این برداشت کاملاً اشتباه
حقیقت اینه که:
- ما تجربههای کاربری رو طراحی میکنیم – این فقط نوشتن کد نیست؛ بلکه ایجاد اپلیکیشنهای شهودی، یکپارچه و دسترسیپذیر هست که کاربران رو درگیر میکنه و مشکلات واقعی رو حل میکنه. در سال ۲۰۲۴، با افزایش رابطهای کاربری پیچیده و نیازهای متنوع کاربران، باید مطمئن بشیم هر تعامل معنا دار و در دسترس همه هست
- ما عملکرد رو بهینه میکنیم – کاربران سرعت رو میخوان و هر میلیثانیه مهمه. در ۲۰۲۴، با دادهمحورتر و ویژگیغنیتر شدن اپلیکیشنها، بهینهسازی زمان بارگذاری و عملکرد در حال اجرا حیاتی شده. تکنیکهایی مثل code splitting، lazy loading و مدیریت مؤثر داراییها حالا استانداردهایی برای بهبود تجربه کاربری هستن
- ما با خدمات بکاند ادغام میشیم – کار ما شامل برنامهنویسی asynchronous، مدیریت API و مدیریت خطاهای قوی هست تا ارتباط بین کلاینت و سرور به خوبی انجام بشه
- ما از ابزارهای ساخت پیچیده استفاده میکنیم – تسلط بر ابزارهایی مثل Webpack، Babel و npm scripts برای بهینهسازی داراییها، مدیریت وابستگیها و خودکارسازی گردش کارها ضروریه
- ما امنیت رو پیادهسازی میکنیم – رسیدگی به آسیبپذیریها مثل XSS و CSRF خیلی مهمه. ما میدونیم چطور ورودیها رو ایمن کنیم و از دادههای کاربران حفاظت کنیم، که جلوی خطرات رو میگیره
- ما به دسترسی (a11y) اهمیت میدیم – ساخت اپلیکیشنهای فراگیر فقط یه هدف نیست، بلکه یک ضرورته. ما از ARIA roles، HTML semanticو keyboard navigationاستفاده میکنیم تا مطمئن بشیم همه میتونن از اپلیکیشنهای ما استفاده کنن
- ما مدیریت state رو به خوبی انجام میدیم – با بزرگتر شدن اپلیکیشنها، مدیریت وضعیت بین کامپوننتها چالش پیچیدهای میشه. با استفاده از کتابخانههای مدیریت وضعیت مثل Redux یا Context API، اطمینان حاصل میکنیم که دادهها بهخوبی در اپلیکیشن جریان پیدا کنن و ثبات و عملکرد حفظ بشه
- ما از فریمورکها و کتابخانههای مدرن استفاده میکنیم – با افزایش فریمورکهایی مثل React، Vue و Angular، باید همیشه درک بهروز از اکوسیستمهای اونها داشته باشیم. تسلط بر معماری مبتنی بر کامپوننت و فهم روشهای چرخه عمر برای ساخت اپلیکیشنهای مقیاسپذیر حیاتی هست
- ما روی progressive enhancement و responsive design تمرکز میکنیم – در زمانی که کاربران از دستگاههای مختلف به اپلیکیشنها دسترسی پیدا میکنن، طراحی با توسعه تدریجی اطمینان میده که کارکردهای اصلی برای همه قابل دسترسی باشه. تکنیکهای طراحی responsiveبه ما این امکان رو میده که طرحهای منعطفی بسازیم که به اندازههای مختلف صفحه نمایش سازگار بشن
- ما به بازخورد کاربران و تستها اهمیت میدیم – ادغام بازخورد کاربران از طریق تستهای usability و A/B برای بهبود تجربههای کاربری ضروریه. ما از ابزارهایی استفاده میکنیم که رفتار کاربران رو تجزیه و تحلیل میکنن و اطلاعاتی جمعآوری میکنن تا طراحیها رو بهبود بدیم و مطمئن بشیم اپلیکیشنهامون به خوبی نیازهای کاربران رو برآورده میکنه
@DevTwitter | <Soheib Kiani/>
🤣126👍113🔥8👎4
اگه میخوای سریع یه داشبورد یا پنل مدیریت بیاری بالا اونم با ReactJs من پیشنهادم AdminLTE هستش. پیشنهاد شما چیه؟
لینک ریپازیتوری:
https://github.com/mehditohidi/ReactJS-AdminLTE
برای اکثر فریمورک ها کدهاش موجوده.
سایت اصلی: https://adminlte.io
@DevTwitter | <Mahdi Tohidi/>
لینک ریپازیتوری:
https://github.com/mehditohidi/ReactJS-AdminLTE
برای اکثر فریمورک ها کدهاش موجوده.
سایت اصلی: https://adminlte.io
@DevTwitter | <Mahdi Tohidi/>
❤36👎16👍6🤣5
امروز یه تجربه جالب داشتم!
چند روزی هست که همکاران تو شرکت مشغول انتقال دادهها از یک سرور به سرور دیگه هستن. امروز برای کمک رفتم و کار من این بود که *ping ip* حدود ۳۰۰ سایت رو بررسی کنم تا ببینم آیا domain تغییر کرده یا نه و اونارو تو یک فایل اکسل که تهیه کردم قرار بدم.
این یه کار تکراری و زمانبر بود که معمولاً نصف روز طول میکشید. همون لحظه به ذهنم رسید چرا از پایتون استفاده نکنم؟ شروع به جستجو کردم و دیدم بلهههه، میشه با pandas ,subprocess,openpyxlپیادش کرد!
اسکریپتی نوشتم که این فرآیند رو کاملاً خودکار کرد و کلی در زمان صرفهجویی شد. حالا اگه شما هم کار مشابهی دارین، میتونید این اسکریپت رو روی گیتهاب من پیدا کنید. اگر براتون مفید بود، خوشحال میشم star بدید.
https://github.com/shahinzeyni/ping_cheker_with_pandas
@DevTwitter | <Shahin Zeyni/>
چند روزی هست که همکاران تو شرکت مشغول انتقال دادهها از یک سرور به سرور دیگه هستن. امروز برای کمک رفتم و کار من این بود که *ping ip* حدود ۳۰۰ سایت رو بررسی کنم تا ببینم آیا domain تغییر کرده یا نه و اونارو تو یک فایل اکسل که تهیه کردم قرار بدم.
این یه کار تکراری و زمانبر بود که معمولاً نصف روز طول میکشید. همون لحظه به ذهنم رسید چرا از پایتون استفاده نکنم؟ شروع به جستجو کردم و دیدم بلهههه، میشه با pandas ,subprocess,openpyxlپیادش کرد!
اسکریپتی نوشتم که این فرآیند رو کاملاً خودکار کرد و کلی در زمان صرفهجویی شد. حالا اگه شما هم کار مشابهی دارین، میتونید این اسکریپت رو روی گیتهاب من پیدا کنید. اگر براتون مفید بود، خوشحال میشم star بدید.
https://github.com/shahinzeyni/ping_cheker_with_pandas
@DevTwitter | <Shahin Zeyni/>
👍48🤣11❤8🔥2
من شرکتهای مختلفی کار کردم و فناوریهای مختلفی رو دیدم.
چیزی که برام خیلی جالب بود و تقریباً بین همه مشترک بود، مدل پیادهسازی و طراحی Pipeline ها و Deploy کردنشون داخل Kubernetes بود.
اکثر شرکتهایی که دیدم داخل Pileline، فایلهای Deployment کوبرنتیز رو هم میساختن (کی دیده منیفست Build بشه آخه؟).
در حالی که روشها و راههای خیلی استانداردتر و بهتری هم برای پیادهسازی Image ساختهشده روی کوبرنتیز وجود داره.
از مشکلات این روش هرچی بگم کم گفتم:
- خیلی وقتها میخوای یه تغییری روی Deployment بدی و این همزمان میشه با تغییرات برنامهنویس، و تو باید منتظر تأیید اون باشی تا با هم فایلها رو بسازید.
- بعضی وقتها برنامهنویسها خودشون طبق نظر خودشون تغییراتی توی کاری که مربوط به متخصص عملیات (DevOps) هست میدن.
- یا حتی گاهی اوقات دستور envsubst درست کار نمیکنه و تو مجبور میشی با یه سری ترفند کارت رو پیش ببری.
در حالی که اگر درست پیادهسازی بشه، این مشکلات اصلاً به وجود نمیاد.
سعی میکنم توی پستهای بعدی نحوه طراحی درست و البته جذاب Pipeline و استقرار (CI/CD) رو توسط GitOps باهاتون به اشتراک بذارم.
پی نوشت
البته که الان اکثرا از Argo میان استفاده میکنن برای پیاده سازی build هاشون روی کوبر ولی همچنان روش های بالارو با GitOps ترکیب میکنن
@DevTwitter | <Mobin Binesh/>
چیزی که برام خیلی جالب بود و تقریباً بین همه مشترک بود، مدل پیادهسازی و طراحی Pipeline ها و Deploy کردنشون داخل Kubernetes بود.
اکثر شرکتهایی که دیدم داخل Pileline، فایلهای Deployment کوبرنتیز رو هم میساختن (کی دیده منیفست Build بشه آخه؟).
در حالی که روشها و راههای خیلی استانداردتر و بهتری هم برای پیادهسازی Image ساختهشده روی کوبرنتیز وجود داره.
از مشکلات این روش هرچی بگم کم گفتم:
- خیلی وقتها میخوای یه تغییری روی Deployment بدی و این همزمان میشه با تغییرات برنامهنویس، و تو باید منتظر تأیید اون باشی تا با هم فایلها رو بسازید.
- بعضی وقتها برنامهنویسها خودشون طبق نظر خودشون تغییراتی توی کاری که مربوط به متخصص عملیات (DevOps) هست میدن.
- یا حتی گاهی اوقات دستور envsubst درست کار نمیکنه و تو مجبور میشی با یه سری ترفند کارت رو پیش ببری.
در حالی که اگر درست پیادهسازی بشه، این مشکلات اصلاً به وجود نمیاد.
سعی میکنم توی پستهای بعدی نحوه طراحی درست و البته جذاب Pipeline و استقرار (CI/CD) رو توسط GitOps باهاتون به اشتراک بذارم.
پی نوشت
البته که الان اکثرا از Argo میان استفاده میکنن برای پیاده سازی build هاشون روی کوبر ولی همچنان روش های بالارو با GitOps ترکیب میکنن
@DevTwitter | <Mobin Binesh/>
👍33❤3🔥3🤣3
یه فریمورک کوچیک نوشته بودم که کاملا بدون کامپوزر کار کنه
بعد از مدتها اومدم روش یکم کار کردم و بهش cli و مایگریشن اضافه کردم
خیلی چیز باحالی شد
اگر php کار میکنید حتما یه نگاهی بهش بندازید
سعی میکنم فیچر های بیشتری بهش اضافه کنم هی
https://github.com/miladniroee/php-mvc-simple-framework
@DevTwitter | <Ladoya/>
بعد از مدتها اومدم روش یکم کار کردم و بهش cli و مایگریشن اضافه کردم
خیلی چیز باحالی شد
اگر php کار میکنید حتما یه نگاهی بهش بندازید
سعی میکنم فیچر های بیشتری بهش اضافه کنم هی
https://github.com/miladniroee/php-mvc-simple-framework
@DevTwitter | <Ladoya/>
🔥30🤣13👍6
دوستان کد دستتونه بذارید زمین برید یه سر به Dokploy بزنید!
یعننی هوفففففف مغزم داره سوت میکشه
چقدر بدبختی برای deploy و CI/CD کشیدم. داکر یاد بگیر، deploy کن، واس مانیتورینگش grafana بساز....برو تو گیت اکشن بساز
همششششش با چندتا کلیک! و تازه رایگان و open source هم هست! بهترین جایگزین برای vercel و coolify .
https://dokploy.com/
@DevTwitter | <Afra Rostami/>
یعننی هوفففففف مغزم داره سوت میکشه
چقدر بدبختی برای deploy و CI/CD کشیدم. داکر یاد بگیر، deploy کن، واس مانیتورینگش grafana بساز....برو تو گیت اکشن بساز
همششششش با چندتا کلیک! و تازه رایگان و open source هم هست! بهترین جایگزین برای vercel و coolify .
https://dokploy.com/
@DevTwitter | <Afra Rostami/>
🤣36👍29🔥5❤3
این کورس رایگان بازی سازی آنریل انجین رو از دست ندید، شامل ۳۵ ساعت آموزش حرفهای توسط مدرسین رسمی اپیک.
این دوره فقط برای گیم دولوپرهای حرفهای با پرداخت هزینه در دسترس هست که موقتا آنلاین بین ۳ دسامبر تا ۱۵ ژانویه در دسترس خواهد بود!
ثبت نام هم نمیخواد!
https://dev.epicgames.com/community/learning/talks-and-demos/W4va/unreal-engine-unreal-fellowship-games
@DevTwitter | <Mamadou On GameDev/>
این دوره فقط برای گیم دولوپرهای حرفهای با پرداخت هزینه در دسترس هست که موقتا آنلاین بین ۳ دسامبر تا ۱۵ ژانویه در دسترس خواهد بود!
ثبت نام هم نمیخواد!
https://dev.epicgames.com/community/learning/talks-and-demos/W4va/unreal-engine-unreal-fellowship-games
@DevTwitter | <Mamadou On GameDev/>
❤30👍4🔥4
شرکت AMD همیشه استانداردهای صنعت رو با پردازندههای EPYC™ Embedded خودش تعیین میکنه و عملکرد، بازدهی و نوآوری بینظیری رو برای کاربردهای شبکه، ذخیرهسازی و صنعتی ارائه میده. حالا این رهبری رو با پردازندههای سری چهارم AMD EPYC Embedded 8004 گسترش داده.
پردازندههای AMD EPYC Embedded 8004 برای سیستمهای امبددی طراحی شدن که به محاسبات فشرده نیاز دارن. این پردازندهها عملکرد فوقالعادهای برای بارهای کاری سنگین ارائه میکنن و در عین حال بازدهی انرژی بالایی رو در یک فرم کوچک برای کاربردهای محدود به فضا و توان به حداکثر میرسونن. این پردازندهها به یک مجموعه کامل از ویژگیهای مختص سیستمهای امبدد برای بهبود بیشتر عملکرد و قابلیت اطمینان سیستم تجهیز شدن.
این پردازندهها با بهرهگیری از هستههای AMD “Zen 4c” به سطح جدیدی از چگالی هسته و عملکرد-به-وات دست پیدا کردن. این اولین سری پردازندههای AMD در حوزه امبدد هست که این هستهها رو ادغام کرده و معیاری جدید برای بازدهی و نوآوری پلتفرم ایجاد کرده.
این پردازندهها در فرم فاکتور سوکت SP6 ارائه میشن که 19 درصد کوچکتر از سری AMD EPYC Embedded 9004 هست، فضای کمتری مصرف میکنه و بازدهی انرژی بالاتری داره. همچنین با پشتیبانی از عمر طولانی هفت ساله، به طراحان سیستم کمک میکنه عمر پلتفرم رو حفظ کنن.
پردازندههای سری AMD EPYC Embedded 8004 همچنین در انتقال داده، قابلیت اطمینان سیستم و حفظ داده عملکرد بینظیری دارن. ویژگیهای کلیدی شامل موارد زیره:
دسترسی مستقیم به حافظه (DMA) به منظور بهبود بازدهی سیستم با انتقال داده از CPU و آزادسازی هستهها برای وظایف حیاتی.
پلزنی غیرشفاف (NTB) جهت افزایش قابلیت اطمینان سیستم با تبادل داده بین دو CPU در پیکربندیهای فعال-فعال.
فلش DRAM به NVMe برای حفاظت از دادههای حیاتی با انتقال اونها از DRAM به حافظه غیرفرار در صورت قطع برق.
پشتیبانی از SPI دوگانه امکان استفاده از دو SPI Flash Memory متفاوت رو میده یکی برای BIOS و دیگری برای بوتلودر امن.
پشتیبانی از چارچوب Yocto و سیستمعامل لینوکس سبک و بهینه برای سیستمهای امبدد.
کاربردها: پردازندههای AMD EPYC Embedded 8004 برای بازارهایی که به عملکرد بالا با بازدهی انرژی و تراکم پلتفرم نیاز دارن ایدهآله. این پردازندهها بهینهسازی شدن برای سیستمهای شبکه، ذخیرهسازی و صنعتی که بارهای کاری سنگین رو در محیطهای سخت تحمل میکنن.
منبع:
https://amd.com/en/products/embedded/epyc/epyc-9004-and-8004-series.html
@DevTwitter | <سجآد/>
پردازندههای AMD EPYC Embedded 8004 برای سیستمهای امبددی طراحی شدن که به محاسبات فشرده نیاز دارن. این پردازندهها عملکرد فوقالعادهای برای بارهای کاری سنگین ارائه میکنن و در عین حال بازدهی انرژی بالایی رو در یک فرم کوچک برای کاربردهای محدود به فضا و توان به حداکثر میرسونن. این پردازندهها به یک مجموعه کامل از ویژگیهای مختص سیستمهای امبدد برای بهبود بیشتر عملکرد و قابلیت اطمینان سیستم تجهیز شدن.
این پردازندهها با بهرهگیری از هستههای AMD “Zen 4c” به سطح جدیدی از چگالی هسته و عملکرد-به-وات دست پیدا کردن. این اولین سری پردازندههای AMD در حوزه امبدد هست که این هستهها رو ادغام کرده و معیاری جدید برای بازدهی و نوآوری پلتفرم ایجاد کرده.
این پردازندهها در فرم فاکتور سوکت SP6 ارائه میشن که 19 درصد کوچکتر از سری AMD EPYC Embedded 9004 هست، فضای کمتری مصرف میکنه و بازدهی انرژی بالاتری داره. همچنین با پشتیبانی از عمر طولانی هفت ساله، به طراحان سیستم کمک میکنه عمر پلتفرم رو حفظ کنن.
پردازندههای سری AMD EPYC Embedded 8004 همچنین در انتقال داده، قابلیت اطمینان سیستم و حفظ داده عملکرد بینظیری دارن. ویژگیهای کلیدی شامل موارد زیره:
دسترسی مستقیم به حافظه (DMA) به منظور بهبود بازدهی سیستم با انتقال داده از CPU و آزادسازی هستهها برای وظایف حیاتی.
پلزنی غیرشفاف (NTB) جهت افزایش قابلیت اطمینان سیستم با تبادل داده بین دو CPU در پیکربندیهای فعال-فعال.
فلش DRAM به NVMe برای حفاظت از دادههای حیاتی با انتقال اونها از DRAM به حافظه غیرفرار در صورت قطع برق.
پشتیبانی از SPI دوگانه امکان استفاده از دو SPI Flash Memory متفاوت رو میده یکی برای BIOS و دیگری برای بوتلودر امن.
پشتیبانی از چارچوب Yocto و سیستمعامل لینوکس سبک و بهینه برای سیستمهای امبدد.
کاربردها: پردازندههای AMD EPYC Embedded 8004 برای بازارهایی که به عملکرد بالا با بازدهی انرژی و تراکم پلتفرم نیاز دارن ایدهآله. این پردازندهها بهینهسازی شدن برای سیستمهای شبکه، ذخیرهسازی و صنعتی که بارهای کاری سنگین رو در محیطهای سخت تحمل میکنن.
منبع:
https://amd.com/en/products/embedded/epyc/epyc-9004-and-8004-series.html
@DevTwitter | <سجآد/>
👍19❤3🤣3🔥1
مدیاتک با انتشار مقالهای به معرفی WiFi8 پرداخته، که تمرکزش روی پایداری و بهینهسازیه.
در حالی که فناوری Wi-Fi 7 (استاندارد 802.11be) به تازگی وارد بازار شده، مهندسان مشغول کار روی نسل بعدی این فناوری با نام Wi-Fi 8 (استاندارد 802.11bn) با هدف ارائه قابلیتهایی تحت عنوان "پایداری فوقالعاده بالا" (Ultra High Reliability) هستن. شرکت MediaTek هم با انتشار یک مقاله، جزئیاتی از این استاندارد جدید و قابلیتهای بهبودیافتهش برای چیپستهای Wi-Fi 8 خودش رو به اشتراک گذاشته.
نکته جالب اینه که Wi-Fi 8 تمرکزش رو روی افزایش کارایی حداکثری نگذاشته و همچنان از پهنای باند 320 مگاهرتز، نرخ PHY حداکثری 23 گیگابیت بر ثانیه و باندهای فرکانسی 2.4 گیگاهرتز، 5 گیگاهرتز و 6 گیگاهرتز با حداکثر 8 (Spatial Streams) پشتیبانی میکنه. هدف اصلی این نسل، بهبود پایداری شبکه، بهرهوری و کاهش مصرف انرژی، به ویژه در کاربردهای اینترنت اشیاء (IoT)ست.
ویژگیهای جدید Wi-Fi 8
1. زمان انتظار هدفمند هماهنگ (Coordinated Target Wait Time - TWT)
این ویژگی به دستگاههای کممصرف IoT اجازه میده تا با (AP) زمانهای خاصی را برای انتقال دادهها هماهنگ کنند. این کار مصرف انرژی را کاهش میده و احتمال تداخل با ترافیک غیرحساس به تأخیر رو کمتر میکنه.
2. هماهنگی چندین اکسسپوینت (Multi-AP Coordination)
با گسترش شبکههای مش (Mesh)، بسیاری از نصبهای Wi-Fi شامل چندین AP هستند. اگر این نقاط به طور هماهنگ عمل نکنند، ممکنه تداخل فرکانسی ایجاد بشه و فقط یکی از نقاط به طور مؤثر از طیف استفاده کنه. Wi-Fi 8 این مشکل را با بهینهسازی اشتراک منابع بین چند AP حل میکنه.
3. (Coordinated Spatial Reuse - Co-SR)
این قابلیت قدرت انتقال داده به کاربران را بر اساس تعداد نقاط دسترسی تنظیم میکنه. MediaTek گزارش داده که این ویژگی میتونه throughput کلی شبکه را بین 15% تا 25% بهبود بده.
4. (Coordinated Beamforming - Co-BF)
وقتی نقاط دسترسی به یکدیگر نزدیک باشند و Co-SR به درستی کار نکند، این ویژگی برای کاهش تداخل استفاده میشه. استفاده از این ویژگی در شبکههای مش، بهبود throughput کلی بین 20% تا 50% داشته.
5. بهینهسازی طیف دینامیک (Dynamic Spectrum Optimization - DSO) و دسترسی به کانال غیر اصلی (Non-Primary Channel Access - NPCA)
این ویژگیها عملکرد را تو شرایطی بهینه میکنن که دستگاهها پهنای باند یا تعداد استریمهای متفاوتی داشته باشن. DSO پهنای باند را بر اساس تفاوتها تنظیم میکنه و NPCA امکان استفاده از کانالهای غیر اصلی را در صورت در دسترس نبودن کانال اصلی فراهم میکنه.
6. (Distributed Resource Units - dRU)
این ویژگی برای دستگاههای کممصرف در باند 6 گیگاهرتز طراحی شده و باعث افزایش قدرت انتقال داده در ارتباطات uplink میشه.
زمانبندی عرضه Wi-Fi 8
استاندارد 802.11bn قراره تا سال 2028 تأیید بشه، اما اولین پیادهسازیهایش ممکنه سالهای 2026 یا 2027 بر اساس پیشنویس استاندارد عرضه بشه. به عنوان مثال، Wi-Fi 7 نیز قبل از تأیید نهایی با محصولاتی مثل MaxLinear MxL31712 و Qualcomm Networking Pro Series Gen 3 وارد بازار شد.
منبع
@DevTwitter | <سجآد/>
در حالی که فناوری Wi-Fi 7 (استاندارد 802.11be) به تازگی وارد بازار شده، مهندسان مشغول کار روی نسل بعدی این فناوری با نام Wi-Fi 8 (استاندارد 802.11bn) با هدف ارائه قابلیتهایی تحت عنوان "پایداری فوقالعاده بالا" (Ultra High Reliability) هستن. شرکت MediaTek هم با انتشار یک مقاله، جزئیاتی از این استاندارد جدید و قابلیتهای بهبودیافتهش برای چیپستهای Wi-Fi 8 خودش رو به اشتراک گذاشته.
نکته جالب اینه که Wi-Fi 8 تمرکزش رو روی افزایش کارایی حداکثری نگذاشته و همچنان از پهنای باند 320 مگاهرتز، نرخ PHY حداکثری 23 گیگابیت بر ثانیه و باندهای فرکانسی 2.4 گیگاهرتز، 5 گیگاهرتز و 6 گیگاهرتز با حداکثر 8 (Spatial Streams) پشتیبانی میکنه. هدف اصلی این نسل، بهبود پایداری شبکه، بهرهوری و کاهش مصرف انرژی، به ویژه در کاربردهای اینترنت اشیاء (IoT)ست.
ویژگیهای جدید Wi-Fi 8
1. زمان انتظار هدفمند هماهنگ (Coordinated Target Wait Time - TWT)
این ویژگی به دستگاههای کممصرف IoT اجازه میده تا با (AP) زمانهای خاصی را برای انتقال دادهها هماهنگ کنند. این کار مصرف انرژی را کاهش میده و احتمال تداخل با ترافیک غیرحساس به تأخیر رو کمتر میکنه.
2. هماهنگی چندین اکسسپوینت (Multi-AP Coordination)
با گسترش شبکههای مش (Mesh)، بسیاری از نصبهای Wi-Fi شامل چندین AP هستند. اگر این نقاط به طور هماهنگ عمل نکنند، ممکنه تداخل فرکانسی ایجاد بشه و فقط یکی از نقاط به طور مؤثر از طیف استفاده کنه. Wi-Fi 8 این مشکل را با بهینهسازی اشتراک منابع بین چند AP حل میکنه.
3. (Coordinated Spatial Reuse - Co-SR)
این قابلیت قدرت انتقال داده به کاربران را بر اساس تعداد نقاط دسترسی تنظیم میکنه. MediaTek گزارش داده که این ویژگی میتونه throughput کلی شبکه را بین 15% تا 25% بهبود بده.
4. (Coordinated Beamforming - Co-BF)
وقتی نقاط دسترسی به یکدیگر نزدیک باشند و Co-SR به درستی کار نکند، این ویژگی برای کاهش تداخل استفاده میشه. استفاده از این ویژگی در شبکههای مش، بهبود throughput کلی بین 20% تا 50% داشته.
5. بهینهسازی طیف دینامیک (Dynamic Spectrum Optimization - DSO) و دسترسی به کانال غیر اصلی (Non-Primary Channel Access - NPCA)
این ویژگیها عملکرد را تو شرایطی بهینه میکنن که دستگاهها پهنای باند یا تعداد استریمهای متفاوتی داشته باشن. DSO پهنای باند را بر اساس تفاوتها تنظیم میکنه و NPCA امکان استفاده از کانالهای غیر اصلی را در صورت در دسترس نبودن کانال اصلی فراهم میکنه.
6. (Distributed Resource Units - dRU)
این ویژگی برای دستگاههای کممصرف در باند 6 گیگاهرتز طراحی شده و باعث افزایش قدرت انتقال داده در ارتباطات uplink میشه.
زمانبندی عرضه Wi-Fi 8
استاندارد 802.11bn قراره تا سال 2028 تأیید بشه، اما اولین پیادهسازیهایش ممکنه سالهای 2026 یا 2027 بر اساس پیشنویس استاندارد عرضه بشه. به عنوان مثال، Wi-Fi 7 نیز قبل از تأیید نهایی با محصولاتی مثل MaxLinear MxL31712 و Qualcomm Networking Pro Series Gen 3 وارد بازار شد.
منبع
@DevTwitter | <سجآد/>
👍20❤3👎2
اگه میخواین بدونید چه فونتی برای کد زدن برای شما مناسبه برید:
http://codingfont.com
یه بازی داره میذاره شما ۲به۲ بین فونتها انتخاب کنید تا فونت مناسب خودتون رو پیدا کنید.
بعدش برید نسخه Nerdfont رو هم دانلود کنید که همه Ligatureها رو داشته باشه
https://nerdfonts.com
@DevTwitter | <Von Datawarehausen/>
http://codingfont.com
یه بازی داره میذاره شما ۲به۲ بین فونتها انتخاب کنید تا فونت مناسب خودتون رو پیدا کنید.
بعدش برید نسخه Nerdfont رو هم دانلود کنید که همه Ligatureها رو داشته باشه
https://nerdfonts.com
@DevTwitter | <Von Datawarehausen/>
👍46🤣10🔥7👎1