لینک کوتاه
دوشنبه , 28 اسفند 1391
22 دیدگاه
در روزهای پایانی سال 91 بد نیست نگاهی به کارنامه امسال خود بی اندازم .
چندماهه اول سال بنا به مشغله ای که داشتم فعالیت آنچنانی نداشتم اما در کل امسال ، سال خوبی بود .
امسال کار گرافیکی زیادی انجام ندادم ، همین وبلاگ فعلی ، سایت آهنگساز ، کارگاه خودم ، بخش ادمین و یوزر سایت میهن پال ، اسکریپت دانلود شاپ و چند پروژه کوچک کارنامه امسال من است .
در زمینه برنامه نویسی ، پیاده سازی بلاگ شخصی خودم ، کارگاه خودم ، اسکریپت دانلود شاپ ، وبسرویس پرداخت واسط ، سیستم اعلام نمرات آموزشکده زبان ، چندیدن سیستم فروش آنلاین و در آخر وبسرویس پرداخت واسط میهن پال ، که تاکنون فعالیت قابل قبولی از خود نشان داده .
امسال کاربا سیستم عامل اوبونتو هم چاشنی کارهام بود . همچنین فریم ورک دوست داشتنی Yii ، که فکر کنم بیس کاری چند سال آینده من باشد .
تحقیقاتی هم انجام دادم برای سویچ زبان برنامه نویسی خود به جاوا یا پایتون که در نهایت موکول میکنم به چند سال دیگه .
و در آخر امیداورم سال جدید ، سالی خوب و پراز پیشرفت های گوناگون برای همگی باشد .
لینک کوتاه
چهارشنبه , 25 بهمن 1391
5 دیدگاه
کلمه استاتیک از اسمش پیداست یعنی ایستا و بدون تغییر و ما میخواییم از این خاصیت استفاده بهینه کنیم .
فرض کنید یک تابع قرار هست بسازید که اطلاعات کاربر فعلی رو از دیتابیس بخونه .
function currentUser()
{
@session_start();
$user_id = (int) $_SESSION['user_id'];
$qr = mysql_query("SELECT * FROM `user` WHERE `id`={$user_id} ");
$result = mysql_fetch_row($qr);
return $result;
}
حال در جای جای اسکریپت از تابع currentUser استفاده میکنید .
مثلا یه جا برای گرفتن نام کاربر فعلی ، یه جا برای نمایش ایمیل و ...
مساله ای که اینجا مطرح هست این است که با هر بار استفاده از تابع currentUser دستور کوئری اجرا خواهد شد پس به تعداد تکرار این تابع
دستور کوئری تکراری خواندن اطلاعات اجرا خواهد شد و این یک کار بیخود هست .
خب با کمک یک متغییر استاتیک این مساله رو حل میکنیم :)
تابع بالا رو به شکل زیر بنویسید
function currentUser()
{
static $result ;
if( ! empty($result))
return $result;
@session_start();
$user_id = (int) $_SESSION['user_id'];
$qr = mysql_query("SELECT * FROM `user` WHERE `id`={$user_id} ");
$result = mysql_fetch_row($qr);
return $result;
}
دستور بالا را بررسی کنید ، ساده است ، با اولین بار استفاده از تابع ، متغییر result بررسی میشه که آیا خالی هست یا خیر که مسلماً در اولین بار
فاقد مقدار خواهد بود ، در خطهای پائین این متغییر ست میشود و برای دفعات بعد مقدار ست شده برگردانده میشود و نیازی نیست کوئری اجرا شود .
به همین سادگی :)
لینک کوتاه
پنجشنبه , 28 دی 1391
17 دیدگاه
قضیه سئو که الان باب صحبت هر محافلی شده در مواردی صحبت از آدرسهای کاربرپسند داره .
پیاده سازی آدرسهای مناسب و شبه استاتیک غالباً با استفاده از ماژول rewrite آپاچی قابل پیاده هست (apache_mod_rewrite) که دستوارت را در فایل htaccess. نوشته میشود .
حال اگر بنا به دلایلی نشود از این قابلیت استفاده کرد میشود باز هم با پی اچ پی آدرسهایی مناسب رو تولید کرد که تنها یک تفاوت دارند و آن هم داشتن عبارت index.php در میان آدرس تولیدی هست .
بطور مثال :
http://example.org/index.php/user/id/1
http://example.org/index.php/post/id/1
http://example.org/index.php/site/post/first-post
http://example.org/index.php/site/page/about
http://example.org/index.php/site/category/example/page/2
پیاده سازی این نوع آدرس دهی نیازمند رعایت چند اصول ساده است که براساس برنامه نویسی شی گرا قابل پیاده است .
اکثر فریم ورکهای پی اچ پی که تحت معماری MVC پیاده شده اند ، چنین قابلیتی را ارئه میدهند حتی بیشتر (تنظیمات روتر بصورت دلخواه) .
در ادامه با من باشید تا چنین روشی رو با هم پیاده کنیم .
ادامه مطلب ...
لینک کوتاه
سه شنبه , 05 دی 1391
36 دیدگاه
توی چندین انجمن تاپیک هایی رو دیدم که افرادی که تازه برنامه نویسی رو شروع کرده اند ، عنوان میکردند که برای استارت یک پروژه نمیدونن از کجا شروع کنن ، منم فرصت رو غنیمت شمردم و این 10 قدم رو برای شروع تا پایان یک پروژه پیشنهاد میکنم .
قدم اول : مشخص کردن ایده ، هدف
قدم دوم : بررسی امکانات مورد نیاز
قدم سوم : طراحی UI برنامه (رابط گرافیکی)
قدم چهارم : پیاده سازی دیتابیس روی کاغذ
قدم پنجم : پیاده سازی دیتابیس و جداول
قدم ششم : شروع کد نویسی
قدم هفتم : بازنگری نهایی
قدم هشتم : بارگزاری سایت
قدم نهم : تائید نهایی
قدم دهم : افزایش اطلاعات
در ادامه در مورد هر کدام توضیحاتی میدهم .
ادامه مطلب ...
لینک کوتاه
شنبه , 02 دی 1391
31 دیدگاه
سلام
بعد از مدتی یه وقت کوتاهی پیدا کردم و یه سیستم نوشتم برای وبلاگ خودم .
همانطور که میدونید(یا شایدم نمیدونید) وبلاگ قبلی با استفاده از وردپرس بود ، سیستمی که از همان اوایل کار من ، یکی از پر استفاده ترین ابزارهای کارم بوده .
بطور کل خیلی چیزها از استفاده کردن از این سیستم یاد گرفتم اما دیگه وقت تغییر بود .
دلیل خاصی نداشتم برای تغییر سیستم ، فقط اینکه وردپرس امکانات زیادی داشت که به درد این وبلاگ نمیخورد ، بار اضافی هم مثل همیشه سردرد داره .
این وبلاگ رو با استفاده از فریم ورک Yii پیاده کردم ، که یکی از فریم ورک های خوب php هست .
اینبار تصمیم گرفتم از یه طرح کلاسیک استفاده کنم ، ولی خودمونیم قالب قبلی ، خداییش محشر بود !
امیدوارم این تغییر باعث بشه بیشتر تشویق بشم بنویسم ، والبته اگه وقت کنم !
مطالب وبلاگ قبلی رو تاحدی انتقال دادم روی این ، اگه عمری باقی باشه ، در خدمتتون هستیم برای بقیه اش .
راستی اگه توی لینکدونی ، آدرس کسی رو یادم رفته بذارم بهم گوشزد کنید !
لینک کوتاه
شنبه , 29 مهر 1391
5 دیدگاه
عنوان این مطلب شاید یه کمی گول زننده باشه ، شاید دنبال این باشید یه مقاله پر و پیمون واسه دانشگاتون گیر آوردین و ...
اما از این خبرا نیست :)
اصولاً من وقتی برنامه نویسی میکنم ، آهنگ گوش میدم . خب یه نتیجه گیری جز به کل داشته باشیم میشه گفت اکثر برنامه نویس ها موقع کار ، آهنگ گوش میدن !
خودمونیم ما ایرانی ها ، هر چیزی رو گوش میدم در حالیکه هر چیزی لایق شنیدن نیست .
خواستم بگم این آهنگ دکتر آرند استین رو دانلود کنید .
لذت اولین بار شنیدنش وصف نشدنیه ! امیدوارم یاد بگیرید من بعد به چی گوش بدین .
لینک دانلود
لینک کوتاه
یکشنبه , 01 مرداد 1391
دیدگاهها بسته است
بعد از غیبتی طولانی اومدم یه سلام تپل بدم و برم سراغ یه چیزی که به درد همتون میخوره .
حقیقتش میبینم که در وبلاگستان فارسی خیلی ها هستن که افزونه ها رو فارسی میکنن ، معرفی میکنن و ... اما حقیقتش کمتر کسائی هستن که خودشون بیان افزونه بنویسن و من دوست دارم ایرانی جماعت توی این زمینه حرفی واسه گفتن داشته باشه !
ماشاالله این روزها هر سایتی میری همه طراح شدن و قالب میزنن اونم از نوع بد و خوبش ، اینجاست که یه چیز جدید یاد گرفتن واقعاً میچسبه!
سرتون رو در نیارم برای ساخت افزونه وردپرس یه کمی اطلاعات باید داشته باشید .
Html ,Css در حد متوسط به بالا و php در حد متوسط بلد باشین کافیه یه چند خط Sql هم میخواین که خدا بزرگه البته اینو اضافه کنم که یک ایده تپل قابل اجرا هم لازمه!
در ادامه یک سری از توابع وردپرس که راست دست کار ماست رو معرفی میکنم و در مطلب آتی انشاالله یک افزونه رو با هم مینویسیم تا یک کار عملی هم کرده باشیم .
در ادامه با من باشید ...
ادامه مطلب ...