SQL Topics


SQL Queries With PhpMyAdmin
-------------------------------	
	
|| (like) operator actually search করার জন্য ব্যবহৃত হয়।
 
|| an (index) can be created in a table to find data more quickly 
   and efficiently
 
|| Relationships & Foreign Keys
    ২টা টেবিলের মধ্যে আপনি কিভাবে রিলেশন করবেন। রিলেশন করার জন্যে 
    একটা টেবিলের একট key কে primary key করতে হবে এবং আরেকটা টেবিলে  
    ঐটার Foreign Key করতে হবে
     
    SQL query:
    CREATE TABLE orders(
        id INT NOT NULL AUTO INCREMENT,
        orderNumber VARCHAR(255),
        productId INT,
        customerId INT,
        orderData DATETIME default CURRENT_TIMESTAMP,
        PRIMARY KEY(id),
        FOREIGN KEY(productId) REFERENCES products(id),
        FOREIGN KEY(customerId) REFERENCES customers(id)
    );
     
     
|| Inner Join
	"SELECT tbl_post.*, tbl_category.name
	FROM tbl_post
	INNER JOIN tbl_category
	ON tbl_post.cat = tbl_category.id
	";
 
     
|| Union Operator
    ২টা টেবিলের সিটি কলাম থেকে সমজাতীয় ডাটা একটা করে নিয়ে আসে
 
    SELECT city FROM customers
    UNION
    SELECT city FROM suppliers
    ORDER BY city;
     
|| Union All   
    ২টা টেবিলের সিটি কলাম থেকে সমজাতীয় সবগুলো ডাটা নিয়ে আসে।
    অর্থাৎ ঢাকা যদি ২ টেবিলে ৫ বার থাকে তাহলে ৫টাই নিয়ে আসবে।
 
 
|| Subquery IN SELECT
    SELECT * FROM customers 
        WHERE id IN(SELECT id FROM customers
                     WHERE age > 30
                    );
 
                     
|| Subquery with INSERT    
    একটা  টেবিলের হুবহু ডাটা অন্য একটা টেবিলে নিয়ে আসা
     
    INSERT INTO customers_bup
        SELECT * FROM customers
        WHERE id IN(
            SELECT id FROM customers
        );
 
|| TRUNCATE TABLE
    টেবিল ডিলিট হবে না শুধু টেবিলের ডাটা ডিলিট হবে।
     
    TRUNCATE TABLE suppliers;
 
     
|| Wildcard Operators
    % Matches one or more characters
    _ Matches one character
 
    200%    finds any values that start with 200
    %200%   finds any values that have 200 in any position
    _00%    finds any values that have 00 in the second and third positions
    2_%_%   finds any values that start with 2 and are at least 3 characters in length
    %2      finds any values that end with 2

     
|| Aliases for Column
    Aliases can be useful when:
        You rename a table or a column name.
        There are more than one table involved in a query.
        Functions are used in the query.
        Column names are big or not very readable.
        Two or more columns are combined together.
         
    "SELECT p.*, c.name
	FROM tbl_post AS p, tbl_category AS c
	WHERE p.cat = c.id";
 
 
|| CREATE VIEW
    sql query চালিয়ে একটা টেবিল থেকে কিছু ডাটা এনে আরেকটা virtual table 
    তৈরি করা
     
    CREATE VIEW customers_view AS
        SELECT id, firstName,lastName
            FROM customers;
 
|| UCASE & LCASE Functions
    SELECT UCASE(firstName), LCASE(lastName), address FROM customers;
		

OOP Topics

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

Polymorphism is an Inheritance and overridden methods. অর্থাৎ Parent class কে extend করে child class তৈরি করা এবং Parent class এর method কে সাবক্লাসে ওভারাইট করা।

Constructor is a magic method auto loaded and execute at first. Destructor also is a magic method auto loaded and execute at the end

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

Abstract and Interface ক্লাস এর ক্ষেত্রে সরাসরি object তৈরী করা যায় না। Abstract কে অন্য একটি ক্লাসে extentd করে কাজ করতে হয়।

Magic Methods

__get($property) when access undefined property then get mathod 
automatically work
 
__set($property, $value) when a value asign inside the undefined 
property then set mathod work

__call($method, $arg_array) when access undefined method then call 
mathod work

Method Chaining একটা অবজেক্টের মালটিপাল মেথডে access করা

$obj->framework()->cms()->calculate(4,5);

