일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- java
- python3
- 파이썬
- 파이썬3
- 데이터베이스
- 개발
- Spring Boot
- rabbitmq
- BCI
- Spring
- bytecode
- 스프링 부트
- 보안
- HTTP
- 디자인 패턴
- django
- 스프링
- 자료구조
- 웹
- 스프링부트
- node.js
- 자바
- 장고
- ORM
- 웹 개발
- Python
- 안드로이드
- mysql
- db
- JPA
- Today
- Total
목록자바 (23)
semtax의 개발 일지
개요 이번 포스팅에서는, 자바의 모든 예외(Exception)을 한번애 전부 캐치 할 수 있는 방법에 대해서 포스팅을 하도록 하겠다. 자바 예외 처리 자바에서는 보통 아래와 같이 try-catch 문을 이용해서 에러를 핸들링 할 수 있다. public class ExampleClass { public static void main(String[ ] args) { try { int[] numbers = {1, 2, 3}; System.out.println(numbers[10]); } catch (Exception e) { System.out.println("Exception is occured!"); } } } 또한, throws 를 이용해서 예외를 다른곳으로 전파 할 수도 있다. (보통 해당 클래스를 호..
개요 이번 포스팅에서는, Swagger를 이용해서 REST API 문서를 자동으로 생성하는 법을 다루려고 한다. 문서화의 중요성 한가지 상황을 가정해보도록 하자. 만약 여러분이 프론트 개발자, 다른 팀에서 만들어진 REST API를 사용 해야하는 입장의 개발자라고 가정을 해보자. 이때, 프로젝트가 다 됬다고 듣고, API를 사용하려고 봤는데 어떻게 사용하는지에 대한 메뉴얼을 주지 않아서 사용방법을 알아내기 위해 저 API를 개발한 직원을 직접 부르거나 여러분이 직접 저 코드들을 분석해서 사용방법을 알아내느라 1~2주가 소요 되어버렸다. 상상만 해도 정말 끔찍하다. 이런 상황을 어떻게 극복하면 좋을까? 위와 같은 상황을 방지해주기 위해, 저러한 API를 만들고 나서는 A..
개요 이번 포스팅에서는, 게시글 페이징을 구현하는 시간을 가지도록 하겠다. ##페이징을 왜 쓰는건가? 사실, 이 글을 읽는 사람들 중에서 이런 생각을 하는 사람도 있을것이다. 굳이, 페이징 안쓰고 한꺼번에 보여주면 안되는건가? 왜 귀찮게 잘라서 보여주려는거지? 물론 유저의 숫자도 적고, 데이터의 양이 10개, 100개 처럼 양이 적은 경우에는 굳이 페이징을 안하고 한꺼번에 로딩해서 보여줘도 된다. 하지만, 유저수가 많아지고, 불러와야 하는 데이터의 양도 많아지고, 처리해야되는 로직이 복잡해진다면 이는 크나큰 성능 병목으로 이어지게 된다. 여담으로, 실제로 필자가 겪어본 서비스 중에, 동시 접속자 수가 30005000 정도 되는 서비스인데, 페이징 기능이 구현이 안되있어서 로딩에 거의..
개요 이번 포스팅에서는, 지난 시간에 구현한 내용들을 기반으로 글을 쓴 사용자/댓글을 단 사용자만 글을 수정, 삭제 할 수 있게 하는 기능을 구현해보도록 하겠다. Authorization? 먼저 기능 구현에 앞서서, Authorization이 무엇인지 알아보도록 해보자. 역시나, 위키피디아의 정의를 찾아보면 아래와 같다. Authorization is the function of specifying access rights/privileges to resources, which is related to information security and computer security in general and to access control in particular.[1] More f..
개요 이번 포스팅에서는 지난 포스팅에 구현 한 회원가입 기능에 이어서, 로그인 기능을 구현하도록 하겠다. 추가적으로, 로그인 기능을 구현하면서 인증(Authentication)의 개념과 세션, 그리고 인터셉터에 대해서도 알아보도록 하겠다. 인증(Authentication) 이란? 먼저, 인증이란게 어떠한 개념인지 알아보도록 하자. 위키피디아에 인증에 대한 개념을 검색하면 아래와 같은 결과가 나온다 Authentication is the act of proving an assertion, such as the identity of a computer system user. In contrast with identification, the act of indicating a pe..
개요 이번 포스팅에서는 회원가입 기능을 추가해보도록 하겠다. 설계 먼저 회원 정보는 간단하게 아래의 데이터만을 가지고 수행하도록 한다. 아이디 패스워드 이메일 회원 가입 기능은 대략적으로 아래와 같은 흐름을 따라서 만들어 진다. 사용자가 서버에 회원 정보를 전송한다. 서버는 회원 정보를 받고 아래와 같은 작업을 수행한다. 먼저 데이터베이스에 중복된 아이디가 있는지 확인 한다. 만약 중복된 아이디가 있는 경우, 이미 있는 회원이라 가입이 안된다는 메시지를 보낸다. 그렇지 않은 경우 전달 받은 데이터를 데이터베이스에 추가 한다. 이때, 전달받은 패스워드를 해싱해서 저장한다. 회원가입을 성공했다는 메시지를 전달한다. 구현 먼저 아래와 같이 실제 회원 정보에 해당하는 Accoun..
소개 개인적으로 스프링이나 자바쪽을 구글 검색을 하면서 공부하고 있는데, 해당 사이트의 정보들이 구글에 뜨고, 실제로도 유용하게 배운 정보들이 많이 있다. 그래서 다른 사람들도 알면은 좋을거 같아서 같이 공유해보도록 하겠다. https://www.baeldung.com/
개요 이번 시리즈 에서는 스프링 부트를 이용해서 간단한 웹 서버를 만들어 보도록 하겠습니다. 게시판을 만들기에 앞서 이번 포스팅에서는, 스프링 부트가 무엇인지에 대해서와 환경설정을 하는법을 다루도록 하겠습니다. 스프링 부트란? 스프링 부트를 설명하기 전에 먼저 스프링 프레임워크에 대해서 간략하게 설명하도록 하겠습니다. 맨 처음 소프트웨어의 위기가 찾아왔을때, 사람들은 그 고민을 해결하기 위해 객체지향 프로그래밍(OOP) 이라는 패러다임을 도입하였습니다. 하지만 막상 객체지향 프로그래밍을 도입하였음에도 이전보다는 생산성이 늘기는 했지만, 생각 보다 재사용성도 잘 되지 않았고, 유지보수도 여전히 힘들었습니다. 객체지향이나 절차지향, 함수 지향 패러다임 이전에 보다 근본적인 원인을 해결하지 못한 것이지요. 과..