অধ্যায় 1: লাইভ রিলোডিং এর পরিচিতি

লাইভ রিলোডিং কি?

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

গো ডেভেলপমেন্টের জন্য লাইভ রিলোডিং এর সুবিধা

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

  1. প্রদর্শকতা বা উন্নতি: ডেভেলপাররা হাঁটে চলা ব্যর্থ না করে তাদের প্রাচীরে থাকতে পারে, কারণ তারা নিজেদের জন্য ম্যানুয়াল পুনর্নির্মাণ করতে দায়িত্ব নেয়।
  2. সময় সঞ্চয়: লাইভ রিলোডিং কোডের পরিবর্তনগুলি চালানোর প্রতিক্রিয়া দেখার মান কমানোর পরিবর্তে।
  3. ত্রুটি সনাক্ত করা: তা বিচ্যুতি প্রদর্শন করার জন্য তা তৎকালীন রূপান্তর এবং পুনর্নির্মাণ ডেভেলপারদের অনুমানে করার অনুমতি দেয়।
  4. সরলীকৃত কর্মপ্রণালী: ডেভেলপমেন্ট প্রক্রিয়ায় অনন্যভাবে রূপান্তরিত হয়, এটি তা গ্লিডিংয়ের মতো এবং আরও দক্ষতাপূর্ণ করে।

অধ্যায় 2: কি হল এয়ার?

এয়ার হলো একটি কমান্ড-লাইন ইউটিলিটি যা গো অ্যাপ্ল

4.2 কনফিগারেশন ফাইল জেনারেট এবং সম্পাদনা

.air.toml কনফিগারেশন ফাইলটি ডিফল্টভাবে উত্পন্ন করতে, নিম্নলিখিত কমান্ডটি চালান:

air init

এটি আপনার বর্তমান ডিরেক্টরিতে ডিফল্ট সেটিংস সহ একটি .air.toml তৈরি করবে। এরপর আপনি এটি আপনার প্রকল্পের প্রয়োজনীয়তা অনুযায়ী সংশোধন করতে পারেন। সন্দার্ভের জন্য, আপনি উপস্থাপনা করা air_example.toml ফাইলটি দেখতে পারেন।

4.3 CLI আর্গুমেন্ট দ্বারা কনফিগারেশন ওভাররাইট করা

দ্রুত পরীক্ষা বা অল্প পরিবর্তনের জন্য, আপনি CLI আর্গুমেন্ট পাস করে .air.toml ফাইলে কনফিগারেশন ওভাররাইড করতে পারেন। উদাহরণস্বরূপ:

air --build.cmd "go build -o myapp" --build.bin "./myapp"

এই বদলোবলি আপনাকে কনফিগারেশন ফাইল পরিবর্তন না করে Air's আচরণ সহজেই কাস্টমাইজ করার সুযোগ দেয়।

5 অনুচ্ছেদ: air আপনার উন্নয়ন পরিবেশে চালান

6.1 আপনার প্রকল্পে air চালু করা

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

cd /path/to/your_project
air

টিপ: যদি আপনি air ব্যাবহারে অনুনীতভাবে অনুমতি সম্পর্কে সমস্যা সম্মুখীন হন, তবে নিশ্চিত করুন যে এটির প্রয়োজনীয় ক্রিয়া অনুমতি আছে (chmod +x $(go env GOPATH)/bin/air).

6.2 air দ্বারা নির্দিষ্ট নির্মাণ ও চালান কমান্ড কাস্টমাইজ করা

আপনি .air.toml কনফিগারেশন ফাইলটির [build] বিভাগের মধ্যে ব্যবহৃত নির্দিষ্ট স্ন এবং পরিবর্তন করে air দ্বারা ব্যবহৃত নির্মাণ এবং চালান কমান্ড কাস্টমাইজ করতে পারবেন। উদাহরণস্বরূপ, বিল্ড কমান্ড পরিবর্তন এবং একটি পূর্ব-নির্দিষ্ট বাইনারি ফাইল নির্দিষ্ট করতে:

[build]
cmd = "go build -o ./tmp/my-custom-binary ."
bin = "tmp/my-custom-binary"

