کتابخانه کار با رابط درگاه اینترنتی بانک ملت برای جاوا

برای کار با درگاه بانک ملت یه کتابخانه (یا همون library) با IntelliJ IDEA درست کردم، گفتم اینجا بزارم تا بقیه هم بتونن استفاده کنند.

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

IPaymentGateway service = new PaymentGatewayImplService().getPaymentGatewayImplPort();
            String response = service.bpPayRequest(
                    12,
                    “USER NAME”,
                    “PASSWORD”,
                    mellatBank.getId() ,
                    mellatBank.getPrice(),
                    mellatBank.getLocalDate(),
                    mellatBank.getLocalTime(),
                    “”,
                    “response url”,
                    0
            );

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

نصب پلاگین جاوا بر روی کروم با لینوکس اوبونتو

بعد از ۳ ۴ ساعت بالاخره تونستم پلاگین بد قلق جاوا رو روی کروم نصب کنم !! روی فایرفاکس و کرومیوم تست کردم هیچ کدومش درست نصب نمی شد البته ورژن قدیمیه فایرفاکس با IcedTea کار کرد اما کرش هم زیاد می کرد.

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

/opt/google/chrome
و پوشه ی plugins رو ایجاد می کنید :
mkdir plugins
داخل پوشه رفته و لینکی از پلاگین جاوا ایجاد می کنید :
ln -s /usr/lib/jvm/jdk1.8.0/jre/lib/amd64/libnpjp2.so .

تبریک می گم تموووم شد حالا کروم رو اجرا کنید و تو صفحه ی chrome://plugins لیست پلاگین هاتون رو ببینید.

جاوا از نسخه ی ۷ به بعد پیش فرض Security Level رو روی Very قرار داد و این یعنی اینکه یکسری از Applet ها رو اجازه ی اجرا شدن بهشون نمی ده از جمله VNC ها برای رفع این مشکل داخل پوشه جاوا رفته و پوشه bin رو باز می کنیم و دستور زیر را می زنیم

javaws -viewer
حالا یه پنجره باز می شه به نام Java Control Panel داخل تب Security می شیم و Security Level رو روی Medium می زاریم 😉

جاوا ۸ وارد می شود

جاوا ۸ در تاریخ ۱۸ مارچ ۲۰۱۴ به صورت رسمی منتشر شد ، با امکانات و پیشرفت هایی که به قول بعضی ها انقلابی در جاوا محسوب می شه.

از آنجایی که توضیح در رابطه با تمام امکانات جاوا ۸ زمان زیادی می بره به چند تا از مهمترین امکانات  اشاره می کنم :
  • Lambda expressions
  • Java fx and new feature
  • Streams
  • Nashorn

Lambda Expressions

Lambda یکی از مهمترین ویژگی های جاوا ۸ محسوب می شه ، که اگه بخوام خلاصه توضیح بدم Lambda Expressions باعث سادگی و جمع و جور شدن کد می شه همین .
وقتی از Lambda استفاده می کنیم در زمان ترجمه به بایت کد ، قطعه کد lambda به یک تابع interface تبدیل می شه ، از این رو می تونیم تو نسخه های قدیمی تر جاوا هم برنامه مون را اجرا کنیم .

مثال زیر نمونه ای است از هنگامی که از Lambda Expressions‌ استفاده می کنیم و زمانی که استفاده نمی کنیم:

button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.out.println(“Action Detected”);}});‍
با استفاده از Lambda
button.addActionListener(e ->{
System.out.println(“Action Detected”);});
یک نمونه از استفاده از نخ ها (Thread خودمون)
Runnable runnable1 = new Runnable() {
@Override
public void run() {
System.out.println(“Running without Lambda”);
با استفاده از Lambda
Runnable runnable2 = () -> { System.out.println(“Running from Lambda”); };
همانطور که نگاه می کنید قطعه کدهای Lambda ساده تر و از خطوط کمتری استفاده می کنند.
سعی می کنم در آینده ای نزدیک درباره Lambda بیشتر توضیح بدم 😉

Java fx and new feature

Stream

stream یک ویژگی جدیده که قبلا تو زبان scala بوده و حالا به جاوا ۸ اومده ، استریم یک عملی را روی تک تک یک مجموعه اجرا می کنه ! که به دو صورت قابل استفاده است : ترتیبی و موازی مثال زیر نمونه کدی است که تمام فروشنده های تویوتا رو پیدا می کنه :
List toyotaSales;
toyotaSales = sales.filter(s -> s.getCar().getBrand().equals("Toyota"))
.collect(toList());
toyotaSales.forEach(System.out::println);

Nashorn

جاوا  ۸ به ما این امکان رو داده تا بتوانیم کد های جاوا اسکریپت رو در JVM اجرا کنیم ، این یعنی اینکه شما می توانید در سمت سرور هم کد جاوا اسکریپت اجرا کنید و حالشو ببرید چیزی شبیه Node.js . که البته این امکان کاربرد های زیادی داره مثلا شما می تونید کد اعتبارسنج سمت کلاینت رو سمت سرور نیز اجرا کنید و امنیتتون رو بالا ببرید . خیلی جالبه هنوز جاوا ۸ نیومده Intellij  یه دیباگر باسه کدهای جاوا اسکریپت تو جاواتون داده !!
 یه مثال کوچولو از اجرای جاوا اسکریپت در جاوا :
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName(“nashorn”);

String js=””;
js += “print(‘Salam Java 8 !!’);”;
engine.eval(js);

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

نصب Oracle JDK 8 بر روی اوبونتو

  1. در مرحله اول به لینک زیر می رویم و JDK لینوکس ۶۴ بیت یا ۳۲ بیت با فرمت Tar.gz را دریافت می کنیم ، البته یادتون نره که باید فیلتر شکن داشته باشید 
  2. فایل دانلود شده را از حالت فشرده خارج می کنیم 
  3. tar -xvf jdk-8-linux-i586.tar.gz (32bit)
    tar -xvf jdk-8-linux-x64.tar.gz (64bit)

  4. بعد از خارج کردن فایل از حالت فشرده فولدرd داریم به نام jdk1.8.0 که باید به مسیر /usr/lib/jvm/ انتقال دهیم ، در صورتی که پوشه ی jvm رو ندارید باید با دستور زیر بسازید
  5. sudo mkdir -p /usr/lib/jvm

  6. فولدر jdk1.8.0 را به مسیر /usr/lib/jvm انتقال می دهیم
  7. sudo mv ./jdk1.8.0 /usr/lib/jvm

  8. برای اینکه Oracle Jdk 8 پیش فرض سیستم شود دستور های زیر را اجرا کنید
  9. sudo update-alternatives –install “/usr/bin/java” “java” “/usr/lib/jvm/jdk1.8.0/bin/java” 1 
    sudo update-alternatives –install “/usr/bin/javac” “javac” “/usr/lib/jvm/jdk1.8.0/bin/javac” 1 
    sudo update-alternatives –install “/usr/bin/javaws” “javaws” “/usr/lib/jvm/jdk1.8.0/bin/javaws” 1

  10. با دستور زیر دسترسی های مورد نیاز جاوا رو بهش می دهیم
  11. sudo chmod a+x /usr/bin/java
    sudo chmod a+x /usr/bin/javac
    sudo chmod a+x /usr/bin/javaws
    sudo chown -R root:root /usr/lib/jvm/jdk1.8.0

  12. دستور زیر را اجرا می کنیم
  13. sudo update-alternatives –config java

    با اجرای دستور بالا لیستی مثل لیست زیر حواهیم داشت

       There are 3 choices for the alternative java (providing /usr/bin/java).

      Selection    Path                                                          Priority     Status
    ————————————————————
      0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
      1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
    * 2            /usr/lib/jvm/jdk1.7.0/bin/java                           1           manual mode
      3            /usr/lib/jvm/jdk1.8.0/bin/java                            1           manual mode

    شماره ی جاوا ۸ رو انتخاب می کنیم و دو تا دستور زیر را همانند دستور بالا اجرا می کنیم

     sudo update-alternatives –config javac
    sudo update-alternatives –config javaws

    تمام شد حالا از کد نویسی با جاوا ۸ لذت ببرید 😉

راحت ترین و بهترین کامپوننت مرورگر برای جاوا JxBrowser

به درستی بهترین کامپوننت مرورگر برای جاوا JxBrowser هستش . قیمت این کامپوننت 1349$ دلار معادل 5,126,200 میلیون تومان به پول ما می شه که واقعا خیلی گرونه , یعنی اگه پراید زیر پامون رو بفروشیم می توانیم فقط ۴ مجوز استفاده از این کامپوننت بخریم .
 JxBrowser لینوکس , ویندوز و مک رو پشتیبانی می کنه و برای نمایش صفحات وب هم از Firefox عزیز کمک می گیره 😉 نسخه کرک شده این کامپوننت رو براتون گذاشتم , حالشو ببرید .

لینک دانلود , کل حجم (106 MB )
دانلود بخش ۱ 
دانلود بخش ۲
دانلود بخش 3
دانلود بخش 4

GWT چیست ؟

gwt یا همان google web toolkit جعبه ابزاری است که برای ساخت صفحات وب پیچیده و مبتنی بر Ajax توسط گوگل توسعه داده شده است. ابزاری رایگان و کدباز که گوگل نیز از این جعبه ابزار برای برخی از پروژهای خود استفاده کرده مانند : blogger , google wave ,google adwords و orkut

جعبه ابزار گوگل شامل api‌های جاوا و ویجت ها است که به ما این امکان را می دهند با جاوا کد نویسی کنیم و بعد از کامپایل در سمت client (مشتری) کد جاوا اسکریپت بهینه شده و قابل اجرا برای تمامی مرورگر ها بدون هیچ برنامه اضافه داشته باشیم . در سمت سرور هم Java EE قدرتمند قرار دارد که به ما اجازه انجام هر کاری را می دهد.

از آنجایی که جعبه ابزار گوگل بر مبنای جاوا کار می کند می توانیم در IDE (محیط کد نویسی مثل eclipse) مورد علاقه ی خود کد نویسی کرده و همانند یک برنامه جاوا دیباگ کنیم و از تمامی امکانات دیباگ جاوا نیز بر خوردار خواهیم بود.

قابلیت های کلیدی gwt

  • مکانیزم RPC (راه حلی ساده برای ارتباط با سرور)
  • مدیریت تاریخچه مرورگر
  • پشتیبانی از تمامی قابلیت های دیباگ جاوا
  • بهینه سازی کد نوشته شده برای انواع مرورگر ها به صورت خودکار
  • فراخوانی توابع جاوااسکریپت و کد نویسی محلی جاوااسکریپت
  • پشتیبانی از شی گرایی (به ارث برده از جاوا) و جلوگیری از بروز خطا در هنگام اجرا با استفاده از try .. catch
  • ویجت های گوناگون که توسط شرکت گوگل و شرکت های دیگر به صورت رایگان فراهم شده اند مانند ext gwt , smartGwt


لینک های مرتبط: