پایان یک مشکل جهنمی، نحوه استفاده css3 در Internet Explorer

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

از تمامی این ناهماهنگی ها بگذریم می رسیم به پیشتیبانی نکردن از ابزار ها جدید. یکی از این ابزار ها CSS3 می باشد .که با ظهورش قدرت زیادی به پویا کردن صفحات وب ارائه کرد. متاسفانه Internet Explorer در هیج کدام از نسخه های جدید و پایدارش از این ابزار پشتیبانی نمی کند. از آنجایی که این مرورگر بر روی کامپیوتر خیلی از کاربران نصب می باشد،  متاسفانه بیشتر بازدید کنندگان وب سایت ها از این مرورگر جهنمی بهره می بردند.

در بازار وب مخصوصا در ایران کارفرمایان و مشتریان خواهان استفاده از آخرین ابزار ها و تکنولوژی های روز در وب سایتشان هستند. و از طرف دیگر چون هنوز درصد زیادی از بازدید کنندگان از این مرورگر استفاده میکنند.  مجبورند یکی را انتخاب کنند یا هماهنگی با Internet Explorer یا استفاده از نوآوری های وب. در این وسط ما طراحان وب هستیم که هلاک می شویم تا در مرحله اول مشتری را توجیه کنیم و در مرحله دوم وب سایت را با Internet Explorer هماهنگ کنیم.

در راستای همین  مشکلات  یک برنامه نویس خوش ذوق به نام Jason Johnston که اتفاقا از دیار کفر و استکبار هم هست به همراه چند تن دیگر از برنامه نویس بیکار دنیای اوپن سورس (اصطلاحی که برنامه نویسان ایرانی برای توجیه کردن خود که چرا در پروژه های اوپن سورس شرکت نمی کنند )، پروژه ای را شروع کردنند تا  بتوان CSS3 را در نسخه های فراگیر Internet Explorer رو شبیه سازی و استفاده کرد.

اسم این پروژه CSS3PIE هست. در این پروژه به کمک جاوا اسکریپت خاصیت های ارائه شده در Css3  را شبیه سازی می کنند.همکنون  ۲ نسخه ارائه دادند که در نسخه اول مشکلات زیادی به همراه بود و در آخرین نسخه که  من در یکی از پروژه های دولتی از CSS3PIE بهره بردم ،  هیچ مشکل خاصی نه خودم شاهدش بود نه کسی گزارش داده.

CSS3PIE در حال حاضر می تواند از این خاصیت های CSS3 زیر پشتیبانی و آنها را به خوبی شبیه سازی کنید.

  • border-radius
  • box-shadow
  • border-image
  • multiple background images
  • linear-gradient as background image

شما فقط کافیست فایل PIE.htc در روت وب سایت خود کپی نمایید. و در هر کجا که از خاصیت های CSS3 بهره میگیرید فقط خط زیر را درج نمایید.

behavior: url(PIE.htc);

همانند مثال زیر :

#myElement {
background: #EEE;
padding: 2em;
-moz-border-radius: 1em;
-webkit-border-radius: 1em;
border-radius: 1em;
behavior: url(PIE.htc);
}

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

#myElement {
    background: #EEE;
    padding: 2em;
    -moz-border-radius: 1em;
    -webkit-border-radius: 1em;
    border-radius: 1em;
}

نیازهای نیروی انسانی گروه برنامه نویسان

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

این موضوع به حدی مهم بود واسم که تصمیم گرفتم تنبلی رو کنار بزارم و شروع کنیم یک سری نیازها که مطمئن هستم ۹۰% برنامه نویسان متشرک نظر هستن رو همراه با تجربیات شخصی خودم (درد و دل) رو از چند دیدگاه مختلف بیان کنم.

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

اول از همه از خودم و چه گذشته بر من صحبت میکنم.

در سالعها ۸۰-۷۹ یک پروژه Enterprise Application Integration یا EAI در همدان استارت خورد بود.در اون سالها چون مشتاق فراگیری و کسب تجربه در ضمینه برنامه نویسی بودم و همچنین به اقتضای سنیم نمی تونستم تحصیلات بالاتر رو ادامه بدم، به عنوان کاراموز وارد این شرکت شدم و تا سال ۱۳۸۲ به صورت غیر رسمی فعالیت داشتم. تا اینکه به سربازی رفتم.

