অধ্যায় 1: লাইভ রিলোডিং এর পরিচিতি
লাইভ রিলোডিং কি?
লাইভ রিলোডিং হলো একটি বৈশিষ্ট্য যা আপনার ডেভেলপমেন্ট পরিবেশে আপনার কোডে পরিবর্তনের জন্য দেখা করতে দেয় এবং আপনার অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে পুনঃলোড করে। ফাইল সংরক্ষণ করতে যখন ডেভেলপার পরিবর্তন করে, তখন লাইভ রিলোডিং সরঞ্জাম পরিবর্তনটি সনাক্ত করে, অ্যাপ্লিকেশনটি পুনঃনির্মাণ করে এবং পুনরায় এটি চালু করে। এটি আপনাকে প্রতি পরিবর্তনের পরে সার্ভারটি বন্ধ করে, অ্যাপ্লিকেশনটি পুনর্নির্মাণ করে, এবং আবার তা চালু করার ক্ষেত্রে ম্যানুয়াল প্রক্রিয়া থেকে আপ করে।
গো ডেভেলপমেন্টের জন্য লাইভ রিলোডিং এর সুবিধা
লাইভ রিলোডিং ডেভেলপমেন্ট প্রক্রিয়াকে চর্চায়িত করতে পারে। গো ডেভেলপারদের জন্য, যারা তাদের কোড রান করার আগে তা কোড করে থাকে, তাদের জন্য লাইভ রিলোডিং এর মাধ্যমে একটি উন্নত অপারেশনাল প্রক্রিয়া চিরসম্মান ফলাফল দেয়। উপকারগুলি হল:
- প্রদর্শকতা বা উন্নতি: ডেভেলপাররা হাঁটে চলা ব্যর্থ না করে তাদের প্রাচীরে থাকতে পারে, কারণ তারা নিজেদের জন্য ম্যানুয়াল পুনর্নির্মাণ করতে দায়িত্ব নেয়।
- সময় সঞ্চয়: লাইভ রিলোডিং কোডের পরিবর্তনগুলি চালানোর প্রতিক্রিয়া দেখার মান কমানোর পরিবর্তে।
- ত্রুটি সনাক্ত করা: তা বিচ্যুতি প্রদর্শন করার জন্য তা তৎকালীন রূপান্তর এবং পুনর্নির্মাণ ডেভেলপারদের অনুমানে করার অনুমতি দেয়।
- সরলীকৃত কর্মপ্রণালী: ডেভেলপমেন্ট প্রক্রিয়ায় অনন্যভাবে রূপান্তরিত হয়, এটি তা গ্লিডিংয়ের মতো এবং আরও দক্ষতাপূর্ণ করে।
অধ্যায় 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
অ্যারেগুলিতে আপনাকে নির্দিষ্ট করতে লাগতো
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
এখনো ফাইল পরিবর্তন সম্পর্কে পর্যবেক্ষণ করবে এবং তৈরি বাইনারি ফাইল না এক্সিকিউট করার চেষ্টা করবে।