বেশি জটিল নির্মাণ প্রয়োজনীয়তার জন্য, কনফিগারেশন ফাইলের pre_cmd এবং post_cmd অ্যারেগুলিতে আপনাকে নির্দিষ্ট করতে লাগতো

টিপস: air কনফিগারেশনের একটি সম্পূর্ণ উদাহরণ

6.3 ডিরেক্টরি এক্সক্লুড এবং পরিবর্তন দেখা

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

এটি কনফিগার করতে, .air.toml ফাইলের [build] ফিল্ড আপডেট করুন:

[build]
exclude_dir = ["assets", "tmp", "vendor", "node_modules"]

আপনি include_dir ব্যবহার করে অতিরিক্ত ডিরেক্টরিগুলি অনুমনীয় করতে এবং include_ext দ্বারা নির্দিষ্ট ফাইল প্রসারণ জন্য দেখা দেওয়ার জন্য air চালাতে পারেন।

6 অনুচ্ছেদ: উন্নত ব্যবহার

6.1 ডকার কন্টেইনার সহ air সেট আপ

air ব্যবহার ডকার কন্টেনার এর ভেতরে আপনার উন্নয়ন ব্যবস্থা সহজ করতে পারে, বিশেষ করে যখন দল দিয়ে কাজ করা হয়। আপনি যদি আপনার ডকার পরিবেশে air যোগ করতে চান, তবে আপনার Dockerfile আপডেট করুন ডকারে ইন্সটল air এবং আপনার .air.toml কন্টেইনারে কপি করুন:

FROM golang:1.18-alpine AS builder

RUN go install github.com/cosmtrek/air@latest

WORKDIR /app

COPY go.mod .
COPY go.sum .
RUN go mod download

COPY . .

CMD ["air", "-c", ".air.toml"]

6.3 air ব্যবহার ডকার-কম্পোজ পরিবেশে

docker-compose দ্বারা পরিচালিত একটি সেবা মঞ্চে air সমন্বয়োগ করার জন্য, আপনার docker-compose.yaml ফাইলে একটি সেবা সংজ্ঞায়িত করুন।

version: '3.8'
services:
  app:
    build: .
    ports:
      - "808:808"
    volumes:
      - .:/app
    command: ["air", "-c", ".air.toml"]

নিশ্চিত করুন যে volumes নির্দেশিকা সঠিকভাবে আপনার প্রকল্প নির্দিষ্ট করে আপনার air দ্বারা ফাইল পরিবর্তন সনাক্ত করাতে পারে।

7 অনুচ্ছেদ: সাধারণ খোজক কারণ এবং প্রশ্নগুলি

7.1 command not found: air ঠিক করা

command not found: air ত্রুটি সম্মুখীন হলে, এটা সাধারণত মানে যে air বাইনারি আপনার সিস্টেমের PATH এ নেই। এটি সমাধান করার জন্য, আপনার PATH পরিবেশের ভেরিয়েবলে গো বাইনারি পাথটি যোগ করুন:

export PATH=$PATH:$(go env GOPATH)/bin

7.2 WSL পরিবেশে সমস্যা

Windows Subsystem for Linux (WSL) পরিবেশে, নিশ্চিত হন যে আপনি আপনার .air.toml ফাইলে বিশেষ অক্ষরগুলি পালিত করছেন। উদাহরণস্বরূপ, ফাইল পাথের ব্যাকস্ল্যাশ এসকেপ করার জন্য \\ ব্যবহার করুন।

7.3 বাইনারি চালাবিনা তাপগত সংক্রিয়ণের জন্য টিপস

যদি আপনি চান যে air আপনার Go অ্যাপ্লিকেশন তৈরি করবে কিন্তু তা চালাবে না, তবে আপনার .air.toml ফাইলের [build] বিভাগে আপনার cmd কে এলাকা অপারেশন কমান্ডে (Unix-ভিত্তিক সিস্টেমে /bin/true এর মত) সেট করুন:

[build]
cmd = "/bin/true"

এর মাধ্যমে, air এখনো ফাইল পরিবর্তন সম্পর্কে পর্যবেক্ষণ করবে এবং তৈরি বাইনারি ফাইল না এক্সিকিউট করার চেষ্টা করবে।