Be consistent in software development

Consistency is a crucial aspect of software development that helps ensure the quality, reliability, and maintainability of a software system. In this article, we’ll explore what consistency in software development means and how it can be achieved.

What is consistency in software development?

Consistency in software development refers to using consistent standards, practices, and conventions throughout the development process. This includes things like naming conventions, coding styles, design patterns, and overall architecture.

Consistency helps to improve the readability and understandability of code, making it easier for developers to navigate and maintain the system. It also helps to reduce the risk of errors and bugs, as developers can more easily predict how different parts of the system will behave.

How to achieve consistency in software development

There are several ways to achieve consistency in software development:

  1. Use a style guide: A style guide is a set of guidelines that outlines the preferred way of writing code in a particular programming language or project. This can include things like naming conventions, code formatting, and the use of whitespace. Adopting a style guide helps to ensure that all developers are following the same conventions, which makes it easier to understand and maintain the codebase.
  2. Use design patterns: Design patterns are proven solutions to common software design problems. They provide a common vocabulary for developers to communicate about design decisions and help to ensure that code is structured in a consistent and maintainable way.
  3. Use version control: Version control systems, such as Git, help to ensure that changes to the codebase are tracked and can be easily rolled back if necessary. This helps to reduce the risk of errors and makes it easier to collaborate on a codebase.
  4. Review code regularly: Regular code reviews help to catch errors and inconsistencies early on in the development process. It’s important to establish a code review process that includes clear guidelines and standards for what should be reviewed and how feedback should be given.

In conclusion, consistency is a crucial aspect of software development that helps to improve the quality, reliability, and maintainability of a software system. By using a style guide, design patterns, version control, and conducting regular code reviews, developers can help to ensure that their codebase is consistent and easy to understand and maintain.

শেয়ার্ড হোস্টিং এ লারাভেল প্রজেক্ট আপলোড

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

প্রজেক্ট আপলোড করার পর দেখি সাইটের অবস্থা একেবারে নাজেহাল। কোনো CSS, JS Image ফাইলই পায়নি। গেলো মাথা খারাপ হয়ে। এখন আবার অ্যাসেট রিরাইট করা? না! এ হতে পারে না। আইলসামি শিল্পের চর্চা করতে নেমে পড়লাম সমাধানের সন্ধানে।

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

যেভাবে সমাধান করলাম

প্রজেক্টের রুট ফোল্ডারে থাকা server.php ফাইলটাকে আপনি রিনেম করে সেটাকে index.php বানিয়ে দিন। তারপর একটা .htaccess ফাইল তৈরি করে নিন। এবং সেটাতে নিচের কোডটুকু বসিয়ে দিন।

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ ^$1 [N]

    RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
    RewriteRule ^(.*)$ public/$1

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php

</IfModule>

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

বেস্ট অব লাক।

ওয়ার্ডপ্রেসে জ্যাকোয়েরির ক্যাচাল সমস্যা এবং সমাধান

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

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

TypeError: $ is not a function

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

গেলেন গুগলের কাছে, গুগল বলে দিবে, মিয়া $ সাইন বাদ দিয়া সেখানে লেখেন jQuery এবার গেলেন জাভাস্ক্রিপ্ট ফাইল এডিট করতে। সেখানে গিয়ে চৌক্ষে সরিষা ফুল দেখতে লাগলেন। সাহসে কোলাইতেছে না। এতো বড়ো ফাইল কেমনে কী করবেন। একবার ভাবলেন এক কমান্ড দিয়ে সব $ সাইন ধরে রিপ্লেস করাই যায়, কিন্তু সেটা করে এবার দেখলেন সবই ঠিক আছে কিন্তু কোড কাজ করতেছে না। কোনো এরর নাই কিন্তু এক্সপেক্টেড আউটপুটও নাই। এইবার কী করবেন? জাভাস্ক্রিপ্টের চৌদ্দগোষ্টি উদ্ধার করাই যায়, সাথে জেকোয়েরি আর ওয়ার্ডপ্রেস টিমের গুলারেও কী বলেন? ভাবা যায়! কতোটা খারাপ হইলে এমন একটা কিউট সমস্যায় ফেলে দিতে পারে এরা?

সে যাই হোক, এবার দেখি কতোভাবে সমাধান করা যায়।

মেথড ১

