Skip to Content

بلاگ

نصب و پیکربندی MongoDB

نصب و پیکربندی MongoDB

در این مقاله قصد داریم نحوه نصب و پیکربندی MongoDB را به شما آموزش دهیم.

نصب و پیکربندی MongoDB

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

دانلود MongoDB:

نصب MongoDB:

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

سرور MongoDB در مسیر زیر، قرار گرفته است:

پیکربندی MongoDB و کار باshell مربوط به آن:

بعد از نصب MongoDB روی ویندوز، باید MongoDB Shell را باز کنیم تا MongoDB Server را مدیریت کنیم. برای کار با Shell مراحل زیر را انجام می دهیم.

1. مسیر MongoDB را با استفاده از متغیر محلی Path برای کاربر تنظیم می کنیم.

در مقدار این متغیر، فقط با استفاده از یک سمی کالن، مسیر نصب MongoDB خود را به همراه فولدر bin اضافه می کنیم، مانند نمونه ای که وارد کردیم:

C:\Program Files\MongoDB\Server\3.0\bin

2. Command Prompt را باز کرده و به فولدر bin در دایرکتوری محل نصب MongoDB می رویم.

1
cd C:\Program Files\MongoDB\Server\3.0\bin

3. سرور MongoDB را با تایپ mongod.exe اجرا می کنیم.

اگر این کار را درست انجام داده باشیم، سرور MongoDB به صورت زیر اجرا می شود.

4. Command Prompt دیگری باز کرده و کامند زیر را وارد می کنیم:

1
mongo

Shell مربوط به MongoDB به صورت زیر می باشد:

با استفاده از کامند help می توانید اطلاعات بیشتری درباره MongoDB Shell به دست آورید.

به این ترتیب، MongoDB برای مدیریت و کوئری زدن روی دیتابیس آماده است.

ادامه مطلب

زبان PHP چیست ؟

زبان PHP چیست ؟

 زبان PHP چیست ؟ 

PHP  (PHypertext Preprocessor) که در ابتدا مخفف (Personal Home Page) بود، یک زبان قدرتمند اسکریپت نویسی(open source) تحت وب و سمت سرور است و برای ساخت وب سایت های پویا و داینامیک مورد استفاده قرار میگیرد .

php  یکی از پر طرفدارترین زبان های اسکریپت نویسی است( php زبان برنامه نویسی نیست.)
زبان php برای سایتهایی که کاربران زیاد و ترافیک بالایی دارد  و به روزرسانی به صورت مرتب انجام میشود، مناسب است .

زبان PHP چیست ؟

زبان PHP چیست ؟

 

زبان اسکریپت نویسی چیست و چه تفاوتی با زبان برنامه نویسی دارد ؟

در زبان اسکریپت نویسی کد های نوشته شده مثل زبان برنامه نویسی کامپایل نمیشوند، به این معنی که هرگاه بخواهیم میتوانیم کدها را تغییر داده و محتوای صفحه را تغییر دهیم.

Php  در حقیقت توسط زبان برنامه نویسی C نوشته و کامپایل شده است و اسکریپت های نوشته شده توسط هسته php  پس از کنترل اجرا میشود.

تفاوت اصلی این دو در این است که ابتدا زبان برنامه نویسی نوشته شده و کامپایل میشود(دیگر تغییر نمیکند) ، سپس زبان اسکریپت نویسی با استفاده از زبان برنامه نویسی  و بر پایه ی آن کد نویسی میکند(میتوانید تغییر دهید.)

زبان PHP چیست ؟

PHP چگونه کار میکند ؟

دستورات و کد های زبان php   بین کد های html  قرار میگیرد.( Html embeded)

کد های php  روی سرور تفسیر شده و خروجی قابل مشاهده برای کاربر میدهد (مثل Html)

فایل های php  حاوی اسکریپت ، تگ html  و متن است، در هنگام اجرای اسکریپت توسط کاربر ، کدهای Html  را میبیند ولی  کدهای php  برای او قابل مشاهده نمیباشد.

در حقیقت php  بر اساس درخواستی که کاربر از طریق صفحه Html  که برای او قابل دسترسی است، میفرستد اطلاعات را از پایگاه داده خوانده و به کاربر پاسخ میدهد.(پایگاه داده و php  سمت سرور است و html  سمت کاربر)

زبان PHP چیست ؟

مراحل کار به این شکل است که ابتدا کاربر درخواست خود را ارسال میکند (مثل درخواست مشاهده یک صفحه از سایت ، از طریق کلیک روی لینک یا وارد کردن آدرس سایت)

سپس مرورگر سرور را با استفاده از  DNS پیدا میکند و درخواست را به آن ارسال میکند.

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

زبان PHP چیست ؟

منظور از سمت سرور چیست ؟

اسکریپت ها و دستورها روی سرور اجرا میشود و کاربر امکان ویرایش یا دخالت روی آن را ندارد (صفحات وب سایت روی سرور نگهداری میشود و در صورت درخواست کاربر به مرورگر کاربر منتقل میشود.)(مثل :   asp , php)

منظور از سمت کاربر چیست ؟

اسکریپت ها و دستورها روی مرورگر اجرا میشود و کاربر امکان ویرایش یا دخالت روی آن را دارد) مثل : ( HTML,JS )

زبان PHP چیست ؟

برخی از ویژگی های زبان PHP :

  1. Php قابلیت اجرا روی هر سیستم عاملی را دارد (منظور سیستم عامل روی سرور است)
  2. انتقال برنامه از یک سیستم عامل به سیستم عامل دیگر گاه بدون تغییر و گاهی با تغییرات اندک به راحتی امکان پذیر است.
  3. قابلیت پشتیبانی از واسط خط فرمان را بعد از نسخهٔ ۴٫۳ دارا است (برای ایجاد نرم افزرا های خارج از وب و نرم افزارهای با واسط گرافیکی کاربر استفاده میشود.)
  4. شکل پذیری فوق العاده
  5. همگونی با اغلب بانک‌های اطلاعاتی از جمله MySQL
  6. قابلیت استفاده از php به جای زبان‌هایNET و JSP و Perl
  7. رایگان است.
  8. با اغلب کارگزارهای وب (Web Server) معروف، قابل اجراست.
  9. امنیت بالایی دارد.
  10. منبع باز بودن (باعث سرعت و سهولت در رفع ایرادات وهمچنین دسترسی به منابع رایگان میشود. )
  11. یادگیری و استفاده آسان
  12. سرعت بالا در سرویس دهی نسبت به سایر زبان های برنامه نویسی (مثل asp) و کار با SQL

زبان PHP چیست ؟

زبان PHP چیست ؟

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

phpBB  و SMF و Mambo و Joomla و PHPNuke و mybb و مدیاویکی

انواع زبان های وب

PHP از چه پایگاه داده هایی جهت ذخیره و بازیابی اطلاعات استفاده میکند ؟

  • MySql
  • Sybase
  • Oracle
  • PostgreSQL
  • Solid
  • Generic ODBC

mysql

سایت های معروفی که از زبان PHP استفاده میکنند :

  • Yahoo
  • Flickr
  • Google
  • Facebook

زبان PHP چیست ؟

همچنین بسیاری از سیستم های مدیریت محتوا نیز از زبان php  استفاده میکنند ، مثل :

(وردپرس)  Wordpress

 (دروپال)  Drupal

 (جوملا)  joomla

(ویبولتین)  vBulletin

وردپرس

برای طراحی و برنامه نویسی سایت خود با زبان PHP با ما تماس بگیرید.

ادامه مطلب

PHP چیست ؟

PHP مخفف PHypertext Preprocessor یک زبان قدرتمند ( Cross-Platform , Html embeded ) برای ساخت وب سایت های پویا و داینامیک است .  یک زبان سمت سرور که اسکریپت های آن بر روی سرور اجرا می شود . با استفاده از زبان php ، شما می توانید سایت ها و پورتال های بزرگ سازمانی را با قدرت طراحی و برنامه نویسی کنید . php در نسخه های مختلفی به بازار عرضه شد که در حال حاضر نسخه ۵ آن توسط توسعه دهندگان php به کاربران و برنامه نویسان ارائه شده است . با آمدن php 5 تحول جدیدی در php ایجاد شد به صورتی که Microsoft سازنده زبان Asp بار دیگر از رقیب خود یعنی php عقب افتاد.

