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

개발노트 - kingbbode

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

E-Mail GitHub 코딩덕후

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

개발 (24)
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
java.security.InvalidKeyException: Illegal key size or default parameters

JDK 1.4.x부터는 JCE가 기본적으로 포함이 되어 있으며 미국 수출 통상법에 따라 사용할 수 있는 키 길이 등에 제한이 걸려있습니다. 제한이 없는 정책파일로 변경하면 됩니다. Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 DownloadJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8 Download 알맞은 정책파일을 다운 받고 JDK나 JRE가 설치된 곳의 해당 위치..

개발/Exception 2016. 9. 25. 23:36
java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

일반적인 원인은 pom.xml 안의 대부분의 dependency 정의가 서명된 jar들을 지향하는 것에 있습니다. Dependency Jar를 하나로 모아주는 과정에서 서명된 .RSA,.SF,.DSA 파일이 Manifest에 병합되지 않습니다.해결 방법은 아래와 같습니다. Jar를 병합하는 Plugin에 아래 옵션을 추가ex) maven-shade-plugin *:* META-INF/*.SF META-INF/*.DSA META-INF/*.RSA

개발/Exception 2016. 9. 25. 23:35
(2) 스프링, isomorphic, 서버사이드 렌더링 - Handlebars

(1) 스프링, isomorphic, 서버사이드 렌더링(2) 스프링, isomorphic, 서버사이드 렌더링 - Handlebars Spring + Nashorn을 통해 isomorphic할 첫번째 클라이언트 템플릿 엔진은 handlebars! 1. handlebars란? Handlebar.js(이하 핸들바)는 자바스크립트의 템플릿 엔진 중 하나로 Mustache를 기반으로 구현한 템플릿 엔진입니다. Mustache는 콧수염모양의 {{ }} Bracket을 이용하여 data를 표현하는 것을 의미하며, 이를 이용하면 html페이지에서 HTML+Bracket의 구성으로 디자이너와 개발자가 협업할 때도 디자이너에게도 이해하기 쉬운구조로써 협업을 하는데도 도움이 됩니다. (참고 : 돛단배의 항해일지) 다양한 f..

개발/Spring 2016. 9. 25. 16:35
(1) 스프링, isomorphic, 서버사이드 렌더링

(1) 스프링, isomorphic, 서버사이드 렌더링(2) 스프링, isomorphic, 서버사이드 렌더링 - Handlebars SPA(Single Page Web Application)가 등장하고 활성화됨으로인해 클라이언트 렌더링은 사용자에게 더 나은 경험을 제공하기 위한 중요한 요소가 되었습니다. 그렇다면 어디까지 서버에서 렌더링하고 어디부터 클라이언트에서 렌더링해야할까 고민을 하게 됩니다. 어디까지 서버에서 렌더링해야 할까에서 고려해야할 첫번째는 SEO(검색 엔진 최적화) 입니다. 네트워크상에는 컨텐츠를 수집하는 다양한 bot들이 존재합니다. 대표적으로 구글봇이 있습니다. 봇의 수집된 콘텐츠는 여러 검색엔진의 검색대상으로 분류될 수 있습니다. 대부분 봇들은 자바스크립트를 실행하지 못하며, 구글봇..

개발/Spring 2016. 9. 13. 11:56
스프링 부트, YAML 적용

Spring Boot에서 YAML 환경변수를 지원한지가 꽤 되었는데 아직 properties를 사용하는 프로젝트가 많이 있습니다. 이것을 YAML로 꼭 변경해야 하나 하는 물음이 생겨서 관련 내용을 정리해보았습니다. YAML이란? XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식이라고 합니다. (WIKI 참고) 이 양식은 JSON에 포함되며 계층적인 설정 데이터를 정의하는데 매우 편리한 문법을 가지고 있습니다. Spring Boot의 지원 'spring-boot-starter'에서는 자동으로 SnakeYAML 'starter POM`'를 제공하며, SpringApplication 클래스는 클래스패스 상에 Sn..

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

Blog is powered by Tistory / Designed by Tistory