
ওয়েবে বাংলা টাইপোগ্রাফি — যে সমস্যাগুলো নিয়ে কেউ লেখে না
লাইন-হাইট, মাত্রার সংঘর্ষ, uppercase-এর অর্থহীনতা আর ফন্ট ফলব্যাক। ল্যাটিনের জন্য বানানো একটা ডিজাইন সিস্টেমে বাংলা বসাতে গিয়ে যা যা ঠিক করতে হয়েছিল।
তাসনিম আরা
৯ মিনিটের পড়া
লেখালেখি
যে প্যাটার্নগুলো বারবার কাজে লাগে, যে ভুলগুলো এড়ানো ভালো, আর মাঝেমধ্যে একটা খুঁটিয়ে দেখা। বড় বড় কথা নেই।
11 results

লাইন-হাইট, মাত্রার সংঘর্ষ, uppercase-এর অর্থহীনতা আর ফন্ট ফলব্যাক। ল্যাটিনের জন্য বানানো একটা ডিজাইন সিস্টেমে বাংলা বসাতে গিয়ে যা যা ঠিক করতে হয়েছিল।
তাসনিম আরা
৯ মিনিটের পড়া
একই ল্যান্ডিং পেজ, একই দাম, একই প্রোডাক্ট — শুধু নিচে তিনটা রিভিউ যোগ করলেই কনভার্শন বদলে যায়। এটা কাকতালীয় না, মানুষ সিদ্ধান্ত নেওয়ার সময় অন্যদের আচরণ দেখেই ভরসা করে।
একজন কাস্টমার মিল্কশেক কেনে না — সকালের বোরিং গাড়ি-চালানোর সময়টাকে সহনীয় করার একটা উপায় কেনে। প্রোডাক্টের ফিচার লিস্ট না, এই "job"-টা বুঝলেই সেল বাড়ে।
একই প্রোডাক্ট, একই দাম — শুধু পাশে আরেকটা অপশন বসিয়ে দিলেই সেল বেড়ে যায়। ম্যাজিক না, এটা মানুষের মস্তিষ্কের একটা পরিচিত প্যাটার্ন — Anchoring।
kubectl apply চালানোর পর সাইট একবারও ডাউন হয় না, অথচ পুরনো কোড সরে গিয়ে নতুন কোড চলে আসে। জাদু না — maxSurge আর maxUnavailable নামের দুটো সংখ্যা এটা সম্ভব করে।
দুটোরই কাজ প্রায় একই রকম দেখতে — key-value ডেটা কন্টেইনারে ইনজেক্ট করা। কিন্তু একটাতে DB পাসওয়ার্ড রাখলে সেটা টিমের সবাই plaintext-এ পড়ে ফেলতে পারবে, আরেকটাতেও আসলে পারবে — যদি না আপনি সেটা জানেন।
ফাঁকা জায়গার মালিক প্যারেন্ট, চাইল্ড নয়। একটা কম্পোনেন্ট নিজের বাইরের মার্জিন নিজে ঠিক করলে সেটা আর যেকোনো জায়গায় বসানো যায় না।
kubectl get pods বলছে Running, অথচ ইউজার 502 পাচ্ছে। কারণটা Kubernetes-এর দোষ না — কেউ liveness আর readiness probe-এর পার্থক্যটা কখনো বুঝিয়ে দেয়নি।
বেশিরভাগ টোকেন সিস্টেম প্রথম রিব্র্যান্ডেই ভেঙে পড়ে। কারণটা প্রায় সবসময় এক — দুইটা লেয়ার আছে, দরকার ছিল তিনটা।
ডিজাইন সিস্টেম প্যাটার্ন, ফ্রন্ট-এন্ড টেকনিক আর লার্ন প্ল্যাটফর্মের নোট। কোনো প্রচার নেই, অন্যের লিংকের সংকলনও নেই।