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

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

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

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

آپدیت :

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

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

توابع تاریخ شمسی جهت استفاده در 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 قرار دادم.

 

قانون و منطق

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[html]
<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>
[/html]

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

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