কম্পিউটার টিউটোরিয়াল

মাস্টার স্ক্রিপ্টিং:পুনরাবৃত্তিমূলক কাজগুলি স্বয়ংক্রিয় করে উত্পাদনশীলতা বৃদ্ধি করুন

মাস্টার স্ক্রিপ্টিং:পুনরাবৃত্তিমূলক কাজগুলি স্বয়ংক্রিয় করে উত্পাদনশীলতা বৃদ্ধি করুন

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

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

একটি স্ক্রিপ্ট কি?

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

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

কেন স্ক্রিপ্ট লিখবেন?

আপনি স্ক্রিপ্টগুলির সাথে কী করতে পারেন তা আমি ইতিমধ্যেই স্পর্শ করেছি৷ তাহলে আসুন তাদের কিছু সুবিধা (এবং চ্যালেঞ্জগুলিও) দেখি যাতে আপনি বুঝতে পারেন কেন তারা এত শক্তিশালী - এবং কখন সেগুলি ব্যবহার করতে হবে।

স্ক্রিপ্টের সুবিধা

  1. অটোমেশন:স্ক্রিপ্টগুলি আপনাকে ডেটা প্রক্রিয়াকরণ বা ফাইল পরিচালনার মতো পুনরাবৃত্তিমূলক কাজগুলিকে সহজ করতে সাহায্য করতে পারে৷

  2. দক্ষতা:তারা আপনার সময় বাঁচাতে পারে স্বয়ংক্রিয় কাজগুলি যা অন্যথায় আপনাকে ম্যানুয়ালি করতে হবে।

  3. ত্রুটি হ্রাস:স্ক্রিপ্টগুলি নির্দেশাবলীর ধারাবাহিক বাস্তবায়নের মাধ্যমে মানুষের ত্রুটিগুলি কমাতে সাহায্য করতে পারে৷

  4. নমনীয়তা:স্ক্রিপ্টগুলি ন্যূনতম পরিবর্তন সহ বিভিন্ন ধরণের কাজের সাথে খাপ খাইয়ে নিতে পারে৷

  5. ইন্টিগ্রেশন:তারা অন্য সিস্টেম, টুলস বা ওয়ার্কফ্লোগুলির সাথে নির্বিঘ্নে একত্রিত হতে পারে৷

স্ক্রিপ্ট সহ চ্যালেঞ্জ

  1. কর্মক্ষমতা:ব্যাখ্যা ওভারহেডের কারণে স্ক্রিপ্টগুলি সংকলিত প্রোগ্রামগুলির চেয়ে ধীর হতে পারে৷

  2. পরিমাপযোগ্যতা:এগুলি সর্বদা বড় আকারের বা অত্যন্ত জটিল কাজের জন্য উপযুক্ত নয়৷

  3. ডিবাগিং:ডিবাগিং স্ক্রিপ্টগুলি তাদের গতিশীল প্রকৃতির কারণে কখনও কখনও চ্যালেঞ্জিং হতে পারে৷

  4. নিরাপত্তা ঝুঁকি:খারাপভাবে লেখা স্ক্রিপ্ট দুর্বলতা প্রকাশ করতে পারে, বিশেষ করে যদি তারা সিস্টেম-স্তরের কমান্ডগুলি চালায়।

কখন ব্যবহার করতে হবে বনাম স্ক্রিপ্ট ব্যবহার করবেন না

স্ক্রিপ্ট এর জন্য আদর্শ:

  1. কাজগুলি সহজ, ভালভাবে সংজ্ঞায়িত, বা একমুখী

  2. প্রোটোটাইপিং বা দ্রুত একটি প্রক্রিয়া স্বয়ংক্রিয়করণ

  3. জটিলতা এড়াতে সুযোগ যথেষ্ট ছোট

