2019/09/19 - [Programming/Java] - Spring Boot 을 언제 써야 할까? (2) 외장 WAS 가 반드시 필요한가? 외장 WAS 만이 할 수 있는 것이 있기 때문에 Spring Boot 는 작은 프로젝트에 적합하고 Spring 이 큰 프로젝트에 적합하다는 이야기를 하는 분들이 계실꺼라 생각합니다. 실제로 제가 들은 주장에서도, 처음 프롤로그에 있는 제타건담 님의 댓글 내용에서도 외장 WAS 에서만 되는 것, 혹은 되는 것 처럼 알려진 것들을 이유로 외장 WAS 을 써야 한다는 주장을 하는 사람도 있었습니다. 실제 있었던 일인데, Spring Security 하위 프로젝트인 Spring Security oAuth 을 이용해 사내의 oAuth2 Server 에 인증을 요청하는 C..
2019/09/18 - [Programming/Java] - Spring Boot 을 언제 써야 할까? (1) Spring Boot 는 어떤 구조일까? 사실 대부분의 경우 Spring Framework 을 사용하게 되는 이유는 웹페이지 개발을 하기 위해서입니다. 지금은 다른 형태의 개발방법들도 소개되고 있지만, Spring Framework 을 이용해 궁극적으로 만들려고 하는 제품은 웹페이지인 경우가 많고, Spring 은 MVC 을 제공하고 있기 때문에 Spring 에는 MVC 만 있다고 오해할 수 있지만, 사실 Spring 은 MVC 만 존재하는 Framework 는 아닙니다. 초장기(2.5 미만인 시절)에는 MVC 부분에서 Controller 은 Struts 와 같은 다른 Framework 을 연동..
2019/09/18 - [Programming/Java] - Spring Boot 을 언제 써야 할까? (0) 프롤로그 Spring Boot 가 어떤 형태인지 알아야 기존의 Spring 와 Spring Boot 가 어떤 차이점을 가지게 되는지 알 수 있을 것입니다. 이에 대해서는 제가 올린 Spring Boot 입문 글들을 읽어보시면 도움이 될 것입니다. https://zepinos.tistory.com/category/Programming/Spring Boot 시작하기 'Programming/Spring Boot 시작하기' 카테고리의 글 목록 zepinos.tistory.com 결론부터 말하자면, 사실 Spring Boot 은 Spring Framework 라이브러리를 쉽게 호출할 수 있도록 Maven..
이 글을 쓰게 된 이유는 아래 글 때문입니다. https://okky.kr/article/628180 OKKY | spring boot vs spring mvc 현재까지 spring mvc만 사용하다가 이번에 입사하면서 spring boot를 통해 개발을 하게 되었는데요. 제가 지금까지 조사해 본 바로는 spring boot를 규모가 작은 경우에 이용한다고 했는데요. embedded tomcat과 일반 WAS tomcat의 성능차이가 크지 않다고 하던데 그렇다면 굳이 규모가 큰 프로젝트라 할지언정 spri okky.kr 제가 극도로 분노를 하게 되었는데, 그 이유는 질문 내용 중 2년 전 쯤 들은 어떤 "주장" 때문이었습니다. 그 일로 그 때 일하던 회사를 그만두게 되는 시초가 되었다고 생각하기 때문입니..
2019/02/28 - [Programming/JOOQ] - [프롤로그] JOOQ 을 사용하게 된 계기 JOOQ 을 어떻게 사용하는건지 아주 간단한 맛보기 프로그램을 만들어보겠습니다. PC 에 docker 을 사용할 수 있는 환경을 구축한 후 MySQL 8 을 설치하였습니다. jooq 라는 계정을 만들고 jooq@1234 라는 패스워드를 생성하고 jooq 라는 schema(DB) 을 생성하였습니다. 이 모든 설정은 MySQL 와 관련된 것이기 때문에 생략하겠습니다.생성된 DB 에 다음과 같이 테스트용 테이블 하나와 두 개의 데이터를 입력하였습니다. CREATE TABLE `jooq`.`jooq_board` ( `seq` INT NOT NULL AUTO_INCREMENT, `author` VARCHAR(1..
제목을 좀 거창하게 지은 것 같긴 하네요. 그냥, 제가 JOOQ 을 써보게 된 계기를 담담하게 적어보려고 합니다. Java 을 오랜 기간동안 사용해서 개발하다보니, 당연히 Connection, PreparedStatement, ResultSet 을 이용해서 DB 에 질의(Query)을 하는 방법도 써왔고, iBatis 2.x ~ MyBatis 3 도 많이 사용했으며, Spring 의 JdbcTemplate 도 써본 적이 있습니다. 한 때 이슈가 된, 그리고 지지자들의 의견으론, 해외에선 이미 대세가 되었다는 ORM, 그 중에서도 Java 표준이 되어버린 JPA with Hibernate 을 이용해 게임 서버를 개발하여 출시도 해봤습니다. 여러 방식으로 RDBMS 에 질의를 했지만, 그래도 가장 나았던 건..
2019/01/23 - [Programming/Java] - Spring Boot 공식 지원 내장 WAS 인 Undertow 을 씁시다. 이전에 Spring Boot 에서 Embedded Tomcat 대신에 Undertow 을 사용하자고 글을 작성한 적이 있습니다. 글의 내용에서 Undertow 의 성능이 더 뛰어나다는 것을 근거로 삼았는데, 저의 경험을 이야기 한 것일 뿐이었기에 실제 간단한 코드를 이용해 테스트를 진행해 보려고 합니다. Spring Boot 프로젝트를 2 개(tomcat-pingpong, undertow-pingpong) 생성한다. Java 11, war, Web 을 선택해서 생성한다.undertow-pingpong 에는 pom.xml 에서 Tomcat 을 제외하고 Undertow 을..
대부분 Spring 을 이용한 프로그래밍을 할 때에는 MVC, 요즘에는 WebFlux 을 많이 이용할 것이기 때문에 Spring Boot Starter 에서 제공하는 기능만으로도 시작 시 추가적인 동작이 필요하지 않는 경우가 대부분입니다. 하지만, 특정한 동작을 위해 서버 시작 시 어떠한 명령을 실행해야 한다던가, 반대로 종료 시 어떤 동작을 해야하는 경우는 분명 생길 수 있습니다. 가장 쉽게 생각해볼 수 있는 것은 생성자와 소멸자입니다. 그리고 jar 파일을 직접 실행할 때에는 main() method 내에 추가로 구현할 수도 있습니다. 하지만, Spring Boot 에서는 몇 가지 다른 방식으로 처리할 수 있습니다. 먼저 CommandLineRunner 나 ApplicationRunner 인터페이스를..
보통 많은 운영 환경에서 Web Server(정적인 파일 서비스)와 WAS 을 연동해서 서비스하는 경우가 많습니다. Tomcat 으로 서비스되고 있는 환경에서조차 내부에 경량 Apache HTTPd 가 내장되어 있기 때문에 별도의 Web Server 없이도 괜찮은 속도로 정적인 파일을 서비스 할 수 있지만, 몇 가지 이유(납득되는 것도 있고, 그렇지 않은 것들도 있지만) 때문에 여전히 기존 방식을 이용하는 곳도 많습니다. 개인적으로 생각할 때 가장 납득이 가는 경우는 "파일 업로드" 기능 때문입니다. 업로드된 파일을 다시 사용자가 내려받아야 할 경우라면 파일 원본 그 자체를 잘 보관하고 있다가 다른 영향 없이 다시 다운로드가 가능해야 합니다. 물론 파일 다운로드 시 권한 체크를 정교하게 한다거나 다운로드..
Java 가 Web 개발에서 두각을 나타내면서 WAS(Web Application Server) 라는 용어를 널리 사용하게 만들었습니다. 처음의 의도와 달리 WAS 을 지칭하는 의미는 점차 확대되었고, Java 에서는 Apache Tomcat(이하 Tomcat) 이라는 WAS 가 널리 보급되면서 온라인 상에 유통되는 대부분의 WAS 에 관한 것은 Tomcat 일 정도가 되었습니다. Tomcat 은 Java 로 만들어져 이식성이 좋고, Full Spec 의 J2EE 을 지원하진 않지만 Spring Framework 의 탄생으로 인해 J2SE Servlet 지원 만으로도 Enterprise 급의 프로그램을 개발할 수 있게 되면서 현재까지 널리 사용되고 있습니다. 그래서 Java 에서 Web Page 개발에 ..
- Total
- Today
- Yesterday
- Spring Boot
- Spring MVC
- proxmox
- KDE
- 워드프레스
- git
- RestTemplate
- NoSQL
- Phabricator
- Redmine
- messages.properties
- Spring
- 도입기
- couchbase
- java config
- Nas
- 페이징
- docker
- 프로젝트 규모
- boot
- 외장 WAS
- 클라우드플레어
- 내장 WAS
- SI
- 시니어 프로그래머
- paging
- manjaro
- jooq
- OracleJDK
- 엘지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |