일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- bulk_create
- 쿼리셋합치기
- 프로젝트설정
- DI
- circuitbreaker
- 객체비교
- SpringBoot
- 컨트리뷰팅
- IOC
- 주니어개발자
- 상속모델
- circular dependency
- 일급함수
- 운영체제
- GraphQL
- API문서화
- resilience4j
- 마이크로서비스패턴
- django
- Not Null constraint failed
- cannot import name
- Npoem
- n poem
- Spring
- 함수형프로그래밍
- 좋은코드란
- Java
- 토이프로젝트
- 2차원배열 정렬
- bean-validator
- Today
- Total
목록분류 전체보기 (43)
코딩 하는 가든
2021.03.26 원래 학교 후배님들을 대상으로 작성 했던 글이라 학교 얘기를 좀 써놨는데 ... 프로그래머스에 포탈이 열려서 많은 분들이 오시는것 같네요 들어오시는 모든 취준 하시는분들 화이팅 하시고 꼭 원하는 기업에 갈 수 있기를 바랍니다!! (_ _) --- 이 글의 예상 독자를 IT 기업의 개발자로 취직하고 싶은 분들 이라고 가정하고 썼지만 아니여도 상관은 없습니다 ㅎㅎ 제 소개를 하자면 저는 15학번 컴공 학생으로 이번 4학년 2학기에 운좋게 좋은 기회를 얻어 네이버 웹툰 인턴을 거쳐 카카오에 재직중인 사람입니다. 먼저 사실 취업 후기를 쓰려 했는데 취준 생활을 되돌아보니 알고리즘 풀고 전공공부 한것밖에 생각이 안나서 이게 도움이 될까? 라는 의문이 들었습니다. 생각해보면 개발자로 취업을 위해..

Validation을 해보자 웹 개발을 하다 보면 서버에 들어온 요청이 서버에서 요구하는 스펙에 잘 맞게 들어왔는지 검사해야 할 필요가 있습니다. 예를 들어 회원가입을 할 때 이름은 필수로 들어와야 한다던지, 나이는 0보다 커야 한다던지 같은 것 입니다. 물론 이런 식으로 들어온 요청에 대해 검사를 할 수도 있을 것입니다. //이름이 비어있으면 exception을 던진다. if (request.getName() == null) { throw Exception; } // 나이가 0보다 작으면 exception을 던진다. if (request.getAge() < 0) { throw Exception; } 하지만 점점 커지는 웹 어플리케이션 에서 위처럼 요청에 대한 검사를 하다 보면 필드가 늘어남에 따라 코드..

블로그에서 사용한 소스코드는 https://github.com/97e57e/BLOG 에서 보실 수 있습니다. Filter 란? 사실 필터는 스프링의 독자적인 기능이 아닌 자바 서블릿에서 제공하는 기능입니다. 스프링 프레임워크에서 필터로 인증 등 다양한 작업을 하는 데 사용하니 스프링 프레임워크에서의 필터에 대해 기록 해 보고자 합니다. 아마 스프링 필터와 연관지어 검색을 하면 많이 보는 그림 중 하나 일 것입니다. 위 그림은 스프링 프레임워크에서 요청에 대한 라이프 사이클을 나타낸 그림입니다. 스프링 프레임워크는 들어온 요청이 DispatcherServlet에 의해 컨트롤러에 매핑됩니다. Filter는 요청이 DispatcherServlet에 의해 다뤄지기 전, 후에 동작합니다. 또한 Filter는 Fi..

얼마 전 본 면접에서 Runtime Exception과 Checked Exception에 대한 차이점에 대한 질문을 받았습니다. 그 당시에는 차이점을 잘 몰랐고 느낀 점으로만 Runtime Exception은 수행 중에 발생하는 예외이고 Checked Exception은 컴파일 때 잡아내는 Exception이라고 대답을 했고 잘 알아보아야겠다는 생각에 공부를 한 후 기록합니다. Exception 이란(?) Exception(예외) 이란 프로그램의 수행 도중 예상할 수 없었던 상황이 발생하여 프로그램을 더 이상 수행할 수 없는 상황이 발생하는 것입니다. (Java를 사용하는...) 개발자는 이러한 예외 상황이 발생할 수 있는 구간에 try ~ catch 구문을 사용하여 만약 예외 상황이 발생한다면 정해진 ..

