본문 바로가기 메뉴 바로가기

개발노트 - kingbbode

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

E-Mail GitHub 코딩덕후

검색하기 폼
  • 분류 전체보기 (44)
    • 개발 (24)
      • Spring (17)
      • Exception (2)
    • JavaScript (3)
    • 생각 (9)
    • DataBase (3)
      • AeroSpike (1)
      • Hibernate (1)
    • devops (5)
  • 방명록

개발/Spring (17)
[2018-11-08] 스프링 원 투어 서울 컨퍼런스 중 정윤진님의 Spring Cloud Gateway 세션

2018년 11월 8일 스프링 원 투어 서울 컨퍼런스 중 정윤진님의 Spring Cloud Gateway 세션 Spring Cloud Gateway SPEC Spring 5 + Spring Boot 2 + API Gateway Pattern What is an API Gateway? 하나로 요청을 받아, 요청을 분리. Routing Canary-ing Security Monolith Strangling Monitoring Resiliency Spring Cloud Gateway Type Appliance SAAS (ex: ELB) Web Server Mesh Side Car Pattern + Proxy Pattern Developer Oriented History 초기 버전인 spring-cloud-zu..

개발/Spring 2019. 12. 29. 23:30
[2018-06-08] 스프링캠프 2018-Consumer Driven Contract

요즘 기존 프로젝트의 일부를 새로운 프로젝트로 떼어내는 작업을 하고 있다. 노후된 프로젝트인 점과 내가 알고있는 프로젝트가 아니라는 점이 지옥을 맛보게 해주고 있다. 정리를 하다보니 기능이 중복된, 프로젝트의 성격 이상으로 많은 정보를 제공하는, 불필요하게 많은 정보를 요구하는 등 이상한 End Point들이 발견되었다. 아마 오랜시간 요구사항이 점점 늘어나면서 불가피하게, 혹은 요구했었지만 이제는 다르게 사용하는 API가 되었지 않을까 생각한다. 정리를 위해 이 API들을 사용하는 서비스들에 대해서 전부 조사를 해야했고, 굉장히 많은 시간을 소비해야 했다. 정리를 하고난 후 보니 중복된 것, 사용되지 않는 것, 불필요한 요구, 제공 스펙, 그리고 그것들을 위한 테스트 코드들이 보였다. 현재와 미래의 모..

개발/Spring 2019. 12. 29. 23:30
Spring 에서 @ConditionalOnClass, @ConditionalOnBean 사용할 때 주의할 점

Spring Boot 기반의 자동 설정을 위한 AutoConfiguration 클래스를 만들다가 발생한 이슈를 작성합니다.주의할 점을 보기 전 알아야 할 것!@Conditional 이란?스프링4에서 도입된 어노테이션으로 조건부로 Bean을 스프링컨테이너에 등록하는 역할을 합니다. 이 어노테이션은 Condition Interface 사용하여 특정 조건부로 등록되도록 만들 수 있습니다. 그리고 현재의 스프링 프레임워크에서는 미리 정의된 Condition Interface 구현체를 가지고 있는 @Conditional 어노테이션의 파생 어노테이션들이 있습니다.주의점을 적을 어노테이션은 아래 어노테이션들 입니다.@ConditionalOnClass : 특정 Class 파일이 존재하면 Bean 을 등록.@Condit..

개발/Spring 2017. 8. 28. 16:47
Spring Boot 와 Properties(or Yaml) Environment

Spring Boot 에서 properties 설정에 대한 깨달음을 얻어 정리하고자 글을 작성합니다.몇 시간 전까지만 해도 이 글은 @PropertySource Yaml 사용하기 라는 글로 작성될 뻔 하였던 글 입니다.제가 처음 위의 주제로 글을 작성하기로 마음 먹은 이유는@PropertySource 의 Yaml 미지원@ConfigurationPropeties 의 locations Deprecated때문입니다.까려고 찾아보다가, 내가 잘못 알았구나 하는 깨달음에 바로 글을 작성합니다.발단저의 10번째 블로깅이였던 스프링 부트, YAML 적용 이라는 블로그에서 소개하였던 @ConfigurationProeprties 의 locations 이 Spring Boot 1.4 를 이후로 Deprecated 되었습니..

개발/Spring 2017. 8. 28. 16:45
Quartz + Spring Batch 조합하기

Zum 에서 BeyondJ2EE 김태기 팀장님과 표준화 프로젝트를 진행하며, Zum 에서의 Batch 에 대한 표준을 작성하며 알게 된 Quartz Framework 의 매력과 직접 개발해본 Spring 과의 조합 및 궁합을 소개해보려고 합니다.Quartz란?Quartz Scheduler 는 거의 모든 Java 응용 프로그램에 통합 할 수 있는 풍부한 기능의 오픈 소스 작업 스케줄 라이브러리입니다.저에게는 다소 생소했던 라이브러리였습니다. 그래서 리서치를 해보았더니,스프링에서 Unix의 Cron 처럼 특정시간 혹은 몇분 혹은 몇시간마다 동작해는 스케쥴러를 구현해야 했다. 그래서 찾아보게 된게 Spring + Quartz Scheduler 조합의 활용이었다. 하지만 Spring 3.1 버전 부터는 Quar..

개발/Spring 2017. 8. 25. 00:12
Spring - Open Session In View

