আমার ধারণা আপনি একজন ওয়েব ডেভেলপার। হতে পারে আপনি কেবল ওয়েব ডেভেলপার। হিসাবে শুরু করছেন, সম্ভবত আপনি ইতিমধ্যে একটি দীর্ঘ সময়ের জন্য প্রোগ্রামার হিসাবে কাজ করছেন। আপনি জাভাস্ক্রিপ্টের সাথে স্বাচ্ছন্দ্যযুক্ত হলেও, কিছু বিষয়ে যা আরও ভালো হওয়া দরকার। নিজেকে জাভাস্ক্রিপ্টে মাস্টার বলার আগে আপনাকে অবশ্যই 10 টি জিনিস শিখতে হবে।
সম্ভবত তালিকার সবচেয়ে প্রাথমিক বিষয়। সবচেয়ে গুরুত্বপূর্ণ এক, সম্ভবত সবচেয়ে গুরুত্বপূর্ণ এক। আপনি যদি নিজের কোডটি দিয়ে কীভাবে এগিয়ে যেতে চান তা না জানলে আপনার একটি কঠিন সময় কাটাতে হবে। বেসিক নিয়ন্ত্রণ প্রবাহের ইনস এবং আউটগুলি জেনে রাখা অবশ্যই একটি আবশ্যক।
if else- যদি আপনি এগুলি না জানেন তবে আপনি কোডটি আগে কীভাবে লিখতেন?
switch - হ'ল মূলত যদি আরও স্পষ্টত উপায়ে হয়, আপনি বিভিন্ন ক্ষেত্রে একাধিক হিসাবে তাড়াতাড়ি এটি ব্যবহার করুন।
for - নিজেকে পুনরাবৃত্তি করবেন না, এটি লুপগুলির জন্য। নরমালফুল-লুপ-ছাড়াও এবং খুব কাজে আসে for -লুপগুলির পক্ষে সবচেয়ে বড় সুবিধা হ'ল এগুলি ব্লক করা হচ্ছে, যাতে আপনি এগুলিতে অপেক্ষারত ব্যবহার করতে পারেন use
উন্নত শর্তসাপেক্ষে - ত্রৈমাসিক এবং লজিকাল অপারেটরগুলি ব্যবহার করা আপনার জীবনকে অনেক সহজ করে তুলতে পারে, বিশেষত যখন আপনি ইনলাইন জিনিসগুলি করার চেষ্টা করেন যার অর্থ আপনি পরে সেগুলি ব্যবহারের জন্য মানগুলি সংরক্ষণ করতে চান না। উদাহরণ:// ternary console.log(new Date().getHours() < 12 ? 'Good Morning!' : 'Time for a siesta') // logical operators const isJsMaster = prompt('Are you a JavaScript master?') === 'true' console.log(isJsMaster && 'proficient coder')
এটি আমার জন্য কিছুটা সময় নিয়েছে। আপনি সামনের বছর বা তার আগে ফ্রন্টএন্ড বা ব্যাকএন্ডে কাজ করছেন তা বিবেচ্য নয়, আপনি সম্ভবত কনসোল.লগ বা ডিফল্ট হয়ে যাবেন ‘হ্যান্ডলিং’ ত্রুটিগুলির জন্য। ভাল অ্যাপ্লিকেশন লিখতে, আপনাকে অবশ্যই এটি পরিবর্তন করতে হবে এবং আপনার অলস লগগুলি সুন্দরভাবে পরিচালিত ত্রুটির সাথে প্রতিস্থাপন করতে হবে। আপনি কীভাবে নিজের ত্রুটি নির্মাতা তৈরি করবেন এবং কীভাবে সঠিকভাবে ধরবেন তা পরীক্ষা করতে পারেন, পাশাপাশি ব্যবহারকারীকে প্রকৃত সমস্যাটি কী তা দেখানো হবে।
আপডেট: নিখুঁতভাবে ত্রুটিগুলি কীভাবে পরিচালনা করবেন সে সম্পর্কে নিবন্ধটি দেখুন!
অবিচ্ছিন্নভাবে আপনার অ্যাপ্লিকেশনটি চালিত করার অনুরূপ, আপনাকে সিদ্ধান্ত নিতে হবে কোথায় নির্দিষ্ট তথ্য খণ্ডগুলি গোষ্ঠীভুক্ত করতে হবে এবং কোথায় তাদের আলাদা রাখতে হবে। এটি কেবল ডাটাবেস মডেলগুলি বিল্ডিংয়ের ক্ষেত্রেই প্রযোজ্য না, তবে প্যারামিটারগুলি এবং অবজেক্টগুলি বা ভেরিয়েবলগুলিও কার্যকর করে। উদাহরণ:
const calcShape = (width, height, depth, color, angle) => {...} const calcShape = ({width, height, depth, color, angle}) => {...}
এটি জাভাস্ক্রিপ্টের একটি খুব গুরুত্বপূর্ণ দিক, হয় আপনি ব্যাকএন্ড থেকে ডেটা আনছেন বা আপনি ব্যাকএন্ডের মধ্যেই অ্যাসিঙ্ক্রোনালি অনুরোধগুলি প্রক্রিয়া করছেন। বেশ কয়েকটি ব্যবহারের ক্ষেত্রে আপনি অ্যাসিঙ্ক্রোনটি এবং এর সতর্কতার মুখোমুখি হবেন। এটি কী তা যদি আপনার কোনও ধারণা না থাকে তবে আপনি সম্ভবত একটি অদ্ভুত ত্রুটি পাবেন যা আপনি কয়েক ঘন্টার জন্য সমাধান করার চেষ্টা করবেন। এটি কী তা যদি আপনি জানেন তবে তবে এটি সম্পর্কে কী করা উচিত তা আপনি সত্যই জানেন না, আপনি কলব্যাক-নরকে শেষ করবেন। প্রতিশ্রুতি এবং / অথবা আপনার অ্যাপ্লিকেশনগুলিতে অ্যাসিঙ্ক অপেক্ষা করার জন্য আরও ভাল পন্থা।
এটি একটি মজার বিষয়। সাধারণত এটি আজ ডেভলপার হিসাবে জীবনের কিছুটা বাদ যায়। হতে পারে আপনি jQuery শিখেছেন এবং কিছু নেটিভ ডিওএম ম্যানিপুলেশন দক্ষতা বাছাই করার প্রয়োজন অনুভব করেন নি, সম্ভবত আপনি কেবল একটি ফ্রন্টএন্ড ফ্রেমওয়ার্ক ব্যবহার করছেন, যেখানে কাস্টম ডোম হেরফেরের জন্য খুব কমই প্রয়োজন হয়। যাইহোক, আমি মনে করি এটি জাভাস্ক্রিপ্ট বোঝার একটি গুরুত্বপূর্ণ অংশ, কমপক্ষে সীমান্তে। DOM কীভাবে কাজ করে এবং কীভাবে উপাদানগুলিতে অ্যাক্সেস করা যায় তা আপনাকে ওয়েবসাইটগুলি কীভাবে কাজ করে তার গভীর ধারণা দেয় gives এছাড়াও, আপনি যেখানে কিছু আধুনিক কাস্টম ডিওএম ম্যানিপুলেশন করতে হবে তা এমন পয়েন্ট থাকবে যেখানে আপনি আধুনিক ফ্রন্টএন্ড ফ্রেমওয়ার্কগুলি ব্যবহার করেন এবং আপনি অবশ্যই কোনও উপাদান অ্যাক্সেস করার জন্য আপনার প্যাকেজ.জসনে jQuery রাখতে চান না।
এমনকি অগ্রভাগ বিকাশকারী হিসাবেও আপনার নোড.জেএস এর মূল বিষয়গুলি জানা উচিত আদর্শভাবে, আপনি কীভাবে একটি সাধারণ এক্সপ্রেস সার্ভার স্পিন করতে এবং কিছু রুট যুক্ত করতে বা বিদ্যমানগুলির পরিবর্তন করতে পারবেন তাও জানতেন। জাভাস্ক্রিপ্ট আপনাকে অনেক কাজ স্বয়ংক্রিয় করতে সহায়তা করার জন্য স্ক্রিপ্টগুলি লেখার জন্য দুর্দান্ত। অতএব, ফাইলগুলি কীভাবে পড়তে হবে, ফাইলপথগুলি বা বাফারগুলির সাথে কাজ করা জেনে যা কিছু তৈরির জন্য আপনাকে একটি ভাল টুলসেট দেয়।
ক্রিয়ামূলক বনাম। অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং সম্পর্কে চিরন্তন বিতর্ক রয়েছে। উভয় পদ্ধতির সাথেই আপনি সম্ভবত একই জিনিস অর্জন করতে পারেন। জাভাস্ক্রিপ্টে এটি আরও সহজ, আপনার কাছে উভয় মতামত উপলব্ধ। লোডাসের মতো গ্রন্থাগারগুলি কার্যকরী পদ্ধতির সাহায্যে অ্যাপ্লিকেশন তৈরির জন্য সরঞ্জামগুলির একটি দুর্দান্ত সংগ্রহ দেয় give আজকাল, এটি আর বাহ্যিক গ্রন্থাগার ব্যবহার করার প্রয়োজন হয় না। অফিসিয়াল জাভাস্ক্রিপ্ট স্পেসিফিকেশনে অনেকগুলি গুরুত্বপূর্ণ ফাংশন প্রয়োগ করা হয়েছে। আপনার অবশ্যই স্পষ্টভাবে জানা উচিত যে কীভাবে মানচিত্র `হ্রাসকারী ফিল্টার E forEach` এবং` find` ব্যবহার করবেন `
কার্যকরী পদ্ধতির অনুরূপ, আপনি যদি এটি আয়ত্ত করতে চান তবে আপনাকে অবজেক্ট ওরিয়েন্টেড জাভাস্ক্রিপ্টের সাথেও পরিচিত হতে হবে। আমি আমার ক্যারিয়ারে দীর্ঘদিন ধরে সেই অংশটিকে অবহেলা করেছি এবং কেবল একটি কাজের সাথে কাজ করেছি, তবে কখনও কখনও নির্দিষ্ট কার্যকারিতা বাস্তবায়নের জন্য অবজেক্ট / শ্রেণি এবং দৃষ্টান্তগুলি ব্যবহার করা অবশ্যই ভাল। ক্লাসগুলি প্রতিক্রিয়া, মবএক্সএক্স বা কাস্টম কনস্ট্রাক্টরগুলিতে ব্যাপকভাবে ব্যবহৃত হয়।
বড় তিনটি হ'ল React.js, কৌণিক এবং Vue.js. আপনি যদি আজকাল কোনও চাকরীর সন্ধান করছেন, আপনি প্রায়শই পূর্বশর্ত হিসাবে তালিকাভুক্তদের মধ্যে একটি থাকবেন। এমনকি যদি তারা বেশ দ্রুত পরিবর্তন হয় তবে অ্যাপ্লিকেশনগুলি কীভাবে কাজ করে তা বোঝার জন্য তাদের সাধারণ ধারণাটি উপলব্ধি করা গুরুত্বপূর্ণ। এছাড়াও, অ্যাপ্লিকেশনগুলি সেভাবে লেখা সহজ। আপনি যদি কোন ট্রেনটিতে চড়াতে চান তা যদি সিদ্ধান্ত না নিয়ে থাকেন তবে আমার পরামর্শগুলি React.js। আমি গত কয়েক বছর ধরে এটি নিয়ে কাজ করছি এবং আমার সিদ্ধান্ত নিয়ে আফসোস করি না।
দুর্ভাগ্যক্রমে, এটি ওয়েব বিকাশের একটি বড় অংশ। একদিকে আমার দুর্ভাগ্য বলা উচিত নয়, কারণ সমস্ত নতুন বৈশিষ্ট্য সহ কোড লিখতে পেরে দুর্দান্ত is অন্যদিকে, আমি বলার কারণটি হ'ল আমাদের সর্বদা মনে রাখতে হবে যে চারপাশে পুরানো ব্রাউজারগুলি এই বৈশিষ্ট্যগুলি সমর্থন করে না, তাই আমাদের কোডটি পুরানো ব্রাউজারগুলি বুঝতে পারে এমন অন্য কোনও ক্ষেত্রে রূপান্তর করতে হবে। আপনি যদি নোড.জেএস দিয়ে কাজ করেন তবে আপনার কোডটি স্থানান্তর করার ক্ষেত্রে আপনার কাছে কম এক্সপোজার থাকতে পারে। প্রতিস্থাপনের জন্য ডি-ফ্যাক্টো স্ট্যান্ডার্ডটি হ'ল বেবেল.জেএস, তাই এটির সাথে পরিচিত হন। আপনার কোড বান্ডিলিং এবং সবকিছুকে এক সাথে বেঁধে রাখার জন্য, আপনার কাছে কয়েকটি বিকল্প রয়েছে। ওয়েবপ্যাক দীর্ঘকাল ধরে প্রভাবশালী খেলোয়াড় ছিল। কিছু সময় আগে, পার্সেল কোথাও থেকে পপ আপ হয়েছে এবং এখন এটি আমার পছন্দসই সমাধান, কারণ এটি নিখুঁত না হলেও এটি এতটা পারফরম্যান্ট এবং কনফিগার করা সহজ।
এটি জাভাস্ক্রিপ্টের জন্য সুনির্দিষ্ট নয়, তবে প্রচুর ব্যবহারের ক্ষেত্রে অবিশ্বাস্যরূপে সহায়ক। ঠিক তেমনি বিভ্রান্তিকরও। নিয়মিত এক্সপ্রেশনগুলির বাক্য গঠনটি জানার জন্য অবশ্যই কিছুটা সময় লাগে এবং বিভিন্ন বিকল্পের সব মনে রাখা অসম্ভব।
আপডেট: পরীক্ষা
পল কামমা যেমন উল্লেখ করেছিলেন, পরীক্ষা করা সফ্টওয়্যার বিকাশের একটি সত্যই গুরুত্বপূর্ণ অঙ্গ, জাভাস্ক্রিপ্ট এর ব্যতিক্রম নয়। কোড লেখার সময়, আপনি (আশাবাদী) বৈশিষ্ট্যটি ধাক্কা দেওয়ার আগে এটি পরীক্ষা করে দেখুন, এটি ম্যানুয়াল হতে পারে। আরও ভাল পদ্ধতির ব্যবহার স্বয়ংক্রিয় পরীক্ষাগুলি ব্যবহার করা, বিভিন্ন পরীক্ষার ধরণগুলি ইউনিট টেস্টিং, শেষ থেকে শেষের পরীক্ষা, লোড টেস্টিং, সুরক্ষা পরীক্ষা বা ফ্রন্টএন্ড-পরীক্ষাগুলি (উদাঃ একটি উপাদান যা মাউন্ট করা আছে বা নয়)। বিভিন্ন পরীক্ষার পরিবেশ, এনজাইম, জুঁই, মোচা, চই ইত্যাদি রয়েছে। এই মুহুর্তে আমার প্রিয় সমাধানটি হল ava.js, তাই আপনি যদি এখনও পর্যন্ত স্বয়ংক্রিয় পরীক্ষায় কাজ না করে থাকেন তবে এটি পরীক্ষা করে দেখুন।
আশা করি আপনি ইতিমধ্যে উপরে তালিকাবদ্ধ সমস্ত বিষয় জানেন। যদি তা না হয় তবে কাজে লাগিয়ে জাভাস্ক্রিপ্টে মাস্টার হওয়ার চেষ্টা করুন! এটি অবশ্যই মূল্যবান। মনে রাখবেন কোডিংয়ের সময় অনুশীলন হ'ল সবকিছু, সুতরাং আপনি যদি এই ধারণাগুলির সাথে পরিচিত না হন বা সেগুলি জানেন তবে আপনি কীভাবে এগুলি প্রয়োগ করবেন তা আপনি জানেন না, ভবিষ্যতে এটি আসবে।
আপনি তালিকা সম্পর্কে কি মনে করেন? কিছু অনুপস্থিত? আপনি কী কোডিংয়ের সময় অন্যান্য বিষয়গুলি বেশি গুরুত্বপূর্ণ বলে মনে করেন? আমাকে জানতে দিন এই কমেন্টে!