STL : Map

ম্যাপ শুনে ভয় পাওয়ার কিছু নাই :P এই ম্যাপ সেই ম্যাপ না :D
ম্যাপ ও ভেক্টর , অ্যারে র মতই :D ইনডেক্স আছে , সেই ইনডেক্সে ডাটা রাখা যায় :D
খানিক বিরক্ত হইয়া ভাবতে পারেন , মিয়া এইটাও যদি ওইগুলার মতই হয় তাইলে কষ্ট কইরা এইটা কেন শিখুম !!! >:(
তাও ঠিক কেন শিখবেন :P যাইহোক সুবিধা কিছু আছে দেখেই শিখব :)
আর শিখতে তো টাকা লাগতেছে :P ফ্রী ফ্রী শিখতে সমস্যা কি :P
আচ্ছা ম্যাপ এর সব থেকে বড় সুবিধা হল আপনি এটার ইনডেক্স value ইচ্ছা মত দিতে পারবেন ,

STL :: Vector

Vector কে বলা যায় Dynamic Array .
Dynamic Array বলার কারন , আপনি প্রোগ্রামে যখন নরমাল Array Declare করেন তখন আপনাকে তার সাইজ দিয়ে দিতে হয় এবং আপনি চাইলেই রান টাইমে তার সাইজ বড় বা ছোট করতে পারবেন না । কিন্তু Vector এ তা করতে পারবেন । এই হল Vector এর একটি সুবিধা । এছাড়া Vector এ অন্য সব কাজও করতে পারবেন সাধারন Array র মতই ।

পাইথন variable declaration এবং লুপ

আজকেও পাইথনের বেসিক কিছু জিনিস দেখব ।
প্রোগ্রামিং এ ডাটা নিয়ে কাজ করার জন্য যেটি সব থেকে বেশি গুরুত্বপূর্ণ টা হল variable ।
variable declare করাও সহজ পাইথনে ।
variable name লিখে value assign করে দিলেই হবে ।
যেমন ঃ
number = 10
তবে এক্ষেত্রে আপনি সি এর মত আগেই variable declare করে রাখতে পারবেন না, এবং variable টি কি টাইপ তাও উল্লেখ্য করতে হবে না ।

স্ট্রিং ( String In C )


স্ট্রিং হচ্ছে কতগুলো character এর সমষ্টি । Array এবং String এর মধ্যে পার্থক্য হচ্ছে Array এর শেষে কোন NULL character থাকে না তবে string এর শেষে একটা NULL character থাকে । যার মাধ্যমে বুঝা জায় যে এটি একটি string Array integer ( int ) কিংবা character ( char ) দুই ধরনেরই হতে পারে । কিন্তু string সব সময় character টাইপ হবে ।
স্ট্রিং কে gets() ফাংশন এর মাধ্যমে input নেওয়া হয় । puts() ফাংশনের মাধ্যমে Output । অবশ্য printf() ব্যবহার করা যায় তবে input এর ক্ষেত্রে scanf() ব্যবহার করতে পারবেন না । scanf() ব্যবহার করে ইনপুট নিলে টা স্ট্রিং হবে না । কারণ scanf() ফাংশন কোন character set এর space এর আগ পর্যন্ত input নিবে । space পাওয়া মাত্র শেষ input terminate করে দিবে । অর্থাৎ space পরের কিছু input এ আসবে না ।

পাইথন Input/Output - Conditional Statements

পাইথনে ইনপুট/অাউটপুট ফাংশন ঃ

পাইথনে Numeric data ইনপুট নেওয়ার জন্য আছে input() ফাংশন ।
আর স্ট্রিং এর জন্য আছে raw_input() ফাংশন ।

রিকারশন ( Recursion ) - রিকারশন ট্রি ( Recursion Tree )

Recursion বলতে মোটামুটি বুঝায় কোন Function কে ঐ Function এর মধ্যে বা অন্য কোন Function এর মাধ্যমে বার বার কল করে কাজ করাকে । আর যেই Function কে কল করে কাজ করা হয় তাকে বলে Recursive Function ।
 একটা উদাহরণ দেখলে আরও ভালভাবে বুঝা যাবে ।
