Category Archives: জাভা

জাভা

Video: Create Linux, PHP, and MySQL based software development platform using Oracle Virtual Box

Video: Create Linux, PHP, and MySQL based software development platform using Oracle Virtual Box

Please start at: 2:14:00. as Something went wrong while processing and uploading.
Check the short-note http://sitestree.com/creating-a-lamp-software-development-environment-using-oracle-virtual-box/ to understand the discussion. Actually this short-note was written as part of creating the video.

জাভা – আন্ড্রয়েড প্রোগ্রামিং এর ভাষা। Java and Android Programming.

জাভা - আন্দ্রয়েড প্রোগ্রামিং এর ভাষা।

নাম - ওয়াসী হক।

আন্দ্রয়েড অ্যাপ ডেভেলপমেন্ট করা সবার শখ। আন্দ্রয়েড অ্যাপ বানানোর জন্য যেই ল্যাঙ্গুয়েজটা জানা দরকার, সেইটা হল জাভা। এক্সএমএল ও জাভার সমন্বয়ে আন্দ্রয়েড অ্যাপ ডেভেলপমেন্ট করা হয়। জাভাতে কোডিং বেশ সহজ, কিছু সাধারণ জিনিস মনে রাখতে হয়।

১) এক লাইন কোড লেখার পর অবশ্যই অবশ্যই ";" দিতে ভুলবেন না। নতুন কোডার দের বেশি ভাগ এরর সেমি - কলন না দেওয়ার জন্য হয়।

২) বেশি "মেথড" নিয়ে কাজ করার সময় চেষ্টা করবেন সব ব্র্যাকেট (), {}, [] স্ক্রীনের মধ্যে রাখতে। নতুন অবস্থায় আমি যা ভুল করতাম তা অনেক সময় ব্র্যাকেট ক্লোজ না করার এরর হত।

আমি যেই টিপস গুলো দিলাম, কোন প্রোগ্রামের এই টিপস গুলো আপনাকে দেবে না। একজন কোডার হিশেবে প্রথম প্রথম যেই সমস্যায় আমি পড়তাম, সেইগুলো সমাধান করার চেষ্টা করলাম।

জাভা প্রোগ্রামের কিছু সংক্ষিপ্ত বিষয় জেনে নেই

1. জাভা প্রোগ্রামের কিছু সংক্ষিপ্ত বিষয় জেনে নেই:
Name : Rayhan Kabir
Email : rayhan150792@gmail.com

প্রতিনিয়ত আমাদের বিশ্ব পরিবর্তিত হচ্ছে ক্রমে। আর এর পেছনে যেটা কাজ করে তা হল আমাদের মেধা ও অন্যটি হল প্রযুক্তি যেটা ছাড়া আমাদের বর্তমান চলমান জীবন একমুহূর্ত কল্পনা করতে পারিনা। আর প্রযুক্তির যুগে ব্যবহারিত অন্যতম ডিভাইস হল অ্যাপস সমৃদ্ধ একটি মোবাইল। যা কিনা হতে পারে আপনার চলমান জীবনের অন্যতম সঙ্গী। আর অ্যাপস সমৃদ্ধ একটি মোবাইল যদি আপনার হাতে থাকে তাহলে সারা বিশ্ব আপনার হাতের মুঠোয় সেটা আর বলার আর অপেক্ষা রাখে না । আর এই অ্যাপস সমৃদ্ধ ফোনে যদি আপনার তৈরি একটি অ্যাপলিকেশন কাজ করে তাহলে বিষয় টি চমক দায়ক হবে। তাই অবাক হওয়ার কিছু নেই-আজ আপনাদের সংক্ষিপ্ত কিছু ধারনা দেব। আর ইতিমধ্যে আমরা জাভা সম্পর্কে কিছু ধারনা পেয়েছি, তাই এবার আমরা জানব কিভাবে Runnable Object দিয়ে কেমন করে Thread তৈরি করতে হয় সে সম্পর্কে। আর Runnable Object তৈরিতে যে বিষয় টি ব্যবহার করা হয় তা হল- Custom Runnable Class তৈরি করা । আর সেটা হল-
public class CustomRunnable implements Runnable {
// instance Variables

public CustomRunnable() {
// Constructor
}

@Override
public void run() {
while (!Thread.currentThread().isInterrupted()) {
//do something
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
break;
}
}
}
}

আর উপরোক্ত ফিচার টি Follow কর আপনি Custom Runnable Class তৈরি করতে পারেন।
এবার আসুন জেনে নিই Custom Runnable Class থেকে
// Runnable Object দিয়ে Thread তৈরি করার উপায় :
import necessasy.packagesAndLibraries;
public class MainRunningClass {
public static void main(String[] args) {
CustomRunnable aCustomRunnable = null;
CustomRunnable anotherCustomRunnable = null;

new Thread(aCustomRunnable).start();
new Thread(anotherCustomRunnable).start();

Thread anotherThread=new Thread(aCustomRunnable);
anotherThread.start();

try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
anotherThread.interrupt();
}
}

সুতরাং আপনি এ সকল লিংক কোড ব্যবহার করে আপনি সঠিক ভাবে আপনি Runnable Object খুব সহজে তৈরি করতে পারেন ।
তাই আপনাকে বল আর দেরি কেন ?
তৈরি করুন আপনার পছন্দের আপ্লিকেশন টি !
2. Java
http://salearningschool.com/index.php?table=Articles&categoryID=32&category=Java
উপরে ভিত্ত করে task লেখা ।

PHP, MySQL, Java মূলত এক ধরনের প্রোগ্রামিং ভাষা/Tool

PHP, MySQL, Java মূলত এক ধরনের প্রোগ্রামিং ভাষা। যার মাধ্যমে মূলত Wed Design করা হয়ে থাকে। ডিনামিক Wedsite তৈরীর ক্ষেত্রে এই ভাষা খুবই জানা প্রোয়োজন। আপনি যদি এজন দক্ষ Wed Designer হতে চান তাহলে আপনাকে অবশ্যই PHP, MySQL, Java and .net জানতে হবে।
১/ এবার আসুন জানি প্রোগ্রামিং ভাষা কি?
 প্রোগ্রামিং ভাষা (ইংরেজি ভাষায়: programming language) হচ্ছে এক ধরনের কৃত্রিম ভাষা (artificial language) যা কোন যন্ত্রের, বিশেষ করে কম্পিউটারের আচরণ নিয়ন্ত্রণ করার জন্য ব্যবহার করা হয়। মানুষের মুখের স্বাভাবিকভাষাগুলোর মত প্রোগ্রামিং ভাষাগুলোও বাক্যতাত্ত্বিক (syntactic বা বাক্যস্থিত বিভিন্ন পদের মধ্যে সম্পর্ক কী হবে সে-সংক্রান্ত) ও আর্থ (semantic বা শব্দের অর্থসংক্রান্ত) নিয়ম মেনে চলে।
২/ এবার আসুন জানি PHP, MySQL কি?
 পিএইচপি হচ্ছে একটি স্ক্রিপ্টিং ভাষা যা মূলতঃ চলমান ওয়েব পাতা তৈরির জন্য ডিজাইন করা হয়েছে। ইহা কমান্ড লাইন ইন্টারফেস ক্ষমতাকে অন্তর্ভুক্ত করেছে এবং স্ট্যান্ডআলোন গ্রাফিক্যাল আপ্লিকেশনকে ব্যবহার করতে পারে।
৩/ এবার আসুন জানি Java কি?
 জাভা একটি প্রোগ্রামিং ভাষা। সান মাইক্রোসিস্টেম ৯০এর দশকের গোড়ার দিকে জাভা ডিজাইন করার পরে এটি অতি দ্রুত বিশ্বের সবচেয়ে জনপ্রিয় প্রোগ্রামিং ভাষার একটিতে পরিণত হয়। জাভা'র এই জনপ্রিয়তার মুল কারণ এর বহনযোগ্যতা (portability), নিরাপত্তা, এবং অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ও ওয়েব প্রোগ্রামিং এর প্রতি পরিপূর্ণ সাপোর্ট।
৪/ এবার আসুন জানি .net কি?
 .NET একটি প্রোগ্রামিং ভাষা। যা Microsoft কত্রিক পরিবরতন করা হয়েছে Microsoft Windows পরিছালনা করার জন্য। এটি Database ও Web Design এর কাজেও ব্যাবহার করা হয়ে থাকে।

আল্প কিছু কথায় এই বিষয় গুলো বলা সম্ভব নয়। এর জন্য আপনাকে Video tutorial দেখতে হবে।
এবং আর অনেক বই পরথে হবে।

PHP
http://salearningschool.com/index.php?table=Articles&categoryID=16&category=PHP

Java: জাভা

জাভা

জাভা একটি কম্পিউটার প্রোগ্রামিং ল্যাগুয়েজ । জাভা প্রোগ্রামটির ডেভেলব করেন জেমস্ গসলিং। জাভা প্রোগ্রাম ল্যাগুয়েজ ১৯৯৫ সালে প্রথম প্রকাশ পায়, যার কাজ শুরু হয়েছিল ১৯৯১ সালে। এই সময়ে সবচেয়ে জনপ্রিয় প্রোগ্রামিং ল্যাগুয়েজ হিসেবে ব্যবহার হচ্ছে জাভা প্রোগ্রাম। এটি মূলত সেই ধরনের প্রোগ্রাম যা কাজ করে যেকোন জাভা ভারচুয়াল মেশিনে, যা কম্পিউটার প্রোগ্রামিং ল্যাগুয়েজ শিল্পের আলোড়ন সৃষ্টি করেছে।শুরুতে জাভা প্রোগ্রামটির ডেভেলব প্রতিষ্ঠানের নাম ছিল মারগেড ইনটু ওরাকাল সিস্টেম এখন সান মাইক্রোসিস্টেম্স নামে পরিচিত।জাভা প্রোগ্রাম ব্যবহারের মাধ্যমে প্রোগ্রামের ইনিস্টল সমস্যার সমাধান হয়।সুতরাং কম্পিউটার শিল্পের উন্নয়নের জন্য জাভা কম্পিউটার প্রোগ্রামিং ল্যাগুয়েজ বিশেষ প্রয়োজনীয়।

Java হাইবারনেট: কিভাবে করবেন

Md. Abdul Razzak

হাইবারনেট: কিভাবে করবেনঃ

১. প্রথমত, আপনি যে ফিলেটি ব্যাবহার করবেন তার ডাটাবেস প্যারামিটার নির্ধারনের জন্য তার একটি XML ফাইল তৈরি করতে হবে। ডাটাবেস প্যারামিটারে অন্তর্ভুক্ত হতে পারে: ডাটাবেস ড্রাইভার, ব্যবহারকারীর নাম এবং ডাটাবেসের অ্যাক্সেস পাসওয়ার্ড।
২. তারপর ডাটাবেস টেবিল এর জন্য একটি পারসিস্টেন্ট ক্লাস তৈরি করতে হবে। প্রতিটি টেবিলের কলামের জন্য একটি করে মেম্বার ভেরিয়াবল প্রয়োজন। এছাড়াও, প্রতিটি মেম্বার ভেরিয়াবল এর জন্য আলাদা পদ্ধতি ঠিক করতে হবে।
৩. তারপর টেবিল কলামকে ক্লাস ভেরিয়াবলএ দেখানোর জন্য আরেকটি XML ফাইল তৈরি করতে হবে।
৪. অবশেষে, পারসিস্টেন্ট ক্লাস ব্যাবহার করে টেবিল থেকে ডাটা সংরক্ষণ এবং / অথবা আহরণের জন্য কোড তৈরি করতে হবে।

http://salearningschool.com/displayArticle.php?table=Articles&articleID=702&title=Hibernate:%20A%20simple%20example

আসুন আমরা একটি খুব ছোট এবং খুবই সহজ একটি প্রোগ্রাম দেখি

