| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- Tomcat DBCP
- Java Singleton
- Socket is closed
- 이중정렬
- Java Rest
- Checked Exception
- Jndi DataSource
- HandlerMethodArgumentResolver
- Unchecked Exception
- Graphql Client
- graphql
- try - with - resources
- 상호 인증
- Java Graphql
- AfterMapping
- WildFly
- NoUniqueBeanDefinitionException
- Sub Bytes
- Srping MVC
- Open Close Principal
- 데이터 압축
- java
- 개방 폐쇄 원칙
- mTLS
- 바이트 절삭
- Reading HttpServletRequest Multiple Times
- Request Body 여러 번 사용
- mapstruct
- tomcat jndi
- requestheaderdto
- Today
- Total
목록java (6)
Developer Sang Guy
문자열 생성 코드private static final char[] CHARS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();public static String getRandomString(int length) { StringBuilder temp = new StringBuilder(length); for (int i = 0; i 효율적인 메모리 할당을 위해 StringBuilder의 초기 용량을 설정각 스레드 별로 독립적인 난수를 생성하기 위해 ThreadLocalRandom 사용 문자열 생성 결과public static void main(String[] args) { System.out..
Stram Api를 활용한 정렬, 이중 정렬, 오름차순, 내림차순 적용 방법을 알아보자 정렬에 사용할 User 클래스@Builder@Getter@ToStringpublic class User { private String name; private Integer age;} 정렬에 사용할 Sample User ListList users = Arrays.asList( User.builder().name("김씨").age(25).build(), User.builder().name("김씨").age(16).build(), User.builder().name("김씨").age(33).build(), User.builder().name("이씨").age(19).b..
SocketUtil 클래스를 생성하여 Socket 통신 테스트를 진행하였더니 "Socket is closed" 라는 에러를 만나게 되었다. 해당 에러는 소켓을 사용하려 할 때 이미 소켓이 닫혀 버린 경우 발생하는 에러이다. Socket.class public OutputStream getOutputStream() throws IOException { if (isClosed()) throw new SocketException("Socket is closed"); if (!isConnected()) throw new SocketException("Socket is not connected"); if (isOutputShutdown()) throw new SocketException("Socket output..
최근에 상점 주문을 받는 API를 개발하다가 상점의 상품의 정보를 저장해야 하는 일이 생겼다. 기존에 사용하는 DB에 저장하려하는데 상품이 여러개가 올라올수 있다보니 크기가 꽤 큰 필드가 필요했다. 하지만 크기가 넉넉한 필드가 없어 고민하던 중 바이트 배열 압축을 통해 어느정도 문제를 해결 할 수 있을 것 같아 이 방법을 사용했다. 데이터 압축과 압축해제를 위해 DeflaterOutputStream와 InflaterOutputStream를 사용했다. public class DeflaterOutputStream extends FilterOutputStream 이 클래스는 "deflate"압축 형식으로 데이터를 압축하기위한 출력 스트림 필터를 구현합니다. 또한 GZIPOutputStream과 같은 다른 유형..
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URI..
스프링 공부하다가 Singleton에 대해서 알게되었다. 스프링에서는 몇몇 어노테이션 달아주면 IOC 컨테이너에 빈이 생성되며 스코프가 자동으로 싱글톤으로 적용된다. 하지만 스프링 프레임워크를 사용하지 않은 자바에서는 이런게 없으므로 평범한 객체를 싱글톤으로 변경하는 방법과 주의 사항을 적어보겠다. 그 전에 스코프에 대해서도 정리해보겠다. 스코프는 2종류가 있는데 하나는 싱글톤, 나머지 하나는 프로토 타입이다. 싱글톤 - 사용 할 때 마다동일한 인스턴스를 반환 프로토 타입 - 사용 할 때마다 새로운 객체를 생성 및 반환 싱글톤이 적용 된 SingletonClass 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class SingletonClass { /* static ..