প্রথমে একটা ফাংশন ডিক্লেয়ার করে নিবেন আর সেটাতে প্যারামিটার হিসাবে $ সাইন বসিয়ে দিবেন। যেমন-

;(function ($) {
    $(window).on('load', function(){
        // Code to Execute
    });

    $(document).ready(function(){
        // Code to Execute
    });

}(jQuery()));

আপাতত আপনার সমস্যা সমাধান হয়ে যাওয়ার কথা। যদি আপনি মড্যুলার কোড লিখে না থাকেন।

মেথড ২

যদি আপনার কোড মড্যুলার হয়ে থাকে, কিংবা কপি পেস্ট করেছেন কোথাও থেকে কিন্তু বেচারা মড্যুলার কোড লিখে বসে আছে। কোড এতক্ষণ কাজ করতেছিলো কিন্তু এখন আর কাজ করে না। এমন পরিস্থিতিতে কী করবেন? খেয়াল করবেন মড্যুলার কোড অবজেক্ট বেসড হয়। সেখানে পুরো অবজেক্টটা ধরে একটা ফাংশনে ঢুকিয়ে দেন। যেমন-

let data = {
    init : function(){

    },
    anotherthing : function(){

    },
    oneanotherthing : function(){

    },
    andanotherone : function(){

    }
}
data.init();

যদি এমন কোড দেখতে পান তাহলে পুরোটারে ধইরা একটা ফাংশনের চিপায় ফালান আগে। যেমন-

function my_function(my_value){
    let data = {
        init: function () {

        },
        anotherthing: function () {

        },
        oneanotherthing: function () {

        },
        andanotherone: function () {

        }
    }
    my_value = data.init();
    return my_value();
}
my_function();

এইবার ফাংশনের ভিতরে একটা ভ্যারিয়েবল কল করেন $ সাইন, আর সেটার ভ্যালু পাস করে দেন jQuery.noConflict(); মানে পুরোটা মিলে হবে

function my_function(my_value){
    let $ = jQuery.noConflict();
    let data = {
        init: function () {

        },
        anotherthing: function () {

        },
        oneanotherthing: function () {

        },
        andanotherone: function () {

        }
    }
    my_value = data.init();
    return my_value();
}
my_function();

জেকোয়েরি লেটেস্ট ভার্সন ব্যবহার করা

এইবার আসেন কেমনে জেকোয়েরীর লেটেস্ট ভার্সন ইউজানো যায় সেটা দেখা যাক। ধরি আপনার থিমের /assets/vendor/jquery এই ফোল্ডারে আপনার জেকোয়েরি লেটেস্ট ভার্সনটা রাখা আছে। তো আমরা এবার এটাকে ফ্রন্টেন্ডে পাইয়ে দেব। তারজন্য কষ্টকরে আপনার থিমের ফাংশন ফাইলটা একটু কষ্ট করে অপেন করে নিতে হবে। এবং সেখান থেকে প্রথমে জেকোয়েরী ফাইলটা ডি-রেজিস্টার করে নিতে হবে।

wp_deregister_script('jquery');

এবার আপনার লোকাল ভার্সনটা রেজিস্টার করে নিতে হবে।

wp_register_script('jquery', get_template_directory_uri() . "/assets/vendor/jquery/jquery-3.3.1.min.js", array(), '3.1.1', true);

এবার বলে দিন আপনার থিমে নতুন জেকোয়েরিটা লাগবে। মানে এনকিউ করে নিন। এভাবে

wp_enqueue_script('jquery');

ব্যস হয়ে গেল লেটেস্ট ভার্সনের জেকোয়েরি। তবে ভাববেন না $ ক্যাচাল থেকে এইটার মাধ্যমে মুক্তি পাইয়া যাইবেন। ওয়ার্ডপ্রেসে অবশ্যই আপনাকে $ সাইনের পরিবর্তে jQuery ব্যবহার করা লাগবে। নতুবা ট্রিক্স কাজে লাগাতে হবে।

অবশ্যই জেকোয়েরী মাইগ্রেটের লেটেস্ট ভার্সনটা ব্যবহার করবেন।

লেটেস্ট ভার্সনের জেকোয়েরি মাইগ্রেট পাবেন এখানে

মুরুব্বী সমাধান হইব তো? হুর্মিয়া প্র্যাক্টিস কইরা তার্পর বলেন। দীর্ঘ একবছরেরও বেশী সময় পরে ব্লগে লেখলাম। এবং গুটেনবার্গ ব্যবহার করে এটাই আমার প্রথম পোস্ট। ভুলত্রুটি ক্ষমা সুন্দর দৃষ্টিতে দেখবেন আশা করছি। ধন্যবাদ

উইন্ডোজে লিনাক্সের বাশ শেলে youtube-dl ইনষ্টলেশন

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

তো ইনষ্টল দিতে গেলে আপনাকে যা করতে হতে পারে। প্রথমে আপনাকে আপনার কম্পুটারের ষ্টার্ট মেনু থেকে উবুন্টুর বাশ শেল অপেন করতে হবে, তার পর প্রথমে পাইথন ইনষ্টল দিতে হবে তার জন্য

sudo apt-get install python-dev

পাইথন ইনষ্টল হয়ে গেলে পরে youtube-dl ইনষ্টলেশনের পালা। তার জন্য কমান্ড দিতে হবে নিম্নরুপ।

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl

এবং শেষে

sudo chmod a+rx /usr/local/bin/youtube-dl

ব্যাস হয়ে গেল।

জানালাতে বাশ শেল ইনষ্টল দিতে হলে এখানে দেখতে পারেন

বাশ শেল কাষ্টমাইজেশনের জন্য এখানে দেখতে পারেন

উইন্ডোজে ZSH শেল এবং সেই সাথে oh-my-zsh ইনষ্টল

windows shell with oh-my-zsh and agnoster theme

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

ZSH শেল কি আর oh-my-zsh কি?

এই ২০১৭ সালে এসেও যদি রসকসহীন টার্মিনাল ইউজাইতে হয় তাহলে ব্যাপারটা কেমনজানি হয়ে যায়না? না ভাই আমার টার্মিনাল রসকস বিহীন না, আমার টার্মিনাল আপনার গার্লফ্রেন্ডের চেয়ে দেখতে সেক্সী।  আপাতত আমরা জ্ঞানগর্ভ মুলক আলাপ আলোচনা বাদ দিয়ে নিজেদের মত করে ব্যাপারটা জেনে নেই। ZSH হচ্ছে ফুল্লি কাষ্টমাইজেবল আকা হ্যাকাবল একটি শেল, যেটা দিয়ে ইদুর বিড়াল থেকে শুরু করে বাঘ ভাল্লুক ও নিজের ইচ্ছামত সিষ্টেমে হত্যা করা যায়। একটু বেশী বলে ফেলেছি? নাহ ব্যাপারটা আমি টেকনিক্যালী ক্ষমতা দেখাইতে গিয়ে বলেছি। আপনি নিশ্চয় টার্মিনাল দিয়ে ইদুর বিড়াল মারতে বসবেন না। যারা লিনাক্স ইউজাইছেন তারা হয়তো অনেকেই oh-my-zsh ইউজাইছেন আবার অনেকে ইউজান নাই। আরেকটু ভালভাবে ZSH সম্পর্কে জানতে এখান থেকে  ঘুরে আসতে পারেন।

এবার oh-my-zsh সম্পর্কে বলে নেই ছোট্র করে, এটি ZSH শেল একটা ফ্রেমওয়ার্ক যেখানে কিছু বিল্ট ইন থিম দেয়া আছে  কিছু কাষ্টম ব্যাপার সেপার লোড করা আছে, যাতে করে যে কেউ হুট করে ইউজাইয়া প্রেমে পড়তে পারে এমন ব্যাবস্থা রাখা আছে। আরো জানতে এখান থেকে ঘুরে আসতে পারেন।

ওকে এবার চলেন ইনষ্টল করে নেই।

যেভাবে ইনষ্টল করবেন।

উইন্ডোজের সার্চ বক্সে লিখুন bash অথবা রান এ গিয়ে bash লিখে এন্টার দিন চলে আসবে।

open bash on windows

এবার সেটা অপেন করুন। অপেন করলে নীচের ছবির মত আসলে

Bash on windows

সেখানে লিখুন

sudo apt-get install zsh
ZSH ইনষ্টল হয়ে গেলে পরে এবার লিখুন

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

অপেক্ষা করুন ইনষ্টল হওয়ার আগ পর্যন্ত।

