Hungry to Know

Monday, April 12, 2021

 

সারাদিন কম্পিউটারের সামনে বসে থেকে আমি নিজেই নাকি যন্ত্র হয়ে যাচ্ছি। এখন যদি পাল্টা যুক্তি দেখিয়ে বলি - মানবদেহ আসলে তো একটা যন্ত্রই - তাহলে জনতা রাগান্বিত হবে। আবদুর রহমান বয়াতি বলেছেন - মন আমার দেহ ঘড়ি সন্ধান করি, কোন মিস্ত্ররী বানাইয়াছে...। তাহলে আবদুর রহমান বয়াতিও কি যন্ত্র? কিন্তু কে শুনবে যুক্তির কথা!? এদের কে বোঝাবে কম্পিউটার বিজ্ঞান হচ্ছে আধুনিক বিশ্বের দর্শন শাস্ত্র!


গবেষণা করে পাওয়া গেছে আমাদের চোখের ডাটা ট্রান্সফার রেট কম-বেশি প্রায় ১০ মিলিয়ন বিটস প্রতি সেকেন্ড, অথার্ৎ শুধু ইন্টারনেট কেবলের ভেতর দিয়েই ডাটা ট্রান্সফার হয়না। মানবদেহকে যদি একটি কম্পিউটার বা যন্ত্রের সাথে তুলনা করি তাহলে এর ইনপুট ডিভাইসগুলোর মধ্যে চোখের ব্যবহার অন্যতম। আবার চোখের মাধ্যমে আমরা যে সব সময় যে ডাটা ইনপুট নিয়ে থাকি তা নয়, আমরা কিন্তু আউটপুট-ও দিয়ে থাকি। যেমন রাগ, আনন্দ, প্রেম, ঘৃণা ইত্যাদি অভিব্যক্তিও কিন্তু চোখের মাধ্যমে প্রকাশ করা সম্ভব। লোকে বলে - চোখের ভাষা না বুঝলে নাকি সে প্রেম কোন প্রেমই নয়! অতএব চোখের ডাটা ট্রান্সফার ঠিক থাকা অত্যন্ত গুরুত্বপূর্ণ বটে। 💞


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


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


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


এসব শুনে আর দশজনের মতো আমিও স্বাভাবিকভাবেই ঘাবড়ে গিয়েছি এবং ইচ্ছে হয়েছিল একটি Blue-cut লেন্স ব্যবহার করার। Blue cut লেন্স এমন ভাবে তৈরি যা ভেদ করে নীল আলো অপরপাশে পৌঁছাতে পারে না। আর নতুন কিছু কেনার সুযোগ পেলে তো মনটা এমনিতেই খুশি খুশি হয়ে যায়। কিন্তু নতুন জিনিস হাতে পেতে ভালো লাগলেও আমার আবার বাজার অ্যালার্জি আছে। তো দোকানীরা যা-তা বোঝানোর আগে নিজেই নেট-এ সার্চ করে একটু জেনে নিই কি ব্যবপার, যেমন - কত টাকা দাম, কোথায় ভালো পাওয়া যায়, ইউজার রিভিও কেমন ইত্যাদি।


তো ইন্টারনেটে নানান লেখা পড়তে পড়তে হঠাৎ সিবিসি নিউজের একটি লিংক এ চোখে পড়ল। রিপোর্টটি দেখে কপালের নিচে থাকা দুই চোখ ছানাবড়া হয়ে গেল এবং কপালের মধ্যে থাকা তৃতীয় নয়ন খুলে গেল। যা বুঝলাম চোখের যত্নে Blue-cut লেন্সে যতনা অত্যাধুনিক প্রযুক্তির ব্যবহার করা হয়েছে তারচেয়ে বেশি ব্যবহার করা হয়েছে ব্যবসায়িক বুদ্ধি। আসুন দেখি ব্যাপারটা কি!


প্রথমেই জেনে নেই এই লেন্স ব্যবহার না করলে যা যা সমস্যা হতে পারে বলে বলা হচ্ছে সেগুলোর একটা লিস্ট:

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


