일단 씻고 나가자

23.07.17 본문

Study/닥치는 대로 주워 담기

23.07.17

일단 씻고 나가자 2023. 7. 18. 01:52

2023. 07. 17 월요일

 

- [Java] concurrentmodificationexception이란 무엇이며 해결 방법?

: 컬렉션의 순회 중 특정 원소를 삭제나 수정할 때 일어난다.

해결 방법은 Interatorremove()를 쓰거나, 삭제할 원소를 다른 컬렉션에 모아두고 한 번에 removeAll()로 처리하는 방법이 있다.

 

 

- [Effective Java] 컴파일러의 warning이란? 문제점과 해결책?

: 컴파일러의 경고 표시로, 실행하여 치명적인 결과를 낳진 않기에 진행하여도 상관없으나 경고를 주는 표시. ‘비 검사 경고라 한다.

 

기술 부채처럼 이전에 하나씩의 경고가 쌓여 큰 에러로 돌아올 수 있으며, 많은 warning을 무시하고 진행했을 때 에러가 터지면 정작 어떤 부분이 주요 warning인지 찾지 못하는 경우가 발생한다. (의존성을 추가하는 작업일 경우 다수 발생)

 

 

- 다익스트라 알고리즘 설명, 조건? 설명?

: 출발점에서 목표점까지의 최단 경로를 구하는 알고리즘이며, 한 노드에서 다른 모든 노드로의 최단 경로가 모두 구해짐. , 간선에 음의 가중치가 없어야 함.

 

다익스트라는 DP와 그리디의 합으로 볼 수 있다. 최초엔 모든 노드의 값을 INF로 초기화한다. 시작 노드에서 주변 노드들을 간선 값으로 초기화한 후, 그 값 중 최솟값을 선택하여 같은 과정을 반복한다. 이때 최솟값으로 항상 업데이트하며, 선택된 노드는 다시 방문하지 않는다.

 

 

- 쉘 스크립트에서 특정 IP가 살아 있는지 1번 체크하고, 반응에 따라 출력하는 코드 작성?

 

ping은 해당 IP에 요청을 던지는 것이고, -c 1 count로 한 번만 요청하는 명령어, 1은 표준 출력으로 0(표준 입력), 2(표준 에러)가 있다. 해당 결과에 대해 > /dev/null 명령어로 아무것도 출력하지 말라는 내용. (‘>’redirection)

$?는 직전에 실행한 명령에 대한 변수이다.

 

 

- 쉘 스크립트에서 조건문을 한 줄에 작성하는 방법? 이때 연산자 주의할 점?

: ‘;’를 이용하여 if [ 1 > 2 ]; then 명령문; fi 로 작성할 수 있다. (명령문에서도 가능)

이런 방식에서 &&, || 등의 조건문이 가끔 에러가 날 수 있는데, 그땐 [[]]를 사용하면 정상 작동하는 경우가 있다.

 

 

- 쉘 스크립트에서 반복문(for, while)을 작성하는 방법? 디렉토리 파일명을 출력하는 코드?

: 기본적으로 for 변수 in 리스트 do 명령문 done 방식을 사용한다.

 

while도 흡사하다. while [ 조건문 ] do 명령문 done 으로 사용한다.

 

 

- 쉘 스크립트에서 압축의 명칭, 확장자, 특징, 명령어?

: 리눅스에서는 여러 파일을 한 파일로 묶은 것을 아카이브(archive)라고 하며,

확장자는 .tar이다. tar는 단순히 여러 파일을 하나의 파일로 묶은 것으로, 이를 압축하려면 따로 .tar.gz라는 확장자의 gzip 프로그램을 사용하여 두 단계로 진행된다.

따라서 압축하려면 tar 명령어를 사용하되 옵션으로 gzip 기능을 사용해야 한다.

 

명렁어는 tar cvzf [압축된 파일 이름] [압축할 파일이나 폴더명]

tar xvzf [압축 해제할 압축 아카이브 이름]으로 작성한다.

 

 

'Study > 닥치는 대로 주워 담기' 카테고리의 다른 글

23.07.19  (0) 2023.07.20
23.07.18  (0) 2023.07.18
23.07.14  (0) 2023.07.14
23.07.13  (0) 2023.07.14
23.07.12  (0) 2023.07.12