Category Archives: موارد دیگر

جاوا 10 و ویژگی های جدید آن

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

JDK 10 در تاریخ 20 مارس 2018 منتشر شد . این نسخه پشتیبانی کوتاه مدتی دارد و 6 ماه پشتیبانی خواهد شد نسخه جاوا 11 که در اینده منتشر خواهد شد دارای پشتیبانی بلند مدت خواهد بود (LTS)

جاوا 10 را از کجا می توان دانلود کرد

از سایت اوراکل می توانید برای دانلود نسخه 10 JDK اقدام کنید

ویژگی های جدید و بهبود یافته در JDK 10

( این متن ترجمه شده و اگر دارای کمو کاستی است از شما پوزش می می خواهیم )

Local-Variable Type Inference

این ویژگی جدید زبان است که قرار است جاوا را تقویت کند تا استدلال نوعی را به اعلانات متغییر های محلی گسترش دهد

این ویژگی جدید برای بهبود تجربه توسعه دهندگان و کاهش حجم کد های جاوا انجام شده که توسعه دهنده را از اعلام نوع دقیق متغییر ها بی نیاز می کند مانند نمونه های زیر :

var list = new ArrayList<String>();  // infers ArrayList<String>
var stream = list.stream();          // infers Stream<String>
Consolidate the JDK Forest into a Single Repository

این ویژگی بیشتر برای توسعه دهندگانی که در توسعه JDK شرکت میکنند مفید است و توسعه دهندگان می توانند از یک مخزن واحد استفاده کنند

Garbage-Collector Interface

به نظر نمی رسد که این یک ویژگی جدید باشد این قابلیت هم بیشتر برای توسعه دهندگان JDK مورد استفاده قرار میگیرد

Application Class-Data Sharing

از این ویژگی برای به اشتراک گذاری کلاس ها پیش از پردازش استفاده می شود در برنامه های بزرگ می تواند باعث صرفه جویی در مصرف منابع از 10 تا صدها مگابایت در هر پروسه JVM شود

با تجزیه و تحلیل خدماتی که به صورت cloudless server انجام شده نشان می دهد که بسیاری از آنها چندید هزار کلاس کاربردی را هنگام راه اندازی بارگیری میکنند این ویژگی می تواند این سرویس ها را سریعا راه اندازی کند و زمان پاسخگویی سیستم را بهبود بدهد

برای مطالعه سایر ویژگی های جدید در سایت اوراکل اینجا کلیک کنید


آموزش نصب نود روی ابونتو 16.04

در این آموزش نود و دیتابیس mongodb  را نصب میکنیم

برای نصب نود کد های زیر را در ترمینال وارد میکنیم

$ sudo apt-get update

$ cd /
$ curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh

$ sudo bash nodesource_setup.sh
$ sudo apt-get install nodejs

با این کد ها نود نسخه 8 که نسخه نهایی و LTS را نصب میکنیم نسخه LTS از این جهت اهمیت داره که برای مدت زمان بیشتری پشتیبانی میشه

اما حالا برای نصب دیتابیس mongodb در سیستم عامل ابونتو از کد های زیر استفاده میکنیم

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

$ sudo apt-get update
$ sudo apt-get install -y mongodb-org
$ sudo service mongod start
$ sudo systemctl enable mongod

بسیار خب با اجرای این کد ها نسخه 3.6 دیتابیس mongodb که تا این لحظه اخرین و جدیدترین نسخه هست نصب میشه حتما پیشنهاد میکنم کار با این دیتابیسو یاد بگیرید کار باهاش لذت بخشه و دردسر های MySQL رو نداره

دارم برای پروژه ای از node استفاده میکنم و خیلی هیجان زدم میکنه البته بعضی وقتا سینتسک و شیگرایی جاوا اسکریپت برام عجیب به نظر میاد چون مثل بقیه زبون ها نیست در کل هنوز فکر میکنم بهترین زبات برای ساخت سایت php باشه چون کار باهاش خیلی ساده تره البته نظر منه و  node بخاطر سرعتی که داره بیشتر برای ساخت وب سرویس و وب اپلیکیشن ها مناسب باشه :mrgreen:

 

 


اعتبار سنجی فرم سایت با استفاده از جاوا اسکریپت

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

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

