یادداشت‌ها

آشنایی با Yaak

دیگه الان کمتر کسی توی جامعه برنامه‌نویسی با APIها و اهمیت اونها آشنا نیست. از اونجایی که همه دنبال یه ابزار سریع، مدرن و کاربرپسند هستیم، Yaak می‌تونه بهترین دوست‌مون باشه! یک اپلیکیشن سبک و قدرتمند برای ساخت، تست و مدیریت درخواست‌های API که تجربه کار با API رو به مراتب ساده‌تر و لذت‌بخش‌تر می‌کنه.

ویژگی‌ها و کاربردها:

📌 ساخت و ارسال درخواست‌های HTTP و gRPC با رابط کاربری ساده

📝 ذخیره و سازماندهی درخواست‌ها برای پروژه‌های مختلف

🔄 پشتیبانی از متغیرها و محیط‌ها (Environments) برای تغییر سریع بین حالت‌های مختلف توسعه و تولید

⚡️ سرعت بالا و طراحی مدرن، بدون شلوغی و پیچیدگی ابزارهای قدیمی

🌐 پشتیبانی از چند سیستم‌عامل (Windows، macOS، Linux)

این Yaak برای کیا کاربرد داره؟

  • توسعه‌دهندگان بک‌اند برای تست APIها
  • تیم‌های QA برای بررسی عملکرد سرویس‌ها
  • فریلنسرهایی که با پروژه‌های مختلف کار می‌کنن و نیاز به مدیریت درخواست‌ها دارن

اگر از کار با ابزارهای شلوغ و پیچیده API خسته شدی، وقتشه Yaak رو امتحان کنی و سرعت کارت رو چند برابر کنی! 🚀


۲۲ مرداد ۱۴۰۴ | #برنامه‌نویسی

تشخیص متن از تصاویر با دقت بالا

تا حالا شده که نیاز داشته باشید متن داخل یک عکس، اسکن یا PDF رو به متن قابل ویرایش تبدیل کنید؟ Dots OCR یک پروژه متن‌باز (Open-Source) است که دقیقاً همین کارو براتون انجام میده. یک سیستم تشخیص متن (OCR) هوشمند که می‌تونه متن موجود در تصاویر یا اسناد اسکن‌شده رو با دقت بالا شناسایی و به فرمت متنی قابل استفاده تبدیل کنه. خوشبختانه این پروژه برای زبان‌های مختلف، از جمله زبان شیرین فارسی، بسیار کارآمده.

ویژگی‌ها و کاربردهای Dots OCR:

📄 استخراج متن از تصاویر اسکن‌شده یا عکس‌برداری شده

📚 دیجیتال‌سازی اسناد قدیمی و آرشیوی

🌐 شناسایی متن در تصاویر صفحات وب یا اسکرین‌شات‌ها

📝 پردازش خودکار اسناد در سیستم‌های سازمانی و هوش مصنوعی

🎯 دقت بالا حتی در تصاویر با کیفیت متوسط

🛠 قابل توسعه و سفارشی‌سازی برای زبان‌ها و فونت‌های مختلف

🚀 سرعت پردازش مناسب برای کاربردهای بزرگ

🌍 متن‌باز و رایگان


۲۲ مرداد ۱۴۰۴ | #اتوماسیون

سرویس قدرتمند تبدیل اسناد به PDF

اگه به دنبال یه ابزار سریع، امن و قابل‌اعتماد برای تبدیل اسناد به PDF یا تولید PDF از HTML و Markdown و حتی URL و تصاویر هستید، Gotenberg دقیقاً همون چیزیه که نیاز دارید. یه سرویس متن‌باز (Open-Source) که به شکل یک API تحت وب ارائه میشه و می‌تونه اسناد شما رو به راحتی به PDF تبدیل کنه. این ابزار با استفاده از زبان Go ساخته شده و برای استفاده در پروژه‌های شخصی یا سازمانی بسیار مناسبه.

📝 تبدیل فایل‌های Word، Excel، PowerPoint به PDF

🌐 تولید PDF از صفحات HTML یا Markdown

🖼 ترکیب تصاویر و ساخت PDF چندصفحه‌ای

📚 اتوماسیون تولید اسناد در نرم‌افزارهای سازمانی

🔒 تولید PDF در محیط‌های امن بدون نیاز به ارسال فایل به سرویس‌های ابری عمومی

📦 ساده برای استقرار: با Docker در چند دقیقه راه‌اندازی می‌شود

⚡️ سریع و مقیاس‌پذیر برای پروژه‌های بزرگ

🔧 قابل توسعه با ماژول‌ها و افزونه‌های مختلف

🌍 بدون وابستگی به سرویس‌های خارجی

اگر شما هم توی پروژه‌هاتون به تولید یا پردازش PDF نیاز دارید، Gotenberg یک انتخاب ایده‌آله.


۲۲ مرداد ۱۴۰۴ | #اتوماسیون

