زبان PHP

برای یادگیری طراحی و توسعه وب از کجا شروع کنم؟

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

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

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

تفاوت طراحی وب با توسعه وب

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

برای مشاهده اینفوگرافیک در سایز اصلی کلیک کنید
برای مشاهده اینفوگرافیک در سایز اصلی کلیک کنید

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

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

بخش اول – طراحی وب

گام اول – فراگیری HTML/CSS با کتاب Build Your Own Website The Right Way

با مطالعه این کتاب شما به خوبی با اصول HTML آشنا خواهید شد و در ادامه مباحث CSS به روند آموزشی با مثال های عملی اضاف خواهد شد. این کتاب کاملا مناسب افراد مبتدی است و مسائل رو با بیانی شیوا و روان برای مخاطب خودش بیان می کنه. در خاتمه کتاب شما تا سطح متوسط بالا خواهید اومد و توانمندی انجام کارهای خوبی رو خواهید داشت.

کتاب Build Your Own Website The Right Way
کتاب Build Your Own Website The Right Way

برای مشاهده سایت منتشر کننده این کتاب کلیک کنید

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

برای یادگیری طراحی و توسعه وب از کجا شروع کنم؟ بیشتر بخوانید »

افزونه لینکدونی myLinksDump – نسخه نهایی

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

تصاویری از افزونه:

[slideshow]

ویژگی های افزونه:

– قابلیت درج لینک در کنترل پنل وردپرس بدون نیاز به ابزار یا سایتی واسط
– شمارنده تعداد بازدید ها برای هر لینک
– ابزارک اختصاصی جهت استفاده در قالب های سازگار با ابزارک
– بخش تنظیمات جهت پیکربندی کارکرد افزونه
– قابلیت جستجو و مرتب سازی لینک های درج شده در سیستم به منظور مدیریت هر چه بهتر
– درج لینک خارج از محیط وردپرس و در طی وبگردی
– صفحه آرشیو
– نوار بالایی همچون سایت های p30download.com به آیکن های ارسال لینک به سایت های اشتراک گذاری لینک
– خروجی RSS جهت به اشتراک گذاری لینکدونی و مفید برای دیگران جهت درج در وبلاگ و سایت خود
– درج نوار افقی قابل پیکربندی در بالای صفحه لینک در هنگام تماشای لینک توسط کاربر
– قابلیت ارسال لینک به سایت های اشتراک گذاری لینک همچون دیگ و بالاترین و…
– ارائه نسخه فارسی جهت استفاده هر چه بهتر فارسی زبانان
– امکان پیشنهاد لینک توسط کاربران سایت و تایید آن از جانب مدیر سایت
– امکان حذف و تایید دسته جمعی لینک ها در پنل مدیریت
– نمایش آمار بیشتر در پنل مدیریت برای مدیر سایت
– قابلیت دریافت کد لینکدونی برای کاربران علاقه مند جهت درج در دیگر سایت ها
– آگاه سازی مدیر سایت توسط ایمیل از لینک های جدید ارسال شده

سرور اصلی ورپرس:

Click to  Download

نکته 1: مراحل نصب در فایلی PDF تحت نام persian_readme.pdf در بسته افزونه قرار داده شده است.

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

English Description

You can make link dump of favorite links you visit regularly. This plug-in can record number of visitors who click on each link. You can also have a bar called Branding bar on top of destination URL to personalize and publicize your blog. on the other side there are some options that you can change to customize your link dump behavior. If you prefer widget to display your link dump then you can activate myLinksDump widget.

You can add link to your links dump while you are surfing web using your browser. In order to do this, bookmark generated link(in setting pane) and press it when ever you see a good link. When you press this bookmark, you’ll be presented with pop-up window filled with the URL and title of the link you’ve just saw. By the time you did this, you can type your remark on that link and press Add My Link! button.

Thanks to myLinksDump RSS output you can share your links with others and let them to put your links dump on their blogs or sites. Required .po file is also available for localization. So if you like to do so then please e-mail your .mo file to ham55464@yahoo.com to be put in plug-in distribution package.

Installation

