개발일지/컴퓨터지식

개발일지/컴퓨터지식

재귀함수

재귀 함수란 자기 자신을 호출하는 함수이다 public void recursion(){ System.out.println("This is recursion!"); recursion(); } // 출력 This is recursion! This is recursion! This is recursion! This is recursion! This is recursion! This is recursion! ... 재귀 함수가 적합한 상황 주어진 문제를 비슷한 구조의 더 작은 문제로 나눌 수 있는 경우 중첩된 반복문이 많거나 반복문의 중첩 횟수를 예측하기 어려운 경우 변수 사용을 줄여 변경 가능한 상태를 제거하여 프로그램 오류가 발생할 수 있는 가능성을 줄이는 경우 장점 불필요하게 여러 개의 반복문을 사용하지 ..

개발일지/컴퓨터지식

명령어 옵션 -r 과 -f Linux

cp와 rm 에는 -r 과 -f 같은 옵션들이 있다. 이 옵션들이 정확히 무엇을 안내하는지 알아보자 r : recursive의 약자. 특정 행동을 순환적으로 반복 f : force의 약자. 어떤 행위를 강제한다 예를 들어 mkdir A rm A # rm: A: is a directory 일반적인 rm 명령어는 파일을 저장하고 있는 폴더를 삭제하지 못한다. 이때 -r 옵션을 추가하면 폴더도 삭제 가능하다. rm -r A -f 옵션을 사용하면 보호되거나 존재하지 않는 파일도 강제로 삭제할 수 있다. 그래서 -f 옵션을 사용 때는 각별히 주의해야 한다. -r 과 -f 명령어를 합쳐 -rf 형태로 쓸 수 있다. rm -rf 명령어를 사용하면 민감한 정보를 가진 파일도 삭제하여 문제를 일으키는 경우가 생길 수 ..

개발일지/컴퓨터지식

Mac 환경변수

환경변수란? 환경에 따라 프로그램의 동작에 영향을 미치는 값 A라는 프로그램은 B라는 폴더에 지정된 어떤 값을 읽어와 작업에 사용한다고 했을 때, 프로그램 A는 B폴더의 위치를 파악할 수 있어야 한다. 혼자만 사용하는 프로그램이라면 경로를 입력해주면 그만이지만, 여러 사람들에게 배포했을 경우 폴더 B의 경로가 모두 동일하다면 관계없지만 그렇지 않다면 폴더 B를 찾을 수 없어 프로그램 A는 정상적인 동작을 할 수 없다. 환경변수는 지역 환경변수와 전역 환경변수로 분류된다. 지역 환경변수 : 환경변수를 생성한 특정 사용자만 사용할 수 있는 환경변수 전역 환경변수 : 모든 사용자가 사용할 수 있는 환경변수 환경변수 임시 적용 터미널을 열고 # 지역 환경변수 hello="안녕하세요 라는 뜻" hi=안녕 # 전역..

개발일지/컴퓨터지식

Read, Write, Execute 권한 - linux

mkdir A touch B.txt ls -l 터미널 왼쪽 부분을 보면 A폴더는 drwxr-xr-x라고 되어있다. B.txt 는 -rw-r--r--이라고 되어있다. 이렇게 각각 10개의 문자가 있는데 각각의 의미를 알아보자 drwxrwxrwx 라고 되어있다고 했을 경우 아래처럼 나누어진다 d / rwx / rwx / rwx # 1 2 3 첫 번째 d는 directory로 폴더 여부인지를 알려준다. -라고 되어 있을 경우 폴더가 아니라는 뜻이다. rwx의 경우 해당 폴더(파일)의 권한을 나타낸다. r : read permission 읽기 권한 w : write permission 쓰기 권한 x : execute permission 실행 권한 해당 부분이 -로 되어있으면 권한이 없음을 나타내고 알파벳 rwx..

개발일지/컴퓨터지식

텍스트 에디터 nano

CLI 환경에서 유명한 에디터는 vim(vi), emacs 등이 있다. https://nolboo.kim/blog/2016/11/15/vim-for-beginner/

개발일지/컴퓨터지식

관리자 권한

사용자는 일상적으로 pc를 켜서 바탕화면에 진입하기 위해 로그인하는 계정이다. 관리자는 사용자가 접근할 수 없는 영역에 접근할 수 있는 높은 권한을 가지고 있다. 관리자 권한은 해킹으로부터 사용자와 pc를 보호하기 위해 만들어졌다. sudo : 일시적으로 관리자 권한을 획득하는 명령어 mkdir eroom cd eroom mkdir A sudo mkdir B ls -l 사용자 권한으로 만든 A폴더와 관리자 권한으로 만든 B폴더의 차이점을 알 수 있다.

개발일지/컴퓨터지식

Linux 기본 명령어

pwd : 현재 위치 확인하기 mkdir : 새로운 폴더 생성하기 mkdir "생성할폴더이름" ls : 특정 폴더에 포함된 파일이나 폴더 확인하기 ls -l # 폴더나 파일의 포맥을 전부 표현 ls -a # 숨겨진 폴더나 파일도 출력 ls -al or -la # 위 둘을 합친 것. 순서 상관 없음 cd : 폴더에 들어가기 cd "폴더이름" touch : 파일 생성하기 touch "생성할파일이름" touch hello.txt echo : 화면에 출력 echo "안녕하세여 여러분" > : 실행 결과를 파일로 저장하기 echo "너의 이름은 무엇이니?" > name.txt cat : 파일의 내용을 터미널에 출력하기 cat name.txt # 너의 이름은 무엇이니? rm : 폴더나 파일 삭제하기 rm name...

개발일지/컴퓨터지식

CLI(Command-line Interface)와 GUI(Graphic User Interface)

CLI (Command-Line Interface) 명령줄 인터페이스 - 명령어를 이용한 컴퓨터 제어 방식 GUI (Graphic User Interface) 그래픽 사용자 인터페이스 - 일반적으로 사람들이 사용하는 컴퓨터 제어 방식 영화나 드라마 속 해커들의 모니터를 보면 검정 화면에 흰색 글씨로 된 화면을 보고 있다. 이들이 사용하는 프로그램이 바로 터미널이다. 일반적인 사람들은 GUI가 익숙하지만 프로그래밍을 배우는 사람이라면 CLI를 다룰 줄 알아야 한다. 그런데 왜 불편하고 배우기 어려운 CLI를 사용하는 것일까? 상대적으로 높은 안정성과 빠른 속도 때문이다. GUI는 사용자가 컴퓨터를 쉽게 제어할 수 있지만, 그래픽에 컴퓨터 자원을 많이 사용할 수밖에 없으며, CLI에 비해 느린 편이다. CL..

E-room
'개발일지/컴퓨터지식' 카테고리의 글 목록 (3 Page)