কিভাবে এমেট বা জেন-কোডিং ব্যবহার করে দ্রুত মার্কআপ লেখা যায় @Learn with Hasin Hayder

ফ্রন্টএন্ড টিউটোরিয়াল: কিভাবে এমেট বা জেন-কোডিং ব্যবহার করে দ্রুত মার্কআপ লেখা যায়

Advertisements

রেগুলার এক্সপ্রেশনঃ উপকারিতা ও ব্যবহারিক প্রয়োগ

উজ্জ্বল'স নোটখাতা

রেগুলার এক্সপ্রেশনঃ
নাম থেকেই বোঝা যাচ্ছে যে, রেগুলার এক্সপ্রেশন (রেজেক্স বা RegEx) আসলে কতগুলো সুনির্দিষ্ট ক্যারেকটারের (Char) সমষ্টি। এই একগুচ্ছ ক্যারেকটারের সমষ্টি একত্রে কোন নির্দিষ্ট প্যাটার্ন প্রকাশ করে যা দিয়ে কোন বিশাল প্যারাগ্রাফ থেকে কোন নির্দিষ্ট প্যাটার্নের অংশ খুঁজে বের করতে পারে। একটি সহজ উদাহরন দেখে নেওয়া যাক। যেমন ধরি, একটি ৫০০ শব্দের প্যারাগ্রাফ থেকে এমন সব শব্দ খুঁজে বের করতে হবে যেগুলোর প্রথম অক্ষর ‘N’, শেষের অক্ষর ‘L’ এবং মাঝে কমপক্ষে একটি ‘H’ থাকবে। যদি ট্র্যাডিশনাল প্রোগ্রামিং দিয়ে এ কাজটি করতে চাই তাহলে কি কি করতে হবে তা নিচে লেখা হলঃ

ধাপ ১ঃ প্যারাগ্রাফ এর প্রথম ক্যারেকটার থেকে শুরু করে একটা একটা করে সামনে আগাতে হবে।
ধাপ ২ঃ কোন শব্দের প্রথম অক্ষর যদি ‘N’ হয় তাহলে এই ইনডেক্সে একটি পয়েন্টার রাখতে হবে। এরপর এই ইনডেক্স থেকে আবার সামনে আগাতে হবে। যদি শব্দটির শেষ অক্ষরে পৌছানোর আগে ‘H’ পাওয়া যায় এবং শেষ অক্ষরটি যদি ‘L’ হয় তাহলে এটা একটি কাঙ্খিত…

View original post 872 more words

একাধিক ল্যাঙ্গুয়েজ কেন শিখবেন?

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

আরও পড়ুন এখানে

বোয়ার নিয়ে কথাবার্তা

The Storyteller

bowerবোয়ার (Bower) হল ফ্রন্ট এন্ড ডেভেলপমেন্টের সময় যেসব জাভাস্ক্রিপ্ট ফাইল বা সিএসএস ফাইল লাগে সেগুলো ম্যানেজ করার জন্য টুইটার টিমের তৈরী করা একটা প্যাকেজ ম্যানেজার টুল। বোয়ার দিয়ে খুব সহজেই অ্যাপ্লিকেশনের জন্য প্রয়োজনীয় জেএস বা সিএসএস ফাইল অ্যাড/রিমুভ করা যায়, আপগ্রেড করা যায়। এই কাজের জন্য রয়েছে বোয়ারের বিশাল প্যাকেজ রিপোজিটরি যেখানে আপনি স্ক্রিপ্ট সার্চ করতে পারবেন খুব সহজেই। এই আর্টিকেলে আমরা দেখব কিভাবে বোয়ার ব্যবহার করতে হয় 🙂

বোয়ার ইনস্টল করা
বোয়ার ইনস্টল করার জন্য আমাদের কম্পিউটারে নোডজেএস এবং এনপিএম টুল ইনস্টল করা থাকতে হবে। নোড এবং এনপিএম ইনস্টল করার জন্য আপনারা http://nodejs.org/ থেকে ইনস্টলার টি ডাউনলোড করে চালান, একইসাথে নোড এবং এনপিএম ইনস্টল হয়ে যাবে

নোড এবং এনপিএম ঠিক মত ইনস্টল হয়েছে কিনা সেটা বোঝার জন্য আপনার কমান্ড লাইন/টার্মিনাল ওপেন করে কমান্ড দিন node -v এবং npm –v । একটু খেয়াল রাখবেন যে একটিতে -v এবং আরেকটি কমান্ডে –v ব্যবহার করা হয়েছে। । সবকিছু ঠিকঠাক থাকলে আপনারা টার্মিনালে…

View original post 871 more words

এসো নিজে করি – এঞ্জিনএক্সের সাথে পিএইচপি এফপিএম ফাস্টসিজিআই মডিউল ইন্টিগ্রেশন

The Storyteller

আমরা এর আগের পর্বে দেখেছিলাম কিভাবে এঞ্জিনএক্স ইনস্টল, আপগ্রেড এবং কনফিগার করতে হয়, এবং কিভাবে স্ট্যাটিক ফাইল সার্ভ করতে হয়। এই পর্বে আমরা আলোচনা করবো কিভাবে আমরা এঞ্জিনএক্সের মাধ্যমে পিএইচপি ফাইল সার্ভ করতে হয়।

গত পর্বের শেষে আমাদের ডিফল্ট সার্ভার ব্লক ফাইলটি (/etc/nginx/sites-available/default) দেখতে ছিল নিচের মত। আমরা আজকেও এই ফাইলটি নিয়ে কাজ করব।

গত পর্বের শেষে আমাদের ডিফল্ট সার্ভার ব্লক ফাইলটি (/etc/nginx/sites-available/default) দেখতে ছিল নিচের মত। আমরা আজকেও এই ফাইলটি নিয়ে কাজ করব। তবে সার্ভার ব্লক নিয়ে কাজ করার আগে চলুন পিএইচপির ফাস্টসিজিআই মডিউল ইনস্টল করে ফেলি।

পিএইচপির ফাস্টসিজিআই মডিউল ইনস্টল করা
এই স্টেপের জন্য আমাদের সার্ভারের টার্মিনালে নিচের কমান্ডটি চালাতে হবে। যদি ঠিকমত রিপোজিটরী কনফিগার করা থাকে, তাহলে পিএইচপি-এফপিএম প্যাকেজটি সহজেই ইনস্টল হয়ে যাবে।

উপরের কমান্ডটি ফেল করলে আমাদের ম্যানুয়ালী এপিটির সোর্স লিস্ট ফাইল এডিট করতে হবে।

ডেবিয়ান ৭ এর ক্ষেত্রে

ডেবিয়ান ৬ এর ক্ষেত্রে

এবার /etc/apt/sources.list ফাইলটি সেভ করে টার্মিনালে চলে আসুন। এখন যেটা করতে হবে সেটা…

View original post 379 more words

এসো নিজে করি – ডেবিয়ানে এঞ্জিনএক্স ইনস্টলেশন এবং কনফিগারেশন

The Storyteller

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

এঞ্জিনএক্স ইনস্টল করা

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

এবার আমরা নিচের কমান্ড দিয়ে এঞ্জিনএক্স ইনস্টল করব। কমান্ড দেয়ার কিছুক্ষনের মাঝেই দেখতে পাবেন এঞ্জিনএক্স ইনস্টল হয়ে গেছে

ইনস্টল হয়ে গেলে চলুন এঞ্জিনএক্স কে…

View original post 500 more words

থিমফরেস্টে ওয়ার্ডপ্রেস থিম পাবলিশ করার আগে একটা প্রয়োজনীয় চেকলিস্ট

The Storyteller

checklist

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

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

View original post 311 more words

সোর্স থেকে লিনাক্স কার্নেল কম্পাইলেশন ও ইনস্টল

Originally posted on : Rashedul Kabir’s Blog

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

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

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

প্রথমেই আমরা বেস সিস্টেমে আমাদের দরকারী প্যাকেজগুলো ইনস্টল করে নিবো। এজন্য নিচের কমান্ডগুলো দিন।

apt-get install kernel-package libncurses5-dev fakeroot
apt-get install build-essential udev

বিস্তারিত পড়ুন

পাই ! রাসবেরি পাই ! ভূমিকা

Originally posted on : Rashedul Kabir’s Blog

প্রথম যখন রাসবেরি পাই এর কথা শুনি তখন ভার্সিটির থার্ড ইয়ার চলছে। আর্টিফিশিয়াল ইন্টেলিজেন্স সাবজেক্টের প্রজেক্ট কি করব সেটা নিয়ে নানান জল্পনা কল্পনা করছি, সেই সময়েই শুনি রাসবেরির কথা। ডিভাইস এর বর্ণনা পড়েই মোটামুটি শিহরিত ! এবং একটা জিনিস ই ভাবতে থাকলাম, কি করে এটার একটা হাতে পাওয়া যায় ! রাসবেরি পাই কি? পাই একটা ছোট্ট কম্পিউটার। ছোট মানে, কত ছোট?