স্ক্রিপ্ট এর জন্য আদর্শ নয়:

  1. কর্মক্ষমতা-সমালোচনামূলক কাজ উচ্চ দক্ষতা প্রয়োজন. একটি স্ক্রিপ্টের পরিবর্তে, একটি ডেডিকেটেড ETL (এক্সট্রাক্ট, ট্রান্সফর্ম, লোড) টুল বা একটি বার্তা ব্রোকার বা অনুরূপ বিকল্প সরঞ্জামগুলি ব্যবহার করার চেষ্টা করুন যা আপনার ব্যবহারের ক্ষেত্রে উপযুক্ত৷

  2. ব্যাপক ইউজার ইন্টারফেস সহ অ্যাপ্লিকেশন। পরিবর্তে, আপনি সঠিক লগিং, টেস্টিং এবং ডকুমেন্টেশন সহ একটি ছোট অ্যাপ্লিকেশন বা একটি মডুলার সিস্টেম তৈরি করতে পারেন৷

  3. দীর্ঘমেয়াদী রক্ষণাবেক্ষণের প্রয়োজন পরিস্থিতি, যেখানে সংকলিত প্রোগ্রামগুলি আরও স্থিতিশীল হতে পারে। পরিবর্তে, CRON, Airflow, AWS Lambda/GCP ফাংশনের মতো টাস্ক শিডিউলার বা ওয়ার্কফ্লো ম্যানেজার ব্যবহার করুন।

কার্যকর স্ক্রিপ্ট কিভাবে লিখতে হয়

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

  1. সমস্যাটি সংজ্ঞায়িত করুন:একটি স্ক্রিপ্ট লেখার আগে, এটি যে সমস্যাটি সমাধান করবে তা চিহ্নিত করুন। স্বয়ংক্রিয় কাজগুলি এবং প্রত্যাশিত ফলাফল সম্পর্কে পরিষ্কার হন৷

  2. সঠিক ভাষা চয়ন করুন:

    • ব্যাশ: ফাইল অপারেশন বা সার্ভার পরিচালনার মতো সিস্টেম-স্তরের কাজের জন্য আদর্শ।

    • পাইথন: ডেটা প্রসেসিং, ওয়েব স্ক্র্যাপিং এবং আরও জটিল অটোমেশনের জন্য দুর্দান্ত৷

    • জাভাস্ক্রিপ্ট: ওয়েব ডেভেলপমেন্ট এবং ব্রাউজার-ভিত্তিক অটোমেশনের জন্য উপযুক্ত।

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

  4. স্ক্রিপ্টটি পরীক্ষা করুন:একটি নিয়ন্ত্রিত পরিবেশে স্ক্রিপ্টটি পরীক্ষা করুন যাতে এটি ত্রুটি না করে প্রত্যাশিতভাবে কাজ করে।

  5. এক্সিকিউট এবং ডিপ্লোয়:স্ক্রিপ্টটি তার উদ্দেশ্য পরিবেশে চালান। প্রয়োজনে, ক্রোন (ব্যাশের জন্য) বা টাস্ক শিডিউলারের মতো সরঞ্জামগুলি ব্যবহার করে এটি সম্পাদনের সময়সূচী করুন৷

উদাহরণ স্ক্রিপ্ট

এখন যেহেতু আপনি বেসিকগুলি জানেন, আসুন কিছু অনুশীলন করি। ধরে নিন আপনার কাছে “book-part-1.pdf”, “book-part-2.pdf”, …, “book-part-100.pdf” নামে প্রায় 100টি ফাইল আছে। আপনি ফাইলের নামের সমস্ত হাইফেন (-) আন্ডারস্কোর (_) দিয়ে প্রতিস্থাপন করতে চান, কারণ যে ওয়েবসাইটটিতে আপনি এই নথিগুলি আপলোড করার চেষ্টা করছেন সেখানে আপনাকে হাইফেনযুক্ত নামের ফাইলগুলি আপলোড করার অনুমতি দেয় না৷

