পিএইচপি ৫ কন্সট্যান্ট (PHP 5 Constants)

আক্তারুজ্জামান
Department of CSE,University of Chittagong

 

কনস্টান্ট হচ্ছে এমন একটি identifier যেইটা ভেরিয়েবলের মতই কাজ করে তবে ডিফারেন্স হচ্ছে ভেরিয়েবলের মান বিভিন্ন সময় বিভিন্ন রকম হয় কিন্তু কনস্টান্ট একবার ডিফাইন করা হলে পুরো স্ক্রিপ্টে আর পরিবর্তন হয় না।

একটি ভ্যালিড কনস্টান্টের নাম আরম্ভ করতে হয় লেটার অথবা আন্ডারস্কোর ক্যারেক্টার দিয়ে। এক্ষেত্রে মনে রাখা জরুরি যে কনস্টান্টের নামের আগে কোন $ সাইন ব্যাবহার করা হয় না। প্রচলিত নিয়ম অনুযায়ী কনস্টান্ট লিখতে হয় আপারকেস লেটার দিয়ে।
একটি কনস্টান্ট বানানোর জন্য পিএইচপির define() ফাংশন ব্যাবহার করা হয়। নিচে উদাহরণ দিয়ে বিষয়টি বোজানো হয়েছে।

define() ফাংশনটি দেখতে নিচের মত


define(name, value, case-insensitivity)


প্যারামিটারগুলুর বর্ণনা নিচে দেওয়া হল

  • name: এইটি কনস্টান্টের নামে নির্দেশ করে।
  • value: এইটি কনস্টান্টের মান নির্দেশ করে।

case-insensitivity

এইটি নির্দেশ করে কনস্টান্টের মান কেস সেনসিটিভ কিনা। এইটা ডিফল্ট হিসেবে false থাকে।
উদাহরণ


< ?php
 define("GREETING", "Welcome to PHP!");
 echo GREETING;
 ?>

এই কোডটি GREETING নামের একটি কন্সটান্ট তৈরি করে যার মান হচ্ছে “Welcome to PHP!”।
কনস্টান্ট অটোমেটিক্যালি গ্লূবাল অর্থাৎ এইটি পুরো স্ক্রিপ্টে ব্যাবহার করা যেতে পারে। নিচে একটি উদাহরণ দিয়ে বিষয়টি বোঝানো হয়েছে।


 < ?php
 define("GREETING", "Welcome to PHP!");
function showGreeting() {
 echo GREETING;
 }
showGreeting();
 ?>

উপরের উদাহরণে GREETING কনস্টান্টটি showGreeting() ফাংশনের বাইরে সংজ্ঞায়িত করার পরেও, ফাংশনের ভিতরে এইটি ব্যবহার করা যাচ্ছে।

 

এইচটিএমএল শিরোনাম (HTML Headings)

HTML Headings

HTML Documents এর ক্ষেত্রে Headings খুবই গুরুত্বপূর্ণ। <h1> থেকে <h6> tags দ্বারা Heading কে তুলে ধরা হয়।

<h1> tag দ্বারা সবচেয়ে গুরুত্বপূর্ণ ও <h6> tag দ্বারা অপেক্ষাকৃত কম গুরুত্বপূর্ণ Heading কে তুলে ধরা হয়।

 

উদাহরণস্বরূপঃ

<h1> এই হল একটি শিরোনাম </h1>

<h2> এই হল একটি শিরোনাম </h2>

<h3> এই হল একটি শিরোনাম </h3>

<h4> এই হল একটি শিরোনাম </h4>

<h5> এই হল একটি শিরোনাম </h5>

<h6> এই হল একটি শিরোনাম </h6>


 

 

ফলাফল:

এই হল একটি শিরোনাম

এই হল একটি শিরোনাম

এই হল একটি শিরোনাম

এই হল একটি শিরোনাম

এই হল একটি শিরোনাম
এই হল একটি শিরোনাম

 

বিশেষ দ্রষ্টব্যঃ প্রত্যেক Heading এর আগে ও পরে browser স্বয়ংক্রিয়ভাবে কিছু empty space যোগ করে দেয়।

 

শিরোনাম (Heading) খুব গুরুত্বপূর্ণ

HTML Headings কে কেবল Heading এর জন্য ব্যবহার করতে হবে, কোন Text কে বড় (big) অথবা Bold করার জন্য Heading কে ব্যবহার করা যাবে না। আপনার web page গুলোর structure এবং content এর সূচি বানানোর জন্য সার্চিঞ্জিনগুলো আপনার headings কে ব্যবহার করে। User রা Heading এর দ্বারা আপনার web page এর সারমর্ম বুঝে নেয়। Document এর structure দেখানোর জন্যও Heading ব্যবহার করা গুরুত্বপূর্ণ। <h1> Heading হল প্রধান শিরোনাম, <h2> অপেক্ষাকৃত গৌন, <h3> তার চেয়ে কম গুরুত্বপূর্ণ এভাবেই ক্রমান্বয়ে ব্যবহৃত হয়।

 

HTML Horizontal Rules (আনুভূমিক নিয়ম)

HTML page এ <hr> tag আনুভূমিক রেখা তৈরি করে। বিষয়বস্তুকে চিহ্নিত করার জন্য <hr > element ব্যবহার করা হয়।

যেমনঃ


<!DOCTYPE html>
<html>
<body>

<p>The hr tag defines a horizontal rule:</p>
<hr>
<p>This is a paragraph.</p>
<hr>
<p>This is a paragraph.</p>
<hr>
<p>This is a paragraph.</p>

</body>
</html>


 

 

ফলাফল

 

 

The hr tag defines a horizontal rule:


This is a paragraph.


This is a paragraph.


This is a paragraph.

 

 


 

 

 

HTML এর <head> element

HTML এর <head> element টির HTML Headings এর সাথে কিছু করার নেই। <head> element meta data ধারণ করে। আর meta data web page এ দৃশ্যায়িত হয় না। <html> tag ও <body> tag এর মধ্যখানে HTML element অবস্থান করে।

উদাহরণস্বরূপঃ

<!DOCTYPE html>
<html>

<head>

<title>My First HTML</title>
<meta charset=”UTF-8″>

</head>

<body>

<p>The HTML head element contains meta data.</p>

<p>Meta data is data about the HTML document.</p>

</body>
</html>


 

 

ফলাফল

The HTML head element contains meta data.

Meta data is data about the HTML document.


 

 

 HTML এর title element

HTML এর title element হল meta data। এটা HTML Documents এর title হিসেবে চিহ্নিত হয়। Document এ title কখনও প্রদর্শিত হয় না।

 

