অ্যাসবেস্টস দীর্ঘ জোনগুলি দান করা হচ্ছে ...
গতকাল আমার শিরোনাম প্যাক পাবলিকেশনের সাথে, জাভাস্ক্রিপ্ট সহ প্রতিক্রিয়াশীল প্রোগ্রামিং । এটি আসলে কোনও নোড.জেএস-কেন্দ্রিক শিরোনাম নয়; প্রারম্ভিক অধ্যায়গুলি তত্ত্ব এবং পরবর্তী কোড-ভারী অধ্যায়গুলি কভার অনুশীলনকে আচ্ছাদন করার উদ্দেশ্যে করা হয়। যেহেতু আমি পাঠকদের একটি ওয়েবসভার দিতে ব্যর্থ হওয়াই যথাযথ বলে মনে করি না, নোড.জেএস খুব সুস্পষ্ট পছন্দ বলে মনে হয়েছিল । এমনকি এটি খোলার আগেই এই মামলাটি বন্ধ ছিল।
আমি নোড.জেএস এর সাথে আমার অভিজ্ঞতার একটি খুব গোলাপী দৃষ্টিভঙ্গি দিতে পারতাম পরিবর্তে আমি ভাল পয়েন্ট এবং আমার মুখোমুখি খারাপ পয়েন্টগুলি সম্পর্কে সৎ ছিলাম।
আমাকে এখানে প্রাসঙ্গিক কয়েকটি উদ্ধৃতি অন্তর্ভুক্ত করুন:
সতর্কতা: নোড.জেএস এবং এর বাস্তুতন্ত্র গরম - আপনাকে খারাপভাবে পোড়াতে যথেষ্ট!
যখন আমি গণিতে শিক্ষকের সহকারী ছিলাম, আমাকে যে অ-স্পষ্ট পরামর্শ বলেছিল তা হ'ল কোনও শিক্ষার্থীকে না বলা যে কিছু "সহজ"। পিছনে পিছনে কারণটি কিছুটা সুস্পষ্ট ছিল: আপনি যদি লোকদেরকে কিছু সহজ বলে দেন তবে যে কেউ সমাধানটি দেখতে পান না সে বোকা বোধ করতে পারে (আরও বেশি) বোকা বোধ করতে পারে কারণ তারা কেবল সমস্যাটি সমাধান করার উপায় পায় না, তবে সমস্যাটিও সমাধান করে তারা বুঝতে খুব বোকা একটি সহজ এক!
পাইথন / জ্যাঙ্গো থেকে আগত লোকদের কেবল বিরক্ত করবেন না এমন গ্যাটাচগুলি রয়েছে, আপনি যদি কিছু পরিবর্তন করেন তবে অবিলম্বে উত্সটি পুনরায় লোড করে দেয়। নোড.জেএস এর সাথে, ডিফল্ট আচরণটি হ'ল আপনি যদি একটি পরিবর্তন করেন তবে পুরানো সংস্করণটি সময় শেষ না হওয়া অবধি বা আপনি নিজে সার্ভারটি থামানো এবং পুনরায় চালু না করা অবধি সক্রিয় থাকবে। এই অনুপযুক্ত আচরণটি পাইথনিস্টাসকে কেবল বিরক্ত করে না; এটি নেটিভ নোড.জে ব্যবহারকারীদের বিরক্ত করে যারা বিভিন্ন কাজের সুযোগ দেয় ar এই লেখার সময় স্ট্যাকওভারফ্লো প্রশ্ন "নোড.জেএস-এ ফাইলগুলির স্বয়ংক্রিয় পুনরায় লোড" রয়েছে, 200 টিরও বেশি upvotes এবং 19 টি উত্তর; একটি সম্পাদনা ব্যবহারকারীকে আয়া স্ক্রিপ্ট, নোড-সুপারভাইজার, হোমপেজে সহ নির্দেশ দেয় http://tinyurl.com/reactjs-node-supervisor এ নির্দেশ দেয়। এই সমস্যাটি নতুন ব্যবহারকারীদের বোকা বোধ করার দুর্দান্ত সুযোগ দিয়েছিল কারণ তারা ভেবেছিল যে তারা সমস্যাটি ঠিক করে দিয়েছে তবে পুরানো, বগী আচরণ সম্পূর্ণ অপরিবর্তিত। এবং সার্ভারটি বাউন করা ভুলে যাওয়া সহজ; আমি একাধিকবার করেছি। এবং আমি যে বার্তাটি দিতে চাই তা হ'ল, "না, আপনি বোকা নন কারণ নোড.জেসের এই আচরণটি আপনার পিছনে কামড় দেয়; এটি ঠিক যে নোড.জেএস এর ডিজাইনাররা এখানে উপযুক্ত আচরণের কোনও কারণ দেখেনি। এটি মোকাবেলা করার চেষ্টা করুন, সম্ভবত নোড-তত্ত্বাবধায়ক বা অন্য কোনও সমাধান থেকে কিছুটা সাহায্য নিয়েছেন তবে দয়া করে বোকা বোধ করে দূরে থাকবেন না। আপনি সমস্যাটি এক নন; সমস্যাটি নোড.জেএস এর ডিফল্ট আচরণে।
এই বিভাগটি, কিছু বিতর্ক করার পরে, অবিকল রেখে দেওয়া হয়েছিল কারণ আমি "এটি সহজ" এর কোনও ধারণা দিতে চাই না। কাজ করার মতো জিনিস পেতে গিয়ে আমি বারবার আমার হাত কেটেছি এবং আমি অসুবিধাগুলি কাটিয়ে উঠতে চাই না এবং আপনাকে বিশ্বাস করতে চাই না যে নোড.জেএস এবং এর বাস্তুতন্ত্রকে ভালভাবে কাজ করা সহজতর বিষয় এবং যদি এটি আপনার পক্ষেও সোজা না হয় if আপনি জানেন না আপনি কি করছেন। আপনি যদি নোড.জেএস ব্যবহার করে অযথা অসুবিধা না পান তবে এটি দুর্দান্ত। যদি আপনি তা করেন তবে আমি আশা করব যে আপনি এই বোধ থেকে দূরে সরে যাবেন না, "আমি বোকা me আমার কিছু নিশ্চয়ই আছে” " আপনি বোকা নন যদি আপনি নোড.জেএস এর সাথে কদর্য আশ্চর্যজনক আচরণ করেন এটি আপনি না! এটি নোড.জেএস এবং এর বাস্তুতন্ত্র!
পরিশেষে, আমি শেষ অধ্যায় এবং উপসংহারে ক্রমবর্ধমান ক্রিসেন্ডো হওয়ার পরে সত্যিকার অর্থেই চাইনি, ইকোসিস্টেমের মধ্যে আমি কী খুঁজে পেতে পেরেছি সে সম্পর্কে কথা বলেছি এবং মরোনিক আক্ষরিকতার জন্য একটি কার্যনির্বাহ প্রদান করেছে:
অন্য একটি ডাটাবেস যা নিখুঁত ফিটের মতো বলে মনে হয়েছিল এবং এটি এখনও পুনরুদ্ধারযোগ্য হতে পারে, এটি HTML5 কী-মান স্টোরের একটি সার্ভার-সাইড বাস্তবায়ন implementation এই পদ্ধতির একটি এপিআই এর মূল সুবিধা রয়েছে যা বেশিরভাগ ভাল ফ্রন্ট-এন্ড বিকাশকারীরা যথেষ্ট ভালভাবে বুঝতে পারে। এই বিষয়টির জন্য, এটি এমন একটি এপিআইও যা বেশিরভাগ ক্ষেত্রেই ভাল-ফ্রন্ট-এন্ড বিকাশকারীরা যথেষ্ট ভাল বুঝতে পারে। তবে নোড-লোকালস্টোরেজ প্যাকেজটির সাথে অভিধান-সিনট্যাক্স অ্যাক্সেসের প্রস্তাব দেওয়া হয়নি (আপনি লোকালস্টোরেজ.সেটটাইম (কী, মান) বা লোকালস্টোরেজ.জেট আইটেম (কী) ব্যবহার করতে চান, লোকালস্টোরেজ [কী]) নয়, সম্পূর্ণ লোকাল স্টোরেজ শব্দার্থক প্রয়োগ করা হয়েছে , একটি ডিফল্ট 5MB কোটা সহ - কেন? সার্ভার-সাইড জাভাস্ক্রিপ্ট বিকাশকারীদের কী তাদের নিজের থেকে সুরক্ষিত করা দরকার?
ক্লায়েন্ট-সাইড ডাটাবেস ক্ষমতার জন্য, বিকাশকারীদের এটির সাথে কাজ করতে দেয়ায় প্রতিটি ওয়েবসাইটের জন্য একটি 5 এমবি কোটা সত্যিই শ্বাসকষ্টের একটি উদার এবং দরকারী পরিমাণ। আপনি অনেক কম কোটা সেট করতে পারেন এবং তবুও বিকাশকারীদের কুকি পরিচালনার পাশাপাশি লিম্পিংয়ের উপর অপরিমেয় উন্নতি সরবরাহ করতে পারেন। 5MB সীমাটি নিজেকে বিগ ডেটা ক্লায়েন্ট-সাইড প্রসেসিংয়ে খুব দ্রুত leণ দেয় না, তবে সত্যিই যথেষ্ট উদার ভাতা রয়েছে যা রিসোর্ফাল ডেভেলপাররা অনেক কিছু করতে ব্যবহার করতে পারে। তবে অন্যদিকে, 5 এমবি সম্প্রতি যে কোনও সময় কেনা বেশিরভাগ ডিস্কের একটি বিশেষ বড় অংশ নয়, এর অর্থ হ'ল যদি আপনি এবং কোনও ওয়েবসাইট যদি ডিস্কের জায়গার যুক্তিসঙ্গত ব্যবহার সম্পর্কে কোনও বিষয়ে দ্বিমত পোষণ করেন, বা কোনও সাইট কেবল মুগ্ধ হয় তবে এটির জন্য সত্যই ব্যয় হয় না আপনার হার্ড ড্রাইভ ইতিমধ্যে খুব বেশি পূর্ণ না হলে আপনি এবং আপনি জলাবদ্ধ হার্ড ড্রাইভের কোনও আশঙ্কা করছেন না।
যাইহোক, এটি আস্তে আস্তে উল্লেখ করা যেতে পারে যে আপনি যখন আপনার সার্ভারের জন্য একটি রাইটিং কোড হন তখন আপনার ডাটাবেসটি আকারে সহনীয় 5 এমবি থেকে বেশি তৈরি করা থেকে কোনও অতিরিক্ত সুরক্ষার প্রয়োজন হয় না। বেশিরভাগ বিকাশকারীদের সরঞ্জামের আয়া হিসাবে কাজ করা এবং তাদের 5MB এর বেশি সার্ভার-সাইড ডেটা সংরক্ষণ করার হাত থেকে রক্ষা করার প্রয়োজন হবে না বা চাইবে না। এবং 5MB কোটা যা ক্লায়েন্ট-সাইডে সোনার ভারসাম্য রচনা, কোনও নোড.জেএস সার্ভারে কিছুটা মূর্খ। (এবং এই পরিশিষ্টে আচ্ছাদিত একাধিক ব্যবহারকারীর ডাটাবেসের জন্য এটি সামান্য ব্যথিতভাবে উল্লেখ করা যেতে পারে যে এটি প্রতিটি অ্যাকাউন্টে 5MB নয় যদি আপনি প্রতিটি ব্যবহারকারীর অ্যাকাউন্টের জন্য ডিস্কে একটি পৃথক ডাটাবেস না তৈরি করেন; তবে 5MB এর মধ্যে ভাগ করা হবে) সমস্ত ব্যবহারকারীর অ্যাকাউন্ট একসাথে। এটি বেদনাদায়ক হতে পারেআপনি যদি ভাইরাল হয়ে যান!) ডকুমেন্টেশনে বলা হয়েছে যে কোটাটি কাস্টমাইজযোগ্য, কিন্তু কোটা কীভাবে পরিবর্তন করবেন সে সম্পর্কে এক সপ্তাহ আগে বিকাশকারীকে একটি ইমেল উত্তরহীন, যেমন স্ট্যাকওভারফ্লো প্রশ্নটিই জিজ্ঞাসা করেছিল। আমি যে উত্তরটি খুঁজে পেতে পেরেছি তা কেবল গিথুব কফিস্ক্রিপ্ট উত্সে, যেখানে এটি কোনও নির্মাণকারীর কাছে toচ্ছিক দ্বিতীয় পূর্ণসংখ্যার যুক্তি হিসাবে তালিকাভুক্ত। সুতরাং এটি যথেষ্ট সহজ, এবং আপনি ডিস্ক বা পার্টিশনের আকারের সমান কোটা নির্দিষ্ট করতে পারেন। কিন্তু এমন কোনও বৈশিষ্ট্যটি বোঝার মতো নয় যা পোর্টিংয়ের পাশাপাশি, সরঞ্জামটির লেখক 0 এর ব্যাখ্যার একটি খুব মানক কনভেনশন অনুসরণ করতে সম্পূর্ণ ব্যর্থ হয়েছেন যার অর্থ একটি চলক বা ফাংশন যেখানে "সংখ্যার কিছু সংস্থান ব্যবহারের জন্য সর্বাধিক সীমা নির্দিষ্ট করতে হয়" এর অর্থ "সীমাহীন" হিসাবে ব্যবহৃত হয়। এই অপব্যবহারের সাথে করণীয় সর্বোত্তম জিনিসটি সম্ভবত কোটাটি ইনফিনিটি নির্দিষ্ট করে:
if (typeof localStorage === 'undefined' || localStorage === null)
{
var LocalStorage = require('node-localstorage').LocalStorage;
localStorage = new LocalStorage(__dirname + '/localStorage',
Infinity);
}
ক্রমে দুটি মন্তব্য অদলবদল:
লোকেরা অবিচ্ছিন্নভাবে পুরোপুরি জাভাস্ক্রিপ্ট ব্যবহার করে পায়ে গুলি করে এবং জাভাস্ক্রিপ্টের একটি অংশকে সম্মানজনক ভাষা হিসাবে তৈরি করা হচ্ছিল ডগলাস ক্রকফোর্ড যা কথায় কথায় বলেছিলেন, “ভাষা হিসাবে জাভাস্ক্রিপ্টের বেশ ভাল অংশ রয়েছে এবং কিছু সত্যই খারাপ অংশ রয়েছে। এখানে ভাল অংশ আছে। অন্য কিছু যে আছে তা ভুলে যাও। " সম্ভবত উত্তপ্ত নোড.জেএস বাস্তুতন্ত্রের নিজস্ব "ডগলাস ক্রকফোর্ড" বৃদ্ধি পাবে , যিনি বলবেন, "নোড.জেএস ইকোসিস্টেম একটি কোডিং ওয়াইল্ড ওয়েস্ট, তবে এর মধ্যে কিছু বাস্তব রত্ন পাওয়া যাবে। এখানে একটি রোডম্যাপ। প্রায় যে কোনও মূল্যে এড়াতে অঞ্চলগুলি এখানে। এখানে কোনও ভাষা বা পরিবেশে সর্বাধিক ধনী শুল্কের ক্ষেত্র রয়েছে ”
সম্ভবত অন্য কেউ এই শব্দগুলিকে একটি চ্যালেঞ্জ হিসাবে গ্রহণ করতে পারে এবং ক্রকফোর্ডের নেতৃত্ব অনুসরণ করতে পারে এবং নোড.জেএস এবং এর বাস্তুতন্ত্রের জন্য "ভাল অংশগুলি" এবং / অথবা "আরও ভাল অংশগুলি" লিখতে পারে। আমি একটি কপি কিনতে হবে!
এবং সমস্ত প্রকল্পে উত্সাহ এবং নিবিড় পরিশ্রমের ডিগ্রি প্রদত্ত হওয়ার পরে, এই লেখার সময় তৈরি হওয়া অপরিণত বাস্তুসংস্থান সম্পর্কে কোনও মন্তব্যকে তীব্রভাবে মেজাজ করার জন্য এটি এক বা দুই বা তিন বা তিন বছরে সুসংহত হতে পারে। এটি পাঁচ বছরের মধ্যে সত্যিই বোঝার অর্থ হতে পারে, "2015 নোড.জেএস বাস্তুতন্ত্রের বেশ কয়েকটি খনি ক্ষেত্র ছিল। 2020 নোড.জেএস বাস্তুতন্ত্রের একাধিক প্যারাডাইজ রয়েছে ”