সার্ভার-সাইড এবং ক্লায়েন্ট-সাইড প্রোগ্রামিংয়ের মধ্যে পার্থক্য কী?


104

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

ওয়েব প্রোগ্রামিংয়ের প্রসঙ্গে সার্ভার-সাইড প্রোগ্রামিং এবং ক্লায়েন্ট-সাইড প্রোগ্রামিংয়ের মধ্যে পার্থক্য কী? কোনটি ভাষা কোনটির সাথে সম্পর্কিত এবং আপনি সেগুলির প্রত্যেকটি কখন ব্যবহার করবেন?


5
সার্ভার-সাইড প্রোগ্রামিং হ'ল কোডটি লিখিত যা সার্ভারে চলিত সার্ভার দ্বারা সমর্থিত ভাষা ব্যবহার করে (যেমন জাভা, পিএইচপি, সি #; জাভাস্ক্রিপ্টে সার্ভার-সাইডে চালিত কোড লেখা সম্ভব)। ক্লায়েন্ট-সাইড প্রোগ্রামিং হ'ল কোড লেখা যা ক্লায়েন্টের উপর চলবে, এবং জাভাস্ক্রিপ্টের মতো ব্রাউজার দ্বারা সম্পাদন করা যেতে পারে এমন ভাষায় সম্পন্ন হয়।
হতাশ


7
আমি মনে করি যে প্রশ্নটিতে আপনি কেবল ওয়েব প্রোগ্রামিংয়ে উল্লেখ করেছেন সেই প্রশ্নে আপনার অন্তর্ভুক্ত করা উচিত, বর্তমান ফর্মের মতো উত্তরগুলি সম্পূর্ণ নয়। উদাহরণস্বরূপ, এইচটিটিপিতে সার্ভার-ক্লায়েন্ট যোগাযোগের প্রয়োজন নেই; ক্লায়েন্ট পক্ষ কোনও ব্রাউজার ইত্যাদি ব্যবহার করতে পারে না
কে.স্টেফ

@ কেস্টেফ এটি যোগ করতে আমার প্রশ্ন সম্পাদনা করতে আপনাকে স্বাগত জানাই।
মাদারা উচিহা

2
ওয়েবটি যখন তরুণ ছিল তখন আপনার বেশিরভাগ লজিক ভারী উত্তোলনটি সার্ভারের দিকে (জাভা / সি ++) রাখা এবং ব্রাউজারের যুক্তিগুলি ইচ্ছাকৃতভাবে পাতলা রাখা ভাল ছিল - বিশেষত যেহেতু ব্রাউজারগুলি তখন প্রথম সময়ের জন্য প্রস্তুত ছিল না। এখন এই জোর এমন বিপরীত হয়েছে যে ব্রাউজার ভিত্তিক সরঞ্জামগুলি (Angular.js) যেখানে ওয়েব অ্যাপ্লিকেশন ভারী উত্তোলন যুক্তির বেশিরভাগ অংশ এখন থাকে (ক্রমবর্ধমান উত্সাহিত সার্ভার সাইড লজিক থেকে দূরে)। আধুনিক শিল্প শক্তি ব্রাউজারগুলি অত্যন্ত দ্রুত জাভাস্ক্রিপ্ট ইঞ্জিনগুলি চালিত করে (দেশীয় কোডের আকারের ক্রমের মধ্যে) এটি সহজতর করেছে।
স্কট স্টেনসল্যান্ড 16

উত্তর:


123

পটভূমি

ওয়েব ডেভলপমেন্ট সবই যোগাযোগ সম্পর্কিত। এই ক্ষেত্রে, HTTP প্রোটোকলের মাধ্যমে দুটি (2) পক্ষের মধ্যে যোগাযোগ:

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

প্রতিটি পক্ষের প্রোগ্রামিং, কোডটিকে বোঝায় যা নির্দিষ্ট মেশিনে সার্ভার বা ক্লায়েন্টের চলমান।