HTML এর meta element

HTML এর <meta> element ও আরেকটি meta data। HTML Document এর অন্যান্য তথ্য ও চরিত্র সেটকে তুলে ধরতে এটি ব্যবহৃত হয়।

এইচটিএমএল এট্রিবিউট (HTML Attributes)

HTML Attributes এইচটিএমএল এট্রিবিউট

নয়ন চন্দ্র দত্ত

 

এট্রিবিউট হচ্ছে ট্যাগ এর বৈশিষ্ট বা মান। এট্রিবিউট এইচটিএমএল উপাদান সম্পর্কে অতিরিক্ত তথ্য প্রদান করে।

এইচটিএমএল এট্রিবিউট

• এইচটিএমএল এলিমেন্টে বা উপাদানের এট্রিবিউট বা বৈশিষ্ট্যাবলী থাকতে পারে।

• এট্রিবিউট একটি উপাদান সম্পর্কে অতিরিক্ত তথ্য প্রদান করে।

• এট্রিবিউট সবসময় শুরু ট্যাগ এ উল্লেখ করা হয়।

• এট্রিবিউট নাম/মান জোড়ায় জোড়ায় আসে। যেমনঃ name=”value”

lang এট্রিবিউট

ডকুমেন্টের ল্যাংগুয়েজ <html> ট্যাগে declare করা যেতে পারে। ল্যাংগুয়েজ lang এট্রিবিউটে declare করা হয়।

একটি ল্যাংগুয়েজ declare করা বিশেষ ব্যবহারকারীদের জন্য ( accessibility) তৈরি অ্যাপ্লিকেশন( স্ক্রিন রিডার ) এবং সার্চ ইঞ্জিন এর জন্য খুব গুরুত্বপূর্ণ।

উদাহরণঃ


<!DOCTYPE html>
<html lang=”en-US”>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

</body>
</html>


 

প্রথম দুটি অক্ষর ভাষা নির্ধারণ করে (en) । যদি উপভাষা থাকে, তবে আরো দুটি অক্ষর (US) ব্যবহার করুন।

Title Attribute শিরোনাম অ্যাট্রিবিউট

এইচটিএমএল অনুচ্ছেদ <p> ট্যাগ দিয়ে নির্দেশিত হয়। এই উদাহরণে, <p> এলিমেন্ট এর একটি টাইটেল অ্যাট্রিবিউট আছে। টাইটেল অ্যাট্রিবিউটের মান হচ্ছে “About bangla learning school” ।

উদাহরণঃ


<p title=“About bangla learning school”>
salearningschoolis a web developer’s site.
It provides tutorials and references covering
many aspects of web programming,
including HTML, CSS, JavaScript, XML, SQL, PHP, ASP, etc.
</p>


 

 

ফলাফল


salearningschool is a web developer’s site.
It provides tutorials and references covering
many aspects of web programming,
including HTML, CSS, JavaScript, XML, SQL, PHP, ASP, etc.


[আপনি যখন element এর উপর দিয়ে মাউসকে move করাবেন তখন টাইটেল একটি tooltip হিসাবে প্রদর্শন করবে। ]

 

 

href অ্যাট্রিবিউট

এইচটিএমএল লিঙ্ক <a> ট্যাগ দিয়ে নির্ধারিত। লিঙ্ক এড্রেস href অ্যাট্রিবিউটে উল্লেখ করা হয়।

যেমনঃ-


<a href=”http://bangla.salearningschool.com”>This is a link</a>


 

 

ফলাফল


This is a link


 

আপনারা লিঙ্ক এবং <a> ট্যাগ সম্পর্কে এই টিউটোরিয়ালে পরবর্তীতে আরো জানতে পারবেন।

 

Size বা আকার অ্যাট্রিবিউট

এইচটিএমএল ইমেজ <img> ট্যাগ দিয়ে নির্ধারিত। উৎস ফাইলের নাম (src) এবং ইমেজের আকার (width এবং height) সব অ্যাট্রিবিউট হিসেবে নির্দেশিত হয়। যেমনঃ-

<img src=”http://bangla.salearningschool.com/wp-content/uploads/2015/04/bangla.salearning.png” width=”960″ height=”198″>

ছবির আকার পিক্সেলে উল্লেখ করা হয়েছে। width=”960″ এর মানে পর্দা 960 পিক্সেল চওড়া।

আপনারা ইমেজ এবং <img> ট্যাগ সম্পর্কে এই টিউটোরিয়ালে পরবর্তীতে আরো জানতে পারবেন।

 

Alt অ্যাট্রিবিউট

যখন একটি এইচটিএমএল উপাদান প্রদর্শন করা যায় না তখন Alt অ্যাট্রিবিউট নির্দিষ্ট একটি বিকল্প টেক্সট ব্যবহার করতে সাহায্য করে। “screen readers” দ্বারা অ্যাট্রিবিউটের মান পড়া যায়।

উদাহরণঃ


<img src=”http://bangla.salearningschool.com/wp-content/uploads/2015/04/bangla.salearning.png” alt=”salearningschool.com” width=660″ height=”150″>


 

 

ফলাফল


salearningschool.com


 

 

আমার সুপারিশ: সর্বদা ছোট হাতের অক্ষর ব্যবহার করবেন।

এইচটিএমএল ৫ স্ট্যান্ডার্ড এর ছোট হাতের অ্যাট্রিবিউট নাম প্রয়োজন হয় না। টাইটেল অ্যাট্রিবিউট ছোট বা বড় হাতের লেখা যেতে পারে, যেমন- Title বা TITLE ।

ছোট হাতের সবচেয়ে কমন এবং ছোট হাতের অক্ষর লেখাও সহজ।

আমার সুপারিশ : সর্বদা Quote Attribute মান ব্যবহার করবেন।

এইচটিএমএল ৫ স্ট্যান্ডার্ড এ অ্যাট্রিবিউট মান এ Quote দেওয়ার প্রয়োজন হয় না। উপরে প্রদর্শিত href অ্যাট্রিবিউট, এভাবেও লেখা যেতে পারেঃ


<a href=http://salearningschool.com>


 

 

এইচটিএমএল 4 Quote ব্যবহারের বিশেষ পরামর্শ দেওয়া হচ্ছে এবং এক্সএইচটিএমএল (XHTML) এর মত ডকুমেন্ট Quote ব্যবহারের দাবি রাখে।


<p title=About bangl learnings chool>


 

 

[quote এর ব্যবহার করাটা খুবই সাধারণ ব্যাপার। quotes বাদ দিয়ে লিখলে ত্রুটি তৈরী হতে পারে। ]

 

