본문 바로가기
  • A space that records me :)

Framework & Library9

[Spring] Spring boot 동작 원리 Spring boot로 개발을 한지 벌써 3년이 됐다.하지만 Spring boot는 Request을 받았을 때 어떤 과정을 거쳐 Response하는지 기본적인 동작 원리를 모른다.그래서 한번 간략히 알아보았다!먼저 알아야하는 지식이 있다.1.  사전 지식더보기web.xmlContextLoaderListerServlet & Servlet ContainerFrontControllerRequestDispatcherDispatcherServletApplicationContextMessageConverterViewResolverweb.xmlSpring framework 동작을 위한 모든 초기 설정들이 들어있다.  대표적인 설정은 아래와 같다.ServletContext의 초기 파라미터Session 유효시간 정보Mi.. 2024. 4. 26.
[Spring] 제어의 역전 - IoC(Inversion of Control) IoC란? IoC : Inversion of Control (제어의 역전) IoC는 의존성 주입 (DI)로 알려져있다. Spring은 Bean을 생성하고 의존성을 관리하고, 개발자 대신 메모리에서 관리한다. 개발자가 개발에만 몰두 할 수 있도록 프레임워크가 대신 관리해주는 것이다. 간단하게 요약하자면, Spring이 관리하는 객체를 가져와 사용하는 것을 말한다. 1. IoC Container란? Spring에는 IoC를 담당하는 컨테이너가 있다. Spring이 관리하는 Bean 생성 및 설정방법 등을 다루는 Configuration Metadata가 존재한다. IoC Container를 Spring Container라고도 한다. Spring IoC Container에서 관리되는 객체를 Bean이라고 한다.. 2024. 3. 10.
Spring과 Spring Boot란? Java 개발자가 함께 공부해야 하는 프레임워크는 Spring과 Spring Boot이다. 같은 것 같으면서도 서로 다른 두 프레임워크에 대해서 알아본다. 결론부터 적어보자면 Spring은 엔터프라이즈 애플리케이션을 위한 개발 환경(틀)을 제공해 주는 것이고 Spring Boot는 Spring의 단점을 보안해 개발자가 비즈니스 로직 개발에만 집중할 수 있게 해주는 거다. 여기서 알 수 있는 것은 Spring Boot에는 Spring이 포함되어 있다는 것이다. 1. Spring의 등장 소프트웨어 분야가 발전하면서 엔트라이즈 애플리케이션은 점점 복잡해졌고 개발자들은 점점 사용자의 요청을 동시에 처리해야 하는 등의 서비스 안정성, 보안, 성능 등을 고려하게 되었다. 점차 기능 개발에만 집중하기 힘들어졌고 이때.. 2024. 3. 10.
[Spring] RestTemplate - Java에서 HTTP 통신 [2021.12.15] 데이터베이스에 저장된 데이터를 기반으로 자동으로 http 통신을하는 기능을 구현하였다. 아직 프로젝트 기획 전이라서 해당 기능에 대항 정확한 서비스가 명시되지 않았지만 기본 플로우를 구성해 구현해두었다. RestTemplate을 이용해 구현하였고, 정말 쉬었다! 따로 점검을 받으면서 구현한 것이 아니기 때문에 미흡한 점은 있을 것이다. 차주에 개발한 것들 점검하신다고 했는데 나는 이런 점검이 너무 좋다.. (부족한점 알고 고칠수가 있거든.. 하지만 언제까지 누군가 알려주고 고치고 이런걸 반복하면 안되겠지..) 개발환경 Spring Boot Java 1.8 gradle 1. RestTemplate org.springframework.web.client.RestTemplate Sync.. 2021. 12. 19.
[Spring] jasypt - properties 암호화 2021.11.09 KISA 개발보안 점검에서 properties 중요구문 암호화처리가 나옴. 개발환경 STS 4 JAVA 1.8 jasypt-spring-boot-starter v 3.0.3 application.properties 질병관리본부 프로젝트 운영 오픈전에 외부로 오픈되는 웹 프로젝트의 개발 소스에 대해서 여러가지 보안 점검을 진행하였다. 최종적으로 KISA의 Fortify툴을 사용하여 보안 점검을 하였는데, application.properties에 비밀번호에 해당되는 중요 정보가 암호화 되지 않았다는 점검 결과를 받았다. Spring Boot framework로 데이터베이스 연동시 흔히 디비 접속 정보를 application 외부 프로퍼티로 설정해 두기 때문에, 개발당시 전혀 염두하지 못.. 2021. 11. 9.
[React Native] M1 WEB 개발 환경 설정 2021.10.31 이제 우리회사에서 리엑트 기반으로 개발 도입한다고 함. 그래서 한번 세팅해보았다.. Node, Watchman, React Native command line interface, Xcode가 필요하다. 1. 기본 개발 환경 구성 1-1. Rosetta 설치 Intel 기반 칩용 앱을 실행 할 수 있는 lifeline이다. Rosetta는 애뮬레이터 형태로 제공되고, 사전에 설치되어 있지 않으므로 수동 설치가 필요하다. $ /usr/sbin/softwareupdate --install-rosetta --agree-to-license 1-2. iTerm 설치 및 설정 iTerm은 맥에서 개본으로 제공하는 터미널보다 좀더 유용한 터미널 어플리케이션이다. 굳이 필요 없을 듯하여 설치하지 않았.. 2021. 10. 31.
[Spring] Running code after Spring Boot Run spring boot run 이후 초기에 한번 실행되는 코드 package com.innerwave.surfinn; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.ConfigurableApplicationContext; import com.innerwave.surfinn.business.common.AuthCacheManager; @SpringBo.. 2021. 6. 21.
[Spring] SSH 터널링(Port Forwarding) - gradle 개발 환경 Spring Tool Suite 3 gradle bild.gradle 의존성 추가 dependencies { // ssh 터널링 // https://mvnrepository.com/artifact/com.jcraft/jsch compile("com.jcraft:jsch:0.1.55") } Config 설정 package kr.co.innerwave.quetone.collector.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration.. 2021. 1. 28.
[Spring] ModelAndView로 파일 다운로드 (@Component, Bean 등록) 직접 개발한 클래스를 Bean으로 등록하여, 파일 다운 다운로드 기능을 제공한다. Bean으로 생성 시 @Component어노테이션을 사용하고, @ComponentScan어노테이션으로 Bean으로 등록해준다. @Component어노테이션으로 생성된 Bean을 등록시키는 방법은 두 가지다. 1. ApplicationContext.xml에 이런 식으로 xml에 bean을 직접 등록 2. @ComponentScan(basePackages = { "com.kt.tbb.iptv.coupon.config", "com.kt.tbb.iptv.coupon.business" }) 식으로 어노테이션을 사용하여 등록 1. @ComponentScan @ComponentScan 어노테이션은 @Component 어노테이션 및 st.. 2020. 12. 30.