বেসিক উদাহরণ

  1. ব্যবহারকারী তার ওয়েব ব্রাউজার (প্রর্দশিত ক্লায়েন্ট )।
  2. ব্যবহারকারী যাও ব্রাউজ http://google.com
  3. ক্লায়েন্ট (পক্ষে ব্যবহারকারী ), একটি অনুরোধ পাঠায় http://google.com ( সার্ভার তাদের হোম পৃষ্ঠা জন্য)।
  4. সার্ভার তারপর অনুরোধ স্বীকার, এবং কিছু মেটা-ডেটা (নামক সঙ্গে ক্লায়েন্ট উত্তর হেডার ), পৃষ্ঠা এর উৎস অনুসরণ।
  5. ক্লায়েন্ট তারপর পৃষ্ঠার উৎস পাচ্ছে, আর উপস্থাপনা একটি মানবিক দর্শনীয় ওয়েবসাইট সেটিকে।
  6. ব্যবহারকারী ধরনের Stack Overflowঅনুসন্ধান দণ্ডে এবং ছাপাখানাEnter
  7. ক্লায়েন্ট যে তথ্য জমা সার্ভার
  8. সার্ভার ডেটা প্রক্রিয়া, এবং অনুসন্ধান ফলাফল মিলে একটি পৃষ্ঠার সাথে জবাব।
  9. ক্লায়েন্ট , আবার, যে পৃষ্ঠা উপস্থাপনা ব্যবহারকারী দেখার জন্য।

প্রোগ্রামিং

সার্ভার-সাইড প্রোগ্রামিং

সার্ভার-সাইড প্রোগ্রামিং, প্রোগ্রামের ধরণের যার উপর চালানো হয় সাধারণ নাম সার্ভার

ব্যবহারসমূহ

  • প্রক্রিয়া ব্যবহারকারী ইনপুট।
  • সংকলন পৃষ্ঠা।
  • স্ট্রাকচার ওয়েব অ্যাপ্লিকেশন।
  • স্থায়ী স্টোরেজ (এসকিউএল, ফাইল) সাথে ইন্টারঅ্যাক্ট করুন।