Spring에서 ORM을 사용하여 개발을 하며, Transaction을 이해할 때 쯔음 닥쳐온 혼란이 있습니다.지인에게 자신있게 Transaction을 설명해주기 위해 Spring Boot로 빠르게 어플리케이션을 올렸고@GetMapping("/member/{memberIdx}") public String member(@PathVariable Long memberIdx, Model model) { Member member = memberRepository.findOne(memberIdx); model.addAttribute("name", member.getName()); model.addAttribute("team", model.getTeam().getName()); return "index"; } Tra..

개발/Spring 2017. 1. 14. 17:07
Spring Boot에서 Redis 사용하기

Redis란?Remote Dictionary Server의 약자오픈 소스 소프트웨어휘발성이면서 영속성을 가진 key-value 저장소Redis는 NoSQLNoSQL은 데이터 간의 관계를 정의하지 않고 고정된 스키마를 갖지 않는 새로운 형태의 데이터베이스로서, 관계형 데이터베이스(RDBMS)를 경량화한 데이터베이스 입니다. 관계형 데이터베이스의 특징 을 제거하고 만들어진 다른 모든 형태의 DBMS를 칭하 기도 하며, SQL 계열 질의어를 사용할 수 있다는 사실 을 강조한다는 면에서 “Not Only SQL”로 불리기도 합니다.Redis는 이러한 NoSQL의 종류 중 하나입니다.데이터 모델NoSQL이 가지고 있는 대표적인 데이터 모델은 아래와 같습니다.Key-Value하나의 Key에 하나의 Value를 갖는..

개발/Spring 2016. 12. 4. 21:07
Spring Boot로 TEAMUP BOT 만들기 - (2)

Spring Boot로 TEAMUP BOT 만들기 - (2) 이전 포스팅에서 기본적인 봇의 뼈대를 완성했다면, 이번 포스팅에서는 보다 체계적인 구조와 기능을 완성하기 위해 스프링에서 제공해주는 아래 기능들을 활용해보려고 합니다!ReflectionMVC의 Controller와 같이 봇에서 구현한 명령어의 Controller를 만들어 봅니다.AOP구현된 명령어에 권한 설정을 해봅니다.Scheduling스케줄링을 활용하여 기능을 구현합니다.ReflectionReflection이란 객체를 통해 클래스의 정보를 분석해 내는 프로그램 기법을 말합니다. 스프링이 아닌 자바의 특징으로 실행중인 자바프로그램 내부를 검사하고 내부의 속성을 수정할 수 있습니다. Spring Container의 BeanFactory가 어플리..

개발/Spring 2016. 10. 17. 18:31
Spring Boot로 TEAMUP BOT 만들기 - (1)

Spring Boot로 TEAMUP BOT 만들기 - (1) 2016년 연초 줌인터넷에서는 2016년 전략이 발표되었습니다. 그 중 눈을 의심하게 만드는 목표가 있었으니, 그것이 바로 잉여력 확보!? 이런 의미는 아니고, 더 높은 도약을 위해 개개인의 잉여 시간을 확보하여 업무를 더 효율적으로 하자는 의도! 그렇게 확보된 잉여력으로 무엇을 할까 고민하여 사내에서 사용하는 메신저 팀업의 봇을 만들게 되었습니다.팀업이란?이스트소프트의 기업용 메신저 팀업(TeamUP)은사내 메신저프로젝트별 그룹피드(게시판)문서 등 자료 중앙관리대용량 파일 전송등 다양한 업무 도구를 제공해 빠른 커뮤니케이션(소통)을 통한 업무 효율을 향상시켜주는 기업용 통합 커뮤니케이션 플랫폼입니다.자세한 내용은 팀업 소개 페이지로!활용 예시..

개발/Spring 2016. 10. 17. 18:30
스프링 properties 변경 감지하여 동적으로 로딩하기!

스프링에서는 변경될 여지가 있는, 민감하고 다소 정적인 설정 값들을 외부 설정 파일로 관리하는 경우가 많습니다. 외부 파일로 설정 값을 관리하는 경우 어플리케이션의 소스수정, 리페키징없이 비교적 간단하게 설정 값을 바꿀 수 있습니다. 그러나! 아무런 설정없이 properties를 사용한다면 WAS의 재기동은 불가피합니다. WAS의 재기동없이 properties를 동적으로 로딩하는 2가지 방법을 소개하려고 합니다. 첫번째는 Spring 내장 컴포넌트인 ResourceBundleMessageSource이며 두번째는 Apache Commons 프로젝트 컴포넌트인 PropertiesConfiguration입니다! 첫번째. Spring ResourceBundleMessageSource Spring에서 공식지원하는..

개발/Spring 2016. 9. 29. 18:43
이전 1 2 다음
이전 다음
최근에 올라온 글
  • [2020-11-11] 5년차 개발자
  • [2020-02-19] 배달의민족⋯
  • [2019-07-01] 멀티모듈 설⋯
  • [2019-02-03] 3년차 웹 개⋯
최근에 달린 댓글
  • 글잘읽었습니다. 비슷한 연차⋯
  • 그동안 헷갈려서 고생했던 부⋯
  • 도움 되는글 되게 잘 배우고⋯
  • 엄청나게 성장한 한 해를 보⋯

Blog is powered by Tistory / Designed by Tistory