بعد از اتمام سربازی ، تحصیلاتم رو ادامه دادم و مجددا به صورت غیر رسمی شروع به کار با این شرکت کردم. در عرض دو سال خدمت سربازی این پروژه از حالت استانی خارج و کشوری شده بود و ببسیار گسترده و پیچیده شده بود، به همین دلیل نتوانستم در توسعه اون مشارکت خوبی داشته باشم. در اون زمان چون برنامه نویسی Appliocation Desktop بازار خوبی در همدان نداشت , بیشتر شرکت های معظم از VB استفاده میکردن و من دلفی کار بودم نتونستم با شرکتی همکاری داشته باشم.

به همین دلیل شروع به فعالیت در چند رشته مختلف کردم. اما بعد ها متوجه شدم که جواب گویه من نیستند. به همین دلیل به سمت برنامه نویسی وب گرایش پیدا کردم.تقریبا از سال ۱۳۸۶ وارد طراحی و پیاده سازی وب سایت ها شدم. در این زمان با چندین شرکت و گروه به صورت راه دور مشغول به کار بودم تا در مهر ماه ۱۳۸۷ با توجه به نیاز شرکت فوق به صورت رسمی وارد این شرکت شدم و قرار شد من یکسری زیر سیستم های این پروژه رو تحت وب پیاده سازی کنم.

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

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

این روال ادامه پیدا کرد تا مرداد ماه ۱۳۸۸ من بیش از ۷ مرتبه کل سیستم رو عوض کردم یا بازنویسی کردن و هرکسی که می آمد یک نظر میداد من باید اون نظر رو عملی میکردم.در همین هنگام یک مدیر عامل جدید وارد شرکت شد که اسم و رسم و تجربیات مدیریتی خوبی در چندین شرکت و کارخانه بزرگ همدان داشتند. اما متاسفانه مدیر عامل جدید گویا تجربه کار با اقشار تحصیل کرده جامعه رو نداشتن هیچ، اطلاعات مورد نیاز سطح پائین کامپیوتری رو هم نداشتن. در مدت ۱-۲ ماه این عزیز طوری با پرسنلش برخورد کردند که انگار با یک کارگر ساده برخورد می کنه و میتونه هر طور دوست داره بگه و طرفش هم فقط بگه چشم.تازه فهمیدیم تجربه واقعی ایشان چیه، از طرفی هم پروژه وب سایت و CRM کدنویسی ودر حال تست بود که ایشان باز نظراتی در مورد تحوه پشتیبانی دادن که سیستم فعلی کنار گذاشته شد برای بعدن ها و مجبور شدیم نظرات جدید رو پیاده سازی کنیم.در همین یک سال بارها من رو به جای نیروهای پشتیبانی به سایر استانها و مراکز فرستادن یا از تخصصم در زمینه نصب ویندوز استفاده کردن :))
احساس میکردم که دارم عقب گد میکنم بجای پیشرفت. آخر به این نتیجه رسیدم که نمی توانم با این روال کار کنم و در مهر ماه ۱۳۸۸ استفعا دادم. در صورتیکه تو این مدت چند پروژه کوچیک و بزرگ سفارش گرفته بودم و تحویل دادم. در این شرکت هیچ کاری نکردم.

سرتون رو درد آوردم. اما هم دردلی بود، هم اینکه نظرات خودم رو به عنوان پیرامون این موضوع و از رو تجربه کار تمام وقت در شرکت خصوصی و کار با مراکز دولتی و خصوصی به صورت پاره وقت و Freelancer ارائه دهم

نیازهای من به عنوان یک نیروی انسانی برنامه‌نویس:

۱. رعایت کمال احترام در برخورد با یک برنامه نویس :

من تا اونجا که می دونم  و دیدم برنامه نویس ها شخصیت های  مشترک اما خاصی با سایرین دارند،از جمله صبر و شکیبایی (اینو نداشتن که برنامه نویس نمی شدند.)، غرور، یکدندگی(پشتکار قوی) و از اونجا که یکی از اصول و قوانین مهم برنامه نویسان آینده نگری هست.
عموما برنامه نویسان همیشه یک ویژن یا دیدگاه به آینده دارند و اون رو در کارهاشون درنظر میگیرند. گاه پیش اومده بین کارفرما و برنامه نویس اختلافاتی دیدگاهی و عملکردی همچون به یکباره در یک سیستم ، زیر سیستمی به صورت فوری ایجاد شود. ظاهرا این زیر سیستم ساده است، اما چون برنامه نویس  می بایست آینده  سیستم و بهینه بودن و عملکرد درست زیرسیستم را در نظر داشته باشه ،نیاز به وقت و زمان بیشتری برای تهیه این زیر دارد . سر این مسئله برخورد های بین این دو پیش میاد. اینجاست که دیده میشه مدیران با کلماتی مثل ” من اینطوری نیرو نمی خوام برو تصفیه کم”، “از حقوق کسر میشه انجام نشه” و “حالا یک کاریش بکن، جون تو قول دادم”با برنامه نویسان برخورد می کنند. شاید در چند مرحله برنامه نویس این موارد رو به خودش نگیره اما در صورت تکرار به دلیل اینکه مشکلاتی که بعدها بوجود مباد گریوان گیر خودش میشه تصمیم به انصراف و عدم ادامه کار مگیره یا اون شوق اولیه رو از دست میدهند و دل به کار نمیدن.

