CodeGym/Java Course/All lectures for BN purposes/একটি জাভা বিকাশকারীর চেকলিস্ট

একটি জাভা বিকাশকারীর চেকলিস্ট

বিদ্যমান

প্রতিটি জাভা প্রোগ্রামারের অবশ্যই সফ্টওয়্যার বিকাশের প্রাথমিক ধারণা থাকতে হবে। তো চলুন এক নজরে দেখে নেওয়া যাক কি "মৌলিক" বলে বিবেচিত হয়।

1. মৌলিক অ্যালগরিদম

প্রোগ্রামিং (শুধু জাভা নয়) শিখতে শুরু করার সময় প্রথম যে জিনিসটি মোকাবেলা করতে হবে তা হল বেসিকগুলি বোঝা। উদাহরণস্বরূপ, অ্যালগরিদম।

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

2. জাভা সিনট্যাক্স

অ্যালগরিদমের মূল বিষয়গুলি শেখার পরে, আমাদের জাভা সিনট্যাক্স শিখতে হবে। সর্বোপরি, আপনি জাভা প্রোগ্রামার হওয়ার জন্য পড়াশোনা করছেন, তাই না? কোডজিম কোর্সটি এর জন্য উপযুক্ত।

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

অনুশীলনের বাইরে, আপনি কী করছেন তা বোঝার জন্য আপনাকে তত্ত্বটিও দেখতে হবে। এটি করার জন্য, আপনি বই পড়তে পারেন। উদাহরণস্বরূপ, নিম্নলিখিতগুলির মধ্যে একটি:

  • "হেড ফার্স্ট জাভা",
  • ব্যারি বার্ডের "জাভা ফর ডামিস";
  • "জাভা: এ বিগিনারস গাইড" হার্বার্ট শিল্ডের।

এই বইগুলি পড়ার পরে, আপনি আরও কঠিন বইগুলিতে নামতে পারেন:

  • "জাভাতে চিন্তা করা," ব্রুস একেল;
  • জোশুয়া ব্লচের "কার্যকর জাভা";
  • "জাভা: দ্য কমপ্লিট রেফারেন্স" হার্বার্ট শিল্ড দ্বারা।

শেষ তিনটি বই নতুনদের জন্য সহজ পঠন নয়, তবে তারা জাভা তত্ত্বের একটি শক্ত ভিত্তি প্রদান করে।

3. নকশা নিদর্শন

ডিজাইন প্যাটার্ন হল নির্দিষ্ট পুনরাবৃত্তিযোগ্য প্যাটার্ন যা প্রায়শই সম্মুখীন হওয়া প্রসঙ্গে সমস্যার সমাধান করে। তারা মৌলিক, সাধারণ নিদর্শনগুলি অন্তর্ভুক্ত করে যা প্রতিটি স্ব-সম্মানী প্রোগ্রামারকে জানা উচিত। এই বিষয়টি বুঝতে, "হেড ফার্স্ট ডিজাইন প্যাটার্নস" বইটি ধরুন।

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

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

এটিতে মনোযোগ দিন, বিশেষ করে বসন্তে ব্যবহৃত নিদর্শনগুলিতে, যেহেতু এটি একটি জনপ্রিয় সাক্ষাত্কার প্রশ্ন।

4. প্রোগ্রামিং দৃষ্টান্ত। কোড পরিচ্ছন্নতা

স্ট্যান্ডার্ড ডিজাইন প্যাটার্নের পাশাপাশি, বিভিন্ন নীতি এবং দৃষ্টান্ত সম্পর্কে সচেতন হতে হবে (সলিড, গ্র্যাস্প)।

এছাড়াও আপনাকে আপনার কোড পরিষ্কার এবং পঠনযোগ্য রাখতে হবে। সবকিছুর জন্য, আপনাকে এই বিষয় সম্পর্কে জানতে হবে, রবার্ট মার্টিনের ক্লিন কোড দেখুন বা স্টিভ ম্যাককনেলের "কোড কমপ্লিট" দেখুন।

5. এসকিউএল

আমাদের পরবর্তী পদক্ষেপ হল রিলেশনাল ডাটাবেসের জন্য একটি ভাষা অধ্যয়ন করা — SQL।

ডেটাবেস হল যেখানে একটি ওয়েব অ্যাপ্লিকেশন দ্বারা ব্যবহৃত তথ্য (ডেটা) সংরক্ষণ করা হয়। একটি ডাটাবেস বেশ কয়েকটি টেবিল নিয়ে গঠিত (আপনার ফোনের ঠিকানা বইটি একটি সাধারণ উদাহরণ)।

জাভা বিকাশকারীরা শুধুমাত্র জাভা অ্যাপ্লিকেশনের জন্যই দায়ী নয়, এটি যে ডাটাবেসের সাথে ইন্টারঅ্যাক্ট করে এবং যেখানে এটি তার ডেটা সংরক্ষণ করে তার জন্যও দায়ী৷

রিলেশনাল ডাটাবেসে (যা সবচেয়ে সাধারণ প্রকার), সমস্ত মিথস্ক্রিয়া স্ট্রাকচার্ড কোয়েরি ল্যাঙ্গুয়েজ বা SQL নামে একটি বিশেষ ভাষার মাধ্যমে ঘটে।

এই বিষয়টি বোঝার জন্য, আপনাকে যা করতে হবে তা হল এই বইগুলির একটি পড়তে:

  1. অ্যালান বিউলিউ দ্বারা "লার্নিং এসকিউএল";
  2. ক্রিস ফেহিলির "SQL";
  3. লিন বেইগলির "হেড ফার্স্ট এসকিউএল"।

কিন্তু তত্ত্ব ছাড়া অনুশীলন এটা কাটে না, তাই না? এবং সাক্ষাত্কারে আপনি SQL সম্পর্কে আপনার জ্ঞানের পরীক্ষা আশা করতে পারেন। সাক্ষাত্কারকারীরা প্রায়শই (প্রায় সবসময়) এক বা দুটি কাজ দেয় যা একটি এসকিউএল কোয়েরি লেখার সাথে জড়িত।

ফলস্বরূপ, নিজেকে একটি ভাল আলোতে দেখানোর জন্য আপনার ব্যবহারিক SQL দক্ষতাগুলিকে উন্নত করা খুবই গুরুত্বপূর্ণ।

6. MySQL/PostgreSQL

SQL ভাষা শেখার পরে, আপনাকে একটি নির্দিষ্ট ডাটাবেস বাস্তবায়নের সাথে পরিচিত হতে হবে। ডাটাবেসের উপর নির্ভর করে, কিছু কমান্ড নাটকীয়ভাবে পরিবর্তিত হতে পারে। এবং ডাটাবেস ক্ষমতার মধ্যে বেশ লক্ষণীয় পার্থক্য রয়েছে।

সবচেয়ে সাধারণ রিলেশনাল ডাটাবেস হল MySQL এবং PostgreSQL। MySQL অনেক সহজ, কিন্তু PostgreSQL এর অনেক বিস্তৃত ক্ষমতা রয়েছে। তাদের মধ্যে অন্তত একজনের সাথে পরিচিত হওয়া শুরু করার জন্য যথেষ্ট।

আপনি যদি আপনার গুগলিং দক্ষতা ব্যবহার করেন তবে আপনি ডাটাবেস বাস্তবায়ন অধ্যয়ন করতে পারেন — YouTube-এ প্রাসঙ্গিক নিবন্ধ এবং টিউটোরিয়াল খুঁজুন। আপনার যে প্রশ্নগুলির উত্তর দেওয়া দরকার তার জন্য আপনাকে সঠিক অনুসন্ধান প্রশ্নগুলি তৈরি করার জন্য আপনার ক্ষমতা তৈরি করতে হবে। সর্বোপরি, একজন প্রোগ্রামার হলেন গুগলিংয়ে ব্ল্যাক বেল্ট সহ এমন কেউ।

7. Maven/Gradle

আপনাকে Gradle বা Maven ফ্রেমওয়ার্ক শিখতে হবে। সেগুলি প্রজেক্ট তৈরির জন্য, এবং আপনার জন্য, জাভা এখন শুধুমাত্র কয়েকটি ক্লাস জড়িত কাজের জন্য নয়, পূর্ণাঙ্গ অ্যাপ্লিকেশন লেখার জন্যও একটি ভাষা।

আপনাকে বুঝতে হবে কিভাবে একটি প্রকল্প তৈরি করতে হয়, নির্মাণের পর্যায়গুলি কী, তৃতীয় পক্ষের কোড সহ প্রয়োজনীয় বহিরাগত লাইব্রেরিগুলি কীভাবে লোড করা যায় এবং আরও অনেক কিছু।

গ্রেডল নতুন এবং আরও সংক্ষিপ্ত হওয়া সত্ত্বেও, মাভেন বেশিরভাগ ক্ষেত্রেই ব্যবহৃত হয়। সুতরাং, মাভেন বিল্ড লাইফসাইকেলে বিশেষ মনোযোগ দিন।

