اگر در حوزه توسعه وب کار کرده باشید حتما با package bundlerها آشنا هستید و حتما نام معروفترین آنها webpack را شنیدهاید، اما معایبی مانند سنگین بودن بیش از حد webpack وجود دارد که بسیاری از افراد را از استفاده از آن ناراضی کرده است. یک bundler مشهور دیگر بنام parcel وجود دارد که از نظر سرعت عملکرد بسیار بهتری نسبت به webpack دارد.
پارسل یک کامپایلر برای تمام کدهای شما محسوب میشود و اصلا اهمیتی ندارد که کدهایتان را به چه زبانی نوشته باشید. کار اصلی پارسل اینست که کد شما و تمام وابستگیهای آن را بگیرد و سپس آنها را به یک یا چند فایل نهایی تبدیل کند. فرآیند کامپایل شدن کدها در پارسل به صورت موازی و چند هستهای انجام میشود، بنابراین سرعت آن بسیار عالی است.
📃 نگاهی مختصر به قابلیتهای Parcel:
👉 https://www.roxo.ir/a-brief-look-at-parcel-capabilities
💻 #برنامه_نویسی
🆔 @roxo_ir
پارسل یک کامپایلر برای تمام کدهای شما محسوب میشود و اصلا اهمیتی ندارد که کدهایتان را به چه زبانی نوشته باشید. کار اصلی پارسل اینست که کد شما و تمام وابستگیهای آن را بگیرد و سپس آنها را به یک یا چند فایل نهایی تبدیل کند. فرآیند کامپایل شدن کدها در پارسل به صورت موازی و چند هستهای انجام میشود، بنابراین سرعت آن بسیار عالی است.
📃 نگاهی مختصر به قابلیتهای Parcel:
👉 https://www.roxo.ir/a-brief-look-at-parcel-capabilities
💻 #برنامه_نویسی
🆔 @roxo_ir
عناصر حیاتی وب یا Web Vitals یک حرکت است که از سمت گوگل آغاز و معرفی شده است. Core Web Vitals چند معیار کیفیت در صفحات وب را تعریف میکند که میتوان با در نظر گرفتن آنها، کیفیت تجربه کاربری در سایت را اندازهگیری کرد. یکی از اهداف اصلی Web Vitals این بوده است که به وبمستران کمک کند بدون دانش فوق تخصصی و تجربه بالا بتوانند سرعت و کیفیت سایت خود را محک بزنند.
در حال حاضر پنج معیار برای Web Vitals وجود دارد که قابل اندازهگیری هستند:
🔰Cumulative Layout Shift
(جابجایی فزاینده ساختار) که به طور مخفف CLS نام دارد.
🔰Largest Contentful Paint
(بزرگترین نمای بامحتوا) که به طور مخفف LCP نام دارد.
🔰First Input Delay
(تاخیر اولین ورودی) که به طور مخفف FID نام دارد.
🔰First Contentful Paint
(اولین نمای بامحتوا) که به طور مخفف FCP نام دارد.
🔰Time to First Byte
(زمان دریافت اولین بایت) که به طور مخفف TTFB نام دارد.
📃 در مقاله زیر به صورت مفصل تکتک این موارد را بررسی کردهایم:
👉 https://www.roxo.ir/what-are-core-web-vitals
🔎 #سئو
🆔 @roxo_ir
در حال حاضر پنج معیار برای Web Vitals وجود دارد که قابل اندازهگیری هستند:
🔰Cumulative Layout Shift
(جابجایی فزاینده ساختار) که به طور مخفف CLS نام دارد.
🔰Largest Contentful Paint
(بزرگترین نمای بامحتوا) که به طور مخفف LCP نام دارد.
🔰First Input Delay
(تاخیر اولین ورودی) که به طور مخفف FID نام دارد.
🔰First Contentful Paint
(اولین نمای بامحتوا) که به طور مخفف FCP نام دارد.
🔰Time to First Byte
(زمان دریافت اولین بایت) که به طور مخفف TTFB نام دارد.
📃 در مقاله زیر به صورت مفصل تکتک این موارد را بررسی کردهایم:
👉 https://www.roxo.ir/what-are-core-web-vitals
🔎 #سئو
🆔 @roxo_ir
ما در زندگی روزمره خود به عنوان توسعه دهنده کدهای زیادی می نویسیم. به طور مثال تابع تعریف می کنیم، آرایه مرتب می کنیم، جست و جو می کنیم، مقادیر یکتا را پیدا می کنیم و الی آخر. از آنجایی این کارها را زیاد انجام می دهیم بهتر است چند ترفند را یاد بگیریم تا بتوانیم:
✅ تعداد خطوط کدهای نوشته شده را کم کنیم.
✅ در مسابقات کدنویسی پیشرفت کنیم.
✅ سرعت پیشرفت پروژه هایمان را بیشتر کنیم.
📃 ۱۰ ترفند جاوا اسکریپتی برای افزایش سرعت کدنویسی را در لینک زیر بخوانید:
👉 https://www.roxo.ir/top-20-javascript-tips-and-tricks-to-increase-your-speed-and-efficiency
💻 #برنامه_نویسی #جاوااسکریپت
🆔 @roxo_ir
✅ تعداد خطوط کدهای نوشته شده را کم کنیم.
✅ در مسابقات کدنویسی پیشرفت کنیم.
✅ سرعت پیشرفت پروژه هایمان را بیشتر کنیم.
📃 ۱۰ ترفند جاوا اسکریپتی برای افزایش سرعت کدنویسی را در لینک زیر بخوانید:
👉 https://www.roxo.ir/top-20-javascript-tips-and-tricks-to-increase-your-speed-and-efficiency
💻 #برنامه_نویسی #جاوااسکریپت
🆔 @roxo_ir
روشهای بهینهسازی تصاویر سایت برای موتورهای جستجو عبارتند از:
🔹قراردادن بهترین و مرتبطترین تصویر برای متن
🔹استفاده از تصاویر اورجینال و غیرکپی
🔹انتخاب نام صحیح برای تصاویر
🔹انتخاب فرمت مناسب
🔹توجه به اندازهی تصاویر
🔹استفاده از تصاویر رسپانسیو
🔹 کاهش حجم تصاویر
🔹 قرار دادن تصاویر در محل مناسب در مطلب
🔹 قراردادن alt و title مناسب برای تصاویر
🔹 ایجاد سایتمپ با فرمت XML برای تصاویر
📃 در این باره مفصل بخوانید:
👉 https://www.roxo.ir/optimizing-images-for-search-engines
🔎 #سئو
🆔 @roxo_ir
🔹قراردادن بهترین و مرتبطترین تصویر برای متن
🔹استفاده از تصاویر اورجینال و غیرکپی
🔹انتخاب نام صحیح برای تصاویر
🔹انتخاب فرمت مناسب
🔹توجه به اندازهی تصاویر
🔹استفاده از تصاویر رسپانسیو
🔹 کاهش حجم تصاویر
🔹 قرار دادن تصاویر در محل مناسب در مطلب
🔹 قراردادن alt و title مناسب برای تصاویر
🔹 ایجاد سایتمپ با فرمت XML برای تصاویر
📃 در این باره مفصل بخوانید:
👉 https://www.roxo.ir/optimizing-images-for-search-engines
🔎 #سئو
🆔 @roxo_ir
لاراول یکی از محبوب ترین فریم ورک های موجود در ایران است و افراد بسیار زیادی روزانه از آن استفاده می کنند اما از آنجایی که این فریم ورک یک فریم ورک full stack می باشد، یادگیری آن به زمان نیاز دارد و باید قبل از استفاده از آن با برخی از مباحث پایه آشنا باشید.
یکی از مباحثی که در لاراول تازه کاران را گمراه می کند مسئله relationship ها یا روابط بین مدل ها در لاراول است.
همانطور که می دانید لاراول از یک ORM به نام Eloquent استفاده می کند، بنابراین روابط بین مدل ها در لاراول با استفاده از این ORM تعریف می شود.
📃 راهنمای جامع روابط مدلها (relationship) در لاراول را در لینک زیر بخوانید:
👉 https://www.roxo.ir/laravel-eloquent-model-relationship
💻 #برنامه_نویسی #لاراول
🆔 @roxo_ir
یکی از مباحثی که در لاراول تازه کاران را گمراه می کند مسئله relationship ها یا روابط بین مدل ها در لاراول است.
همانطور که می دانید لاراول از یک ORM به نام Eloquent استفاده می کند، بنابراین روابط بین مدل ها در لاراول با استفاده از این ORM تعریف می شود.
📃 راهنمای جامع روابط مدلها (relationship) در لاراول را در لینک زیر بخوانید:
👉 https://www.roxo.ir/laravel-eloquent-model-relationship
💻 #برنامه_نویسی #لاراول
🆔 @roxo_ir
همانطور که میدانید در دنیای امروز توسعه وب git و GitHub بخشی جدا نشدنی هستند و هر برنامهای از هر نوع که باشد حداقل با گیت مدیریت خواهد شد. مسئله اصلی اینجاست که گیت هیچ سیستم احراز هویتی ندارد بلکه بر اساس ایمیل کار میکند، بنابراین میتوانید از ایمیل دیگران برای commit کردن کدهای خود استفاده کنید.
اگر تیتر اخبار تکنولوژی را دنبال کرده باشید در سال گذشته چندین حمله جعل هویت در گیت انجام شده است و به همین خاطر امضا کردن commitها ارزش زیادی دارد.
📃 در این مقاله درباره امضا کردن commitها و نحوه انجام آن صحبت کردهایم:
👉 https://www.roxo.ir/how-to-add-digital-signatures-to-commits-in-github
🆔 @roxo_ir
اگر تیتر اخبار تکنولوژی را دنبال کرده باشید در سال گذشته چندین حمله جعل هویت در گیت انجام شده است و به همین خاطر امضا کردن commitها ارزش زیادی دارد.
📃 در این مقاله درباره امضا کردن commitها و نحوه انجام آن صحبت کردهایم:
👉 https://www.roxo.ir/how-to-add-digital-signatures-to-commits-in-github
🆔 @roxo_ir
۱۰ عادت بدی که دیگر توسعهدهندگان را فراری میدهد:
۱. نامگذاریهای آشفته
۲. کدنویسی پیچیده
۳. تقسیم بیش از حد پروژه
۴. نوشتن کدهایی با ظاهر یکسان و عملکرد متفاوت
۵. کپی کردن چندباره کدها در برنامه
۶. عدم قالببندی کدها
۷. نادیده گرفتن باگ و موکول کردن تصحیح آن به زمان دیگری
۸. عدم تعامل با دیگر اعضای تیم
۹. تصور اینکه همیشه و همهجا کدها باید ۱۰۰ درصد بهینه نوشته شوند
۱۰. تملک عاطفی کدها
📃 در این باره بیشتر بخوانید:
👉 https://www.roxo.ir/bad-coding-practices
💻 #برنامه_نویسی
🆔 @roxo_ir
۱. نامگذاریهای آشفته
۲. کدنویسی پیچیده
۳. تقسیم بیش از حد پروژه
۴. نوشتن کدهایی با ظاهر یکسان و عملکرد متفاوت
۵. کپی کردن چندباره کدها در برنامه
۶. عدم قالببندی کدها
۷. نادیده گرفتن باگ و موکول کردن تصحیح آن به زمان دیگری
۸. عدم تعامل با دیگر اعضای تیم
۹. تصور اینکه همیشه و همهجا کدها باید ۱۰۰ درصد بهینه نوشته شوند
۱۰. تملک عاطفی کدها
📃 در این باره بیشتر بخوانید:
👉 https://www.roxo.ir/bad-coding-practices
💻 #برنامه_نویسی
🆔 @roxo_ir
⛓ مرورگرها چطور کار میکنند؟
نمایش یک وبسایت در یک مرورگر ۵ مرحله اصلی دارد که هر مرحله، زیرمرحلههای خودش را نیز دارد:
یک - Navigation (ناوبری)
دو - Fetching (بارگیری)
سه - Parsing (تجزیه کدها)
چهار - Rendering (نمایش)
پنج - Finalising (تکمیلی)
📃 بصورت کامل و عمیق با نحوهی کارکرد مرورگرها در پشت پرده آشنا شوید:
👉 https://www.roxo.ir/how-browsers-work
🆔 @roxo_ir
نمایش یک وبسایت در یک مرورگر ۵ مرحله اصلی دارد که هر مرحله، زیرمرحلههای خودش را نیز دارد:
یک - Navigation (ناوبری)
دو - Fetching (بارگیری)
سه - Parsing (تجزیه کدها)
چهار - Rendering (نمایش)
پنج - Finalising (تکمیلی)
📃 بصورت کامل و عمیق با نحوهی کارکرد مرورگرها در پشت پرده آشنا شوید:
👉 https://www.roxo.ir/how-browsers-work
🆔 @roxo_ir
سادهترین روش تغییر رنگ در فتوشاپ
شاید برایتان پیش آمده باشد که بخواهید یک رنگ خاص در یک عکس را تغییر دهید و با رنگ دیگری جایگزین کنید.
همانطور که میدانید، فتوشاپ، مشهورترین و کاملترین نرم افزار ویرایش تصاویر در جهان است، پس توقع داریم که بتوانیم رنگهای یک عکس را در فتوشاپ تغییر دهیم.
در مقاله زیر ترفندی را فرامیگیرید که بتوانید فوراً رنگها را در تصاویر بسیار پیچیده تغییر دهید و با رنگ دلخواه خود جایگزین کنید.
👉 https://www.roxo.ir/how-to-change-the-color-in-complex-objects-in-photoshop
🎨 #طراحی_گرافیک #فتوشاپ
🆔 @roxo_ir
شاید برایتان پیش آمده باشد که بخواهید یک رنگ خاص در یک عکس را تغییر دهید و با رنگ دیگری جایگزین کنید.
همانطور که میدانید، فتوشاپ، مشهورترین و کاملترین نرم افزار ویرایش تصاویر در جهان است، پس توقع داریم که بتوانیم رنگهای یک عکس را در فتوشاپ تغییر دهیم.
در مقاله زیر ترفندی را فرامیگیرید که بتوانید فوراً رنگها را در تصاویر بسیار پیچیده تغییر دهید و با رنگ دلخواه خود جایگزین کنید.
👉 https://www.roxo.ir/how-to-change-the-color-in-complex-objects-in-photoshop
🎨 #طراحی_گرافیک #فتوشاپ
🆔 @roxo_ir
نرمالسازی (Normalization) پایگاه داده
نرمالسازی پایگاه داده (normalization) به فرآیندی گفته میشود که توسط آن پایگاه داده در قالب جدول و ستون مرتب میشود. سه مرحله نرمالسازی در پایگاه دادهها وجود دارد:
اولین فرم طبیعی، دومین فرم طبیعی و سومین فرم طبیعی
ایده کلی نرمالسازی اینست که هر جدول فقط دادههایی در رابطه با موضوع خاصی را ذخیره کند. سه دلیل اصلی برای نرمالسازی پایگاه داده وجود دارد:
کاهش تکرار داده در پایگاه داده
حذف یا کاهش شانس بروز data anomaly
کاهش پیچیدگی کوئریها، مخصوصا جستجوها
📃 در این مقاله به سراغ بررسی قوانین نرمالسازی پایگاه داده میرویم و از سه مرحلهای که گفته شد، عبور خواهیم کرد:
👉 https://www.roxo.ir/database-normalization
💻 #برنامه_نویسی #پایگاه_داده
🆔 @roxo_ir
نرمالسازی پایگاه داده (normalization) به فرآیندی گفته میشود که توسط آن پایگاه داده در قالب جدول و ستون مرتب میشود. سه مرحله نرمالسازی در پایگاه دادهها وجود دارد:
اولین فرم طبیعی، دومین فرم طبیعی و سومین فرم طبیعی
ایده کلی نرمالسازی اینست که هر جدول فقط دادههایی در رابطه با موضوع خاصی را ذخیره کند. سه دلیل اصلی برای نرمالسازی پایگاه داده وجود دارد:
کاهش تکرار داده در پایگاه داده
حذف یا کاهش شانس بروز data anomaly
کاهش پیچیدگی کوئریها، مخصوصا جستجوها
📃 در این مقاله به سراغ بررسی قوانین نرمالسازی پایگاه داده میرویم و از سه مرحلهای که گفته شد، عبور خواهیم کرد:
👉 https://www.roxo.ir/database-normalization
💻 #برنامه_نویسی #پایگاه_داده
🆔 @roxo_ir
نصب Phalcon، سریعترین فریمورک PHP، روی سرور لینوکسی
💠 فالکون یکی از فریمورکهای کمتر شناختهشده اما در عین حال یکی از قدرتمندترین فریمورکهای php است. این فریمورک در حال حاضر بیش از ۱۰ هزار ستاره در گیتهاب دارد و از سال ۲۰۱۲ به صورت متن باز ارائه شده است.
💠 نکته جالب در رابطه با این فریمورک اینست که با زبانهای C و Zephir و به صورت یک extension برای زبان PHP ساخته شده است. این موضوع باعث سرعت باورنکردنی این فریمورک شد اما در عین حال یکی از دلایل ناآشنا بودنش نیز میباشد.
💠 برای استفاده از این فریمورک باید از شرکت هاستینگ بخواهید که phalcon را برایتان فعال کند یا اینکه یک VPS خریداری کرده و خودتان آن را فعال کنید. همچنین دیباگ کردن برنامههای phalcon سختتر است چرا که به زبان C نوشته شده است و علاوه بر آن فعالسازی و نصب آن نیز تقریبا کار دشواری است. تمام این موارد باعث محبوبیت کمتر فالکون شدهاند اما اگر سختیهای ابتدایی کار را بپذیرید فریمورکی با سرعتی باورنکردنی خواهید داشت.
📃مراحل نصب فالکون روی سرور لینوکسی:
👉 https://www.roxo.ir/installation-of-phalcon-on-a-linux-server
🆔 @roxo_ir
💠 فالکون یکی از فریمورکهای کمتر شناختهشده اما در عین حال یکی از قدرتمندترین فریمورکهای php است. این فریمورک در حال حاضر بیش از ۱۰ هزار ستاره در گیتهاب دارد و از سال ۲۰۱۲ به صورت متن باز ارائه شده است.
💠 نکته جالب در رابطه با این فریمورک اینست که با زبانهای C و Zephir و به صورت یک extension برای زبان PHP ساخته شده است. این موضوع باعث سرعت باورنکردنی این فریمورک شد اما در عین حال یکی از دلایل ناآشنا بودنش نیز میباشد.
💠 برای استفاده از این فریمورک باید از شرکت هاستینگ بخواهید که phalcon را برایتان فعال کند یا اینکه یک VPS خریداری کرده و خودتان آن را فعال کنید. همچنین دیباگ کردن برنامههای phalcon سختتر است چرا که به زبان C نوشته شده است و علاوه بر آن فعالسازی و نصب آن نیز تقریبا کار دشواری است. تمام این موارد باعث محبوبیت کمتر فالکون شدهاند اما اگر سختیهای ابتدایی کار را بپذیرید فریمورکی با سرعتی باورنکردنی خواهید داشت.
📃مراحل نصب فالکون روی سرور لینوکسی:
👉 https://www.roxo.ir/installation-of-phalcon-on-a-linux-server
🆔 @roxo_ir
بدافزار (malware) مخفف عبارت نرمافزارهای مخرب (malicious software) است که یک اصطلاح کلی برای برنامه.ها و پروندههای مضر برای سایت میباشد که میتواند یک سیستم را به خطر بیندازد. این موضوع میتواند به رایانهها، سرورها، شبکهها و وبسایتها آسیب برساند.
در زیر به برخی از خطرات بدافزارها برای سایت اشاره میکنیم:
🔻بدافزارها باعث تغییرات ناخواسته در محتوا یا سایت شما شده و چیزهایی را بدون اجازه شما به سایت اضافه یا از آن کم میکنند.
🔻دادههای حساس مثل اطلاعات شخصی شما و کاربران را به خطر میاندازند
🔻هرزنامهها یا اسپمها را بصورت ایمیل یا لینک در سایت شما قرار میدهند
🔻هدایت نشانی اینترنتیِ سایت شما به سوی وبسایتهای غیرقابل اعتماد، کلاهبرداری، پخش محتوای نامناسب یا تبلیغات
🔻افزایش ناگهانی در مصرف منابع سرور که باعث میشود گوگل سایت شما را بعنوان یک سایت ناامن در مرورگر و نتایج جستجوی خود علامتگذاری کند
🔻تأثیر منفی بر سئوی سایت
📃 در این مقاله، نحوه حذف نرمافزارهای مخرب از یک سایت وردپرس را یاد خواهید گرفت:
👉 https://www.roxo.ir/remove-malware-from-wordpress-site
💻 #برنامه_نویسی #وردپرس
🆔 @roxo_ir
در زیر به برخی از خطرات بدافزارها برای سایت اشاره میکنیم:
🔻بدافزارها باعث تغییرات ناخواسته در محتوا یا سایت شما شده و چیزهایی را بدون اجازه شما به سایت اضافه یا از آن کم میکنند.
🔻دادههای حساس مثل اطلاعات شخصی شما و کاربران را به خطر میاندازند
🔻هرزنامهها یا اسپمها را بصورت ایمیل یا لینک در سایت شما قرار میدهند
🔻هدایت نشانی اینترنتیِ سایت شما به سوی وبسایتهای غیرقابل اعتماد، کلاهبرداری، پخش محتوای نامناسب یا تبلیغات
🔻افزایش ناگهانی در مصرف منابع سرور که باعث میشود گوگل سایت شما را بعنوان یک سایت ناامن در مرورگر و نتایج جستجوی خود علامتگذاری کند
🔻تأثیر منفی بر سئوی سایت
📃 در این مقاله، نحوه حذف نرمافزارهای مخرب از یک سایت وردپرس را یاد خواهید گرفت:
👉 https://www.roxo.ir/remove-malware-from-wordpress-site
💻 #برنامه_نویسی #وردپرس
🆔 @roxo_ir