NAME-Mohammad Raihan
JAVA:
আসুন আমরা একটি খুব ছোট এবং খুবই সহজ একটি প্রোগ্রাম দেখি।প্রোগ্রামটার কাজ হল ২টা সংখা ইনপুট নিবে এবং তাদের আউটপুট দেখাবে।কিন্তু ইনপুট আর আউটপুট এর কাজ পুরোটা হবে গ্রাফিকাল ইউসার ইন্টারফেসেঃ
import javax.swing.*;
public class google {

public static void main(String[] args)
{
String fn=JOptionPane.showInputDialog("Enter your 1st number");
String sn=JOptionPane.showInputDialog("Enter your 2nd number");
int x=Integer.parseInt(fn);
int y=Integer.parseInt(sn);
int z=x+y;
JOptionPane.showMessageDialog(null,"Your reslut is:" +z);

}
}
এখানে একেবারে শুরুতে swing কে ইম্পর্ট করা হয়েছে।পরে মেইন ফাংশন এর ভিতরে ২টি নাম্বার ইনপুট হিসাবে নেওয়া হয়েছে। কিন্তু খেয়াল করলে দেখবেন যে আমরা ২ স্ট্রিং ইনপুট হিসাবে নিয়েছি। এবার আসুন এদেরকে ইন্টিজারে কনভার্ট করি।ইন্টিজারে কনভার্ট শেসে এদেরকে যোগ করে এর মান z এর ভিতর রাখা হল।সবশেষে একে আউটপুট করা হল।

এখানে আপনি আপনার যে নাম্বারটি দিতে চান দেন তারপর ok তে ক্লিক করলে আরেকটি উইন্ডো আসবেঃ

আরেকটি নাম্বারদিন এবং ওকে করুন। দেখবেন তাদের ফলাফল আউটপুট এ দেখাচ্ছেঃ

http://www.sitestree.com

জাভা প্রোগ্রামিং এর ইনহেরিটেন্স পরিচয়

1. আল মুতাসিম বিল্লাহ
sumon47@ymail.com

জাভা প্রোগ্রামিং এর ইনহেরিটেন্স পরিচয়:

আমরা যারা Java এর প্রাথমিক বিষয়ে জানতে চাই জাভা’র ইনহেরিটেন্স তাদের জন্য একটি অতি দরকারি বিষয়। তাহলে আসুন আমরা এই বিষয়ে সংক্ষিপ্তভাবে জানার চেষ্টা করি।

JAVA Inheritance কি?
কোন ক্লাস বা অবজেক্টের বা অন্য কোন ক্লাস বা অবজেক্টের বৈশিষ্ট্য অর্জন করে থাকে যে প্রক্রিয়ায় তাকে উত্তরাধিকার সূত্র বা JAVA Inheritance বলে। একটি প্রোগ্রামে তার প্রোগ্রামাংশ বারবার লেখার থেকে একবার লিখে তা বারবার ব্যবহার করা এর একটি বিশেষ উপকারিতা। প্রোগ্রামে ব্যবহৃত কোন ক্লাস অন্য আরেকটি প্রোগ্রামে ব্যবহার করার সক্ষমতা অর্জন এবং পুরাতন ক্লাস থেকে নতুন ক্লাস তৈরি করার কলা কৌশলকে JAVA Inheritance বলা হয়।
আমরা যদি বাইকের কথা বলি তবে সেটা কয়েক ধরনের হতে পারে, পাহাড়ের বাইক, সমতলের বাইক বা ওয়াটার বাইক। এখন দেখা যাচ্ছে সবগুলোই বাইক কিন্তু তাদের মধ্যে একটি বিশেষ পার্থক্য বিদ্যমান। আর এই সকল বাইকগুলোকে আমরা JAVA Inheritance এর মাধ্যমে হেডিং করতে পারি। সুতরাং আমরা এর মাধ্যমে একটি হেডিং বিন্যাস করে কয়েকটি বাইকের সুবিন্যাস করতে পারি। জাভা প্রোগ্রামিং এর ক্লাস এর সুবিন্যাসের মাধ্যমে আমরা এগুলোকে একই প্রোগ্রামিং এর মধ্যে আয়ত্ত করতে পারি। সাধারণভাবে ব্যবহৃত স্ট্যইট এবং আচরণ উত্তরাধিকার সূত্রে পেতে শ্রেণী অনুমোদন করে। আমরা যদি উদাহরণ দেয় তবে বিষয়টা এমন দাঁড়াবে যে,
Class Mountain Bike extends Water Bike {// new fields and methods defining a mountain bike would go here}
আবার আমরা এটাকে উল্টিয়ে ঠিক এভাবে সুবিন্যস্ত করতে পারি:
Class Water Bike extends Mountain Bike {// new fields and methods defining a water bike would go here}

একটি ক্লাসকে সুবিন্যস্ত করে তাকে ব্যবহার করে আমরা JAVA Inheritance করতে পারি এবং এটা করার দ্বারা আমরা একটি Programming ব্যবহার করে একবার সুবিন্যস্ত করে বারবার ব্যবহার করতে পারি। একটি ক্লাস থেকে programming সুবিন্যস্ত করে যদি আমরা অনুমোদন করি তাহলে সেটি সরাসরি ক্লাসকে super class করতে সাহায্য করে। JAVA Inheritance ব্যবহার করে মূলত আমরা এই কাজগুলো সহজে করতে পারি। আশাকরি এই আলোচনা দ্বারা আপনারা এই বিষয়ে সংক্ষিপ্ত জ্ঞান লাভ করতে সক্ষম হয়েছেন।

2. http://salearningschool.com/searchResult.php?queryStr=java&submit=Search+Database

JSP মধ্যে কাস্টম ট্যাগ্স নির্মাণ

JSP মধ্যে কাস্টম ট্যাগ্স নির্মাণ:

JSP মধ্যে কাস্টম ট্যাগ তৈরি করতে কিভাবে?
আপনি JSP মধ্যে কাস্টম ট্যাগ তৈরি করতে পারেন.
ধাপ:
১. আপনি কাস্টম ট্যাগ অপারেশন নির্ধারণ করা হবে এমন একটি জাভা ফাইল তৈরি করতে হবে ।
২. জাভা ফাইলের জন্য আপনাকে javax.servlet.jsp.tagext.BodyTagSupport প্রসারিত করতে হবে ।
৩. আপনার বাস্তবায়ন, আপনি পুনরায় লিখুন(পুনর্লিখন) doStartTag(), doEndTag()এবং doAfterBody() পদ্ধতিগুল ।
৪. ট্যাগ লাইব্রেরি বর্ণনাকারী ফাইল (.TLD এক্সটেনশন সঙ্গে XML ফাইল) তৈরি করুন ।

উদাহরণঃ

একটি পংক্তি reverses যে একটি ট্যাগ বাস্তবায়ন

import java.io.IOException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTagSupport;

public class ReverseTag extends BodyTagSupport
{
private static final long serialVersionUID = 1L;

//override doStartTag
public int doStartTag() throws JspTagException{
return EVAL_BODY_TAG;
}

//override doEndTag
public int doEndTag() throws JspTagException
{
try {
JspWriter out = pageContext.getOut();
} catch (Exception ex) {
throw new JspTagException("Exception" + ex);
}
return SKIP_BODY;
}

//reverse the text
public int doAfterBody() throws JspTagException
{
BodyContent body = getBodyContent();
try {
JspWriter out = body.getEnclosingWriter();
//get text inside the tag
String bodyContent = body.getString();
//reverse the text
if (bodyContent != null) {
for (int i = bodyContent.length() - 1; i >= 0; i--) {
out.print(bodyContent.charAt(i));
}
}
out.println();
body.clearBody(); // Clear for next evaluation
} catch (IOException ioe) {
throw new JspTagException("Exception at doAfterBody " + ioe);
}
return (SKIP_BODY);
}
}

৫. Taglib বর্ণনাকারী তৈরি করুন

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.
//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname></shortname>
<info></info>
<tag>
<name>stringreverse</name>
<tagclass>net.justetc.taglibrary.ReverseTag</tagclass>
<info>
Reverse the text
</info>
</tag>
</taglib>

৬. কাস্টম ট্যাগ উদাহরণ ব্যবহার

<%@ taglib uri="/WEB-INF/reverse.tld" prefix="reverse" %>

<html>
<head>
<title>Custom Tag library</title>
</head>

<body bgcolor="#ffffff">

<hr />
<reverse:stringreverse>
justetc
</reverse:stringreverse>
<hr />
</body>
</html>

2. Provide the link to our article that you used to write your article:
Your link:
http://salearningschool.com/searchResult.php?queryStr=java&submit=Search+Database

sub link from it:

http://salearningschool.com/displayArticle.php?table=Articles&articleID=668

জাভা হচ্ছে একটি প্রোগ্রামিং এর একটি ভাষা

জাভা হচ্ছে একটি প্রোগ্রামিং এর একটি ভাষা এবং কম্পিউটিং প্লাটফর্ম যেটি প্রথম মুক্তি পায় সান মাইক্রো সিস্টেম কোম্পানী দ্বারা ১৯৯৫ সালে। অনেক প্রোগ্রাম এবং ওয়েবসাইট আছে যেগুলো জাভা সফটওয়ার ইনস্টল না দিলে পরিদর্শন করা যায় না। জাভা হচ্ছে দ্রুত, নিরাপদ এবং নির্ভরযোগ্য একটি প্রোগ্রামিং ভাষা যেটি, ল্যাপটপ, কিম্পউটার, মোবাইল, ডাটা সেন্টার সব ক্ষেত্রে ব্যবহার করা হয়। জাভা অনলাইন গেম খেলার ক্ষেত্রে ব্যবহার করা হয়। সারা বিশ্বের মানুষের সাথে অনলাইন কথোপকথোনের জন্য জাভা সফটওয়ার কাজে লাগে। জাভা একটি উ্চ্চতর প্রোগ্রামিং এর একটি ভাষা এবং শক্তিশালী সফটওয়ার প্রোগ্রাম। এটি বিভিন্ন অপারেটিং সিস্টেমে একই প্রোগ্রাম সচল রাখতে সহায়তা করে। তাই বলা যায় যে, জাভা কম্পিউটার প্রযুক্তির ক্ষেত্রে অনেক গুরুত্বিপূর্ণ ভূমিকা পালন করে, কেননা এটি ছাড়া কম্পিউটারে শক্তিশালী onek সফটওয়াই চালানো যায় না। তাই বর্তমানে ইন্টারনেটের যুগে জাভা প্রোগ্রামের ভূমিকা অপরিসীম।

কন্ট্রোল স্টেটমেন্ট (জাভা)

কন্ট্রোল স্টেটমেন্ট (জাভা)
আনোয়ার জাহিদ

কন্ট্রল স্টেটমেন্ট বলতে এখানে বুঝাতে চাচ্ছি এমন কিছু কোড যা আপনার প্রোগ্রামকে নিয়ন্ত্রন করবে। অথবা বলা যায় আপনি আপনার কম্পিউটার কে সিদ্ধান্ত নিতে সাহায্য করতে পারবেন এই কন্ট্রল স্টেটমেন্ট এর সাহায্যে।

যেমন ধরুন কেউ আপনাকে একটা সংখা দিয়ে বলল যে বলতো দেখি সঙ্খাটি জোড় নাকি বিজোড়? তাহলে আপনার মাথায় এই রকম একটা চিন্তা আসবে যে সংখা টি যদি ২ দিয়ে ভাগ যায় তাহলে সেটা জোড় সংখা না হয় তা বিজোড় সংখা।কিন্তু যদি এই একই জিনিসটা কম্পিউটার দিয়ে করতে বলা হয় তাহলে কিভাবে করবেন? আমাদের একটা জিনিস মাথায় রাখতে হবে কম্পিউটার খুব বোকা একটা যন্ত্র।আমরা মানুষ একে চালাক বানাবো। একে সিধান্ত নিতে শিখাবো। আসুন তাহলে আমরা এই প্রব্লেমটার ই জাভাতে কিভাবে করবেন তা দেখে নেই।
public class microsoft {
public static void main(String[] args)
{
int i=10;
if(i%2==0)
{
System.out.println("The number is even");
}
else
{
System.out.println("The number is odd");
}
}
}

উপরের প্রোগ্রামটির দিকে লহ্ম্য করলে আমরা দেখতে পারব যে,প্রথমে একটি ভেরিয়েবল i এ ১০ কে স্টোর করা হয়েছে। তারপর একটি শর্ত যুরে দেয়া হয়েছে যে যদি তা ২ দিয়ে ভাগকরলে ভাগশেষ ০ হয় তাহলে সংখাটি জোড় না হয় বেজোড়। এখানে যদি if দিয়ে এবং না হয় else দিয়ে বুঝানো হয়েছে। এখন আপনারা ১০ এর পরিবর্তে কোন বিজোড় সংখা দিয়েও জিনিসটা দেখতে পারেন। এটা অনেক সাধারন একটা সমস্যা ছিল। যদি কখনও এমন হয় যে একটি সমস্যার সমাধানের জন্য অনেক গুলো শর্ত থাকে তাহলে সেহ্মেত্রে প্রথম্বার if দিয়ে পরের প্রতিবারের জন্য else if লাগাতে হবে এবং একেবারে শেষবারের জন্য শুধু else লাগাতে হবে। এরকম একটি কোড এর Syntax নিচে দেয়া হলঃ

এছাড়া জাভাতে nested if বলে একটা কথা আছে। এই যেমন যদি কখনো শর্তের মধ্যে আবার শর্ত আসে তাহলে if{ } এর মধ্যে if{},else if{},else{} ব্যবহার করা যাবে। কিন্তু অবশ্যিই বন্ধনি”{” “}” গুলোর দিকে খেয়াল রাখতে হবে যাতে ওলট পালট হয়ে না যায়। নিচে Syntax দেখানো হলঃ

এখন আমরা জাভাতে Switch case নিয়ে আলাপ আলোচনা করব। এটিও একটি বিশেষ ধরনের কন্ট্রল স্টেটমেন্ট। এটি দিয়ে কিভাবে কাজ করানো যায় তা আমরা একটু দেখি।
public class facebook {
public static void main(String[] args)
{
String i="March";
switch(i)
{
case "january":
System.out.println("I contains January");
break;
case "february":
System.out.println("i contains February");
break;
case "March":
System.out.println("i contains March");
break;
default:
System.out.println("i contains a normal String");
}
}
}

এখানে প্রথমে i এর ভিতর “March” কে নেওয়া হয়েছে। বলে রাখা ভাল এখানে I এর ডাটা টাইপ হল string । তারপর switch case শুরু করা হয়েছে । switch case ব্যবহার এর নিয়ম হল যেই ভেরিয়েবল টি আমরা চেক করতে চাই ওইটা switch এর parameter হিসাবে switch() এর ভিতর দিতে হবে যেমন এখানে আমরা দিয়েছি switch(i) কারণ আমরা i কে চেক করতে চাই। তারপর case লিখে স্পেস দিয়ে ওইসব মান দিতে হবে যা দিয়ে আপনি চেক করতে চান তাকি আপনার শর্তগুলো মানে নাকি। যদি মানে তাহলে তা একটি নির্দিস্ট কাজ করবে এবং পরে তা থেকে বেরিয়ে আসবে break এর সাহায্যে। যেমন আমি এখানে চেক করেছি i এর মান “March” হলে তা প্রিন্ট করবে “I contains March” আর যদি i এর মান হয় January তাহলে প্রিন্ট করবে “I contains January” আর যদি i এর মান হয় February তাহলে প্রিন্ট করবে “I contains February” আর যদি ৩ টির একটিও i এর মান না হয় তাহলে তা প্রিন্ট করবে “I contains a normal string”।

এখন নিম্নের প্রব্লেম গুলো চেস্টা করুন।

১) একটি বছর একটি ভেরিয়েবল এ নিন যেমন i=1992, এখন বের করুন এই বছরটি কি লিপ ইয়ার নাকি লিপ ইয়ার না। যেমন

Leap year হলে প্রিন্ট করবে “This year is Leap year” আর না হলে প্রিন্ট করবে “Sorry,this year is not Leap year” । এটি করবেন if, else ব্যবহার করে।

২)ঊপরের দেখানো Switch case এর প্রব্লেমটি if else দিয়ে implement করুন।

