কীভাবে আপনার তৃতীয় পক্ষের লাইব্রেরি আপ টু ডেট রাখবেন?


28

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

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

তুমি কীভাবে এটা পরিচালনা করো? কিছু সম্ভাব্য পন্থা:

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

1
+1: আমি ভাবছি "বাগ হান্টস" এর মতো আপনার যদি কোনও প্রকল্পে "আপডেট স্প্রিন্ট" এর পুনরাবৃত্তি হতে পারে। উত্তর সম্পর্কে কৌতূহল :)
ম্যাথিউ

উত্তর:


25

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

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

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

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

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

বলার অপেক্ষা রাখে না, যদি আপনি রিলিজের আগে স্থিতিশীল শাখাগুলি করেন তবে আপনি এই নীতিটি তাদের প্রয়োগ করবেন না। সেখানে, আপনি কেবল সমালোচনামূলক সমাধানগুলি পেতে লাইব্রেরি আপডেট করবেন।


3
+1 টি। আমি এমন একটি প্রকল্পে কাজ করেছি যেখানে ডেভগুলি "যদি এটি না ভাঙা হয় তবে এটি ঠিক না করে" নীতি প্রয়োগ করে। তারপরে আমরা একটি তৃতীয় পক্ষের গ্রন্থাগার (অপেক্ষাকৃত ছোটখাটো তবে এটি একটি নতুন বৈশিষ্ট্যের জন্য প্রয়োজনীয় ছিল) নিয়ে একটি সমস্যা পেয়েছি, যা কেবলমাত্র পরবর্তী সংস্করণে স্থির করা হয়েছিল, যা পরবর্তীতে অনেক পরে jvm এর উপর নির্ভর করে। পরবর্তী jvm সহ আমরা অন্যান্য 3 য় পক্ষের গ্রন্থাগারগুলির সাথে সমস্যাগুলি পেয়েছি, যা এখন পরিবর্তে আপগ্রেড করতে হয়েছিল had আমাদের হার্ডওয়্যারও আপগ্রেড করতে হয়েছিল, যেহেতু সোলারিসের জন্য আরাকলের কাছে 32-বিট জেভিএম নেই। এটি একটি জগাখিচুড়ি ছিল এবং কেবল সহজেই বর্তমানের বর্তমান রেখে আটকাতে পারত।
ফার্টিড্যাঙ্ক 18'16

"স্বল্প মেয়াদে এটি সহজ হলেও, এটি দীর্ঘকালীন জাহান্নামের মতো জ্বলতে থাকে" এর জন্য +1। আমি উভয় পদ্ধতির অভিজ্ঞতা পেয়েছি এবং অনেকগুলি ছোট আপডেটগুলি উপদ্রব হিসাবে মনে হতে পারে, আপগ্রেড করছে না এবং তারপরে 2 বছরের পুরানো সংস্করণগুলি থেকে 10 টি গ্রন্থাগার আপগ্রেড করা প্রায়শই কোনও যুক্তিসঙ্গত পরিমাণে সম্ভব হয় না। আপনি এমন একটি সিস্টেমের সমাপ্তি করুন যা পুরানো এবং অবিশ্বাস্য লাইব্রেরির উপর নির্ভর করে, আপনি অন্য কিছু লাইব্রেরি ব্যবহার করতে পারবেন না যেহেতু তাদের যে লাইব্রেরির একটি নতুন সংস্করণ প্রয়োজন যা আপনি আপগ্রেড করতে পারবেন না এবং কিছু সময়ে আপনি কিছু সমস্যা সমাধানের ক্ষমতা হারাবেন সব।
মিশা কোসমুলস্কি

@ ফার্টিড্যাঙ্ক আমি কৌতূহল করছি যে আপনি এই বাস্তবতার পরে সমাধান করার জন্য কী করেছেন, আপনি কি কোনও নতুন নীতি প্রয়োগ করেছেন? সংস্থার কার্যকরী পরিবর্তন কী ছিল?
বুদ্দিপ 450

10

আমি মূল্যায়ন।

  • প্রথমত আমি সেই লাইব্রেরির তুলনায় যে বাগগুলি উত্থাপিত করেছি তা সন্ধান করি এবং সেগুলি ঠিক করা হয়েছে কিনা তা দেখুন।
  • দ্বিতীয়ত আমি যে সমস্ত লাইব থেকে উপকৃত হতে পারি সেগুলির মধ্যে অন্য কোনও বাগ সংশোধন করতে চাই (সম্ভবত এমন কিছু যা সম্ভাব্য কোণার ক্ষেত্রে) is
  • তৃতীয়ত আমি lib / API এর উন্নতির সন্ধান করি এবং তারপরে এবং কোডটি ট্রেড অফ ব্যবহার করতে আমাদের কোড পরিবর্তন করার প্রভাব তদন্ত করি। আমি সবসময় অতীতে আপগ্রেড libs আসলে তাদের নতুন বৈশিষ্ট্যগুলি ব্যবহার না করেই সত্যিই নির্বোধ!

আমি তখন বিদ্যমান লিবের সাথে থাকার বিপরীতে সমস্ত কিছু ওজন করি।

সর্বদা পরীক্ষা - আশা করি আপনার ইউনিট / ইন্টিগ্রেশন পরীক্ষাগুলি নিশ্চিত করবে যে কোনও বড় সংঘটন না ঘটে।