ধরুন , Fibonacci ক্রম বের করবেন তাহলে সাধারণত আমরা কিভাবে প্রোগ্রামটি লিখতাম ঃ


Eclipse এই করুন পাইথন প্রোগ্রামিং

প্রোগ্রামিং এর জন্য আমরা প্রায়ই আলাদা আলদা IDE ব্যবহার করি আলাদাআলাদা ল্যাঙ্গুয়েজ এর জন্য । কিন্তু যদি এমন হয় একটা IDE তেই সব কাজ করতে পারতেছি তাহলে কেমন হয় !! :D
Eclipse এরকম ই একটি IDE যেটি দিয়ে C/C++,Java,Python,PHP এর কাজ করতে পারবেন ।
Eclipse দিয়ে C/C++ এর কাজ কিভাবে করবেন তার জন্য এই লিঙ্কে দেখুন
এই পোস্টে দেখব কিভাব Eclipse দিয়ে পাইথন এর কাজ করে এবং এর জন্য Eclipse setup করতে হয় :)
গ্রামীনফোনের ফ্রি ইন্টারনেট Android, Java Phone এবং Computer এ

গ্রামীনফোনের ফ্রি ইন্টারনেট Android, Java Phone এবং Computer এ

Android :

Android এর জন্য Operamini handler download করে নিন এখান থেকে
ডাউনলোড শেষে ইন্সটল করে রান করুন ।
* আগে যদি অপেরামিনি ইন্সটল করে থাকে তাহলে সেটি আনইন্সটল করে নিন ।
Mobile এর ইন্টারনেট Configuration এ নতুন একটা Access point name ( APN ) তৈরি করুন
proxy = 10.128.1.2
port = 8080
apn = gpmms
এই information দিয়ে ।

যেভাবে IDE ছাড়াই Compile করবেন C/C++ প্রোগ্রাম

ধরুন , আপনাকে একটা পিসি দিয়ে বলল প্রোগ্রাম Compile করতে যেখানে কোন IDE ( যেমন ঃ Codeblocks, Geany কিংবা Visual Studio ইত্যাদি ) কোনটাই ইন্সটল করা নেই এবং এগুলো ছাড়াই আপনাকে কাজ করতে হবে !! তাহলে কই করবেন ?? অবাক হয়ে গেলেন তো IDE ছাড়া কিভাবে এহেন কাজ সম্পাদন করা সম্ভব !!
অবাক হওয়ার কিছু নেই । :D আমার যেই IDE ( Integrated Development Environment ) গুলো ব্যবহার করি সেগুলো আসলে প্রোগ্রাম Compile করে না । এগুলো কেবল মাত্র Code editing এর জন্য Graphical একটা Environment আনে । এবং সেটি তার সাথে লিঙ্ক করা Compiler ব্যবহার করে প্রোগ্রাম Compile করে ।

অতঃপর ঠাণ্ডা হইল ল্যাপটপের মাথা :)

বর্তমান ল্যাপটপটা ( HP 430 ) কিনার পর সব ঠিক থাকলেও একটা বড় ঝামেলা ছিল ল্যাপটপটায় কিছুক্ষণ কাজ করলেই অনেক গরম হয়ে যেত :( । দেখা গেসে অনেক গুরুত্বপূর্ণ একটা কাজ করতেছি এর মধ্যে হটাত গেল ল্যাপটপ বন্ধ হয়ে >:( ব্যাপারটা বেশি হত লিনাক্সে ।
সেদিন নেটে ঘুরতে ঘুরতে এর একটা সমাধান পেয়ে গেলাম । অনেকই বলেছিল লিনাক্সে কাজ করার সময় ল্যাপটপ অনেক গরম হয়, ঠিক ভাবে কাজ করা যায় না । তাই সবার সাথে শেয়ার করছি :)

 

সি তে ফাইল

প্রোগ্রামে কাজ করার সময় ধরুন আপনার কোন ডাটা সংরক্ষণ করা দরকার তখন কি করবেন ???
এর জন্য আছে ফাইল । শুধু যে ডাটা ফাইলে সংরক্ষণ করতে পারবেন তা না । চাইলে ফাইল থেকে ডাটা নিয়ে তা দিয়েও কাজ করতে পারবেন :)

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