বাংলায় শিখুন জাভা! জাভা ব্যাসিক

বাংলায় শিখুন জাভা! জাভা ব্যাসিক
March 4, 2014

জাভা বাংলা টিউটোরিয়াল এ স্বাগতম।

আজকে আমরা জাভার নতুন আরো ফীচার সম্পর্কে জানবো |

আজকের টপিক Array, String এবং Vector |

তাহলে এইবার আসি Array, String এবং Vector আসলে কি…

Array কী ?

Array হলো এমন একটি ভ্যারিয়েবল যেটি কতগুলো ডেটার সমষ্টি |সহজ ভাষায় , array হল একই টাইপের কতগুলো ভ্যারিয়েবলের সেট |

জাভাতে array ডিক্লেয়ার করতে হই টিক এই ভাবে :

DataType ArrayName [];

ArrayName =new DataType [ArraySize];

Or

DataType ArrayName []=new DataType [ArraySize];

Or

DataType ArrayName []={1,2,3};

array মূলত ৩ প্রকার হয়ে থাকে :
১) One Dimensional
২) Two Dimensional
৩) Multi Dimensional

Two Dimensional:

DataType ArrayName [][]=new DataType [ArraySize1] [ArraySize2];

Three dimension or Multi dimension array খুব কমই use হই
বেশি use হই one and two dimension array

টিক আগের মতই আমরা for loop আর array combine kore আমরা যোগ করব
কোড :

public class Method {
public void FORLoopAndArrayProcess(){
int sum=0;
int a[]=new int[10];
for(int i=1;i<=10;i++)
{
sum=sum+a[i];
System.out.println(sum);
}
}
}

public class Main {
public static void main(String[] args) {
Method m=new Method();
m.FORLoopAndArrayProcess();

}

}

এইটা হলো one dimension array এর example ।
two dimension array আমরা use করি ম্যাট্রিক্স represent করার জন্য
ম্যাট্রিক্স represent করার কোড :

//Name : M. Raihan , Khulna University , Bangladesh
public class Method {

public void FORLoopAndArrayProcess(){

int a[][]={{1,2,3},{4,5,6},{7,8,9}};
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++){
System.out.print(a[i][j]+”\t”);
}
System.out.print(“\n”);
}

}
//Name : M. Raihan , Khulna University , Bangladesh

public class Main {

public static void main(String[] args) {
Method m=new Method();

m.FORLoopAndArrayProcess();

}

}

Array আপাতত এইটুকুই পরে আরো অ্যাডভান্স ফীচার পরে দেখব |

এখন আসা যাক String কী ?
স্ট্রিং হল কতগুলো character এর সমষ্টি অর্থাৎ স্ট্রিং হল characters এর সেট

স্ট্রিং ডিক্লেয়ার :

String name;

name=new String(“This is java String”);

এইখানে খেয়াল করলে দেকতে পাবা জ this ,is ,java এই সব গুলি এক একটি character আর এই গুলোর সমষ্টি রূপই হলো সেই স্ট্রিং

স্ট্রিং এর অনেক built in মেথড আসে । নিচের এই লিংক এ ক্লিক করলে built in মেথড গুলোর চার্ট দেখতে
পাওয়া যাবে

string1

কোডিং example :

//Name : M. Raihan , Khulna University , Bangladesh
public class Method {

public void StringProcess(){

String s1 = “JavaString”;
System.out.println(“S1 = ” + s1);
int length = s1.length();
System.out.println(“S1 lenth = ” + length);
System.out.println(“S1 lowercase = ” + s1.toLowerCase());
System.out.println(“S1 uppercase = ” + s1.toUpperCase());
System.out.println(“S1 replace a with z = ” + s1.replace(‘a’,’z’));
System.out.println(“S1 indexOf(‘e’)= ” + s1.indexOf(‘e’));
System.out.println(“S1 lastindexof(‘e’) = ” + s1.lastIndexOf(‘e’));
String s2 = “Examples”;
System.out.println(“S2 = ” + s2);
System.out.println(“S1 and S2 trim = ” + s1.trim() + s2.trim());
System.out.println(“S1 and S2 equals = ” + s1.equals(s2));
System.out.println(“S1 and S2 equals ignoring case = ” + s1.equalsIgnoreCase(s2));
System.out.println(“S1 and S2 compareTo = ” + s1.compareTo(s2));
System.out.println(“S1 and S2 concate = ” + s1.concat(s2));
System.out.println(“S1 substring(n) = ” + s1.substring(5));
System.out.println(“S1 substring(n,m) = ” + s1.substring(5,8));
System.out.println(“S1 toString() = ” + s1.toString());
int i = 100;
System.out.println(“S1.valueOf(variable) = ” + (s1.valueOf(i)).length()); // converts the parameter to string
System.out.println(“Start with ” + s1.startsWith(“P”));
System.out.println(“Start with ” + s1.endsWith(“y”));

}
}
//Name : M. Raihan , Khulna University , Bangladesh

public class Main {

public static void main(String[] args) {
Method m=new Method();

m.StringProcess();
}

}

Beginner দের স্ট্রিং সম্পর্কে আপাতত এইটুকু জানলেই হবে ।

এখন আসা যাক ভেক্টর (Vector ) আসলে কি ?
না এইটি কিন্তু math এর ভেক্টর না , এটা সম্পূর্ণ আলাদা ।
ভেক্টর :

আমরা জানি array একটা size ডিক্লেয়ার করা লাগে কিন্তু কখনো যদি আমাদের এই রকম situation আসে যে
আমাদেরকে নির্ধারিত array দিয়ে কাজ হত্ছে তখন আমরা ভেক্টর use করি ।
অর্থাৎ ভেক্টর হলো একটি Dynamic Array । এর কোনো size ফিক্সড না আমরা সুবিধা অনুসারে এটাকে use করতে
পারব

ভেক্টর java.util.* এই package এর আওতাভুক্ত । package সম্পর্কে নেক্সট টিউটোরিয়াল এ আমরা জানব ।

স্ট্রিং এর মত ভেক্টর এরও কিছু built in মেথড আছে
নিচের লিংক এ কিছু মেথড দাওয়া হলো :

import java.util.*;
//Name : M. Raihan , Khulna University , Bangladesh
public class Method {

public void VectorProcess(){

// initial size is 3, increment is 2
Vector v = new Vector(3, 2);
System.out.println(“Initial size: ” + v.size());
System.out.println(“Initial capacity: ” +
v.capacity());
v.addElement(new Integer(1));
v.addElement(new Integer(2));
v.addElement(new Integer(3));
v.addElement(new Integer(4));
System.out.println(“Capacity after four additions: ” +
v.capacity());

v.addElement(new Double(5.5));
System.out.println(“Current capacity: ” +
v.capacity());
v.addElement(new Double(6.8));
v.addElement(new Integer(7));
System.out.println(“Current capacity: ” +
v.capacity());
v.addElement(new Float(9.4));
v.addElement(new Integer(10));
System.out.println(“Current capacity: ” +
v.capacity());
v.addElement(new Integer(11));
v.addElement(new Integer(12));
System.out.println(“First element: ” +
(Integer)v.firstElement());
System.out.println(“Last element: ” +
(Integer)v.lastElement());
if(v.contains(new Integer(3)))
System.out.println(“Vector contains 3.”);
// enumerate the elements in the vector.
Enumeration vEnum = v.elements();
System.out.println(“\nElements in vector:”);
while(vEnum.hasMoreElements())
System.out.print(vEnum.nextElement() + ” “);
System.out.println();

}
}

//Name : M. Raihan , Khulna University , Bangladesh

public class Main {

public static void main(String[] args) {
Method m=new Method();

m.VectorProcess();

}

}

আশা করি আজকে তোমরা নতুন কিছু শিখলে ,নেক্সট টিউটোরিয়ালে আরো নতুন কিছু আমরা শিখব

আজকে আর না নেক্সট টিউটোরিয়াল দেওযার আগে এই গুলো practice কর তা নাহলে পরে
অনেক জিনিস বুজবা না ।
সবাই ভালো থেকো আর আমার জন্য দোয়া করো যাতে নেক্সট টিউটোরিয়াল সময় মত দিতে পারি

AJAX