Type hinting একটা ক্লাস এর মেথডে আপনি বলে দিতে পারবেন আপনি কি টাইপের ডাটা নিয়ে কাজ করছেন। সেটা হতে পারে আ্যারে টাইপের ডাটা বা অবজেক্ট টাইপের ডাটা।

__CLASS__ magic constant class যেই ক্লাস এর মধ্যে থাকবে সে ওই ক্লাসটাকেই রির্টান করবে।

Object Cloning আপনি যখন অবজেক্টকে কপি করবেন তখন প্রকৃতভাবে তার রেফারেন্সটা কপি হয়। তো আপনি চাচ্ছেন মেমোরির নতুন একটি জায়গায় নতুন কোন ভ্যালু সেট করতে যেটি আগের ভ্যালুটিকে রিপলেস করবে না তখন এই কোলনিং ব্যবহার করতে হয়।

Namespaces হল virtual directory মত যেখানে একই নামের মালটিপাল ক্লাস, ও মেথড নিয়ে কাজ করা যায়।

Factory Design Pattern ক্লাইন্ট বলল এমন একটা সিস্টেম তৈরি করতে যেটা যখন ইচ্ছা তখন বিভিন্ন ডাটাবেজ ড্রাইবার সাপোর্ট দিতে পাবে।

Observer Design Pattern একটা সিস্টেমের কথা চিন্তা করুন যেখানে যখনি কোন ইভেন্ট সংঘটিত হবে ঠিক তখনি আপনাকে একটা নটিফিকেসন দিবে। এই ধরনের প্রোব্লেম সলভ করতে Observer Design Pattern follow করা হয়।

Facade Design Pattern ধরুন তিনটা অবজেক্ট আছে এবং তিনটা অবজেক্ট তিন রকমের কাজ করছে যা একটা interface থেকে control হচ্ছে ।

ভারতীয় ভিসা আবেদন অভিজ্ঞতা

কীভাবে শুরু করবেন?
প্রথমেই চলে যান এই লিংকে ক্লিক করার পরপরই একটা পেজ পেয়ে যাবেন। সেখানে ইন্ডিয়ান মিশন “Bangladesh-Dhaka” সিলেক্ট করেন, মেইল আইডি দেন তারপর কোন কারণে যেতে চাচ্ছেন সিলেক্ট করে “Continue” বাটনে ক্লিক করে দেন। (ঢাকাই সিলেক্ট করতে হবে এমন কোন কথা নাই, যার যেই মিশন কাছে সেইটা সিলেক্ট করতে পারেন, আমি ঢাকায় থাকি বলে ঢাকা করলাম)। মেইল আইডিটা দেখেন, সব ক্যাপিটাল লেটারে। এই পুরা ভিসা ফর্মে আপনি ইংরেজীতে যা-ই লিখেন সব অটোমেটিক ক্যাপিটাল ফর্মে চলে যাবে। চিন্তার কোন কারণ নাই। “Expected Date of Arrival” এই ঘরে এক মাস পরের (যেদিন ভিসা অ্যাপ্লিকেশন করলেন সেদিন থেকে) যে কোন একটি তারিখ দিয়ে দেন।

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

এখন আসা যাক ফর্ম পূরণে। উপরের পেজে দেখেন ‘Surname’ আর ‘Given Name’ নামে দুইটা অপশন আছে। অনেকেই হাউ মাউ খাউ খাউ করেন যে, কোনটা দিবেন সার নেম আর কোনটা লিখবেন গিভেন নেম। আসেন সমস্যার সমাধান করি। আপনার পাসপোর্ট খানা হাতে নেন এরপর দেখেন খুব সুন্দর করে জিনিসগুলা লেখা আছে। (বলতে ভুলে গেছি, Visible Identification Mark এর ঘরে ‘NONE’ লিখে দিবেন; তবে যদি আপনার মুখে কাটা দাগ থাকে তাহলে ‘স্কার’ লিখে দিতে পারেন।)

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

