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

۲۳ دی ۱۳۸۸ ۱۰ دیدگاه

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

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

معنای نیمه شب ها برای یک برنامه نویس با نیمه شب انسان های عادی تفاوت دارد . نیمه شب برای یک برنامه نویس یعنی ۱۰ صبح برای یک انسان عادی

یک برنامه نویس همیشه تعدادی لغات تخصصی در آستین دارد که میتواند با سر هم کردن آنها دیگران را گیج کند

برای یک برنامه نویس هیچ راه حلی بالاتر از 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

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

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

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

Vote on iDevCenter

قانون و منطق

۱۰ خرداد ۱۳۸۸ ۶ دیدگاه
دانشجویی پس از اینکه در درس منطق نمره نیاورد به استادش گفت: قربان، شما واقعا چیزی در مورد موضوع این درس می دانید؟

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

استاد قبول کرد و دانشجو پرسید: آن چیست که قانونی است ولی منطقی نیست، منطقی است ولی قانونی نیست و نه قانونی است و نه منطقی؟
استاد پس از تاملی طولانی نتوانست جواب بدهد و مجبور شد نمره کامل درس را به آن دانشجو بدهد.

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

همسر شما یک معشوقه ۲۵ ساله دارد که منطقی است ولی قانونی نیست. و این حقیقت که شما به معشوقه همسرتان نمره کامل دادید در صورتیکه باید آن درس را رد میشد نه قانونی است و نه منطقی

منبع : یادم نمیاد

بازگشت دوباره من

۱۴ فروردین ۱۳۸۸ ۸ دیدگاه

بعد از ۱ سال و نیم  دوری از نوشتن و لاگ کردن تصمیم رو جدی کردم که برگدم و شروع کنم با لاگ کردن، این روزها من هم مثل دیگران خیلی درگیری دارم  اما در سال جدید میخوام برای وبلاگم وقت بزارم و آموزش جی کوئری شروع کنم . همینظور هم در مورد cakephp و کلا php هر چیزی که یاد میگیرم رو اینجا به اشتراک بزارم.

البته فعلا اینجا یک کمی کار داره ، یواش بواش ردیفش میکنم

نحوه نصب و راهندازی jquery

۲۳ بهمن ۱۳۸۶ ۱۴ دیدگاه

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

در حالت کلی سه مدل برای دانلود وجود دارد :
۱-  Minified : که خیلی فشرده شده و برای استفاده تجاری استفاده میشه و ۱۵ کیلوبایت هم می باشد.(به دلیل لود شدن سریع)

۲- Uncompressed : که به صورت غیر فشرده هست و حجمش حدود ۹۴ کیلو بایت می باشد. و برای توسعه یا فراگیری مورد استفاده قرار میگیرد.

۳- Packed :  حجمی حدود ۲۹ کیلوبایت داره و به صورت gzip فشرده نشده

در حال حاضر آخرین نسخه jquery ورژن ۱.۲.۳ هست.

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

طریق نصب در صفحات همانند کد های زیر می باشد.

اما نحوه نوشتن کدها : در ۲ حالت ما میتونیم کدهای خودمون رو بنویسیم ۱. به صورت inline : یعنی کدها رو در همون صفحه تایپ کنیم. من پیشنهاد میدم از این روش کمتر استفاده کنید. و سعی کنید زمانی استفاده کنید که کد مربوز به همین صفحه باشه. اگر قرار کد یا تابعه ای که می نویسید در صفحات دیگر هم استفاده شوند. حتما از روش دوم استفاده کنید. ۲. به صورت  external :  در این حالت شما یک فایل با پسوند sample.js  ایجاد میکنید. و تمامی کد های خود را در این فایل مینویسید. و سپس فایل sampale.js را در صفحات خود فراخوانی میکنید. بصورت زیر :

<html>
<head>
<script type="text/javascript" src="path/to/jquery.js"></script>
<script src="path/to/sample.js" type="text/javascript"></script>
</head>
<body>
<a href="http://jquery.com/">jQuery</a>
</body>
</html>

و یک پیشنهاد دیگر سعی کنید تمام کد هاتون به صورت تابع نوشته بشه . تا بهینه تر بتونید استفاده کنید.

خوب ما موفق به نصب جی کوئری شدیم. فردا اولین کد خودمون را خواهیم نوشت

مقدمات یادگیری JQUERY

۲۲ بهمن ۱۳۸۶ ۱ دیدگاه

همینطور که میدونیم JQUERY یک کتابخانه جاوا اسکریپت هست . پس نیاز هست مقداری آشنایی با این زبان کلاینت ساید داشته باشید.

اما از همه مهمتر  شما باید با تگ ها و المنت های html و xhtml  آشنایی داشته باشیم. در این پست سعی می کنم موارد ضروری، که باید حتما بلد باشید رو مختصری توضیح میدهم!!

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

۱- صفات (Attribute’s) : شامل صفت هایی هستند که ما به عنصرهای داخل صفحات میدهیم. مانند title,dir,lang, hight,widthو
name ……


