Spring 17

[Spring] Rest API 서버 만들기 1 - 문서화, 구조, Exception, Security

https://daddyprogrammer.org/post/series/springboot2-make-rest-api/ SpringBoot2로 Rest api 만들기 - 강좌모음 SpringBoot2로 Rest api 만들기 - 강좌모음 daddyprogrammer.org 1. Intellij Community 프로젝트 생성 2. HelloWorld 3. H2 Database 연동 4. Swagger API 문서 자동화 5. API 인터페이스 및 결과 데이터 구조 설계 6. ControllerAdvice를 이용한 Exception 처리 7. MessageSource를 이용한 Exception 처리 8. SpringSecurity를 이용한 인증 및 권한 부여 1. Intellij Community 프로젝트..

[EagleEye][서비스구현] Spring boot with K8s

https://pythaac.tistory.com/437 [EagleEye][서비스구현] Spring boot with Docker https://spring.io/guides/gs/spring-boot-docker/ Spring Boot with Docker this guide is designed to get you productive as quickly as possible and using the latest Spring project releases and technique.. pythaac.tistory.com 목표 변경 위 글에서 간단한 서비스를 구현하고 테스트하기로 했었지만, 그보다 더욱더 간단하게 만들어 테스트하기로 함 1차 목표 : Hello world처럼 간단한 서버를 쿠버네티스에 배..

만들기/EagleEye 2022.05.15

[Spring] Actuator

정의 [정의] 애플리케이션의 상태에 대한 종합적인 모니터링 제공 Spring Boot Actuator는 모든 활성화된 endpoint를 HTTP를 통해 노출되도록 자동 설정 기능 앱 모니터링 매트릭 수집 트래픽 이해 데이터베이스 상태 Dependency dependencies { implementation 'org.springframework.boot:spring-boot-starter-actuator' } 노출 정보 추가 management.endpoints.jmx.exposure.include=* management.endpoints.web.exposure.include=* Usage http://localhost:8080/actuator /actuator 이후에 beans, caches, healt..

[EagleEye][서비스구현] Spring boot with Docker

https://spring.io/guides/gs/spring-boot-docker/ Spring Boot with Docker this guide is designed to get you productive as quickly as possible and using the latest Spring project releases and techniques as recommended by the Spring team spring.io 이전 설정들(카프카, 주키퍼, 도커 등등)은 모두 날려버리고, 리눅스 설치 + 도커부터 다시 시작 Containerize Spring application을 구현 - 먼저 branch-service로 테스트 github에서 프로젝트 가져오기 >> git clone https:..

만들기/EagleEye 2022.05.13

[웹] Spring - NodeJS - Django

1. Django Python 프레임워크 Instagram, Mozilla, Bitbucket 특징 Documentation이 잘되어있음 SEO 최적화 높은 보안 빠른 개발 환경 높은 확장성 장점 관계형 DB와의 연동성(seamless collaboration) built-in security system 빠른 웹/앱 개발 내장 템플릿 Documentation 단점 Monolithic small app에서 잘 동작하지 않음 언어에 대한 전문 지식 필요 2. NodeJS Open source Cross-platform Javascript Runtime Environment Javascript로 client/server 구현 Javascript로 browswer 밖에서 앱 구현 프로그래밍 언어가 아닌 JS로..

CS/웹 2022.04.19

[Spring] Spring AOP (Aspect-Oriented Programming)

정의 AOP는 핵심 관심사(core concerns)에서 공통 관심사(cross-cutting concerns)를 분리시키는 프로그래밍 기법으로, 공통 관심사를 추상화하고 캡슐화합니다. 공통 관심사 (Cross-cutting concerns) 공통 관심사는 로깅, 검증, 트랜잭션, 시간측정과 같이, 서로 다른 메서드들에 공통적으로 반복되고, 모듈 자체에서 완전한 리팩토링할 수 없는 코드를 의미합니다. AOP 주요 개념 Aspect - 모듈화한 공통 관심사 Join point - 프로그램 실행 중 한 시점, Spring AOP에서는 메서드 실행 pointcut - join point을 식별 Advice - pointcut에 의해 선택된 join point에 실행할 코드, cross-cutting conce..

[Spring] @Transactional과 propagation

1. 상황 프로젝트 도중 @Transactional을 선언했음에도 불구하고, 해당 메서드가 실행 도중 exception이 발생하였을 때 rollback이 일어나지 않는 문제가 발생하였습니다. 이를 계기로, @Transactional에 사용법에 대해 학습한 내용을 정리하려 합니다. 아래 링크는 해당 이슈에 대한 github 링크입니다. https://github.com/pythaac/mamacoco/issues/4 [Database] TistorySyncExecuter에서 Transaction Rollback 오작동 · Issue #4 · pythaac/mamacoco Description [Code] TistorySyncExecuter의 각 메서드 [Task] @transactional 메서드에서 Exc..

[인프런][스프링 입문] 1~4 강

강의 소개 프로젝트 생성 라이브러리 살펴보기 View 환경설정 https://github.com/pythaac/Spring_tutorial/tree/main/%EC%8A%A4%ED%94%84%EB%A7%81%20%EC%9E%85%EB%AC%B8%20-%20%EC%BD%94%EB%93%9C%EB%A1%9C%20%EB%B0%B0%EC%9A%B0%EB%8A%94%20%EC%8A%A4%ED%94%84%EB%A7%81%20%EB%B6%80%ED%8A%B8%2C%20%EC%9B%B9%20MVC%2C%20DB%20%EC%A0%91%EA%B7%BC%EA%B8%B0%EC%88%A0 GitHub - pythaac/Spring_tutorial: These are test tutorial codes between react ..

[Web] 정적 컨텐츠에서 스프링까지 (Java를 모르는 내가 스프링에 도달하기까지)

스프링을 공부하는 중입니다 저는 소프트웨어를 전공했음에도 웹이라고는 html, javascript(현재는 바닐라 자바스크립트라고 부르는 것 같더군요), php와 LAMP를 이용한 간단한 서버를 만드는 경험이 전부였습니다. 그리고 스프링을 처음 접했을 때 상당히 혼란스러웠습니다. 쉽게 따라할 수 있고 동작은 하는데... 내가 만들던 서버와의 gap이 너무 크게 느껴지는 겁니다. 예를 들면, 분명 서버(Apache 서버)를 설치 안했는데 localhost로 접속이 된다는 것도 신기했구요. 아직 부족함이 많지만, 그 사이의 공백을 채우는 자취로써 간단히 정리해보려합니다. 웹이란 무엇인가 https://pythaac.tistory.com/166 웹이란 무엇일까? Web Server와 Web Application..

CS/웹 2022.02.04