۲- شناخت کافی از خصوصیات و شخصیت برنامه نویسان :

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

۲-۱-بیشتر برنامه نویسان نیاز به محیط کاری ساکت و بی سرو صدا دارند و بلعکس خیلی ها در سر و صدا زیاد راحت هستند یا خیلی ها در هنگام کار از یک سری آهنگ های راک و …. اونم با صدای بلند گوش دهند.

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

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

۲-۳- یک برنامه نویس بدلیل کشش و نیاز نوع کارش، فشار زیادی به اعضای بدنیش وارد میکنه، مثل مغز، ستون فقرات، بد خوابی یا کمبود خواب، گرسنگی، خستگی بیش ار حد چشمان به دلیل نگاه کردن مستقیم به مانیتور و پلک نزدن.این فشار ها مخصوصا فشاری که به مغز خود برای تجزیه و تحلیل چند موضوع در ذهنشون انجام میدن باعث میشه که در یک دوره زمانی کوتاه بدن برنامه نویس کم میاره و در یک حالت standBy فرو میره. اینجاست که برنامه نویس نمی تونه مثل همیشه کار کنه و احساس افسردگی و بی حوصلگی میکنند اینجاست که به قول ما برنامه نویس ها میگیم مخش چوش آورده و هر درخواستی برای برنامه نویس بفرستیم با پیام خطا های run time error 200 یا overflow مواجه میشیم. تو این زمان برنامه نویس نیاز داره برای ساعتی یا چند روز فقط کاری دیگری جز کدنویسی انجام دهد. و ترجیحا از محیط کار دور باشه.

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

من بارها و بارها این مورد روتجربه کردم. که روی یک موضوع مدتی کار میکنم، با اینکه منطق کد نویسی درست هست اما خروجی درست نیست. و احساس میکنم به بن بست رسیدم در این موقعه سریع میرم می خوابم. بعد از این که بیدار شدم این احساس رو دارم که راه حل یا خود مشکل رو پیدا کردم. و در ادامه کار خیلی سری مشکل رو حل میکنم .در اصل هنور ذهن من درگیر این مسئله هست اما با نیم کره دیگر مغز.

۲-۴- خصوصیات خاص برنامه نویسی(نو فعالیت) و برنامه نویس :
من اعتقاد دارم که یک برنامه نویس نمی بتواند همیشه نمی تواند یک پروژه رو در یک بازه زمانی مثل ساعات اداری ( ۸ ساعت کار در روز) ۸ صبح شروع به کد نویسی کنند و در پایان ساعات اداری در هر کجای که از کار قرار دارد، دست از کار بکشد و فردا از همون نقطه مجدد ادامه دهند.

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

اینحاست که کارفرما یا مدیران باید با شناخت و اعتمادی که به برنامه نویس دارند و به کمک مدیران پروژه که هزینه ها و پیچیدگی ها رو در سیستم تجزیه و تحلیل کرده اند این عمر رو تشخیص بدن که آیا برنامه نویس این مدت زمان را در روند پیشروفت پروژه صرف کرده یا خیر. در اصل برنامه نویس هم به خاطر شما که کارفما هستید و هم خودش این عمل رو انجام مدهد.پس می توانید نرمش بابت تاخیر و غیبت ها به خرج دهید.
Continue reading “نیازهای نیروی انسانی گروه برنامه نویسان” »

دکتر علی شریعتی : دموکراسی می گوید : رفیق، حرفت را خودت بزن،

این نکته رو از دکتر علی شریعتی رو خوبه خوب بخونید.

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

آیا ما در حال حاضر مسلمانیم؟

چگونه یک برنامه نویس موفق شویم

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

