জাভাতে কেন সবসময় public static void main(String[] args) লিখতে হয়?

আপনি যদি জাভা প্রোগ্রামিং লাঙ্গুয়েজে কোন প্রোগ্রাম লিখে থাকেন তাহলে নিশ্চয় কোন ক্লাশের মধ্যে জাভা প্রোগ্রামকে রান করার জন্যে মেইন মেথড লেখার সময় এই শব্দ কয়টি লিখেছিলেনঃ
public static void main(String[] args) বা public static void main(String args[])

তো জাভা প্রোগ্রামকে রান করার জন্যে মেইন মেথড কেন সবসময় public? কেন private অথবা protected হয় না, কেন সবসময় static এবং void? কেন static বাদে এবং void ছাড়া অন্যকোন টাইপ হতে পারেনা। সেই সাথে কেনই-বা সবসময় স্ট্রিং টাইপের অ্যারে প্যারামিটার হিসেবে দিতে হয়?

Continue reading

ভার্শন কন্ট্রোল সিস্টেম (গিট): পর্ব-১

গিট কি ও কেন?

গিট হচ্ছে একধরনের ভার্শন কন্ট্রোল সিস্টেম। ধরুন আপনি একটি প্রজেক্ট শুরু করেছেন ও তা গত ৩ মাস ধরে তৈরীর কাজ চলছে। তো এখন আপনার হয়তো প্রথম মাসের ২২ তারিখে বেলা ১২ টা পর্যন্ত যতটুকু কাজ হয়েছিল সেই টুকুই শুধু দরকার বা সেইটুকু রেখে বাকি টুকু বাদ দিতে হবে।

কিন্তু সমস্যা হল এরই মাঝেতো হাজার হাজার লাইন কোড লেখা হয়ে গেছে ও তা অনেকবার মডিফাই করা হয়েছে। তো এখন আপনি বুঝবেন কিভাবে যে কতদুর কাজ করা হয়েছিল? (যদি না আপনি ম্যানুয়ালি যেমনঃ গুগল ড্রাইভ বা পার্সোনাল হার্ডডিস্কে ব্যাকআপ রাখেন! আর ম্যানুয়ালি এত কিছু ব্যাকআপ রাখাও হয়তো অনন্ত জলীলের অসম্ভবকে সম্ভব করার মত কিছু একটা হতে পারে)। তাহলে এখন কি করবেন আপনি?

Continue reading

কিভাবে উইন্ডোজের বিল্ট-ইন অ্যাপস সমূহকে Uninstall করবেন।

উইন্ডোজ অপারেটিং সিস্টেমে কিছু অ্যাপস আছে যেমন Get Office, Get Skype, Google Chrome এগুলো আপনি ইচ্ছা করলেই Uninstall বাটনে ক্লিক করে Uninstall বা Delete করতে পারেন। আবার কিছু অ্যাপস আছে যেমন Maps, Groove Music, Movies & TV এগুলো আপনি ইচ্ছা করলেও Uninstall বাটনে ক্লিক করে Uninstall বা Delete করতে পারবেন না। কারণ, এগুলো উইন্ডোজের বিল্ট-ইন অ্যাপস, এগুলোর Uninstall বাটন থাকে না বা কাজ করে না।

আবার এই অ্যাপস গুলোর কোনটা হয়তো আপনার সচরাচর কাজে লাগে না কিন্তু এইগুলো আবার ব্যাকগ্রাউন্ডে রান করে আপনার অজান্তেই বা আপনার কম্পিউটারের গুরুত্বপূর্ণ জায়গা দখল করে এবং অনেক সময় আপনার কম্পিউটারের কাজের গতি কমিয়ে দেয়। Continue reading

ওয়েব ডিজাইন করে দিবে মেশিন!

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

তো প্রায় ৩ বছর বা হয়ত তারচেয়ে কিছু বেশি সময়ের মধ্যেই ডিপ লার্নিং-এর মাধ্যমে ফ্রন্টেন্ড ডেভেলপমেন্ট মানে ওয়েব ডিজাইনের এক আমূল পরিবর্তন ঘটতে যাচ্ছে।

Continue reading

গ্র্যাজুয়েশন সম্পূর্ণ হওয়ার পূর্বে যে ৭টি স্কিল আয়ত্ত্বে থাকা জরুরী

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

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

Continue reading