ইনষ্টল হয়ে গেলে পরে zsh লিখে এন্টার দিলে zsh শেল অপেন হবে। ডিফল্ট শেল হিসেবে ব্যবহার করতে চাইলে। আপনার .bashrc ফাইলে কিছু কোড লিখতে হবে।

তার জন্য কমান্ড লিখুন

nano ~/.bashrc

একটা এডিটর অপেন হবে কমান্ড শেলে সেখানে নীচের কোডটা বসিয়ে দিন।

# Launch Zsh
if [ -t 1 ]; then
exec zsh
fi

এবার ctrl + o ক্লিক করে এন্টার চাপুন এবং ফাইনালী ctrl + x প্রেস করে কমান্ড দিন

source ~/.bashrc

এবার শেল কাষ্টমাইজেশনের পালা।

প্রথমে এখান থেকে দেখে আসুন আপনি ঠিক কোন থিম ইউজাইবেন। ধরি আমরা agnoster থিম  ইউজ করব, তার জন্য

nano ~/.zshrc

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

# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="agnoster"

এবং  ZSH_THEME=”agnoster” করে নিতে হবে। এবার agnoster এর ফুল ফিচার পেতে হলে আপনাকে পাওয়ারলাইন ফন্ট ইনষ্টল করতে হবে।

তার জন্য এখান থেকে ফন্ট ডাউনলোড করে ইনষ্টল করে নিন।

ফন্ট ইনষ্টলেশন শেষ হয়ে গেলে একটা রিষ্টার্ট দিয়ে নিন।

এবার ব্যাশ শেল অপেন করে টাইটেল বারে রাইট ক্লিক করে অপশন থেকে propertise এ যান সেখান থেকে fonts ট্যাব এ গিয়ে সেখান থেকে একটা powerline ফন্ট সিলেক্ট করে ওকে দিয়ে দিন।

ব্যাস হয়ে গেল আপনার oh-my-zsh আকা সেক্সী টার্মিনাল।

সবকিছু ঠিকটাক করে থাকলে নীচের ছবির মত গিট রিপোতে শো করবে।

windows shell with oh-my-zsh and agnoster theme

উইন্ডোজে লিনাক্সের বাশ

বাশময় জীবনের সবকিছুতেই বাশ, কম্পুটারেও যখন বাশ নামটা চলে আসে তখন মনে হয় “এ কেমন বিচার?” সবকিছুতেই বাশ?
তাহলে কি উইন্ডোজে বাশ ইনষ্টল দেয়া মানে খাল কেটে কুমির নিয়ে আসলাম? নাহ আপনি খাল কেটে ‍কুমির নিয়ে আসেন নি, আপনি আস্ত জলজ্যান্ত একটা বাঘ নিয়ে আসতেছেন আপনার কম্পুটারে। আপনি যদি কম্পুটার মিস্ত্রি হন আর ধরে নেন এই বাঘ (প্রোগ্রামের ত্রুটি) সেই বাগ! তাহলে আপনার জন্য আমার সমবেদনা জানানো ছাড়া আর কোন উপায় নাই।

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

আপনার কম্পুটারে বাশ ইনষ্টল দিতে হলে অবশ্যই আপনার মেশিনটা আপডেটেড থাকতে হবে, আপনার কম্পুটারে মাইক্রোসফটের লেটেষ্ট ভার্সনের উইন্ডোজ থাকতে হবে। মানে দশম জানালা সাথে ক্রিয়েটর/ এ্যানিভার্সারী আপডেট সহ থাকতে হবে। আপনার জানালা বাড়ী হোক, কামলা হোক, ব্যবসায়ী হোক (home, pro, enterprise) আর যাই হোক সব ভার্সনে ইনষ্টল দিতে পারবেন এ নিয়ে আপনার এত্ত চিন্তার কোন কারণ নাই। তো চলেন ইনষ্টল করে নেই।

প্রথমে start > settings > update & security > একেবারে নীচের দিকে খুজলে পাবেন For Developer সেখান থেকে  Developer mode সিলেক্ট করুন।

developer-mode-windows10

তো আপনি কি ধরণের ইউজার সেটাতো মাইক্রোসফট জানেনা তাই ছোট্ট একটা মেসেজ দেখাবে আর জিজ্ঞেস করবে আপনি রাজি কি না, যদি রাজি থাকেন তো বলবে Yes চাপতে। ব্যাপার না অনেক তো চাপাচাপি করছেন এইবার না হয় আরেকবার চেপে নিন।