7

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

এটি সাধারণত একটি নতুন সংস্করণ প্রকাশের সময় করা হয়।

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


3

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


2
দয়া করে কেবল লিঙ্কগুলি ফেলে দেবেন না। লিঙ্কগুলি নিখোঁজ হয়। দয়া করে কমপক্ষে আপনি কী লিঙ্ক করছেন তা সংক্ষেপে বিবেচনা করুন। যদি সেই লিঙ্কটি ভেঙে যায় তবে এটি কতটা কার্যকর হবে .. সম্ভবত এখন থেকে কয়েক বছর আগে?
টিম পোস্ট

এবং আপ-ভোটাড :)
টিম পোস্ট

2

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

আমি এমনকি কোনও দেব শাখায় যে কোনও ধরণের অটো আপডেটিং বৈশিষ্ট্যের বিরুদ্ধে যাব। আমার মাঝে যদি প্রকল্পটি ভেঙে গিয়ে কাজ করে তবে হতাশার কারণ হ'ল একটি গ্রন্থাগার অটো নিজেই আপডেট হয়ে গেছে বা আমি হঠাৎ করেই অন্য কোনও কিছুকে ছাড়িয়ে যাওয়া এমন একটি এপিআই ব্যবহার করার জন্য হতাশার হুঁশিয়ারি পেয়েছি।


2

আপনাকে জিজ্ঞাসা করতে হবে, আপনি আপডেটটি আসলে কী চান? বেশিরভাগ সুরক্ষা ফিক্সগুলি আসলে ফিক্সিংয়ের আকারে তুচ্ছ প্যাচগুলি:

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

আপনি যদি গত পাঁচ বছরে বেশিরভাগ সিভিই'র সন্ধান করেন, আপনি যদি খোলা লাইব্রেরি ব্যবহার করেন, তবে আমি আশা করি আপনি যে প্যাচগুলি স্থির করে তা সাধারণত বেশ তুচ্ছ।

তারপরে আপনার কাছে আসল বাগ ফিক্স রয়েছে, যা আপনি সম্ভবত চান তবে সম্ভবত আপনি এটি ইতিমধ্যে স্থির করেছেন। যদি এটি ভাঙা না থাকে তবে এটি ঠিক করবেন না।

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

কিছু আমার সাথে একমত হতে পারে, তবে আমি উত্স কোড ছাড়াই একটি লাইব্রেরি ব্যবহার করতে অস্বীকার করি।


নিশ্চয় আমি ওপেন সোর্স লাইব্রেরি পছন্দ, কিন্তু আমি কিছু বাণিজ্যিক লাইব্রেরি ব্যবহার যে খরচ $ 100 উৎস ছাড়া বা উৎস $ 10k, তাই ... মত
Joonas Pulakka

2

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

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

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

সংক্ষিপ্ত সংস্করণ: কেস-কেস-কেস ভিত্তিতে এটি নিন।


1

এটি আপনার রিলিজের শ্যাডুলের উপর নির্ভর করবে।

তবে আমার পরামর্শটি হ'ল সমস্ত বিকাশকারী মেশিনে লাইব্রেরির একটি সেট ইনস্টল করা। এটিকে স্বর্ণের মান হিসাবে বিবেচনা করুন যদি আপনি এটিকে কিছু কল করতে চান, তবে সেই মুক্তির জন্য আপনার বিকাশ শুরু করুন।

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

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

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


1

সাবভার্সন এক্সটার্নালস

এই বৈশিষ্ট্যে যা দুর্দান্ত তা হ'ল আপনি যা চান তা সংশোধন করতে পারবেন।

দয়া করে মনে রাখবেন যে আপনার কাছে বহিরাগত অনেকগুলি থাকলে আপডেটগুলি ধীর হবে।


আসলে আমি এগুলি ব্যবহার করছি, এবং এগুলি খুব দরকারী এবং খুব ধীর X-) তবে কখন নতুন সংস্করণে আপডেট করা উচিত তা তারা সমস্যার সমাধান করে না ।
জুনাস পুলাক্কা

তারা খুব ধীর হতে পারে হ্যাঁ। আমি সাধারণত বাহ্যিক গ্রন্থাগারগুলি আপডেট করি যখন: (আমাকে প্রভাবিত করে এমন একটি প্রধান প্রকাশ বা একটি বাগ ফিক্স পাওয়া যায়) এবং আমি পুনরাবৃত্তির প্রথমার্ধে আছি।

1

আমি বর্তমানে এরকম কিছু স্থাপন করছি:

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

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

এইভাবে, আমি করতে পারি:

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

এখনও এই সংস্থার সাথে প্রচুর অভিজ্ঞতা নেই, তবে আমি মনে করি এটি বেশ কার্যকর।


1

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

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


1

আমি আমার তৃতীয় পক্ষের লাইব্রেরিগুলি আপডেট রাখার জন্য নিউগেট ব্যবহার করি et

যখন কোনও বন্ধু, সহকর্মী বা ব্লগ আমাকে জানায় যে আমার তৃতীয় পক্ষের একটি ডিএলএল পুরানো হয়ে গেছে তখন নিউগেট এটিকে আপডেট করা খুব সহজ করে তোলে।

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