نوشته های من !

راجع به تجربه های شخصی از دنیای برنامه نویسی می نویسم، یا از روزمرگی هام …

نصب و راه‌اندازی DNS Server با استفاده از Bind بر روی CentOS 7

نویسنده:
۱۰ تیر ۹۶

یه سری مقدمات میگم، اگر با DNS آشنایی دارین و میدونین چرا اومدین به این صفحه، می‌تونین از این قسمت بگذرین و بخش بعدی رو بخونین.

بخش اول ( چیستی و چرایی DNS):

فرض کنین یه سرور اجاره کردین، موقع تحویل سرور تنها آدرسی که به شما میدن ‌IP اون سرور هست. ولی خب این اصلا منطقی نیست که به کاربرانتون بگین برای دیدن سایت من آدرس 162.215.89.33 (آدرس فرضی) رو وارد کنین. کاری که باید انجام بدین این هست که یک دامنه بخرین، مثلا alafalaki.ir، و این نام دامنه که خب قطعا حفظ کردنش راحت‌تر هست رو به کاربرانتون معرفی کنین.

سوالی که پیش میاد این هست که خب شبکه اینترنت از کجا بفهمه وقتی کاربرها alafalaki.ir رو وارد میکنن، باید هدایت بشن به سروری که من خریدم؟

اینجا هست که بحث DNSها به وجود میاد. DNS مخفف Domain Name Service هست و وظیفه‌اش این هست که وقتی کاربر می‌خواد به یک سایتی دسترسی داشته باشه، مثلا alafalaki.ir، نام دامنه وارد شده رو به IP اون وب‌سایت تبدیل کنه. داستان DNS Service رو اگه بخوایم توی یه کارتون نشون بدیم، میشه کارتون زیر. (برای مشاهده سایز بزرگ روی عکس کلیک کنین.)

(بیشتر…)

ارائه با موضوع «استفاده از شبکه عصبی مصنوعی (در پی‌اچ‌پی)» + فایل ارائه و کد پروژه آموزشی

نویسنده:
۲۷ مهر ۹۵

coderconf-alafalaki

در تاریخ ۲۸ مرداد ۹۵ به عنوان ارائه دهنده در همایش «کدرکانف» شرکت کرده بودم. راستش می‌خواستم زودتر در این باره مطلب بنویسم و منتظر انتشار فیلم ارائه‌ها بودم تا مطلبی که ارسال میکنم کامل‌تر باشه، ولی متاسفانه تا به حال فیلم ارائه‌ها منتشر نشده. (در صورتی که بعدها به فیلم ارائه دسترسی پیدا کردم حتما این مطلب رو به روز رسانی میکنم)

اما خوشبخانه‌ی قضیه اینجاست که مقاله‌ای که من برای این همایش ارائه داده بودم نسبتا کامل هست و اگر شما به مبحث هوش مصنوعی علاقه دارین (بدون هیچ پیش زمینه‌ای) امیدوارم با خوندن این مقاله بتونین درک اولیه‌ای در این زمینه بدست بیارین و حتی خودتون یه برنامه بنویسین.

(بیشتر…)

انتقال نرم‌افزار نوشته شده با Flask به سرور اوبونتو

نویسنده:
۲۹ خرداد ۹۵
flask
مقدمه:

Flask یک چهارچوب کوچک (Micro-framework) جهت توسعه سریع نرم‌افزارهای تحت وب به زبان پایتون هست. برای آموزش مقدماتی این چهارچوب می‌تونین آموزش هفت قسمتی این لینک رو دنبال کنید.

توضیح مقدماتی:

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

نکته: هر بخش از دستورات که شما می‌توانید با سلیقه خود نام و یا محل ذخیره سازی را انجام دهد، با رنگ قرمز مشخص خواهد شد. (سایر دستورات نیازی به تغییر ندارند.)

(بیشتر…)

ارائه با موضوع «گزارشی از برنامه‌نویسی موازی در پی‌اچ‌پی»

نویسنده:
۲۷ شهریور ۹۴

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

مباحثی که در این ارائه مطرح شده شامل چند فرآیندی(Multi-Processing)، چندنخی(Multi-Threading) و همچنین توزیع فرآیندها(Task Distribution) هست.

(بیشتر…)

استفاده از تکنیک HONEYPOT ( جایگزینی برای CAPTCHA )

نویسنده:
۱۷ بهمن ۹۳

تصویر کپچا

بعد از خوندن مطلب “وقت کاربر ها رو تلف نکنیم!” ( نوشته شده توسط Paul Boag و ترجمه دوست عزیزم، خانم ریحانی ) با یک روش برای مقابله با اسپم آشنا شدم به اسم Honeypot. ( که ترجمه‌ای براش به ذهنم نمیرسه، به نظرم بعضی کلمه‌ها بهتره ترجمه نشن اصلا )

HONEYPOT چیست ؟