1. Upload `myLinksDump` folder to the `/wp-content/plugins/` directory.
2. Move myLDAdd.php, myLDlinker.php and myLDRSS.php files from myLinksDump/extra
folder to your wordpress installation root where your wp-config.php is.
3. Activate the plugin through the ‘Plugins’ menu in WordPress.
4. Place `<?php echo myLinksDump_show() ;?>` in your templates. if you prefer you can use [myLinksDump] shortcode instead.
5. If you want archive page, then make normal page and find its ID and then go
to myLinksDump setting page and enter it in Archive Page ID field. Finally
place `<?php myLinksDump_Archive() ;?>` in page.php of your theme.
6. You can also activate plug-in’s widget if you like.
7. Some configuration options will be available under setting pane.

تغییرات:

5 بهمن 1389:

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

– اضافه شدن ویژگی “فرمت شمارنده” دربخش تنظیمات افزونه. در حالت پیشفرض چنانچه مدیر سایت گزینه نمایش تعداد کلیک را برگزیده باشد، آمار تعداد کلیک ها محصور مابین یک جفت پرانتز در انتهای هر لینک به نمایش در می آید. حال اگر مایل به تغییر فرمت نمایش این آمار باشید می توانید از بخش “فرمت شمارنده” در بخش تنظیمات لینکدونی به افزونه دستور دهید تا مدل مد نظر شما را به نمایش در آورد. در ادامه عبارت نمایشی مد نظر خود را که حتما می بایست حاوی کاراکتر سمبلیک # باشد در کادر فرمت شمارنده درج کنید و تنظیمات را ذخیره کنید. به عتوان مثال اگر بخواهیم فرمت را به صورت [11 کلیک] نمایش دهیم باید در بخش فرمت عبارت [# کلیک] را درج کنیم.

– دو تغییر کوچک در سر کد افزونه به منظور افزایش امنیت افزونه.

– افزودن ویژگی shortcode به افزونه. بدین ترتیب که هر جا و هر موقع (اعم از صفحه ها یا نوشته ها) که مایل بودید با درج کد زیر(shortcode) در ویراستار، به وردپرس دستور دهید تا بلوک لینکدونی را نمایش دهد. فرق حالت اول (درج کد از طریق سرس قالب) با این حالت دوم در این است که در حالت دوم شما تنها می توانید بلوک لینکدونی را از جاهایی که وردپرس اجازه درج محتوا از طریق ویراستارش را می دهد قرار دهید. اما در روش اول شما می توانید هر جای قالب که خواستید بلوک را درج نمایید.

13 مرداد 1389:

– یکپارچه سازی گزینه های مدیریت افزونه لینکدونی در یک منوی یکپارچه و مجزا در پنل مدیریت
– اصلاح چند مشکل ریز در ابزارک افزونه به همراه اصلاح یک مشکل امنیتی

22 فروردین 1389:

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

29 شهریور 1388:

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

– امکان حذف و تایید دسته جمعی لینک ها در پنل مدیریت

– نمایش آمار بیشتر در پنل مدیریت برای مدیر سایت

– قابلیت دریافت کد لینکدونی برای کاربران علاقه مند جهت درج در دیگر سایت ها

– آگاه سازی مدیر سایت توسط ایمیل از لینک های جدید ارسال شده

– رفع برخی اشکالات جزئی

5 خرداد 1388:

– شمارنده کلیک برای لینک ها در RSS قرار داده شد که کسانی که از RSS بهره می برن کلیک هاشون در سیستم ثبت بشه.
– مشکل ویژگی صفحه بندی در بخش آرشیو لینکدونی اصلاح شد تا پیمایش بین صفحات آرشیو لینکدونی به خوبی صورت بگیره.

10 فروردین 1388:

– اشکال درج لینک هایی که حاوی کاراکتر های فارسی و غیر لاتین بودند حل شد.
– اشکال RSS لینکدونی برای حالتی که RSS خالی نمایش داده می شد حل شد.

گزارش اشکال و پیشنهاد:

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

 

حرف آخر:

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

در پایان جا داره تا از دوستان خوبم یعنی maxpal97 ، patriot و p30Geek بابت همکاری های صمیمانشون تشکر ویژه داشته باشم. از سایر دوستانی که در تست و اشکال یابی افزونه هم مشارکت داشتن سپاسگذاری می کنم. به امید پیشرفت جامعه ورد پرس فارسی. این افزونه رو تقدیم می کنم به همه دوستام و جامعه کاربران وردپرس فارسی.