AJAX
--------
ওয়েবে, ওয়েব ডেভেলপার থেকে শুরু করে সাধারণ ব্যবহারকারি পর্যন্ত, সবার কাছে গত কয়েক বছর ধরে যে শব্দটি গুঞ্জনে পরিণত হয়েছে তা হচ্ছে AJAX . হাজারো ওয়েব application তৈরি হয়েছে ও হচ্ছে এই প্রযুক্তির উপর ভিত্তি করে। কিন্তু কী এই AJAX ?
Ajax = পুরোন প্রযুক্তির নতুন ব্যবহার

Ajax এর পুরো অর্থ হচ্ছে Asynchronous JavaScript and XML. Ajax কোন প্রোগামিং ল্যাংগুয়েজ নয় বরং এটি একটি প্রযুক্তি। একটি প্রযুক্তি বলা ভুল হবে বরং ওয়েব ডেডেলপমেন্টে ব্যবহৃত হয় এমন কতগুলো প্রযুক্তির সমষ্টি মাত্র। XHTML, CSS, DOM , XML, JavaScript এই প্রযুক্তি গুলো ওয়েব ডেভেলপমেন্টের ক্ষেত্রে এমনিতেই ব্যবহৃত হয়। আর Ajax হচ্ছে এই প্রযুক্তি গুলো মিলিয়ে তৈরি একটি নতুন প্রযুক্তি।
AJAX এর নাম করণ

জেসি জেমস গ্যারেট, ২০০৫ সালের ১৮ অক্টোবরে তার প্রকাশিত লেখা Ajax: A New Approach to Web Applications মাধ্যমে সর্বপ্রথম Ajax এর নামকরণ করেন। অর্থাৎ এজাক্স শুধু নামেই নতুন, এজাক্স -এই শব্দটি ওয়েবে আসার আগেই গুগল ম্যাপ, গুগল সাজেস্ট অ্যাপলিকেশন গুলো তৈরি হয়। গ্যারেটের নাম করণের মাধ্যমে AJAX তার একটি নিজেস্ব নাম পায়। যে সব টেকনোলজি নিয়ে এজাক্স গঠিত সেগুলো ওয়েবে আগেই ব্যবহৃত হত এবং এখনও ব্যবহৃত হয়।

সিলিকনভেলির ওয়েব ডেভেলপমেন্ট ফার্মের ডাইরেক্টর গ্যারেট তার লেখায় বলেন যে, এজাক্স মূলত পাঁচটি প্রযুক্তির সমন্বয়ে গঠিত। আসুন দেখি গ্যারেট তার লেখায় Ajax কে কী ভাবে বর্ণনা করেছেন।
তার আগে বুঝে নিন

ওয়েব পেইজে আমার যখন কোন লিংককে ক্লিক বা কোন ফরম সাবমিট করি তখন আপনার browser টি server কে বলে আমাকে অমুক পেইজটি দাও বা অমুক কাজটি কর এই প্রক্রিয়াটিকে বলে request পাঠানো। আর ওয়েব সার্ভার আপনার browser এই request গ্রহন করে উত্তর সরূপ আপনাকে পাঠায় আপনার কাঙ্ক্ষিত পেইজ। একে বলে response দেওয়া। অর্থাৎ browser, server কে request পাঠায় আর সার্ভার তা process করে তার response আবার Browser কে পাঠায়। তবে উল্টোও ঘটতে পারে। শুধু এতটুকু বুঝে নিন যে browser request পাঠায় আর server পাঠায় response।

Ajax -এ যে যে প্রযুক্তি যে জন্য ব্যবহৃত হয়

XHTML ও CSS:

এজেক্স এ XHTML ও CSS দিয়ে অ্যাপলিকেশনের Interface তৈরি করা হয়। XHTML হচ্ছে HTML এর Latest ভাসর্ন এতে কিছু নতুন Specification ( HTML কোড লেখার নিয়মনীতির ) পরিবর্তন ও সুনির্দিষ্ট করা হয়েছে মূল HTML এর আমূল কোন পরিবর্তন নয়। আর CSS হচ্ছে Style Sheet যার মাধ্যমে HTML এর বিভিন্ন উপাদানকে নিয়ন্ত্রন করা হয় এবং Style প্রদান করা হয়।

DOM বা Document Object Model:

User Interface -এর যে কোন স্থান বা অংশ যখন পরিবর্তন করা হয় বা পরিবর্তন করার প্রয়োজন হয় যেমন নতুন কোন Block যুক্ত করা বা নির্দিষ্ট কোন অংশে ( DIV -এ ) নতুন কোন information বা element যুক্ত করা, গ্যারেট এর লেখা অনুযায়ী এর পরিবর্তন করার জন্য Ajax এ ব্যবহৃত হয় DOM বা Document Object Model. DOM বা Document Object Model হচ্ছে এমন একটি Application Interface যা বেশির ভাগ ব্রাউজার সাপোর্ট করে এবং যার মাধ্যমে ব্রাউজারে - এ visible এমন উপাদান গুলোকে পরিবর্তনের মাধ্যমে User Interface পরিবর্তন করা যায়।

XML বা Extensible Markup Language:

গ্যারেটের মতে Ajax প্রযুক্তিতে সার্ভার ও ব্রাউজারের মধ্যে সকল ডেটা আদান প্রদান করে XML format -এ। XML হচ্ছে HTML এর মত একটি Markup Language. HTML -এ এর Markup গুলো নির্দিষ্ট করা যেমন <p>, <a>, <span> ইত্যাদি। HTML লেখতে হলে আপনাকে এই নির্দিষ্ট tag গুলোই ব্যবহার করতে হবে। আর XML -এর আপনি আপনার নিজের ইচ্ছা মতো tag তৈরি ও ব্যবহার করতে পারবেন যেমন <product>, <id>, <item> তবে HTMLও XML কিন্তু একে অন্যের replacement নয়। HTML এর কাজ Information Display করা আর XML এর কাজ হচ্ছে data বা information carry করা। দুটোর উদ্দেশ্য আলাদা আলাদা।

XMLHttp:

উপরে যা বুঝেছিলেন তা এখন কাজে লাগান। সাধারণ ভাবে ওয়েব সার্ভারে কোন Request পাঠানো হলে সেই response এর result দেখাতে পুরো ওয়েব পেইজটি refresh হওয়ার প্রয়োজন হয়। অর্থাৎ পুরো interface টি hypered হয় বা বলতে পারেন লাফ দেয়। Ajax প্রযুক্তি মূল উদ্দেশ্যই হচ্ছে hyped Interface থেকে মুক্তি দেওয়া, অর্থাৎ পুরো UI ( User Interface ) এর কোন রকম পরিবর্তন না ঘটিয়ে সম্পূর্ণ background -এ বা asynchronously browser থেকে server এ request পাঠানো এবং ব্রাউজের পাঠানো request process করে response পাঠানো। Asynchronous মানে হচ্ছে ব্রাউজার কর্তৃক পাঠানো কোন request এর respond এর জন্য অপেক্ষা না করে তা background -এ সম্পন্ন করা। আর এ কাজের জন্য ব্যবহা করা হয় XMLHttp.XMLHttp হচ্ছে বেশিরভাগ ব্রাউজার সাপোর্ট করে এমন একটি object (যদিও IE6 করে না)। যার মাধ্যমে browser, server -এর process জন্য যে কোন request পাঠিয়ে তার responce পেতে পারে।

Javascripts:

Javascript এই সব কিছুকে এক সাথে বেঁধে ফেলে। ছবিটি দেখে মিলিয়ে মিলিয়ে পড়ুন তাহলে বুঝতে সুবিধাহবে।

(১) Javascript user এর interaction ( click, submit, keypress ) monitor করে। যেমন কোন ক্লিক হল কিনা, কোন ফর্ম সাবমিট বা keypress হল কিনা।(২) হলে, Javascript, serverএর সাথে communicate করার জন্য XMLHttp request তৈরি ও সক্রিয় করে। (৩) এরপর Javascript, ব্রাউজার কতৃক পাঠানো প্রয়োজনীয় information, XML format এ পাঠানোর জন্য এক সাথে package করে সার্ভারে পাঠায় । (৪) Javascript XHTML ও CSS দিয়ে তৈরি করা ইন্টারফেসের প্রয়োজনীয় অংশ DOM Access এর মাধ্যমে পরিবর্তন করে (৫) user কে জানান দেয় যে request সফল হয়েছে কি হয় নি।
কিন্তু

AJAX এর এই ধারণা বা মডেলটি গ্যারেট তার Article-এ পেশ করেন। গ্যারেটের এই AJAX মডেলটি Ajax এর একদম মৌলিক মডেল। যদিও গ্যারেটেই প্রথম Ajax এর মৌলিক মডেল প্রদান করেন এবং এর নাম করণ করেন কিন্তু তা পরিপূর্ণ নয়। গ্যারেট AJAX এর যে মডেল ও নাম করণ করেন তার মধ্যে বেশ কিছু সীমাবদ্ধতা আছে যার মাধ্যমে Ajax -এ ক্ষমতা পরিপূর্ণ ভাবে প্রকাশ পায় না।

2.http://salearningschool.com/

জাভা Interface এবং Implement তৈরি করা:

জাভা Interface এবং Implement তৈরি করা:

নাম: মুতাসিম বিল্লাহ সুমন

জাভা (JAVA) একটি কম্পিউটার ভাষা। আমরা একে প্রোগ্রামিংও বলতে পারি। জাভা প্রোগ্রামিং আসলে জটিল একটি বিষয়। এই প্রোগ্রামিং দ্বারা সহজে কম্পিউটারের ল্যাংগুয়েজকে সম্পাদনা করা যায়। তবে জাভা কম্পিউটারের একমাত্র ল্যাংগুয়েজ নয়। এছাড়াও কম্পিউটারের আরও ল্যাংগুয়েজ আছে। বর্তমানে জাভা প্রোগ্রামিংয়ের এর কাজ বিস্তার লাভ করেছে এন্ড্রয়েড অপারেটিং সিস্টেমের কারণে।
জাভা প্রোগ্রামিং একটি বিশাল পরিসরের আলোচনা বা শিক্ষার বিষয়। আজকে ছোট্ট পরিসরে আমরা জাভা ল্যাংগুয়েজ বা প্রোগ্রাম ব্যাবহার করে খুব সহজে Java Interface এবং Java Interface Implement করা শিখবো। তাহলে আসুন শুরু করা যাক।
জাভা মূলত একটি ভাষা বা প্রোগ্রাম। সুতরাং এখানে মূলত যে কাজ গুলো করা হয় তার সবই করতে বিভিন্ন কম্পিউটার কোড ব্যবহার করা হয়।

জাভা Interface তৈরি করা :
জাভা Interface তৈরি করতে হলে অবশ্যই আমাদের বেশ কিছু কোডিং ব্যবহার করতে হবে। মূলত এই কোডিংগুলোই তার একটি নির্দিষ্ট ভাষা দ্বারা এটা পরিচিত করবে। ঠিক এটা Class এরই মতো একটি ভাষা। জাভা Interface তৈরি করতে হলে আমাদের কোন কোডিং গুলো ব্যাবহার করতে হবে আসুন আমরা নিচে দেখার চেষ্টা করি।

public interface InterfaceName {public void methodName(parameters);
//method declaration
public void method2Name(parameters); //method declaration}

এই কোডিং দ্বারা সহজে আমরা জাভা Interface তৈরি করতে পারি। এবার দেখা যাক Java Interface Implement সম্পর্কের কোডিং সম্পর্কে।

জাভা Interface implement করা :
Java Interface Implement কোডিং করার জন্য আমাদের এখানেও বেশ কিছু কোড ব্যবহার করতে হবে। আসুন আমরা কোডগুলো একবার দেখে নেয়।

public NewClass extends SuperClass implements interfaceOne, interfaceTwo{

 

//Class body @Override
public void methodName(parameters){//method implementation}
@Override public void method2Name(parameters){//method implementation

}

@Override
public void methodInSecondInterfaceOne(parameters){

//method implementation

}

@Override public void methodInSecondInterfaceTwo(parameters){
//method implementation

}

}
আশাকরি জাভা প্রোগ্রামিং এর উপর এই দুটি বিষয়ের কোডিং সম্পর্কে এই আলোচনার মাধ্যমে অনেক উপকার পেয়েছেন। পরবর্তীতে আরও আলোচনা উপস্থাপন করা হবে।

JSF এ ইউজার ইনপুট ভেলিডেটিং করা

JSF এ ইউজার ইনপুট ভেলিডেটিং করাঃ

M A Razzak

• টার্গেট: ইন্টারমেডিয়েট লেভেল ওয়েব ডেভেলপার।
• এই নিবন্ধটি জন্য নমুনা এপ্লিকেশন পেতে ক্লিক করুনঃ http://salearningschool.com/codes/jsf/validation.rar
• এই নিবন্ধটি জন্য ভিডিও টিউটোরিয়াল পেতে ক্লিক করুনঃ http://www.justetc.net/knowledge/multimedia_training/displayArticle.php?table=TrainingVideos&articleID=10
• ওয়েব এপ্লিকেশন ডেভেলপমেন্টে ইউজার ইনপুট ভেলিডেটিং করা অনেক কস্টসাধ্য। কিন্তু JSF স্বাভাবিকের তুলনায় ভেলিডেশন অনেক সহজ করেছে।
• JSF বিল্ড-ইন ভেলিডেটর:
 ভেলিডেট ডাবল রেঞ্জ : প্রদত্ত ভেলু একটি ডাবল ভেলু কিনা তা চেক করে। এছাড়াও আপনি একটি সর্বনিম্ন এবং সর্বোচ্চ ভেলু সেট করতে পারেন।
 ভেলিডেট লং রেঞ্জ : ইনপুট লং কিনা তা ভেলিডেট করে। এটিরও একটি সর্বনিম্ন এবং সর্বোচ্চ প্যারামিটারের অপশন থাকে।
 ভেলিডেট লেন্থ: এটি স্ট্রিং এর লেন্থ ভেলিডেট করে।
 সর্বনিম্ন এবং সর্বোচ্চ মান ছাড়া এই ভ্যালিডেটর আসলে কিছই করতে পারেনা।
• নিম্নলিখিত ভাবে আপনি আপনি একটি মান নিরধারন করতে পারেন। কোন ভেলু প্রদান করা না হলে, একটি এরর ম্যাসেজ প্রদর্শন করে।

<h:inputText id="origin" value="#{bus.origin}" size="35" required="true"/>

• আপনার আপনার নিজস্ব ভেলিডেটর তৈরি করতে পারেন যা javax.faces.validator.Validator interface বাস্তবায়ন করে।
• আপনাকে অবশ্যই ভেলিডেট পদ্ধতি বাস্তবায়ন করতে হবে। ভেলিডেটর এক্সেপশনের মাধ্যমে (FacesContext arg0, UIComponent arg1, Object arg2) ভেলিডেট করতে হবে।
• এরর কন্ডিশনে আপনাকে ভেলিডেটর এক্সেপশনের হতে ভেলিডেট পদ্ধতি ছাড়তে হবে।
• এরপর আপনাকে নিচের আইডি ব্যবহার করে faces-config.xm ফাইলে কাস্টম ভেলিডেটর রেজিস্টার করতে হবে।
<validator>
<validator-id>currency.validator</validator-id>
<validator-class>net.justetc.jsf.CurrencyValidator</validator-class>
</validator>
• আপনার JSP থেকে আপনি নিচের মত ভেলিডেটর রেফার করেতে পারেন:

<h:inputText id="salary" value="#{employee.salary}">
<f:validator validatorId="currency.validator"/>
</h:inputText>

Written from:
http://salearningschool.com/displayArticle.php?table=Articles&articleID=875

প্রোগ্রামিং সম্পর্কে আমাদের সবার ভীতি আছে? কিন্তু কম্পিউটার মানেই প্রোগ্রামিং

আপনাদের সবাইকে স্বাগতম। আপনারা সবাই হয়তো জানেন প্রোগ্রামিং কি? আপনাদের মনে প্রোগ্রামিং সম্পর্কে ভীতি থাকতে পারে? তবে আমি এখন থেকে তা দূর করবো। আমি আজ থেকে জাবা প্রোগ্রামিং এর যাত্রা শুরু করতে যাচ্ছি প্রোগ্রামিং সম্পর্কে আমাদের সবার ভীতি আছে? কিন্তু কম্পিউটার মানেই প্রোগ্রামিং। প্রোগ্রামিং কোন কঠিন কিছু না। একটু শিখলেই আপনার কাছে সহজ মনে হবে। প্রোগ্রামিং হলো আপনি যা বলবেন কম্পিউটার আপনার জন্য করবে।

programming জাভা প্রোগ্রামিং বাংলা ভিডিও টিউটোরিয়াল | পর্বঃ২

প্রোগ্রামিং এর মধ্যে জাভা একটা ল্যাংগুয়েজ। এবং জাভা একটি জনপ্রিয় প্রোগ্রামিং ল্যাংগুয়েজ।

প্রোগ্রামিং এর পর্যায় এলে আমরা দূরে যাই , ভাবী প্রোগ্রামিং আমার জন্য নয়। যারা মেধাবি, গণিত ভাল জানে তাদের জন্য।

মেধাবী আপনিও , আপনিও প্রোগ্রামিং করতে পারেন । এজকেই প্রোগ্রামিং এর খাতায় আপনার নাম লিখিয়ে নিন।

প্রোগ্রামিং হল কম্পিউটার কে বলা যে কম্পিউটার আপনার জন্য কি করবে।

আমারা সবাই অপারেটিং সিস্টেম ব্যবহার করি কেও উইন্ডোজ আবার কেও বা লিনাক্স আবার কেও ম্যাক।

এই অপারেটিং সিস্টেম গুলো প্রোগ্রামিং দিয়ে তৈরি।

উইন্ডোজ ডেভেলপ করা হয়েছে C প্রোগ্রামিং ল্যাংগুয়েজ দিয়ে ।

তবে বিলিয়ন ডিভাইস জাভা দিয়ে চলছে ।

যেমন আমারা অনেকে Android মোবাইল অপারেটিং সিস্টেম সম্পর্কে জানি।

সেই APP গুলো জাভা দিয়ে ডেভেলপ করা, আপনিও করতে পারেন ।

তবে প্রথমে আপনাকে বেসিক জাভা জানতে হবে।

আমি বাংলায় পরগ্রাম্মিং তুলে ধরব আপনাদের সামনে এবং তা ভিডিও এর মাধমে।

সুতরাং প্রোগ্রামিং আপনাদের কাছে সহজ হয়ে যাবে।

কিছু প্রোগ্রামিং নিয়ে প্রশ্ন এবং উত্তরঃ

১। আমি জাভা দিয়ে প্রোগ্রামিং শুরু করতে চাই আমার কি এর আগে অন্য কোন প্রোগ্রামিং ল্যাংগুয়েজ জানতে হবে;

উত্তরঃ আপনাকে কোন ল্যাংগুয়েজ জানতে হবে নাহ, আপনি জাভা দিয়ে শুরু করুন । এবং আপনার কাছে আমি বাংলায় সহজ ভাবে উপস্থাপন করব।

২। আমাকে কি গণিত এ পারদর্শী হতে হবে?

উত্তরঃ অবশ্যই নাহ! আপনাকে শুধু যোগ, বিয়োগ, গুণ ,ভাগ জানলেই হবে। তবে গেম ডেভেলপ করতে গেলে আপনাকে একটু গণিত জানতে হতে পারে তবে প্রথমের দিকে একে বারেই নাহ!
resource:MySQL
http://salearningschool.com/searchResult.php?queryStr=mysql&submit=Search+Database

MongoDB

মন্গোডিবি একটি ক্রস প্ল্যাটফর্ম নথি ভিত্তিক ডাটাবেস সিস্টেম। এটি নো.এস.কিউ.এল ডাটাবেস হিসাবে শ্রেণীবদ্ধ। এটি পরিধি জিজ্ঞাস্য, রেগুলার এক্সপ্রেশন অনুসন্ধান সমর্থন করে। প্রশ্ন নথি নির্দিষ্ট ক্ষেত্র প্রত্যাবর্তন এবং ব্যবহারকারী সংজ্ঞায়িত জাভাস্ক্রিপ্ট ফাংশন অন্তর্ভুক্ত করতে পারে। যে কোন ক্ষেত্র মন্গোডিবিতে সূচীবদ্ধ করা যাবে। এটিতে সেকেন্ডারি সূচকের উপলব্ধ রয়েছে। মন্গোডিবি উচ্চ প্রাপ্যতা সরবরাহ করে এবং উপলব্ধি বাড়াতে সাহায্য করে। মন্গোডিবি অনুভূমিকভাবে পরাজিত মধ্যবিত্তের দাঁড়িপাল্লা ব্যবহার করে। মন্গোডিবি ফাইল জমা করার জন্য একাধিক মেশিনের উপর ভারসাম্য রক্ষা করে এবং তথ্য পুনরাবৃত্তির বৈশিষ্ট্যের সুবিধা গ্রহণ, একটি ফাইল সিস্টেম হিসেবে ব্যবহার করা যাবে।

জাভা সম্পর্কে প্রাথমিক তথ্যসমূহ

জাভা সম্পর্কে প্রাথমিক তথ্যসমূহ

মৃত্যুঞ্জয় বিশ্বাস (mrityunjoy.suvra13@gmail.com)

জাভা একটি শক্তিশালী প্রোগ্রাম ল্যাঙ্গুএজ। এটি ক্রস প্লাটফর্মকে সাপর্ট করে। সান মাইক্রোসিষ্টেম ৯০ এর দশকের শুরুর দিকে এটি তৈরি করে। এটি পৃথিবীর যেকোন অপারেটিং সিষ্টেমে রান করার ক্ষমতা রাখে। এটির ইউজার ইন্টারফেজ ব্যবহারকারীদের জন্য যথেষ্ঠ মনানসই। তবে এর ব্যবহারকারীদের সি প্রোগ্রামিং সম্পর্কে স্বচ্ছ ধারণা থাকতে হয়। জাভা জনপ্রিয়তার অন্যতম কারনগুলো হলো-
১) পৃথিবীর সবচেয়ে জনপ্রিয় মোবাইল প্লাটফর্ম আন্ড্রয়েড জাভা সাপর্টেড।
২) ৩০ কোটির বেশী ডিভাইসে জাভা চলে।
৩) ক্রস প্লাটফর্ম হওয়ার কারনে যে কোন ডিভাইসে এটি চালান যায়।
জাভা ব্যবহার করার জন্য ব্যবহারকারীদের অবশ্যই জাভা ডেভলপমেন্ট কিট থাকতে হবে।
সাধারণ ডাটা টাইপ:
লংগার টাইপ
বাইট ৮ বিট
সর্ট ১৬ বিট
আইএনটি ৩২বিট
লং ৬৪বিট

ফ্লোটিং পয়েন্ট টাইপ:
ফ্লোট ৩২বিট
ডাবল ৬৪বিট

পিএইচপি

পিএইচপি ওয়েব ডেভেলপমেন্ট জন্য নির্মিত হলেও এটি প্রোগ্রামিং ভাষা হিসাবে ব্যবহার করা হয়। পিএইচপি এখন প্রায় ২৪৪ মিলিয়ন ওয়েবসাইট এবং ২.১ মিলিয়ন ওয়েব সার্ভারে ইনস্টল করা আছে। পিএইচপি লাইসেন্সের অধীনে একটি মুক্ত সফটওয়্যার।প্রতিটি অপারেটিং সিস্টেম ও প্ল্যাটফর্মে স্বতন্ত্র শেল হিসাবে পিএইচপি স্থাপন করা যায় এবং ওয়েব পাতা লোড হওয়ার আগে পিএইচপি কোড এইচটিএমএল রুপান্তরিত হয়। পিএইচপি এর সিনট্যাক্স অনেক যেমন সি, জাভা ইত্যাদি। পিএইচপি ওয়েব ডেভেলপারদের দ্রুত এবং সহজে পরিবর্তনশীল ওয়েব পাতা উত্পন্ন করতে সাহায্য করে। যা ইন্টানেট শিল্পের একটি বিশাল বিপ্লব। কম্পিউটার প্রোগ্রামিং ল্যাগুয়েজে পিএইচপির গুরুত্ব অপরিসীম।

