만족은 하되 안주하지는 말자

기록해야 기억한다

전체 글 168

[JAVA] 예외 (Exception)

예외 Exception 에러란? JVM 실행에 문제가 발생함을 의미. 자바에서는 에러 이외에 예외(Exception)라고 부르는 오류가 존재한다. 예외는 예외 처리 (Exception Handling) 을 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다. 예외의 종류 예외에는 일반 예외와 실행 예외가 있는데 일반 예외는 컴파일 과정에서 검사한다. 만약 예외처리 코드가 없다면 컴파일과정에서 오류가 발생한다. 하지만 실행예외 (런타임예외)는 컴파일러가 검사하지 않는다 그렇기 때문에 개발자를 괴롭히는 에러는 대부분 실행 예외다. (=런타임예외) 예외 객체 트리 일반예외는 대신 RuntimeException을 상속받지 않는다. 그 외의 객체는 런타임예외 객체라 할 수 있다. 예외 처리 코..

[hyperledger-fabric] hyperledger fabric 1.4 설치 및 실행 가이드

hyperledger - fabric 을 해보고자 하는 사람들에게 도움이 될 수 있길 바라는 맘에 쓴, 하이퍼레저 패브릭 설치 v1.4 가이드 입니다. AWS EC2 ubuntu 18.04 버전을 기준으로 하고 있습니다. 시작 sudo apt update -y sudo apt upgrade -y git --version # 없으면 설치 git clone -b release-1.4 --single-branch https://github.com/hyperledger/fabric-samples.git 위 명령어는 fabric-sample 의 여러 브랜치 중, 버전1.4 브랜치만 가져오는 명령어 입니다. 따라서 다른 버전을 하고싶다면 https 주소 앞에 부분은 지우면 됩니다. git 설치하는 법은 다른 곳을 ..

프로그래밍/ETC 2020.09.20

[JAVA] 다형성 (상속, 오버라이딩, 업캐스팅)

다형성이란 하나의 메소드나 클래스가 있을 때 이것들이 다양한 방법으로 동작하는 것을 의미한다. -www.opentutorials.org- 다형성의 대표적인 예로는 Override 가 있다. 클래스의 부모메소드에 정의되어있는 메소드를 자식클래스의 입맛에 맞게 다양한 형태로 바꿀 수 있음을 의미한다. 자바 다형성의 예시를 확인해보자. Car 는 모든 자동차 종류의 부모 클래스다. 하위에는 자동차의 한 분류인 SUV 가 있다. Main.java class Main { public static void main(String[] args) { Car car = new Car(); Car suv = new Suv(); car.run(); suv.run(); } } Car.java public class Car { ..

[JAVA] Thread 로 은행계좌 문제 (Bank Account Problem)를 확인해보자.

쓰레드란? 프로세스 내 하나의 실행 흐름 단위이다. 각 프로세스는 최소 1개 이상의 쓰레드를 가진다. (만약 그 쓰레드가 1개인 경우, 그 쓰레드를 메인 쓰레드라 한다) 멀티 스레드를 잘 구성한다면, 멀티 프로세스로 구성할 때에 비해 메모리 공유량이 줄어들어 시스템 자원 소모가 줄어든다. Context Switching 에 대한 오버헤드도 줄어든다. 하지만 프로그래머가 골치를 썩일 문제 또한 많은데 그런 예시 중 대표적인게 "은행 계좌 문제", "식사하는 철학자 문제" 이다. 이중 은행계좌 문제로 알 수 있는 건, Critical Section 문제다. 임계구역 문제인데 같은 자원을 서로 다른 쓰레드가 점유하고자 해서 생기는 문제점이다. 이 임계구역 문제를 해결하기 위해선 적절한 실행 흐름 제어가 필요하..

[예비개발자] 2020 카카오 블라인드 채용 1차 코딩 테스트 후기

내 나이 25살. 재수도, 휴학도, 워홀도 한 번 안해본 채 정직하게 하지만 빠르게 졸업을 앞두고 있다. 대학가기보다 어렵고 힘들다는 취준생의 신분이 나는 되었다. 알고리즘의 중요함? 알고는 있었다. 본격적으로 준비하기 시작한 건 대략 올해 5~6월부터다. 3학년 때 이미 교내 알고리즘 대회에서 1문제밖에 풀지 못하는 참사를 겪었다. 그래서 적어도 4학년 들어서는 알음알음 한땀한땀 한 문제씩 풀어오다가, 인생 첫 코테에서 나름 준비를 한 채 풀었지만 제대로 풀린게 없었다. 그 때 문자열 문제들때문에 골치가 아픔을 느껴 파이썬으로 갈아타게 되었다. 그 후 친구와 알고리즘 문제풀이 깃허브도 파면서 (github.com/kjwook7522/luna-algorithm) 꾸준히 난이도 별로 문제를 풀고 업로드도 ..

인생 2020.09.17