سمت سرور یا server side بدین معنی است که دستورات بر روی سرور اجرا می شود و کاربر نمی تواند در آن دخیل باشد . یک سرویس دهنده در حقیقت یک کامپیوتر مخصوص می باشد که صفحات وب در آنجا نگهداری می شوند و از آنجا به مرورگر وب کاربران منتقل می شوند. (مثال : زبان php)

سمت مشتری یا  client side بدین معنی است که دستورات بر روی مرورگر اجرا می شود و کاربر می تواند در آن دخالت کند .  (مثال : زبان جاوااسکریپت)

منظور از Cross-Platform بودن این زبان این است که بروی هر سیستم و با هر سیستم عاملی از قبیل Unix, Windows NT,  Macintosh, Os/2  اجرا میشوند. توجه کنید که منظور از سیستم عامل، سیستم عامل هایی می باشند که بر روی سرویس دهنده نصب می شوند . PHP نه تنها قابلیت اجرا بر روی هر سیستم عاملی را دارا می باشد بلکه برای منتقل کردن برنامه های آن از یک سیستم عامل به سیستم عامل دیگر احتیاج بــه تغییرات اندکی خواهید داشت و حتی در بعضی از موارد بدون احتیاج به هیچ تغییری می توانید یک برنامه به زبان php را از یک سیستم عامل به سیستم عامل دیگر منتقل کنید.

منظور از Html embeded بودن PHP این است که دستورات این زبان در بین کدهای html  قرار می گیرند. بنابراین برنامه نویسی به زبان PHP کمی پیچیده تر از برنامه نویسی به زبان Html به حساب می آید.

PHP با چه پایگاه داده هایی کار می کند؟

پایگاه داده هایی که جهت ذخیره سازی و بازیابی اطلاعات در زبان php استفاده می شود ، MySql , Oracle , Sybase , Solid , PostgreSQL , Generic ODBC است که معروف ترین و پرکاربردترین انها MySql است .

یک فایل  PHP چیست؟

فایل های php می توانند حاوی متن ، تگ های HTML و اسکریپت ها باشند ، کاربر در هنگام اجرای اسکریپت نمی تواند کدهای php را مشاهده کند و تنها تگ های HTML را مشاهده می کند ، بدین معنی که کدهای php روی سرور تفسیر میشوند و خروجی html و یا خروجی های دیگری تولید میکند که توسط کاربر قابل مشاهده است.

ادامه مطلب

اس کیوال لایت

اس کیوال لایت

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

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

 

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

 

تاریخچه
دکتر ریچارد هیپ اسکیوال لایت را در سال 1111 در زمانی که از طریق جنرال داینامیکس با نیروی دریایی ایالات متحده آمریکا کار
میکرد طراحی کرد. او در آن زمان مشغول کار روی برنامههای مربوط به ناوشکنهایی بود که به موشکهای هدایتشونده مجهز بودند و
تا آن زمان از پایگاه داده آیبیام اینفورمیکس )به انگلیسی IBM Informix: (استفاده میکردند. هدف از ساخت اسکیوال لایت این
بود که این برنامهها بتوانند بدون نصب یا مدیریت پایگاه داده مستقل اجرا شوند. نسخه اول نرمافزار در اوت 1111 انتشار یافت. در
نسخه 1٫1 ساختار داخلی اسکیوال لایت تغییر یافت و از یک درخت بی در آن استفاده گردید. در نسخه 9٫1 که قسمتی از
هزینههایش توسط ایاوال تامین شد، پشتیبانی چندزبانی و چند تغییر بزرگ دیگر در اسکیوال لایت رخ داد .

 

کاربرد
موزیلا فایرفاکس و موزیلا تاندربرد انواع مختلفی از تنظیمات )نظیر چوبالفها، کوکیها، تاریخچه بازدید وب و غیره( را در یک پایگاه
داده اسکیوال لایت ذخیره میکنند . اسکایپ هم از پایگاه داده اسکیوال لایت بهره میبرد . ادوبی)به انگلیسی: Adobe ) از اسکیوال
لایت در برنامههای مختلف از جمله ادوبی ریدر و ادوبی ایر بهره میگیرد . دراپباکس نیز از اسکیوال لایت در نرمافزار سمت کلاینت
خود استفاده میکند .
با توجه به حجم کم و عملکرد بالا، اسکیوال لایت در بسیاری از سیستمهای عامل از جمله iOS اپل، سیمبیان، آندروید گوگل، میگو
بنیاد لینوکس و وباواس پالم به کار رفته است .

