8 عملکرد واقعی پوسته برای افزایش بهره وری شما

Summarize this content to 400 words in Persian Lang
مقدمه
توابع پوسته هستند ابزار قدرتمند که به شما امکان می دهد وظایف را خودکار کنید، گردش کار خود را ساده کنید و افزایش بهره وری با کاهش کارهای دستی تکراری
بسیاری از توسعه دهندگان با برنامه نویسی پوسته آشنایی دارند، اما معمول نیست که ببینیم آنها از آن برای افزایش بهره وری خود استفاده می کنند. شاید تنها چیزی که کم است کمی خلاقیت باشد.
در این مقاله، من به اشتراک می گذارم 8 عملکرد که من روزانه برای کمک به وظایف کاری خود استفاده می کنم. امیدوارم آنها به شما الهام بخشند تا عملکردهای خود را ایجاد کنید و بهره وری خود را افزایش دهید. برای مثال های زیر، من از ZSH استفاده می کنم.
1: محیط Dev Environment را فشار دهید
برای من عادی است که باید شعبه محلی خود را در محیط توسعه آزمایش کنم. برای جابجایی و ادغام سریعتر شاخه ها، در حال حاضر از تابع زیر استفاده می کنم:
function merge_dev {
BRANCH=$(git branch –show-current);
git checkout dev;
git fetch -pa;
git reset –hard origin/dev;
git merge $BRANCH;
echo Done! Now, finish the merge and push the changes.
}
این git push دستور عمداً از آن کنار گذاشته شده است merge_dev عملکرد زیرا من اغلب نیاز به حل تعارض قبل از فشار دادن دارم، بنابراین تصمیم گرفتم آن را جدا نگه دارم.
2: Git Rebase
شبیه به تابع 1، این تابع زمانی مفید است که من نیاز به تغییر شاخه ها و اجرای دیگری داشته باشم دستور git. برای سریعتر کردن این فرآیند، من آن را ایجاد کردم روباه تابع:
function rebase {
BRANCH=$(git branch –show-current);
git checkout $1;
git pull;
git checkout $BRANCH;
git rebase $1;
}
# usage example
rebase master
3: میانبر برای فایل های پیکربندی ZSH
من همیشه در حال ایجاد توابع جدید یا به روز رسانی توابع قدیمی هستم، و به نظر می رسد هرگز مسیر خود را به خاطر نمی آورم zshrc فایل ها 😂.
function config {
# Check if parameter is null
if [ -z $1 ]; then
code “$HOME/.zshrc”
return
fi
case “$1” in
alias )
code “$HOME/CUSTOM_ZSH/.alias.sh”
;;
func )
code “$HOME/CUSTOM_ZSH/.functions.sh”
;;
* )
echo “$1 is not a valid parameter for config function”
;;
esac
}
# usage example
config func
4: Upstream و Open Repo را تنظیم کنید
فشار دادن شاخه ای که در مخزن راه دور وجود ندارد بسیار آزاردهنده است. برای نجات از این دردسر از gpp تابع اضافه کردن خودکار –set-upstream پرچم در صورت نیاز من همچنین مخزن از راه دور را در یک مرورگر باز می کنم زیرا معمولاً پس از فشار دادن یک شعبه جدید یک PR ایجاد می کنم.
function gpp {
BRANCH=$(git branch –show-current);
ORIGIN=”origin”
git push
RESULT=$?
if [[ $RESULT != 0 ]]; then
GIT_PUSH_OUTPUT=$(git push –set-upstream $ORIGIN $BRANCH 2>&1)
echo $GIT_PUSH_OUTPUT
REPO_NAME=$(pwd | awk -F/ ‘{print $NF}’)
open “https://github.com/feliperocha93/$REPO_NAME”
fi
}
5: روابط عمومی سریع
ساخت بر روی تابع 4 و با استفاده از نام مستعار ZSH، زمانی که نیاز به باز کردن روابط عمومی با یک commit دارم، با استفاده از fast_pr تابع:
function fast_pr {
gaa;
gcmsg “$1”;
gpp;
}
# usage example
fast_pr “chore: update zsh function”
6: اعتبارنامه ها را دریافت و صادر کنید
این احتمالا پیچیده ترین و صرفه جویی در زمان در این سری از تابع است 8 عملکرد. متغیرها تا حدودی پوشانده شده اند، زیرا لازم نیست نام واقعی آنها نشان داده شود، اما مثال باید برای توضیح مفهوم کافی باشد.
اساساً برنامهای که من معمولاً به صورت محلی اجرا میکنم به چندین پایگاه داده که نیاز به احراز هویت دارند دسترسی دارد. برنامه اعتبارنامه ها را از متغیرهای محیطی بازیابی می کند.
برای رسیدگی به این، get_credentials تابع من را از طریق خط فرمان احراز هویت می کند و اعتبارنامه ها را به عنوان متغیرهای محیط ذخیره می کند.
function get_credentials {
# some command to get credentials
credentials=$(foo –bar);
# in this example, credentials is a string like
# username:username password:password
# and awk method are extracting the value
export USERNAME=$(echo $credentials | awk -F’username: ‘ ‘{print $2}’ | tr -d ‘[:space:]’);
export PASSWORD=$(echo $credentials | awk -F’password: ‘ ‘{print $2}’ | tr -d ‘[:space:]’);
export REDIS_HOST=localhost
export REDIS_PORT=6379
echo $USERNAME $PASSWORD
}
7: Dependencies را نصب کنید
هنگام کار بر روی یک پروژه پس از مدت زمان طولانی، مهم است که وابستگی ها را به روز کنید تا از برخی مشکلات ناسازگاری در طول توسعه جلوگیری کنید. بنابراین من همیشه سعی می کنم شعبه محلی خود را با شعبه اصلی به روز نگه دارم.
function start {
BRANCH=$(git branch –show-current);
function update_and_install {
git pull;
nvm use;
npm ci;
}
if [ $BRANCH != ‘master’ ]; then
git checkout master;
update_and_install;
git checkout $BRANCH;
return;
fi
update_and_install;
}
پاداش: نام مستعار
من می دانم که نام مستعار دقیقاً توابع نیستند، اما می توانند به شما در صرفه جویی در زمان کمک کنند. در مثال های زیر، من از برخی نام های مستعار برای اجرای دستورات مکرر با کلمات کوتاه استفاده می کنم.
# browse to folder
alias deployments=”cd ~/Documents/deployments”
alias feliperocha=”cd ~/Documents/feliperocha”
# browse to folder and list projects
alias projects=”cd $HOME/Documents/projects && ls -a”
# open a specific folder
alias XPTO=”cd ~/Documents/XPTO; open .”
نتیجه گیری
ممنون که تا آخر خواندید قصد من از به اشتراک گذاشتن این عملکردها برای باز کردن ذهن شما و برانگیختن خلاقیت شما برای ایجاد عملکردهای خود و افزایش بهره وری روزانه شماست.
نظر خود را در زیر به اشتراک بگذارید که کدام عملکرد مورد علاقه شما بود یا خودتان پست کنید.
با احترام،
مقدمه
توابع پوسته هستند ابزار قدرتمند که به شما امکان می دهد وظایف را خودکار کنید، گردش کار خود را ساده کنید و افزایش بهره وری با کاهش کارهای دستی تکراری
بسیاری از توسعه دهندگان با برنامه نویسی پوسته آشنایی دارند، اما معمول نیست که ببینیم آنها از آن برای افزایش بهره وری خود استفاده می کنند. شاید تنها چیزی که کم است کمی خلاقیت باشد.
در این مقاله، من به اشتراک می گذارم 8 عملکرد که من روزانه برای کمک به وظایف کاری خود استفاده می کنم. امیدوارم آنها به شما الهام بخشند تا عملکردهای خود را ایجاد کنید و بهره وری خود را افزایش دهید. برای مثال های زیر، من از ZSH استفاده می کنم.
1: محیط Dev Environment را فشار دهید
برای من عادی است که باید شعبه محلی خود را در محیط توسعه آزمایش کنم. برای جابجایی و ادغام سریعتر شاخه ها، در حال حاضر از تابع زیر استفاده می کنم:
function merge_dev {
BRANCH=$(git branch --show-current);
git checkout dev;
git fetch -pa;
git reset --hard origin/dev;
git merge $BRANCH;
echo Done! Now, finish the merge and push the changes.
}
این git push
دستور عمداً از آن کنار گذاشته شده است merge_dev عملکرد زیرا من اغلب نیاز به حل تعارض قبل از فشار دادن دارم، بنابراین تصمیم گرفتم آن را جدا نگه دارم.
2: Git Rebase
شبیه به تابع 1، این تابع زمانی مفید است که من نیاز به تغییر شاخه ها و اجرای دیگری داشته باشم دستور git. برای سریعتر کردن این فرآیند، من آن را ایجاد کردم روباه تابع:
function rebase {
BRANCH=$(git branch --show-current);
git checkout $1;
git pull;
git checkout $BRANCH;
git rebase $1;
}
# usage example
rebase master
3: میانبر برای فایل های پیکربندی ZSH
من همیشه در حال ایجاد توابع جدید یا به روز رسانی توابع قدیمی هستم، و به نظر می رسد هرگز مسیر خود را به خاطر نمی آورم zshrc فایل ها 😂.
function config {
# Check if parameter is null
if [ -z $1 ]; then
code "$HOME/.zshrc"
return
fi
case "$1" in
alias )
code "$HOME/CUSTOM_ZSH/.alias.sh"
;;
func )
code "$HOME/CUSTOM_ZSH/.functions.sh"
;;
* )
echo "$1 is not a valid parameter for config function"
;;
esac
}
# usage example
config func
4: Upstream و Open Repo را تنظیم کنید
فشار دادن شاخه ای که در مخزن راه دور وجود ندارد بسیار آزاردهنده است. برای نجات از این دردسر از gpp تابع اضافه کردن خودکار --set-upstream
پرچم در صورت نیاز من همچنین مخزن از راه دور را در یک مرورگر باز می کنم زیرا معمولاً پس از فشار دادن یک شعبه جدید یک PR ایجاد می کنم.
function gpp {
BRANCH=$(git branch --show-current);
ORIGIN="origin"
git push
RESULT=$?
if [[ $RESULT != 0 ]]; then
GIT_PUSH_OUTPUT=$(git push --set-upstream $ORIGIN $BRANCH 2>&1)
echo $GIT_PUSH_OUTPUT
REPO_NAME=$(pwd | awk -F/ '{print $NF}')
open "https://github.com/feliperocha93/$REPO_NAME"
fi
}
5: روابط عمومی سریع
ساخت بر روی تابع 4 و با استفاده از نام مستعار ZSH، زمانی که نیاز به باز کردن روابط عمومی با یک commit دارم، با استفاده از fast_pr تابع:
function fast_pr {
gaa;
gcmsg "$1";
gpp;
}
# usage example
fast_pr "chore: update zsh function"
6: اعتبارنامه ها را دریافت و صادر کنید
این احتمالا پیچیده ترین و صرفه جویی در زمان در این سری از تابع است 8 عملکرد. متغیرها تا حدودی پوشانده شده اند، زیرا لازم نیست نام واقعی آنها نشان داده شود، اما مثال باید برای توضیح مفهوم کافی باشد.
اساساً برنامهای که من معمولاً به صورت محلی اجرا میکنم به چندین پایگاه داده که نیاز به احراز هویت دارند دسترسی دارد. برنامه اعتبارنامه ها را از متغیرهای محیطی بازیابی می کند.
برای رسیدگی به این، get_credentials تابع من را از طریق خط فرمان احراز هویت می کند و اعتبارنامه ها را به عنوان متغیرهای محیط ذخیره می کند.
function get_credentials {
# some command to get credentials
credentials=$(foo --bar);
# in this example, credentials is a string like
# username:username password:password
# and awk method are extracting the value
export USERNAME=$(echo $credentials | awk -F'username: ' '{print $2}' | tr -d '[:space:]');
export PASSWORD=$(echo $credentials | awk -F'password: ' '{print $2}' | tr -d '[:space:]');
export REDIS_HOST=localhost
export REDIS_PORT=6379
echo $USERNAME $PASSWORD
}
7: Dependencies را نصب کنید
هنگام کار بر روی یک پروژه پس از مدت زمان طولانی، مهم است که وابستگی ها را به روز کنید تا از برخی مشکلات ناسازگاری در طول توسعه جلوگیری کنید. بنابراین من همیشه سعی می کنم شعبه محلی خود را با شعبه اصلی به روز نگه دارم.
function start {
BRANCH=$(git branch --show-current);
function update_and_install {
git pull;
nvm use;
npm ci;
}
if [ $BRANCH != 'master' ]; then
git checkout master;
update_and_install;
git checkout $BRANCH;
return;
fi
update_and_install;
}
پاداش: نام مستعار
من می دانم که نام مستعار دقیقاً توابع نیستند، اما می توانند به شما در صرفه جویی در زمان کمک کنند. در مثال های زیر، من از برخی نام های مستعار برای اجرای دستورات مکرر با کلمات کوتاه استفاده می کنم.
# browse to folder
alias deployments="cd ~/Documents/deployments"
alias feliperocha="cd ~/Documents/feliperocha"
# browse to folder and list projects
alias projects="cd $HOME/Documents/projects && ls -a"
# open a specific folder
alias XPTO="cd ~/Documents/XPTO; open ."
نتیجه گیری
ممنون که تا آخر خواندید قصد من از به اشتراک گذاشتن این عملکردها برای باز کردن ذهن شما و برانگیختن خلاقیت شما برای ایجاد عملکردهای خود و افزایش بهره وری روزانه شماست.
نظر خود را در زیر به اشتراک بگذارید که کدام عملکرد مورد علاقه شما بود یا خودتان پست کنید.
با احترام،