বাকি ডিটেইলস নরমালি পূরণ করেন। অযথা তাড়াহুড়া করবেন না, পাসপোর্ট দেখে দেখে ইনফরমেশন গুলো লেখেন, মুখস্থ লেখার দরকার নাই। সেদিন আমাদের সাথেই এক ভাইয়া তার কাগজে পাসপোর্ট ইস্যুর তারিখ ২২ সেপ্টেম্বর এর জায়গায় ২৩ সেপ্টেম্বর লিখার কারণে তার ফর্ম কাটাকুটি করে ফিরিয়ে দিয়েছে। পাসপোর্ট কোথা থেকে ইস্যু করছেন সেইটা পাসপোর্ট এর ইনফরমেশন পেজেই লেখা আছে। অনেকে বুদ্ধি করে ’আগারগাঁও’ লিখেন এবং অযথা ধরা খান। অথচ পাসপোর্টে স্পষ্ট করেই লেখা থাকে ‘Issue from: DIP/Dhaka’; সুতরাং আপনি লিখবেন শুধু ‘Dhaka’।

এখন একটার পরে একটা ইনফরমেশন দিয়ে কন্টিনিউ করেন। পরের পেজ এসে যাবে। এই পার্টটা খুব খুব ইম্পরট্যান্ট কারণ বেশির ভাগের ভিসা রিজেক্ট হয় এই অংশে ভুল ইনফো দেয়ার কারণে।

এই অংশ পূরণের আগে আপনি যে বাসায় থাকেন সেই বাসার একটা বিদ্যুল বিল বা আপনার টেলিফোন বিল জোগাড় করেন। যদি একটাও হাতের কাছে না থাকে তাহলে বাসার বাড়িওয়ালার কাছে যেয়ে কাঁদো কাঁদো গলায় বলেন, আংকেল একটা বিল দশ মিনিটের জন্য দেন। যদি বাড়িওয়ালাও বাসায় না থাকে তাহলে খালা-মামা-ফুফু-গার্লফ্রেন্ড যে কারো বাসার বিল জোগাড় করেন। (বিলের ফটোকপি জমা দিতে হবে, স্পষ্ট ফটোকপি না হলে এরা ঘ্যানঘ্যান করে, মাঝে মধ্যে মেইন কপিও রেখে দেয় তাই একটু কষ্ট করে স্পষ্ট ফটোকপি করাবেন)।

বিলের উপর যে ঠিকানাটুকু পাবেন হুবুহু, তা প্রেজেন্ট অ্যাড্রেসে লিখে ফেলেন। আবার বলছি প্রেজেন্ট অ্যাড্রেসের ঘরে পাসপোর্ট এর প্রেজেন্ট অ্যাড্রেস লিখবেন না। যে বিলের কপি আপনার কাছে আছে (সেটা যার-ই হোক) সেটা দেখে হুবহু লিখবেন, কিছু বাদও দিবেন না, কিছু বাড়াবেনও না। আর পার্মানেন্ট অ্যাড্রেস লিখে ফেলেন আপনার পাসপোর্ট দেখে দেখে। এইখানেও সেই একই কথা, যা আছে তা-ই লিখবেন। বাড়াবেনও না, কমাবেনও না।

এবার ঠিক নিচেই পাবেন ফ্যামিলি ডিটেইলস এর ঘর, এই ঘরে ‘Previous Nationality’ নামের একটা ব্যাপার আছে। ঘরটা পূরণ করা ম্যান্ডাটরি না, এই কারণে অনেকে পূরণ করেন না। কিন্ত আপনি অবশ্যই করবেন এবং ওই ঘরে ‘বাংলাদেশি’ সিলেক্ট করে দিবেন।

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

হাতের কাছে আপনার ছবির একটা সফট কপি রাখেন (২/২ হতে হবে, যে কোন স্টুডিও তে যেয়ে বলবেন ভিসা করব তাই ছবির হার্ড কপির সাথে সফট কপিও লাগবে)। ছবি অবশ্যই সাদা ব্যাকগ্রাউন্ডে হতে হবে। ঝাপসা ছবি দিবেন না, একদম ল্যাব প্রিন্ট। অনেকে ছবি থেকে ছবি করান কম দামে, সে ছবি ঝাপসা হয়, ওই ছবি দিবেন না। ছবিতে চশমা পড়া থাকতে পারবেন না। ছবি আপলোড করার পর দেখবেন ‘Form Print’ এর একটা বাটন আসবে। বাটনে ক্লিক করার পরেই আপনার ফর্ম ডাউনলোড হয়ে যাবে। এইবার সেই ফর্ম একটা কালার প্রিন্ট করে নেন।