ادامه مطلب

فرم ثبت نام ساده در PHP

ساخت فرم نام نویسی ساده با php

یکی از سوالات رایج دوستانی که تازه با php آشنا شدن نحوه ذخیره و خواندن اطلاعات از بانک mysql می باشد. در این پست قصد داریم ساخت یک فرم ثبت نام ساده در php رو آموزش بدیم. برای این منظور به دو تا فایل نیاز داریم یه فایل برای دریافت اطلاعات از کاربر (index.html) و یه فایل برای پردازش اطلاعات دریافت شده از کاربر و ثبت مقادیر در بانک اطلاعاتی(register.php). خب اجازه بدین آموزش رو شروع کنیم: در این آموزش فرم ثبت نام ما دارای سه فیلد (نام کاربری، رمز عبور و آدرس ایمیل) می باشد. فرم ما شکلی مانند تصویر زیر خواهد داشت.لاگین php

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

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Login form</title>
<link rel="stylesheet" type="text/css" href="style.css"> </head>
<body>
<div id="form">
<form action="register.php" method="post">
<p>نام:
<input type="text" name="userName">
</p>
<p>رمز عبور:
<input type="password" name="passWord">
</p>
<p>ایمیل:
<input type="text" name="eMail">
</p>
<input type="submit" name="submit" value="ثبت نام"> </form>
</div>
</body>
</html>

در خط ۱۰ از تگ Form استفاده کردیم. خاصیت action در تگ form مشخص می کنه وقتی کاربر روی دکمه ثبت نام کلیک کرد، اطلاعات موجود در فرم به کدام صفحه ارسال بشه و در ادامه متد POST نیز نحوه ارسال اطلاعات رو به صفحه تعیین شده مشخص می کنه. پس از پر کردن فرم و کلیک بر روی دکمه ثبت نام، اطلاعات دریافتی باید بررسی شده و خطاهای احتمالی اصلاح بشه و در صورت ورود اطلاعات بصورت کامل، داده ها در بانک اطلاعاتی ذخیره بشه. خب حالا نوبت میرسه به ایجاد صفحه ای که در متد action تعیین کردیم تا این عملیات رو انجام بده. برای این منظور یه فایل به نام register.php ایجاد کرده و کدهای زیر رو درون آن ذخیره کنید:

 

<?php 
$server = "localhost";  //your servername
$db_user = "root"; //database username
$db_pass = ""; //database Password 
$db_name = "userdb01"; //insert your batabase name 
$tbl_name = "hb_users"; //insert your table name 
$user = $_POST['userName']; 
$pass = $_POST['passWord']; 
$email = $_POST['eMail']; 
if(!$user) {
die('لطفا نام کاربری را وارد نمایید');
} 
if(!$pass) {
die('رمز عبور نمی تواند خالی باشد');
} 
if(!$email) {
die('ادرس ایمیل معتبر نیست');
} 
if(!preg_match('/[a-zA-z0-9._-]+@[a-zA-z0-9\.-]+\.[a-zA-z\.]+/', $email)) {
die('آدرس ایمیل معتبر نمی باشد'); 
} 
$conn = mysql_connect($server, $db_user, $db_pass);
if(!$conn) { 
die('connection error, connection not found');
} 
if(!mysql_select_db($db_name)) {
die("database not found");
}
$pass_hash = md5($pass);
$query = mysql_query("insert into '$tbl_name' (user_Name, user_Pass, user_Email) values ('$user', '$pass_hash', '$email')"); 
if(mysql_affected_rows()>0) {
die('متشکریم! ثبت نام شما با موفقیت انجام شد'); 
}
else {
die('ثبت نام با مشکل مواجه شد، لطفا مجددا سعی نمایید'); 
} 
?>

خب اینجا تو ۶ خط اول اطلاعات مربوط به بانک رو تو متغیرهایی ذخیره کردیم تا در صورتیکه خواستین رو بانک دیگه ای اجرا کنین فقط مقادیر این متغیرها رو تغییر بدین 🙂 و در ادامه با استفاده از POST_$ مقادیر ارسال شده از صفحه index.html رو در متغیرهایی ذخیره می کنیم تا پس از بررسی های لازم اونا رو درون بانک اطلاعاتی ذخیره کنیم.

تو خط بعدی با استفاده از تابع preg_match مقدار فیلد ایمیل بررسی می شود تا آدرس ایمیل وارد شده دارای ساختار استاندارد باشد (مثل Email@Domain.xyz) در ادامه تو خط ۲۳ ارتباط با بانک اطلاعاتی mysql رو بررسی کردیم در صورتیکه ارتباط بر قرار نباشد پیغام خطایی نمایش داده می شود و در صورت برقراری ارتباط نام جدولی که اطلاعات باید در آن ذخیره شود رو بررسی می کنیم اگر جدول مورد نظر وجود نداشته باشد نیز پیغام خطایی نمایش داده می شود.

برای حفظ امنیت مقادیر پسورد را با استفاده از تابع md5 بصورت رمز شده در بانک اطلاعاتی ذخیره می کنیم. در انتها query مورد نظر که درج اطلاعات در بانک می باشد را فراخوانی می کنیم در صورت ثبت اطلاعات پیغام مناسب مبنی بر ثبت نام موفقیت آمیز و در صورت بروز خطا نیز پیغام خطا نمایش داده می شود.   امیدوارم این آموزش رو بپسندید

ادامه مطلب

تفاوت بین آرایه (Array) و لیست آرایه (ArrayList)

تفاوت بین آرایه (Array) و لیست آرایه (ArrayList)

یک آرایه (Array)، در زمان تعریف دارای اندازه مشخص می باشد. امکان اضافه کردن یا حذف کردن آیتم به آن وجود ندارد. همچنین تمام آیتم ها می بایست از یک نوع (Type) باشند. در نتیجه آرایه ها دارای نوع مطمئن و مشخص هستند که عامل مهمی در اجرا و اختصاص حافظه ی مورد نیاز می باشد.

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

از دیگر ویژگی های آرایه اینست که می تواند چندین بعد (Dimension) داشته باشد، در حالیکه لیست آرایه (ArrayList) از این ویژگی برخوردار نیست.

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

ادامه مطلب

معرفی jQuery

معرفی jQuery

هدف JQuery ، ساده کردن استفاده از جاوا اسکریپت در وب سایت است .

پیش نیاز های دوره

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

  • HTML
  • CSS
  • JavaScript

JQuery چیست؟

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

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

همچنین JQuery بسیاری از عملیات پیچیده جاوا اسکریپت مانند فراخوانی های AJAX و دستکاری DOM را ساده می نماید .

کتابخانه JQuery حاوی ویژگی های زیر می باشد :

  • دستکاری HTML/DOM
  • دستکاری CSS
  • توابع رویدادهای HTML
  • افکت ها و انیمیشن ها
  • AJAX
  • ابزارها

نکته : علاوه بر ویژگی های فوق ، تقریبا برای هر عملی اضافه بر عملیات بالا ، پلاگین های JQuery موجود و آماده می باشند .

چرا JQuery؟

با وجود اینکه فریم ورک های جاوا اسکریپتی بسیاری وجود دارند ، اما به نظر می رسد JQuery معروفترین و توسعه پذیرترین آن ها می باشد. بسیاری از شرکت های بزرگ در وب سایت هایشان از JQuery استفاده  می نمایند .

مانند :

  • Google
  • Microsoft
  • IBM
  • Netflix

آیا JQuery در تمام مرورگرها کار می کند ؟

تیم JQuery آگاهی کافی نسبت به انواع مرورگرها دارد و این مسئله را در کتابخانه JQuery لحاظ کرده اند.کدهای JQuery در تمام مرورگرها مشابه هم اجرا می شوند.

 

ادامه مطلب

