برنامه نویسی و توسعه وب

یک Tooltip تر و تمیز و خیلی کم حجم

این روزا با غنی تر شدن سایت ها نیاز به تعبیه ویژگی های جدید همچون Tooltip بیش از پیش احساس میشه. از طرفی تنوع ویژگی ها و ویجت ها های جدید انتخاب رو کمی دشوار می کنه. یکی از مسائلی که همیشه در انتخاب المان های غنی کننده رابط کاربری وب سایت مهم هست مسئله حجم و سازگاری المان مد نظر هست. این بار قصد دارم تا یکی از این المان های پرکاربرد یعنی یک Tooltip ساخته شده با Javascript رو به شما معرفی کنم. این Tooltip با مرورگرهای مهم از قبیل IE, FF,Opera تست شده و سازگار هست و تنها حجمی برابر با 2 کیلوبایت داره که بسیار حائز اهمیت هست. این Tooltip به هنگام نمایان شدن و محو شدن از جلوه Fading استفاده می کنه که زیبایی کار رو دو چندان می کنه.

بیشتر از این توضیح نمی دم و شما رو به سایت سازنده هدایت می کنم:

سایت سازنده

یک Tooltip تر و تمیز و خیلی کم حجم بیشتر بخوانید »

GUI Design Studio ابزاری برای طراحی رابط کاربری برنامه ها

برنامه نویسی یکی از پردرآمدترین مشاغلی می باشد که امروزه بسیاری از افراد به آن مشغول می باشند. برنامه نویسان حرفه ای ماهیانه درآمد مناسبی را برای امورگذران زندگی خود از همین راه کسب می کنند. زبان های برنامه نویسی مختلف همانند C , VisualBasic , Delphi , perl و یا زبان های برنامه نویسی وب مثل PHP و یا ASP.net که مورد استفاده طراحان وب می باشد ، همگی به برنامه نویس توانایی هایی را می دهد که در زمینه کاری برنامه نویسی خود دارای ویژگی هایی می باشد. بسیاری از کاربرانی که قصد دارند تا برنامه نویسی را فرا گیرند بیشتر از زبان های برنامه نویسی شیء گرا همانند VisualBasic استفاده می کنند. بسیاری از وب سایت های موجود در اینترنت نیز با در اختیار قرار دادن سورس کدهای مربوط به زبان های برنامه نویسی مختلف به کاربران مبتدی در این زمینه یاری می رسانند.

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

GUI Design Studio نام نرم افزاری می باشد که به کمک آن کاربران قادر به طراحی شکل و فرم برنامه و کدنویسی آسان می باشند. عناصر ساخت برنامه به صورت کاملا گرافیکی در اختیار کاربران می باشد و بدون کدنویسی می توانند بسیاری از امکانات را بر روی برنامه خود قرار دهند. ساخت پروژه ها ، ساخت برنامه های به همراه درج مشخصات آن ها ، چگونگی ساخت روند یک برنامه و مسیر طراحی و برنامه نویسی و … از امکانات این نرم افزار می باشد. با استفاده از این نرم افزار در کنار زبان های برنامه نویسی مختلف برنامه نویسان مبتدی راحتتر قادر به حل مشکلات خود خواهند بود. این نرم افزار محصولی از شرکت Caretta Software می باشد.

سایت سازنده : Ceretta Software

منبع : P30World.com

GUI Design Studio ابزاری برای طراحی رابط کاربری برنامه ها بیشتر بخوانید »

آیا موفقیت زبان‌های برنامه‌نویسی با ریش و سبیل سازنده نسبت دارد؟

این تئوری تامیر خاسون است که در وبلاگش مطرح کرده. بگذارید ما هم نگاهی بیندازیم.

برای شروع باید رفت سراغ فرترن، آدا و سیمولا. نویسنده فرترن (جان باکوس) پارسال درگذشت. نویسنده آدا (جین ایشبیا) سه ماه قبل و نویسنده سیمولا هم کریستین نیگارد بود که در اثر سکته قلبی مرد. حالا نگاهی به ظاهر این افراد بیاندازید.

صورت هر سه سه تیغه و سفید است و زبان هایشان به تاریخ پیوسته. اما بریم سراغ f#. نویسنده این زبان یعنی دکتر دان سیم هم ریش و سبیل نداشت و در نتیجه زبان اختراعی‌اش را کمتر می‌شناسیم.

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

اما زبان‌های موفق چی؟ مثلا سی! این زبان را سه نفر به وجود آوردند: برایان کرنیقان، دنیس ریچی و کنت تامپسون. وضع اینها بهتر است و هنوز هم ریششان را حفظ کرده‌اند و سی هم هنوز با داشتن ۱۶٪ سهم بازار، یکی از مهمترین زبان‌های کامپیوتری است.

Obejctive C که توسط برند کوکس نوشته شد موفقیت چندانی نداشت و بعد هم Java+ او شکست خورد. من و شما دلیلش را می‌دانیم:

در مقابل C++ که در حال حاضر حدود ۱۸٪ صنعت را در اختیار دارد زبان بسیار موفقی بود که در حال حاضر در حال عقب نشینی در مقابل زبان‌های جدید است. بگذارید دقیق‌تر نگاه کنیم. این تصویر استراستوپ در روزهایی است که C++ را معرفی کرد:

و این هم عکس این روزهایش:

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

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

و البته این روزها بیسیک دیگر زبان مهمی نیست اما در شاخه‌هایی مثل Visual Basic هنوز زنده است و به همراه سبیل ، به زندگی به عنوان یک زبان ساده ولی ناکارآ ادامه می‌دهد:

حالا که بحث سبیل است، باید از زبان پرل یاد کنیم که با داشتن حدود ۶٪ بازار، یکی از زبان‌های مهم این روزها در سرورها به حساب می‌آید. این هم عکس لری وال، نویسنده آن:

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

ولی وضعیت #C و Java چیست؟ آندره هلسبرگ نه ریش دارد و نه سبیل و به همین دلیل سی شارپ بعد از چهار سال فقط چهاردرصد بازار را در اختیار گرفته و این، در پیک این زبان است و در نتیجه در سال‌های آینده امید چندانی برای این زبان وجود نخواهد داشت. در مقایسه به جیمز گاسلینگ و ریشش نگاه کنید و کشف کنید که چرا جاوا ۱۸٪ بازار را در اختیار گرفته.

دیگر چه؟ فهرستی دارم از زبان‌های جدید و احتمالا ناموفق.

مثلا RubyCLR که توسط سام رمجی ابداع شده و امیدی به مشهور شدن ندارد:

یا اسکات گاتری را ببینید که WPF و Silverlight را نوشته. البته در نوشتن اینها بقیه مایکروسافتی‌ها هم نقش دارند ولی به هر حال در مایکروسافت کسی پشمالو نیست.

شانس JSON در این میان از بقیه بیشتر است. امیدوارم دوگلاس کراکفورد به کار خوبش ادامه دهد.

پیش‌بینی سخت، پیش بینی در مورد زبان‌های جدید و ماجولار مثل Haskell است. در این مورد افرادی مثل سیمون پیتون جیمز، پاول هوداک و فیلیپ والدر همدیگر را خنثی می‌کنند و در نتیجه نمی‌شود در مورد موفقیت یا شکست این زبان پیش‌بینی صحیحی ارائه داد.

در پایان، PHP هم نباید فراموش شود. راسموس لردرف آدم مناسبی برای نوشتن این زبان بود و احتمالا هر زبان دیگری ابداع می‌کرد هم موفق می‌بود.

منبع

آیا موفقیت زبان‌های برنامه‌نویسی با ریش و سبیل سازنده نسبت دارد؟ بیشتر بخوانید »

افزایش کارایی فرم ها با بهره گیری از پیام های خود کار

در این خود آموز نحوه اضافه کردن پیام های خود کار به فیلد های یک فرم آموزش داده میشه. با استفاده از این تکنیک هنگامی که کاربر یک فیلد رو انتخاب کنه یک پیام حبابی با جلوه FadeIn ( ظاهر شدن) نمایان میشه و موقعی هم که تمرکز از فیلد مورد نظر گرفته بشه با جلوه FadeOut غیب میشه.

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

مرحله 1 : ضمیمه کردن کتابخانه های Scriptaculous

ابتدا یک فایل خالی html ( مثلا index.html ) رو ایجاد کنید و در قسمت Head اون کد زیر رو قرار بدین:

<script src=“scriptaculous/lib/prototype.js” type=“text/javascript”></script>

<script src=“scriptaculous/src/scriptaculous.js” type=“text/javascript”></script>
مرحله 2 : کد HTML
در این مرحله یک فیلد متنی به عنوان نمونه جهت جستجو یکی جهت ایمیل و یک فیلد مخفی دیگه با شناسه msgstatus در بدنه فایل HTML قرار میدیم. کار این فیلد مخفی نگه داشتن وضعیت نمایش کادر پیام هست.

<input type=“text” name=“name” id=name onfocus=javascript:showMsg(1)/>
<input id=“msgstatus” type=“hidden” value=“0” />
<div class=”msg” id=msg1 style=“display:none;”>
…some html code here…
<a href=“#” onClick=javascript:hideMsg(1)> Close </a>
<div/>

<input type=“text” name=“email” id=email onfocus=javascript:showMsg(2)/>
<input id=“msgstatus” type=“hidden” value=“0” />
<div class=”msg” id=msg2 style=“display:none;”>
…some html code here…
<a href=“#” onClick=javascript:hideMsg(2)> Close </a>
<div/>

توجه کنید که در قطعه کد بالا از تگ div برای نمایش کادر پیام استفاده میشه. حالا اگر نیاز داشته باشید که تعداد فیلد های بیشتری بسازین و برای هر کدوم هم یه کادر پیام مجزا بذارین باید قسمت ID هر تگ div رو به صورت افزایشی نامگذاری کنید. مثلا msg3 ، msg4 . از طرف دیگه باید شماره هر کادر رو هم با تابع showMsg اعلام کنید.

مرحله 3 : توابع Javascript

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

<script language=“javascript”>
function showMsg(idElement){
idEl= idElement;
statusMenu = document.getElementById(‘msgstatus’);
if(statusMenu.value==0){
statusMenu.value=1;
Effect.toggle(‘msg’+idEl, ‘appear’); return false;
}
}
function hideMsg(idElement){
idEl= idElement;
statusMenu = document.getElementById(‘msgstatus’);
if(statusMenu.value==1){
statusMenu.value=0;
Effect.toggle(‘msg’+idEl, ‘appear’); return false;
}
}
</script>
تمام شد! تبریک میگم به همین سادگی شما تونستید کارایی و قابلیت فرم های خودتون رو بالا ببرید و تجربه دلچسب تری رو برای کاربر نهایی رغم بزنید.

افزایش کارایی فرم ها با بهره گیری از پیام های خود کار بیشتر بخوانید »

تولید کلمه عبور تصادفی در 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 بیشتر بخوانید »