সিঙ্গেল বা ডাবল quote ?

ডাবল quote এর ব্যবহার এইচটিএমএল এ খুবই সাধারণ, কিন্তু একক quote ও ব্যবহার করা যেতে পারে।

অনেকসময়, যখন অ্যাট্রিবিউট মান নিজেই ডাবল quotes (উদ্ধৃতি চিহ্ন) ধারণ করে তখন একক সিঙ্গেল quotes (উদ্ধৃতি চিহ্ন) ব্যবহার করা প্রয়োজন হয়ে পরে।

যেমনঃ-


<p title=’John “ShotGun” Nelson’>


 

 

বা উলটাভাবে


<p title=”John ‘ShotGun’ Nelson”>


 

 

 

অধ্যাযয়ের সারমর্ম

১। সমস্ত এইচটিএমএল উপাদানের অ্যাট্রিবিউট থাকতে পারে।

২। এইচটিএমএল টাইটেল অ্যাট্রিবিউট অতিরিক্ত “টুল – টিপ” তথ্য প্রদান করে।

৩। এইচটিএমএল href অ্যাট্রিবিউট লিঙ্কের জন্য ঠিকানা ও তথ্য প্রদান করে।

৪। এইচটিএমএল width এবং height অ্যাট্রিবিউটন ইমেজের জন্য আকার বিষয়ক তথ্য প্রদান করে।

৫। এইচটিএমএল Alt অ্যাট্রিবিউট পাঠকদের জন্য টেক্সট প্রদান করে।

৬। এইচটিএমএল এট্রিবিউট নামে সবসময় ছোট হাতের অক্ষর ব্যবহার করা ভাল।

৭। quote এট্রিবিউট এ সবসময় ডাবল quote ব্যবহার করা ভাল।

 

এইচটিএমএল এট্রিবিউট

নীচে এইচটিএমএল এ প্রায়ই ব্যবহৃত হয় এমন কিছু এট্রিবিউট এর একটি বর্ণানুক্রমিক তালিকা দেওয়া হল:

এট্রিবিউটঃ alt
ব্যাখ্যাঃ ইমেজের জন্য একটি বিকল্প টেক্সট উল্লেখ করে

এট্রিবিউটঃ disabled
ব্যাখ্যাঃ একটি ইনপুট উপাদান নিষ্ক্রিয় করা হবে উল্লেখ করে

এট্রিবিউটঃ href
ব্যাখ্যাঃ লিঙ্ক এর জন্য URL (ওয়েব ঠিকানা) উল্লেখ করে

এট্রিবিউটঃ id
ব্যাখ্যাঃ একটি উপাদানের জন্য একটি unique আইডি উল্লেখ করে

এট্রিবিউটঃ src
ব্যাখ্যাঃ ইমেজের জন্য URL (ওয়েব ঠিকানা) উল্লেখ করে

এট্রিবিউটঃ style
ব্যাখ্যাঃ একটি উপাদানের জন্য ইনলাইন সিএসএস স্টাইল উল্লেখ করে

এট্রিবিউটঃ title
ব্যাখ্যাঃ একটি উপাদান সম্পর্কে ( টুল টিপ হিসেবে প্রদর্শিত) অতিরিক্ত তথ্য উল্লেখ করে

এট্রিবিউটঃ value
ব্যাখ্যাঃ ইনপুট উপাদানের জন্য মান ( টেক্সট কন্টেন্ট ) উল্লেখ করে করে

MongoDB Java

Done By Raju(DU)

MongoDB Java

Installation পদ্ধতিঃ

Java program এ MongoDB ব্যাবহার করার পূর্বে আমাদেরকে নিশ্চিত করতে হবে যে MongoDB JDBC
Driver এবং Java আমাদের machine এ পূর্বে থেকেই রয়েছে। আপনি আরও Java tutorial দেখতে পারেন আপনার
machine এ Java installation করার জন্য। এখন দেখবে কিভাবে MongoDB JDBC driver টি আপনার machine
এ setup করবেন।
১। প্রথমে আপনাকে একটি jar ফাইল দরকার পড়বে সেটি mongodb/mongo-java-driver/downloads> Download mongo.jar
থেকে নামিয়ে নিতে হবে এবং নিশ্চিত হতে হবে সেটি যেন নতুন সংস্করণের হয়।
২। আপনাকে অবশ্যই mongo.jar কে আপনার classpath এ সংযুক্ত করতে হবে ।

Connect to database( Database এ Connect করণ)
—————————————————
Database এ connect করার জন্য আপনাকে database name নির্দিষ্ট করতে হবে, যদি database এর কোন অস্তিত্ব না
থাকে তবে mongodb নিজেই তা তৈরি করে নিবে।

Database এ connect করার কিছু Code নিম্নরুপঃ

import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.WriteConcern;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
import com.mongodb.ServerAddress;
import java.util.Arrays;

public class MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( “localhost” , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( “test” );
System.out.println(“Connect to database successfully”);
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println(“Authentication: “+auth);
}catch(Exception e){
System.err.println( e.getClass().getName() + “: ” + e.getMessage() );
}
}
}

এখন database পরীক্ষা করার জন্য উপরের program টি সঙ্কলন এবং চালানো যাক। আপনার প্রয়োজন মত আপনি
path পরিবর্তন করে নিতে পারেন। আমরা JDBC driver mongo-2.10.1.jar ব্যাবহার করে বর্তমান path টি পাওয়া যায়।

যেমনঃ
$javac MongoDBJDBC.java
$java -classpath “.:mongo-2.10.1.jar” MongoDBJDBC
Connect to database successfully
Authentication: true

যদি আমরা machine টিতে Windows OS ব্যাবহার করি তবে আমরা code কে নিম্নরুপে compile and run করেতে
পারিঃ

$javac MongoDBJDBC.java
$java -classpath “.;mongo-2.10.1.jar” MongoDBJDBC
Connect to database successfully
Authentication: true

এইখানে auth এর Value হবে true, যদি user name এবং password টি নির্দিষ্ট database এর জন্য valid হয়।

Create a collection:(collection তৈরি করন)
—————————–
একটি collection তৈরি করার জন্য com.mongodb.DB class এর createCollection( ) পদ্ধতি ব্যাবহার করতে হয়।
Collection তৈরি করার জন্য code গুলি নিম্ন রুপঃ
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.WriteConcern;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
import com.mongodb.ServerAddress;
import java.util.Arrays;

public class MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( “localhost” , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( “test” );
System.out.println(“Connect to database successfully”);
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println(“Authentication: “+auth);
DBCollection coll = db.createCollection(“mycol”);
System.out.println(“Collection created successfully”);
}catch(Exception e){
System.err.println( e.getClass().getName() + “: ” + e.getMessage() );
}
}
}

যখন program টি compiled and executed হবে তখন এটি নিম্নরূপ ফলাফল দিবে-
Connect to database successfully
Authentication: true
Collection created successfully

Getting/ selecting a collection(collection নির্দিষ্ট করন):
—————————————————-
একটি collection কে database এ নির্দিষ্ট করতে com.mongodb.DBCollection class টির
getCollection() পদ্ধতি ব্যাবহার করা হয়।

Code গুলি নিম্নরূপঃ
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.WriteConcern;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
import com.mongodb.ServerAddress;
import java.util.Arrays;

public class MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( “localhost” , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( “test” );
System.out.println(“Connect to database successfully”);
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println(“Authentication: “+auth);
DBCollection coll = db.createCollection(“mycol”);
System.out.println(“Collection created successfully”);
DBCollection coll = db.getCollection(“mycol”);
System.out.println(“Collection mycol selected successfully”);
}catch(Exception e){
System.err.println( e.getClass().getName() + “: ” + e.getMessage() );
}
}
}

যখন program টি compiled and executed হবে তখন এটি নিম্নরূপ ফলাফল দিবে-
Connect to database successfully
Authentication: true
Collection created successfully
Collection mycol selected successfully

Insert a document (একটি document প্রবেশ করণ):
————————————————-
mongodb তে একটি document কে প্রবেশ করাতে com.mongodb.DBCollection class এর
insert() পদ্ধতি ব্যাবহার করা হয়।

Code গুলি নিম্নরূপঃ
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.WriteConcern;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
import com.mongodb.ServerAddress;
import java.util.Arrays;

public class MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( “localhost” , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( “test” );
System.out.println(“Connect to database successfully”);
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println(“Authentication: “+auth);
DBCollection coll = db.getCollection(“mycol”);
System.out.println(“Collection mycol selected successfully”);
BasicDBObject doc = new BasicDBObject(“title”, “MongoDB”).
append(“description”, “database”).
append(“likes”, 100).
append(“url”, “http://www.tutorialspoint.com/mongodb/”).
append(“by”, “tutorials point”);
coll.insert(doc);
System.out.println(“Document inserted successfully”);
}catch(Exception e){
System.err.println( e.getClass().getName() + “: ” + e.getMessage() );
}
}
}

যখন program টি compiled and executed হবে তখন এটি নিম্নরূপ ফলাফল দিবে-

Connect to database successfully
Authentication: true
Collection mycol selected successfully
Document inserted successfully

Retrieve all documents(document এর পুনরুদ্ধার করন):
—————————————————–
collection এর সকল document কে নির্বাচন করতে com.mongodb.DBCollection class এর
find() পদ্ধতি টি ব্যাবহার করা হয়। এই পদ্ধতি টি cursor কে বদলে দেয়, তাই আপনাকে তা পুনরুদ্ধার
করার প্রয়োজন পরবে।

Code গুলি নিম্নরূপঃ
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.WriteConcern;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
import com.mongodb.ServerAddress;
import java.util.Arrays;

public class MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( “localhost” , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( “test” );
System.out.println(“Connect to database successfully”);
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println(“Authentication: “+auth);
DBCollection coll = db.getCollection(“mycol”);
System.out.println(“Collection mycol selected successfully”);
DBCursor cursor = coll.find();
int i=1;
while (cursor.hasNext()) {
System.out.println(“Inserted Document: “+i);
System.out.println(cursor.next());
i++;
}
}catch(Exception e){
System.err.println( e.getClass().getName() + “: ” + e.getMessage() );
}
}
}

যখন program টি compiled and executed হবে তখন এটি নিম্নরূপ ফলাফল দিবে-

Connect to database successfully
Authentication: true
Collection mycol selected successfully
Inserted Document: 1
{
“_id” : ObjectId(7df78ad8902c),
“title”: “MongoDB”,
“description”: “database”,
“likes”: 100,
“url”: “http://www.tutorialspoint.com/mongodb/”,
“by”: “tutorials point”
}

Update document( document এর হালনাগাদ):
———————————————
collection থেকে document কে হালনাগাদ করার জন্য com.mongodb.DBCollection class
এর update() পদ্ধতি ব্যাবহার করা হয়।

Code গুলি নিম্নরূপঃ

import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.WriteConcern;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
import com.mongodb.ServerAddress;
import java.util.Arrays;

public class MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( “localhost” , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( “test” );
System.out.println(“Connect to database successfully”);
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println(“Authentication: “+auth);
DBCollection coll = db.getCollection(“mycol”);
System.out.println(“Collection mycol selected successfully”);
DBCursor cursor = coll.find();
while (cursor.hasNext()) {
DBObject updateDocument = cursor.next();
updateDocument.put(“likes”,”200″)
col1.update(updateDocument);
}
System.out.println(“Document updated successfully”);
cursor = coll.find();
int i=1;
while (cursor.hasNext()) {
System.out.println(“Updated Document: “+i);
System.out.println(cursor.next());
i++;
}
}catch(Exception e){
System.err.println( e.getClass().getName() + “: ” + e.getMessage() );
}
}
}

যখন program টি compiled and executed হবে তখন এটি নিম্নরূপ ফলাফল দিবে-

Connect to database successfully
Authentication: true
Collection mycol selected successfully
Document updated successfully
Updated Document: 1
{
“_id” : ObjectId(7df78ad8902c),
“title”: “MongoDB”,
“description”: “database”,
“likes”: 100,
“url”: “http://www.tutorialspoint.com/mongodb/”,
“by”: “tutorials point”
}

Delete first document( প্রথম document মুছে ফেলা):
————————————————–
collection থেকে প্রথম document মুছে ফেলার জন্য প্রথমে com.mongodb.DBCollection class
এর findOne() পদ্ধতি এবং পরে remove পদ্ধতি ব্যাবহার করা হয়।

Code গুলি নিম্নরূপঃ
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.WriteConcern;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
import com.mongodb.ServerAddress;
import java.util.Arrays;

public class MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( “localhost” , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( “test” );
System.out.println(“Connect to database successfully”);
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println(“Authentication: “+auth);
DBCollection coll = db.getCollection(“mycol”);
System.out.println(“Collection mycol selected successfully”);
DBObject myDoc = coll.findOne();
col1.remove(myDoc);
DBCursor cursor = coll.find();
int i=1;
while (cursor.hasNext()) {
System.out.println(“Inserted Document: “+i);
System.out.println(cursor.next());
i++;
}
System.out.println(“Document deleted successfully”);
}catch(Exception e){
System.err.println( e.getClass().getName() + “: ” + e.getMessage() );
}
}
}

