نکات برنامه‌نویسی

نکات برنامه‌نویسی و رایانه‌ای - امیرمسعود ایرانی

نکات برنامه‌نویسی

نکات برنامه‌نویسی و رایانه‌ای - امیرمسعود ایرانی

۳ مطلب در دی ۱۳۹۴ ثبت شده است

وردپرس چیست؟

امیرمسعود ایرانی | سه شنبه, ۱۵ دی ۱۳۹۴، ۰۴:۳۶ ق.ظ | ۰ نظر

وردپرس یک CMS یا سیستم مدیریت محتوای مشهور است. طبق آخرین آمار تقریبا از هر چهار سایت موجود روی اینترنت یکی از آن‌ها با Wordpress پیاده‌سازی شده است.

وردپرس سیستمی رایگان و متن‌باز است. به این معنی که استفاده و تغییر دادن آن برای تمامی کاربردها بدون پرداخت هزینه امکان‌پذیر است.

از مهم‌ترین ویژگی‌های وردپرس وجود هزاران افزونه‌ی رایگان برای توسعه دادن امکانات و توانایی‌های آن است. افزونه‌های موجود برای وردپرس در موضوع‌های گوناگونی توسعه پیدا کرده‌اند. تمامی افزونه‌های وردپرس که در کتابخانه‌ی افزونه‌های آن معرفی شده‌اند نیز از قانون رایگان بودن وردپرس پیروی می‌کنند در نتیجه ایجاد یک سایت شخصی یا یک سایت رسمی و سازمانی و شرکتی با وردپرس به راحتی و بدون پرداخت هزینه امکان‌پذیر است.

هرچند که نصب و راه‌اندازی وردپرس و ایجاد یک سایت با آن کاری ساده و سریع است، ولی درست کردن یک سایت حرفه‌ای با امکانات متنوع و با رعایت اصول فنی به فردی با تخصص مرتبط نیازمند است.

وردپرس بسیار قابل توسعه است. تقریبا تمامی بخش‌های وردپرس و تمامی فرآیندهای آن با استفاده از افزونه‌ها قابل تغییر هستند. برای مثال ممکن است یک افزونه، محتوای یک صفحه‌ی ایجاد شده توسط کاربر را بررسی کند و کلمات خاصی را به صورت پیوند در خروجی نمایش دهد. یا ممکن است با کمک یک افزونه، بخشی برای آپلود و نمایش فایل‌های کاربران در سایت ایجاد شود.

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

وردپرس به صورت منظم به‌روزرسانی می‌شود. در به‌روزرسانی‌های پی در پی وردپرس، علاوه بر رفع مشکلات کاربردی و امنیتی احتمالی، امکانات جدیدی نیز به آن می‌افزاید.

نگارش‌های مختلف وردپرس تا حد بسیار زیادی با نگارش‌های قبلی سازگار هستند. به این معنی که در اغلب به روزرسانی‌های وردپرس، قالب و افزونه‌های نصب شده روی آن بدون مشکل به عملکرد خود ادامه می‌دهند.

وردپرس بدون نصب هیچ افزونه‌ای برای راه‌اندازی یک سایت شرکتی کوچک یا یک سایت شخصی یا یک وبلاگ تخصصی یا یک سایت اطلاع‌رسانی مناسب است. امکاناتی مانند ایجاد و ارسال اخبار، مقاله، ایجاد صفحات ایستا، ایجاد منوهای مختلف، ایجاد لینک‌های دوستان و بسیاری امکانات دیگر در وردپرس موجود هستند.

پشتیبانی وردپرس از سئو یا بهینه‌سازی موتورهای جستجو با استفاده از افزونه‌های گوناگونی که برای این کار وجود دارند بسیار موثر است. شاید حدود ۷۰ درصد کارهایی که برای SEO کردن یک سایت وردپرسی مورد نیاز است به سادگی و با نصب یک افزونه به انجام می‌رسد.

هرچند وردپرس به دلایل سنتی از سیستم برنامه‌نویسی پیشرفته‌ای استفاده نمی‌کند، ولی در گذشت زمان تغییرات عمده‌ای را به خود دیده است و در همچنان نیز در حال تغییر است. همان گونه که گفته شد این تغییرات اغلب در سازگاری وردپرس با نگارش‌های قدیمی اثر منفی نمی‌گذارند.

وردپرس به دلیل به‌روزرسانی‌های پی‌در‌پی و به‌روزرسانی خودکار اشکال‌های امنیتی جدید، یکی از سیستم‌های بسیار ایمن است. البته استفاده کردن از افزونه‌های با کیفیت پایین یا کدنویسی قالب بدون رعایت اصول امنیتی، این امنیت را تحت تاثیر قرار می‌دهند.

از مهم‌ترین ویژگی‌های وردپرس، امکان ایجاد انواع محتوا به تعداد نامحدود با استفاده از افزونه‌های آماده یا با اندکی کدنویسی در قالب یک افزونه‌ی جدید است. برای مثال ممکن است در سایت یک شرکت صنعتی، نوع محتوایی با نام «محصولات» با ویژگی‌های منحصر به فرد خود در وردپرس ایجاد کرد و شکل ورود اطلاعات و شکل نمایش ویژگی‌های آن را مطابق نیاز تغییر داد.

