| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 이중정렬
- graphql
- HandlerMethodArgumentResolver
- try - with - resources
- Checked Exception
- Java Rest
- 바이트 절삭
- requestheaderdto
- mTLS
- Graphql Client
- 상호 인증
- Open Close Principal
- tomcat jndi
- Tomcat DBCP
- Java Graphql
- Reading HttpServletRequest Multiple Times
- Srping MVC
- java
- 데이터 압축
- Java Singleton
- Request Body 여러 번 사용
- 개방 폐쇄 원칙
- Socket is closed
- mapstruct
- WildFly
- NoUniqueBeanDefinitionException
- Jndi DataSource
- Sub Bytes
- Unchecked Exception
- AfterMapping
- Today
- Total
목록분류 전체보기 (32)
Developer Sang Guy
참고 문서 https://jwt.io/introduction JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io https://auth0.com/docs/secure/tokens/json-web-tokens Auth0 Get started using Auth0. Implement authentication for any kind of application in minutes. auth0.com WIX 개발 연동하다가 JWT를 경험하게 되었다. JWT란 Json Web Token라는 이름을 가진 당사자 간에 정보를 JSON 형..
어쩌다가 WAS로 Wildfly(이전 JBoss)를 사용하게 되었다. Spring Boot를 사용하여 애플리케이션을 개발 후 서버에 배포하여 Wildfly를 실행하였는데 로그가 정상적으로 출력되지 않는 상황이 발생했다. 애플리케이션에서는 sl4j의 구현체인 logback을 사용하여 로깅 처리를 하도록 개발하였다. 원인을 찾아보니 Wildfly의 경우 내부적으로 Sl4j를 포함하고 있어 자체 Sl4j 라이브러리를 비활성화 하지 않을 경우 애플리케이션 내부에 있는 Sl4j 라이브러리와 설정 충돌이 발생하여 애플리케이션의 로깅 관련 설정(경로, 파일 이름 등)이 무시되는 것으로 확인되었다. Wildfly 애플리케이션 설정 파일(ex. standalone.xml)에 접근하여 아래 설정을 추가하면 Wildfly ..
Mysql Full Text Search는 텍스트 내 공백을 구분 기호로 사용하여 추출 된 토큰을 인덱스로 생성하여 검색에 사용되도록 합니다. 하지만 이는 공백과 같은 구분 기호없이 연속 된 텍스트를 대상으로 조회 할 경우에는 제한이 있습니다. select content from tb_fts_test where match content against ('ser 구마'); 위와 같은 제한은 ngram parser를 사용하여 해결할 수 있습니다. ngram parser 설정 ALTER TABLE `002`.`tb_fts_test` ADD FULLTEXT INDEX `IDX1` (`CONTENT`) WITH PARSER ngram VISIBLE; 설정 후 조회 결과 select content from tb_f..
Mysql에서 제공하는 Full Text Search 기능은 지정한 FullText Index 컬럼에 저장 된 자원을 설정에 맞게 절삭하여 인덱스를 생성하며 해당 인덱스를 활용하여 더 빠르게 조회 결과를 추출한다. 최초 테이블 구성 CONTENT 컬럼 FULLTEXT 인덱스 설정 ALTER TABLE `002`.`tb_fts_test` ADD FULLTEXT INDEX `IDX1` (`CONTENT`) INVISIBLE; CONTENT 컬럼의 Key가 MUL(Multiple Occurences Column)로 변경되었다. MUL이란? 다중 발생 컬럼이라는 의미로 중복 된 값이 발생할 수 있는 인덱스라는 의미로 기본키도 외래키도 아닌 그냥 일반 인덱스 https://dev.mysql.com/doc/refm..
package first; import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { // 상대 경로로 같은 패키지(디렉토리) 안에 있는 파일 읽어오기 BufferedReader br1 = new BufferedReader(new InputStreamReader(Main.class.getResourceAsStream("text.txt"))); System.out.println(br1.readLine()); // 상대 경로로 다른 패키지(디렉토리) 안에 있는 파일 읽어오기 BufferedReader br2 = n..
application.properties를 Jar, War 생성 시 제외하고 싶을 경우 pom.xml 태그 안에 아래와 같이 코드 작성하면 된다. JAR org.apache.maven.plugins maven-jar-plugin This is where the exclusion occurs **/application.properties WAR org.apache.maven.plugins maven-war-plugin **/application.properties
1. 브라우저에 http://www.example.com을 입력합니다. 2. 컴퓨터는 www.example.com과 통신할 때 사용해야 하는 IP 주소를 DNS 확인자에게 묻습니다. 3. 컴퓨터가 해당 IP 주소에 연결하고 www.example.com과 통신하고 싶다고 말합니다. 4. 웹서버는 구성을 살펴보고 www.example.com의 콘텐츠 요청으로 무엇을 할지 알아냅니다. 다음 중 하나가 발생할 수 있습니다. - www.example.com은 VirtualHost의 ServerName 또는 ServerAlias로 나열되어 있다면 해당 VirtualHost의 구성을 사용하여 콘텐츠를 제공합니다. - 서버에 VirtualHost가 없다면 httpd.conf의 구성을 사용하여 콘텐츠를 전달합니다. - ..
HttpServletRequest는 본문을 읽기 위해 getInputStream() 메서드를 노출하는 인터페이스입니다. 기본적으로 InputStream의 데이터는 한 번만 읽을 수 있습니다 . https://www.baeldung.com/spring-reading-httpservletrequest-multiple-times Spring을 사용하여 여러 Handler를 개발하였을 경우 보통 Interceptor나 Filter를 사용하여 공통적으로 수행하는 요청 로그 출력 같은 처리를 진행한다. 그런데 막상 Interceptor 또는 Filter로 요청 본문을 읽어들여 로깅 처리를 한 다음 Controller에서 다시 한번 요청 본문을 읽으려고 하면 request.getInputstream 안에 데이터가 없..
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..
cat filename.js | openssl dgst -sha384 -binary | openssl base64 -A