যখন program টি compiled and executed হবে তখন এটি নিম্নরূপ ফলাফল দিবে-
Connect to database successfully
Authentication: true
Collection mycol selected successfully
Document deleted successfully

mongodb এর বাকি পদ্ধতি যেমন save(), limit(), skip(), sort() একই ভাবে কাজ করে ।

ইনপুট ও আউটপুট . C – Input & Output

ইনপুট ও আউটপুট
আরিফ
প্রোগ্রামে ইনপুট দেয়া হচ্চে প্রগ্রামের মধ্যে নিজের দেয়া ডাটা ঢুকানো। আমরা ফাইল (ফাইল ইনপুট- আউটপুট অংশে আমরা এটা শিখতে পারব) এবং কমান্ড লাইন দুভাবেই ডাটা দিতে পারি । এজন্যে সি এর কিছু বিল্ড-ইন ফাংশন আছে। আর অউটপুট হচ্ছে আমাদের দেয়া ইনপুট ডাটা কম্পিউটার স্ক্রিনে বা প্রিন্টার বা ফাইলের মাঝে দেখানো।
আমরা যদি আমাদের প্রোগ্রামে এমন ব্যবস্থা রাখতে চাই, যাতে কোন দুটি সংখ্যা যোগ করতে হবে সেটি আমরা কোডের ভেতর লিখব না, ব্যবহারকারীর কাছ থেকে ইনপুট আকারে জেনে নেব, তাহলে যে কাজটি করতে হবে সেটাই ইনপুট ডাটা। আর এই ইনপুট ডাটা কম্পিউটার স্ক্রিনে বা প্রিন্টার বা ফাইলের মধ্যে দেখতে পাওয়া হচ্ছে আউটপুট।
এখন আমরা কিছু ইনপুট আউটপুট ফাংশনের সাথে পরিচিত হব।
• getchar & putchar
• scanf & printf
আমরা scanf এবং getchar এই দুটো ফাংশন ব্যাবহার করে ডাটা ইনপুট নিব আর scanf এবং printf এই দুটো ফাংশন দ্বারা আউটপুট এ দেখাব।
উদাহরণঃ
#include <stdio.h>
int main( )
{
char str[100];

printf( “Enter a value :”);
gets( str );

printf( “\nYou entered: “);
puts( str );

return 0;
}

এই কোডটিতে char টাইপের str নামের একটি array নেয়া হয়েছে । যখন আমরা কম্পাইল করবো তখন আমাদেরকে ডাটা ইনপুট দেয়ার জন্য বলা হবে যা puts ফাংশন কম্পাইল শেষে কম্পিউটার এ দেখাবে। আমাদের ইনপুট যদি হয় –
this is test
তবে আউটপুট পাবো-
You entered: This is test

নিচের উদাহরণটিও একই কাজ করবে।
#include <stdio.h>
int main( )
{
char str[100];
int i;

printf( “Enter a value :”);
scanf(“%s %d”, str, &i);

printf( “\nYou entered: %s %d “, str, i);

return 0;
}

এখানে scanf ফাংশনটি আগের উদাহরণের gets ফাংশনের মতই ডাটা ইনপুট নিতে ব্যাবহার করা হয়েছে।
এছাড়াও সি – তে আরও অনেক ইনপুট-আউটপুট ফাংশন আছে যেগুলোর সাথে আমরা পরবর্তিতে পরিচিত হব।

MongoDB সীমাবদ্ধ রেকর্ডস

MongoDB সীমাবদ্ধ রেকর্ডস
নয়ন চন্দ্র দত্ত

* Limit() পদ্ধতি
MongoDB তে রেকর্ডকে সীমাবদ্ধ করতে হলে limit() মেথড বা পদ্ধতি ব্যবহার করতে হবে। Limit() পদ্ধতি এক নাম্বারের টাইপ সমর্থন করে যা ডকুমেন্টের নাম্বার এবং আপনি প্রদর্শন করতে চাইছেন।

সিনট্যাক্সঃ
limit() এর বেসিক সিনট্যাক্স নিম্নরূপঃ

>db.COLLECTION_NAME.find().limit(NUMBER)

উদাহরণঃ
নিম্নলিখিত তথ্যের সাথে myycol কালেকশনটি বিবেচনা করুনঃ

{ “_id” : ObjectId(5983548781331adf45ec5), “title”:”MongoDB Overview”}
{ “_id” : ObjectId(5983548781331adf45ec6), “title”:”NoSQL Overview”}
{ “_id” : ObjectId(5983548781331adf45ec7), “title”:”Tutorials Point Overview”}

ডকুমেন্ট quering এর সময় নিচের উদাহরণটি কেবলমাত্র ২টি ডকুমেন্ট প্রদর্শন করবেঃ

>db.mycol.find({},{“title”:1,_id:0}).limit(2)
{“title”:”MongoDB Overview”}
{“title”:”NoSQL Overview”}
>

যদি আপনি Limit() পদ্ধতিতে ডকুমেন্টের নাম্বার উল্লেখ না করেন তাহলে এটি কালেকশনের সকল ডকুমেন্ট প্রদর্শন করবে।

* MongoDB Skip() পদ্ধতি
এছাড়াও limit() পদ্ধতি ছাড়া আরও একটি পদ্ধতি skip() আছে যা ডকুমেন্টের সংখ্যার টাইপ সমর্থন করে এবং সেই নাম্বারের ডকুমেন্ট এড়িয়ে(skip) চলে।

সিনট্যাক্সঃ
skip() এর বেসিক সিনট্যাক্স নিম্নরূপঃ

>db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

উদাহরণঃ
নিম্নলিখিত উদাহণটি শুধু দ্বিতীয় ডকুমেন্ট প্রদর্শন করবেঃ

>db.mycol.find({},{“title”:1,_id:0}).limit(1).skip(1)
{“title”:”NoSQL Overview”}
>

অনুগ্রহ করে লক্ষ্য করুন- skip() পদ্ধতিতে ডিফল্ট মান ০ ।

A Modern Web Dev’s Toolkit . ওয়েব ডেভেলপার দের আধুনিক টুলস

A Modern Web Dev’s Toolkit . ওয়েব ডেভেলপার দের আধুনিক টুলস

নোড এবং এন পি এমঃ