<div dir="rtl" lang="fa" title="hello"></div>

نکته : در خیلی از عنصر ها صفات خاص دارند یا صفاتی که در سایر عنصر ها هستند رو ندارند.

۲- شناسه یکتا ( ID ) : ما می توانیم به هر عنصر یک شناسه یکتا اختصاص بدیم تا بتونیم به راحتی از سایر عنر های هم نوع شناسایی و انتخاب کنیم


<div id="maindiv"></div>

3- کلاس (class) : تعریف کلاس هم یک نوع شناسه هست. هم میتواند یکتا باشد. هم یکتا نباشد. و بیشتر در صفحاتی که بر پایه css طراحی می شود استفاده می شود.


<div class="hidediv"></div>

4- سبک (style) : به کمک این صفت می توانید صفاتی که برای ظاهر عنصر مورد استفاده میگیرند رو در این صفت و inline قرار بدید


<div style="width:30px; height:40px; background:#CCCCCC;"></div>

سوال اینجاست اینها به چه درد ما میخوره؟!

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

در مطلب بعدی خواهیم دید که ما توسط jquery  چه طور به کمک موارد بالا یعنی شناسه ها ، کلاسها یا نوع عنصر به راحتی عنصر مورد نظرمون رو پیدا خواهیم کرد.

JQuery (جی کوئری) چیست

۲۱ بهمن ۱۳۸۶ ۷ دیدگاه

JQuery یک فریمورک جاوا اسکریپت می باشد. اما اصلاً یک فریمورک چیست؟ و فقط مورد نیاز یک برنامه‌نویس است یا یک طراح وب هم می‌تواند از آن بهره ببرد؟

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

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

ادامه ی نوشته

بروز رسانی شمارنده مطالب + امکانت جدید برای موبل تایپ ۴

۲۰ بهمن ۱۳۸۶ ۲۷ دیدگاه

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

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

اما در امتی ۴ لیست بیشترین بازدید قابل استفاده نیست. به همین دلیل به فکر ایجاد یک هک دیگه برای امتی ۴ شدم. که امکاناتی بیشتر از یک شمارنده داشته باشه.

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

تغییرات انجام شده عبارت است :

شمارنده مطلب : (بهینه شده)

نمایش شمارنده :( بهینه شده)

تاپ اینتری یا لیست بیشترین بازدید : (اضافه شده در این نسخه)

مطالب اتفاقی : (اضافه شده در این نسخه)

ادامه ی نوشته

هک تاریخ شمسی برای امتی ۴

۴ بهمن ۱۳۸۶ ۱۷ دیدگاه

چندیس به پچه های فروم امتی قول دادم که هک هایی که برای امتی ۴ آماده کرده ام رو براشون انتشار بدم.امروز اولین هدیه خودم رو به این دوستان تقدیم میکنم
هک تاریخ شمسی برای امتی ۴ :
این هک به کمک پلاگین تاریخ شمسی که میلاد راستین برای php نوشته تهیه شده. دو تابع کوچیک به اون اضافه کردم تا تاریخ های امتی بیشتر نزدیک بشه.
مراحل نصب و استفاده :
۱- دانلود این هک : کلیک کنید
۲- این فایل رو در روت وبلاگ از حالت فشرده خارج کنید
۳- حالا قالب مورد نظر رو باز کنید و در اولین خط دستورات پی اچ پی زیر رو قرار دهید

<?php include("pdf.php"); ?>

4- بعد از انجام مرحله بالا حالا نوبت به تغییر تگ های تاریخ هست مافیست فقط بجای تگ های زیر معادل آنها رو قرار بدید
: تاریخ اینتری ها

<? pdmtd( '<MTEntryDate format="%y-%m-%d">',1 ); ?>

<$MTArchiveTitle$> : تاریخ آرشیو های ماهانه

<? pdmtm( '<$MTArchiveTitle$>',1 ); ?>

تموم شد. حال کافیست صفحات رو مجددا بازسازی کنید.
۲ نکته باقی می مونه ، ۱- در هر تابه مقدار عددی ۱ قرار دارد. این مقدار یعنی ۱ یعنی تاریخ رو به صورت فارسی (یونیکد) نمایش بده و اگر ۰ قرار بدهیم تاریه های به صورت اینگلیسی نمایش داده می شود
نکته دوم در آرشیو های ماهانه و کتگوری باید از تگ <$MTBlogSitePath$> برای آدرس دهی روت وبلاگ استفاده کنید.
امید وارم مورد استفاده شما دوستان قرار گیرد.


لینک فایل تصحیح شد.

شروع میکنم با بیان بسمه الله نور

۳ بهمن ۱۳۸۶ Comments off

بسمه الله نور

خیلی وقته دلم می خواست که وبلاگ نویسی کنم؟! اما در باری چه موضوعی نمی دونستم. دوست داشتم همیشه یک چیزی رو آموزش بدم. اما چی؟ نمی دونستم.

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

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

به امید خدا شروع میکنم.