javascript validator

Wiki

برای مثال :

postData={
    name:$("#i_name").val(),
    family:$("#i_family").val(),
    email:$("#i_email").val(),
    phone:$("#i_phone").val(),
    password:$("#i_password").val(),
    password2:$("#i_password2").val(),
    captcha:$("#i_captcha").val()
  }

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

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

validateNull(postData,"@pn را وارد نکرده اید ");

این کد تمام پارامتر ها را در postData برسی میکند تا خالی نباشند در صورتی که یکی از فیلد ها خالی باشد پیام خروجی آن مانند این پیام است

{"ok":false,msg:"نام خانوادگی را وارد نکردید"}

عبارت @pn که در کد بالا مشاهده می کنید نام پارامتر را برمیگرداند

حالا فرض کنید در فرم ما فیلد شماره تلفن اختیاری است و ما نمیخواهیم شماره تلفن توسط تابع validateNull برسی شود برای این منظور کافیه نام پارامتر های اختیاری را به صورت ارایه به این تابع اضافه کنیم

validateNull(postData,"@pn را وارد نکرده اید ",['phone']);

برای تعدادی از فیلد ها لازم است که محدودیت تعداد کارکتر بزاریم معمولا نام و نام خانوادگی بین 3 تا 25 کارکتر باید باشد برای ایجاد محدودیت تعداد کارکتر از این کد استفاده می کنیم

validateLenght(postData,['name','family'],3,25,'@pn باید @len از @chl کارکتر باشد');

پارامتر اول  ( postData ) شامل تمام پارامتر های ما است در پارامتر بعدی تایین میکنیم که محدودیت تعداد کارکتر ها برای کدام پارامتر ها باید برسی شود 3 حداقل تعداد و 25 حداکثر تعداد کارکتر است و پارامتر اخر هم مربوط به پیام خطای اعتبارسنجی است

اگر بجای عدد بیشترین تعداد کارکتر null بگذارید محدودیت بیشتریت تعداد کارکتر در نظر گرفته نمیشود برای کم ترین مقدار هم به همین صورت است

عبارت @pn نام پارامتر و  @chl حداقل یا حداکثر تعداد کارکتر مجاز و @len نوع محدودیت را جایگزین می کند حالا اگر نامی طولانی تر از 25 کارکتر وارد کرده باشیم  پیام خطای کد بالا به صورت زیر است

{"ok":false,"msg":"نام نباید بیشتر از 25 کارکتر باشد"}

با استفاده از تابع validateEmail ایمیل کاربر را برسی میکنیم :

ValidateEmail(postData['email'],'ایمیل را به درستی وارد نکرده اید');

برسی رمز عبور و تکرار رمز عبور :

validateCheckPassword(postData['password'],postData['password2'],'رمز عبور با تکرار آن یکسان نیست');

احتمالا در اینده تعداد توابع موجود برای اعتبار سنجی افزایش پیدا می کنه 😀

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

validate=getValidateResult();

if(validate.ok==false){

show_error_messege(validate.msg);
}
else{
// successful 
}

کد کلی آن به این صورت می شود

postData={
    name:$("#i_name").val(),
    family:$("#i_family").val(),
    email:$("#i_email").val(),
    phone:$("#i_phone").val(),
    password:$("#i_password").val(),
    password2:$("#i_password2").val(),
    captcha:$("#i_captcha").val()
  }

validateLenght(postData,['password','password2'],6,null,'@pn باید @len از @chl کارکتر باشد');
// error resulr = {"ok":false,"msg":"رمز عبور نباید کوچکتر از 6 کارکتر باشد"}
 validateLenght(postData,['name','family'],3,25,'@pn باید @len از @chl کارکتر باشد');
validateNull(postData,"@pn را وارد نکرده اید ",['phone']);

validateCheckPassword(postData['password'],postData['password2'],'رمز عبور با تکرار آن یکسان نیست');
    
ValidateEmail(postData['email'],'ایمیل را به درستی وارد نکرده اید');
     
validate=getValidateResult();

if(validate.ok==false){

show_error_messege(validate.msg);
}
else{
// successful 
}

در فایل جاوا اسکریپت تابع زیر قرار دارد که میتوانید پارامتر هایی که در فرمتان استفاده کردید ولی در تابع وجود ندارد را به آن اضافه کنید