turnon-developer-mode-win10

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

এইবার আপনাকে যেটা করতে হবে, যেহেতু আপনি উইন্ডোজ ইউজার সেহেতু আপনার জানাই আছে তিনবেলা খাওয়ার  আগে পরে রিষ্টার্ট করে নিতে হয়, অবশ্য ইয়েস চাপার সাথে সাথেই সেটা জিজ্ঞাস করে নেয়ারই কথা, তো করে নিন রিষ্টার্ট পরে আইসা আবার শুরু কইরেন। আপনি রিষ্টার্ট করেন আর আমি গ্যাঙনাম ষ্টাইল গানটা শুনে নেই। :p

ওকে আমার গান শোনা শেষ এইবার আমরা ফাইনালী কিছু একটা করতে যাচ্ছি সো বি কেয়ারফুল, এ্যান্ড লেটস ষ্টার্ট। আপনাকে  কন্ট্রল প্যানেল খুইজ্যা বার করতে হবে, না পাইলে করটানারে জিগান কই আছে সে বইলা দিবনে। এবার আপনি Control panel > Programs > turn windows feature on or off  ক্লিকি করেন।

programs-features-control-panel

একটি উইন্ডো অপেন হবে সেখান থেকে Windows subsystem for Linux (beta) অপশনটা মার্ক করে নিন।

windows-subsystem-linux

এবার উইন্ডোজ তার যা যা লাগবে সব অটো ডাউনলোড করে নিবে, এবং তার জন্য কিছু সময় নিবে, সো অপেক্ষা করুন আর তার কাজ তাকে করতে দিন। হয়ে গেলে রিষ্টার্ট করে নিন।

আমাদের কাজ মোটামুটি শেষের পর্যায়ে এখন আমরা ফাইনাল ধাপে পৌছে গেছি, এবার যা করতে হবে।

উইন্ডোজ বাটনে ক্লিক করে নতুবা সার্চ করে আপনাকে খুজে নিতে হবে নতুবা আপনি Run থেকে ও bash.exe লিখে অপেন করলেও হবে। বাশ অপেন করার কিছু টুকটাক ডাউনলোডের জন্য আপনার থেকে অনুমতি নিবে তার জন্য y লিখে এন্টার প্রেস করলে তার ডাউনলোড সে করে নিবে। তারপর আপনাকে বলবে একটা ইউজার নেম দিতে শেষে বলবে একটা পাসওয়ার্ড দিতে।

install-bash-ubuntu-windows10

উইন্ডোজের পাসওয়ার্ড কিন্তু বাশ শেলে কাজ করবেনা যদি না আপনি দুইটা সেইম রাখেন, ব্যাশ শেল ইনষ্টলের সময় যেই পাসওয়ার্ড দিবেন সেটাই হবে আপনার ব্যাশের রুট পাসওয়ার্ড।

আমাদের কাজ কাম শেষ আপনি চাইলে রিষ্টার্ট করে নিতে পারেন নতুবা কম্পুটার অন রেখেই একটা ঘুম দিয়ে আসতে পারেন, নতুবা এত্ত বড় একটা মহৎ কাজ সম্পন্ন করার পর নিজেকে ধন্যবাদ দিয়ে এক দুইটা এ্যানার্জী ড্রিংকস ও হজম করে আসতে পারেন।

 

বিঃদ্রঃ যা করবেন নিজ দায়ীত্বে জেনে, শুনে, বুঝে তারপর করবেন, কোন প্রকার ঘঠনা কিংবা দূর্ঘঠনার দায়ভার আমি নিতে বাধ্য না। এমনকি আপনার বিড়াল আপনাকে ম্যাও বললে, কিংবা আপনার গার্লফ্রেন্ডের চিঠির স্ক্যান কপি কোথাও চলে গেলে কিংবা আপনার গার্লফ্রেন্ড আপনাকে এক্স বানিয়ে আমাকে প্রেজেন্ট করে নিলেও কোন প্রকার দায়ভার আমার নহে।

sass ফাইল ষ্ট্র্যাকচার

 

