본문 바로가기
반응형

전체 글332

addViewControllers()로 불필요 Controller 로직 제거 Controller에서 별다른 로직없이 단순 view 매핑 및 redirect가 필요한 경우 addViewControllers() 메소를 Override하여 설정 1. View 호출 @GetMapping("/hello") public String hello() { return "hello"; } 위와 같은 Controller 로직은 아래와 같이 WebConfig addViewController(), setViewName()으로 설정 가능 @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registr.. 2022. 1. 10.
Cookie 공유 범위 1. Cookie는 기본적으로 Cookie를 생성한 서버로만 전송 2. Cookie는 도메인 기준으로 관리 및 전송으로 동일 도메인의 Port가 다를 경우 공유 - 가끔 동일 도메인에 다른 Port 사용하는 어플리케이션끼리 Cookie 덮어쓰는 문제 발생 함 3. 상위도메인 기준으로 하위도메인까지는 Cookie 공유 가능 - 아래와 같이 Cookie domain 설정필요 Cookie cookie = new Cookie("key", "value"); cookie.setDomain("mydomain.com"); Domain 세팅하면 아래와 같이 domain 정보에 값이 설정됨 테스트로 'dev.mydomain.com' 으로 어플리케이션 하나 더 실행해 보면 cookie가 공유되는 것 확인 2022. 1. 10.
SpringBoot Multi Servlet 추가 MVC설정 분리 테스트 SpringBoot 서블릿을 추가하기 위해 ServletRegistrationBean을 등록하여 테스트 진행 프로젝트 기본 구조는 아래와 같이 잡았고 my패키지에 있는 컨트롤러(MyController) 및 MVC 설정(MyWebConfig)을 분리하고자 한다. 어플리케이션 메인에서는 기본 서블릿에 포함되지 않게 MyController, MyWebConfig를 컴포넌트 스캔에서 제외했다. 그리고 ServletRegistrationBean을 등록하여 MyWebConfig를 context에 등록하고 기타 서블릿 설정을 한다. 참고로 addUrlMappings에서 "/my/**" 와 같이 "*"는 동작하지 않아 MyController의 모든 URL을 등록해줬다. @SpringBootApplication @Com.. 2022. 1. 4.
AWS 로드발란서(ELB) 특징 및 종류 로드발란서를 사용 해야하는 이유 사용자 트래픽을 여러 Instances에 분산 Single point of access(DNS) 제공을 위해 Instance의 실패를 커버하기 위해서(HA) SSL(HTTPS) 통신 지원 Public/Private의 트래픽을 분리 쿠키 사용 지원 Health Check(문제 있는 인스턴스로 트래픽 전달안함 ) ELB 구성 ELB 타입 인터넷 접속 여부에 따라 Internet Facing, Internal 타입으로 구분 Internet Facing ELB : 인터넷 연결 가능, Public/Private IP 사용 가능, 인터넷/VPC내부 접속 가능 Internel ELB : 인터넷 연결불가, Private IP만 사용, VPC내부 접속 가능 ELB 종류 1. CLB(Cla.. 2021. 12. 28.
네트워크 도메인 - DNS, A레코드, CNAME, TTL DNS(Domain Name System) naver.com이라는 문자열의 도메인을 x.x.x.x 같은 IPv4 주소로 변환해주는 네트워크 서비스 DNS Record DNS는 아래처럼 '도메인-IP' 매핑 정보를 Record라는 이름으로 관리 google.com 172.0.17.1 A Record 타입 mytest.com test.com CNAME 타입 A 레코드 (A Record) 위 표의 1행처럼 도메인과 IP 주소를 직접 매핑하는 방법 하나의 도메인에 여러 IP를 매핑도 가능 한번의 요청으로 접속할 서버의 IP를 바로 알 수 있음 IP가 자주 바뀌는 환경에서는 안좋음 CNAME(Canonical Name) 위 표의 2행처럼 도메인에 다른 도메인을 매핑하는 방법 실제 IP주소를 얻기위해 여러번 DNS.. 2021. 12. 17.
SpringSecurity 인증 기본 동작 및 설정 1. 로그인(인증) 성공 시 SpringSecurity를 이용해 Form인증을 할 경우 성공 시 org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler 가 동작하고 사용자가 처음 접근했던 페이지로 리다이렉트 시킴 사용자가 로그인 전 접속했던 페이지가 아닌 다른 페이지로 설정할 경우 defaultSeccessUrl 사용 http.formLogin().defaultSeccessUrl("/login-success") 로그인 성공 후 특정 URL을 호출하여 다른 로직을 한번 더 실행하고 싶은 경우 successForwardUrl 사용 http.formLogin().successForwardUrl("/.. 2021. 12. 14.
javascript 에러: 개체가 'addEventListener' 속성이나 메서드를 지원하지 않습니다. IE이외에 다른 브라우저에서는 문제없이 잘 동작하는데 IE에서 '개체가 'addEventListener' 속성이나 메서드를 지원하지 않습니다.' javascript jQuery 관련 에러 발생할 경우 IE의 호환성보기에서 해당 사이트를 제거하면 해결(도구 > 호환성 보기 설정) * 호환성보기 - 사용중인 브라우저 버전과 기존 버전과의 호환성을 극복하기 위한 방법 중 하나 - 예를들면, IE10을 사용중인 클라이언트가 IE 7,8,9 등 기존 버전에 최적화 된 사이트 접속 시 문제발생 할 경우의 해결책 2021. 12. 14.
IntelliJ Maven Helper Plugin 설치 IntelliJ에서 Maven Helper 플러그인 설치 방법 Preferences > Plugins > 'maven' 으로 검색해서 Maven Helper 설치 IDE Restart 진행 후 pom.xml 파일 열어서 하단에 'Dependency Analyzer' 탭 클릭 하면 Eclipse처럼 디펜던시 conflict list,tree 형태로 볼수 있음 참고로 Graph Maven Windows(View > Tool Windows > Maven)에서 'Show Dependencies...' 아이콘 클릭하면 그래프 형태로 조회 가능 2021. 12. 14.
IntelliJ 자동 import ( = Eclipse Ctrl+Shift+O) IntelliJ에서 이클립스의 Ctrl+Shift+O 단축키처럼 필요한 패키지들을 자동으로 import해주는 설정 IntelliJ에서는 코드를 작성하는 시점에 바로바로 자동으로 import 해주고, 불필요한 경우 삭제 처리 Preferences > Editor > General > Auto Import 클릭 - Add unambiguous imports on the fly - Optimize imports on the fly 2개 항목 체크 2021. 12. 14.
AWS Aurora Aurora AWS에서 자체 개발한 AWS만의 RDBMS로써 MySQL 및 Postgresql 호환 가능 함 Aurora vs RDS 차이 1. Storage - RDS MySQL: ①자신의 EBS -> ②EBS 미러링 -> ③Replication 데이터 전송 -> Replica받은쪽에서 ④EBS 저장 및 ⑤EBS 미러링 실행 - Aurora: 4/6쿼럼을 사용해 Shared Storage에 저장, Replica로 전달하는 것은 frm 및 redo log로써 네트워크 bandwidth 사용이 적고 빠름 2. 관리주체 - RDS MySQL: 관리자가 직접 관리 - Aurora: AWS가 개발해서 버전 업그레이드를 주기적으로 시행 3. Read Replica 구성 - RDS MySQL: Read Replic.. 2021. 12. 10.
반응형