উত্তর:
আপনার যত্ন করা উচিত? না।
কেন? কারণ এটি সম্পর্কে সত্যই আপনি কিছুই করতে পারবেন না।
কেউ কেউ পূর্বাভাস অবলম্বনের পরামর্শ দিয়েছেন। এটি জাভা এবং। নেট এর জন্য কাজ করে তবে পাইথন, জাভাস্ক্রিপ্ট এবং পার্ল সবগুলি সরল পাঠ্য যাতে আপনি খুব কমই করতে পারেন। আপনার সাইটের মান নিঃসন্দেহে সার্ভারের পক্ষে তাই জাভাস্ক্রিপ্ট সম্পর্কে চিন্তা করবেন না।
আপনি যা করতে পারেন তা হ'ল কোডটি অবলম্বন করা যাতে অন্যদের এটিকে পরিবর্তন করতে অসুবিধা হয়। অবশ্যই, আপনি মূল একটি অনুলিপি রাখুন।
বোনাস হিসাবে, অবলুপ্ত কোডটি ছোট হওয়া উচিত এবং লোড করার জন্য তত দ্রুত।
তুমি কেন চিন্তা কর? আমি এটির দুটি কারণ দেখতে পাচ্ছি: 1) আপনি একটি বাণিজ্যিক জাভাস্ক্রিপ্ট লাইব্রেরি লিখছেন। সমাধান: আরেকটি ব্যবসায়ের পরিকল্পনা পান, জাভাস্ক্রিপ্টের লিবগুলি বিনামূল্যে থাকে। সম্ভবত আপনি উদ্যোগের একটি ছোট কুলুঙ্গিতে অর্থ উপার্জন করতে পারেন, তবে তারা সম্ভবত অবৈধভাবে অনুলিপি কোড ব্যবহার করবেন না।
2) আপনি উদ্বেগ করছেন যে আপনার প্রতিযোগী আপনার সাইটটি অনুলিপি করতে চলেছেন। যদি তারা তা করে, আপনি নিশ্চিত হয়ে থাকতে পারেন যে আপনি সর্বদা তাদের থেকে এক ধাপ এগিয়ে থাকবেন। সম্ভবত, তারা তাদের নিজস্ব কোড লিখতে চলেছে এবং আপনার সাইটের চেহারা এবং আচরণের অনুলিপি করছে এবং মূর্খ সফ্টওয়্যার পেটেন্টগুলি পাওয়া ছাড়া যেমন কিছুই আপনাকে এড়াতে পারে না, যেমন অ্যামাজন এক ক্লিক শপিং।
IOW, চিন্তা করবেন না। লোকেরা যদি আপনার স্টাফ ব্যবহার করে তবে আপনাকে জিজ্ঞাসা করতে একটি কপিরাইট নোটিশ দিন। যদি পর্যাপ্ত লোকেরা এটি করে থাকে তবে এই সত্যটি ব্যবহার করুন যে আপনি গিক্সের মধ্যে creditণ পেতে একটি দরকারী গ্রন্থাগার তৈরি করেছেন, যা সম্ভবত দীর্ঘকাল ধরে উপকারী হবে।
না। ক্লায়েন্ট-সাইড স্ক্রিপ্টিং ভাষা ব্যবহার এবং "সুরক্ষা" দেওয়ার চেষ্টা করবেন না। অবিচ্ছিন্নতা কাজ করে না। মিনিফিংয়ের ব্যবহার রয়েছে (তবে জলদস্যুতা বিরোধী সেগুলির মধ্যে একটিও নয় )
আমি আপনার কোডটি হ্রাস করার বিরুদ্ধে সুপারিশ করব যদি না আপনি প্রতিদিন হাজার হাজার হিট পান যেখানে অনুরোধ অনুযায়ী অতিরিক্ত কয়েকটি কিলোবাইট একটি লক্ষণীয় পার্থক্য হয়ে যায় (এবং কেবলমাত্র আপনি যখন সমস্ত চিত্রকে সঠিকভাবে ব্যবহার করছেন তখন সংকোচনের পরে এটি আপনাকে সংরক্ষণ করবে) কয়েক কেবি এর চেয়ে বেশি, সঠিকভাবে ক্যাশে সেটআপ করা ইত্যাদি) ..
এমনকি আপনি জাভাস্ক্রিপ্টকে ছোট / আকাঙ্ক্ষিত করলেও লোকেরা এখনও তুচ্ছভাবে এটি নিজের সাইটে অনুলিপি করতে পারে। এটি সংশোধন করা কিছুটা বেশি কঠিন হবে, তবে স্ক্রিপ্টটি কী করে তার উপর নির্ভর করে, এতে কিছু আসে যায় না। উদাহরণস্বরূপ, ডাব্লুএমডি সম্পাদক লোকেরা উল্লেখ করেছে যে জনসাধারণের জন্য ব্যবহার করা হয়, তা খাটো করা হয়।
কিংকর্তব্যবিমূঢ়তা এবং minification অনুরূপ হতে পারে, কিন্তু যদি আপনি সঠিকভাবে কোড ধন্দে পরে ছিল, আপনি মূলত এটা কঠিন বুঝতে করতে এটা বৃহৎ অংশ পুনর্লিখন করতে হবে .. এই কোড আরো জটিল, এবং তোলে পর্যন্ত কঠিন সঙ্গে মোকাবিলা করার জন্য (জন্য আপনি), তাই বাগগুলি প্রবর্তন করবেন .. আপনার জাভাস্ক্রিপ্টটি যদি বাগি হয়ে যায় তবে এটি জলদস্যুতা রোধ করবে, যেহেতু কেউ এটি ব্যবহার করতে (বা চুরি করতে) চাইবে না .. তবে, ভুল, এটি ভাল নয়।
জাভাস্ক্রিপ্ট সম্পর্কে দুর্দান্ত জিনিসগুলির মধ্যে কেউ হ'ল যে কেউ ডান ক্লিক করতে / দেখতে-উত্স করতে পারে এবং লাইভ, ওয়ার্কিং কোড দেখে জাভাস্ক্রিপ্ট শিখতে পারে .. আপনি যদি লোকটিকে কোডটি দেখছেন এবং এটি অনুলিপি করছেন সম্পর্কে উদ্বিগ্ন হন তবে ওয়েব / জাভাস্ক্রিপ্ট isn ' সঠিক ভাষা টি ..
আমি আপনার সমস্ত .js
ফাইল এবং <script>
ব্লকগুলির শুরুতে আপনার তথ্য (নাম, ওয়েবসাইট) এবং কোনও ধরণের লাইসেন্স সহ একটি মন্তব্য দেওয়ার সুপারিশ করব । কোডটি কী তার উপর নির্ভর করে সম্ভবত একটি নোটিশ রেখে "যদি আপনি কোনও প্রকল্পে এই কোডের সমস্ত বা অংশ ব্যবহার করেন তবে দয়া করে আমাকে এটি সম্পর্কে জানান!" "এই কোডটি অন্য কোনও উদ্দেশ্যে কখনও ব্যবহার করবেন না" এর চেয়ে অনেক বেশি কার্যকর হতে পারে!
আপনি এটিকে নিরুৎসাহিত করার জন্য কোডটি অবলম্বন করতে পারেন (বা এটি অন্তত মাইনাইফ করুন) (যদিও এটির সময়টি কারওর জন্য এটি থামানো যায় না example উদাহরণস্বরূপ, ডাব্লুএমডি সম্পাদকের স্ট্যাকওভারফ্লো এর ডিওফাসেকশন (তবে এটি একটি ভাল কারণেই ছিল!))।
সত্যিকার অর্থে যে কোনও কোড আপনি ফ্রন্টএন্ড রেখেছেন তা সর্বজনীন হতে চলেছে এবং সকলের জন্য দেখতে ও ব্যবহারের জন্য উপলব্ধ।
একেবারেই কেন উদ্বিগ্ন? যদি আপনার স্ক্রিপ্টগুলি চুরি করার উপযুক্ত হয় তবে আপনি এগুলি পরিবর্তে ওপেন সোর্স তৈরি করতে এবং তাদের সম্মান জানাতে সহায়তা পেতে পারেন।
আপনি সত্যই তা করতে পারবেন না কারণ এটি একটি ব্যাখ্যাযুক্ত ভাষা যা সর্বদা উত্স কোড আকারে সরবরাহ করা হয়। এমনকি জলদস্যু যথেষ্ট প্রেরণা জোগানো যদি তেমন সাহায্য করে না।
(কেস-উদাহরণ: স্ট্যাকওভারফ্লো ডাব্লুএমডি সম্পাদক , যা হতে পারে - কঠোর ভাষায় - জলদস্যু হিসাবে দেখা যেতে পারে, যদিও আমি জানি যে জেফ এবং ডানার কেবল ভাল উদ্দেশ্য ছিল)
আমি ওয়েব অ্যাপ্লিকেশন লেখার জন্য জিডব্লিউটি (গুগল ওয়েব টুলকিট) ব্যবহার করি, যার কোডটি সমস্ত জাভাতে লেখা আছে এবং জাবা কেন্দ্রিক সরঞ্জামগুলির সাথে ডিবাগ এবং পরীক্ষা করা যেতে পারে, তবে মুক্তির জন্য জাভাস্ক্রিপ্টে রূপান্তরিত হয়েছে।
যখন মোডে PRETTY
বা DETAILED
মোডে না থাকে, তখন জিডব্লিউটি দ্বারা উত্পাদিত জাভাস্ক্রিপ্টটি অত্যন্ত উচ্চতর অনুকূলিত এবং অবরুদ্ধ হয়, এটি বিপরীত ইঞ্জিনিয়ারের পক্ষে চূড়ান্ত অবৈধ করে তোলে। (একটি traditionalতিহ্যবাহী জাভাস্ক্রিপ্ট অবফসেক্টর এই সুবিধাগুলির একটি অংশ সরবরাহ করবে - তবে যেখানে অনুকূলকরণগুলি জিডডব্লিউটি-র বিশদ শাখা ছাঁটাই এবং কোড-পাথ বিশ্লেষণ করার ক্ষমতার উপর নির্ভরশীল নয়)।
এটি বলেছিল, সাধারণভাবে, আমি অবহেলায় আছি - এর অর্থ, উদাহরণস্বরূপ, বৈধ গ্রাহকরা তাদের বিকাশ দক্ষতা এবং ফায়ারব্যাগের অনুলিপি হওয়ার পরেও তাদের সমস্যাগুলি নির্ধারণ করতে আপনাকে কম সহায়তা করতে পারে। আপনি মূল লেখক - আপনি অন্য কারও চেয়ে কোডটি ভাল জানেন এবং এটি আপনাকে সস্তা নোকফ চালানোর চেষ্টা করছেন এমন ব্যক্তির তুলনায় প্রতিযোগিতামূলক সুবিধা দেয়; তদুপরি, যদি এই জাতীয় কোনও প্রতিযোগী যদি অনুমতি ব্যতীত তারা চুরি করে এমন কিছু থেকে প্রকৃত অর্থ উপার্জন করে থাকে, তবে সেই মামলাটি তাদের হাতে নিয়ে যাওয়া অর্থ (বা, সম্ভাব্য পরিমাণে ত্রিগুণ) নিয়ে আসে; বৈধ এবং গুরুতর প্রতিযোগিতা সেই পথে যাবে না, এবং অন্য ধরণের সম্পর্কে কেন চিন্তা করবে?
আমরা আমাদের ওয়েব অ্যাপ্লিকেশনটির জন্য প্রচুর জাভাস্ক্রিপ্ট (এবং প্রচুর সার্ভার-সাইড) কোড ব্যবহার করি এবং আমরা জাভাস্ক্রিপ্টগুলিকে কোনও সাদা স্পেস, লাইন ব্রেকগুলি মুছে ফেলতে "অপ্রচলিত" বেছে নিয়েছি - এটি আপনার কোডটিকে সত্যই রক্ষা করবে না, তবে এটি পড়তে এবং বুঝতে খুব কঠিন করে তোলে এবং সম্ভবত জড়িত প্রচেষ্টার কারণে অন্যরা বিরক্ত করবেন না।
আমরা এটি করার কারণটি এতোটুকু নয় যে আমরা কেউই আমাদের কোডের কিছু অংশ অনুলিপি করতে চাই না, বরং আমাদের অংশীদার / গ্রাহকদেরকে নিরুৎসাহিত করার জন্য যাদের আমরা "আমাদের ফাইলগুলিতে" সংশোধন করার থেকে কোডটি সরবরাহ করি (তে পরবর্তী আপডেট ইনস্টল করা হলে ঝামেলা এড়ান) ...
দ্রষ্টব্য: অস্পষ্টতার একটি অসুবিধা আপনার সম্পর্কে অবহিত হওয়া উচিত, যদিও: আপনার যদি কখনও সেই স্ক্রিপ্ট কোডটি ডিবাগ করার দরকার হয় তবে আপনি নিজেই অবহেলিত ইনফ্রোমেশন দিয়ে কাজ করতে পারবেন না, সুতরাং এটি সর্বদা 'পঠনযোগ্য' ফাইলটি অনুলিপি করার সাথে জড়িত থাকবে সার্ভার প্রথম।
এই ধারণাটি নিয়ে গিয়ে যে কোনও যথেষ্ট ভাল জাভাস্ক্রিপ্ট অন্যের দ্বারা গ্রহণ করা হবে, কেবল স্রোতের সাথে সাঁতার কাটা এবং এর সর্বাধিক উপার্জন সম্পর্কে কীভাবে?
এটির উপর এমন লাইসেন্স চাপুন যা উদাহরণস্বরূপ প্রয়োজনের জন্য প্রয়োজনীয় ব্যবহারের অনুমতি দেয়। কিছু ক্রিয়েটিভ কমন্স ভেরিয়েন্টের মতো একটি অ-বাণিজ্যিক ক্লজ সহও হতে পারে, আপনার যদি সত্যিই আবশ্যক।
আপনার অ্যাপ্লিকেশন যুক্তির বেশিরভাগটি সার্ভার-সাইড হওয়া উচিত। জাভাস্ক্রিপ্ট কেবল সার্ভারের সাথে জিইউআই স্টাফ এবং সাধারণ ইন্টারঅ্যাকশন পরিচালনা করতে হবে। যদি আপনার জাভাস্ক্রিপ্ট কোডটিতে এমন পর্যাপ্ত অ্যাপ্লিকেশন যুক্তি রয়েছে যা আপনি কেউ চুরি করে নিয়ে চিন্তিত হন তবে আপনি সম্ভবত কিছু ভুল করছেন।
আপনার যদি ট্রেড সিক্রেট থাকে তবে আপনি কোডের সর্বাধিক সংবেদনশীল অংশগুলিকে অ্যাকশনস্ক্রিপ্টে (ফ্ল্যাশ) স্থানান্তর করতে পারেন। এটি মূলত জাভাস্ক্রিপ্টের মতো একই ভাষা এবং এটি টোকেনাইজড আকারে সঞ্চিত।
যদি আপনি নির্ধারিত হার্ড হ্যাকাররা আপনার কোড চুরি করে নিয়ে চিন্তিত হন তবে দুঃখিত, আপনি করার মতো কিছুই নেই। তবে এটি নৈমিত্তিক চোরদের অসুবিধে করার উপায় রয়েছে। এটি করার অপেক্ষাকৃত সহজ উপায় হ'ল কিছু অংশ XMLHttpRequest
এবং eval()
সেগুলি ব্যবহার করে লোড করা ; এটি এমন কিছু হিসাবে ছদ্মবেশযুক্ত হতে পারে (বা এতে অন্তর্ভুক্ত) যা JSON ডেটা পায় এবং পৃষ্ঠাটি পপুলেট করার জন্য সেগুলি ব্যবহার করে।