Photo by PhotoMIX Ltd. from Pexels

বরাবরের মত সেদিনও একটা অনলাইন সার্ভিসে লগইন করার সময় ইমেইল, পাসওয়ার্ড দেয়ার পর সেটার 2FA(2-Factor Authentication) চালু থাকায় OTP (One Time Password) চেয়ে বসলো। তো মোবাইলে থাকা Google Authenticator অন করে সেখান থেকে OTP টা দেখে নিতে গিয়ে খেয়াল করলাম আমার মোবাইলে নেট চালু নেই। অথচ দিব্যি আমি OTP জেনারেট করে নিয়ে সেটা সার্ভিসের ফর্মে এন্ট্রি দিয়ে লগইন করতে পারছি। সাধারণভাবে আপনারা হয়তো জানেন যে SMS এ অনেক সময় কিছু কিছু সার্ভিস OTP পাঠায়। তো আমি সেই ধারণাতেই মনে করতাম যে, Google Authenticator এর মত 2FA Authenticator এপগুলোও সম্ভবত রিয়েল টাইমে সার্ভার থেকে একটা OTP রিসিভ করে আমাকে দেখায়। কিন্তু…


Image Credit: PHPgang blog

আপনি যদি PHP ডেভেলপার হয়ে থাকেন তাহলে ধরে নেয়া যায় আপনি ইতোমধ্যেই PHP 7 এর সাথে পরিচিত। সে হিসেবে PHP 7 এর চমৎকার ফীচারগুলোর সাথেও আপনার পরিচয় হয়ে যাওয়ার কথা। তবে আমার ধারণা, পরিচয় থাকলেও বেশীরভাগ PHP ডেভেলপারই PHP 5 এ কোড করার অভ্যাসের কারণেই হোক বা ফ্রেমওয়ার্ক ডিপেন্ডেন্ড কাজ করার কারণেই হোক PHP 7 এর ফীচারগুলো কোডে খুব একটা ইমপ্লিমেন্ট করেন না। জায়গায় দাঁড়িয়ে আওয়াজ দেন, ঠিক কিনা? …


Photo by Hannah Wei on Unsplash

That’s all I wanted to say, nothing more really.

I’m not going to argue whether an open office is better or not. Because it’s not my job to convince the decision-makers of a company whether they should keep an open-office environment or switch to cubicles.

Maybe they find it useful because people can communicate easily. There is room for better collaboration, work on collective creativity, etc. I’m ok with all of this. You want to keep an open office? Fine, no problem at all.

But the thing is, we, the people who are working in this open office environment, sometimes…


Photo by bruce mars on Unsplash

This million dollar question is very frequently asked to/by programmers. Most programmers have asked or thought this question at least once in their lifetime. If you are a newbie and ask this question to someone who is already regarded as a programmer, you’d definitely get an answer. Then if you ask this to another programmer, they might give you a different answer. If you ask this in a programmers group or forum, you’d be blown away by the suggestions. Now you have another question on top of the previous one: “who is right?”

There are so many options: C, C++…


Photo by Mr Cup / Fabien Barral on Unsplash

A ‘String’ is a sequence of characters.

Considering you’re most likely a programmer, there is a high probability that you already know this definition. And I think it is fair to assume that you have already used String in at least one programming language.

Despite that, I should remind you one more time — String in the programming world has nothing to do with the String Theory Sheldon Cooper popularizes more than any other physicist.

Introduction

In this article, I’m going to introduce you to some very important concepts and terms related to String which you might need to use in…


সেদিন অফিসে ঢুকে দেখি রাফসান চেয়ারে হেলান দিয়ে উদাসভাবে সিলিঙয়ের দিকে তাকায় কি যেন ভাবতেছে। জিজ্ঞেস করলাম-

- কি হে, কি খবর?
- এই তো ভাই আছি।
- উদাস উদাস লাগতেছে তোমাকে। ঝামেলা কোনো?
- না ভাই, তেমন কিছু না। Reactjs দেখা শুরু করছিলাম, মোটামুটি ভালোই বুঝতেছিলাম, তারপরে Redux দেখতে গিয়া সব কিছু কেমন জানি তালগোল পাকায় যাইতেছে। কইত্থেকে যে কি হইতেছে মিলাইতে পারতেছি না।
- তাই নাকি? Redux এর তো অনেক টিউটরিয়াল আছে। দেখা শুরু করলেই তো হয়।
- দেখছি ভাই। দেখার সময় মনে হয়, আচ্ছা, ঠিকই তো আছে। এম্নে এম্নে কাজ করে। কিন্তু পরে মনে হয়, কেমন জানি আউলাঝাউলা। কি…


Photo by Artem Sapegin on Unsplash

HATEOAS এর পূর্ণরূপ হচ্ছে Hypermedia As The Engine Of Application State. কত বড় নাম রে বাবা! খুব ভয়াবহ টাইপের কিছু একটা মনে হচ্ছে না? মনে হচ্ছে খুব কঠিন, জটিল জিলিপির প্যাঁচ বোধহয় এটার মধ্যে লুকিয়ে আছে। তাই না? আসুন দেখি সহজভাবে এটা বোঝা যায় কিনা। তাঁর আগে বলে নেই, এটা মূলত API ডেভেলপমেন্ট এবং REST এর সাথে রিলেটেড একটা টপিক। সুতরাং এই বিষয়ে যাদের আগ্রহ নেই তাঁরা বিদায় নিতে পারেন, কারণ এই আর্টিকেল আপনাদের কাছে বোরিং লাগতে পারে।

তো শুরু করা যাক।

আপনি নিশ্চয়ই জানেন যে, আমরা যখন কোনো একটা সাইটে ঢুকি বা কোনো ওয়েবপেইজ ব্রাউজ করি তখন মূলত আমরা…


Photo Credit: Pexels.com

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

বেশ কিছুদিন আগেই শুনেছিলাম, WhatsApp, Telegram সহ বেশ কিছু ম্যাসেজিং এপ্লিকেশন তাদের কমিউনিকেশনে End-to-End এনক্রিপশন ব্যবহার করে, তাই তাদের কমিউনিকেশন অন্যদের থেকে বেশি সিকিউর। তখনই মাথায় প্রথম যেই প্রশ্নটি এসেছিলো তা হলো, ‘কেন এবং কীভাবে?’ সেই প্রশ্নের উত্তর খুঁজতে গিয়েই এটা নিয়ে সামান্য ঘাঁটাঘাঁটি করা হয়েছিলো। আজকে সেটা নিয়েই একটু লিখি।

‘প্রোগ্রামিং পাতা’য় ইদানীংকালে প্রকাশিত নীচের আর্টিকেলগুলো যদি আপনি পড়ে থাকেন তাহলে এনক্রিপশন নিয়ে আপনার কিঞ্চিৎ…


Understanding one of the most popular probabilistic data structures

Photo by Anthony Martino on Unsplash

If you have a glass-protected bookshelf, it will protect your books from dust and insects. However, it will cost you more time to access the books when you need them, since you first need to slide or open the glass before you can get the books. Then again, if it’s an open bookshelf, it will give you quicker access to the books, but you will lose the layer of protection.

Similarly, if you organize your books in lexicographic order, you can easily search for a book if you know its name. But if your bookshelf has cases of different sizes…


Encoding, Encryption এবং Hashing — এই টার্মগুলি হয়তো অনেক জায়গায়ই শুনে থাকবেন। কেউ কেউ হয়তো কিছুটা বুঝেছেন, কিছুটা বোঝেননি। কিংবা যে জায়গায় যে প্রেক্ষাপটে জিনিসটা ব্যাখ্যা করা হয়েছে সেই কন্টেক্সটে সেটা বুঝেছেন, কিন্তু এদের মধ্যে আসলে মিল কি, পার্থক্যই বা কি সেটা হয়তো কখনো প্রশ্ন করার অবকাশ পান নি। আপনার ক্ষেত্রে যদি আসলেই এরকম ঘটে থাকে, তাহলে আজকের লেখাটি আপনারই জন্য। কারণ Encoding, Encryption, Hashing — তিনটিই ডাটাকে এক ফরম্যাট থেকে অন্য ফরম্যাটে পরিবর্তন করলেও তাঁদের মধ্যে কিছু মৌলিক পার্থক্য রয়েছে যা জানা থাকা খুবই জরুরী।

বেশী কথা বাড়াবো না, আমি সহজভাবে অল্প কথায় এদের পরিচয় দেয়ার চেষ্টা করছি।

Encoding

আপনি…

Ahmed shamim hassan

Curious mind. Software Engineer. Polyglot programmer. Avid learner. Average person.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store