আপনার ওয়েব অ্যাপ্লিকেশন সংস্করণ করা উচিত?


35

আমি সম্প্রতি ওয়েব অ্যাপ্লিকেশনগুলির সংস্করণ সম্পর্কে সহকর্মীর সাথে আলোচনা করেছি had

আমি মনে করি না যে এটির কোনও প্রয়োজন নেই, এবং আপনার সর্বশেষ প্রকাশটি সরাসরি হয়েছে তা নিশ্চিত করার জন্য আপনি যদি কেবল স্যানিটি চেক চান তবে আমার মনে হয় একটি তারিখ (ওয়াইওয়াইএমএমডিডি) সম্ভবত যথেষ্ট ভাল।

আমি কি বেস বন্ধ? আমি কি বিন্দু মিস করছি? আমি কি ওয়েব অ্যাপ্লিকেশন সংস্করণ নম্বর ব্যবহার করা উচিত

উত্তর:


31

আপনি যদি একাধিক গ্রাহকের কাছে একই ওয়েব অ্যাপ্লিকেশনটি পুনরায় বিক্রয় করেন তবে আপনার একেবারেই সংস্করণ করা উচিত।

যদি এটি এমন কোনও ওয়েবসাইট হয় যা কেবলমাত্র কোনও স্থানে ইনস্টল করা থাকে তবে প্রয়োজনীয়তা কম ভয়াবহ তবে এটি সম্ভবত ক্ষতি করতে পারে না। আপনি টাইমজোন সমস্যাগুলি এবং এরকম ক্ষেত্রেও কম সংবেদনশীল হবেন। ১.০.২.২৫ গ্রন্থাগারের সংস্করণে একটি সমস্যা নির্ণয় 3 নভেম্বর, 2010 11:15 পূর্বাহ্নে লাইব্রেরি বিল্ডটি শিকার করার চেয়ে অনেক সুন্দর is


2
আপনি যদি একাধিক গ্রাহকের কাছে একই ওয়েব অ্যাপ্লিকেশনটি পুনরায় বিক্রয় করেন তবে আপনার একেবারেই সংস্করণ করা উচিত। 100% সত্য!
গোপী

8
আমি রাজি নই। আপনার রিলিজের ভার্সন করা সর্বদা গুরুত্বপূর্ণ, ওয়েব অ্যাপ্লিকেশন বা না। এটি যে কোনও উন্নয়ন পদ্ধতিতে (একটি কাউবয় কোডিং বাদ নেই) একটি মৌলিক অনুশীলন।
মার্টিন উইকম্যান

2
@ শ্রী কুমার: তবুও এখানে কীওয়ার্ড হচ্ছে :)
মার্টিন উইকম্যান

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

1
@ ইন্না শিখুন - আমার কাছে ঠিক এটাই ঘটেছে যে তারিখের জিনিসটি সম্পর্কে আমি আপনাকে কখনও সাড়া দিইনি। ওয়াইওয়াইএমএমডিডি সংস্করণে, "নভেম্বর 3, 2010 11:15 সকাল" এর উদাহরণটি 101103 হিসাবে সংস্করণিত হবে So সুতরাং তারিখ অনুসারে এটি 'সংস্করণযুক্ত'।
জন ম্যাকআইন্টির

12

আপনি যদি আপনার অ্যাপ্লিকেশনটির ডিএলএলগুলিতে সংস্করণ নম্বরটি স্বয়ংক্রিয় করতে পারেন তবে এটি ক্ষতি করতে পারে না। এটি আপনাকে সংস্করণগুলির ট্র্যাক রাখতে সহায়তা করবে।

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

আমি এটি স্বয়ংক্রিয়করণের দিকে নজর রাখব - এটি এক ধরণের জিনিস যা আপনি একবার সেটআপ করতে পারেন এবং যদি আপনার প্রয়োজন হয় তবে / এটি ব্যবহার করতে পারেন।


প্রতিটি বিল্ডের জন্য একটি ভিসিএস ট্যাগ সহ স্বয়ংক্রিয়করণ। এএএএএআইডিকে সর্বাধিক বিল্ড সিস্টেমগুলি এটি করতে পারে।
জেনসজি

9

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


1
একেবারে। আপনি বন্য মধ্যে রূপান্তরিত কোড আছে বহন করতে পারবেন না। সংস্করণটি এসভিএন / এইচজি / গিট কমিট # হলেও।
পল নাথান

9

আপনার যদি কোনও ডেভ / টেস্টের দৃষ্টান্ত থাকে তবে প্রকল্প টিমের সদস্যরা কোন বিল্ড / রিভিশনটি পরীক্ষা করছেন তা দেখতে সক্ষম হওয়া বেশ গুরুত্বপূর্ণ।


4

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


4

আমি বলি যে একটি তুচ্ছ ওয়েব অ্যাপ্লিকেশন ছাড়া অন্য যে কোনও কিছুর জন্য আপনার এটির সংস্করণ করা উচিত। কর্মক্ষেত্রে এখানে দুটি, কিছুটা আলাদা, ধারণা রয়েছে:

  1. সামগ্রিকভাবে প্রয়োগ
  2. স্বতন্ত্র ফাইল

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

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


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

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


4

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

আপনি বর্তমানে উত্পাদনে উপস্থিত না থাকা কোনও পুরানো সংস্করণে রিপোর্ট করা বাগটি ঠিক করতে হলে আপনাকে সময়মতো ফিরে যেতে অনুমতি দেবে।


1

আপনার প্রশ্ন থেকে এটি পরিষ্কার যে আপনার মনে একটি সাধারণ ওয়েব অ্যাপ্লিকেশন রয়েছে

  • কেবলমাত্র একটি ওয়েব জিইউআই দ্বারা অ্যাক্সেসযোগ্য এবং কোনও ওয়েব (সার্ভিস) API দ্বারা নয় । আপনার যদি ব্যবহারকারীরা কোনও এপিআই ব্যবহার করে অ্যাপ্লিকেশন অ্যাক্সেস করে থাকে তবে আপনার এটির সংস্করণ করা দরকার । আপনি যদি API পরিবর্তন করেন তবে আপনি ক্লায়েন্টদের ভাঙেন, তাই আপনাকে একই সময়ে API এর বিভিন্ন সংস্করণ বজায় রাখা দরকার।

  • এ সময় কেবল একটি উদাহরণ চলছে । আপনার কাছে কেবল ওয়েব লোক থাকলেও, আপনার আরও ইনস্টলেশন থাকলে কোন গ্রাহক কোন সংস্করণটি চালাচ্ছেন তা আপনার জানা দরকার।

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


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

তৃতীয় পয়েন্টটিও বিবেচনা করুন, যা একক-উদাহরণ প্রয়োগের জন্য এখনও কার্যকর।
ওগ্রান্ডেডিই্নে

আমি এটি পড়েছি এবং এটি অবশ্যই গুরুত্বপূর্ণ ও কৌতুকপূর্ণ হলেও, আমি নিশ্চিত নই যে এটি কোনও সংস্করণের সমস্যা। এটি কি আরও একটি স্থাপনার সমস্যা নয়? KWIM?
জন ম্যাকআইন্টির

হ্যা এবং না. (এটি অনেক দিন আগে ছিল তবে আমার ধারণা ...) কথাটি হ'ল আপনার কোডটি যদি আপনার সংস্করণ করতে হয় তবে আপনার খুব সম্ভবত ডিবি কাঠামোর সংস্করণও করা দরকার।
ওগ্রানডিডে্নে

0
  • অভ্যন্তরীণ ব্যবহার কেবল সীমিত ইনস্টল বেস সহ?
  • বা বন্যে একাধিক সংস্করণ থাকার জন্য দায়বদ্ধ?

আমাদের কাছে কেবল প্রাক্তন রয়েছে কেবলমাত্র স্যানিটি পরীক্ষার পোস্ট রিলিজের জন্য সংস্করণ নম্বরটি ব্যবহার করুন। আমাদের একই সাথে ব্যবহারযোগ্য অনেকগুলি সংস্করণ ট্র্যাক করতে হবে না।


0

যদি আপনার ওয়েব অ্যাপ্লিকেশনটিতে ক্লায়েন্ট এবং সার্ভার উভয়ই একাধিক মডিউল থাকে তবে প্রতিটি মডিউল সংস্করণ করা উচিত। এবং ক্লায়েন্ট এবং সার্ভার উভয়ই মডিউল সংস্করণের প্রতিটি সংমিশ্রণকে একটি অনন্য আইডি দেওয়া উচিত, একটি আইডি যা সমস্ত লগিং এবং ত্রুটি বার্তায় উপস্থিত থাকতে হবে।

এই কনভেনশনটি ব্যবহার করে, ওয়েব অ্যাপটি একটি নির্দিষ্ট মুহুর্তে যে অবস্থাটি ছিল তা পুনরায় তৈরি করা সর্বদা সম্ভব হবে।

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