ভাষা উদাহরণ

  • পিএইচপি
  • পাইথন
  • সি #, সি ++, বা ভিজ্যুয়াল বেসিক এএসপি.নেট।
  • প্রায় কোনও ভাষা (সি ++, সি #, জাভা)। এগুলি বিশেষভাবে কাজের জন্য ডিজাইন করা হয়নি, তবে এখন প্রায়শই অ্যাপ্লিকেশন-স্তরের ওয়েব পরিষেবায় ব্যবহৃত হয়।

ক্লায়েন্ট সাইড প্রোগ্রামিং

সার্ভার সাইড মত অনেক, ক্লায়েন্ট-সাইড প্রোগ্রামিং প্রোগ্রাম যার উপর চালানো হয় সকলের জন্য নাম ক্লায়েন্ট

ব্যবহারসমূহ

  • ইন্টারেক্টিভ ওয়েবপৃষ্ঠা করুন Make
  • ওয়েব পৃষ্ঠায় জিনিসগুলিকে গতিশীলভাবে ঘটায়।
  • অস্থায়ী স্টোরেজ এবং স্থানীয় স্টোরেজ (কুকিজ, লোকালস্টোরেজ) এর সাথে ইন্টারঅ্যাক্ট করুন।
  • সার্ভারে অনুরোধগুলি প্রেরণ করুন এবং এটি থেকে ডেটা পুনরুদ্ধার করুন।
  • ক্লায়েন্ট-সাইড অ্যাপ্লিকেশনগুলির জন্য একটি দূরবর্তী পরিষেবা সরবরাহ করুন, যেমন সফ্টওয়্যার নিবন্ধকরণ, সামগ্রী বিতরণ, বা দূরবর্তী মাল্টি-প্লেয়ার গেমিং।

উদাহরণস্বরূপ ভাষা

  • জাভাস্ক্রিপ্ট (প্রাথমিকভাবে)
  • এইচটিএমএল *
  • সিএসএস *
  • কোনও ক্লায়েন্ট ডিভাইসে চলমান যে কোনও ভাষা যা দূরবর্তী পরিষেবাদির সাথে ইন্টারেক্ট করে তা ক্লায়েন্টের পাশের ভাষা।

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


8
ব্যবহারের উদাহরণ সহ একটি ভাল উত্তরের জন্য +1 ! কেবল নিটপিক করতে: এইচটিএমএল এবং সিএসএস আসলে প্রোগ্রামিং ভাষা নয়, তাই তাদের সম্ভবত "পিএইচপি, এএসপি এবং প্রায় কোনও ভাষার (সি ++, সি #, জাভা)" তুলনা করা উচিত নয়। অ্যাকশনস্ক্রিপ্ট কোনও ক্লায়েন্ট-পাশের ভাষার আরও ভাল উদাহরণ হতে পারে।
হতাশিত

5
আপনি কেন সার্ভারটি একটি সার্ভার এবং ক্লায়েন্ট ক্লায়েন্ট তা সনাক্ত করতে ব্যর্থ হন । সার্ভারটি ক্লায়েন্ট দ্বারা পরিচিত, তবে অন্যভাবে নয়। সার্ভারটি সর্বদা কার্যকর করা হবে বলে আশা করা হচ্ছে, কোনও ক্লায়েন্টের প্রত্যাশা নেই।
ক্রিস ম্যাককাল 15

3
আমি এই সত্যটি যুক্ত করব যে একটি সার্ভার পরিবেশ বেশি নিয়ন্ত্রিত। ক্লায়েন্ট কী তা আপনার কোনও ধারণা নেই। জিনিসগুলি ক্লায়েন্টের পক্ষে করার সময় সুরক্ষা সংক্রান্ত উদ্বেগ (উভয় পক্ষের জন্য) রয়েছে are
পাথর মেটাল

1
সুতরাং এটি যোগ করুন, নিখরচায়।
মাদারা উচিহ

1
আমি @ ক্রিসম্যাকাল কল এর সংজ্ঞা সাথে একমত। এই নিয়মের ব্যতিক্রম হতে পারে, যেমন কোনও সার্ভার কোনও কাজ শেষ করার জন্য সার্ভারের জন্য ডেটা প্রসেস করার জন্য বা সার্ভারকে কোনও পরিষেবা সরবরাহ করতে কোনও ক্লায়েন্টের উপর নির্ভর করতে পারে। ক্লায়েন্টরাও এসপিএ-তে যেমন স্কেলাবিলিটি এবং পারফরম্যান্সের জন্য লোডের বর্ধমান পরিমাণ ভাগ করে নিচ্ছে। এই প্রযুক্তিগুলি সেই সংজ্ঞাটিকে অস্পষ্ট করে। আরও ভাল সংজ্ঞাটি হতে পারে যে শেষ ব্যবহারকারী এবং ক্লায়েন্ট সমার্থক। এটি প্রত্যাশিত যে শেষ ব্যবহারকারীটি ক্লায়েন্ট ডিভাইসে উপস্থিত রয়েছে, অন্য সমস্ত নোডকে সার্ভার-সাইড হিসাবে বিবেচনা করা হবে।
RyanJMcGowan

27

সাধারণ মানুষের কথায়:

এখানে আমি কেবল ওয়েব প্রোগ্রামিং সম্পর্কে কথা বলব।

ক্লায়েন্ট সাইড প্রোগ্রামিংয়ের বেশিরভাগ ব্যবহার ইউজার ইন্টারফেসের সাথে করা হয়, যার সাহায্যে ব্যবহারকারী ইন্টারঅ্যাক্ট করে। ওয়েব বিকাশে এটি ব্রাউজার, ব্যবহারকারীর মেশিনে কোড চালায় এবং এটি মূলত জাভাস্ক্রিপ্ট, ফ্ল্যাশ ইত্যাদিতে সম্পন্ন হয় এই কোডটি অবশ্যই বিভিন্ন ব্রাউজারে চালিত হয়।

এর প্রধান কাজগুলি হ'ল:

  • বৈধকরণ ইনপুট (সার্ভারে বৈধতা অবশ্যই করাতে হবে speed গতি খুব গুরুত্বপূর্ণ হলে সার্ভার কলগুলি এড়াতে ক্লায়েন্টের মধ্যে অপ্রয়োজনীয় বৈধতা ব্যবহার করা যেতে পারে))
  • অ্যানিমেশন
  • ইউআই উপাদানগুলি চালিত করে
  • শৈলী প্রয়োগ
  • আপনি যখন পৃষ্ঠাটি এত ঘন ঘন রিফ্রেশ করতে চান না তখন কয়েকটি গণনা করা হয়