এবার আসা যাক এন্ডোর্সমেন্টে। মতিঝিলের যে কোন ব্যাংকে ১২-১৩ হাজার টাকা নিয়ে চলে যান। বলেন আপনি ডলার করবেন। ওনারা সেটা ডলার করে আপনার পাসপোর্ট এর পিছনে সিল মেরে দিবে আর সাথে একটা কাগজ দিয়ে দিবে। ফি নেবে ৩০০-৩৪৫ টাকা। নূন্যতম ১৫০ ডলার এন্ডোর্স করতে হয়। (ভুলেও মানি এক্সচেঞ্জে এন্ডোর্স করাবেন না, ইন্ডিয়ান ভিসা সেন্টার মানি এক্সচেঞ্জের এন্ডোর্স এখন গ্রহণ করে না)।

যদি আপনি আমার মত বুদ্ধিমান হন তাহলে আপনি আপনার ক্রেডিট কার্ড নিয়ে চলে যাবেন ব্যাংকে, যেয়ে অফিসারকে ভাব নিয়ে চাবায় চাবায় বলবেন আমি অ্যামেরিকায় ঘুরতে যাবো, আমার কার্ডটা এন্ডোর্স করে দেন। ওই অফিসার আপনার কাছে এক টাকাও চাইবে না, বিনামূল্যে আপনার ক্রেডিট কার্ড এন্ডোর্স করে দিবে। ওনাকে কোন ফি দিতে হবে না, আপনার ক্রেডিট কার্ডের অ্যাকাউন্টে একটা পয়সা না থাকলেও সমস্যা নাই। আর যাদের ক্রেডিট কার্ডও নাই, ১২/১৩ হাজার টাকাও এই মুহূর্তে নাই তারা বাবা/মা/ভাই/বোন (রক্ত সম্পর্কীয়) এর ব্যাংক অ্যাকাউন্ট এর স্টেটমেন্ট জমা দিলেই হবে। ব্যাংকে ১৫ হাজার টাকা থাকলেই হবে। ব্যাংক স্টেটমেন্ট নিতে ১১৫ টাকা ফি দিতে হয়।

ব্যাস, এইবার আপনি রেডি। এইবার চেক করে নেন হাতের কাছে এই জিনিসগুলা আছে কিনা। (ভিসা অ্যাপ্লিকেশনের প্রিন্ট কপি, ন্যাশনাল আইডি/বার্থ রেজিস্ট্রেশনের কপি, কারেন্ট/ফোন বিল, স্টুডেন্ট হলে কলেজ/ইউনিভার্সিটির আইডি, পেশা হলে এনওসি+আইডি/ভিজিটিং কার্ড এর ফটোকপি, এন্ডোর্সমেন্ট পেজটার ফটোকপি, পাসপোর্ট এর ইনফরমেশন পেজের কপি।)

যদি সব রেডি থাকে তাহলে সরাসরি চলে যান এই লিংকে। এখানে যেয়ে আপনার সব ইনফরমেশন দিবেন। তারপর একটা ঘরে লেখা আসবে ‘Walk In/E-Token’; যেহেতু আমরা দালাল ধরে ই-টোকেন নেইনি তাই দিব “Walk In“। এরপর কন্টিনিউ বাটনে চাপ দিলে দেখাবে ৬১৮ টাকা ফি (৬০০+১৮ টাকা প্রসেসিং)। এরপর কার্ডে পে করে দেবেন। কার্ড না থাকলে বিকাশ/রকেট দিয়েও পে করতে পারবেন। অনেকেই এটা জানেন না, পরে ভিসা সেন্টারে যেয়ে আশেপাশের দোকান থেকে ফি জমা দেন। কোন দোকানে ৬৭০ রাখে, কোন দোকানে ৬৫০ টাকা রাখে। বাসায় বসে আপনিই যখন পারেন তখন ৪০ টাকা বেশি দেয়ার দরকারটা কী? আর দোকানে যেয়ে তাড়াহুড়ারই বা দরকারটা কী? (পে করার পর ফোনে একটা ম্যাসেজ আসবে আর পেমেন্ট এর একটা সফট কপি আসবে মেইলে, ওইটা প্রিন্ট করানোর দরকার নাই, দেখতে চাইবে না কেউ।)