ওয়েব অ্যাপ্লিকেশনটিতে কেবলমাত্র আপডেট হওয়া অংশ বা মডিউলগুলি অ্যাপ্লিকেশনের সামগ্রিক অবস্থাকে প্রভাবিত না করেই পুনরায় লোড করা উচিত।

কেন আপনি জিজ্ঞাসা করতে পারেন? ওয়েল, এটি প্রয়োগ করে, ওয়েব অ্যাপ্লিকেশনটি এর নকশার সাহায্যে আরও শক্তিশালী, সঠিক এবং বজায় রাখা সহজতর হবে। যদি ওয়েব অ্যাপ্লিকেশনটির সর্বদা একযোগে সার্ভার / ক্লায়েন্ট আপডেট প্রয়োজন হয় তবে সম্ভবত এটি সঠিক উপায়ে নির্মিত হচ্ছে না।


0

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

ট্যাগ আপনাকে ফিরে যেতে এবং একটি শাখা তৈরি করতে দেয়। উদাহরণস্বরূপ: বর্তমান উত্পাদন সংস্করণে একটি বাগ রয়েছে, তবে আপনি এটি ঠিক করতে পারবেন না কারণ আপনার মেশিনের কোডটি কেবল দরজাটি ঘোরানোর জন্য প্রস্তুত নয়। আপনি যদি এটি আপনার আরসিএস-এ ট্যাগ করেছেন তবে আপনি সেই ট্যাগটিতে শাখা করতে পারেন এবং প্রযোজনায় চলমান কোডটির সঠিক সংস্করণে বাগটি ঠিক করতে পারেন।


0

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

উদাহরণস্বরূপ, ধরা যাক আপনার কাছে একটি mysite.css ফাইল রয়েছে যার ভবিষ্যতের সমাপ্তির তারিখ রয়েছে (যা আপনি সাধারণত এটি করতে চান যাতে এটি প্রতিটি পৃষ্ঠার ব্রাউজারে ক্যাশে থাকে)। যদি আপনি সেই ফাইলটিতে কোনও শৈলী পরিবর্তন করেন তবে আপনার সাইটে আগে যে কেউ নেই তারা যদি সেটিকে তাদের ক্যাশে থেকে ফাইলটি সাফ করার জন্য কিছু না করে তবে এটি দেখতে যাচ্ছেন।

আপনি যদি আপনার সাইটের সংস্করণ দিচ্ছেন তবে আপনি নিজের বিল্ডের সমস্ত CSS রেফারেন্সগুলিকে mysite.css এর মতো কিছুতে পরিবর্তন করতে পারলেন? V = 1234 যা আপনাকে ভবিষ্যতের মেয়াদোত্তীর্ণের তারিখটি রাখতে দেয় এবং পরবর্তী বিল্ডে যেমন ভবিষ্যতের পরিবর্তনগুলি নিয়ে চিন্তা না করে 'mysite.css হব? v = 1235।


0

হ্যাঁ তুমি পারবে. বিতরণ কারণে অন্যান্য উত্তর দ্বারা এখানে নির্দেশিত।

তবে আমি দেখতে পাচ্ছি, আপনি কেন প্রশ্ন করছেন? ওয়েব অ্যাপ্লিকেশন পদ্ধতির ব্যয় চালিত। এটি লিগ্যাসি সঙ্কুচিত পদ্ধতির বিপরীতে, যেখানে ব্যয়গুলির মধ্যে রয়েছে শারীরিক মিডিয়া, বিতরণ, ইনস্টলেশন, ডকুমেন্টেশনগুলির হার্ডকপি, প্রশিক্ষণ এবং প্রযুক্তিগত সহায়তা। যে কোনও কিছু বাদ দেওয়া যায়, তা বাদ দেওয়া উচিত।


0

কেবল পরিষ্কার করেই বলছি, আমি ধরে নিচ্ছি যে আপনি কোনও ব্যবহারকারীর দ্বারা দৃশ্যমান সংস্করণ সংখ্যার কথা বলছেন এবং বিকাশে সংস্করণ নিয়ন্ত্রণ ছাড়ছেন না। (যদি আপনি ভাবেন যে আপনার বিকাশে সংস্করণ নিয়ন্ত্রণের দরকার নেই, তবে আপনি ভুল, আপনার সংস্করণ নিয়ন্ত্রণের দরকার নেই)।

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

বহু-হোস্টেড প্রকল্পের জন্য, এটি আসলে optionচ্ছিক নয়। বিভিন্ন হোস্টগুলি শেষ পর্যন্ত বিভিন্ন সংস্করণে সমাপ্ত হবে এবং ব্যবহারকারীর শেষে আপনাকে এগুলি বলতে সক্ষম হবে be

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.