আমরা জানি সাস লজিক্যালী/ডায়নামিক্যালি লোড হয় সেহেতু সাস ফাইলে হিবিজিবি টাইপ কোড রাখার কোন কোন মানে নাই। তাছাড়া ক্লিন কোডের কোন ডকুমেন্টেশন লাগেনা, ক্লিন কোড নিজেই তার ডকুমেন্টেশন। তো চলুন দেখে নেয়া যাক আমরা কিভাবে sass ফাইল রাখতে পারি।

style/

_variables.scss

_mixins.scss

_path.scss

_core.scss

_icons.scss

style.scss

এভাবে রাখতে পারি, আমাদের কোড হবে ছোট ছোট ব্লকে সাজানো, সুতরাং পড়তে কিংবা পূনরায় কোডে মেরামত গেলে আমরা দেখেই বুঝতে পারব কোথায় কি আছে। আপনি যদি বড় কোন প্রজেক্ট করেন তার জন্য ফ্রন্টএন্ডের কোড আলাদা আর ব্যকএন্ডের কোড আলাদা রাখতে পারেন। একটা বস্তায় সবকিছু একসাথে না রেখে প্রথমে ছোট ছোট ব্যাগে সবকয়টাকে আলাদা আলাদা প্যাক করে তারপরে সবকয়টাকে বস্তায় ভরে দিন। :p

 

আমাদের  ‍style.scss ফাইলে আমরা কোন ষ্টাইল কিংবা কমান্ড লেখবনা শুধুমাত্র সবকয়টা ফাইলকে কল করে রাখব, আর বাদ বাকী কাজ কম্পাইলাররে দিয়া দিমু। কম্পাইলার সবকয়টাকে পড়ুক তারপরে সেগুলোকে কম্পাইল করুক,আমরা হিবিজিবি করতে যাবনা।

good-code

 

style.scss ফাইল সিম্পলি এমন থাক।

 


// import variables

@import "style/variables";



// import mixins

@import "style/mixins";



// import path

@import "style/path";



// import project core data

@import "style/core";


// import icon

@import "style/icons";

আর যে কোন বিষয়ে যদি আপনি প্রথম থেকে অভ্যস্ত হয়ে পড়েন ছোট থেকেই তখন আর আপনার কোড কোয়ালিটি নিয়ে পরে চিন্তা করা লাগবেনা। আর হ্যা অবশ্যই কোড লেখবেন কমেন্ট সহ। কোডটা এমন হওয়া চাই যেন কোড দেখেই যে কেউ আপনার উপর ক্র্যাশ খেয়ে যায়। :p

 

লেখায় কোনপ্রকার ভুলত্রুটি ধরা পড়লে অবশ্যই ধরিয়ে দিয়ে বাধিত করবেন। এবং কোন সাজেশন থাকলে নির্দিধায় বলতে পারেন।

জানালায় ব্যবহার করুন aria2 , youtube-dl এবং wget

Aria2 আর youtube-dl সম্পর্কে আশা করি বিষদ বিবরণ লেখতে হইবেনা, লিনাক্স ইউজারদের অতি পরিচিত একটি ডাউনলোডার, ইউটিউব ভিডিও ডাউনলোডের সেরা একটা টুলস youtube-dl wget ও কোনদিকে কম যায়না

তার মধ্যে আরিয়া2, উফ! কালা টার্মিনালে তার রুপ যৌবন দেখা না গেলেও প্রেমে পড়ার মত তার আজিব কিছু মায়াবী ফিচার। :p

ওকে চলেন কেমনে কি করতে হয় একটু দেখে নেই।

প্রথমে আপনার একটা চকলেট খাইতে হবে, এবং শুধু আপনিই না আপনার মেশিনরেও চকলেট খাওয়াইতে হবে। যান আপনার চকলেট টা খেয়ে আসেন পরে আপনার মেশিনরে খাওয়ামুনে। :p
প্রথমে ষ্টার্ট মেনু থেকে CMD লিখে সার্চ করেন Command Prompt নামে কিছু একটা পাবেন ওটার উপরে রাইট ক্লিক করে এ্যাডমিন মোডে চালু করেন। এবার নিচের কোড কপি কইরা পেষ্ট করেন।
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

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

ওকে এইবার টুলস গুলা দেখা যাক।
কমান্ড উইন্ডো অপেন কইরা
choco install aria2
choco install wget
choco install youtube-dl

একটা একটা কইরা ইনষ্টল দেন আর লিনাক্সে যেভাবে ডাউনলোডাইতেন সেভাবেই কাজ চালিয়ে যান।