কিভাবে remastersys ইন্সটল করবেন উবুন্টুতে

যেহেতু লিনাক্সে সব কিছু ইন্টারনেট থেকে ডাউনলোড করে নিতে হয় , আমাদের দেশের জন্য এটা একটা বড় সমস্যা । ধরুন আপনি অনেক সময় নিয়ে ওএস আপডেট করলেন , অনেক সফটওয়্যার ইন্সটল করলেন এরপর কোন কারণে আপনার সিস্টেম ফল করলো । তখন হায় হায় করা ছাড়া কোন উপায় থাকবে না । কারণ আপনাকে এগুলো সব আবার নেট থেকে ডাউনলোড করে নিতে হবে । এই হায় হায় করা থেকে আপনাকে বাচাতে পারে এই
RemasterSys application টি । আপনার ইচ্ছা মত সফটওয়্যার ইন্সটল করে , সিস্টেম আপডেট করে টার একটা iso তৈরি করে রাখতে পারবেন এটির মাধ্যমে । পরে শুধু iso দিয়ে ইন্সটল করলেই পেয়ে যাবেন আপনার অতি কষ্টে ডাউনলোড করা সব কিছু :)
RemasterSys ডাউনলোড করতে টার্মিনাল ওপেন করুন এবং নিচের কমান্ড গুলো এক এক করে টার্মিনালে লিখুন ঃ

wget -q -O - http://www.remastersys.com/ubuntu/remastersys.gpg.key |sudo  apt-key add -


sudo sh -c 'echo "deb http://www.remastersys.com/ubuntu precise main" >> /etc/apt/sources.list'

sudo apt-get update && sudo apt-get install remastersys remastersys-gtk


যেভাবে ফেইসবুক কমেন্ট বক্স অ্যাড করবেন ব্লগার ব্লগে

ব্লগারে কমেন্ট করার জন্য ব্লগার এরই আলাদা কমেন্ট বক্স আছে ।
কিন্তু আপনি যদি চান আপনার ব্লগের visitor রা তাদের ফেইসবুক আইডি ব্যবহার করেই কমেন্ট করুক তাও করতে পারেন ।
এজন্য নিছের পদ্ধতি অনুসরণ করুন ঃ
প্রথমে >> এই লিঙ্কে যান <<

নিচের ছবির মত আসবে ঃ

Pointer in C

আমরা সাধারণত পয়েন্টার কাকে বলি ??
যে কাউকে পয়েন্ট করে তাকে ।
সি তেও পয়েন্টার এর একি কাজ । পয়েন্টার এখানে পয়েন্ট করে কোন variable কে ।
পয়েন্টার নিজেও এক ধরনের variable । এদেরকে পয়েন্টার variable বলে ।
নরমাল variable এর মধ্যে থাকে কোন value । যেমন ঃ 1,2,3,4,A,B,C,D ইত্যাদি ।
কিন্তু pointer variable এর মধ্যে থাকে memory address ।
pointer variable এর আগে * sign দিয়ে একে প্রকাশ করা হয় ।


কিভাবে ইন্সটল করবেন উবুন্টু/ফেডোরা/লিনাক্স মিন্ট

প্রায়ই বন্ধুরা বলে তারা ঠিক ভাবে উবুন্টু সেটআপ করতে পারে না । কেউ কেউ উবুন্টু সেটআপ করতে গিয়ে পুরো হার্ডডিস্কই ফরম্যাট দিয়ে দিছে :( তাদের জন্যই এই পোস্টটা ।
উবুন্টু আপনি ২ ভাবে সেটআপ করতে পারেন । এক, আলাদা পার্টিশন করে অথবা উইন্ডোজের মধ্যে , Side by Side । তাহলে শুরু করা যাক :)
আর এক্তা কথা উবুন্টু, লিনাক্স মিন্ট, ফেডোরা ইন্সটল করার প্রক্রিয়া একি রকম
উবুন্টু সেটআপ করার জন্য প্রথমে .iso ফাইল নামিয়ে নিন । তারপর তা usb drive এ অথবা disk এ বার্ন করুন ।