بهینه‌سازی فونت‌های وب

یکی از چالش‌های جالبی که ممکنه این روزها توی پروژه‌های وب باهاش برخورد کنید، مدیریت فونت‌های وبسایت برای بهینه‌سازی Core Web Vitals هست. می‌دونید که گوگل روی این متریک‌ها خیلی حساسه! یه راه‌حل خوب برای این کار می‌تونه ترکیبی از موارد زیر باشه:

۱- استفاده از preload برای فونت‌های کلیدی صفحه اول

<link rel="preload" href="/fonts/iranYekan.woff2" as="font" type="font/woff2" crossorigin>

۲- استفاده از font-display: optional برای جلوگیری از Layout Shift

@font-face {
  font-family: 'IranYekan';
  src: url('/fonts/iranYekan.woff2') format('woff2');
  font-display: optional;
  font-weight: normal;
}

۳- تعریف فونت‌های سیستمی به عنوان فالبک

:root {
  --system-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui;
  --primary-font: 'IranYekan', var(--system-font);
}

body {font-family: var(--primary-font);}

با انجام این کارها:

  • سرعت First Paint صفحه بهتر میشه،
  • از Cumulative Layout Shift جلوگیری میشه،
  • تجربه کاربری بهتری خواهیم داشت،
  • امتیاز Core Web Vitals بهبود پیدا می‌کنه 😍

پی‌نوشت: استفاده از فرمت WOFF2 برای فونت‌ها، بخاطر حجم کمتر، بهتره.

امیدوارم این تکنیک به درد پروژه‌هاتون بخوره! 💻✨


۱۰ مرداد ۱۴۰۴ | #css #طراحی وب

فیلدهای اضافی ووکامرس

یکی از مشکلاتی که ممکنه حین استفاده از ووکامرس برای فروش محصولات مجازی (فایل، لایسنس و …) داشته باشید اینه که یه سری فیلد بی‌ربط مثل آدرس خونه، کد پستی و … نشون میده که خب تجربه کاربری خوبی رو برای مشتری رقم نمی‌زنه. ساده‌ترین راه‌حل اینه که افزونه ووکامرس فارسی رو نصب کنید و گزینه “حذف فیلدهای غیرضروری از محصولات دانلودی ووکامرس” رو تیک بزنید. ولی شاید نخواید یه افزونه مازاد نصب کنید. پس باید سراغ کدها بریم.

function remove_billing_checkout_fields($fields) {
  if (! WC()->cart->needs_shipping()) {
    unset($fields['billing']['billing_company']);
    unset($fields['billing']['billing_address_1']);
    unset($fields['billing']['billing_address_2']);
    unset($fields['billing']['billing_city']);
    unset($fields['billing']['billing_postcode']);
    unset($fields['billing']['billing_country']);
    unset($fields['billing']['billing_state']);
    unset($fields['billing']['billing_phone']);
  }
  return $fields;
}
add_filter('woocommerce_checkout_fields', 'remove_billing_checkout_fields', 20);

کافیه داخل functions.php پوسته فعلی بذارید. با این کد، فیلدهای غیرضروری آدرس برای محصولات مجازی، دیگه نمایش داده نمیشن.


۰۵ مرداد ۱۴۰۴ | #وردپرس #ووکامرس

فونت firacode

فونت‌های monospace به دلیل ظاهر زیبایی که در محیط‌های کدنویسی دارند، همیشه موردعلاقه جامعه برنامه‌نویس بوده و هستند. یکی از بهترین فونت‌هایی که دیدم و همیشه ازش استفاده می‌کنم FiraCode هست. فایراکُد به لطف ظاهر monospace و سازگاری با اغلب ادیتورها، IDEها و ترمینال‌ها می‌تونه یه گزینه خوب برای هر برنامه‌نویسی باشه.

فایراکد رایگانه و می‌تونید از گیت‌هاب رسمی سازنده دانلودش کنید.

فونت firacode

فایراکد از ligatures هم پشتیبانی می‌کنه و باعث میشه ظاهر کدهای شما خواناتر و جذابتر باشه. قابلیت ligatures به قابلیتی از فونت گفته میشه که معادل فارسیش شاید شکسته‌نویسی باشه. یعنی وقتی توی کدهامون =! می‌ذاریم مثل عکس بالا تبدیلش کنه به نامساوی. داخل تنظیمات ادیتورها و IDE‌ها می‌تونید فعالش کنید. مثلاً برای vscode کافیه داخل تنظیمات همین کلمه رو سرچ کنید یا خط کد زیر رو داخل فایل تنظیمات بذارید:

"editor.fontLigatures": true,

۱۸ تیر ۱۴۰۴ | #vscode #برنامه‌نویسی

تا الان 35 یادداشت منتشر شده است. برای مطلع شدن از انتشار یادداشت‌های جدید، می‌توانید به کانال تلگرام من مراجعه کنید.