2기_오렌지

2기_오렌지

우아한테크코스 2기 오렌지(조예린)입니다 :)

Seoul
8 posts
반복문에서 비동기 처리를 동기적으로 처리 cover image
#javascript

반복문에서 비동기 처리를 동기적으로 처리

우아한테크코스 백엔드 과정을 하고 있는 필자는 프론트엔드(자바스크립트 및 기타등등) 왕초보다. 초보가 우테코 내의 프로젝트를 하는 중, 루프를 통해서 요청에 대한 응답을 동기적으로 처리하려다가 발견한 사실이 있다. 우선 예시 코드를 살펴보자. api…

custom exception을 언제 써야 할까? cover image
#exception

custom exception을 언제 써야 할까?

우아한테크코스의 두 크루인 오렌지와 우가 싸우고 있다. 왜 싸우고 있는지 알아보러 가볼까? 오렌지 : 아니 굳이 사용자 정의 예외 안 써도 됩니다!! 우 : 아닙니다!! 써야 합니다!!! 사용자 정의 예외(Custom Exception) 에 대한 둘…

로그 전략을 통해 메시지를 남기자 cover image
#spring

로그 전략을 통해 메시지를 남기자

웹이나 앱 어플리케이션을 개발하다 보면 어플리케이션의 상태를 확인하기 위해 로그를 남긴다. 그럼 로그는 왜 남길까? 보통 로그는 개발의 원활함을 위해, 에러 등을 확인하고 해결하기 위해, 보안의 의미로, 또는 마케팅 전략을 위해 남기기도 한다. 이런…

정적 메소드, 너 써도 될까? cover image
#static

정적 메소드, 너 써도 될까?

static이 붙은 녀석들은 JVM이 시작될 때 Method(static) 영역에 저장된다. 그리고 프로그램이 끝날 때까지 사라지지 않고 메모리에 남아있다. (자바 기준) 이번 글에서는 그중에서도 정적 메소드(static method)에 대해 이야기…

원시 타입을 포장해야 하는 이유 cover image
#oop

원시 타입을 포장해야 하는 이유

변수를 선언하는 방법에는 두 가지가 있다. 원시 타입의 변수를 선언하는 방법과, 원시 타입의 변수를 객체로 포장한 변수를 선언하는 방법이 있다. (Collection으로 선언한 변수도 포장한다. 이를 일급 컬렉션이라 하며 티거의 일급 컬렉션을 참고하…

Stream의 foreach 와 for-loop 는 다르다. cover image
#stream

Stream의 foreach 와 for-loop 는 다르다.

Stream에 대한 기본적인 학습을 위해 찾아왔다면, 공식 오라클 문서를 참고하면 좋을 것 같다. (java8 부터는 Stream과 Lambda를 제공한다.) 자바에서 Stream은 컬렉션 등의 요소를 하나씩 참조해 함수형 인터페이스(람다식)를 통…

getter를 사용하는 대신 객체에 메시지를 보내자 cover image
#object-calisthenic

getter를 사용하는 대신 객체에 메시지를 보내자

getter는 멤버변수의 값을 호출하는 메소드이고, setter는 멤버변수의 값을 변경시키는 메소드이다. 자바 빈 설계 규약에 따르면 자바 빈 클래스 설계 시, 클래스의 멤버변수의 접근제어자는 private이며, 모든 멤버변수에 대해 get메소드와…

좋은 코드를 위한 자바 변수명 네이밍 cover image
#naming

좋은 코드를 위한 자바 변수명 네이밍

JAVA 변수명 네이밍 규칙 보통 읽기 좋은 코드를 좋은 코드라고 한다. 변수, 메소드, 클래스 등의 이름이 일관성이 없고 그것의 쓰임을 분명히 나타내지 않는다면 어떨까? 코드의 유지보수가 어려워진다. 이름만 보고 쓰임을 알 수 없으면, 코드를 읽고…