🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁
TIL 회고 - [71]일차
🚀71일차에는 도커와 리눅스를 이용하여 함수, 반복문 등을 실습해보고 기존 Spring 프로젝트와 연동해볼 수 있었다.
학습 목표 : 스크립트 파일로 함수, 반복문, 계산기 프로그램 등을 구현가능해야함
학습 과정 : 회고를 통해 작성
$(명령어)
- ex. $(whoami)
#!/bin/bash
# example.sh: simple script example
echo "Hello, $(whoami)! This is example.sh."
CURRENT_TIME=$(date +"%Y-%m-%d %H:%M:%S")
echo "current time: $CURRENT_TIME"
- $CURRENT_TIME : $변수 의 구조이면 이 변수를 출력해줌을 의미
- $(whoami) : 현재 유저가 누구인지 결과를 담음
$( ) : 명령치환이라고 하며, 이 명령어를 실행한 결과를 담겠다는 의미

- echo로 example.sh를 만들고, vi로 내용을 작성한다.
- 권한을 확인해보면 실행권한이 없으므로
chmod +x example.sh 로 실행에 대한 권한을 추가해주고
./example.sh 로 실행해볼 수 있다.
bash 명령으로도 잘 실행되는 것을 확인할 수 있다.
변수와 제어문
- 선언 및 대입
VARIABLE_NAME="Hello"
➡️공백 없이 = 기호로 값을 할당 (양옆에 공백이 있으면 에러) - 변수 참조
echo $VARIABLE_NAME echo "${VARIABLE_NAME}"
➡️$변수이름 혹은 ${변수이름} 형태로 해당 변수를 참조
지역 변수 vs 환경 변수
- 기본적으로 VARIABLE_NAME="value" 로 할당하면 지역 변수(현재 스크립트 혹은 쉘에만 유효)
export VARIABLE_NAME="value" 로 선언하면 환경 변수가 되어, 자식 프로세스에서도 인식 가능

- 환경변수로 지정해놓으면 어느위치에서라도 불러서 사용할 수 있을 것
- echo $JUUNB 처럼 바로 불러서 사용할 수 있지만
만약 지역변수 (ex. JUUNB = “gnob”) 로 할당하면 현재 스크립트나 쉘에서만 유효하게된다. - 위치 매개변수 : 스크립트가 실행될 때 인자로 받은 값들은 $1 , $2 , …, $9 등으로 접근 가능
$0 은 스크립트 자체의 이름
#!/bin/bash echo "첫 번째 인자: $1" echo "두 번째 인자: $2"
▶️실습 - 위치매개변수