ব্ল্যাকবেরী অ্যাপ্লিকেশন ডেভেলপমেন্ট (Blackberry Application Development)

ব্ল্যাকবেরী অ্যাপ্লিকেশন ডেভেলপমেন্ট

Rahim Ullah

আপনি আপনার ব্ল্যাকবেরি ডিভাইসে ব্ল্যাকবেরি অ্যাপ্লিকেশন ব্যবহারের জন্য ব্ল্যাকবেরি ডেস্কটপ ম্যানেজার ব্যবহার করতে পারেন। এছাড়াও , ওয়েব সাইট থেকে ব্ল্যাকবেরী অ্যাপ্লিকেশন ব্যবহারের জন্য ব্ল্যাক বেরি ওয়েব ডেস্কটপ ম্যানেজার সফটওয়্যার ব্যবহার করতে পারেন। নিচের লিঙ্ক থেকে সফটওয়্যারটি ডাউনলোড করতে পারেনঃ http://na.blackberry.com/eng/support/downloads/#tab_tab_web_desktop

ব্ল্যাকবেরী অ্যাপ্লিকেশন ডেভেলপমেন্ট শিখতে চান? আইফোন এপ্লিকেশন ডেভেলপমেন্ট শিখতে চান? ঘাবড়াবেন না - এটা সব সময়ে কঠিন না, যা আপনার প্রথম দর্শনে মনে হতে পারে - যদি আপনি সাধারণ প্রোগ্রামিং ভাল হন। যদি আপনার জাভা প্রোগ্রামিং সম্পর্কে দক্ষতা থাকে, আপনি এক দিনের কম সময়ে তা শিখতে পারবেন। ওয়েবসাইটে ব্ল্যাকবেরী সম্পর্কিত স্বল্প নোটগুলো পড়েন, J2ME এর একটি বই নেন। তারপর সঠিক কোড লেখা শুরু করেন।
আইফোন উন্নয়নের জন্য, আপনার অনুরূপ SDK সফ্টওয়্যার থাকতে হবে। অ্যান্ড্রয়েড প্ল্যাটফর্ম কোন আলাদা বিষয় না। অ্যান্ড্রয়েড ডেভেলপমেন্ট এর জন্য এখানে ক্লিক করুন: http://developer.android.com/

http://salearningschool.com/displayArticle.php?table=Articles&articleID=1083

জাভা বীনঃ সাধারন ধারণা (Java Beans)

জাভা বীনঃ সাধারন ধারণা

জাভা বীন কি?
এটি এক ধরনের প্রযুক্তি। জাভা ব্যবহার করে আপনি একটি স্বাধীন প্ল্যাটফর্ম তৈরি করতে পারেন।

জাভা বীন সম্পর্কে কিছু বিশেষ বিশেষ ধারণা:

১. অন্তর্দর্শন: অন্তর্দর্শন বীন এর মাধ্যমে তাদের প্রপারটিজ, পদ্ধতি এবং ইভেন্ট প্রকাশ করা যায়। বীন দুটি পদ্ধতিতে অন্তর্দর্শন সমর্থন:
১.১: ডিজাইন প্যাটার্নস: ইন্ট্রস্পেচটর ক্লাস বীনের বৈশিষ্ট্য আবিষ্কারের জন্য তাদের ডিজাইন প্যাটার্ন পরীক্ষা করে।

১.২: বীনইনফো ক্লাসের মাধ্যমে বীনইনফো ইন্টারফেস কার্যকর করে।

২. প্রোপার্টিজ: এটি হল বীনের উপস্থিতি এবং আচরণ বৈশিষ্ট্য যা ডিজাইনের সময় পরিবর্তন করা যায়।

৩. বীন অন্যান্য বীনের সাথে যোগাযোগের জন্য ইভেন্ট ব্যবহার করে।

৪. পারসিস্টেন্স সেরিয়ালাইজেশন ব্যবহার করে বীণকে সংরক্ষণ এবং উদ্ধার করতে সক্ষম।

৫. বীন এমন পদ্ধতি প্রদান করে যা অন্যান্য বীন থেকে আনা যায়।

http://salearningschool.com/displayArticle.php?table=Articles&articleID=667&title=Java%20Bean%20:%20Basic%20Idea

কম্পিউটার প্রোগ্রামিং ল্যাগুয়েজে পিএইচপির গুরুত্ব অপরিসীম।

পিএইচপি

পিএইচপি ওয়েব ডেভেলপমেন্ট জন্য নির্মিত হলেও এটি প্রোগ্রামিং ভাষা হিসাবে ব্যবহার করা হয়। পিএইচপি এখন প্রায় ২৪৪ মিলিয়ন ওয়েবসাইট এবং ২.১ মিলিয়ন ওয়েব সার্ভারে ইনস্টল করা আছে। পিএইচপি লাইসেন্সের অধীনে একটি মুক্ত সফটওয়্যার।প্রতিটি অপারেটিং সিস্টেম ও প্ল্যাটফর্মে স্বতন্ত্র শেল হিসাবে পিএইচপি স্থাপন করা যায় এবং ওয়েব পাতা লোড হওয়ার আগে পিএইচপি কোড এইচটিএমএল রুপান্তরিত হয়। পিএইচপি এর সিনট্যাক্স অনেক যেমন সি, জাভা ইত্যাদি। পিএইচপি ওয়েব ডেভেলপারদের দ্রুত এবং সহজে পরিবর্তনশীল ওয়েব পাতা উত্পন্ন করতে সাহায্য করে। যা ইন্টানেট শিল্পের একটি বিশাল বিপ্লব। কম্পিউটার প্রোগ্রামিং ল্যাগুয়েজে পিএইচপির গুরুত্ব অপরিসীম।

কোড কনভেনশন কেন প্রয়োজন?: Why do you need code convention?

লেখকঃ নাদিম ইমন
কোড কনভেনশন কেন প্রয়োজন?
একটি সফটওয়্যারের জীবনচক্রের ৮০% সময়ই রক্ষণাবেক্ষণে ব্যয় করা হয়। খুব কম সময়য়েই মূল লেখক এই রক্ষণাবেক্ষণের কাজটি করে থাকেন। তাই কোড পাঠযোগ্য হওয়া একান্ত প্রয়োজন। কোড কনভেনশন সফ্টওয়্যারকে পাঠযোগ্য করে তুলে।
জাভা কোড কনভেনশন
• একটি স্টেটমেন্টে একই মান বিভিন্ন ভেরিয়েবল এর জন্য নির্ধারণ করা যাবে না।
• একটি ক্লাসের মেথড বা ভেরিয়েবলকে অ্যাক্সেস করার জন্য অবজেক্ট এর পরিবর্তে ক্লাস এর নাম ব্যাবহার করতে হবে।
• উপযুক্ত কারণ ছাড়া কোনো ইনস্ট্যান্সের বা ক্লাস ভেরিয়েবলকে পাবলিক করা যাবে না। যখন ক্লাসটি একটি ডাটা স্টাকচার গঠন করবে, তখন পাবলিক ভেরিয়েবল ব্যবহার করা যাবে।
• দুটি ফাঁকা লাইন: একটি সোর্স ফাইলের বিভাগের মধ্যে, ক্লাস এবং ইন্টারফেস এর মধ্যে।
• একটি ফাঁকা লাইন: মেথডের মাঝে, মেথডের মাঝে লোকাল ভেরিয়েবল এবং প্রথম স্টেটমেন্ট এর মাঝে, একটি ব্লক অথবা লাইন এর পূর্বে, মেথডের ভিতর লজিকাল সেকশন এর মাঝে।
• ফাঁকা জায়গা: কীওয়ার্ড এবং বন্ধনী মধ্যে, যুক্তি তালিকায় কমার পরে , কাস্ট পরে।
• প্রতিটি লাইনে একটি স্টেটমেন্টে থাকা উচিত ।
• প্রতি লাইনে একটি ডিক্লারেশন থাকা বাঞ্ছনীয়।
• লোকাল ভেরিয়েবল যেখানে ডিক্লেয়ার করা হয় সেখানেই ইনিশিয়ালাজ করা উচিত।
• শুধুমাত্র ব্লক এর শুরুতে ডিক্লারেশন রাখা উত্তম।
• একটি মেথডের নাম এবং বন্ধনীর মধ্যে কোন ফাঁকা স্থান রাখা যাবে না।
• মেথড গুলু একটি ফাঁকা লাইন দ্বারা বিভক্ত করতে হবে।
• কোডের মাঝে কমেন্ট করার জন্য চার প্রকার পদ্দতি: ব্লক, একক লাইন, ,ট্রেইলিং এবং লাইনের শেষে।
• ডকুমেন্টেশন কমেন্ট জাভা ক্লাস, ইন্টারফেস , কন্সট্রাকটর , মেথড এবং ফিল্ডের ক্ষেত্র বর্ণনা করা হয়। ডকুমেন্টেশন কমেন্ট করার জন্য /*...*/ ব্যাবহার করা হয়।
• ডকুমেন্টেশন কমেন্ট: প্রতিটি ক্লাস, ইন্টারফেস ও মেম্বারের জন্য একটি কমেন্ট থাকবে। একটি শ্রেণীর প্রতি মন্তব্য , ইন্টারফেস , অথবা সদস্য
• ডকুমেন্টেশন কমেন্ট: শুধু ডিক্লারেশনের আগে প্রদর্শিত হওয়া উচিত।
• প্রতিটি লাইনে ৮০ অক্ষরের বেশী ব্যাবহার করা যাবে না।
• এই লিঙ্কে http://www.oracle.com/technetwork/java/codeconvtoc-136057.html জাভা কোড কনভেনশনের বিস্তারিত পাওয়া যাবে।

Reference:
http://salearningschool.com/displayArticle.php?table=Articles&articleID=742&title=Code%20Conventions%20for%20the%20Java%20Programming%20Language

জাভা JDK 1.0.x এর সাহায্যে ফাইল খোলা এবং পড়া

জাভা JDK 1.0.x এর সাহায্যে ফাইল খোলা এবং পড়া
------------------------------------------------------------------

১। ফাইল ক্লাস অনুযায়ী ফাইল খুলুন।

২। ফাইল অবজেক্ট ব্যাবহার করে একটি FileInputStream তৈরি করুন।

৩। FileInputStream কে BufferedInputStream এ রুপান্তর করুন যা আপনার ফাইল পড়ার গতিকে অনেক বাড়িয়ে দেবে।

৪। BufferedInputStream কে DataInputStream কনভার্ট করুন যা আপনাকে ফাইল পড়ার ক্ষেত্রে যথেষ্ট স্বাচ্ছন্দ্য প্রদান করবে।

৫। শেষ পর্যন্ত ফাইলটি পরুন।

নিচে প্রক্রিয়াটি দেখান হলঃ

File f = new File("mydata.txt");
FileInputStream fis = new FileInputStream(f);
BufferedInputStream bis = new BufferedInputStream(fis);
DataInputStream dis = new DataInputStream(bis);
String record = null;

try {

while ( (record=dis.readLine()) != null ) {
//
// put your logic here to work with "record"
//
}

} catch (IOException e) {
//
// put your error-handling code here
//
}

Ref: http://salearningschool.com/displayArticle.php?table=Articles&articleID=652&title=Opening%20and%20reading%20files%20with%20Java%20JDK%201.0.x

জাভার নিয়মাবলী : Some important Java stuff

http://salearningschool.com/displayArticle.php?table=Articles&articleID=787&title=Java%20Rules

জাভার নিয়মাবলী
জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ অনুযায়ী প্রোগ্রাম লিখতে গেলে কিছু অবশ্য পালনীয় নিয়ম মেনে লিখতে হয়। কিছু জিনিস আছে যেগুলো করা যাবে না, আবার কিছু জিনিস আছে যেগুলো অবশ্যই মানতে হবে ; এই দুইয়ে মিলেই তৈরি হয়েছে জাভার নিয়মাবলী। নিচে জাভার কিছু গুরুত্বপূর্ণ নিয়ম দেয়া হলঃ

 
• অবজেক্ট (Object) এর ব্যবহার ছাড়া কোনভাবেই একটা ইন্সটান্স ভ্যারিএবল (Instance Variable) অথবা, একটা কোড ব্লককে (Code Block) একীভূত (Synchornize) করা যাবে না – জাভা প্রোগ্রামিং নিয়মমতে এটা পুরোপুরি নিষিদ্ধ।

 
• একটা ওভাররিডেন মেথড (Overriden Method) এর সাথে একটা যাচাই করা এক্সেপ্সন (Checked Exception) যুক্ত করা যাবে না।
• একটা সুপারক্লাস এর শ্রেণীকরণ (Seriallization) সবসময় সম্ভব নাও হতে পারে; কিন্তু, ওই সুপারক্লাস এর যে কন্সট্রাক্টর (Constractor) গুলি আছে তারা অবশ্যই একটা শ্রেণীকরণযোগ্য সাবক্লাস ইন্সটান্স (Seriallizable Subclass Instance) শ্রেণীমুক্ত (Desiriallized)করা হলেও রান করবে।
• লুয কাপলিং (Losse Coupling) – অন্য ক্লাসগুলোকে কোনরকম পরিবর্তন করা ছাড়াই, একটা ক্লাস এর বাস্তবায়ন পদ্ধতি (Implementation ) পরিবর্তন করা সম্ভব। যেমনঃ যদি ক আর খ যদি দুইটি ক্লাস হয় এবং তারা একে অন্যকে একেবারেই ব্যবহার (Use) না করে তাহলে বলা হবে যে তারা কাপল্ড নয়। এখন, যদি ক ক্লাসটি খ কে ব্যবহার করে কিন্তু, খ ক ক্লাসকে ব্যবহার না করে তাহলে বলা হবে তারা লুযলি কাপল্ড (Loosely Coupled)। আর, যদি ক আর খ দুজনেই দুজনকে সমানভাবে ব্যবহার করে তাহলে বলা হবে তারা টাইটলি কাপল্ড (Tightly Coupled)।
এখন, লুয কপলিং এর ক্ষেত্রে আশা করা হয় যে একটা ক্লাস তার সব মেম্বার (Member) গুলোকে প্রাইভেট (Private) রাখবে, আর অন্যটা গেটারস (getters) আর সেটারস (Setters) পদ্ধতিতে সেগুলোকে ব্যাবহার করতে পারবে।
মোটামুটি, এগুলই জাভার গুরুত্বপূর্ণ নিয়মাবলী। এগুলোর হেরফের হলে, প্রোগ্রাম রান করার পর এরর দেখাবে।

By:
Mohammad Saidur Rahman Akanda
Khulna University of Engineering & Technology (KUET)
Department of EEE
Email: sfahim113@gmail.com

এখন আপনিও পারবেন জাভা সফটওয়্যার এডিট করতে ও মাল্টিমিডিট বানাতে : Java and Multimedia

এখন আপনিও পারবেন জাভা সফটওয়্যার এডিট করতে ও মাল্টিমিডিট বানাতে
তনু রহমান

আসস্লামুয়ালাইকুম সবাই কে । অন্য প্রসঙ্গে না গিয়ে আসুন শুরু করা যাক
প্রথমে এই লিঙ্ক থেকে সফটওয়্যার টি ডাউনলোড করুন : http://vube.com/Walter+Alexandre+ONE+MAN+BAND/nhZzKVEQU1/L/vote?t=p&p=ggo
আপনি যদি মোবাইল ব্যাবহারকারী হন তাহলে এখান থেকে: http://www.mediafire.com/download/pgnuzbr7aqk6ca6/Blue_ftp_v60.jar
এবার সফটওয়্যার টি ওপেন করে উপরের ফাইল টা এক্সট্রাক্ট করুন ,যদি নোকিয়া মোবাইল হয় তাহলে যে কোন অ্যাপ্লিকেশান এরOption>application access> data access> read user data > ask first time এবং Option>application access> data access>add and edit data > ask first time K‡i w`b এটা করলে বারবার yes চায়না। কোন কোন নোকিয়া সেটে ask first time নাও হতে পারে আমার নোকিয়া X2-00 হয়েছে।
এবার নিচের ধাপ অনুসরন করুন
ধাপ 1 : প্রথমে আমি যেসব সফটওয়্যার দিয়েছি সেখান থেকে minihalo নামক সফটওয়্যার টি open করুন। আপনি যে জাভা সফটওয়্যার এডিট করতে চান তার extention আগে থেকে যেন .zip থাকে মানে .jar থেকে .zip। আপনি blueftp সফট এর মাধ্যমে .zip করে দেবেন ব্যাস এবার minihalo এর মাধ্যমে জাভা সফটওয়্যার টি ভাঙ্গুন। দেখুন ঐ সফটওয়্যার এর নামে একটা ফোল্ডার তৈরি হবে। আপনি চাইলে ucweb টা দিয়ে সফটওয়্যার ডাউনলোড করে কাজ করতে পারেন এটা দিয়া আপনি snapshoot ও নিতে পারবেন। আপনি আরেকটি পদ্ধতিতে জাভা সফটওয়্যার ভাঙ্গতে পারেন .zip extention দেয়ার blueftp ওপেন করে জিপ ফোল্ডার টিতে ঢুকে সব ফাইল সিলেক্ট করে আনজিপ করলে ও হবে ।

ধাপ ২: আপনি যদি ঐ সফটওয়্যার এর নাম পরিবর্তন করতে চান তাহলে moby explorer নামক যে সফট তা আছে সেটা ওপেন করুন। এবার ঐ সফটওয়্যার এর META-INF ফোল্ডার এ MANIFEST.MF নামক যে ফাইল টি আছে তা option থেকে text editor এর মাধ্যমে এডিট করুন ব্যাস ২য় ধাপের কাজ শেষ।
ধাপ ৩: আপনি ইচ্ছা করলে সফটওয়্যার বিভিন্ন picture বা ইমেজ পরিবর্তন করতে পারেন blueftp এর মাধ্যমে। আপনি ঐ সব পরিবর্তন করার সময় যেটাকে পরিবর্তন করবেন সেটার নাম এবং আপনারটির নাম একই করে দিন তারপর আপনার পিকচার টি replece করে দিন আর দেখুন মজা। সফটওয়্যার class পরিবর্তন করতে চাইলে class_translator দিয়ে করুন। class পরিবর্তন করার পর save করলে leave a backup file অপশন টা আসলে no করে দিন কাজ শেষ ।
ধাপ ৫: সবকিছু করা শেষ হলে blueftp এর মাধ্যমে ঐ ফোল্ডার ভেতর থাকা সব কিছু সিলেক্ট করে compress to jar করুন তারপর _jar কেটে দিয়ে .jar করে অ্যাপ্লিকেশান টা চালান। আর উপভোগ করুন আপনার এডিট করা অ্যাপ্লিকেশান গুলোর।
Multimidlet ধাপ : আপনি প্রথমে যে সব সফটওয়্যার Multimidlet বানাবেন তার শেষে .zip extention দিন । এবং আপনার মেমোরি কার্ড এর root এ অর্থাৎ e:\ তে icon.png নামক একটা পিকচার দিয়ে রাখতে হবে । এরপর Multimidlet.jar নামক যে সফটওয়্যার টি আছে সেটা ওপেন করুন । এবার আপনার .zip এর অ্যাপ্লিকেশান গুলো সিলেক্ট করে view list থেকে start Merge করুন । নাম পরিবর্তন করবেন না । তারপর আবার start Merge এ ক্লিক করুন শেষ হলে মেমোরি কার্ড এর ভেতর Multimidlet নামক ফোল্ডার এর ভেতর দেখুন আপনার করা Multimidlet টি আছে । নাম হতে পারে test.jar_jar blueftp এর মাধ্যমে test.jar করে দিন আর উপভোগ করুন মজা । তবে আপনাকে একটু সাবধান থাকতে হবে, আপনার সফটওয়্যার গুলার মধ্যে যদি কনো সমস্যা থাকে তাহলে Multimidlet টিতে সমস্যা দেখা দেবে।

http://salearningschool.com/index.php?table=Articles&categoryID=32&category=Java

আজ আমি আপনাদের জানাবো জাভা অবজেক্ট কিভাবে Thread তৈরি করা হয় এবং এর ব্যবহার।

বলা চলে প্রযুক্তি ছাড়া আমাদের জীবন অচল। আর একটি আধুনিক ফিচার ফোন হল তার একটি উদাহরন। আর ফিচার সমৃদ্ধ ফোন নিয়ে আলোচনা করতে গেলে যে বিষয়টি সামনে আসে তা হল অ্যাপলিকেশন অথবা জাভা।

 
আর শুধু জাভা সমপর্কে বলতে গেলে কিছু খুটিনাটি বিষয় আসে তা হল কিভাবে এই এই অ্যাপলিকেসন গুলো তরি হয়। তাই চিন্তার কিছু নেই । আজ আমি আপনাদের জানাবো জাভা অবজেক্ট কিভাবে Thread তৈরি করা হয় এবং এর ব্যবহার।

 
তাই দেখে নেওয়া যাক :

// Thread তৈরী করা
public class MyCustomThread extends Thread {
//variables
int someVariable;
String anotherVariable;
boolean threadRunFlag;
public MyCustomThread(int parameter, String parameterString){
this.someVariable=parameter;
this.anotherVariable=parameterString;
}

@Override
public void run(){
while(threadRunFlag){
//do something
try{

}catch(Exception ex){

}

}

}

জাভা প্রোগ্রামিংয়ের Thread তৈরি ও ব্যবহারের সংক্ষিপ্ত বিষয় জেনে নেই:

আধুনিক যুগে পরিবর্তিত হচ্ছে সব কিছু আর এ সব কিছুর মাঝে থেমে নেই তার অনাকাঙ্ক্ষিত চাহিদা গুলো। আর সব কিছুর মাঝে অন্যতম একটি বিষয় আছে সেটা হল প্রযুক্তি। আর আমরা সেটা উপলব্ধি ও করি সব সময়। আর বর্তমান এই প্রযুক্তি নির্ভর সময়ে থেমে নেই কিছু। তাই বলা চলে প্রযুক্তি ছাড়া আমাদের জীবন অচল। আর একটি আধুনিক ফিচার ফোন হল তার একটি উদাহরণ। আর ফিচার সমৃদ্ধ ফোন নিয়ে আলোচনা করতে গেলে যে বিষয়টি সামনে আসে তা হল অ্যাপলিকেশন অথবা জাভা।

 
আর শুধু জাভা সম্পর্কে বলতে গেলে কিছু খুঁটিনাটি বিষয় আসে তা হল কিভাবে এই এই অ্যাপলিকেশন গুলো তরি হয়। তাই চিন্তার কিছু নেই । আজ আমি আপনাদের জানাবো জাভা অবজেক্ট কিভাবে Thread তৈরি করা হয় এবং এর ব্যবহার।
তাই দেখে নেওয়া যাক :
// Thread তৈরি করা
public class MyCustomThread extends Thread{
//variables
int someVariable;
String anotherVariable;
boolean threadRunFlag;
public MyCustomThread(int parameter, String parameterString){
this.someVariable=parameter;
this.anotherVariable=parameterString;
}
@Override
public void run(){
while(threadRunFlag){
//do something
try{
sleep(timeInMillis);
}catch(Exception e){
//do something
}
}
}
public void stopThread(){
threadRunFlag=false;
}
}

 
উল্লেখিত সকল বিষয় গুলো Thread এর object হিসাবে ব্যবহার করতে হবে।

 
এবার আসুন Thread কিভাবে ব্যবহার করতে হয়।
// Thread ব্যবহার করা :
import necessasy.packages;
public class NewClass {
//Class body
public static void main(String[] args){
MyCustomThread aThread=new MyCustomThread(intParameter, stringParameter);
MyCustomThread aThread2=new MyCustomThread(intParameter2, stringParameter2);
aThread.start();
aThread2.start();

//do something
aThread.stopThread();
aThread.stopThread2();
}
}
উল্লেখিত সকল বিষয় সম্পর্কে ভাল ভাবে ব্যবহার করলে আপনি Thread তৈরিও ব্যবহার ভাল ভাবে অনুশীলন করা যাবে। তাই চেষ্টা করুন । আসা করি ভাল ফলাফল পাবেন

2. 2. Java
http://salearningschool.com/index.php?table=Articles&categoryID=32&category=Java
উপরে ভিত্তি করে task লেখা ।

পিএইচপি (PHP), মাইএসকিউএল (MySQL), জাভা (Java)

পিএইচপি এর পুরো মানে হল হাইপারটেক্সট প্রিপ্রসেসর। ওপেন সোর্স সফটওয়্যার হওয়ায় এটি বিনামূল্য ডাউনলোড ও ব্যবহার করা যায়। পিএইচপি তে কাজ করার জন্য এইচটিএমএল এবং জাভাস্ক্রিপ্ট সম্বন্ধে ধারনা থাকা দরকার।
মাইএসকিউএল হল একটি ডাটাবেজ সার্ভার। এটি সকল এসকিউএল সমর্থন করে। পিএইচপি এর মত এটিও বিনামূল্য ডাউনলোড ও ব্যবহার করা যায়।
ডটনেট একটি মাইক্রোসফট এর ওয়েব সার্ভিস কৌশল, যেটা ইনফর্মেশন, লোকজন,সিস্টেম এবং বিভিন্ন প্রকার যন্ত্রের মধ্যে সংযোগ করে সফটওয়্যার এর মাধ্যমে । এটা বিভিন্ন ধরনের কন্ট্রোল বা ফর্ম প্রদান করে, ফলে অত্যন্ত দ্রুত ও সহজে অ্যাপ্লিকেশান তৈয়ারি করা যায়।
জাভা দ্রুত, নিরাপদ, এবং নির্ভরযোগ্য প্রোগ্রামিং ভাষা । এটা কোন প্লাটফর্ম এর উপর নির্ভর নয়। তাই জাভাতে তৈয়ারি যেকোনো অ্যাপ্লিকেশানকে যেকোনো প্লাটফর্ম চালানো যায়।

http://en.wikipedia.org/wiki/Php
http://en.wikipedia.org/wiki/MySQL
http://www.computerhope.com/jargon/n/dotnet.htm
http://en.wikipedia.org/wiki/Java

mobinmama0003@gmail.com

জাভা Object এর পরিচয় ও বর্ণনা:

জাভা Object এর পরিচয় ও বর্ণনা:

নাম: মুতাসিম বিল্লাহ সুমন

জাভা একটি বিস্তৃত আলোচনার বিষয়। আসলে এটি এমন একটি প্রোগ্রাম যা দ্বারা আপনি এন্ড্রয়েড এপ্লিকেশনের উপর পরিপূর্ণভাবে কাজ করতে পারেন। জাভা প্রোগ্রামিং বা জাভা ল্যাংগুয়েজ সম্পর্কে জানতে হলে আপনাকে প্রাথমিক পর্যায়ে আপনাকে জাভার কয়েকটি সহজ বিষয়বস্তুর উপর ধারণা রাখতে হবে। আর এই বিষয়গুলোর মধ্যে রয়েছে Class, Object এবং module. আজকে আমরা আলোচনা করবো জাভা Object সম্পর্কে। তাহলে আসুন আমরা দেখি জাভা Object কি।

জাভা Object কাকে বলে ?
সাধারণভাবে object বলতে বুঝায় আপনারে চারপাশে যা রয়েছে সবকিছুই এক একটি অবজেক্ট। বাস্তবিক জীবনেই আপনি অনেকগুলো অবজেক্ট খুঁজে পাবেন। যেমন যদি আপনার চারপাশের কথা বলা হয় তবে বই, খাতা, কলম, টিভি, রিমোট বা বিছানা চাদর সবকিছুই এক একটি অবজেক্ট। এখন প্রশ্ন হচ্ছে আমরা অবজেক্ট চিনবো কিভাবে। প্রতিটি অবজেক্টের কিছু সাধারণ বৈশিষ্ট্য থাকে, যেগুলোর জন্য একটি object অন্য একটি object থেকে অলাদা। এবং এই বৈশিষ্ঠগুলো দ্বারা আমরা সহজে অবজেক্ট চিনতে পারি। আর প্রোগ্রামিং ভাষায় বলতে গেলে OOP প্রোগ্রামিং পদ্ধতির রান টাইম এনটিটি হল object। object এর সংজ্ঞা হলো software bundle of related state and behavior।
এটি এমন একটি Objects are key to understanding object-oriented technology যা দ্বারা আপনি সহজে ঠিক আপনার ধারে কাছে অনেক উদাহরণ খুঁজে পাবেন। আপনার সাইকেল দেয়াল ঘড়ি, চশমা ইত্যাদি । Real-world বস্তুর গুণাবলীকে সর্বদা ভাগাভাগি করে। যথা:

. State বা অবস্থান এবং
. Behavior বা আচরণ।

আপনি যদি আপনার প্রিয় বন্ধুর কথা ভাবেন তবে তার মতি-গতি এবং তার আচার ব্যবহার বিভিন্ন সময়ে বিভিন্ন রকম হতে পারে। কিন্তু যদি আপনার ঘরের দেয়াল ঘড়িটির কথা ভাবেন তবে দেখা যাবে তার চাল-চলন সর্বদা একই রকম।
আবার আপনি এও লক্ষ্য করতে পারেন, আপনার বন্ধুর অবস্থান সর্বদা একই জায়গায় থাকে না। কিন্তু আপনি যদি আপনার ঘরের দেয়াল ঘড়িটির দিকে খেয়াল করেন তবে দেখবেন তার অবস্থান সর্বদা একই জায়গায়। এবং জাভার অবজেক্ট এর এটি একটি ব্যবধান। সুতরাং আমরা একথা সহজেই বলতে পারি যে, জাভা translate into the world of object-oriented programming.
আশাকরি জাভা অবজেক্ট সম্পর্কে একটি পরিষ্কার ধারনা পেয়েছেন। এই বিষয়ে আপাতত অনুশীলন করুন। আগামীতে এই বিষয়ে আরও বিস্তারিত ধারনা প্রদান করার চেষ্টা করবো।

জাভা ভ্যারিয়েবল এবং কোডিং: Java Variables and Coding

নাম: মুতাসিম বিল্লাহ সুমন

জাভা ভ্যারিয়েবল এবং কোডিং:

আপনারা নিশ্চয়ই জেনেছেন ধারাবাহিকভাবে আপনাদের জন্য জাভার প্রাথমিক ধারনা উপস্থাপন করে আসছি। আসলে জাভা এমন একটি প্রোগ্রামিং যা শিখতে হলে আপনাকে অবশ্যই প্রাথমিক ধারণা অর্জন করতে হবে। আপনি যদি জাভা সম্পর্কে প্রাথমিক ধারণা অর্জন না করতে পারেন তবে অবশ্যই আপনার জাভা সম্পর্কে শিক্ষা অর্জন অনেক কষ্টকর হয়ে যাবে। আর তাই এই ওয়েব সাইটে আপনাদের ধারাবাহিকভাবে প্রাথমিক ধারণা দেয়ার চেষ্টা করছি। গত কয়েক পর্বের পর আমরা আজকে আমি আপনাদের সাথে ক্লাস এর ভ্যারিয়েবল, কন্সট্রক্টর এবং Class Method সম্পর্কে আলোচনা করবো।

Class এর ভ্যারিয়েবল:
জাভার সকল প্রোগ্রাম কোডিং নির্ভর সুতরাং একথা নিশ্চিতভাবে আপনাকে ধারনা রাখতে হবে যে, জাভা প্রোগ্রামিং এর কাজ করতে হলে অবশ্যই আপনাকে জাভা কোডিং সম্পর্কে ধারণা রাখতে হবে। Class ভ্যারিয়েবল এমন একটি অধ্যায় যেখানে আপনাকে জাভা কোড এর সাহায্যে Module এর সাথে Class কে অনুধাবন করতে হবে। আসুন দেখা যাক জাভা Class ভ্যারিয়েবল এর কোড কেমন হবে তা দেখা যাক।

public int aPublicVariable;
private float aPrivateVariable;
protected String aProtectedVariable;
double aDefaultVariable;

Class এর কন্সট্রাক্টর:
জাভার Class কন্সট্রাক্টর একটি গুরুত্বপূর্ণ অধ্যায়। Class ভ্যারিয়েবল এর পরে Class কে module এর সাথে বিস্তার করার জন্য অবশ্যই আপনাকে Class কন্সট্রাক্টর এর উপর বিশেষ ধারণা রাখতে হবে। Class কন্সট্রাক্টর এর ক্ষেত্রে আপনাকে অবশ্যই কোড ব্যবহার করতে হবে। দেখা যাক তাহলে এর কোডগুলো কেমন:
public ClassName(){

এবার আসুন নিচে প্রাথমিক দুটি Class কন্সট্রাক্টর এর কোডিং উদাহরণ দেখা যাক।
একটি কন্সট্রাক

}public ClassName(String parameter){

আর দ্বিতীয় কন্সট্রাক্টর
}private void privateMethodName(){

আজকের পর্বে আপনাদের এই দুটি বিষয়ে ধারণা দিলাম। আশাকরি আগামী আলোচনায় আপনাদের নতুন বিষয়ে ধারনা দিবো।

Java Thread এর ব্যাবহার এবং তার প্রয়োগ:Java Thread এর ব্যাবহার এবং তার প্রয়োগ:

Java Thread এর ব্যাবহার এবং তার প্রয়োগ:

 

নাম: মুতাসিম বিল্লাহ সুমন

জাভাকে আমরা বলতে পারি জাভা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং, সুতরাং এই প্রোগ্রামিংকে ব্যাবহার করে আমরা নতুন ল্যাংগুয়েজ সম্পর্কে ধারনা পেতে পারি। এই প্রোগ্রাম বা ল্যাংগুয়েজকে ব্যাবহার করতে হলে মূলত আমাদের এর কোড সম্পর্কে আগে বেশী ধারনা পেতে হবে। আজকের জাভা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং পর্বে আমরা Thread তৈরি এবং Thread এর ব্যবহার সম্পর্কে জানার চেষ্টা করবো।

Thread তৈরি করা :
একটি সুন্দর এবং নির্ভুল Thread তৈরির পূর্ব শর্ত হচ্ছে আমাদের প্রথমে এই বিষয়ের কোড সম্পর্কে জ্ঞান রাখা। আর এটি করতে হলে অবশ্যই আমাদের নিচের কোড গুলোর সাথে আগে পরিচিত হতে হবে। তাহলে আসুন আমরা Thread তৈরির কোডগুলো সম্পর্কে জানার চেষ্টা করি।
public class MyCustomThread extends Thread{//variables
int someVariable; String anotherVariable; boolean threadRunFlag;
public MyCustomThread(int parameter, String parameterString){
this.someVariable=parameter; this.anotherVariable=parameterString; }
@Override
public void run(){while(threadRunFlag){ //do somethingtry{
sleep(timeInMillis); }catch(Exception e){
//do something}}}
public void stopThread(){
threadRunFlag=false; }}

Thread ব্যবহার করা :
Thread তৈরি করার পরে আমাদের যেটি দরকার সেটি হচ্ছে এটি ব্যাবহার করা। এটি আমরা কোড ব্যবহার করে সহজেই ব্যাবহার করতে পারি। আসুন, তাহলে দেখা যাক ব্যবহারের কোডগুলো সম্পর্কে।
public class NewClass {//Class body
public static void main(String[] args){
MyCustomThread aThread=new MyCustomThread(intParameter, stringParameter);
MyCustomThread aThread2=new MyCustomThread(intParameter2, stringParameter2);
aThread.start();
aThread2.start();//do something
aThread.stopThread();
aThread.stopThread2();}}
আশাকরি আজকের আলোচনাটি আপনাদের বিশেষ উপকারে এসেছে। এবং এই দুটি বিষয়ের কোডিং সম্পর্কে প্রাথমিক ধারণা অর্জন করতে সক্ষম হয়েছেন।