این روش در عین سادگی باعث میشه تعداد اسپم‌های سایت شما بسیار کم بشه( براساس نظر افرادی که از این روش استفاده کردن میگن حدود ۹۹٪ اسپم‌ها تشخیص داده میشن ). مزیت عمده این روش، بر خلاف کپچا، این هست که کاربران سایت مجبور به اثبات هویت خودشون نیستن، از سوال‌های خسته کننده و درخواست از کاربر برای وارد کردن حروف و .. خبری نیست. همچنین استفاده از این روش ( در این وضعیتی که اکثر سایت‌های ایرانی برای ابتدایی ترین کارها، کاربرها رو مجبور به وارد کردن کپچا میکنن ) باعث بهبود تجربه کاربری سایت شما میشه. (بیشتر…)

افزونه “فرم تماس با ما” فارسی برای وردپرس

نویسنده:
۶ آبان ۹۳

افزونه فرم تماس با ما فارسی برای وردپرس

چندوقتی بود که نیاز به افزونه ای داشتم که بتونم یک فرم تماس با ما در سایت ایجاد کنم، بعد از کمی جستجو از پیدا کردن افزونه ای به زبان فارسی نا امید شدم.

ولی در عوض افزونه ای به زبان انگیلیسی پیدا کردم که بسیار ساده بود و دقیقا همون کاری که من میخواستم رو انجام میداد. این افزونه نوشته شده توسط وب سایت کنموردیزاین (Kenmore design) هست و من فقط اون رو به زبان فارسی ترجمه کردم. از قابلیت های این افزونه :

  • قابلیت تغییر استایل فرم با استفاده از CSS
  • دارای دو نوع کپچای عددی و سوالی
  • قابلیت اضافه کردن ۵ فیلد دلخواه
  • شخصی سازی پیام های ارسال موفق و ناموفق

(بیشتر…)

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

نویسنده:
۲۰ مرداد ۹۳

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

خیلی جالبه چون معمولا همه به دنبال عکس این تبدیل هستن. ( برای تبدیل انگلیسی به فارسی من کتابخونه persian.js رو پیشنهاد میکنم ) ولی برسیم به بحث اصلی، نیاز به مقدمه ای نیست و همه چیز واضح هست، نیاز به تابعی داشتم که اعداد فارسی رو به انگلیسی تبدیل کنه و اکثر تابع هایی که پیدا کردم وقتی اعداد عربی بود به مشکل بر میخوردن و حتی با اعداد زبان فارسی در لینوکس مشکل داشتن‌. (نمیدونم مشکل از کیبرد من هست یا یونیکد اعداد تو لینوکس فرق داره، ولی در هر صورت چون جاوا اسکریپت زبان سمت کاربر هست راه حلی که ارائه میدیم باید جامع باشه.)

(بیشتر…)

کلاس “درگاه پرداخت دو مرحله ای بانک پاسارگاد”

نویسنده:
۳۱ اردیبهشت ۹۳

کلاس برای درگاه پرداخت دو مرحله ای بانک پاسارگاد

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

(بیشتر…)

پلاگین JPpayment برای WooCommerce (فروشگاه ساز)

نویسنده:
۲۲ فروردین ۹۳

پلاگین JPpayment برای WooCommerce فروشگاه ساز

آپدیت ۱۳۹۵/۰۵/۰۱: متاسفانه با از دسترس خارج شدن سرویس «درگاه پرداخت جهان‌پی» این پلاگین دیگر توسعه داده نمی‌شود.

آپدیت ۱۳۹۴/۶/۲۵ : ورژن دوم این پلاگین منتشر شد، در ورژن دوم مشکل افزونه با ووکامرس ۲.۴.۴ حل شد.

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

آپدیت ۱۳۹۲/۴/۲۱ : در صورت درخواست پلاگین درگاه اختصاصی جهان پی و سایر بانک ها نیز برای ووکامرس انجام داده می شود. ( با استفاده از فرم نظرات درخواست خود را ارسال کنید،  در سریعترین زمان ممکن شرایط را برای شما ارسال میکنم. )

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

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

(بیشتر…)

CSS حرفه ای – آموزش استفاده از Pseudo-Elements

نویسنده:
۲۱ اسفند ۹۲

مقدمه : ( شبه عنصر چیست ؟ )

Pseudo-Element یا شبه عنصر قابلیتی داخل CSS هست برای اضافه کردن قابلیت های خاص به عناصر HTML . در جدول زیر لیستی از این selector ها ( انتخاب کننده ها ) میبینید. ( این لیست کامل نیست، امکان داره در آینده این مطلب رو ادامه بدم .)

توضیح کوتاه

مثال از استفاده

انتخاب کننده

(selector)

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

p:first-letter

:first-letter

استایل دادن به خط اول یک پاراگراف.

p:first-line

:first-line

قرار دادن متن بعد از پاراگراف.

p:after

:after

قرار دادن متن قبل از پاراگراف.

p:before

:before

دادن استایل خاص به پاراگراف هایی با زبان های خاص.

p:lang(fa)

:lang(language)

جدول(۱) – لیست شبه عناصر

کاری که این عناصر انجام میدن از اسمشون پیداست، این عناصر در واقع مجازی هستند، به این معنی که در سورس برنامه قابل مشاهده نیستند و فقط در استایل وب سایت ( css ) و برای کاربران قابل مشاهده هستند.

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

(بیشتر…)