JVM, JDK, JRE에 대해서 알아보기 JVM의 메모리 구조에 대해서 공부하던 중 문득 JVM과 그 주변 환경에 대한 간단한 정리를 한번 하고 가면 좋을 것 같아 기록합니다. 먼저 각 용어가 무슨 뜻인지 알아보겠습니다. JVM (Java Virtual Machine) 자바 가상 머신 의 약자로 자바 바이트 코드를 실행시키기 위한 가상 머신입니다. 자바는 이 JVM 덕분에 플랫폼에 독립적일 수 있습니다. JRE (Java Runtime Environment) 자바 실행 환경의 약자로 자바 프로그램을 실행하기 위한 도구들이 들어있으며 JVM이 이 안에 포함됩니다. JDK (Java Development Kit) 자바 개발 도구의 약자로 자바로 개발을 하기 위한 모든 것을 묶어놓은 키트입니다. 자바 실행 ..

교착상태, 데드락 이란? 교착상태 : 프로세스들의 집합이 더 이상 진행을 못하고 영구적으로 블록(대기)되어 있는 상태 교착상태, 데드락의 원리 교착상태는 시스템 자원에 대한 경쟁 도중에 발생할 수도 있고 프로세스 간 통신 도중 발생할 수도 있습니다. 한 프로세스가 특정 사건의 발생을 기다리며 대기하고 있고, 이 사건이 다른 블록 된 프로세스에 의해 발생될 수 있다면 이 프로세스의 집합은 교착 상태가 됩니다. 왜냐하면 기다리고 있는 사건이 발생하지 않기 때문입니다. 예시를 하나 보겠습니다. 아래의 그림에는 사거리 교차로가 있고 차들은 직진을 하려고 대기 하고 있습니다. 여기서 차는 직진만 가능 하다고 가정하겠습니다. 차들이 교차로를 모두 지나가기 위해서는 한 차가 지나갈 때는 마주 보고 있는 차가 아니라면..

자바 객체 비교하기 ( equals / hashcode ) 자바에서 객체를 비교하는 방법에 대해 기록합니다. Equals 메소드에 대하여 equals의 필요성 아래와 같은 Toy 클래스가 있다고 가정하겠습니다. 그리고 이름은 "자동차" 가격은 10000원을 가진 Toy 객체 두 개를 생성합니다. 우리는 장난감의 이름과 가격이 같기 때문에 같은 장난감이라고 판단하고 싶습니다. 우리가 아는 기본적인 비교 방법인 == 비교를 이용해서 두 객체를 비교해 보면 false가 나오게 됩니다. 왜냐하면 toy1과 toy2변수는 객체 그 자체가 아닌 객체를 가리키는 레퍼런스를 갖고 있기 때문입니다. 따라서 값을 이용해서 객체를 비교하려면 우리는 클래스 안에 equals라는 메소드를 재정의 해야 합니다. (equals 메..

운영체제 수준에서 지원하는 여러 가지 병행성 기법 운영체제와 프로그래밍 언어 수준에서 병행성을 위해 제공하는 기법에 대해 기록합니다. 우선 이런 기법들이 왜 필요한지 간단하게 알아보겠습니다. 알고 가야 할 것 임계자원 : 두 개 이상의 프로세스가 동시에 사용할 수 없는 자원 임계영역 : 그 자원을 접근하는 프로그램 코드의 일부분 어떤 프린터가 있다고 하겠습니다. 프린터에 두 개의 프로세스가 동시에 출력을 하려고 한다면 먼저 시작된 하나의 출력이 종료된 후 다음 출력이 진행되어야 할 것입니다. 두 출력이 동시에 진행될 수는 없습니다. 여기에서 프린터는 두 프로세스가 동시에 사용할 수 없는 임계 자원이 됩니다. 그리고 프린터를 사용하기 위해 프로세스가 프린터 관련 작업 명령어를 수행하는 구간이 바로 임계 영..