백엔드 공부를 하다 보면, 데이터를 다루는 객체의 이름에 ~~Dto, ~~VO, ~Entity 같은 것들이 붙어 있는 것을 자주 볼 수 있다. 처음에는 정의도 모르고 어떤 경우에 어떤 종류를 사용하는 지 잘 모르고 남용했다. 그러나 정의와 역할, 용도 등은 알아둬야 적절한 객체를 사용할 수 있고, 또 각각에 존재하는 제약조건 등을 지켜야 일관성 있는 패턴으로 개발을 할 수 있을것 같아 이번 기회에 알아보려고 한다. 1. DTO (Data Transfer Object) DTO는 계층간 데이터 교환을 위한 객체이다. DB의 데이터를 Service나 Controller 등 다른 계층으로 보낼 때 DTO로 변환하여 보내고 받게 된다. DTO는 로직을 갖지 않고, 오로지 필드만 가지는 순수한 데이터 객체이다. 개..
스프링을 공부하기 전 토이 프로젝트로 Node.js 등을 이용해 간단한 CRUD 게시판 기능을 구현할 때는 이러한 페이징(Pagination) 기능을 구현한 적은 없다. 그냥 단순하게 SELECT * FROM table; 처럼 몽땅 가져와서 순서 고려하지 않고 무지성으로 화면에 띄우게 했었다. 아마 데이터베이스에 대해 제대로 공부한 적도 없고, 페이징 처리가 필요할 만큼 많은 양의 데이터를 다뤄본 적도 없어서일 것이다. 대부분의 웹사이트를 이용할 때 우리는 해당 게시판에 존재하는 내용의 전체를 한번에 보지 않고, 대신에 일정 개수만큼 끊어서 차례대로 보게 된다. 대부분은 작성 시간을 기준으로 내림차순하여 보게 된다. 레코드의 수가 수만~수백만 개 정도라면, 이를 DBMS가 한번에 처리하는 시간과 성능에 ..
이 글은 구멍가게 코딩단의 '코드로 배우는 스프링 웹 프로젝트'를 참고하였습니다. Spring Framework라는 메인 프로젝트 아래 여러 종류의 서브 프로젝트들이 있는데, 이 중 웹 관련 서브 프로젝트에 스프링 MVC가 있다. 스프링 코어에 대한 설정은 applicationContext.xml 파일로, 스프링 MVC에 대한 설정은 dispatcher-servlet.xml 파일로 하게 된다. applicationContext.xml로 설정하는 일반 Java 영역(Plain Old Java Object, POJO)과, dispatcher-servlet.xml로 설정하는 Web 관련 영역을 같이 연동해서 구동하게 된다. 프로젝트 구동은 톰캣의 구동과 함께 web.xml에서 시작한다. web.xml의 상단에..
스프링 실습 중 스프링 프로젝트와 JDBC를 연결하는 부분이 나왔다. 우선 오라클 데이터베이스는 오리지널하게는 M1이든 인텔이든 Mac OS에는 설치할 수 없다. (윈도우와 리눅스만 지원) 그래서 인텔 맥의 경우 도커를 이용해 설치하면 되지만... M1 맥의 경우 아키텍처가 다르기 때문에 이마저도 불가능하다. 따라서 클라우드 서비스를 이용해 데이터베이스를 원격으로 접속하는 방법을 사용해야 한다. https://shanepark.tistory.com/173 Mac) Oracle Cloud FreeTier 이용해 웹 어플리케이션 배포하기 4) 무료 데이터 베이스 만들기 및 데이터 Mac) Oracle FreeTier 이용해 웹 어플리케이션 배포하기 1)인스턴스 만들고 접속하기. Mac) Oracle Free..
1. 들어가며 지금 보고 있는 '코드로 배우는 스프링 웹 프로젝트'에서도 그렇고, 많은 참고 자료나 포스팅에서 Spring 개발 환경으로 Eclipse 또는 STS를 사용하고 있다. 하지만 지금까지 썼던 JetBrain의 IntelliJ IDEA Ultimate이 좀 더 편하기도 하고 학생 라이센스로 뽕 좀 뽑자는 생각에 IntelliJ로 Spring 프로젝트를 구성하려고 한다. 주로 아래 블로그 포스팅을 참고하며 프로젝트를 구성했다. https://whitepaek.tistory.com/41 [IntelliJ] Spring MVC, Maven 프로젝트 설정 방법 시작하기에 앞서.. 해당 포스트에서는 스프링에 대한 이론적인 설명은 작성하지 않았습니다. 이론적인 부분은 훌륭한 참고 서적이 많기 때문에 해당..
1. 들어가며 2학년이던 19년부터 군복무 시작한 20년 직전까지 안드로이드 프로그래밍만 했었다. 그러다가 육군 입대를 하고, 사지방에서 웹 IDE로 해볼 만 한건 그냥 백준 푸는 것밖에 없었고 그마저도 한두 달 찍먹으로 하다가 질려서 때려쳤었다. 전역하고 한두 달 다시 안드로이드 하다가, 칼복학을 해서 21학점 들으며 복학 적응하느라 세 달은 허송세월만 했다. 그러다가 어느 날 졸업하셔서 지금 현직에 계신 선배님들을 만난 뒤에 이렇게 나태하게만 살면 큰일나겠다는 위기의식을 느껴 뭐라도 해봐야지 하는 심정으로 예전부터 언제 한번 해봐야지 했던 Spring을 시작하려고 한다. 2. 사용하는 책 스프링에 대해 관심이 있어 찾아보거나, 스프링을 해 봤던 사람들은 다들 들어봤을 책인 '토비의 스프링'으로 시작하..
- Total
- Today
- Yesterday
- JVM 메모리 구조
- 오라클 데이터베이스
- spring
- 1종대형
- hint
- 컴퓨터비젼
- 경기지역화폐
- m1 mac
- 객체지향
- 오라클 JDBC
- Thresholding
- 코드로 배우는 스프링 웹 프로젝트
- IntelliJ
- 오라클 클라우드
- Edge Detector
- runtime data area
- 실행 계획
- 경기버스
- 경기교통비지원
- jvm
- pagination
- Non Max Suppression
- DTO
- 강남면허시험장
- 경기도 청소년 교통비 지원
- Canny Edge Detector
- M1 맥
- 인텔리제이
- 싱글톤
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |