অপ্রয়োজনীয়তার একটি কনট্রারিয়ান ভিউ
টিএল / ডিআর: জাভা স্ক্রিপ্টে প্রয়োজনীয়তার চেয়ে অপরিবর্তনীয়তা হ'ল ফ্যাশন প্রবণতা। আপনি যদি প্রতিক্রিয়া ব্যবহার করে থাকেন তবে এটি রাষ্ট্র পরিচালনার ক্ষেত্রে কিছু বিভ্রান্তিকর নকশার পছন্দগুলিকে ঝরঝরে কাজ করে । তবে বেশিরভাগ অন্যান্য পরিস্থিতিতে এটি যে জটিলতার সাথে পরিচয় করিয়ে দেয় তার চেয়ে বেশি মূল্য যুক্ত করবে না, প্রকৃত ক্লায়েন্টের চাহিদা পূরণের চেয়ে পুনরায় শুরু করার জন্য আরও পরিবেশন করা হবে।
দীর্ঘ উত্তর: নীচে পড়ুন।
জাভাস্ক্রিপ্টে অপরিবর্তনীয়তা এত গুরুত্বপূর্ণ (বা প্রয়োজনীয়) কেন?
ভাল, আপনি জিজ্ঞাসা আমি খুশি!
আগে একটি খুব প্রতিভাবান নামক লোক কিছু সময় ড্যান Abramov লিখেছিলেন নামক একটি জাভাস্ক্রিপ্ট রাষ্ট্র ব্যবস্থাপনা গ্রন্থাগার Redux যা বিশুদ্ধ কার্যকারিতা ও অপরিবর্তনীয়তা ব্যবহার করে। তিনি এমন কিছু দুর্দান্ত ভিডিও তৈরি করেছেন যা ধারণাটি বুঝতে (এবং বিক্রয়) সত্যই সহজ করে তুলেছে।
সময় নিখুঁত ছিল। অ্যাঙ্গুলারের অভিনবত্বটি ম্লান হয়ে উঠছিল, এবং জাভাস্ক্রিপ্ট বিশ্বটি সর্বশেষতম জিনিসটির উপরে স্থির করতে প্রস্তুত ছিল যা সঠিক মাত্রায় শীতল ছিল এবং এই লাইব্রেরিটি কেবল উদ্ভাবনী নয়, পুরোপুরি প্রতিক্রিয়াযুক্ত ছিল যা প্রতিক্রিয়াটিকে সিলিকন ভ্যালি পাওয়ার হাউস দ্বারা সজ্জিত করা হয়েছিল ।
দুঃখজনক হলেও, জাভাস্ক্রিপ্টের জগতে ফ্যাশনগুলি শাসন করে। এখন Abramov একটি অর্ধ-দেবতা মর্যাদা হচ্ছে এবং সব আমাদের নিছক মানুষ নিজেদের বিষয় আছে অপরিবর্তনীয়তা এর দাও ... খাসি এটা জ্ঞান বা তোলে না।
পরিবর্তনকারী বস্তুগুলিতে কী ভুল?
কোনো কিছুই নেই!
প্রকৃতপক্ষে প্রোগ্রামাররা এর জন্য বস্তুগুলিকে পরিবর্তিত করে চলেছে ... যতক্ষণ না পরিবর্তনের জন্য অবজেক্ট রয়েছে। অন্য কথায় অ্যাপ্লিকেশন বিকাশের 50+ বছর ।
এবং কেন জটিল জিনিস? যখন আপনার আপত্তি আছে cat
এবং এটি মারা যায়, cat
পরিবর্তনটি ট্র্যাক করার জন্য আপনার কি সত্যই দ্বিতীয় দরকার ? বেশিরভাগ লোক কেবল এটি বলে cat.isDead = true
এবং এটি দিয়ে কাজ করা হবে।
(রূপান্তরকারী বস্তু) কি জিনিসগুলিকে সহজ করে না?
হ্যাঁ! .. অবশ্যই হয়!
বিশেষত জাভাস্ক্রিপ্টে, যা ব্যবহারের ক্ষেত্রে অন্য যে কোনও স্থানে রক্ষণাবেক্ষণ করা হয় (যেমন একটি ডাটাবেসে যেমন রয়েছে) এমন কিছু রাজ্যের দৃষ্টিভঙ্গির জন্য ব্যবহার করা সবচেয়ে কার্যকর।
আমার কাছে যদি কোনও নতুন নিউজ অবজেক্ট থাকে যা আপডেট করতে হয়? ... আমি এই ক্ষেত্রে কীভাবে অর্জন করব? দোকান মুছুন এবং এটি পুনরায় তৈরি? অ্যারেতে কোনও বস্তু যুক্ত করা কি কম ব্যয়বহুল ক্রিয়াকলাপ নয়?
ঠিক আছে, আপনি traditionalতিহ্যবাহী পদ্ধতির দিকে যেতে পারেন এবং News
অবজেক্টটি আপডেট করতে পারেন , সুতরাং সেই অবজেক্টের সাথে আপনার স্মৃতির উপস্থাপনা পরিবর্তন হয় (এবং ব্যবহারকারীর কাছে প্রদর্শিত ভিউ বা অন্য কেউ আশা করি) ...
অথবা বিকল্পভাবে ...
আপনি সেক্সি এফপি / অপরিবর্তনীয়তা পদ্ধতির চেষ্টা করতে পারেন এবং প্রতিটি historical তিহাসিক পরিবর্তন ট্র্যাকিংয়ের সাথেNews
অবজেক্টটিতে আপনার পরিবর্তনগুলি যুক্ত করতে পারেন যাতে আপনি অ্যারের মাধ্যমে পুনরাবৃত্তি করতে পারেন এবং সঠিক রাষ্ট্রের উপস্থাপনাটি কী হতে হবে তা নির্ধারণ করতে পারেন (ভাই)!
আমি এখানে ঠিক কি জানার চেষ্টা করছি। দয়া করে আমাকে আলোকিত করুন :)
ফ্যাশন আসে বন্ধুকে। বিড়ালের ত্বকের বিভিন্ন উপায় রয়েছে।
আমি দুঃখিত যে আপনাকে ক্রমাগত পরিবর্তনশীল প্রোগ্রামিং প্যারাডেমগুলির সেটগুলির বিভ্রান্তি সহ্য করতে হবে। তবে ওহে, ক্লাবে স্বাগতম!
অপরিবর্তনীয়তার সাথে স্মরণ করার জন্য এখন কয়েকটি গুরুত্বপূর্ণ বিষয় এবং আপনি কেবলমাত্র নিঃসুলভ লোককেই জাগিয়ে তুলতে পারেন এমন জ্বরের তীব্রতার সাথে আপনি এগুলি ছুঁড়ে ফেলবেন।
1) বহু-থ্রেডযুক্ত পরিবেশে রেস শর্ত এড়ানোর জন্য অপ্রচলতা দুর্দান্ত ।
একাধিক থ্রেড তাদের পরিবর্তন করতে চাইলে মাল্টি-থ্রেডযুক্ত পরিবেশগুলি (যেমন সি ++, জাভা এবং সি #) লক অবজেক্টের অনুশীলনের জন্য দোষী। এটি কার্য সম্পাদনের জন্য খারাপ, তবে ডেটা দুর্নীতির বিকল্পের চেয়ে ভাল। এবং তবুও সবকিছু অপরিবর্তনীয় করে তোলার মতো ভাল নয় (লর্ড হাস্কেলের প্রশংসা করুন!)।
কিন্তু হায়! জাভাস্ক্রিপ্টে আপনি সর্বদা একটি থ্রেডে পরিচালনা করেন । এমনকি ওয়েব কর্মীরা (প্রত্যেকে পৃথক প্রসঙ্গের মধ্যে চলে )। সুতরাং যেহেতু আপনার মৃত্যুদন্ড প্রসঙ্গে (আপনারা সমস্ত সুন্দর গ্লোবাল ভেরিয়েবল এবং ক্লোজার) এর সাথে থ্রেড সম্পর্কিত রেস শর্ত থাকতে পারে না , তাই অপ্রচলতার পক্ষে মূল বিষয়টি উইন্ডোটির বাইরে চলে যায়।
(রয়ে যে বলেন, সেখানে রয়েছে ওয়েব শ্রমিক, যা আপনি মুখ্য থ্রেডে বস্তুর সঙ্গে তুচ্ছ সম্পর্কে কোন প্রত্যাশা নেই পাবেন বিশুদ্ধ ফাংশন ব্যবহার করে একটি সুবিধা।)
2) অপরিবর্তনীয়তা (কোনওভাবে) আপনার অ্যাপ্লিকেশনটির রাজ্যের অবস্থা থেকে এড়াতে পারে।
এবং এখানে বিষয়টিটির আসল কৌশলটি রয়েছে, সর্বাধিক (প্রতিক্রিয়া) বিকাশকারীরা আপনাকে বলবেন যে অপরিবর্তনীয়তা এবং এফপি কোনওভাবে এই যাদুতে কাজ করতে পারে যা আপনার আবেদনের অবস্থা অনুমানযোগ্য হতে দেয়।
অবশ্যই এর অর্থ এই নয় যে আপনি ডাটাবেসে বর্ণের পরিস্থিতি এড়াতে পারবেন , এটিকে টানতে আপনাকে সমস্ত ব্রাউজারের সমস্ত ব্যবহারকারীকে সমন্বয় করতে হবে এবং এর জন্য আপনার ওয়েবসকেটের মতো ব্যাক-এন্ড পুশ প্রযুক্তির প্রয়োজন হবে ( নীচে এটিতে আরও বেশি) যা অ্যাপ্লিকেশন চালিয়ে যাওয়া প্রত্যেককে পরিবর্তন সম্প্রচার করবে।
বা এর অর্থ এই নয় যে জাভাস্ক্রিপ্টে এমন কিছু অন্তর্নিহিত সমস্যা রয়েছে যেখানে অনুমানযোগ্য হয়ে উঠতে আপনার অ্যাপ্লিকেশন রাষ্ট্রটির অপরিবর্তনীয়তা প্রয়োজন, কোনও বিকাশকারী যা প্রতিক্রিয়ার আগে ফ্রন্ট-এন্ড অ্যাপ্লিকেশনগুলি কোড করে চলেছে আপনাকে এটিকে বলবে।
বরং এটি বিভ্রান্তিকর দাবিটির সহজ অর্থ হ'ল প্রতিক্রিয়া দিয়ে আপনার প্রয়োগের অবস্থা জাতিগত অবস্থার জন্য আরও প্রবণ হয়ে উঠবে , তবে সেই অপরিবর্তনীয়তা আপনাকে সেই ব্যথা সরিয়ে নিতে দেয়। কেন? প্রতিক্রিয়া বিশেষ কারণ .. এটি একটি উচ্চতর অপ্টিমাইজড রেন্ডারিং লাইব্রেরি হিসাবে তৈরি করা হয়েছে যার সাথে সুসংহত রাষ্ট্র পরিচালন দ্বিতীয় স্থান অধিকার করে এবং এইভাবে উপাদান রাষ্ট্র একটি ইভেন্ট অ্যাসিঙ্ক্রোনাস চেইনের ( যেমন "" একমুখী ডেটা বাঁধাই করা ") এর মাধ্যমে পরিচালিত হয় যে আপনার কোনও নিয়ন্ত্রণ নেই that রাষ্ট্র সরাসরি রূপান্তর না করার কথা মনে করে আপনার উপর ভরসা করুন ...
এই প্রসঙ্গে, জাভাস্ক্রিপ্টের সাথে অপরিবর্তনীয়তার প্রয়োজনীয়তার সামান্য কীভাবে সম্পর্ক রয়েছে এবং রিঅ্যাক্টে বর্ণের পরিস্থিতিগুলির সাথে অনেক কিছুই করা যায় তা দেখতে সহজ: যদি আপনার আবেদনে আন্তঃনির্ভর পরিবর্তনগুলি থাকে এবং কী কী বের করার সহজ উপায় না থাকে আপনার রাষ্ট্র বর্তমানে, আপনি বিভ্রান্ত হতে চলেছেন , এবং এইভাবে প্রতিটি historicalতিহাসিক পরিবর্তন ট্র্যাক করার জন্য অপরিবর্তনীয়তা ব্যবহার করার সঠিক ধারণা তৈরি করে ।
3) রেসের অবস্থা স্পষ্টত খারাপ।
ঠিক আছে, আপনি যদি প্রতিক্রিয়া ব্যবহার করছেন তবে সেগুলি হতে পারে। আপনি যদি অন্য কোনও কাঠামো বেছে নেন তবে সেগুলি বিরল।
তদতিরিক্ত, আপনার সাথে সাধারণত মোকাবিলা করতে অনেক বড় সমস্যা হয় ... নির্ভরতা নরকের মতো সমস্যা। ফোলা কোড-বেসের মতো। আপনার সিএসএস লোড হচ্ছে না। ধীর গতির বিল্ড প্রক্রিয়া বা মনোলিথিক ব্যাক-এন্ডে আটকে থাকা যা পুনরাবৃত্তি প্রায় অসম্ভব করে তোলে। অনভিজ্ঞ ডেভসের মতো কী চলছে এবং বুঝতে না পেরে কী কী জিনিস জগাখিচুড়ি করছে।
তুমি জান. বাস্তবিকতা। তবে আরে, কে এতো যত্ন করে?
4) অপরিবর্তনীয়তা প্রতিটি রাজ্যের পরিবর্তনের উপর নজর রাখার কার্যকারিতা প্রভাব হ্রাস করতে রেফারেন্স প্রকারগুলি ব্যবহার করে।
কারণ গুরুত্ব সহকারে, আপনি যদি প্রতিবার আপনার রাষ্ট্র পরিবর্তিত হয়ে স্টাফ অনুলিপি করতে চলেছেন তবে আপনি অবশ্যই এটি সম্পর্কে স্মার্ট হন তা নিশ্চিত করে নিন।
5) অপরিচ্ছন্নতা আপনাকে স্টাফ আনড করার অনুমতি দেয় ।
কারণ এর .. এটি আপনার প্রোজেক্ট ম্যানেজারের এক নম্বর বৈশিষ্ট্যটি জিজ্ঞাসা করছে, তাই না?
6) অপরিবর্তনীয় রাষ্ট্রের ওয়েবসকেটের সাথে সংমিশ্রণে প্রচুর শীতল সম্ভাবনা রয়েছে
সর্বশেষে তবে সর্বনিম্ন নয়, রাজ্য ডেল্টাসের জমাটি ওয়েবসকেটের সাথে সংমিশ্রণে একটি চমত্কার জোরালো কেস তৈরি করে, যা অপরিবর্তনীয় ঘটনাগুলির প্রবাহ হিসাবে রাষ্ট্রের একটি সহজ ব্যবহারের সুযোগ দেয় ...
একবার পেনি এই ধারণাটি নেমে আসবে (সর্বশেষ দৃশ্যের প্রতিনিধিত্ব করে এমন এক অশোধিত সংস্থার চেয়ে ঘটনাগুলির একটি প্রবাহ হিসাবে রাষ্ট্র ), অপরিবর্তনীয় পৃথিবীতে বসবাসের এক icalন্দ্রজালিক জায়গা হয়ে যায়। ইভেন্ট-উত্সাহিত আশ্চর্য এবং সম্ভাবনার একটি দেশ যা সময় নিজেই অতিক্রম করে । আর যখন সম্পন্ন ঠিক এই স্পষ্টভাবে রিয়েল-টাইম অ্যাপ easi করতে পারেন Er সম্পন্ন করার জন্য, আপনি শুধু তাই তারা করতে পারেন আগ্রহী সকলের কাছে ঘটনা প্রবাহ সম্প্রচার নিজেদের প্রতিনিধিত্ব গড়ে তুলতে বর্তমান এবং সাম্প্রদায়িক প্রবাহ মধ্যে তাদের নিজস্ব পরিবর্তন ফিরে লিখুন।
তবে এক পর্যায়ে আপনি জেগে উঠবেন এবং বুঝতে পারবেন যে সমস্ত আশ্চর্য এবং যাদু নিখরচায় আসে না। আপনার উত্সাহী সহকর্মীদের বিপরীতে, আপনার স্টেকহোল্ডাররা (হ্যাঁ, আপনাকে প্রদেয় লোকেরা) দর্শন বা ফ্যাশন এবং তারা বিক্রি করতে পারে এমন পণ্য তৈরির জন্য তারা যে অর্থ প্রদান করেন সে সম্পর্কে অনেক যত্ন করে। এবং নীচের লাইনটি হ'ল অপরিবর্তনীয় কোডটি লেখা শক্ত এবং এটি ভাঙা সহজ, এছাড়াও আপনার যদি সমর্থন করার মতো কোনও ব্যাক-এন্ড না থাকে তবে সামনের পর্বের অপরিবর্তনীয় সামান্য বিষয় রয়েছে। কখন (এবং যদি!) আপনি অবশেষে আপনার স্টেকহোল্ডারদের বোঝান যে আপনার ওয়েবসকেটসের মতো পুশ টেকনোলজির মাধ্যমে ইভেন্টগুলি প্রকাশ এবং গ্রাস করা উচিত , তবে আপনি নির্ধারণ করতে পারবেন যে উত্পাদনে স্কেল করা কতটা বেদনাদায়ক ।
এখন কিছু পরামর্শের জন্য, আপনার যদি এটি গ্রহণ করা পছন্দ করা উচিত।
আপনার অ্যাপ্লিকেশন কোড-বেসকে আরও জটিল, আরও জটিল এবং পরিচালনা করা আরও শক্তিশালী করে তোলার জন্য এফপি / অপ্রয়োজনীয়তা ব্যবহার করে জাভাস্ক্রিপ্ট লেখার একটি পছন্দ। আমি আপনার রেডাক্স হ্রাসকারীদের কাছে এই পদ্ধতির সীমাবদ্ধ রাখার জন্য দৃ strongly়তার সাথে তর্ক করব, যদি না আপনি কী করছেন তা যদি না জানেন ... এবং আপনি যদি এগিয়ে যান এবং নির্বিশেষে অপরিবর্তনীয়তা ব্যবহার করতে চলেছেন তবে আপনার পুরো অ্যাপ্লিকেশন স্ট্যাকটিতে অপরিবর্তনীয় অবস্থা প্রয়োগ করুন , এবং কেবলমাত্র ক্লায়েন্ট-সাইড, যেমন আপনি অন্যথায় এর আসল মূল্য অনুপস্থিত।
এখন, যদি আপনি আপনার কাজের ক্ষেত্রে পছন্দ করতে সক্ষম হওয়ার জন্য যথেষ্ট সৌভাগ্যবান হন, তবে চেষ্টা করুন এবং আপনার প্রজ্ঞাটি ব্যবহার করুন (বা না) এবং যিনি আপনাকে অর্থ প্রদান করছেন তার দ্বারা ঠিক কী করুন । আপনি এটি আপনার অভিজ্ঞতা, আপনার অন্ত্র বা আপনার চারপাশে যা চলছে তার উপর ভিত্তি করে তৈরি করতে পারেন (স্বীকার করে সবাই প্রত্যেকে যদি রিট্যাক্ট / রেডাক্স ব্যবহার করে থাকে তবে সেখানে একটি কার্যকর যুক্তি রয়েছে যে আপনার কাজ চালিয়ে যাওয়ার জন্য কোনও উত্স খুঁজে পাওয়া সহজ হবে) .. বিকল্পভাবে, আপনি চালিত বিকাশ পুনরায় চালু করুন বা হাইপ চালিত বিকাশ পদ্ধতির চেষ্টা করতে পারেন । এগুলি আপনার ধরণের জিনিস হতে পারে।
সংক্ষেপে, অপরিবর্তনীয়তার জন্য বলার মতো বিষয়টি হ'ল এটি আপনাকে আপনার সমবয়সীদের সাথে ফ্যাশনেবল করে তুলবে, কমপক্ষে পরবর্তী ক্রেজটি না আসা অবধি, আপনি যে বিন্দুতে এগিয়ে যেতে পেরে খুশি হবেন।
এখন স্ব-থেরাপির এই অধিবেশনটির পরে আমি এটি উল্লেখ করতে চাই যে আমি এটি আমার ব্লগে একটি নিবন্ধ হিসাবে যুক্ত করেছি => জাভাস্ক্রিপ্টে অপরিবর্তনীয়তা: একটি বিপরীত দৃশ্য । যদি আপনার দৃ strong় অনুভূতি হয় তবে আপনি নিজের বুক থেকেও নামতে চাইলে সেখানে বিনা দ্বিধায় যোগাযোগ করুন;)।