বদলে ফেলুন উবুন্টুর Default চেহারা :)

উবুন্টু ইন্সটল করেছেন কিন্তু ইউনিটি ভাল লাগছে না । খুব সহজেই পরিবর্তন করতে পারবেন এটি । চাইলে পরিবর্তন করে নিতে পারবেন এর Theme ও । তাহলে কাজ শুরু করা যাক ।

( Gnome Desktop Environment )

এবার UIU তে হল GDG : Google-MapUp Dhaka

অনেক প্রতীক্ষার পর আজ  ইউনাইটেড ইন্টারন্যাশনাল ইউনিভার্সিটিতে হল GDG - MapUp Dhaka। যদিও প্রোগ্রামটি গতমাসেই হওয়ার কথা ছিল । কিন্তু কিছু সমস্যার কারণে তারিখ পরিবর্তন করা হয় । ২ বার তারিখ পরিবর্তনের পর আজ বিকাল ৩ টা থেকে ৬ টা পর্যন্ত UIU Auditorium এ হয় এ প্রোগ্রামটি । এর আগে North South University তে হয় GDG - MapUp Dhaka ।


লুপিং ( Loop )

লুপ কে মোটামুটি Repeat এর সাথে তুলনা করা যায় । ধরুন , আপনি গান শুনছেন । এখন চাচ্ছেন পছন্দের গানটি বারবার শুনতে । এক্ষেত্রে আমরা কি করি ?? গান টার জন্য repeat অপশন অন করে রাখি যাতে আপনাআপনিই গান টা বার বার বাজতে থাকে । লুপিং ও তেমনি । একই কাজ বারবার করা । ধরুন , আপনাকে বলা হল "I live in Bangladesh" 100 বার মনিটরে প্রিন্ট করতে হবে । এখন আপনি কি 100 বার এটা লিখবেন !!! বা বলা হল 1 থেকে 200 পর্যন্ত সব গুলো সংখ্যা মনিটরে প্রিন্ট করতে ,  আপনি 1 থেকে 200 পর্যন্ত সংখ্যা গুলো বার বার লিখবেন !!! হ্যাঁ , সাধারণভাবে আপনি এটিই করবেন :) কিন্তু প্রোগ্রামিং এ এই কাজটি সহজে করার জন্য আছে লুপ । লুপের মাধ্যমে একটি নির্দেশ দিয়েই আপনি 1 - 200 পর্যন্ত সব সংখ্যা প্রিন্ট করতে পারবেন । শুধু 1 - 200 না 1 - 100000 বা তার বেশিও প্রিন্ট করতে পারবেন ।

CodeBlocks এর অ আ ক খ

হম অনেকদিন পর লিখতাছি । Math এর প্যারায় আছি তাই আর লিখার সময় পাই না :'(
এখন কাজের কথায় আসি । Codeblocks নিয়ে অনেকই অনেক ঝামেলায় পড়েন । তাদের জন্য এই পোস্ট ।
দেখি কিভাবে ইন্সটল করবো Codeblocks...
প্রথমেই নিচের লিঙ্ক গুলো থেকে পছন্দ মত codeblocks ডাউনলোড করে নিন ।

 *** যারা লিনাক্স ব্যবহার করেন তাদের এত প্যারা নিতে হবে না । Software center এ গিয়ে codeblocks লিখে সার্চ দিলেই পেয়ে যাবেন কোডব্লকস । ইন্সটল করুন । ইন্সটল শেষে g++ লিখে সার্চ দিন Software center এ , g++ compiler পেয়ে গেলে সেটি ডাউনলোড করুন , কাজ শেষ । 
নিয়ে নিন লিনাক্স এর .ISO ফাইল

নিয়ে নিন লিনাক্স এর .ISO ফাইল