দায়িত্বপ্রাপ্ত ব্যক্তি সামনে শেষ প্রোগ্রামিং জানতে হবে :

  • জাভাস্ক্রিপ্ট
  • CSS
  • এইচটিএমএল
  • বেসিক গ্রাফিক ডিজাইন
  • আয়াক্স
  • সম্ভবত ফ্ল্যাশ
  • কিছু তৃতীয় পক্ষের জাভাস্ক্রিপ্ট লাইব্রেরি যেমন জিকুয়েরি
  • ইউআই ডিজাইন
  • তথ্য নকশা, ইত্যাদি

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

এই প্রোগ্রামিংটি অনেকগুলি ভাষায় করা যেতে পারে:

  • পিএইচপি
  • জাভা এবং জেএসপি
  • কস্পমান
  • পার্ল
  • পাইথন
  • রুবেল অন রেলস, ইত্যাদি

এই কোডটি এর সাথে করতে হবে:

  • ডাটাবেস অনুসন্ধান করা হচ্ছে
  • এইচটিএমএলে ডেটা এনকোড করুন
  • ডাটাবেসে তথ্য সন্নিবেশ করান এবং আপডেট করুন
  • ব্যবসায়ের নিয়ম এবং গণনা

সার্ভার সাইড প্রোগ্রামিংয়ের দায়িত্বে থাকা ব্যক্তিকে অবশ্যই জানতে হবে:

  • উপরে বর্ণিত কয়েকটি ভাষা
  • এইচটিএমএল
  • এসকিউএল,
  • লিনাক্স / ইউনিক্স শেল স্ক্রিপ্টিং
  • গলি
  • ব্যবসায়ের বিধি ইত্যাদি

"ফ্রন্ট এন্ড প্রোগ্রামিংয়ের দায়িত্বে থাকা ব্যক্তিকে অবশ্যই জানতে হবে" অবশ্যই? আমি বলব যে আপনি কেবলমাত্র এইচটিএমএল, সিএসএস, জাভাস্ক্রিপ্ট এবং অ্যাজাক্স দিয়ে পুরোপুরি বেঁচে থাকতে পারবেন। এই বলে যে সার্ভার-সাইড প্রোগ্রামিংয়ের সাথে ডায়নামিক সামগ্রী তৈরি করা এবং ক্লায়েন্ট পক্ষের পক্ষে একই না বলা সম্ভবত ভুল অনুভূতি দেবে ...
nbro

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

আবার সাধারণভাবে আমি বলব "... একজন ব্যক্তির জানা উচিত ..." এবং "আবশ্যক" নয় ...
nbro

@nbro আপনি কেবল নিজের উত্তরটি লিখছেন না কেন?

@ কোলট্রাম্বো আমার মন্তব্য এবং আপনার মধ্যে সংযোগ কী? লোকেরা কি অন্যের উত্তরগুলির উন্নতি করার জন্য সমালোচনা করতে পারে?
nbro

14

অন্যান্য উত্তর উপর মনোনিবেশ করেছে কি ক্লায়েন্ট-সাইড এবং সার্ভার সাইড প্রোগ্রামিং হল: কি ভাষায় বেশিরভাগই ব্যবহার করা হয়, কি কর্ম সম্পন্ন করা থাকতে হবে, ইত্যাদি

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

সুরক্ষা এবং অনুমতি

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

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

স্থাপনা এবং প্ল্যাটফর্ম

