일단 씻고 나가자
23.07.11 본문
2023. 07. 11 화요일
- [Java] substring의 인덱스 특징?
: 첫 번째 인덱스는 두 번째 인덱스보다 작거나 같아야 하며,
substring(1, 2); 이라면 1번 인덱스의 문자 하나를,
substring(1, 1); 이라면 빈 문자열을 반환한다.
- 투포인터에서 양쪽의 포인터가 마주칠 때까지 양쪽 포인터를 이동하는 효율적인 방법?
: while(left<right) left++; while(left<right) right--;
앞의 while문에서 left는 끝까지 이동해 봐야 right와 같아지고,
뒤의 while문에서 left가 끝까지 이동했다면 left<right를 통과 못하므로 그대로 빠져나온다.
- [Effective Java] 안티 패턴이란? 상수 구현 방법과 위치(인터페이스)?
: 실제로도 자주 사용되는 문법이지만 비효율적이거나 비생산적인 패턴.
예를 들면 if문에 중괄호를 생략하는 것 등이 있다.
상수는 클래스 내부에서 사용하지 말자. (내부 구현)
사용자에게 혼란을 주므로, 차라리 클래스에 static final로 추가하거나 util 클래스로 따로 빼는 편이 낫다.
상수를 사용하려면 인터페이스에 두지 말자. 인터페이스는 타입을 정리하는 용도로만 사용하고, 상수가 필요하다면 class에 담아라.
- 우분투란(배포판이란)? 리눅스 배포판의 종류? 우분투 패키지 관련 명령어?
: 리눅스의 다양한 배포판 중 하나. 윈도우나 맥 같은 경우는 여러 프로그램과 커널, 쉘 등을 버전에 맞게 하나로 묶어 사용하기 편리하지만, 리눅스의 경우 각 프로그램을 각 개발자가 개발하여 호환 문제가 생기기 때문에 리눅스의 여러 기능을 한 데에 묶어 배포하는 여러 버전이 있다. 우분투도 그중 하나며, 우분투 배포판 혹은 우분투 패키지라 칭한다.
aws 등이 사용하는 가장 인기 있는 배포판 중 하나이다.
크게 RedHat(RPM 패키징 시스템)과 데비안(deb 패키징 시스템) 계열 배포판으로 나뉜다.
RedHat에는 CentOS, Fedora 등이 있고 데비안에는 ubuntu 등이 있다.
패키지 인덱스 정보 (배포판 버전에 따른 패키지 업데이트) 관련 명령어는
sudo apt-get update (upgrade는 최신 버전이 나온 것은 모두 업데이트. 개별 프로그램의 조합에서 에러가 날 수 있기 때문에, upgrade는 실무에서 쓰지 않는다.)
install, remove 패키지 명으로 설치와 삭제 가능.
- 에디터의 사용 이유? vim이란? vim의 기본 입력, 삭제, 찾기, 저장 방법?
: 리눅스는 대부분의 설정 등이 GUI 없이 파일의 내용 수정만으로 이루어지므로 에디터의 활용이 필수이다.
VIM은 Vi improved의 약자. 에디터의 일종으로, 전통적으로 유닉스 계열의 운영체제에서는 vi를 많이 썼다. Vi 에디터에서 자동화, 시각화 메뉴 등을 추가한 프로그램이 Vim이다.
기본적으로 vi 파일명.txt 방식으로 파일을 생성한다.
일반 모드에서 i, a, o 입력 시 insert mode로 변환, 글 입력이 가능해진다.
일반 모드에서 삭제하고자 하는 글자로 이동 후 x를 누르면 해당 글자가 삭제된다.
일반 모드에서 /를 누르고 찾고자 하는 문자를 입력하면 해당 부분을 화면으로 보여준다.
일반 모드에서 :를 누르면 명령 모드가 된다.
명령 모드에서 wq를 입력하면 내용 반영 후 종료한다.