ওয়েব অ্যাপস ডিজাইনের জন্য একটি অনুরোধযোগ্য ওয়ার্কফ্লো কী?


9

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

আমি যা ব্যবহার করতে চাই তা এখানে:

  • কেকপিএইচপি ফ্রেমওয়ার্ক
  • জেসমিন (জাভাস্ক্রিপ্ট মিনিফাইফ)
  • SASS (সিনট্যাকটিক্যালি অসাধারণ স্টাইলশিট)
  • git

CakePHP:

অত্যন্ত স্ব-বর্ণনামূলক, পরিবর্তন করুন এবং উত্সটি আপডেট করুন।

jsmin:

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

Sass:

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

git

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

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

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

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

অতিরিক্ত:

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

এরকম কিছু ইতিমধ্যে বিদ্যমান? বন্যের মধ্যে ইতিমধ্যে এমন কোনও ওপেন সোর্স প্রকল্প রয়েছে যা আমি ব্যবহার করতে এবং অবদান রাখতে পারে এমনই কিছু কার্যকর করে?

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

উত্তর:


2

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


1
দুর্দান্ত, আমি বুঝতে পারি নি যে এই সমস্ত কিছু একটি অ্যাপাচি মডিউল দিয়ে করা যেতে পারে। জাভাস্ক্রিপ্ট / সিএসএস মিনিফিকেশন, জাভাস্ক্রিপ্ট / সিএসএস কনটেনটেশন, পাশাপাশি অন্যান্য alচ্ছিক পারফরম্যান্স উন্নতিগুলির গুচ্ছ। কিছু গুগল করার পরেও আমি জানতে পেরেছিলাম যে ড্রিমহোস্ট তাদের ভাগ করা / ভিপিএন হোস্টিং সরবরাহ করে। আমি অবাক হয়েছি ওয়েবমাস্টার্স.স্ট্যাকেক্সচেঞ্জ.কম বা স্ট্যাকওভারফ্লো ডটকম এ সম্পর্কে আরও কোনও তথ্য নেই।
ইভান প্লেস

5

jsmin

আপনার কাছে যদি এক টন জেএস না থাকে, আপনি প্রতিবার সেভ করার সময় মিনিমাইজ করার জন্য কিছু স্থাপন করতে পারেন। আপনার যদি প্রচুর জেএস থাকে তবে এটিকে আপনার স্থাপনার প্রক্রিয়ার অংশ করুন (নীচে গিট দেখুন)।

Sass

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

git

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

অতিরিক্ত

হ্যাঁ, একটি গুচ্ছ আছে। "সিএসএস / জেএস কনক্যাট" এর মতো কোনও কিছুর জন্য গুগল। কেকপিএইচপি: সম্পদ প্যাকারটির জন্য আমি এখানে একটি দ্রুত পেয়েছি ।


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

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

আপনি পিএইচপি দিয়ে কম্পাস কাঠামো "স্থাপন" করবেন না। আপনি কোড করার সময় আপনি এটি চালান, এটি প্রতিবার আপনি সংরক্ষণ করার সময় আপনার সিএসএস ফাইলগুলি সংকলন করে এবং সিএসএস ফাইলগুলি হ'ল প্রকৃতপক্ষে স্থাপন করা হয়। কম্পাসটি "চালানোর" জন্য আপনাকে প্রথমে আপনার কনফিগারেশন ফাইলটি তৈরি করতে হবে (কম্পাস.আরবি) - কমান্ড লাইন বিকল্পগুলি তৈরি করতে এটি ব্যবহার করুন: jsfiddle.net/chriseppstein/PG46q/3 । আপনার সমস্ত পাথের সাথে কনফিগারেশন ফাইল সেটআপ হয়ে গেলে, কনফিগারেশনের মতো একই ফোল্ডারে কেবল "কম্পাস ওয়াচ" চালান, এবং যখনই আপনি সংরক্ষণ করুন ততবার কম্পাস আপনার এসএএসএসকে পুনরায় সংযুক্ত করা শুরু করবে। কোনও পাশের প্রকল্পে এটি ব্যবহার করে দেখুন: এটি খুব সহজ এবং দ্রুত।
ইয়েজেগেনি ব্রিকম্যান

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

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