일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
- Annotation
- Final
- 예외
- ec2
- exception
- error
- 자바
- java
- 피리티어
- 보안 그룹
- 바이트코드
- Checked Exception
- try-with-reources
- RDS
- springboot
- 생각정리
- 이펙티브자바
- spring-security
- 이펙티브 자바
- Effective Java
- AWS
- JVM
- bytecode
- 파라미터 그룹
- Spring
- https
- 자바스터디
- Unchecked Exception
- Today
- Total
목록전체 글 (31)
개발 일지
테스트 코드를 작성하다 보면 똑같은 어노테이션 @Test @DisplayName을 사용하여 테스트 코드를 작성하게 됩니다.항상 똑같은 구조이기 때문에 뭔가 구조화를 시켜둘 수 있지 않을까 라는 생각이 들어서 찾아봤더니 intellij에서는 Live Temlete 이란 이름으로 제공하고 있었고 자주 사용하는 cout, main 같은 단축어 들도 여기에 정의되어 있다는 걸 알게 되었습니다. 이번 글에서는 Live Temlete을 어떻게 설정하는지에 대해서 정리해 보도록 하겠습니다적용하기상단에 내비게이션 바에서 File > Setting (macOS: Preferences) > Editor > Live Templates으로 들어갑니다.또는 단축어 Windows: `Ctrl+Alt+S`, macOS: `Cmd..
이번 글에서는 테스트에 대한 인프런 강의를 바탕으로 테스트 코드란 무엇이고 테스트 코드가 왜 중요한지, 더 좋은 테스트 코드를 작성하기 위한 방법은 뭔지 등을 정리해 보겠습니다. Practical Testing: 실용적인 테스트 가이드 | 박우빈 - 인프런박우빈 | 이 강의를 통해 실무에서 개발하는 방식 그대로, 깔끔하고 명료한 테스트 코드를 작성할 수 있게 됩니다. 테스트 코드가 왜 필요한지, 좋은 테스트 코드란 무엇인지 궁금하신 모든 분을www.inflearn.com 테스트 코드 강의를 듣게 된 배경친구와 프런트엔드-백엔드 역할을 나눠 간단한 토이 프로젝트를 진행하면서 ec2에 배포를 먼저 해두고 개발을 했었습니다. ( 전에는 먼저 개발 후 나중에 배포를 했었습니다)CI/CD를 구현했음에도 불구하..
통합테스트 코드를 작성할 때 각 테스트 클래스마다 `@SpringBootTest` 어노테이션을 사용했습니다.그러나 각 테스트 클래스마다 `@SpringBootTest`를 사용하면 각 클래스마다 독립적인 Spring Boot 애플리케이션 컨텍스트가 생성됩니다. 이는 테스트마다 서버를 다시 시작하고 컨텍스트를 로딩해야 하는데, 이 과정은 상당한 시간이 소요됩니다. 시간은 비용입니다. 간단한 토이 프로젝트에서도 테스트를 실행하면 Spring Boot 서버가 7번 재시작됩니다. 대규모 프로젝트에서는 더 많이 발생할 수 있습니다. 이를 해결하기 위해서는 테스트 환경을 통합하여 Spring 서버가 최소한으로 재시작되도록 해야 합니다. 적용하기@SpringBootTest 어노테이션을 붙인 abstract 클래스를 ..
티스토리의 디자인을 하나씩 바꾸는 것에 재미가 들어서 여러 부분을 자잘하게 수정했었는데, CSS나 HTML의 어디를 잘못 건드렸는지 홈 화면의 블로그 스킨이 깨져서 결국 스킨을 초기화를 하였습니다... 그러고 나서 다시 세팅을 하려고 했는데 어떤 것을 어떻게 수정했는지 기록해 놓지 않아 다시 적용하는 데 많은 시간이 소요되었습니다. 앞으로는 스킨을 수정하면서 변경 사항을 여기에 정리해 두려고 합니다. 들어가기 전에한번 날리면서 깨달은 팁은 스타일을 적용시킬 범위를 잘 선정해야 한다는 것이다.스타일을 바꾸고 싶은 범위를 확실하게 선정해서 범위를 최소한으로 하자 Ex) h2 태그를 변경하고 싶을 경우 잘못된 예h2 { font-size: 40px;}범위가 너무 넓기 때문에 본문밖에 요소들까지 변경되어 깨질 ..
이전 글에서 티스토리의 인라인코드를 기본 모드에서도 쉽게 사용할 수 있도록 바꾸었습니다. 하지만 인라인 코드 자체가 노션에 비해 너무 밋밋한 느낌이 있어서 이번 글에서는 인라인 코드의 스타일을 커스텀하여 노션의 인라인 코드와 비슷한 느낌으로 바꿔보겠습니다. 적용하기이번에도 방법은 아주 간단합니다. 인라인 코드는 태그를 사용하기 때문에 태그에 대한 CSS값을 설정해 주면 됩니다! 블로그 관리> 스킨 편집에 들어가서 html편집으로 들어갑니다. CSS 설정을 추가할 것이기 때문에 CSS창으로 가서 Ctrl + F를 이용해 code 태그를 찾아줍니다. 저는 code태그가 다른 태그들과 함께 있는데 code에 스타일만 바꿔줄 것이기 때문에 여기에서 code를 지우고 아래와 같이 밑에다가 새로 정의해 줍니..
기본적으로 티스토리에서 인라인 코드를 사용하는 방법은 두 가지입니다마크다운 모드에서 백틱(`)으로 감싸기HTML 모드에서 로 감싸기이 둘 다 모드를 바꾼 뒤에 수정해야 하는 불편함이 있습니다. 좀 더 쉽게 사용할 수 있는 방법이 있을까 해서 찾아보다가 모드의 변환 없이 기본모드에서도 백틱(')을 활용한 인라인 코드를 사용하는 방법이 있어서 정리해 보도록 하겠습니다. 적용하기방법은 아주 간단합니다 블로그 관리> 스킨 편집에 들어가서 HTML 편집으로 들어간 후 아래 자바스크립트 코드를 복사하여 태그를 찾고(Ctrl + F) 바로 위에 복사한 코드를 붙여 넣어준 후 저장해 주면 끝입니다. 여기까지 완료하고 저장하면 인라인 코드를 기본모드에서도 `백틱`을 사용해서 적용할 수 있습니다!코드 내용 자세히..
앞에서 도메인 구매, 도메인 인증, 인증서 발급 및 적용을 완료했습니다.2편에서는 로드 밸런서 설정을 완료한 후에 HTTPS 요청이 내부적으로 어떻게 처리되는지 까지 알아보겠습니다. 순서1. 도메인 구매2. 도메인 인증 3. 인증서 발급 및 적용4. 타겟 그룹 설정5. 로드 밸런서 설정 6. 번외) HTTPS 요청 흐름 들어가기 전에 1 (로드 밸런서란)로드 밸런서와 타겟 그룹에 대해 간단하게 정리하고 가겠습니다. 로드 밸런서란 로드 밸런서는 네트워크 트래픽을 여러 서버에 분산시켜 서버의 성능을 최적화하고, 과부하를 방지하며, 가용성을 높이는 장치나 소프트웨어입니다. 이를 통해 웹사이트나 애플리케이션의 응답 시간을 개선하고, 서버 장애 시에도 서비스가 계속 제공되도록 할 수 있습니다. 주요 기능 및 이점..
친구와 간단한 프로젝트를 마치고 배포까지 완료하고 연동을 확인해 보던 중 문제 발생했습니다. 크롬 개발자 모드 콘솔에 찍여있는 오류인데 react는 서버는 https이고 백엔드 서버인 ec2서버는 http라서 발생하는 문제인 거 같아 보입니다. 이 문제를 해결하기 위해서는 ec2 서버에도 https를 적용시켜야 합니다. http와 https에 대해서는 다른 글에서 따로 정리하겠습니다. https 연결 Flow https 연결을 위한 flow입니다 로드밸런서를 이용한 방식으로 클라이언트가 https로 로드밸런서와 통신을 하고 로드밸런서와 api를 제공하는 주체는 http로 통신하는 방법입니다. 준비물 및 순서 ec2 서버와 도메인이 필요합니다.(4번과 5번은 2편에서 정리할 예정입니다) 1. 도메인 구매 ..
로 타임을 사용하면 런타임에 예외가 일어날 수 있으니 사용하면 안 된다. 로타입은 제네릭이 도입되기 이전 코드와의 호환성을 위해 제공될 뿐이다. 제네릭 타입이란 클래스, 제네릭 인터페이스를 통틀어 일컫는 말. 인터페이스 선언에 타입 매개변수가 쓰이는 것을 말함. List 로(raw) 타입이란 매개변수 가 없는 제네릭 타입 예. List에서 로타입은 List이다. 로 타입(raw type)의 문제점 로타입을 쓰면 컴파일 타임에 타입 정보를 알지 못한다. 오류는 가능한 발생 즉시, 이상적으로는 컴파일할 때 발견하는 게 좋다. 그러나 로 타입을 사용하면 컴파일 시점이 아닌 런타임에 오류를 알아챌 수 있다. ex) 제네릭 타입이 지원 전 raw타입 사용 // Stamp 인스턴스만 취급한다. private fin..
저번 글에서 Spring Security가 무엇이고 인증에 대한 기본 동작에 대해서 살펴보았다.Spring Security는 필터를 기반으로 동작한다고 했었는데, 이번글에서는 이 Filer에 대해 알아보고 실재 코드를 보면서 인등(로그인) 동작을 자세히 정리해 보려고 한다. <h2 style="border-bottom: 2px solid #e7e7e7; font-weight: bold; padding: 5px;" d..