function validatePN(lan='fa') {
 var pn_fa={
 'name':'نام',
 'family':'نام خانوادگی',
 'email':'ایمیل',
 'phone':'شماره تلفن',
 'captcha':'تصویر امنیتی',
 'password':'رمز عبور',
 'password2':'تکرار رمز عبور',
 'min':'کوچکتر',
 'max':'بزرگتر'
 };
 if (lan=='fa') {
 return pn_fa;
 }

}

معرفی ویرایشگر کد php

یک محیط کد نویسی مناسب یا همون IDE می تونه در نوشتن یک برنامه بسیار تاثیر گذار باشه برای مثال شما می تونید کد های php خودتون رو توی نوت پد هم بنویسید ولی خب کار مشکلیه و برسی کد ها و همین طور نوشتن کد رو برای شما سخت میکنه

کد ادیتور های زیادی برای php وجود داره اما میخوایم 2 تا برنامه معرفی کنیم که هم کاملا رایگان هستند و تقریبا همه ویژگی های یه IDE خوب رو دارن و از همه مهمتر روی تمامی سیستم عامل ها قابل دسترس هستند

eclips

eclips یک IDE کامل است شما به وسیله آن می توانید برنامه های جاوا php و یا حتی اپلیکیشن اندروید بسازید ( البته برای برنامه نویسی اندروید بهتره از اندروید استادیو اسفاده کنید )

لینک برنامه : دانلود اکلیپس

اکلیپس نسخه های مختلفی داره که با توجه به نیاز خودتون می تونید یکی رو دانلود کنید برای برنامه نویسی php بهتره نسخه PDT رو دانلود کنید اما اگر نسخه های دیگه اون رو دانلود کردید و دید که قابلیت ایجاد پروژه php رو نداره میتونید زبان php رو به این صورت اضافه کنید:

از منوی Help گزینه Installation New Software رو انتخاب کنید و در قسمت Work with ادرس Neon – http://download.eclipse.org/releases/neon رو انتخاب کنید صبر کنید تا برنامه اطلاعات رو در کادر پایین اون نشون بده بعد توی قسمت Type filter text عبارت PDT رو بنویسید به سری پلاگین بهتون نشون میده گزینه های توی بخش Language رو تیک بزنید اسمایی شبه به این دارن : PDT Develop Tools

و بعد هم نصبشون کنید بعد از نصب اکلیپس رو یکبار ببندید و دوباره اجرا کنید حالا اگر new project می تونید گزینه php رو ببینید خب بعد از ساخت اولین پروژه php از قسمت Project Explorer روی فولدر پروژتون راست کلیک کنید و از منوی Configure گزینه Convert To php رو انتخاب کنید و کار تمومه حالا می تونید از برنامه نویسی php لذت ببرید

Visual Studio Code

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

ویژال استادیو کد برنامه ای کم حجم و سبک و تقریبا سادست شاید به اندازه اکلیپس قوی نباشه اما ویرایشگر خوب و کار رابندازیه 🙂

لینک : دانلود ویژال استادیو کد

بعد از نصب و اجرا از منو سمت چپ گزینه Extensions را انتخاب کنید و در کادر search عبارت PHP Extension Pack رو بنویسید و نصبش کنید یک بار برنامه رو ببندید و دوباره اجرا کنید حالا برنامه برای کد نویسی php اماده شده


سفارش ساخت ربات تلگرام

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

[email protected]

“Read More”


چند مطلب مهم و پایه ای فریم ورک فت فری

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

در حالت عادی زمانی که شما یک فایل php را در سرور خود قرار میدهید ( فرض میکنیم اسم فایل php ما nitro.php است ) زمانی که می خواهیم این فایل را اجرا کنیم باید ادرس url رو به این صورت وارد کنیم :

http://yoursite.ir/file/nitro.php

یکی از امکانات فریم ورک ها قابلیت مسیردهی ( routing ) انها است که قابلیت انعطاف بالایی به ما می دهد برای مثال به راحتی می توانید به هر شکل که دوست دارید مسیر دهی به فایل php را انجام دهید برای مثال:

http://yoursite.ir/nitro

“Read More”


اموزش کار با دیتابیس mysql