তো যেটা বলা হচ্ছে যে বিভিন্ন ডিজিটাল ডিভাইস থেকে যে রশ্মি হয়ে আসছে তা ছোট ছোট চাকুর মত আমাদের চোখের ভেতরে ঢুকে যাচ্ছে এবং আমাদের রেটিনাকে ক্ষতিগ্রস্ত করছে। কী ভয়ঙ্কর!


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


এবার আসা যাক অবসাদগ্রস্ততার বিষয়ে। দীর্ঘ সময় কম্পিউটারে তাকিয়ে কাজ করার ফলে আমরা যে চোখের অবসাদগ্রস্ততা বোধ করি এটা আসলে Blue light -এর কারণে নয়, বরং এটা দীর্ঘসময় এবং অপলকে স্ক্রিনের দিকে তাকিয়ে থাকার জন্য। এটার বিপরীতে ২০-২০-২০ নিয়মের কথা বলা হচ্ছে অর্থাৎ ২০ মিনিট পরপর ২০ ফুট দূরে ২০ সেকেন্ড তাকিয়ে থাকা। এটি করতে পারলে চোখ অনেকটা রেস্ট পাবে, আপনার চোখ ভালো বোধ করবে।


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




সিবিসি নিউজ-এর মূল রিপোর্টটাও এখানে যোগ করে দিলাম, ভেতরে বিস্তারিত আছে। আর আমি এতোক্ষণ ইন্টারনেটে সার্চ করে এটা সেটা পড়ে আপাত দৃষ্টিতে আমি যে উপসংহারে পৌঁছাতে পেরেছি তা হলো:

  • দীর্ঘসময় কম্পিউটারে বা যেকোনো ডিভাইসের কাজ করার ক্ষেত্রে ২০-২০-২০ নিয়ম পালন করা।
  • অন্ধকার ঘরে উজ্জল কোন স্ক্রিনের দিকে তাকিয়ে না থাকা।
  • কম্পিউটার মনিটরের পেছনে কোন লাইট সোর্স / টেবিল ল্যাম্প রাখা যেন স্ক্রিনের চাইতে পেছনের আলোটা উজ্জল হয়।
  • চোখের জন্য উপকারী এমন খাবার গ্রহণ করা ও নিয়মিত ব্যায়াম করা।
  • কম্পিউটার স্ক্রিনে কাজ করার সময় নাইট লাইট অপশনটি অন করে রাখা।
  • কম্পিউটার স্ক্রিনের লাইট নিয়ন্ত্রণে f.lux সফটওয়্যারটি ব্যবহার করা যেতে পারে।
  • পারলে ভালো কোম্পানির মোটামুটি ভালো মানের মোবাইল, ট্যাবলেট, কম্পিউটার মনিটর, ইত্যাদি ব্যবহার করা। 
  • এবং কোন নতুন প্রোডাক্ট কেনার আগে একটু অনলাইনে রিসার্চ করে নেয়া এবং নিজেকে দুটো প্রশ্ন করা
    • জিনিসটি আসলে-ই কাজের কিনা? বিপরীত মতামতগুলো কি?
    • জিনিসটি আসলে-ই আমার প্রয়োজন কিনা?


তো অবস্থা দৃষ্টে যা মনে হচ্ছে - এতোক্ষণ সময় ব্যয় করে শেষ পর্যন্ত আমার নতুন Blue-cut লেন্স-ই আর কেনা হলো না! 😪

© A.S.M. Shahriar Zahan

Photo by Ryutaro Tsukata from Pexels

Sunday, April 11, 2021

 

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

লাভাভেলে কাজ করার সময় একটি সমস্যা থেকে এই লেখাটির অবতারনা। সমস্যাটির বিস্তারিত দেখে নিতে এখানে ক্লিক করুন ও সমস্যা নং-৭ -এ যান

 Trait, কলিশন (collision) ও অ্যালাইসিং(aliasing)

এবার আসুন Trait, Collision ও Aliasing -এর বিস্তারিত:

Trait
প্রথমেই দেখা যাক সোজা ইংরেজিতে ট্রেইট (Trait) মানে কি? ট্রেইট মানে বিশেষ কোন লক্ষণ বা চিহ্ন যেটা দ্বারা কাউকে বা কোন কিছুকে আলাদাভাবে চিহ্নিত বা শনাক্ত করা যায়। যেমন, আমরা বলি - আরে জানিস না, অমুকে তো খুব জেলাস একটা লোক। কিংবা ধরেন তমুক এমন ভাব করে যেন সবজান্তা। কিংবা ধরুন কারও কথা বলায় বিশেষ আঞ্চলিক টান, এই সবগুলো বিশেষ আচরণ বা চিহ্ন যার দ্বারা আমরা ওই অমুক বা তমুককে চিহ্নিত করছি (মানে গীবত করছি আর কি!)। এগুলোই হচ্ছে ওই অমুক বা তমুকের বিশেষ বৈশিষ্ট বা Trait

এখন দেখা যাক পিএইচপি-তে Trait কি। কম্পিউটার প্রোগ্রামিংয়ে ইনহেরিটেন্স তো আমরা সবাই বুঝি তাই না? যার কারণে একটা প্যারেন্ট বা বেজ ক্লাসকে এক্সটেন্ড করে আরেকটি চাইল্ড ক্লাস তৈরি হয়। কিন্তু যদি চাইল্ড ক্লাসে আরেকটি বিশেষ সুবিধার বা বৈশিষ্ট বা মেথডের দরকার হয় যা প্যারেন্ট ক্লাসে নেই কিন্তু অন্য কোন একটা ক্লাসে ইতিমধ্যে লেখাই আছে? আমরা হয়তো সেই সুবিধা বা ফাংশনটুকু কপি করে নিয়ে এসে চাইল্ড ক্লাসে বসিয়ে দেবো। কারণ পিএইচপি-তে একই চাইল্ড ক্লাসকে একাধিক বেজ ক্লাস থেকে এক্সটেন্ড করা যায় না। কিন্তু ট্রেইট এই চমৎকার সুবিধাটি করে দিয়েছে। ওই অন্য ক্লাসটিকে যদি ট্রেইট হিসেবে ডিফাইন করা হয় তাহলে খুব সহজেই ওই ট্রেইট এর ভেতরে থাকা কোন ফাংশন/মেথডের কোডকে আমরা চাইল্ড ক্লাসে রি-ইউজ করতে পারি, যা চাইল্ড ক্লাসটি-র একটি বিশেষ বৈশিষ্ট বা special characteristics-এর মতো হয়ে দাঁড়াবে। এভাবে যতখুশি ট্রেইট থেকে যত খুশি বিশেষ characteristics আমরা আমাদের চাইল্ড ক্লাস-এ নিয়ে আসতে পারি।

Collision
এখন কিন্তু খুব খিয়াল কইরা! লক্ষ্য করে দেখুন, ঠিক এই যায়গায় এসে আমরা ট্রেইট কলিশন-এর সামনে দাঁড়িয়ে আছি। কিভাবে?.... ভেবে দেখুন দুটি ট্রেইট, যেগুলোকে আমরা চাইল্ড ক্লাসে নিয়ে এসেছি, তাদের ভেতর যদি একই নামের একটি করে মেথড থাকে, তাহলে কি হবে?
হা হা হা!...ঠিক ধরেছেন। হৃদয়ে দোলা দেয়ার মতো এমন কোন সুবিশাল এরর (Error) -এর দেখা মিলবে। এবং এই  এরর-টার কারণ দুটো ট্রেইট, মানে EntrustUserTrait  SoftDeletes ট্রেইট restore নামক একই নাম-এর দুটো আলাদা মেথড নিয়ে নিজেদের মধ্যে ধাক্কাধাক্কি (collision) বাঁধিয়ে বসেছে।

Aliasing
তাহলে এবার আমরা এই দুই ট্রেইটের একই নামের দুটো মেথডের সমস্যা সমাধান করার জন্য কি করবো? এটারও খুব সিম্পল রিয়াল লাইফ সমাধান আছে! যেমন ধরুন, একটা শ্রেণীকক্ষে দুটো ছাত্রের নাম একই হয়ে গেলো। এসব ক্ষেত্রে আমাদের শিক্ষক মহোদয় কি করতেন? দুজনকে আলাদাভাবে চেনার ব্যবস্থা করতেন, তাই না? যেমন সাগর(১), সাগর(২)। আর বন্ধুরা তো আরো সরেস। তারা নাম দিত - ঢ্যাঙ্গা সাগর, বাটু সাগর, আরও কত কি, সব নাম জনসমক্ষে বলাও যাবে না। তো ঠিক এই পথটাকেই collision সমস্যার সমাধান করার কাজে লাগানো হয়েছে, আর এটাই হচ্ছে অ্যালাইসিং (aliasing)! EntrustUserTrait -এর restore মেথডকে নতুন নাম দেওয়া হয়েছে restoreA  SoftDeletes ট্রেইট-এর restore মেথডকে নতুন নাম দেওয়া হয়েছে restoreB। Piece of cake!

এবং আরেকটা দারুণ ব্যপার এখানে উপলব্ধি করার বিষয় আছে। এই যে পুরো কাজটা করা হলো এটা কিন্তু শুধু মাত্র User ক্লাসের জন্যই করা হলো। EntrustUserTrait  SoftDeletes ট্রেইট-এর ভিতরে কিন্ত restore মেথডকে স্পর্শও করা হয়নি। শুধুমাত্র শ্রেণিকক্ষে (বা ক্লাসে) সাগরদ্বয়ের ডাকনাম পরিবর্তন হয়ে গেল সাগর (১) অথবা সাগর (২) হিসেবে, কিন্তু তাদের নিজ নিজ পরিবার-আত্মীয়-স্বজনের কাছে তারা সাগর নামেই পরিচিত থেকে গেলো। বাবা-মা তো আর সাগর(১) কিংবা সাগর(২) বলে ডাকাডাকি করবে না, তাই না?

Simple & Lovely, isn't it? 💘

© A.S.M. Shahriar Zahan | www.zahantech.com


সার্ভার সাইড স্ক্রিপটিং ল্যাংগুয়েজ হিসেবে পিএইচপি (PHP)-র সুনাম-দুর্নাম অনেক কিছুই রয়েছে। সেই ২০০৬-০৭ সাল থেকেই শুনে আসছি পিএইচপি শেষ, পিএইচপি শিখে আর লাভ নাই, পিএইচপি-র আর ভাত নাই। কিছু বছর যায় আবার সেই একই কথা একই হৈচৈ ওঠে। আবার ২০২০-২১ -এ আবার সেই হৈচৈ শুরু হয়েছে।

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

পিএইচপি-র জনপ্রিয়তার কৃতিত্ব অনেকাংশেই এর ফ্রেমওয়ার্ক গুলোকে দিতে হয়। কেক পিএইচপি, কোড ইগনিটার, জেন্ড অথবা সিম্ফনি পিএইচপির জনপ্রিয় একেকটি ফেমওয়ার্ক। কিন্তু লারাভেল সেই সকল জনপ্রিয়তাকে শুধু ছাড়িয়েই যাচ্ছে না, বরং পিএইচপি-তে কোডিং যে কত মজার ও গোছানো হতে পারে, লারাভেল (laravel.com) ব্যবহার করতে শুরু করলে সেটি কিছুটা বোঝা যায়। আবার লারাভেলকে কঠিন ভাবারও কিছু নেই। সত্যি কথা বলতে কি - লারাভেল আমার শেখা প্রথম কোন পিএইচপি-র ফ্রেমওয়ার্ক। এর আগে হয় Raw PHP ব্যবহার করেছি অথবা ওয়ার্ডপ্রেস-এ কাজ করেছি। 2019 সালেও সেরা ফ্রেমওয়ার্ক নির্বাচিত হয়েছে লারাভেল। আর লারাভেল-এর হাত ধরে পিএইচপি যেন নতুন করে প্রাণ চঞ্চল হয়ে উঠেছে বিশ্ব জুড়ে।

© A.S.M. Shahriar Zahan | www.zahantech.com

[Photo by Pixabay via Pexels.com]