বোনাস

চকলেট প্যাকেজ লিষ্ট যেখানে থেকে আরো অনেক কামের আ-কামের অনেক এ্যাপস পাইবেন।

আরিয়া 2 এর ম্যানুয়াল

Wget ম্যানুয়াল

youtube-dl ম্যানুয়াল

 

বিঃ দ্রঃ যা করবেন নিজ দায়ীত্বে বুইঝ্যা শুইন্যা কইরেন, কোন প্রকার ঘঠনা দূর্ঘটনার জন্য লেখক দায়ী থাকতে বাধ্য নয়, তবে হ্যা যে কোন সুবিধা অসুবিধা অথবা  কোন সমস্যা হইলে জানাইতে পারেন।

Share File From Ubuntu to Android Easy Way (rooted/nonrooted)

Hello World! Today I am Going Share with you, How to Share File From Ubuntu to Android Using Wifi.

Okey Lets Start!

What we needed? An android Phone and Ubuntu Laptop and both are connected to same Network. Nothing other.

Installation on Ubuntu: at First we need to install Samba on Our Laptop.

Open Terminal (ctrl+alt+t) then type

sudo apt-get install samba

after installing Samba we need to Configure it. Okey now we configure it.

Open Terminal (ctrl+alt+t) then type

sudo gedit /etc/samba/smb.conf

then type your system Password then Hit Enter, after opening editor window just add this line on Your config file.

[share]

    comment = Ubuntu File Server Share
    path = /srv/samba/share
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0755

After adding This try To Change Something like This

   workgroup = EXAMPLE
   ...
   security = user

After This. We need to Create a Shared Folder, Share it To public

open Terminal (ctrl+alt+t) then type

sudo mkdir /srv/samba/share
sudo chown nobody:nogroup /srv/samba/share/
And now Restart Samba by entering this value code

sudo restatr smbd

sudo restatr nmbd

Thats it. Now Our Ubuntu System is Ready For Work.

Installation on Android:

Go to Play Store and Search and Download ES File Explorer. After installing open ES File explorer Click option and Find out “Lan” and Click on This. After Clicking on This Option> Refresh.

You will Found your Computer Name try to open this you will Found your Shared Folder Name.

Lets Enjoy.

Sorry Dude For sharing Tips without Any Image, Just Because I am Too Much lazy to upload any Image, If any Problem write on comment.

হাইবারনেট (Hibernate) কি? কিভাবে? কেন?

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

মনে করেন আপনার একটা কম্পুটার আছে যেটা দিয়ে আপনি আকাম, কুকাম, সুকাম, জনসেবা ইত্যাদি কাজকর্ম চালান। কেউ একজন আপনাকে 2000লাইনের একটা কোডের দায়ীত্ব দিল, অথবা আপনাকে বেশ বড় সড় একটা ব্যানার ডিজাইনের কাজ দিল, অথবা আপনাকে 10পৃষ্ঠার একটা লেখা কম্পোজ করতে দেয়া হল। আর  আমার মত কম্পু নির্যাতনকারীদের মত একজন। মানে যতটা প্রোগ্রাম থাকবে সবক’টা রানিং না করলে পেঠের ভাত হজম হয়না। হঠাৎ করে বিদ্যূৎ চলেগেলে আপনার সবক’টা ডকোমেন্ট সেভ করে ক্লোজ করতে গেলে UPS এর চার্য ফুরিয়ে যাবে এমতাবস্থায় আপনার কম্পিউটার এর ডাটা যেখানে যে অবস্থায় আছে সে অবস্থায় থাকবে আবার কম্পু বন্ধ থাকবে, এই বন্ধ অবস্থাকে আমি হাইবারনেট বুঝি। আর কোন সংজ্ঞ্যা আমার জানা নেই আপনার জানার ইচ্ছা থাকলে একটু গুগল মিয়ারে গুতা দিতে পারেন, যা জানবেন অবশ্যয়ই আমাকে জানাবেন 😛
কেমনে কি?
আপনি জানালা, বন্টু, পেঙ্গুইন  যা কিছুই ব্যবহার করেন না কেন আপনি এই সুবিধা অবশ্যই পাবেন। একটু ধৈর্য ধরে আমাকে সময় দিন দেখি আপনার জন্য কিছু করতে পারি কি না।
 