استفاده از وردپرس روز به روز در حال افزایش است. و با روند رشد فعلی بعید نیست در آینده درصد استفاده از وردپرس به ۵۰ درصد نیز نزدیک شود.

یکی از معایب وردپرس سرعت نسبتا کم است. هرچند در نگارش‌های مختلف تلاش شده تا سرعت به بیشترین حد ممکن برسد ولی امکانات متنوع و توسعه‌پذیری زیاد سبب می‌شود در سرعت اثر منفی ایجاد شود. با روی کار آمدن نگارش جدید php با نام کد phpng انتظار می‌رود که مشکل سرعت وردپرس تا حد زیادی برطرف شود.

انتخاب یا عدم انتخاب وردپرس به عنوان ابزاری برای ایجاد یک سایت به عوامل مختلفی بستگی دارد که مهم‌ترین آن‌ها عبارتند از: امکانات مورد نیاز، زمان در دسترس برای توسعه، برنامه‌های آتی توسعه، تعداد احتمالی محتوا و کاربران سیستم.
به طور کلی وردپرس گزینه‌ای بسیار مناسب برای پیاده‌سازی اغلب سایت‌ها اعم از شخصی، سازمانی، فروشگاهی و شرکتی است. بسته به نیازهای خاص در هر مورد ممکن است تصمیم نهایی تحت تاثیر قرار بگیرد

طراحی سایت با وردپرس
  • امیرمسعود ایرانی

پیوندهای یکتای قدیمی در وردپرس

امیرمسعود ایرانی | سه شنبه, ۱۵ دی ۱۳۹۴، ۰۲:۳۷ ق.ظ | ۰ نظر

یکی از ویژگی‌های وردپرس، ثبت نامک یا Slug برای نوشته‌ها و برگه‌ها و همچنین پست‌های سفارشی است.

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

چنانچه نامک یکی از صفحات منتشر شده توسط کاربر تغییر کند، وردپرس نامک قدیمی را در جدول postmeta با نام _wp_old_slug ذخیره می‌کند. ذخیره کردن نامک قدیمی می‌تواند سبب شود پیوند به صفحه‌ی مورد نظر در سایت‌های دیگر همچنان به درستی عمل کنند.

ولی در کنار این مزیت ممکن است سبب ایجاد رفتاری ناخواسته نیز شود. چنانچه مطلبی جدید با نامک قدیمی و حذف شده ایجاد کنید، امکان دسترسی به صفحه‌ی جدید وجود نخواهد داشت. زیرا اولویت نامک قدیمی بیشتر از اولویت نامک فعلی است

برای روشن تر شدن موضوع به مثال زیر توجه کنید:

کاربر صفحه‌ای با نامک content1 ایجاد می‌کند و آن را منتشر می‌کند.

کاربر نامک صفحه‌ی ایجاد شده را به content2 تغییر می‌دهد.

کاربر صفحه‌ای با نامک content1 ایجاد می‌کند.

در این مرحله باز کردن هر کدام از نامک‌های content1 یا content2 سبب می‌شود تا content2 باز شود


برای رفع این مشکل از کوئری زیر روی بانک اطلاعاتی استفاده کنید تا تمامی نامک‌های قدیمی ذخیره شده حذف شوند. بدیهی است چنانچه بخواهید نامک خاصی از بانک اطلاعاتی حذف شود، می‌بایست به صورت دستی اقدام کنید.


طراحی سایت با وردپرس

DELETE FROM `wp_postmeta` WHERE `meta_key` = '_wp_old_slug'
  • امیرمسعود ایرانی

دانلود فایل در سمت کلاینت

امیرمسعود ایرانی | يكشنبه, ۶ دی ۱۳۹۴، ۰۲:۴۸ ب.ظ | ۰ نظر

یکی از امکانات جدید مرورگرها امکان دانلود فایل بدون مراجعه به سرور است

این کار کاربردهای متنوعی می‌تواند داشته باشد که مهم‌ترین استفاده‌ی آن دانلود فایل‌هایی کوچک با محتویاتی معمولا حاوی کدها یا رمزها یا موارد اینچنین است.

برای دانلود کردن فایل کافی است یک عنصر a با عبارت href خاص به شکل زیر ایجاد کنیم.

برای تعیین نام فایل هم از صفت download استفاده می‌کنیم.

<a download="amib.txt" href="data:application/octet-stream;charset=utf-8,YOUR CODE: 112233">
اینجا کلیک کنید
</a>
عبارتapplication/octet-stream تعیین می‌کند که مرورگر محتوای مقابل را باید دانلود کند. charset=utf-8 تعیین می‌کند که فایل خروجی از نوع utf-8 باشد و در نهایت بخش YOUR CODE: 112233 محتوای فایل خروجی است.
چنانچه محتوای قابل دانلود طولانی‌تر باشد می‌توان با استفاده از جاوااسکریپت صفت href را مشخص کرد.
فراموش نکنید که عبارت قرار گرفته در href نباید حاوی حروف غیرمجاز برای url باشد بنابراین حتما باید URL Encode شود.

فهرست مرورگرهایی که از این ویژگی HTML5 پشتیبانی می‌کنند در این صفحه قابل مشاهده است.
http://caniuse.com/#feat=download
  • امیرمسعود ایرانی