- 이처럼 example.sh 뒤에 인자들을 넣어주면 그대로 위치매개변수를 사용하여 매핑되도록 할 수 있고,
- echo -n “이름을 입력하세요” 와 read 명령어를 통해 입력받은 이름을 출력하도록 할 수도 있다.
- read 명령어 : 키보드 입력을 받아 변수에 저장이 가능한 명령어
- echo -n : 줄바꿈없이 프롬프트만 표시하기 위해 사용 (-p옵션은 출력문을 넣어줄 수 있음)
if문
# 조건이 참(true)일 때 실행되는 부분
if [ 조건식 ]; then
# 위 조건이 거짓이고, 이 조건이 참일 때 실행되는 부분
elif [ 다른_조건식 ]; then
# 모든 조건이 거짓(false)일 때 실행되는 부분
else
fi
- then 과 fi (if의 반대)처럼 사용
- 대괄호( [ ] ) 안에 들어가는 조건식에는 test 명령 형식을 사용
ex.
#!/bin/bash
VAR="Hello"
if [ "$VAR" = "Hello" ]; then
echo "인사말 확인!"
else
echo "다른 단어입니다."
fi
- = : 자바에서의 == 와 같은 기능
정수 비교 연산자
#!/bin/bash
NUM=5
if [ $NUM -gt 3 ]; then
echo "NUM이 3보다 큽니다."
else
echo "NUM이 3 이하입니다."
fi
- eq (같다) (=equals)
- ne (같지 않다)
- -gt (크다)
- -ge (크거나 같다)
- - lt (작다)
- -le (작거나 같다)
case 문
#!/bin/bash
read FRUIT
case "$FRUIT" in
"apple")
echo "사과입니다."
;;
"banana")
echo "바나나입니다."
;;
*)
echo "기타 과일입니다."
;;
esac
- *) : 모든 경우를 포괄하는 기본(default) 패턴
- 리눅스 기본 명령각 패턴 블록 끝에는 ;; (더블 세미콜론)을 넣어 구분
함수
- 함수 안에서 인자(매개변수) 사용하기 함수를 호출할 때 인자를 넘기면,
위치 매개변수( $1 , $2 , …)를 통해 접근 가능
#!/bin/bash
my_function() {
echo "첫 번째 인자: $1"
echo "두 번째 인자: $2"
}
my_function "apple" "banana"
#!/bin/bash
#외부파일에서 함수 가져오기
source functions.sh
# . functions.sh
my_function "fail"
echo "함수의 반환값 : $?"
- 외부파일에서 함수를 가져와서 사용할 수도 있다.
배열
배열 선언
- 공백 분리 형태
FRUITS=("apple" "banana" "cherry")
➡️인덱스 0 에 "apple" , 1 에 "banana" , 2 에 "cherry" 가 할당 - 인덱스별 할당
FRUITS[0]="apple" FRUITS[1]="banana" FRUITS[2]="cherry"
➡️배열 요소를 개별적으로 지정
배열 참조
- 특정 인덱스 접근
echo ${FRUITS[1]} # banana - 전체 요소
echo ${FRUITS[@]} # apple banana cherry ${FRUITS[*]}
배열 길이
- 배열의 길이(요소 개수) : ${#배열이름[@]} 또는 ${#배열이름[*]}
ex. echo "배열 길이: ${#FRUITS[@]}" 예시 결과: 3
요소 추가·삭제
- 요소 추가: FRUITS[3]="mango"
- 요소 삭제: unset 명령어를 사용.
unset FRUITS[1] - 전체 배열 삭제: unset FRUITS
#!/bin/bash
# example: arrayexam.sh
# 1) 함수 선언
calc_sum() {
# 인자로 받은 두 정수를 더해 결과를 echo
local num1=$1
local num2=$2
local result=$((num1 + num2))
echo $result
}
# 함수 사용(명령 치환)
SUM_RESULT=$(calc_sum 5 10)
echo "5 + 10 = $SUM_RESULT"
# 2) 배열 사용
COLORS=("red" "green" "blue")
COLORS[3]="yellow"
echo "COLORS 배열의 길이: ${#COLORS[@]}"
echo "모든 COLOR: ${COLORS[@]}"
# 인덱스를 이용한 반복
for (( i=0; i<${#COLORS[@]}; i++ ))
do
echo "COLORS[$i] = ${COLORS[$i]}"
done

▶️실습 - 간단계산기 만들기
#!/bin/bash
# simple_calc.sh: 두 수에 대한 사칙연산 예시
echo -n "1번째 정수 입력: "
read NUM1
echo -n "2번째 정수 입력: "
read NUM2
# 덧셈
SUM=$((NUM1 + NUM2))
# 뺄셈
SUB=$((NUM1 - NUM2))
# 곱셈
MUL=$((NUM1 * NUM2))
# 나눗셈
if [ $NUM2 -ne 0 ]; then
DIV=$((NUM1 / NUM2))
else
DIV="나눌 수 없음(0으로 나눔)"
fi
echo "-----[결과]-----"
echo " $NUM1 + $NUM2 = $SUM"
echo " $NUM1 - $NUM2 = $SUB"
echo " $NUM1 * $NUM2 = $MUL"
echo " $NUM1 / $NUM2 = $DIV"

- $(( )) : 정수연산을 수행
▶️실습 - 확장자 변경 프로그램
#!/bin/bash
# batch_copy_rename.sh: .sh 파일을 .bak로 복사 후 files 디렉토리로 이동
TARGET_DIR="./files" # 최종 저장할 디렉토리
SOURCE_DIR="." # 원본 파일이 있는 디렉토리
echo "=== SH 파일을 BAK로 변경하여 files 디렉토리로 복사 ==="
# files 디렉토리가 없으면 생성
if [ ! -d "$TARGET_DIR" ]; then
echo "files 디렉토리가 없습니다. 생성합니다: $TARGET_DIR"
mkdir -p "$TARGET_DIR"
fi
# 현재 디렉토리 내 .sh 파일을 찾아 .bak으로 복사
for FILE in "$SOURCE_DIR"/*.sh
do
# 파일이 실제 존재하는지 확인
if [ ! -f "$FILE" ]; then
echo "대상 파일이 없습니다: $FILE"
continue
fi
BASENAME=$(basename "$FILE" .sh) # 확장자 없이 파일명만 추출
NEWFILE="$TARGET_DIR/$BASENAME.bak" # 변경된 파일 경로
cp "$FILE" "$NEWFILE" # 원본 파일을 .bak으로 복사
echo "Copied: $FILE -> $NEWFILE"
done
echo "=== 완료 ==="

- 원본은 유지한채 확장자 변경된 파일들을 files 디렉토리에 저장하는 것으로 바꿔서 실습
🚀기존 프로젝트 + 리눅스 서버
- 기존에는 인텔리J에서 서버를 동작시키고
localhost:8080/hello 처럼 도메인에 접속해서 그 실행들을 확인할 수 있었다. - 리눅스 서버에 IntelliJ를 설치하는 것이 아닌 Java를 설치 후
gradlew 파일과 .jar파일을 이용해서 서버 동작이 가능하다.
(=build 후에 생긴 build/libs 에 들어가보면 jar파일이 있는데 이 jar파일을 실행시켜 동작하는 것) - ❓리눅스 서버에서 동작하고 애플리케이션을 컨테이너 밖 브라우저가 접속하게하기위해선
ex. MySQL이 컨테이너 안에서 동작하고 있을때 (Docker - 가상환경)
밖에있는 브라우저에서 접속이 가능했던 것처럼
⭐밖에 있는 포트와 안에 있는 포트를 연결시키는 과정이 필요할 것
내부 포트와 외부 포트 연결

- docker-compose.yml을 수정하는데 ports에 포트를 추가
- 8080으로 열린 컨테이너를 9090으로 접속할 수 있도록 설정을 추가한 것
- 정리하자면
도커 안에 방 여러개가 존재
도커 안에 있는 22번 방에서 ssh가 동작
도커 안에 있는 8080번 방에서 http가 동작
22번 방에 접속하기 위해서는 그 컨테이너 밖에서는 2222로 접속하게끔 설정한 것
8080번 방에 접속하기 위해서는 그 컨테이너 밖에서는 9090로 접속하게끔 설정한 것 - ssh는 연결통로를 열어주는 역할 (도커의 컨테이너로 들어갈 수 있는 연결통로를 열어줌)
포트 연결 변경사항 적용

- docker-compose down 을 먼저 해준 후
- docker-compose up -d --build --force-recreate 수행
(=다시 재생성하는 것)

- 리빌드 후 다시 ssh로 접속해볼 수 있다.
jdk 설치
- yum install -y java-21-amazon-corretto-devel

- git --version 으로 git설치 확인되었는지 확인

- util을 찾기 위한 find 명령어 설치
🚀실습 - 간단한 프로젝트와 연동



- https://아이디:토큰@저장소주소
처럼 git clone 해주면 인증절차를 받고 clone 가능

- chmod 로 권한을 부여하고, gradlew를 build

- .jar파일을 확인하고 java -jar 명령어로 실행해주면 리눅스에서 spring서버를 실행 가능

- 포트 설정에 따라 리눅스 서버 내부에서 열린 8080서버는 외부 브라우저에서 9090포트로 접속이 가능
🚀회고 결과 :
기존의 프로젝트에서 IntelliJ 없이도 터미널에서 서버가 동작했던 것처럼 리눅스 서버로 동작할 수 있음을 연습해볼 수 있었다.
처음에 구조가 어려울 것 같았지만 포트 연결 설정을 해주면 외부 브라우저에서도 접속이 가능하다는 것을 회고를 통해 더 공부할 수 있었다.
향후 계획 :
- 스크립트 언어 연습
'Recording > 멋쟁이사자처럼 BE 13기' 카테고리의 다른 글
[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_73일차_"Docker 이미지" (0) | 2025.03.25 |
---|---|
[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_72일차_"Docker 네트워크" (0) | 2025.03.24 |
[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_70일차_"Docker + Linux (2)" (0) | 2025.03.20 |
[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_69일차_"Docker + Linux" (0) | 2025.03.19 |
[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_68일차_"Git / GitHub" (0) | 2025.03.18 |
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁
TIL 회고 - [71]일차
🚀71일차에는 도커와 리눅스를 이용하여 함수, 반복문 등을 실습해보고 기존 Spring 프로젝트와 연동해볼 수 있었다.
학습 목표 : 스크립트 파일로 함수, 반복문, 계산기 프로그램 등을 구현가능해야함
학습 과정 : 회고를 통해 작성
$(명령어)
- ex. $(whoami)
#!/bin/bash
# example.sh: simple script example
echo "Hello, $(whoami)! This is example.sh."
CURRENT_TIME=$(date +"%Y-%m-%d %H:%M:%S")
echo "current time: $CURRENT_TIME"
- $CURRENT_TIME : $변수 의 구조이면 이 변수를 출력해줌을 의미
- $(whoami) : 현재 유저가 누구인지 결과를 담음
$( ) : 명령치환이라고 하며, 이 명령어를 실행한 결과를 담겠다는 의미

- echo로 example.sh를 만들고, vi로 내용을 작성한다.
- 권한을 확인해보면 실행권한이 없으므로
chmod +x example.sh 로 실행에 대한 권한을 추가해주고
./example.sh 로 실행해볼 수 있다.
bash 명령으로도 잘 실행되는 것을 확인할 수 있다.
변수와 제어문
- 선언 및 대입
VARIABLE_NAME="Hello"
➡️공백 없이 = 기호로 값을 할당 (양옆에 공백이 있으면 에러) - 변수 참조
echo $VARIABLE_NAME echo "${VARIABLE_NAME}"
➡️$변수이름 혹은 ${변수이름} 형태로 해당 변수를 참조
지역 변수 vs 환경 변수
- 기본적으로 VARIABLE_NAME="value" 로 할당하면 지역 변수(현재 스크립트 혹은 쉘에만 유효)
export VARIABLE_NAME="value" 로 선언하면 환경 변수가 되어, 자식 프로세스에서도 인식 가능

- 환경변수로 지정해놓으면 어느위치에서라도 불러서 사용할 수 있을 것
- echo $JUUNB 처럼 바로 불러서 사용할 수 있지만
만약 지역변수 (ex. JUUNB = “gnob”) 로 할당하면 현재 스크립트나 쉘에서만 유효하게된다. - 위치 매개변수 : 스크립트가 실행될 때 인자로 받은 값들은 $1 , $2 , …, $9 등으로 접근 가능
$0 은 스크립트 자체의 이름
#!/bin/bash echo "첫 번째 인자: $1" echo "두 번째 인자: $2"
▶️실습 - 위치매개변수


- 이처럼 example.sh 뒤에 인자들을 넣어주면 그대로 위치매개변수를 사용하여 매핑되도록 할 수 있고,
- echo -n “이름을 입력하세요” 와 read 명령어를 통해 입력받은 이름을 출력하도록 할 수도 있다.
- read 명령어 : 키보드 입력을 받아 변수에 저장이 가능한 명령어
- echo -n : 줄바꿈없이 프롬프트만 표시하기 위해 사용 (-p옵션은 출력문을 넣어줄 수 있음)
if문
# 조건이 참(true)일 때 실행되는 부분
if [ 조건식 ]; then
# 위 조건이 거짓이고, 이 조건이 참일 때 실행되는 부분
elif [ 다른_조건식 ]; then
# 모든 조건이 거짓(false)일 때 실행되는 부분
else
fi
- then 과 fi (if의 반대)처럼 사용
- 대괄호( [ ] ) 안에 들어가는 조건식에는 test 명령 형식을 사용
ex.
#!/bin/bash
VAR="Hello"
if [ "$VAR" = "Hello" ]; then
echo "인사말 확인!"
else
echo "다른 단어입니다."
fi
- = : 자바에서의 == 와 같은 기능
정수 비교 연산자
#!/bin/bash
NUM=5
if [ $NUM -gt 3 ]; then
echo "NUM이 3보다 큽니다."
else
echo "NUM이 3 이하입니다."
fi
- eq (같다) (=equals)
- ne (같지 않다)
- -gt (크다)
- -ge (크거나 같다)
- - lt (작다)
- -le (작거나 같다)
case 문
#!/bin/bash
read FRUIT
case "$FRUIT" in
"apple")
echo "사과입니다."
;;
"banana")
echo "바나나입니다."
;;
*)
echo "기타 과일입니다."
;;
esac
- *) : 모든 경우를 포괄하는 기본(default) 패턴
- 리눅스 기본 명령각 패턴 블록 끝에는 ;; (더블 세미콜론)을 넣어 구분
함수
- 함수 안에서 인자(매개변수) 사용하기 함수를 호출할 때 인자를 넘기면,
위치 매개변수( $1 , $2 , …)를 통해 접근 가능
#!/bin/bash
my_function() {
echo "첫 번째 인자: $1"
echo "두 번째 인자: $2"
}
my_function "apple" "banana"
#!/bin/bash
#외부파일에서 함수 가져오기
source functions.sh
# . functions.sh
my_function "fail"
echo "함수의 반환값 : $?"
- 외부파일에서 함수를 가져와서 사용할 수도 있다.
배열
배열 선언
- 공백 분리 형태
FRUITS=("apple" "banana" "cherry")
➡️인덱스 0 에 "apple" , 1 에 "banana" , 2 에 "cherry" 가 할당 - 인덱스별 할당
FRUITS[0]="apple" FRUITS[1]="banana" FRUITS[2]="cherry"
➡️배열 요소를 개별적으로 지정
배열 참조
- 특정 인덱스 접근
echo ${FRUITS[1]} # banana - 전체 요소
echo ${FRUITS[@]} # apple banana cherry ${FRUITS[*]}
배열 길이
- 배열의 길이(요소 개수) : ${#배열이름[@]} 또는 ${#배열이름[*]}
ex. echo "배열 길이: ${#FRUITS[@]}" 예시 결과: 3
요소 추가·삭제
- 요소 추가: FRUITS[3]="mango"
- 요소 삭제: unset 명령어를 사용.
unset FRUITS[1] - 전체 배열 삭제: unset FRUITS
#!/bin/bash
# example: arrayexam.sh
# 1) 함수 선언
calc_sum() {
# 인자로 받은 두 정수를 더해 결과를 echo
local num1=$1
local num2=$2
local result=$((num1 + num2))
echo $result
}
# 함수 사용(명령 치환)
SUM_RESULT=$(calc_sum 5 10)
echo "5 + 10 = $SUM_RESULT"
# 2) 배열 사용
COLORS=("red" "green" "blue")
COLORS[3]="yellow"
echo "COLORS 배열의 길이: ${#COLORS[@]}"
echo "모든 COLOR: ${COLORS[@]}"
# 인덱스를 이용한 반복
for (( i=0; i<${#COLORS[@]}; i++ ))
do
echo "COLORS[$i] = ${COLORS[$i]}"
done

▶️실습 - 간단계산기 만들기
#!/bin/bash
# simple_calc.sh: 두 수에 대한 사칙연산 예시
echo -n "1번째 정수 입력: "
read NUM1
echo -n "2번째 정수 입력: "
read NUM2
# 덧셈
SUM=$((NUM1 + NUM2))
# 뺄셈
SUB=$((NUM1 - NUM2))
# 곱셈
MUL=$((NUM1 * NUM2))
# 나눗셈
if [ $NUM2 -ne 0 ]; then
DIV=$((NUM1 / NUM2))
else
DIV="나눌 수 없음(0으로 나눔)"
fi
echo "-----[결과]-----"
echo " $NUM1 + $NUM2 = $SUM"
echo " $NUM1 - $NUM2 = $SUB"
echo " $NUM1 * $NUM2 = $MUL"
echo " $NUM1 / $NUM2 = $DIV"

- $(( )) : 정수연산을 수행
▶️실습 - 확장자 변경 프로그램
#!/bin/bash
# batch_copy_rename.sh: .sh 파일을 .bak로 복사 후 files 디렉토리로 이동
TARGET_DIR="./files" # 최종 저장할 디렉토리
SOURCE_DIR="." # 원본 파일이 있는 디렉토리
echo "=== SH 파일을 BAK로 변경하여 files 디렉토리로 복사 ==="
# files 디렉토리가 없으면 생성
if [ ! -d "$TARGET_DIR" ]; then
echo "files 디렉토리가 없습니다. 생성합니다: $TARGET_DIR"
mkdir -p "$TARGET_DIR"
fi
# 현재 디렉토리 내 .sh 파일을 찾아 .bak으로 복사
for FILE in "$SOURCE_DIR"/*.sh
do
# 파일이 실제 존재하는지 확인
if [ ! -f "$FILE" ]; then
echo "대상 파일이 없습니다: $FILE"
continue
fi
BASENAME=$(basename "$FILE" .sh) # 확장자 없이 파일명만 추출
NEWFILE="$TARGET_DIR/$BASENAME.bak" # 변경된 파일 경로
cp "$FILE" "$NEWFILE" # 원본 파일을 .bak으로 복사
echo "Copied: $FILE -> $NEWFILE"
done
echo "=== 완료 ==="

- 원본은 유지한채 확장자 변경된 파일들을 files 디렉토리에 저장하는 것으로 바꿔서 실습
🚀기존 프로젝트 + 리눅스 서버
- 기존에는 인텔리J에서 서버를 동작시키고
localhost:8080/hello 처럼 도메인에 접속해서 그 실행들을 확인할 수 있었다. - 리눅스 서버에 IntelliJ를 설치하는 것이 아닌 Java를 설치 후
gradlew 파일과 .jar파일을 이용해서 서버 동작이 가능하다.
(=build 후에 생긴 build/libs 에 들어가보면 jar파일이 있는데 이 jar파일을 실행시켜 동작하는 것) - ❓리눅스 서버에서 동작하고 애플리케이션을 컨테이너 밖 브라우저가 접속하게하기위해선
ex. MySQL이 컨테이너 안에서 동작하고 있을때 (Docker - 가상환경)
밖에있는 브라우저에서 접속이 가능했던 것처럼
⭐밖에 있는 포트와 안에 있는 포트를 연결시키는 과정이 필요할 것
내부 포트와 외부 포트 연결

- docker-compose.yml을 수정하는데 ports에 포트를 추가
- 8080으로 열린 컨테이너를 9090으로 접속할 수 있도록 설정을 추가한 것
- 정리하자면
도커 안에 방 여러개가 존재
도커 안에 있는 22번 방에서 ssh가 동작
도커 안에 있는 8080번 방에서 http가 동작
22번 방에 접속하기 위해서는 그 컨테이너 밖에서는 2222로 접속하게끔 설정한 것
8080번 방에 접속하기 위해서는 그 컨테이너 밖에서는 9090로 접속하게끔 설정한 것 - ssh는 연결통로를 열어주는 역할 (도커의 컨테이너로 들어갈 수 있는 연결통로를 열어줌)
포트 연결 변경사항 적용

- docker-compose down 을 먼저 해준 후
- docker-compose up -d --build --force-recreate 수행
(=다시 재생성하는 것)

- 리빌드 후 다시 ssh로 접속해볼 수 있다.
jdk 설치
- yum install -y java-21-amazon-corretto-devel

- git --version 으로 git설치 확인되었는지 확인

- util을 찾기 위한 find 명령어 설치
🚀실습 - 간단한 프로젝트와 연동



- https://아이디:토큰@저장소주소
처럼 git clone 해주면 인증절차를 받고 clone 가능

- chmod 로 권한을 부여하고, gradlew를 build

- .jar파일을 확인하고 java -jar 명령어로 실행해주면 리눅스에서 spring서버를 실행 가능

- 포트 설정에 따라 리눅스 서버 내부에서 열린 8080서버는 외부 브라우저에서 9090포트로 접속이 가능
🚀회고 결과 :
기존의 프로젝트에서 IntelliJ 없이도 터미널에서 서버가 동작했던 것처럼 리눅스 서버로 동작할 수 있음을 연습해볼 수 있었다.
처음에 구조가 어려울 것 같았지만 포트 연결 설정을 해주면 외부 브라우저에서도 접속이 가능하다는 것을 회고를 통해 더 공부할 수 있었다.
향후 계획 :
- 스크립트 언어 연습
'Recording > 멋쟁이사자처럼 BE 13기' 카테고리의 다른 글
[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_73일차_"Docker 이미지" (0) | 2025.03.25 |
---|---|
[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_72일차_"Docker 네트워크" (0) | 2025.03.24 |
[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_70일차_"Docker + Linux (2)" (0) | 2025.03.20 |
[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_69일차_"Docker + Linux" (0) | 2025.03.19 |
[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_68일차_"Git / GitHub" (0) | 2025.03.18 |