যারা লিনাক্স ব্যবহার করতে চান কিন্তু লিনাক্সের .ISO ফাইল সংগ্রহ করতে পারছেন না । তারা angeldefairy@gmail.com এ ইমেইল করে .ISO ফাইল সংগ্রহ করতে পারবেন একদম ফ্রীতে । তবে এজন্য কষ্ট করে আপনাকে ধানমণ্ডি - ১৫ ( United International University র সামনে ) এ এসে .ISO সংগ্রহ করতে হবে  ।


সি/সি++ ডাটা টাইপ এবং এর রেঞ্জ

সি/সি++ ডাটা টাইপ এবং এর রেঞ্জ

সি এবং সি++ এর ডাটা টাইপ সমূহ হল ঃ

      Type          Keyword
            Boolean               bool
          Character               char
            Integer                 int
      Floating point               float
Double floating point             double
          Valueless               void
    Wide character           wchar_t

Eclipse দিয়ে করুন C/C++ ( OpenGL ) প্রোগ্রামিং

C/C++ প্রোগ্রামিং এর  জন্য সবাই সাধারণত Codeblcoks বা Visual Studio ব্যবহার করেন ।
এই কাজ করতে পারবেন Eclipse দিয়েও । Eclipse মূলত Java IDE হলেও এটি C/C++ , PHP IDE হিসেবেও কাজ করে ।
তাহলে কাজ শুরু করা যাক ।
প্রথমেই Eclipse নামিয়ে নিন ।
লিনাক্স ব্যবহারকারীরা Software center থেকে Eclipse নামিয়ে নিন ।

যেভাবে Local সার্ভার করবেন লিনাক্সে

Web development এর কাজ যারা করেন তাদের কাছে লোকাল সার্ভার জিনিস টা খুবই গুরুত্বপূর্ণ । আশা করি সবাই জানেন লোকাল সার্ভার কি ?? তাই আর ওদিকে যাচ্ছি না। এবার দেখি কিভাবে Xampp ইন্সটল করে নিজের পিসি কে সার্ভার বানান যায় :)
প্রথমে এখান থেকে Xampp (Xampp 1.8.1 ) ডাউনলোড করে নিন ।
ডাউনলোড শেষ হলে ডাউনলোড কৃত ফাইলটি home এর মধ্যে Download ফোল্ডারে পাবেন ।
কিভাবে বাংলা লিখবেন লিনাক্স Mint এ

কিভাবে বাংলা লিখবেন লিনাক্স Mint এ

লিনাক্স mint এ বাংলা লিখতে প্রথমে Ibus ডাউনলোড করে নিতে হবে কারণে লিনাক্স mint এ এটি default ভাবে দেওয়া নেই :(
অল্প কথায় কাজ হলে বেশি কথার দরকার কি :P :P
Terminal ওপেন করে নিচের কমেন্ট গুলো একটি একটি করে রান করুন

sudo apt-get install ibus-1.0
উবুন্টু ১২.০৪ এ বাংলা লিখুন ibus-avro দিয়ে

উবুন্টু ১২.০৪ এ বাংলা লিখুন ibus-avro দিয়ে

উবুন্টুতে তে বাংলা লিখতে পারবেন ibus-avro ব্যবহার করে ।
এজন্য প্রথমে Terminal ওপেন করুন ।
( Terminal ওপেন করতে একসাথে Ctrl+alt+t press করুন । )
Terminal ওপেন হলে
ibus-avro repository যোগ করতে লিখুন ঃ
কিভাবে পরিবর্তন করবেন উবুন্টুর ভুলে যাওয়া পাসওয়ার্ড

কিভাবে পরিবর্তন করবেন উবুন্টুর ভুলে যাওয়া পাসওয়ার্ড


যদি কেউ রুট পাসওয়ার্ড ভুলে যান তাহলে নিচের কাজ গুলো করে নতুন পাসওয়ার্ড সেট করতে পারবেন ।
প্রথমে পিসি রিস্টার্ট দিন ।
GRUB আসলে e চাপুন [ বেশি জোরে চাইপেন না আবার ]
এবার arrow key দিয়ে UP/DOWN করে kernel version সিলেক্ট করে e চাপুন