رفع مشکل تبدیل حروف فارسی به علامت سوال (؟)

رفع مشکل تبدیل حروف فارسی به علامت سوال (؟)

امروز متوجه شدم مدتی ست که بعضی از متن های فارسی وبلاگ به شکل علامت سوال (؟؟؟…) نشان داده می شوند. این متن ها آنهایی نبودند که از دیتابیس خوانده می شدند، بلکه آنهایی بودند که مستقیما در فایل های php نوشته شده بودند. نمایش آنها تا چند روز پیش درست بود و نمیدانم چه اتفاقی افتاد که این خرابی پیش آمد، اما بهرحال به دنبال راه حل گشتم. در اینترنت هرچه جستجو کردم (چه فارسی و چه انگلیسی) همه راه حل ها برای تصحیح encoding جدول های درون دیتابیس و یا connection مربوطه بود. هیچکدام از تصحیح فرمت encoding فایل ها چیزی نگفته بود. خودم با نرم افزار Notepad++ راهی را امتحان کردم و مشکل حل شد. از آنجاییکه ممکن است این مشکل برای هر فارسی زبان دیگری نیز پیش بیاید و راه حلی در اینترنت به سادگی پیدا نکند تصمیم گرفتم آنرا اینجا منتشر کنم.

ابتدا اگر نرم افزار Notepad++ را ندارید، این نرم افزار رایگان را از اینجا دانلود کنید. انصافا نرم افزار ساده و سبک و بسیار بدردبخوری ست! فرقی نمی کند که به چه زبانی برنامه نویسی کنید، احتمالا این نرم افزار به دردتان می خورد.

سپس آن فایل هایی را که کاراکترهای فارسی درونشان به صورت علامت سوال نمایش داده می شوند را با این نرم افزار باز کنید، از منوی بالا وارد Encoding شوید و Encoding in UTF-8 without BOM را انتخاب کنید. فایل را Save کنید و دوباره باز کنید (اگر با سرور کار می کنید آنرا بر فایل روی سرور overwrite کنید). همانطور که می بینید به همین سادگی مشکل برطرف شد!

نکته فنی: نرم افزار Notepad ویندوز هم در پنجره Save As قابلیت انتخاب کدگذاری UTF-8 را دارد، اما حتما از BOM استفاده می کند. در این حالت یک کاراکتر اضافی مزاحم در ابتدای فایل وجود خواهد داشت که هم ممکن است صفحات HTML را بهم بزند و هم ممکن است باعث شود در صفحات PHP هنگام کار با Cookie یا Session با خطای "Headers already sent" مواجه شوید، چرا که این کاراکتر اضافی قبل از هرچیز برای Client ارسال شده است.

اردلان نقش

ادامه مطلب

معرفی React Native: آسان ترین و بهترین راه برنامه نویسی موبایل و وب؟

معرفی React Native: آسان ترین و بهترین راه برنامه نویسی موبایل و وب؟

الان حدود ۱۵ ساله که برنامه نویسی تحت وب می کنم. هرروز سری به Smashing Magazine و TechCrunch و سایت های دیگه از این دست می زنم و راجع به استارتاپ های جدید و کمپانی ها و اشخاص موفق مرتبط با IT تحقیق می کنم. با این مطالعات میشه خیلی زود فهمید که صنعت IT با سرعتی باورنکردنی در حال پیشرفت و تحوله. اگر می خوای در این صنعت بمونی باید هرروز مطالعه داشته باشی و مفاهیم جدید یاد بگیری. شاید یکی از علل علاقه بسیار من به این صنعت همینه. هیچوقت یکنواخت نمیشه!

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

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

تابحال خیلی تلاش ها در این زمینه شده (فلش و تا حدی جاوا در این زمینه ناموفق بودن). از فریم ورک های محبوبی که امروزه به شما امکان برنامه نویسی وب و موبایل اپلیکیشن رو میدن میشه اینها رو نام برد: PhoneGap، Ionic، Appcelerator Titanium، Xamarin