8. গিট

গিট একটি বিতরণকৃত সংস্করণ নিয়ন্ত্রণ ব্যবস্থা। এই প্রযুক্তিটি বিকাশকারীদের একে অপরের সাথে হস্তক্ষেপ না করে একটি একক অ্যাপ্লিকেশনে সহযোগিতা করতে দেয়।

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

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

9. জেডিবিসি

এই প্রযুক্তি আপনার জাভা অ্যাপ্লিকেশন এবং একটি রিলেশনাল ডাটাবেস সংযোগ করে। মৌলিক বিষয়ের জন্য যেকোন JDBC টিউটোরিয়াল পড়ুন।

এখানে প্রচুর নিবন্ধ রয়েছে যা JDBC ব্যাখ্যা করে এবং প্রাথমিক উদাহরণ প্রদান করে, যদিও কেউ আর সরাসরি নগ্ন JDBC ব্যবহার করছে না।

10. জেপিএ। হাইবারনেট

JPA হল একটি জাভা অ্যাপ্লিকেশন এবং একটি ডাটাবেসের মধ্যে সংযোগ স্থাপন করার একটি উপায়, ঠিক JDBC এর মতো। কিন্তু একই সময়ে, JPA একটি উচ্চ-স্তরের প্রযুক্তি এবং তাই ব্যবহার করা সহজ।

কিন্তু JPA শুধুমাত্র একটি স্পেসিফিকেশন, একটি বাস্তবায়ন নয়। এর একটি সুনির্দিষ্ট বাস্তবায়ন প্রয়োজন। তাদের মধ্যে অনেকগুলিই বিদ্যমান, তবে JPA আদর্শের সবচেয়ে কাছের, সবচেয়ে জনপ্রিয় এবং সবচেয়ে উন্নত হল হাইবারনেট।

আপনি আপনার সফ্টওয়্যার বিকাশ কর্মজীবনে একাধিকবার এই প্রযুক্তিটি দেখতে পাবেন। সুতরাং, নিবন্ধগুলি পড়ার মাধ্যমে এই প্রযুক্তির সাথে পরিচিত হওয়ার পাশাপাশি, একটি বই পড়ার বিষয়ে চিন্তা করা মূল্যবান হতে পারে, উদাহরণস্বরূপ, "Java Persistence API"।

11. বসন্ত

আপনি যখন একজন জাভা বিকাশকারী হন, তখন বসন্ত আর আপনার জন্য কেবল একটি শব্দ নয়। এই ফ্রেমওয়ার্ক জানা এখন জাভা সিনট্যাক্স জানার মতোই গুরুত্বপূর্ণ। আপনি বলতে পারেন যে স্প্রিং এর একটি ভাইবোন আছে, যেমন জাভা EE। কিন্তু জাভা EE পুরানো এবং নতুন প্রকল্পে আর ব্যবহার করা হয় না।

জাভা ডেভেলপারদের সিংহভাগই এখন জাভা-স্প্রিং ডেভেলপার, তাই কিছু মৌলিক স্প্রিং প্রযুক্তি জানা আবশ্যক।

বসন্ত শুধুমাত্র একটি কাঠামো নয়, কিন্তু কাঠামোর একটি সম্পূর্ণ কাঠামো:

এবং এটি স্প্রিং প্রদান করে এমন কাঠামোর একটি উপসেট মাত্র। একজন শিক্ষানবিশের জন্য, তাদের মধ্যে কয়েকটি জেনে রাখাই যথেষ্ট:

স্প্রিং কোর

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

বসন্ত JDBC

এর আগে আমরা ডাটাবেস সংযোগ তৈরির জন্য একটি প্রযুক্তি হিসাবে JDBC উল্লেখ করেছি। সাধারণভাবে, প্রযুক্তির "নগ্ন" ব্যবহার আর প্রকল্পগুলিতে পাওয়া যাবে না, তাই আপনি উপসংহারে আসতে পারেন যে JDBC শেখার প্রয়োজন নেই। এটি পুরোপুরি সঠিক মনোভাব নয়।

জেডিবিসির নগ্ন (সরাসরি) ব্যবহার অন্বেষণ করে, আপনি প্রযুক্তিটিকে নিম্ন স্তরে দেখতে পারেন এবং এর সমস্যা এবং ত্রুটিগুলি বুঝতে পারেন। তারপর যখন আপনি স্প্রিং জেডিবিসি শেখা শুরু করবেন, তখন আপনি বুঝতে পারবেন যে এই কাঠামোটি ঠিক কী উন্নতি করে, অপ্টিমাইজ করে এবং লুকিয়ে রাখে।

বসন্ত হাইবারনেট

নগ্ন JDBC-এর পরিস্থিতির সাথে সাদৃশ্যপূর্ণ, এই কাঠামোটি একটি বিদ্যমান প্রযুক্তির ব্যবহার করে, এই ক্ষেত্রে, হাইবারনেট। আপনি যদি স্প্রিং ছাড়া হাইবারনেট ব্যবহার করার কথা বিবেচনা করেন, তাহলে আপনি অবশ্যই স্প্রিং হাইবারনেটের সুবিধাগুলি উপলব্ধি করতে পারবেন।

বসন্ত জেপিএ

এর আগে আমরা JPA সম্পর্কে কথা বলেছি এবং উল্লেখ করেছি যে এটি শুধুমাত্র একটি স্পেসিফিকেশন, যদিও এর বিভিন্ন বাস্তবায়ন রয়েছে। এই বাস্তবায়নের মধ্যে, হাইবারনেট আদর্শের সবচেয়ে কাছাকাছি আসে।

বসন্তের নিজস্ব আদর্শ JPA বাস্তবায়ন রয়েছে যা হুডের নিচে হাইবারনেট ব্যবহার করে। এটি JPA স্পেসিফিকেশনের আদর্শের যতটা সম্ভব কাছাকাছি।

একে স্প্রিং জেপিএ বলা হয়। এক কথায়, এটি ডাটাবেস অ্যাক্সেসকে ব্যাপকভাবে সরল করে।

আপনি JDBC, হাইবারনেট, স্প্রিং JDBC, বা স্প্রিং হাইবারনেট না শিখে শুধুমাত্র JPA শিখতে পারেন। কিন্তু আপনি যদি এই পন্থা অবলম্বন করেন, তাহলে একটি ডাটাবেসের সাথে কিভাবে সংযোগ করতে হয় সে সম্পর্কে আপনার জ্ঞান হবে অতিমাত্রায়।

বসন্ত MVC

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

প্রবন্ধ এবং YouTube বক্তৃতা ছাড়াও, বসন্ত সম্পর্কে তথ্য ভালভাবে ভিজিয়ে রাখার জন্য, আপনি বেশ কয়েকটি বই পড়তে পারেন। উদাহরণস্বরূপ, ক্রেগ ওয়ালস দ্বারা "স্প্রিং ইন অ্যাকশন"। বসন্তের উপর আরেকটি দুর্দান্ত বই হল "প্রফেশনালদের জন্য বসন্ত 5"। এটা আরো ঘন. একটি রেফারেন্সের মতো যা কভার থেকে কভার পড়ার চেয়ে হাতের কাছে রাখা বেশি মূল্যবান।

বসন্ত বুট

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

প্রথমে, স্প্রিং ফ্রেমওয়ার্কগুলি কীভাবে কাজ করে তা আরও ভালভাবে বোঝার জন্য, আপনার নিয়মিত স্প্রিং ব্যবহার করা উচিত এবং তারপরে স্প্রিং বুট ব্যবহার করার সমস্ত উচ্চতর সুবিধাগুলি বেছে নেওয়া উচিত।

আপনার স্প্রিং সিকিউরিটি এবং স্প্রিং এওপির সাথেও নিজেকে পরিচিত করা উচিত। কিন্তু উপরের প্রযুক্তির বিপরীতে, এই দুটির গভীর জ্ঞানের এখনও প্রয়োজন নেই।

এই প্রযুক্তি নতুনদের জন্য নয়। সাক্ষাত্কারে, জুনিয়র devs তাদের সম্পর্কে জিজ্ঞাসা করা হবে না (একটি ভাসা প্রশ্ন ছাড়া, সম্ভবত)। এই প্রযুক্তিগুলি কী এবং তাদের কাজের পিছনে মূলনীতিগুলির একটি ওভারভিউ পড়ুন৷

আপনি যত বেশি জানবেন, তত দ্রুত আপনি আপনার প্রথম চাকরি খুঁজে পাবেন।

মন্তব্য
  • জনপ্রিয়
  • নতুন
  • পুরানো
মন্তব্য লেখার জন্য তোমাকে অবশ্যই সাইন ইন করতে হবে
এই পাতায় এখনও কোনো মন্তব্য নেই