নোড এনেছে সার্ভার ও ডেস্কটপ জাভা স্ক্রিপ্ট। প্রথমে যদিও জাভা স্ক্রিপ্ট প্রধানত ব্রাউজার এর ভাষার ওপর ভিত্তি করে  ব্যবহার করা হত, এখন নোড দ্বারা আপনি আপনার সার্ভার সাইড ব্যাক বা একটি ডেস্কটপ অ্যাপ্লিকেশন তৈরি করতে পারেন  আপনার নোড-ওয়েবকিটের সাহায্যে (যারা বেশী উদ্বিগ্ন জন্য)। Node.js® হলো, ক্রোমের জাভাস্ক্রিপ্ট রানটাইম উপর নির্মিত একটি প্ল্যাটফর্ম, যা দ্বারা  দ্রুত ও সহজে আকার পরিবর্তনযোগ্য নেটওয়ার্ক অ্যাপ্লিকেশন।

একটি ওয়েব সার্ভার তৈরি করা অত্যন্ত সহজ যদি নিম্নক্ত লাইনগুলো অনুসরণ করা যায়।

var http = require(‘http’);

http.createServer(function (req, res) {

res.writeHead(200, {‘Content-Type’: ‘text/plain’});

res.end(‘Hello World\n’);

}).listen(1337, ‘127.0.0.1’);

console.log(‘Server running at http://127.0.0.1:1337/’);

 

এটি চালানোর জন্য করতে হবে

$ node start

Server running at http://172.0.0.1:1337/

 

নোড এর অন্নতম একটি বিষয় হলো এর গুরুত্বপূর্ণ কমিউনিটি, যা NPM ডিরেক্টরি, নোড প্যাকেজ ম্যানেজার তৈরি করে এবং তথাকথিত নোড মডিউল প্রকাশ করে। বর্তমানে এ সম্পর্কে 90,000 মডিউল আছে এবং গত মাসে প্রায় 390,000 ডাউনলোড করা হয়েছে।

নোড ইনস্টলিং এর নিয়মঃ

শুরুতেই আপনাকে প্রথমে নোড রানটাইম ইনস্টল করতে হবে। এটি স্বয়ংক্রিয়ভাবে আপনার মেশিনে NPM ইনস্টল করবে।

এটি সম্পন্ন হলে, লিখতে হবে

$ node -v

নোড প্যাকেজ ইনস্টলিং এর নিয়মঃ

একটি নোড প্যাকেজ ইনস্টল করা সহজ।

$ npm install grunt

 

এটি node_modules নামক একটি ফোল্ডারে ইনস্টল হবে।

একটি প্যাকেজ আনইনস্টল করতেঃ

একটি প্যাকেজ আনইনস্টল করতে নিম্নক্ত পদ্ধতি অবলম্বন করুন।

$ npm uninstall –save-dev grunt

এর ফলে package.json থেকে প্যাকেজটি মুছে যাবে।

 

বিশ্বব্যাপী প্যাকেজসমূহঃ

প্যাকেজ ইনস্টলের পাশাপাশি dev বা রানটাইম নির্ভর করে।

$ npm install grunt –g

 

প্যাকেজ পুনরুদ্ধারের নিয়মঃ

আপনার VCS করতে node_modules ফোল্ডার কমিট করবেন না।

রুট ডিরেক্টরিতে নির্বাহ করতেঃ

$ npm install

সংস্করণ করাঃ

  • একটি সংস্করণ সংখ্যা হলো MINOR.PATCH
  • যখন আপনি অসামঞ্জস্যপূর্ণ মেজর সংস্করণ করেন, তখন API- র পরিবর্তন হয়।
  • ক্ষুদ্র সংস্করণ হয় যখন আপনি পিছন দিকে একটি উপযুক্ত পদ্ধতিতে কার্যকারিতা যোগ করেন, এবং যখন আপনি পিছন দিকে-সামঞ্জস্যপূর্ণ বাগ সংশোধন করেন, তখন প্যাচ সংস্করণ হয়।
  • NPM 1.3.5: প্যাকেজ (সবচেয়ে নিয়ন্ত্রণমূলক) দেওয়া সংস্করণ ব্যবহার করতে বলে।
  • বাড়তি প্যাচ সংস্করণের (সাধারণত বাগ) জন্য3.5 বা 1.3.x: NPM শুধুমাত্র আপগ্রেড দেওয়া প্যাকেজকে এভাবে উল্লেখ করে => = 1.3.5-0
  • 4.0-0: NPM এটি সংজ্ঞায়িত করে এভাবে ~ 1.3.5
  • ^ 1.3.5: <2.0.0: এটি প্রধান রিলিজের চেয়ে পরবর্তী কোনো সংস্করণে আপগ্রেড করতে NPM এভাবে উল্লেখ করেঃ :<2.0.0 ।
  • যখন আপনি নোড প্যাকেজ ইনস্টল করবেন তখন নতুন NPM 1.3.5 ডিফল্ট সিস্টেম এভাবে টা প্রদর্শন করবে => = 1.3.5-0 <2.0.0-0

 

 

বোয়ারঃ

এটা একটি প্যাকেজ ম্যানেজার যা আপনার সামনের শেষ উন্নয়ন লাইব্রেরি যেমন jQuery, বুটস্ট্র্যাপ এর জন্য।

$ npm install -g bower

 

একটি bower.json ফাইলের উদাহরণ।

একটি প্যাকেজ আন-ইনস্টল করতে হলে এই পদ্ধতি অনুসরণ করুনঃ

$ bower uninstall –save jquery

ইওম্যানঃ

ইওম্যান এক ধরণের জেনারেটর দ্বারা ।

ইওম্যান এর জেনারেটরগুলো একটি নোড মডিউল হিসাবে বিতরণ করা হয়।

এটি ইনস্টল করতেঃ

$ npm install -g yo

Gruntfile.js :

Gruntfile.js সেই স্থান যেখানে আপনি আপনার প্রকল্পের কাজটি কনফিগার করবেন এই ফাইলটি সহজে শুরু করতে:

module.exports = function(grunt) {

// Do grunt-related things in here

};

গ্রান্ট মডিউলসঃ

গ্রান্ট মডিউল নোড এর NPM ডিরেক্টরির মাধ্যমে বিতরণ করা হয় গ্রান্ট মডিউলসই  ইনস্টল করতে আমার দেখানো পদ্ধতি অনুসরণ করুনঃ

$ npm install –save-dev grunt-contrib-uglify

গ্রান্ট টাস্কের কারণ বিশ্লেষণঃ

আপনি বিল্ড টাস্ক নির্ধারণ শুরু করতে চাইলে আমার আগে উল্লেখ করা গ্রান্ট বইটির উদাহরণস্বরূপ stringCheck টাস্কটিকে অনুসরণ করবেন

module.exports = function(grunt){

grunt.initConfig({

stringCheck: {

file: ‘./src/somefile.js’,

string: ‘console.log(‘

}

});

}

আপনি দেখতে পাবেন, একটি টাস্ক কেবলি একটি ফাংশন যা আপনি রেজিস্টার করবেন গ্রান্ট এর সাথে

module.exports = function(grunt){

grunt.registerTask(‘stringCheck’, function() {

//fail if configuration is not provided

grunt.config.requires(‘stringCheck.file’);

grunt.config.requires(‘stringCheck.string’);

 

//retrieve filename and load it

var file = grunt.config(‘stringCheck.file’);

var contents = grunt.file.read(file);

 

//retrieve string to search for

var string = grunt.config(‘stringCheck.string’);

 

if(contents.indexOf(string >= 0))

grunt.fail.warn(‘”‘ + string + ‘” found in “‘ + file + ‘”‘);

});

}

একাধিক টাস্কঃ

গ্রান্ট আপনাকে দিচ্ছে একটি টাস্ক সঞ্চালনের গ্রুপ।নিম্নক্তঃ

module.exports = function(grunt){

grunt.initConfig({

stringCheck: {

target1: {

file: ‘./src/somefile.js’,

string: ‘console.log(‘

},

target2: {

file: ‘./src/somefile.js’,

string: ‘eval(‘

}

}

});

}

 

 

গ্লোবিং:

 

ফাইল গ্লোবিং বা ওয়াইল্ডকার্ড সাদৃশ্যকরণ  একটি বড় গ্রুপের ফাইল ক্যাপচার করার একটি পদ্ধতি।

চলমান কর্মঃ

আপনি যদি একটি টাস্ক রান করতে চাইলে নিম্নের পদ্ধতি অনুসরণ করুনঃ

$ grunt task1 task2

যদি আপনার একাধিক টাস্কের উদ্দেশ্য থাকে, তাহলে নিম্নক্ত পদ্ধতি অনুসরণ করুনঃ

$ grunt task:target1

আপনি যদি এর পরিবর্তে গ্রান্ট চালান, তাহলে ডিফল্ট টাস্ক চলতে থাকবে যা আপনি নিম্নরূপ কনফিগার করতে পারেনঃ

module.exports = function(grunt) {

grunt.registerTask(‘build’, function() {

console.log(‘building…’);

});

 

grunt.registerTask(‘test’, function() {

console.log(‘testing…’);

});

 

grunt.registerTask(‘default’, [‘build’, ‘test’]);

};

 

গাল্পঃ

নোড কখনই পূর্ণতা পাবে না, যদি আমরা গাল্পকে উল্লেখ না করি গাল্প হলো জাভা স্ক্রিপ্ট টাস্কের এর আগত নতুন সঞ্চালক যা Node.js প্রবাহের উপর নির্মিত এটি স্ক্রিপ্টকে সহজে নির্মাণের লক্ষেঅনুরক্ত কনফিগারেশন  কোড”  ব্যবহার করা হয়

এসইও – ডিজাইন ও লেআউট বা বিন্যাস । SEO – Design & Layout

নয়ন চন্দ্র দত্ত

 

ওয়েবসাইট ডিজাইন এবং বিন্যাস আপনার সাইট সম্পর্কে প্রথম ছাপ ফেলে। অনেক সাইট আছে যা খুব অভিনব এবং নিয়মিত নেট surfers ঐ সাইটে পৌঁছায় এবং তৈরি করা ছাড়াই একটি ক্লিকেই এসে পড়ে।

সার্চ ইঞ্জিন, খুব স্মার্ট কিন্তু তারপরও তারা সফ্টওয়্যার এবং মানুষের মত না এবং যারা তাদের আগ্রহের বিষয়বস্তু পড়তে পারেন। যদি আপনি আপনার সাইটকে খুব জটিল করেন তাহলে সার্চ ইঞ্জিন সঠিকভাবে আপনার সাইটের বিষয়বস্তু বিশ্লেষণ করতে সক্ষম হবে না এবং পরিশেষে ইন্ডেক্স উন্নত হবে না যার ফলাফল হবে নিম্ন মানের।

প্রকৃত পেজে কন্টেন্ট প্রায় 10% এর একটি শব্দ ঘনত্ব থাকতে হবে এবং প্রায় 200 শব্দ এ তৈরী করা উচিত কিন্তু এসইও বিশেষজ্ঞদের এই সম্পর্কে অনেক মতামত আছে। অনেকে বলে, শব্দ ঘনত্ব 5% হতে হবে আবার অনেকে বলে এটা 20% হতে হবে। আপনি 10% সঙ্গে যেতে পারেন যা যথেষ্ট ভাল।

এখানে কয়েকটি নির্দেশিকা আছে যা একটি ওয়েব পেজ নকশা করার সময় আপনি মনে রাখতে পারেনঃ

  1. আপনার HTML element এর চেয়ে বেশি টেক্সট কন্টেন্ট থাকতে হবে
  2. কোন ফ্রেম নয় তারা সার্চ ইঞ্জি্নের শত্রু এবং সার্চ ইঞ্জিন ফ্রেমের শত্রু
  3. যদি সম্ভব হয় তাহলে কোন বিজ্ঞাপন দিবেন না কারণ বিজ্ঞাপনগুলো বেশীরভাগ জাভা – স্ক্রিপ্ট ব্যবহার করে যা পরামর্শ দেওয়া হয় না
  4. কোন জাভাস্ক্রিপ্ট না। যদি জাভাস্ক্রিপ্ট প্রয়োজন হয় তাহলে HTML ফাইল এ কোড ডাম্পিং চেয়ে একটি বহিরাগত ফাইল থেকে নিন
  5. টপিক পেজে কিছু নিবেন না যা পুরোপুরি মিশবে না
  6. কোন অপ্রয়োজনীয় ডিরেক্টরি দিবেন না। যথাসম্ভব রুটের কাছাকাছি আপনার ফাইল রাখুন।
  7. যদি না অত্যাবশ্যক হয় তাহলে কোন অভিনব জিনিস নয়। যেমন- ফ্ল্যাশ , স্প্ল্যাশ, প্রাণবন্ত gifs , rollovers , ইত্যাদি ।

সি প্রোগ্রামিং ল্যাংগুয়েজ পরিচিতি (C – Language Overview)

সি প্রোগ্রামিং ল্যাঙ্গুয়েজ
নাফিরুল ইসলাম

সি প্রোগ্রামিং ল্যাঙ্গুয়েজ প্রথম উদ্ভাবিত হয়েছিল ডেনিশ এম রিচসি এর মাধ্যমে যার প্রধান লক্ষই ছিল উনিক্স অপারেটিং সিস্টেম ব্যবহার উন্নত পর্যায়ে নিয়ে যাওয়া। DEC PDP-11 কম্পিউটারে ১৯৭২ এই সি প্রোগ্রামিং ল্যাঙ্গুয়েজ এর ব্যবহার প্রথম লক্ষ্য করা যায়।

১৯৭২ সালে ব্রায়ান কারনিঘান এবং ডেনিশ রিচসি দুজনে মিলে সি প্রোগ্রামিং ল্যাঙ্গুয়েজ প্রথম বিবরণ বের করেন যা এখন K&R Standard নামে পরিচিত।

উনিক্স অপারেটিং সিস্টেম, সি কম্পাইলার এবং উনিক্স অপারেটিং সিস্টেম এর সব গুরুত্বপূর্ণ প্রোগ্রামগুলো সি প্রোগ্রামিং ল্যাঙ্গুয়েজ এ রচিত। এখন তা বিভিন্ন কারনে টেকনোলজি বিশ্বে জনপ্রিয়তা অর্জন করেছে। এগুলোর মধ্যে উল্লেখযোগ্য কিছু কারন হল,
১. এটা সহজেয় শেখা যায়।
২. এটা একটা সুগঠিত প্রোগ্রামিং ভাষা।
৩. এটা সাবলীল প্রোগ্রাম তৈরিতে ব্যবহার করা হয়।
৪. এটা ল-লেভেল কাজ গুলো রক্ষা করতেও ব্যবহার করা হয়।
৫. এটা কম্পিউটার এর বিভিন্ন প্লাটফর্মে প্রয়োগ করা যাবে।

সি ল্যাঙ্গুয়েজ সম্পর্কে যা কিছু সত্যি

১. এটা প্রধানত উনিক্স অপারেটিং সিস্টেম তৈরিতে প্রথম উদ্ভাবন করা হয়েছিল।
২. ১৯৭০ সালের বি ল্যাঙ্গুয়েজ এর উত্তরসরি হল সি ল্যাঙ্গুয়েজ।
৩. এটা ১৯৮৮ সালে American National Standard Institute এর দ্বারা প্রাতিষ্ঠানিক রূপ দেয়া হয়েছিল।
৪. ১৯৭৩ সালে উনিক্স অপারেটিং সিস্টেম এর পুরোটাই সি ল্যাঙ্গুয়েজ এ তৈরি করা হয়েছিল।
৫. আজকের অতীব জনপ্রিয় অপারেটিং সিস্টেম লিনাক্স এর অপারেটিং সিস্টেম এবং RBDMS মাইএসকিউএল সি ল্যাঙ্গুয়েজ এ রচিত হয়েছে।

জেকুয়্যেরি(jQuery) মোবাইল লিস্ট ভিউস (jQuery Mobile List Views)

জেকুয়্যেরি(jQuery) মোবাইল লিস্ট ভিউস (jQuery Mobile List Views)
মো: আসাদুজ্জামান (Md. Asaduzzaman)
ফ্রিল্যান্সার (ওয়েব ডিজাইনার এবং ডেভেলপার।)

জেকুয়্যেরি(jQuery) মোবাইল লিস্ট ভিউস:

জেক্যুয়েরিতে মোবাইল লিস্ট ভিউস এইচটিএমএল এর আদর্শ লিস্টস্: অর্ডার্ড (<ol>) এবং আনঅডার্ড (<ul>).
একটি লিস্ট তৈরি করার জন্য, =”listview” ডাটা-রোলটি <ol> অথবা <ul> এলিমেন্ট এ প্রয়োগ করতে হবে।আইটেমকে ট্যাপাবল (tappable) করার জন্য লিস্ট আইটেম (<li>) এর মধ্যে লিংক স্পেসিফাই করুন:

উদাহরণ:
<ol data-role=”listview”>
<li><a href=”#”>List Item</a></li>
</ol>

<ul data-role=”listview”>
<li><a href=”#”>List Item</a></li>
</ul>

লিস্টকে বৃত্তাকার কোণ এবং কিছু মার্জিন এর মাধ্যমে স্টাইল করার জন্য “true” এট্ট্রিবিউট ডাটা-ইনসার্ট (data-insert) হিসেবে ব্যবহার করুন:
উদাহরণ:
<ul data-role=”listview” data-inset=”true”>

# ডিফল্টরূপে, একটি লিস্ট আইটেম এর ভিতরে লিংক স্বয়ংক্রিয়ভাবে একটি বাটন এ পরিণত হয় (ui-class=”btn” or data-role=”button” এগুলোর কোন প্রয়োজন নেই)।

লিস্ট ডিভাইডার (List Dividers
)
লিস্ট ডিভাইডার ব্যবহার করা হয় বিভাগ (categories) /সেকশনস কে সংগঠিত করা এবং গ্রুপ আইটেমস করার জন্য।

একটি লিস্ট ডিভাইডার কে নির্দেশ (specify) করার জন্য data-role=”list-divider” এট্রিবিউট একটি <li> এলিমেন্ট এ অন্তভূক্ত করতে হবে:

উদাহরণ:
<ul data-role=”listview”>
<li data-role=”list-divider”>Europe</li>
<li><a href=”#”>Norway</a></li>
<li><a href=”#”>Germany</a></li>
</ul>

আপনার যদি একটি বর্ণানুক্রমে তালিকা থাকে, (যেমন একটি ফোন বুক)<ol> অথবা <ul> এলিমেন্ট এ data-autodividers=”true” এট্রিবিউট jQuery মোবাইল স্বয়ংক্রিয়ভাবে সঠিক ডিভাইডার যোগ করে:

উদাহরণ:
<ul data-role=”listview” data-autodividers=”true”>
<li><a href=”#”>Adele</a></li>
<li><a href=”#”>Agnes</a></li>
<li><a href=”#”>Billy</a></li>
<li><a href=”#”>Calvin</a></li>

</ul>

data-autodividers=”true” অ্যাট্রিবিউট আইটেম এর টেক্সট এ প্রথম অক্ষর বড় হাতের অক্ষর দিয়ে বিভক্ত সৃষ্টি করে.

আরো উদাহরণ

Read-only lists
লিঙ্ক ছাড়া তালিকা তৈরি করুন (বাটন হবে না এবং ট্যাপাবল হবে না).

Panels
কিভাবে আপনার লিস্ট আইটেম এ প্যানেল সন্নিবেশ করবেন.