آخرین فرصت برای منافقین اکوسیستم؛

منافق آن کسی است که ادعای خوب بودن و درستکاری دارد اما انسانی نادرست و نابکار است.

دنیای امروز من:

براستی ‌که در دنیای وارونه‌ای زندگی می‌کنیم، که حق و باطل چنان با هم آمیخته شده‌اند که جدایی‌شان ناممکن به نظر می‌رسد؛ اما چه می‌توان کرد؟ سکوت هم جایز نیست، زیرا: اگر در سکوت راه نجاتی بود، مردگان فاتحان جهان بودند.

سکوت مرگ است! تو اگر سکوت کنی می‌میری! و اگر حرف بزنی می‌میری!

***پس بگو و بمیر***

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

ادامه‌ی خواندن

فونت فارسی برای وب با مجوز آزاد: هدیه‌ای به مناسبت روز وبلاگستان فارسی

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

داشتم به این فکر می‌کردم خوب من چی بنویسم که غلط املایی کمتری تو نوشته‌هام بتونند پیدا کنند که یکباره یاد پروژه‌ای که دارم بر رویش کار می‌کنم افتادم. پروژه‌ای که خیلی از اهدافش مرتبط با وب، وبلاگ و زبان فارسی است.

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

  1.  دارای مجوز آزاد هستند.
  2.  اختصاصا برای استفاده در وب اصلاح شده‌اند.

ادامه‌ی خواندن

فونت فارسی در وب : نکاتی پیرامون اصلاح سازی فونت‌های فارسی برای وب

شاید شما هم خبر”ارائه ۳۹ فونت فارسی استانداردسازی شده توسط شورای عالی اطلاع‌رسانی” رو شنیده باشید. در نگاه اول خبر بسیار خوب و قابل تحسین هست. اما برای من یک مقدار هضمش سنگین هست. به این دلیل هم مجبور شدم پیرامون این خبر بعد از مدت‌ها یک مطلب تو وبلاگم بنویسم.

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

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

فصل اول – قسمت اول : شروع داستان

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

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

ادامه‌ی خواندن

توابع تاریخ شمسی جهت استفاده در Mysql

 

این پروژه رو تقدیم می کنم به سازمان مدیریت برنامه نویسان php

 

در تمامی پروژه‌هایی که نیاز به تاریخ شمسی است، عموما برنامه‌نویسان ایرانی با مشکلات خاصی ریز و درشتی روبرو هستند، بر ای مثال بهترین راهکار ذخیره‌سازی تاریخ شمسی در یک جدول چیست؟


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

همانطور که می‌دانید درMysql توابع بسیار خوب و کاربردی برای کار با مقادیر از نوع تاریخ و زمان وجود دارد که برنامه‌نویسان می‌تواند بدون درگیر شدن با کدنویسی و تنها با استفاده از یک تابع در کوئری خودشان سریع به نتیجه دلخواه‌شان برسند. به عنوان مثال فرض کنید ما می‌خواهیم یک آرشیو ماهیانه برای سیستم خبری ایجاد کنیم:

SELECT
   YEAR ( created ) AS sal,
   MONTH ( created ) AS mah,
   COUNT( * ) AS visit 
FROM
   ips 
GROUP BY
   sal,
   mah 
ORDER BY
   sal DESC,
   mah DESC

برنامه نویس با مثال بالا به راحتی می تواند آرشیو ماهیانه مطالب سیستم خود را ایجاد کند. البته به میلادی.
اما برای آرشیو ماهیانه شمسی آیا جواب گو هست. جواب این هست. خیر!!!.

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

من در این پروژه با استفاده از قابلیت تعریف پروسیجر و تابع که در نسخه ۵٫x.x  به بعد ارائه شد.  یک سری تابع  ، همانند توابع MySql شبیه سازی کردم با این تفاوت که این توابع نتیجه را به صورت شمسی بر میگردانند.

در این پروژه توابع کاربردی date(),month(),year(), monthname() و … پیاده‌سازی شده‌اند:

SELECT
pdate(NOW()), # 1400-08-22 00:12:18
pmonthname( NOW( ) ), # آبان
pdate( '1982-12-25' ),# 1361-10-04
pyear( '1982-12-25' ),# 1361
pmonth( '1982-12-25' ), # 10
pmonthname( '1982-12-25' ),# دی
gdate( 1361, 10, 4 ), # 1982-12-25 00:00:00
gdatestr( '1361/10/4' ); # 1982-12-25 00:00:00

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

۱- دریافت فایل توابع : دریافت

۲- ایپورت کردن فایل در دیتابیس مورد نظر

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

SELECT
   pnum(pdate(NOW())),
   pyear('2009-09-22'),
   pmonth('2009-09-22'),
   pmonthname( NOW());

مثال آرشیو ماهیانه

SELECT
   pyear( created ) AS sal,
   pmonth( created ) AS mah,
   COUNT( * ) AS visit 
FROM
   ips 
GROUP BY
   sal,
   mah 
ORDER BY
   sal DESC,
   mah DESC

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

نکته : در حال حاضر فقط این توابع را فقط می توان از نسخه‌های ۵.۱ و بیشتر مورد استفاده قرار داد.

جهت ادامه روند توسعه و رفع مشکلات این پروژه، من پروژه رو در github قرار دادم.