Dev with GPT
2days Feed back
나는 수업 중에 놓치거나 어려운 내용이 있으면 항상 즉각 GPT 에게 도움을 청한다.
혼자 문제점을 찾으면 시간이 소요되고 다른 내용을 놓치게 되지만, 이제는 바로바로 해결을 할 수 있게 됐다.
★ 기초 명령어
▶ 터미널을 이용한 파일 관리, 시스템 정보 확인, 사용자 관리 등 작업 수행
● who: 현재 시스템에 로그인한 사용자를 보여줍니다.
● clear: 현재 터미널 화면을 지워줍니다.
● whoami: 현재 로그인한 사용자 이름을 보여줍니다.
● cal: 현재 달력을 출력합니다.
● date: 현재 시간과 날짜를 출력합니다.
● hostname: 현재 시스템의 호스트 이름을 출력합니다.
● last: 로그인 내역
● echo $HOME: 홈 디렉토리 경로 출력
★ Vi
▶ Vi는 Unix와 Linux 시스템에서 사용하는 텍스트 에디터 중 하나입니다. 명령 모드와 편집 모드로 나뉘어집니다.
● vi: 텍스트 에디터
● 명령 모드와 편집 모드
● 비주얼 블록 모드: ctrl+v 비주얼블록 (비주얼 블록 모드에서는 직사각형 모양으로 텍스트 블록을 선택할 수 있습니다.)
● 자주 쓰는 명령어: i, a, o, u, y, p, dd, dw, :, /, ?, !, G, gg
- i: 편집 모드로 전환
- a: 커서 다음에 입력
- o: 커서 다음 행에 새로운 행 삽입
- u: 실행 취소
- y: 선택한 텍스트 복사
- p: 복사한 텍스트 붙여넣기
- dd: 현재 줄 삭제
- dw: 단어 삭제
- :q: vi 종료
- /: 검색
- ?: 반대 방향 검색
- !: 쉘 명령 실행
- G: 마지막 행으로 이동
- gg: 첫 행으로 이동
★ bash 경로설정
▶ bash 경로 설정은 쉘에서 명령을 실행할 때 필요한 파일이나 디렉토리의 경로를 지정해주는 작업입니다.
● 현재 경로 PATH 환경변수에 추가하기
$PATH=$PATH:
$echo $PATH
★ 명령어 별칭(alias) 설정
▶ 명령어 별칭은 자주 사용하는 명령어를 더 짧은 단어 또는 구문으로 대체하여 타이핑하는 데 드는 시간과 노력을 줄입니다. 명령어 별칭은 alias 명령어를 사용하여 설정할 수 있습니다.
- alias h:
- history 명령어의 별칭으로, 이전에 실행했던 명령어들의 목록을 보여줍니다.
- alias l:
- ls -alF 명령어의 별칭으로, 현재 디렉토리의 파일/디렉토리 목록을 자세히(list) 보여줍니다.
- alias c:
- clear 명령어의 별칭으로, 현재 터미널 화면을 지웁니다.
- alias cp:
- cp -i 명령어의 별칭으로, 파일/디렉토리를 복사할 때 덮어쓰기 여부를 묻는 대화형 모드로 작동합니다.
- alias mv:
- mv -i 명령어의 별칭으로, 파일/디렉토리를 이동하거나 이름을 변경할 때 덮어쓰기 여부를 묻는 대화형 모드(interactive mode)로 작동합니다.
- alias df:
- df -h 명령어의 별칭으로, 파일 시스템의 용량 사용량을 휴먼 리더블형태로 보여줍니다.
- alias du:
- du -h --max-depth=1 명령어의 별칭으로, 현재 디렉토리의 파일/디렉토리별 용량 사용량을 휴먼 리더블 형태로 보여줍니다.
★ 환경 변수와 지역변수
▶ 환경 변수와 전역 변수는 각각의 특징에 따라 적절하게 사용되어야 합니다.
● 환경 변수는 시스템 전체에서 사용되기 때문에 값이 변경되면 다른 프로그램에도 영향을 미칠 수 있습니다.
● 전역 변수는 프로그램 내에서만 사용되기 때문에 값이 변경되더라도 다른 프로그램에 영향을 미치지 않습니다.
지역변수 : set | 시스템이 가지고 있는 설정 값들을 의미하며, 다시 로그인 해도 그 값을 유지 |
환경변수 : env | 현재 로그인한 터미널에서만 적용되는 변수, 다시 로그인 하면 소멸, 현 세션에서만 유효 |
★ vi ~/.vimrc (vi 설정 파일 조작)
▶ .vimrc 파일은 vi 에디터에서 사용되는 설정 파일입니다. vi 에디터에서 보기 좋게 화면을 구성하기 위한 설정입니다.
- (기존내용)
- 1 se nu ai ci si ts=4 sw=4 ruler title showmatch
2 syntax on
3 hi comment ctermfg=red
======================================== - (추가한 내용)
4 ab P printf(" ");
5 ab J System.out.println(" ");
. ~/.profile
● 1행: 화면에 라인 번호를 표시합니다. auto-indent(자동 들여쓰기), smart-indent(스마트 들여쓰기),
tabstop=4, softtabstop=4, ruler(커서 위치 정보), title(제목 표시), showmatch(괄호 색상 강조) 옵션을 설정합니다.
● 2행: vi 에디터에서 syntax highlighting(구문 강조)을 사용합니다.
● 3행: 주석(Comment)의 색상을 빨간색으로 지정합니다.
● 4행: vi 에디터에서 P라고 입력할 경우, printf(" ");로 대체합니다.
● 5행: vi 에디터에서 J라고 입력할 경우, System.out.println(" ");로 대체합니다.
★ 별 찍기 코딩
▶ 초급 국비 수강생들에게 첫 관문이라고 하는 별 찍기 코딩을 나도 드디어 해보았다.
● 강사님께서 상세히 알려주신 덕분에 수월하게 클리어(?) 하였다.
2차원 배열을 처음 접하시는 분들을 위해 내가 이해한 방식을 적어보았다.
(0, 0)
(1, 0) (1, 1)
(2, 0) (2, 1) (2, 2)
(3, 0) (3, 1) (3, 2) (3, 3)
(4, 0) (4, 1) (4, 2) (4, 3) (4, 4)
[풀이 및 쉬운 이해방법]
위 숫자는 별찍기의 2차원 행렬을 나타낸 것이다. (i,j) 행렬이고.
for문의 조건문이 j <= i 이기 때문에 0~4까지 증가하는 i 에 따라서
j의 값도 작거나 같은 값으로 증가하게된다.
때문에 i가 0일 경우에는 j는 0이 되고, i가 1일 경우에는 j가 0,1 의 값을. i가 2일 경우에는 j가 0,1,2의 값을 가진다.
이러한 방식으로 i의 값에 따라 j의 값이 정해지고 이를 행렬로 표현하는 그림을 그려보면 이해가 쉽다.
공부한 흔적