কেউ যদি আপনাকে বলে একটা কম্পিউটার যেটায় প্রসেসর, র্যাম, ইথারনেট পোর্ট, এইচডিএমআই পোর্ট, অডিও জ্যাক, এসডি কার্ড স্লট, আরসিএ পোর্ট (টিভি/ভিডিও), মাইক্রোইউএসবি স্লট সবই আছে, আর কম্পিউটারটা আপনার হাতের তালুতে এঁটে যাবে তাহলে কি আপনি বিশ্বাস করবেন? বিশ্বাস করুন আর নাই করুন, রাসবেরি পাই দেখলে আপনি অবাক হতে বাধ্য। উপরে যায় বললাম সবকিছু সহ একটা কম্পিউটার, আর সাইজ? ওই যে হাতের তলুর সমান ! দাম ? রাসবেরি পাই এর দাম হাস্যকর রকমের কম (৩৫-৪৫ ডলার) ।

RaspberryPi

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

এরপর? এরপর আর কি ! মিডোরি ব্রাউজার দিয়ে কিছুক্ষন নেট ব্রাউজ করলাম। এমপ্লেয়ার ইনস্টল করে টার্মিনালে গান বাজিয়ে স্পীকার দিয়ে শুনলাম (লাইক অ্যা বস!) । গেম ও খেললাম (স্টুপিড গেম, কাঠবিড়ালি দিয়ে আরেক কাঠবিড়ালি খাওয়া লাগে, কাঠবিড়ালি দিয়ে কাঠবিড়ালি কেন খেতে হবে বুঝি নাই। তবে মজা পাইছি :P)।

rasberry-pi-on-300x225

পাই দিয়ে কি কি করা যাবে এটা ঠিক বলে শেষ করা যাবে না। এই ছোট্ট মেশিনটার সম্ভাবনা অনেক। কম্পিউটার দিয়ে করা সম্ভব এমন সবকিছুই চেষ্টা করে দেখা যায়। ইন্টারনেট এ ঘাটাঘাটি করে বেশ কিছু মজার প্রজেক্ট পেলাম। মিডিয়া সার্ভার, ফাইল সার্ভার, এফএম অডিও ব্রডকাস্টার, রোবট, গেমিং কনসোল, পাই ক্লাস্টার, এমনকি পাই সুপারকম্পিউটার ও আছে !

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

Share this:
More

ডেভেলপমেন্টের সময় গিট ব্যবহারের সহজ ওয়ার্ক-ফ্লো

The Storyteller

আজকালকার দিনে ভার্সন কন্ট্রোল টুল বা ভিসিএস ব্যবহার করে না এরকম টিমের দেখা পাওয়া একটু মুশকিল। ভার্সন কন্ট্রোল টুল এত উপকারী যে দেখা যায় বেশীর ভাগ ডেভেলপার একা কাজ করলেও বা সিংগেল ম্যান প্রজেক্ট হলেও সোর্স কোড সফলভাবে ম্যানেজ করার জন্য কোন না কোন টুল ব্যবহার করে থাকে। বর্তমানে জনপ্রিয়তার দিক দিয়ে ভার্সন কন্ট্রোল টুল গুলোর মাঝে গিট (git), সাবভার্সন (svn), মারকুরিয়াল, বাজার ইত্যাদি বেশি প্রচলিত। কেউ কেউ মাইক্রোসফটের ভিজ্যুয়াল সোর্স সেফ ও ব্যবহার করে থাকে। আজকের এই আর্টিকেলে আমি ভার্সন কন্ট্রোল টুল কেন ব্যবহার করা লাগে বা সুবিধা কি সেগুলো নিয়ে আলোচনা না করে বরং একটা স্পেসিফিক বিষয় নিয়ে বলবো, আর সেটা হল ডেভেলপমেন্টের সময় গিট ব্যবহার করে কিভাবে একটা নির্দিষ্ট ওয়ার্কফ্লো ফলো করে আমাদের ডেভেলপমেন্ট সাইকেল আরও সহজ করতে পারি বা আরও প্রোডাক্টিভ ভাবে সোর্স কোড ম্যানেজ করতে পারি।

০. আমরা ধরে নেই আমরা একটা ছোট দল, যেখানে নদু_ডেভ, যদু_ডেভ এবং গেদু_ডেভ ডেভেলপার হিসেবে কাজ করছে। এই দলের…

View original post 390 more words