در این پست یاد میگیریم که چگونه با دیتابس mysql در فریم ورک fatfree کار کنیم همچنین این کد ها برنامه شمارو در مقابل حملات تزریق SQL یا همون SQL Injection کاملا ایمن میکنه

در کد زیر ابتدا دیتابیس رو مقدار دهی می کنیم بجای mydb نام دیتابیس رو می نویسیم و به جای root نام کاربری و به جای 1234 رمز دیتابیس رو می نویسیم

$db=new DB\SQL(
    'mysql:host=localhost;port=3306;dbname='."mydb",
    "root",
    "1234");

“Read More”


آموزش نصب و راه اندازی فریم ورک فت فری

  • در این پست با نحوه نصب فریم ورک fat-free بر روی سیستم عامل لینوکس ابونتو و ویندوز اشنا خواهیم شد.

ما ساختار معماری 3 لایه یا همون mvc رو در این فریم ورک پیاده سازی خواهیم کرد برای نصب fatfree موارد زیر را باید انجام دهیم

  1. نصب برنامه git و Composer
  2. دانلود fatfree
  3. پیاده سازی فریم ورک

کاربران ویندوز هم می توانند با کلیک روی لینک های بالا وارد سایت مورد نظر بشن و فایل نصب git و composer رو دانلود و به راحتی نصب کنند بقیه مراحل در هر دو سیستم عامل یکسان است

برای نصب git کد زیر را در ترمینال اجرا کنید

sudo apt-get install git

برای نصب Composer

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

بعد از نصب برنامه های بالا فریم ورک fat-free رو از لینک زیر دریافت کنید

دانلود fatfree framework

بعد از دانلود فایل را در فولدر مناسبی از حالت فشرده خارج کنید. وارد فولدر fatfree-master شوید و روی پنجره فولدر راست کلیک کنید و open Terminal رو بزنید حالا کد زیر رو با حالت ادمین در ترمینال اجرا کنید و منتظر بمونید تا نصب کامل بشه ممکنه کمی زمان بر باشه

کاربران ویندوز در cmd باید دستور زیرو وارد کنند

composer install

در صورتی که نصب درست انجام شده باشه یک فولدر به نام vendor به فولدر پروژه ما اضافه شده است اگر روی سیستم شما سرور مجازی نصب باشد می توانید در مرورگر خود نتیجه را مشاهده کنید

http://localhost/sample/fatfree-master/

حالا میخواهیم پروژه خود را به صورت MVC ساختار دهی کنیم فولدری به نام app بسازید حال به درون فولدر app رفته و 3 فولدر به نام های controllers و file و views بسازید

حالا به ریشه اصلی پروژه یعنی همان فولدر fatfree-master می رویم درون این فولدر فایل index.php را باز کنید کد های درون ان را به کلی پاک کنید و کدهای زیر را درون آن قرار دهید و ذخیره کنید

<?php

require_once("vendor/autoload.php");

$f3 = Base::instance();

$f3->config('config.ini');
$f3->config('routes.ini');

$f3->run();

حالا فایلی به اسم routes.ini بسازید و کد زیر را داخل آن ذخیره کنید .

[routes]

;base routes
GET /=MainController->main
GET /hello=MainController->showHello

باز فایلی به نامconfig.ini بسازید و کد های زیر را درون آن ذخیره کنید

[globals]

DEBUG=3
UI=app/views/
AUTOLOAD=app/controllers/

حال به فولدرcontrollers که ساخته بودیم میریم (app/controllers) و درون آن فایلی به نام MainController.php می سازیم و کد زیر را درون ان ذخیره میکنیم

<?php

class MainController {

    function showHello(){
        echo 'Hello NitroCode.ir :)';
    }
    function main(){
         echo 'OK';
    }

}

خیلی خب کار تمام است حالا با مرورگر خود به مسیر پروژه برید پیام OK برای شما نشان داده می شود(http://localhost/sample/fatfree-master)

حال اگر جلوی ادرس کلمه hello را وارد کنید به این صورت :

http://localhost/sample/fatfree-master/hello

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

Hello NitroCode.ir :)

منبع

مربوط :

مطالب مهم و پایه ای در fatfree

اموزش کار با دیتابیس mysql در fatfree


جستجوی هوشمند