[Linux] Issue : Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend
·
DevOps/Linux
openSSH 명령어 실행을 위해서 sudo apt install openssh-server를 입력했더니 제목과 같은 에러가 발생했다. 문제의 원인을 알아보니 dpkg 패키지 관리 도구가 여러 프로세스 간에 동시 실행되려 할 때 생긴다고 한다. 다른 곳에서 dpkg 프로세스가 진행 중이거나, 중단되어서 lock 파일이 해제되지 않았기 때문인데 문제는 난 사용한 적도 없는데 뭔... Linux 사용자들이 종종 겪는 문제라고 한다. 다행히 해결방법은 단순하다. $sudo rm /var/lib/apt/lists/lock $sudo rm /var/cache/apt/archives/lock $sudo rm /var/lib/dpkg/lock* $sudo dpkg --configure -a $sudo apt upda..
[Effective-Java] Chapter8 #50. 적시에 방어적 복사본을 만들라
·
Reference/Effective-Java
📌 방어적 프로그래밍 💡 클라이언트가 우리의 불변식을 깨뜨리려 혈안이 되어 있다고 가정하고 방어적으로 프로그래밍하라. 자바로 작성한 클래스는 시스템의 다른 부분에서 무슨짓을 하든 그 불변식이 지켜진다. 하지만 악의적인 의도를 가지거나, 순전히 실수로 클래스를 오작동하도록 만들 수 있다. 📌 As-is. 불변식을 지키지 못한 클래스 public final class Period { private final Date start; private final Date end; /** * @param start 시작 시각 * @param end 종료 시각. 시작 시각보다 뒤여야 한다. * @throws IllegalArgumentException 시작 시각이 종료 시각보다 늦을 때 발생한다. * @throws Nu..
[Algorithm Strategies] 2-4. 알고리즘 시간 복잡도 분석
·
Reference/알고리즘 문제 해결 전략
구종만님의 "프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략"을 기반으로 공부한 내용입니다. 📕 목차 1. Overall 2. 선형 시간 알고리즘 3. 선형 이하 시간 알고리즘 4. 지수 시간 알고리즘 5. 시간 복잡도 6. 수행 시간 어림짐작하기 7. 계산 복잡도 클래스: P, NP, NP-완비 1. Overall • 알고리즘 평가 기준 • 프로그램 실행 시간 != 알고리즘 속도 • 반복문이 지배한다 📌 알고리즘 평가 기준 시간 알고리즘 수행 시간이 작을 수록 더 빠르게 동작하는 것을 의미 시간 안에 실행되지 않는다면 답안의 정확도와 상관없이 오답 알고리즘 수행 속도와 특성을 분석하는 능력 필요 공간 적은 용량의 메모리를 사용 알고리즘이 아무리 빨라도, 너무 많은 메모리 공간을 요구한다면 오답 📌 ..
[Clean Code] 4. 주석
·
Reference/CleanCode
📕 목차 1. 주석은 나쁜 코드를 보완하지 못한다 2. 코드로 의도를 표현하라! 3. 좋은 주석 • 법적인 주석 • 정보를 제공하는 주석 • 의도를 설명하는 주석 • 의미를 명료하게 밝히는 주석 • 결과를 경고하는 주석 • TODO 주석 • 중요성을 강조하는 주석 • 공개 API에서 Javadocs 4. 나쁜 주석 • 주절거리는 주석 • 같은 이야기를 중복하는 주석 • 오해할 여지가 있는 주석 • 의무적으로 다는 주석 • 이력을 기록하는 주석 • 있으나 마나 한 주석 • 무서운 잡음 • 함수나 변수로 표현할 수 있다면 주석을 달지 마라 • 위치를 표시하는 주석 • 닫는 괄호에 다는 주석 • 공로를 돌리거나 저자를 표시하는 주석 • 주석으로 처리한 코드 • HTML 주석 • 전역 정보 • 너무 많은 정보 ..