সার্ভার-সাইড প্রোগ্রামিংয়ে, কোনও ধরণের সরঞ্জাম (এমনকি এটি make installবা ক git clone) ব্যবহার করে, আপনার কোডের বাইরে থেকে মোতায়েনের ঘটনা ঘটতে হবে , এবং এই স্থাপনাটি সাধারণত ম্যানুয়াল হয় - বা কমপক্ষে, এটি একটি অর্ধ-তত্ত্বাবধানে হবে বলে আশা করা হচ্ছে উপায়। আপনি যে সিস্টেমটি প্রয়োগ করেন (ওএস অর্থ এটি) বেশ কয়েকটি মেশিনের মধ্যে সাধারণত অভিন্ন, তবে এটি আপনার প্রয়োজনের সাথে ভারীভাবে কাস্টমাইজ করা যায়।

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

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

রাজ্য এবং গৌণ প্রভাব

(অস্বীকৃতি: এটি এখন পর্যন্ত সকলের পক্ষে বিষয়গত বিষয়। সম্ভবত আমার যুক্তি সম্পর্কিত অনেকগুলি ভুল দিক রয়েছে my এটি আমার মতে একটি আকর্ষণীয় অনুমান মাত্র))

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

ক্লায়েন্ট-সাইড প্রোগ্রামিংয়ে, ব্যবহারকারীর কাছে ফলাফল উপস্থাপন করা অনেক বড় উদ্বেগ এবং এটি গৌণ প্রভাবগুলি বোঝায় (বেশিরভাগ স্ক্রিনে মুদ্রণ করে)। এটি বলার অপেক্ষা রাখে না যে কোনও রাষ্ট্র জড়িত নেই (যেমন কুকিজ), কেবলমাত্র কোডটির মূল লক্ষ্যটি ব্যবহারকারীর সাথে আসলে ইন্টারফেস করা এবং এটি গৌণ প্রভাব ছাড়াই ঘটতে পারে না।

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


3

এটি কোনওভাবেই কোনও গ্রহণযোগ্য উত্তর হওয়ার উদ্দেশ্যে নয়; বরং আমি এটিকে পরিপূরক পয়েন্ট ( when do you use each of themপ্রশ্নের জবাবে ) হিসাবে প্রস্তাব করি যা এখনও পর্যন্ত অন্যান্য উত্তরে উল্লেখ করা যায় না, যথা:

বৌদ্ধিক সম্পত্তি সংরক্ষণ

উত্স কোড যা ক্লায়েন্ট-সাইডে বসে (যেমন জাভাস্ক্রিপ্টে) সহজেই পঠনযোগ্য এবং / অথবা যদি এটি বিস্মৃত হয় তবে বিপরীত ইঞ্জিনিয়ারিংয়ে সক্ষম।

উত্স কোড যা সার্ভারের পাশে বসে তবে নিরাপদে মালিকানাধীন অ্যালগরিদমগুলি সুরক্ষিত করতে পারে এবং কেবল ফলাফলটি ফিরিয়ে দিতে পারে; প্রকারের একটি কালো বাক্স।


হ্যাঁ, তবে এটি সত্যিই সবচেয়ে গুরুত্বপূর্ণ পয়েন্ট নয়, সার্ভারটিতে সার্ভার রয়েছে এবং ক্লায়েন্টটি সেখানে পাবেন। কিছু যুক্তি ক্লায়েন্টের উপর সর্বোত্তমভাবে করা হয় (শপিং কার্টের মতো, আপনি সুপারমার্কেটকে আপনার শপিং কার্টকে সর্বদা ট্র্যাক রাখতে দেবেন না, তাই না?) এবং কিছুটি সার্ভারে সেরা করা হয় (ডাটাবেস থেকে তথ্য পাওয়া)
মাদারা উচিহা

@ মাডারাউছিহা, অতএব প্রস্তাব: "এটি কোনওভাবেই কোনও গ্রহণযোগ্য উত্তর হওয়ার উদ্দেশ্য নয়; বরং আমি এটিকে পরিপূরক হিসাবে উপস্থাপন করছি"
কোস্টা কনটস

এটি কি অন্য পোস্টের অংশ হওয়া উচিত নয়? আমি এখানে নতুন, তবে ছড়িয়ে ছিটিয়ে থাকাগুলির চেয়ে একটি সম্পূর্ণ উত্তর দেওয়া কি ভাল?
জুলিক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.