일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- rabbitmq
- JPA
- 데이터베이스
- 자료구조
- Spring Boot
- mysql
- 웹 개발
- 파이썬3
- 웹
- 스프링부트
- 파이썬
- node.js
- db
- 스프링 부트
- HTTP
- 개발
- django
- ORM
- java
- BCI
- 스프링
- 안드로이드
- bytecode
- 자바
- 장고
- Spring
- 디자인 패턴
- Python
- python3
- 보안
- Today
- Total
목록웹 개발 (7)
semtax의 개발 일지
스프링 AOP를 이용해서 반복되는 유저 인증 코드를 리팩토링 한 내용입니다.
개요 이번 포스팅에서는, Swagger를 이용해서 REST API 문서를 자동으로 생성하는 법을 다루려고 한다. 문서화의 중요성 한가지 상황을 가정해보도록 하자. 만약 여러분이 프론트 개발자, 다른 팀에서 만들어진 REST API를 사용 해야하는 입장의 개발자라고 가정을 해보자. 이때, 프로젝트가 다 됬다고 듣고, API를 사용하려고 봤는데 어떻게 사용하는지에 대한 메뉴얼을 주지 않아서 사용방법을 알아내기 위해 저 API를 개발한 직원을 직접 부르거나 여러분이 직접 저 코드들을 분석해서 사용방법을 알아내느라 1~2주가 소요 되어버렸다. 상상만 해도 정말 끔찍하다. 이런 상황을 어떻게 극복하면 좋을까? 위와 같은 상황을 방지해주기 위해, 저러한 API를 만들고 나서는 A..
개요 이번 포스팅에서는 Data Auditing(데이터 이력 관리) 에 대해서 다루어 보도록 하겠다. Data Auditing? 상황을 1가지 가정해보자, 만약 당신이 게시판 관리자고, 관리자 페이지를 통해서 게시글 댓글목록을 관리 하고 있다고 가정을 해보자. 그렇다면 언제 이 글이나 댓글을 작성했는지 라던가, 누가 작성했는지를 알아야, 나중에 차단을 시키던지 다른걸 하던지 관리를 할 수가 있다. 또한, 사용자에 따라서 글 쓰는 기능을 제한 하는 기능도 위의 Data Auditing이 있어야 가능하다. 바로 위와 같은 이유들 때문에, 이러한 데이터 이력관리가 중요하다는 것을 알 수 있다. 하지만 이러한 데이터 이력관리를 처음부터 만들기에는 뭔가 귀찮다. 뭔가..
소개 이번 포스팅에서는, 지금까지 만든 스도쿠 게임에 랭킹 기능을 추가 해보도록 하겠다. 또한, 프로그램이 재시작 되더라도, 랭킹 기록이 계속 남게 하기 위해 데이터 베이스를 이용하여 랭킹기록을 저장하는 것도 다루도록 하겠다. 데이터 베이스? 데이터 베이스는 쉽게 말하면 데이터를 저장하는 공간이다. 데이터를 어디다 저장하는데? 라고 물어 보면, 아래와 같은 대답을 해줄 수 있다. 메모리 파일 로컬파일 네트워크하고 자기 PC에 분산처리 JSON 표 형식으로 XML 그래프(?!) 저 위에서 언급한 종류 모두 실제로 회사에서 사용하는 데이터베이스 종류이다. 게다가 특히, 가장 많이 쓰이는 데이터 베이스는 관계형 데이터베이스(RDBMS) 라는 종류의 데이터 베이스 이다. 관계형 데이터베이스 라고 하면 어려워 보..
개요 이번 시간에는, 메가박스 알리미 서비스 제작을 위한, django 설치 및 기본 설정을 다루려고 합니다. 설치 python pip 를 이용해서 아래와 같이 설치를 해줍니다. $ pip3 install django 아래와 같이 명령어를 실행했을시, 버전이 출력되면 정상적으로 설치된 것입니다. $ python -m django --version 프로젝트 생성 아래 명령어를 이용해서 django 프로젝트를 생성 해줍니다. $ django-admin startproject megabox_alarm 위 명령어를 실행하면 megabox_alarm 이라는 폴더가 생성되고, 해당 폴더에 들어가면 아래와 같은 파일과 폴더가 생성되어있습니다. manage.py megabox_alarm 각 파일 및 폴더 설명은 아래와..
개요 이번 시리즈 에서는 스프링 부트를 이용해서 간단한 웹 서버를 만들어 보도록 하겠습니다. 게시판을 만들기에 앞서 이번 포스팅에서는, 스프링 부트가 무엇인지에 대해서와 환경설정을 하는법을 다루도록 하겠습니다. 스프링 부트란? 스프링 부트를 설명하기 전에 먼저 스프링 프레임워크에 대해서 간략하게 설명하도록 하겠습니다. 맨 처음 소프트웨어의 위기가 찾아왔을때, 사람들은 그 고민을 해결하기 위해 객체지향 프로그래밍(OOP) 이라는 패러다임을 도입하였습니다. 하지만 막상 객체지향 프로그래밍을 도입하였음에도 이전보다는 생산성이 늘기는 했지만, 생각 보다 재사용성도 잘 되지 않았고, 유지보수도 여전히 힘들었습니다. 객체지향이나 절차지향, 함수 지향 패러다임 이전에 보다 근본적인 원인을 해결하지 못한 것이지요. 과..
1. 개관 이번시간에는, Expressjs에서 지원하는 라우팅 기능과 HTTP Method에 대해서 알아보도록 하겠습니다. 2. Expressjs Routing 위키피디아에 라우팅이라는 단어를 쳐보면 전혀 관련 없어 보이는 네트워크 이야기가 나오고 최적경로와 같은 이야기가 나옵니다. 사실 Expressjs와 같은 웹 프레임워크에서 이야기하는 라우팅이라는 단어가 전혀 관련이 없어 보일수는 있지만 경로를 찾아준다는 맥락에서는 관계가 있다고 볼 수 있습니다. 즉, 웹 프레임워크에서의 라우팅은 사용자가 특정 URL에 접근을 하면 해당 URL에 대응되는 이벤트 핸들러를 찾아서 그에 대응되는 함수를 실행 해준다는 면에서 공통점이 존재합니다. Expressjs에서는 아래와 같은 방식으로 라우팅을 수행합니다 const..