انجمن پشتیبانی فارسی فریم ورک کیک پی اچ چی – cakephp

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

استقبال خوبی شد. تا اینکه یک روز متوجه شدیم دامین cakephp.ir در دسترس نیست. جویای مشکل که شدم متوجه شدم. به خاطر یک سری مشکلاتی که برای دوست عزیز مون زحمت ثبت  دامین رو کشیده بودند پیش اومده و قادر به تمدید یا ….. نیست. در کل امیدی به بازگشت به زودی نبود.

من هم سریعا دامین cake-php.ir رو به ثبت رسوندم و انجمن رو بالا آوردم. منتها نمی دونم چرا؟؟؟! اما انجمن اون حال و هوای قبل رو نداشت و شد محلی برای اسپمر ها.

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

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

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

 

اضافه کردن ترجمه یا ساب تایتل به ویدئو های خود در html5

یک پلاگین جی کوئری  به اسم cue-points  که با کمک html5 به شما این قابلیت رو میده که به ویدئو های خودتون ترجمه یا به عبارت درست (sub Title ) اضافه کنید.

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

[js]

$(document).ready(function(){
var slides = {5:"Hello World"}
cuepoint.init(slides);
cuepoint.play();
});
[/js]

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

پایان یک مشکل جهنمی، نحوه استفاده 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 بهره میگیرید فقط خط زیر را درج نمایید.

[css]
behavior: url(PIE.htc);
[/css]

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

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

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

#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 کنند و تشریف ببرند خونه و فردا که اومد سرکار از هموم نقطه ای که بوده ادامه دهنمد.
هر چقدر یک پروژه به صورت علمی و مدیریت شده و فاز به فاز در حال اجرا باشه، گواهی بر این نیست که شروع و پایان برنامه نویسی در ساعات مشخص امکان پذیره هست . گاهی برنامه نویسان در موقعیتی قرار میگیرند که نیاز هست کد نویسی را به صورت یک ضرب و پیوسته ادامه دهند تا به نتیجه برسند. حال این ادامه کار میخواهد در شرک یا منزل و یا در ساعات غیر کاری که هیچ تعهدی به انجام کار در این ساعات برای کارفرما ندارد باشد. اما حساسیت و موقعیت پروژه ایجاب میکنه که پروژه پیوسته انجامن میشه. در حدی غرق در کار شما می شوند که حتی خوردن نهار و شام رو هم فراموش می کنند. و یکباره می فهمند که خورشید طلوع کرده است.

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

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

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

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

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