এবার একদম নিজের অভিজ্ঞতাঃ
কাগজ-টাগজ নিয়ে চলে গেলাম শ্যামলী আইভ্যাকে সকাল ৮ টায়। যাওয়ার পর লাইন ধরলাম, এক ঘন্টা পরে ভিতরে ঢুকতে দিল, ঢুকানোর সময় হাতে একটা প্রিন্টেড কাগজ নাম্বারসহ। ভিতরে যেয়ে আরো ১৫ মিনিট বসলাম, কফি খেলাম (কফি, চা, রোল, বার্গার সবই আছে, নাম ২০ টাকা, ৪০ টাকা), এরপর সিরিয়াল ধরে ডাক দিল। জিজ্ঞেস করল কেন যাবেন? বললাম ঘুরতে। ব্যাস ওই ওইটুকুই। পাশের কাউন্টারে অবশ্য বন্ধুকে জিজ্ঞেস করছে কোথায় যাবেন, অনেকে আবেগ দেখায় বলে ফেলেন কাশ্মীর যাব, বলবেন না এইটা; আপনার ভিসা দরকার এখন, ভিসা পাওয়ার পর কাশ্মীর যান নাকি উত্তর প্রদেশ যান সেইটা আপনার ব্যাপার, ওদের সামনে এমন কিছুই বলবেন না যাতে ওনারা এখন নেগেটিভ চিন্তা করে, কাশ্মীর সিকিম এগুলা ইন্ডিয়ার খুব স্পর্শকাতর জায়গা, এদের নাম না নেয়াই ভালো।

এরপর একটা স্টিকার লাগায় দিয়ে আপনাকে একটা টোকেন ধরায় দিবে যেখানে লেখা থাকে কবে আপনার পাসপোর্ট ওনারা ফেরত দিবেন। পাসপোর্ট ওনারা রেখে দিলেই যে ভিসা পাবেন সেটা ১০০% শিওর না, কিন্ত ৯৭% শিওর। আপনি ফর্মের ভিতরে বড় সড় কোন ভুল না করলে ওনারা ভিসা দিয়ে দিবে।

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

অফটপিকঃ

  • ভিসা সেন্টার এ ফর্ম জমা নেয় ৮-১২.৩০, ৭ টায় যেয়ে লাইনে দাড়ালে কাজ সারতে পারবেন ৮.৩০ টার মধ্যে। ৮ টায় গেলে ১১ টা বাজবে। আর ১০ টার দিকে না যাওয়াই ভালো, পরে লাইনে দাঁড়ায় থাকবেন দুই ঘন্টা তারপর শুনবেন আজকের মত বন্ধ।
  • পাসপোর্ট ফেরত দেয় ৩.৩০-৫.৩০, সকালে যেয়ে হাত পা ধরে কাঁদলেও দিবে না, ফেরত আনার জন্য বিকালের দিকেই যান।
  • মনে রাখবেন দরকার আপনার, তাই বিনয়ের অবতার হয়ে থাকবেন, কারো সাথে যেয়ে অযথা রাগারাগি করবেন না। কোন কারণ ছাড়াই ওরা আপনার ফর্ম রিজেক্ট করে দিতে পারে।
  • ব্যাগ নিয়ে যাবেন না, রাখার জায়গা নাই।
  • পোর্ট অফ এন্ট্রি/পোর্ট অফ এক্সিট নিয়ে অনেকে টেনশনে ভোগেন, যা ইচ্ছা তা দিতে পারেন ওখানে, সমস্যা নাই এখন। এখন সবার জন্য সব পোর্ট উন্মুক্ত।
  • যদি কাউন্টারে বলে আহ হা ওই কাগজ তো লাগত, বলবেন ‘সরি, আনি নি ওইটা’, বলতে যাবেন না “ওইটা কেন লাগবে, এইটা দিছি না? এইটা দিলেই তো হয়”, মোট কথা তর্ক করবেন না।
  • কিভাবে সাজাবেন তা টেনশনের দরকার নাই। কাগজ গুলা শুধু নিয়ে যাবেন হাতে বা ফাইলে, ওইখানে বড় ব্যানার টানানো আছে কিভাবে কাগজ সাজাবেন তা লেখা আছে, ওইভাবে সাজিয়ে রাখবেন, কাউন্টারে যেয়ে কাগজ গুলা দিলে ওরাই স্ট্যাপল করে নিবে। (কিন্ত অবশ্যই কাগজ সাজিয়ে দিবেন।)

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

