Hi, I'm Rakib Hasan

Backend Software Developer & System Architect based inDhaka, Bangladesh. I build highly scalable RESTful services and backend infrastructure usingDjango, FastAPI, and Python. I design data pipelines with PostgreSQL, Redis, and Elasticsearch, and obsess over Nginx security configuration. I care about clean architecture, fast queries, and servers that stay up — and I write about what I learn along the way.

Rakib Hasan

What I Work On

The kind of problems I enjoy solving.

Scalable APIs & Services

Highly scalable RESTful services with Django, FastAPI, and Python — clean, well-documented, and built to handle load.

Data Pipelines & Search

Pipelines connecting PostgreSQL, Redis, and Elasticsearch — full-text search, caching strategies, and fast queries at scale.

Infrastructure & Security

Hardened Nginx, Docker, Linux, and CI/CD — servers that strictly serve their domains and reject catch-all traffic.

Code is craft. Every system I ship is a promise it'll still be standing — fast, secure, and scalable — long after the last commit. Build things that last, learn relentlessly, and leave the codebase better than you found it.

Latest Articles

6 articles on backend engineering, system design, and infrastructure.

28 min read

System Design Mastery — 180-Day Curriculum

Target: Senior backend / FAANG-level system design interview readiness Duration: 180 days · 3 hours/day · ~540 hours Mocks: 20 scored mock interviews.

7 min read

Cloudflare Tunnel + Zero Trust দিয়ে EC2-তে হোস্ট করা যেকোনো সাইটে নির্দিষ্ট ইউজারদের সিকিউর অ্যাক্সেস দিন

আপনার EC2 সার্ভারে একটা সার্ভিস চলছে — হতে পারে Gogs, কোনো অ্যাডমিন প্যানেল, Grafana, বা যেকোনো ওয়েব অ্যাপ। আপনি চান শুধুমাত্র নির্দিষ্ট কিছু মানুষ সেটা ব্যবহার করতে পারুক, বাকি পুরো ইন্টারনেট থেকে সেটা সম্পূর্ণ ব্লক থাকুক। সবচেয়ে বড় কথা — সার্ভারে কোনো পোর্ট ওপেন না করেই।

4 min read

পাইথন স্ট্রিং-এর মধ্যে পোস্টগ্রেসকিউএল ডলার $$ কোটিং

PostgreSQL-এর ডলার-কোটিং সিনট্যাক্সের গভীর বিশ্লেষণ, পাইথনের স্টোরড প্রসিডিউরের জন্য এটি কেন অপরিহার্য, এবং Django ও FastAPI কোডবেসে কীভাবে নিরাপদে জটিল SQL এম্বেড করা যায়।

3 min read

Journalctl-এর আদ্যোপান্ত

Journalctl হলো লিনাক্স অপারেটিং সিস্টেমের একটি কেন্দ্রীয় লগ (Log) ম্যানেজমেন্ট টুল। সোজা কথায় বলতে গেলে, এটি লিনাক্স সার্ভারের "রেকর্ড খাতা"। সার্ভারে চলা বিভিন্ন অ্যাপ্লিকেশন বা সার্ভিস (যেমন: Nginx, MySQL, Docker), হার্ডওয়্যার, এবং সিস্টেমের ভেতরে কখন কী ঘটছে—তার সমস্ত তথ্য এখানে জমা হয়। সার্ভার ক্র্যাশ করলে, কোনো সার্ভিস কাজ না করলে বা কোনো ত্রুটি (Error) দেখা দিলে, সিস্টেম অ্যাডমিনিস্ট্রেটররা এই journalctl কমান্ড ব্যবহার করে খুব সহজেই লগের বিশাল পাহাড় থেকে নির্দিষ্ট সময়ের বা নির্দিষ্ট সার্ভিসের ত্রুটিটি খুঁজে বের করেন (Troubleshoot)। সংক্ষেপে, সার্ভারের যেকোনো অভ্যন্তরীণ অবস্থা জানা এবং সমস্যা দ্রুত সমাধান করার জন্য এটি লিনাক্স ব্যবহারকারীদের সবচেয়ে নির্ভরযোগ্য হাতিয়ার।

14 min read

গিট (Git) সিনারিও এবং তার সমাধান

গিট (Git) হলো ডেভেলপারদের জন্য সবচেয়ে প্রয়োজনীয় টুল—এটি মূলত আপনার কোডের "টাইম মেশিন"। প্রজেক্টের কোডে কখন কী পরিবর্তন হয়েছে তা মনে রাখা এবং টিমের সাথে কাজ করার জন্য প্রফেশনালরা এটি ব্যবহার করেন। নিচে বিগিনার থেকে অ্যাডভান্সড লেভেল পর্যন্ত Git-এর প্রয়োজনীয় কমান্ড, প্রফেশনাল সিনারিও এবং ইউজ-কেস (Use Case) সহজ বাংলায় আলোচনা করা হলো: