본문 바로가기
반응형

Develop233

[Log4j] Log4j 취약점 발견되다? 본 글은 이번 달 새로 발견된 Log4j 보안 취약성에 대해 알아보기 위해 작성한 글이다. 참고로 현재 발견된 Log4j의 문제는 1.x에서는 해당되지 않으나 1.x에는 다른 보안 취약성이 많이 존재하므로 업데이트를 추천한다. 1. 어쩌다 발견되었나? 🤔 마인 크래프트라는 게임을 누구나 한번쯤은 본 적이 있을 것이다. 이번 사태는 해당 게임의 기술자를 통해 본격적으로 널리 알려지게 되었다. 11/24 알리바바에 의해 취약점 발견 12/10 PaperMC가 Discord를 통해 긴급 패치된 파일로 업데이트 하도록 긴급 공지 (PaperMC: 마인크래프트의 마크 멀티플레이 버킷 서비스) GitHub Advisory Database에 CVE-2021-44228 취약점 게재 (GitHub Advisory Dat.. 2021. 12. 16.
[Java] Enum에 대해 목차 1. Enum이란? 2. 사용 방법 3. 주요 메소드 4. Singleton과 Enum 1. Enum이란? 🤔 enumerance type = 열거형 JDK 1.5부터 생겨난 기능으로 열거체를 정의할 수 있는 클래스 비교 시 실제 값 뿐만 아니라 타입까지 체크 가능 상수값이 재정의 되어도 다시 컴파일 할 필요 X 2. 사용 방법 🤩 enum Color { RED, YELLOW, GREEN, BLUE } 기본적으로 위와 같이 정의하고 Color.RED 와 같이 사용한다. 아래와 같이 특정 값을 저장할 수도 있다. enum Color { RED(3), YELLOW(21), GREEN(5), BLUE(1); private final int value; Color(int value) { this.value.. 2021. 12. 13.
[GitHub] Repository 합치기 (feat: subtree) 목차 1. Remote Repository 생성 2. Local이랑 Remote Repository 연결 3. Remote 추가 4. Subtree 생성 5. Push 진행 1. Remote Repository 생성 깃허브에서 새로운 레포지토리를 생성한다. 이제 이 레포지토리에 옮기고 싶은 레포지토리들을 다 넣을 것이다. 이 포스팅에서는 여기서 새로 만든 레포지토리를 부모라 하고, 합쳐지는 레포지토리들은 자식이라고 부르겠다. 2. Local이랑 Remote Repository 연결 $ git init #깃 초기화 $ git clone #부모 레포지토리 클론 3. Remote 추가 $ git remote add 4. Subtree 생성 $ git subtree add --prefix= 🔻 [에러] fata.. 2021. 12. 7.
[Java] org.opentest4j.AssertionFailedError: Expected ... to be thrown, but nothing was thrown. 에러 에러: org.opentest4j.AssertionFailedError: Expected java.lang.IllegalArgumentException to be thrown, but nothing was thrown. 📜 에러 설명 Exception 발생이 있을거라 생각을 했는데~ but nothing was thrown... 발생하지 않았다고 한다. 말그대로 Exception이 발생하지 않았기 때문에 발생한 문제라... 다양한 원인과 다양한 해결방법이 존재할 것이다. 🧨 원인 일단 나 같은 경우는 Exception 던진걸 try-catch로 감쌌기 때문에 실패했다.🤯 결론부터 말하자면 이 경우에도 해결 방법이 여러가지 있다. 예외 전파하기 테스트하는 메소드 변경 테스트 코드 변경 🔍 테스트 예제 원본.. 2021. 12. 7.
[MySQL] SQL 오류: Data truncation: Incorrect string value ... Data truncation: Incorrect string value: '\xED\x85\x8C\xEC\x8A\xA4...' for column ~~ at row 1 에러 오류 위치를 살펴보니 INSERT 구문을 실행하던 중 한글을 입력하려고 하니 발생하는 오류였다. RDS 생성할 때 가장 먼저 체크했던게 UTF8이라 DB 설정 문제는 아니라고 생각했고 (물론 이런 과신은 좋지 않으니 한번 체크하는게 좋긴 하다...😅) 다른 DB에서 사용 시에는 해당 오류가 발생하지 않아 sqlDeveloper의 문제도 아니라고 생각했다. 알고보니 테이블 생성 시 UTF 8 설정이 되어있지 않았다. ALTER TABLE 테이블 convert to charset UTF8; 테이블 생성할 때 바로 설정할 수도 있다. CR.. 2021. 12. 3.
[Mockito] Mockito란? Mockito란? Java에서의 단위 테스트를 지원하기 위한 Mocking Framework Mock(가짜) 객체를 통해 테스트 코드 작성을 더 원활하게 해줌 설치 방법 Maven jar파일 다운로드 혹은 직접 설치 Gradle repositories { mavenCentral() } dependencies { testImplementation "org.mockito:mockito-core:3.+" } Mock 사용 예제 호출 되었는지 확인하기 import static org.mockito.Mockito.*; class TempTest { @Test void verify1() { List mockedList = mock(List.class); mockedList.add("one"); verify(mock.. 2021. 12. 2.
세션과 Redis 세션을 어떻게 관리하는지에 대한 고민을 하다가 Redis에 대해 알게 되었다. Redis를 사용하는 이유가 뭘까?에 대한 궁금증을 해결하기 위해 포스팅하게 되었다. 목차 1. 세션이란? 2. Redis란? 3. Redis를 사용하는 곳 4. Redis를 왜 사용하는가? 🤔 세션이란? 서버에 저장되는 쿠키 클라이언트와 서버의 통신 상태 서비스가 직접 관리 해야하는 중요한 정보 관리 여러 요청들을 포함해 하나의 트랜잭션이나 작업을 완료하는데 걸리는 시간 Sticky Session sticky? 끈적끈적한, 잘 떨어지지 않는. Session Stickiness = Session Persistence 로드 밸랜서가 세션 기간 동안(IP가 웹 사이트에서 보내는 시간) 클라이언트와 특정 네트워크 서버 간의 관계를 .. 2021. 11. 29.
Entity vs DTO vs VO 목차 1. 왜 이 글을 작성하게 되었는가? 2. 들어가기 전에... // 계층에 관하여 3. DTO, VO, Entity의 개념 4. DTO vs VO 5. DTO vs Entity 6. 정리 😲 왜 이 글을 작성하게 되었는가? 토이 프로젝트를 들어가기 앞서 어떤 식으로 프로젝트 구조를 잡을지 고민중이다. GitHub에서 다른 사람들이 Spring으로 개발한 웹 서비스를 탐방했는데 구조가 아래와 크게 다르지 않았다. service 폴더 domain 폴더: repository와 dto 포함 web 폴더: controller 포함 그런데 여기서 domain 폴더명이 다 제각각이었다. 😱 데이터를 저장하는 객체인 것은 알겠는데 Entity, Domain, DTO 등 다양한 이름을 존재하였고 이에 대한 차이가 .. 2021. 11. 23.
[Java] java.lang.UnsupportedOperationException java.lang.UnsupportedOperationException ... 에러 더보기 java.lang.UnsupportedOperationException at java.base/java.util.ImmutableCollections.uoe(ImmutableCollections.java:71) at java.base/java.util.ImmutableCollections$AbstractImmutableCollection.remove(ImmutableCollections.java:78) ... ❓ 에러 원인 Unsupported Opertation Exception. 지원되지 않는 작업을 요청했기 때문에 발생한 에러이다. 해당 에러가 발생한 코드는 아래와 같다. List list = List.of(.. 2021. 11. 21.
반응형