এখানে তিনটি ভিন্ন ভাষায় লেখা স্ক্রিপ্ট রয়েছে যেগুলো সব একই অপারেশন করে। প্রক্রিয়াটি এইরকম দেখাচ্ছে:

  1. একটি ডিরেক্টরিতে সমস্ত ফাইল খুঁজুন,

  2. তাদের নামে হাইফেন (-) আছে কিনা তা পরীক্ষা করুন এবং

  3. যেকোনো হাইফেনকে আন্ডারস্কোর (_) দিয়ে প্রতিস্থাপন করুন।

এখানে শুরু করার জন্য ফাইলের নাম (হাইফেন রয়েছে):

মাস্টার স্ক্রিপ্টিং:পুনরাবৃত্তিমূলক কাজগুলি স্বয়ংক্রিয় করে উত্পাদনশীলতা বৃদ্ধি করুন

ব্যাশ স্ক্রিপ্ট

আমরা একটি ব্যাশ স্ক্রিপ্ট দিয়ে শুরু করব। এটি এখানে:

#!/bin/bash
# Replace "-" with "_" in file names
DIRECTORY="/path/to/your/folder"
for FILE in "$DIRECTORY"/*; do
 if [[ "$FILE" == *-* ]]; then
 NEW_NAME=$(echo "$FILE" | sed 's/-/_/g')
 mv "$FILE" "$NEW_NAME"
 echo "Renamed: $FILE -> $NEW_NAME"
 fi
done

আমাদের ফাইলগুলি যেখানে থাকে আমরা শীর্ষে ডিরেক্টরি (ফোল্ডার) সংজ্ঞায়িত করি। ডিরেক্টরির প্রতিটি ফাইলের জন্য, নামটিতে একটি - আছে কিনা তা আমরা পরীক্ষা করি . এই ক্ষেত্রে, আমরা একটি নতুন ফাইলের নাম তৈরি করি এবং এটিকে NEW_NAME ভেরিয়েবলে সংরক্ষণ করি echo ব্যবহার করে পুরানো ফাইলের নাম কপি করে কমান্ড দিন এবং - প্রতিস্থাপন করুন _ সহ sed ব্যবহার করে আদেশ অবশেষে আমরা মুভ কমান্ড ব্যবহার করি mv আর্গুমেন্ট হিসাবে পুরানো এবং নতুন ফাইলের নাম সহ।

পাইথন স্ক্রিপ্ট

এর পরে, আসুন দেখি পাইথনে এটি কেমন হবে:

import os
# Replace "-" with "_" in file names
directory = "/path/to/your/folder"
for filename in os.listdir(directory):
 if "-" in filename:
 old_path = os.path.join(directory, filename)
 new_filename = filename.replace("-", "_")
 new_path = os.path.join(directory, new_filename)
 os.rename(old_path, new_path)
 print(f"Renamed: {filename} -> {new_filename}")

পদক্ষেপগুলি পাইথনে বেশ অনুরূপ। প্রথমে, আমরা ডিরেক্টরি সংজ্ঞায়িত করি এবং তারপর ডিরেক্টরির প্রতিটি ফাইলের মাধ্যমে পুনরাবৃত্তি করি। ডিরেক্টরিতে সমস্ত ফাইল খুঁজে পেতে, আমাদের listdir ব্যবহার করতে হবে os থেকে পদ্ধতি প্যাকেজ।

তারপরে আমরা পরীক্ষা করি যে ফাইলের নামটিতে একটি - আছে কিনা পরের লাইনে। এই ধরনের ক্ষেত্রে, আমরা বর্তমান পথটি খুঁজে পাই (old_path ডিরেক্টরি এবং এর ফাইলের নাম মার্জ করে ফাইলটির )। আমরা - প্রতিস্থাপন করে নতুন ফাইলের নাম তৈরি করতে পারি _ সহ replace ব্যবহার করে পদ্ধতি।

তারপরে আমরা নতুন ফাইল পাথ তৈরি করি (new_path ) একইভাবে আমরা old_path তৈরি করি . অবশেষে, আমরা rename কল করি os এ পদ্ধতি আর্গুমেন্ট হিসাবে পুরানো এবং নতুন ফাইল পাথ সহ প্যাকেজ।

জাভাস্ক্রিপ্ট স্ক্রিপ্ট

এবং এখন দেখা যাক এটি জাভাস্ক্রিপ্টে কেমন দেখাবে:

const fs = require('fs');
const path = require('path');
const directory = '/path/to/your/folder';
fs.readdir(directory, (err, files) => {
 if (err) {
 console.error('Error reading directory:', err);
 return;
 }
 files.forEach(file => {
 if (file.includes('-')) {
 const oldPath = path.join(directory, file);
 const newFilename = file.replace(/-/g, '_');
 const newPath = path.join(directory, newFilename);
 fs.rename(oldPath, newPath, err => {
 if (err) {
 console.error(`Error renaming ${file}:`, err);
 } else {
 console.log(`Renamed: ${file} -> ${newFilename}`);
 }
 });
 }
 });
});

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

তবুও, আমাদের এখানে কী আছে তা দেখা যাক। এই জাভাস্ক্রিপ্ট কোডে, আপনাকে দুটি ভিন্ন প্যাকেজ ব্যবহার করতে হবে, fs এবং path . আমরা শীর্ষে ডিরেক্টরিটি সংজ্ঞায়িত করি, readdir ব্যবহার করে ডিরেক্টরির ফাইলগুলি পড়ি fs থেকে পদ্ধতি প্যাকেজ, এবং আর্গুমেন্ট হিসাবে ডিরেক্টরি পাস করুন। ডিরেক্টরির সাথে, আমরা একটি কলব্যাক ফাংশনও পাস করি যা ফাইলগুলি পড়ার পরে কার্যকর করা হবে৷

কলব্যাক ফাংশনের ভিতরে, আমরা প্রতিটি ফাইল লুপ করি এবং ফাইলের নামে একটি হাইফেন (-) আছে কিনা তা পরীক্ষা করি ) যদি এটি হয়, আমরা path ব্যবহার করে পুরানো পথ খুঁজে পাই আর্গুমেন্ট হিসাবে ডিরেক্টরি এবং ফাইলের নাম সহ প্যাকেজ। তারপর আমরা replace ব্যবহার করে সমস্ত হাইফেনকে আন্ডারস্কোর দিয়ে প্রতিস্থাপন করে নতুন ফাইলের নাম তৈরি করি পদ্ধতি।

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

এই স্ক্রিপ্টগুলি কীভাবে চালাবেন

ঠিক আছে, আপনি আসলে এই স্ক্রিপ্টগুলি কীভাবে ব্যবহার করতে পারেন তা এখানে:

  1. /path/to/your/folder প্রতিস্থাপন করুন ফাইল ধারণকারী প্রকৃত ডিরেক্টরি সহ।

  2. সংশ্লিষ্ট পরিবেশে স্ক্রিপ্ট চালান:

    • ব্যাশ: একটি .sh হিসাবে সংরক্ষণ করুন ফাইল, তারপর bash script.sh দিয়ে চালান

    • পাইথন: একটি .py হিসাবে সংরক্ষণ করুন৷ ফাইল, তারপর python script.py দিয়ে চালান

    • জাভাস্ক্রিপ্ট: একটি .js হিসাবে সংরক্ষণ করুন ফাইল, তারপর node script.js দিয়ে চালান

নীচের স্ক্রিনশটটি ফাইলের নাম পরিবর্তন করতে ব্যাশ স্ক্রিপ্ট চালানো দেখায়।

মাস্টার স্ক্রিপ্টিং:পুনরাবৃত্তিমূলক কাজগুলি স্বয়ংক্রিয় করে উত্পাদনশীলতা বৃদ্ধি করুন

মাস্টার স্ক্রিপ্টিং:পুনরাবৃত্তিমূলক কাজগুলি স্বয়ংক্রিয় করে উত্পাদনশীলতা বৃদ্ধি করুন

পুনরাবৃত্ত স্ক্রিপ্ট

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

সাধারণ পন্থা

  1. CRON কাজ:বেশিরভাগ অপারেটিং সিস্টেম CRON সমর্থন করে, যা একটি সংজ্ঞায়িত সময়সূচীর উপর ভিত্তি করে স্ক্রিপ্ট ট্রিগার করতে পারে৷

  2. টাস্ক সারি:সেলারি (পাইথন), বুল (নোড.জেএস), বা সিডেকিক (রুবি) এর মতো সরঞ্জামগুলি আরও নমনীয়তার সাথে নির্ধারিত কাজগুলি পরিচালনা করতে পারে৷

  3. ক্লাউড শিডিউলার:ইভেন্টব্রিজের সাথে AWS Lambda, Google Cloud Scheduler, বা Azure Logic Apps এর মতো পরিষেবাগুলি আপনাকে সার্ভারহীন আর্কিটেকচারে পুনরাবৃত্ত স্ক্রিপ্ট সেট আপ করার অনুমতি দেয়৷

পুনরাবৃত্ত স্ক্রিপ্টগুলির জন্য একটি ভাল উদাহরণ ব্যবহারের ক্ষেত্রে আপনার সিস্টেমের ব্যবহার/কর্মক্ষমতার দৈনিক/সাপ্তাহিক প্রতিবেদন পাঠানো হবে। আপনি একটি স্ক্রিপ্ট লিখতে পারেন যা আপনার পণ্যে যোগদানকারী এবং সদস্যতা নেওয়া ব্যবহারকারীদের সংখ্যা খুঁজে বের করে এবং সেই প্রতিবেদনটি প্রতিদিন/সপ্তাহে একটি ইমেল হিসাবে পাঠাতে পারে৷

লিপি লেখার সর্বোত্তম অভ্যাস

আপনি যখন স্ক্রিপ্ট লিখছেন তখন এখানে কিছু বিষয় মাথায় রাখতে হবে:

1. মন্তব্য ব্যবহার করুন :মন্তব্য সহ স্ক্রিপ্টের জটিল অংশগুলি ব্যাখ্যা করুন৷

নীচের উদাহরণে, মন্তব্য ছাড়াই, কাউকে অতিরিক্ত সময় ব্যয় করতে হতে পারে কেন করের হার দশমিক এবং শতাংশ নয়।

# Calculate the total price with tax
def calculate_price_with_tax(price, tax_rate):
 # Tax rate is expressed as a decimal (e.g., 0.07 for 7%)
 return price + (price * tax_rate)

2. ত্রুটি পরিচালনা৷ :সম্ভাব্য ত্রুটির জন্য অ্যাকাউন্ট করুন এবং তাদের সুন্দরভাবে পরিচালনা করুন।

নীচের উদাহরণে, ফাইলটি অনুপস্থিত থাকলে, স্ক্রিপ্টটি ক্র্যাশ হবে না - পরিবর্তে, এটি একটি সহায়ক ত্রুটি বার্তা দেখাবে৷

try:
 with open('data.csv', 'r') as file:
 data = file.readlines()
except FileNotFoundError:
 print("Error: 'data.csv' file not found. Make sure the file exists before running the script.")
except Exception as e:
 print(f"An unexpected error occurred: {e}")

3. মডুলার ডিজাইন :স্ক্রিপ্টটিকে পুনঃব্যবহারযোগ্য ফাংশন বা মডিউলগুলিতে বিভক্ত করুন।

নীচের উদাহরণে, কার্যকারিতাকে ছোট, পুনঃব্যবহারযোগ্য ফাংশনে আলাদা করে, আপনি স্বাধীনভাবে স্ক্রিপ্টের অংশগুলি ডিবাগ বা পুনরায় ব্যবহার করতে পারেন।

def fetch_data_from_api(api_url):
 # Fetch data from the given API
 pass
def process_data(data):
 # Process the data into the desired format
 pass
def save_to_file(data, filename):
 # Save processed data to a file
 pass
# Main script
if __name__ == "__main__":
 data = fetch_data_from_api("https://example.com/api")
 processed_data = process_data(data)
 save_to_file(processed_data, "output.json")

4. ইনপুট বৈধতা :অপ্রত্যাশিত ত্রুটি বা নিরাপত্তা ঝুঁকি এড়াতে ব্যবহারকারীর ইনপুট যাচাই করুন।

বৈধতা ছাড়াই, কেউ অবৈধ বা ক্ষতিকারক ডেটা ইনপুট করতে পারে (উদাহরণস্বরূপ, নির্দিষ্ট পরিস্থিতিতে SQL ইনজেকশন স্ট্রিং)।

import re
# Validate that the input is a valid email address
def validate_email(email):
 pattern = r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$'
 if not re.match(pattern, email):
 raise ValueError("Invalid email address format")
 return email
# Example usage
try:
 user_email = validate_email(input("Enter your email: "))
 print(f"Valid email: {user_email}")
except ValueError as e:
 print(e)

5. সংস্করণ নিয়ন্ত্রণ :পরিবর্তনগুলি ট্র্যাক করতে গিট বা অন্যান্য সংস্করণ নিয়ন্ত্রণ সরঞ্জাম ব্যবহার করুন৷

যদি কোনো পরিবর্তন স্ক্রিপ্ট ভেঙে দেয়, তাহলে আপনি git checkout ব্যবহার করে সহজেই পূর্ববর্তী প্রতিশ্রুতিতে ফিরে যেতে পারেন . এছাড়াও, আপনি দলের সদস্যদের সাথে নির্বিঘ্নে সহযোগিতা করতে পারেন।

git init
git add script.py
git commit -m "Initial commit"

উপসংহার

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

আমি আপনার জন্য একটি ব্যায়াম আছে. এই উদাহরণ স্ক্রিপ্টটি চালানো এবং যাচাই করতে, আপনি মনে করতে পারেন যে আপনাকে 100টি ফাইল ম্যানুয়ালি তৈরি করতে হবে। এতে অনেক সময় ব্যয় হয়।

আমি সেই 100টি ফাইল তৈরি করার জন্য একটি স্ক্রিপ্ট লিখেছি। আমি আপনাকে সুপারিশ করব যে আপনি তাদের ফাইলের নামের মধ্যে হাইফেন সহ 100টি ফাইল তৈরি করতে একটি স্ক্রিপ্ট লেখার চেষ্টা করুন। তারপর হাইফেনকে আন্ডারস্কোরে রূপান্তর করতে উদাহরণ স্ক্রিপ্ট চালানোর চেষ্টা করুন।

এটি শুরুতে কঠিন মনে হতে পারে, কিন্তু বিশ্বাস করুন আপনাকে 100টি ফাইল তৈরি করতে ব্যাশ কোডের 5 লাইন লিখতে হবে। শুধু 100টি নয় – এমনকি আপনি মাত্র 5 লাইন কোড দিয়ে মিলিয়ন/বিলিয়ন/ট্রিলিয়ন ফাইল তৈরি করতে পারেন।

আপনি যদি স্ক্রিপ্ট সম্পর্কে আরও জানতে চান, আমার ইমেল নিউজলেটার (https://5minslearn.gogosoon.com/) সাবস্ক্রাইব করুন এবং সামাজিক মিডিয়াতে আমাকে অনুসরণ করুন।

শুভ স্ক্রিপ্টিং!

বিনামূল্যে কোড শিখুন. freeCodeCamp-এর ওপেন সোর্স পাঠ্যক্রম 40,000-এরও বেশি লোককে ডেভেলপার হিসেবে চাকরি পেতে সাহায্য করেছে। শুরু করুন


  1. লিনাক্সে একটি প্রক্রিয়া কীভাবে মেরে ফেলা যায়

  2. HTML DOM ইনপুট রেঞ্জ ফর্ম সম্পত্তি

  3. কিভাবে একটি জাভাস্ক্রিপ্ট সতর্কতা বক্স শিরোনাম সম্পাদনা করবেন?

  4. HTML তালিকা বৈশিষ্ট্য