PhoneGap و Ionic خوبیشون اینه که توشون از زبان های وب (HTML، CSS، JS) استفاده می کنید. پس نیازی به یادگیری زبان جدید ندارید (مثل اینه که وب اپلیکیشنتون رو در مرورگر موبایل باز می کنن، اما Full-screen). بدیشون اما اینه که Performanceشون اصلا خوب نیست. اگر اپلیکیشنی که با اینها می سازید «خیلی ساده» نباشه، از سرعت پایین و پریدن های تصویر و انیمیشن های لَگ دار خیلی راحت میشه فهمید که اپلیکیشن Native نیست. به این اپلیکیشن ها Hybrid میگن، و به اپلیکیشن هایی که با زبان مخصوص سیستم عامل نوشته شده باشن Native میگن. (زبان مخصوص دستگاه های کمپانی اپل Objective-C و Swift هست و زبان مخصوص اندروید جاوا.)

Appcelerator Titanium و Xamarin می تونن Performance بهتری ایجاد کنن. بخاطر اینکه از یک زبان برنامه نویسی خاص (جاوااسکریپت و C#) المان های Native رو خروجی می گیرن. اما هردو پولی هستن. همین باعث میشه که طرفداران و منابعشون کم بشه.

حالا می رسیم به این جوجه کوچکی که موضوع این نوشته ست! این جوجه کوچک React Native نام داره.

بذارید یکم برم به عقب. فیس بوک ابتدای سال ۲۰۱۵ اولین نسخه stable یک کتابخانه جاوااسکریپت open-source رو منتشر کرد برای توسعه رابط کاربری (user interface) وب اپلیکیشن ها. اسم این کتابخانه React (یا ReactJS) بود. این کتابخانه با ساختار بسیار ساده و سرعت بسیار بالایی که داشت خیلی سریع مورد توجه قرار گرفت. طوری که با وجود اینکه مدت کوتاهی از اومدنش گذشته، بجز فیس بوک کمپانی هایی از قبیل یاهو، Airbnb و Netflix هم دارن ازش استفاده می کنن.

react-native

اواخر مارچ ۲۰۱۵ (دو و نیم ماه پیش) یک فریم ورک جدید از فیس بوک منتشر شد. یک فریم ورک که به شما اجازه میده با استفاده از زبان جاوااسکریپت (و تنها جاوااسکریپت!) و کتابخانه React اپلیکیشن موبایل بسازید! فعلا فقط برای iOS ولی بزودی برای iOS و Android. اسم این فریم ورک React Native ه!

همونطور که از اسمش پیداست، مزیت بزرگش اینه که خروجیش تشکیل شده از المان های Native سیستم عامله. در نتیجه Performance خوبی داره. سیستم کاریش خیلی شباهت ها به Appcelerator Titanium داره. من قبلا اون رو کمی یاد گرفتم. اما وقتی مطالعه درباره React و React Native رو شروع کردم مجذوب سادگی و نظمشون شدم! مجانی و open-source بودن و پشتیبانی شدن توسط فیسبوک رو هم که به اینها اضافه کنید می فهمید که چرا در این مدت کوتاه انقدر پرطرفدار شدن.

من یک اپلیکیشن ساده برای iOS با استفاده از React Native ظرف چند روز ساختم. همه چیز ساده و بی دردسر پیش رفت و Performance اپلیکیشن هیچ فرقی با Native نداشت. الان هم مشغول کار روی دو اپلیکیشن دیگه هستم که تا بحال خیلی خوب پیش رفته.

react-native-conf

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

خب حالا با وجود همه اینها، به نظر شما الان یادگیری چه زبان برنامه نویسی و فریم ورکی می تونه آینده خیلی خوبی داشته باشه؟

پاسخ من JavaScript و ReactJS و React Native هست. اما یک علامت سوال هم در انتهای تیتر این نوشته گذاشتم، چون هنوز یک رخداد بسیار مهم باقی مونده: انتشار React Native برای اندروید. من فکر می کنم اگر فیس بوک اون قدم رو هم درست برداره و مثل قبل به بروزرسانی مرتب این فریم ورک ادامه بده محبوبیت React Native به سرعت چند برابر میشه و ۳ سال آینده حداقل ‍۱۰ درصد اپلیکیشن های جدید موبایل با React Native ساخته میشن.

نظر شما چیه؟

منابع خوب برای یادگیری

ادامه مطلب