আর যারা এখনো বলেন যে ভিসা অ্যাপ্লিকেশন করতে কষ্ট, এই ঝামেলা সেই ঝামেলা; তারা আশা করি বুঝবেন এইসব আসলে বানানো কথা। যদি ইন্ডিয়া ঘুরতে যাবার ইচ্ছা থাকে তাহলে মানুষের কথায় কান না দিয়ে ভিসা অ্যাপ্লিকেশন করতে নিজেই বসে যান।

শুভকামনা…। (শাদনান মাহমুদ নির্ঝর)
https://blog.bdnews24.com/shadnanm/232209/

গ্রামীণফোনে যৌন হয়রানি ও সমকামিতায় উৎসাহ!

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

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

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

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

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

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

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

জানা গেছে, এর মধ্যে সমকামিতার পক্ষে একটি ঘরোয়া অনুষ্ঠানেও অর্থ দিয়েছে গ্রামীণফোন। মুসলিম অধ্যুষিত বাংলাদেশে এই ধরনের বিকৃত রুচির বিষয়গুলো ছড়িয়ে দিয়ে সামাজিক অবক্ষয়ের কাজটিও গোপনে করে যাচ্ছে গ্রামীণফোন।

সূত্র: ইত্তেফাক

WordPress Snippets

/* Custom Search form */
function gni_search_form(){
    $link = esc_url( get_home_url() );
    $newform = <<<FORM
<form role="search" method="get" class="search-form" action="$link">
    <input type="search" class="search-field" placeholder="Search..." value="" name="s" autocomplete="off">       
    <button type="submit" class="search_button"><span><i class="fas fa-search"></i></span></button>    
</form>
FORM;
    return $newform;
}

add_filter("get_search_form", "gni_search_form");
 
 
/* Tag list */
the_tags(' ', ' ', ' ');
echo get_the_tag_list("<ul class=\"list-unstyled text-center\"><li>", "</li><li>", "</li></ul>");
 
 
/* Get All tags */
$tags = get_tags();
$html = '<div class="post_tags">';
foreach ( $tags as $tag ) {
    $tag_link = get_tag_link( $tag->term_id );
             
    $html .= "<a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}'>";
    $html .= "{$tag->name}</a>";
}
$html .= '</div>';
echo $html;
 
 
/* Post thumbnail */
if(has_post_thumbnail()){
    the_post_thumbnail('large', array('class' => 'img-fluid'));   
}
 

/* Comments */
if(comments_open()): ?>
    <div class="col-md-10 offset-md-1">
        <?php comments_template();?>
    </div>
<?php endif;
 
 
/* Post pagination */
the_posts_pagination(array(
        "screen_reader_text" => ' '
    )
);

 
/* template file included */
get_template_part('');
 
 
/* php file or lib included */
get_theme_file_path('');
 
 
/* post navigation */
next_post_link();
echo "<br>";
previous_post_link();
 
 
/* password protected post */
function alpha_protected_post($excerpt){
    if (! post_password_required()) {
        return $excerpt;
    }else{
        echo get_the_password_form();
    }
}
 
add_filter('the_excerpt', 'alpha_protected_post');
 
 
/* css added in header */
function launcher_style(){
    if (is_page()) {
        $thumb_img = get_the_post_thumbnail_url( null, 'large' );
        ?>
        <style>
            .home-side{
                background-image: url(<?php echo $thumb_img;?>);
            }
        </style>
        <?php
    }
}
 
add_action( 'wp_head', 'launcher_style', 11);
 
 
/* custom meta field data retrieve */
$placeholder = get_post_meta( get_the_ID(), 'placeholder', true );
 
 
/* post format */
$alpha_format = get_post_format();
 
 
/* author info */
get_the_author_meta();
 
 
/* author image */
echo get_avatar( get_the_author_meta( 'id') );
 
 
/* body class remove or add */
function alpha_body_class($classes){
    unset($classes[array_search('wp-custom-logo', $classes)]);
    $classes[] = "newclass_add";
    return $classes;
}
 
add_filter( 'body_class','alpha_body_class');
 
 
/* post class remove or add */
function alpha_post_class($classes){
    unset($classes[array_search('tag-blog', $classes)]);    
    return $classes;
}
 
add_filter( 'post_class','alpha_post_class');
 
 
/* image srcset remove */
function alpha_image_srcset(){
    return null;
}

add_filter( 'wp_calculate_image_srcset', 'alpha_image_srcset' );
 
 
/* If you want to override a function into the child theme, just put in a check */
if(!function_exists('alpha_date')) {
    function alpha_date(){
        echo date("d/m/y");
    }
}