প্রথমে উবুন্টুঃ আপনি ডেবিয়ানের যে কোন ডিষ্ট্রো ব্যবহারকারী হয়ে থাকলে আপনাকে একটু পরিশ্রম করে টার্মিনালটা (CTRL+ALT+T) খুলতে হবে তারপরে লিখতে হবে
sudo pm-hibernate 
তারপরে পাসওয়ার্ড চাইবে পাসওয়ার্ড দিয়ে এন্টার প্রেস করলে হয়ে যাবে। আপনাকে আর পরিশ্রম করতে হবেনা যান রেষ্টে যান 😛 ।
 
অষ্ঠম জানালাঃ আপনি জানালা ৮, Windows 8, অথবা খিড়কী আট ব্যবহারকারী হয়ে থাকলে আপনাকে প্রথমে ঝামেলা করে নিতে হবে যাতে আর জামেলা পোহাতে না হয় প্রথমে MY Computer এ গিয়ে ফাকা জায়গায় রাইট ক্লিক করে Properties এ যেতে হবে তারপরে বামপাশের নীচের দিকে see Also এর আন্ডারে Performance information And Tools এ যেতে হবে, তারপরে উপরের বাম দিকে adjust Power Settings এ যেতে হবে, তারপরে উপরের বাম দিক থেকে Chose Whats the power Buttons do নামক অপশনে যেতে হবে তার পরে Change settings that are currently unavailable অপশনে ক্লিক করে নীচের দিক থেকে Hibernate অপশনটা মার্ক করে দিন। এবার পাওয়ার অপশনে দেখেনতো Hibernate নামে কিছু দেখতে পান কি না? যদি পেয়ে থাকেন তাহলে আপনি সফল, নতুবা আবার চেষ্টা করে দেখতে হবে।
 
সপ্তম জানালাঃ আপনি যদি জানালা সাতের ব্যবহারকারী হয়ে থাকেন তাহলে আপনাকে নীচের ধাপ গুলো অনুসরণ করতে হতে পারে। ষ্টার্ট মেনুতে ক্লিক করে CMD Administrtaor মোডে অপেন করে
powercfg.exe /hibernate on
লিখে এন্টার চাপুন ব্যাস আপনার কাজ শেষ এবার Exit করে বেরিয়ে আসুন। এবার পাওয়ার অপশনে দেখুন Hibernate নামে কোন অপশন পান কি না যদি পেয়ে থাকেন আপনার কপাল ভালো নতুবা আপনার মেশিনে ড্রাইভার গুলো একবার দেখে নিন, প্রয়োজন হলে আপডেট দিয়ে দিন। তার পরেও যদি কাজ না হয় তাহলে এই লিংক দেখতে পারেন

আপডেটঃ উইন্ডোজ টেন

এরকবারেই সহজ, এজ লাইক উইন্ডোজ সেভেন, তারপরেও ও প্রসেসট দেখিয়ে দিচ্ছি ।

প্রথমে Control panel এ যান,সেখান থেকে Power Option

control panel power option

তারপর Chose what the power buttons do

power option button selection

তার পর change settings that are currently unavailable
power option admin option
তারপর নীচের দিকে Hibernate টা ঠিক মার্ক দিয়ে বেরিয়ে আসুন। ব্যাস হয়ে যাবে।
এবার যেখান থেকে কম্পুটার অফ করেন সেখানে ক্লিক করলে Hibernate অপশনটা ও পেয়ে যাবেন।
enable hibernate
নোটঃ আপনার মেশিনের গ্রাফিক্স ড্রাইভার আপডেট থাকা লাগবে।

 

বিঃ দ্রঃ উপরোক্ত কাজ কাম করতে গিয়ে আপনারে আঙুলে ব্যথা হতে পারে, আপনার কম্পুটার আপনার সাথে রাগ করে কথা নাও বলতে পারে, আপনার গার্লফ্রেন্ড আপনার কাছে আমার নাম্বার চাইতে পারে, আপনার ঘরের গিন্নি আমার সাথে পরকীয়া করতে পারে, আপনার কম্পুটার আমার বাড়ীতে চলে আসতে পারে। সুতরাং যা করবেন দেখে, বুঝে, শুনে ভালো করে করবেন। কোন প্রকার ঘঠনা দুর্ঘঠনার জন্য আমি বা আমার কেউ দায়ী থাকতে পারবনা।