برنامه نویس موفق هیچ وقت سر وقت در محل کارش پیدایش نمیشود

  • معنای نیمه شب ها برای یک برنامه نویس با نیمه شب انسان های عادی تفاوت دارد . نیمه شب برای یک برنامه نویس یعنی ۱۰ صبح برای یک انسان عادی
  • یک برنامه نویس همیشه تعدادی لغات تخصصی در آستین دارد که میتواند با سر هم کردن آنها دیگران را گیج کند
  • برای یک برنامه نویس هیچ راه حلی بالاتر از Restart کردن وجود ندارد
  • نام بیل گیتس برای هر برنامه نویس موفق مقدس است و معبدش مایکروسافت و گوگل میباشد.
  • برنامه نویس موفق فقط و فقط با لب تاپ خود عشق بازی میکند.
  • یک برنامه نویس موفق میداند طعم قهوه وقتی سیگاری بر گوشه لب خود داری چه مفهمومی دارد.
  • یک برنامه نویس موفق اکثراً قهوه و چایی ولرم مینوشد.
  • برنامه نویسی موفق است که کلمه نظم را خودش معنا کرده باشد
  • اتاق و محل کار یک برنامه نویس موفق هیچگاه مرتب نیست بلکه تابع معنای نظم زندگیش است
  • یک برنامه نویس موفق میداند که فست فود تنها غذای جسم اوست و یک موزیک متالیکا بخصوص مال ۱۹۹۲ غذای روحش
  • یک برنامه نویس موفق به ندرت عصبانی میشود ولی وای به آن لحظه که عصبانی شود.
  • یک برنامه نویس موفق دختران زیادی را در زندگی خود داشته است ولی فقط یکی از آنها بوده که او را میفهمیده ولی او اکنون نیست
  • برنامه نویس موفق در هر لحظه میتواند کل کل کند ولی معنای باخت را هرگز نچشد.
  • برنامه نویس موفق هیچگاه خواب زن های برهنه را نمیبیند
  • همیشه مشکوک است ولی خود را آرام نشان میدهد.
  • یک برنامه نویس موفق همیشه با دیوان شمس لاس میزند ولی همیشه هم فاصله اش را با آن حفظ میکند
  • اوج زندگیش را در سن ۱۸ تا ۲۶ سالگی میداند.
  • برنامه نویس موفق همه بچه ها را دوست دارد تا وقتی گریه نکنند.
  • فقط یک برنامه نویس موفق است که معنای ۵۴ ساعت بیداری و کار مداوم را درک میکند.
  • برنامه نویس موفق همیشه تنهاست. زندگی او در برنامه هایش خلاصه شده است.
  • ۴۰ سالگی زمان بازنشستگی برنامه نویس موفق است ، یعنی زمانی که به خود میگوید: میخواهم زن بگیرم
  • مردم برای یک برنامه نویس موفق نقش ابلهانی را دارند که فقط میتوانند سفارش پروژه ای را بدهند که خودشان هم دقیقا نمیدانند هدفشان از سفارش آن پروژه چیست
  • برنامه نویس موفق زود از دختران خسته میشود ، گاهی در تنهایی فقط به آنها فکر میکند.
  • کابوس او شرکت در جلسه ای با حضور کاربران عوام است و بلاهای طبیعیش بهم ریختن ویندوز
  • اینترنت را قطع کنید تا ببینید او چه رفتارهای ناهنجاری انجام میدهد.
  • بدترین دعوا را فقط او میتواند با مدیر عامل داشته باشد ولی ککش هم نگزد
  • برنامه نویس موفق OOP را هضم کرده و با SOA رقص تانگو میکند.
  • همیشه عجله دارد ولی مرد یک دو سه نیست.

آپدیت :

یک برنامه نویس موفق کسیه که جونه همه ی اطرافیانشو به لبشون می رسونه

خب! کدومتون یک برنامه نویس موفق هستید؟

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

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

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

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

SELECT month(FROM_UNIX(regdate) as mo, SELECT year(FROM_UNIX(regdate) as yr, COUNT(*) as total FROM table GROUP BY mo,yr ORDER BY mo DESC yr DESC

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

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

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

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

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

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

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

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


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

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


SELECT pmonth(FROM_UNIX(regdate) as mo, SELECT pyear(FROM_UNIX(regdate) as yr, COUNT(*) as total FROM table GROUP BY mo,yr ORDER BY mo DESC yr DESC

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

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

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

ممنون از شما پروژه رو در گیت هاب منتشر کردم. ممنون میشم به اسم خودتون این مورد رو فیکس کنید.
https://github.com/zoghal/Presian-Date-for-MySQL