افزونه لینکدونی myLinksDump – نسخه نهایی بیشتر بخوانید »

[نسخه آزمایشی] بالاخره افزونه استاندارد لینکدونی ساخته شد

سلام بر یاران وردپرسی،

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

وِیژگی های افزونه به اختصار:

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

تصاویری از این افزونه:

این افزونه ضمنا برای کاربران بومی سازی هم شده و نیازی به فارسی کردن هم نداره. برای دریافت نسخه دوم به این آدرس مراجعه کنید:

http://forum.wp-persian.com/topic/3200?replies=13#post-24449

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

[نسخه آزمایشی] بالاخره افزونه استاندارد لینکدونی ساخته شد بیشتر بخوانید »

تولید کلمه عبور تصادفی در PHP

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

<?php

function make_password($num_chars) {
if ((is_numeric($num_chars)) &&
($num_chars > 0) &&
(! is_null($num_chars))) {

$password = ;
$accepted_chars = ‘abcdefghijklmnopqrstuvwxyz1234567890’;

// تغذیه کردن مولد پسورد که در نسخه های قدیمی پی اچ پی مرسوم هست
srand(((int)((double)microtime()*1000003)) );

for ($i=0; $i<=$num_chars; $i++) {
$random_number = rand(0, (strlen($accepted_chars) –1));
$password .= $accepted_chars[$random_number] ;
}

return $password;
}
}
?>

همون طور که مشخص هست این تابع نیاز به یک پارامتر ورودی داره که وظیفش مشخص کردن طول رشته کلمه عبور تولیدی هست. وقتی که تابع مقدار طول رشته رو دریافت میکنه ابتدا اون رو بررسی میکنه که مقداری عددی و بزرگتر از صفر باشه. در ادامه متغیر password$ اماده سازی میشه. پس از اون بازه حروف و اعداد توسط متغیر accepted_char$ تعریف میشه که در نهایت مولفه های کلمه عبور تولیدی از بین همین موارد انتخاب خواهند شد. شما می تونین موارد دلخواه خودتون از جمله حروف بزرگ لاتین و سایر کاراکتر ها رو به این رشته اضاف کنید.

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

تولید کلمه عبور تصادفی در PHP بیشتر بخوانید »

jPOP، فریم ورک کوچک AJAX ای

Rich Internet applicationjPOP یک فریم ورک کوچک نوشته شده به زبان PHP است که هدف از خلقش ایجاد سهولت در تولید برنامه های غنی اینترنتی (RIA) با بهره گیری از تکنولوژی AJAX است. با استفاده از این فریم ورک کوچک امکان ساخت سریع برنامه های تعاملی مبتنی بر وب بدون دانستن Java Script و حتی PHP فراهم می شود. بنابراینبه راحتی می شه صفحات وب ساخته شده رو تبدیل به یک برنامه تعاملی و غنی کرد که این روز ها در حال رشد و شکوفایی هستن.

تمرکز jPOP بر روی تکنولوژی AJAX هست و به همین منظور چند تابع ساده رو ارائه کرده تا کار رو به ساده ترین وجه ممکن بشه صورت داد. یکی از دغدغه هایی که به هنگام توسعه برنامه غنی مبتنی بر تکنولوژی AJAX به میون میاد، حجم نسبتا بالای فریم ورک های استفاده شده هست که باعث میشه زمان بارگذاری صفحه کمی بیشتر بشه. اما این فریم ورک کوچک این مشکل رو نداره و دارای تنها حجمی برابر با 12 کیلوبایت هست که بسیار مطلوب هست. همون طور که گفتم استفاده از این فریم ورک بسیار ساده هست و با صرف تنها چند دقیقه وقت میشه نحوه استفاده رو فرا گرفت. برای مطالعه بیشتر لطفا به سایت رسمی اون که در زیر اومده مراجه کنید.

Download jPOP AJAX Framework

jPOP، فریم ورک کوچک AJAX ای بیشتر بخوانید »