일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ReactJS
- Web Server
- AWS
- Oracle
- ubuntu
- devops
- java
- Git
- Gradle
- redis
- Design Patterns
- php
- Spring Boot
- MySQL
- tool
- IntelliJ
- javascript
- jsp
- springboot
- 요리
- db
- Spring
- Spring Batch
- laravel
- 맛집
- elasticsearch
- it
- linux
- jenkins
- JVM
- Today
- Total
목록java (242)
아무거나
homebrew 업데이트 및 java 설치 $ brew update $ brew tap adoptopenjdk/openjdk $ brew install adoptopenjdk11 --cask // 설치된 자바 버전과 경로를 확인 $ /usr/libexec/java_home -V // 환경변수 등록 (~/.bash_profile파일에 다음을 추가한다.) export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home" export JAVA_11_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home" alias java8='export JAVA..
결과값 리턴값이 String 인 경우 한글이 깨지는 현상 (설정 파일에서 인코딩을 지정해도 안될 경우) 원인은 HTTP 메소드 컨버터의 StringHttpMessageConverter 에서 기본 옵션 ISO-8859-1을 발견 해결방법 String 이 아닌 다른 값으로 가공 (굳이 String 이 아닌 Response Model 클래스를 따로 만들어서 리턴하였음) WebConfig 의 configureMessageConverters 오버라이딩하여 converter.setWriteAcceptCharset(false); 로 변경 @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void conf..
Blocked mirror for repositories .. 에러가 표시되며 다운로드가 안되는경우 현재 폐쇠망에서 특정 모듈을 Nexus에 모아 사용하고 있는 상태이며 알아본 결과 Maven 3.8.1 버전부터 http에 대한 외부 연결을 막는 설정이 default로 변경되었다고함 해결방법은 해당 nexus를 https로 변경시켜주는 방법 또는 maven의 settings.xml에 http를 무력화 시켜주는 코드를 삽입하는 총 두 가지의 방법이 있으며 우선 settings.xml 을 활용하는 방법으로 진행하였다. [settings.xml] ... maven-default-http-blocker external:dont-match-anything-mate:* Pseudo repository to mirr..
JDBC란 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 프로그래밍 인터페이스 JDBC 작동 순서 JDBC 드라이버 로드 jdbc.drivers 라는 시스템 환경변수에 등록된 내용으로 함 class.forName() 메서드를 이용해서 직접 해당 클래스를 로드하는 방법 (대부분 사용) 데이터베이스 연결 Java.sql.Connection 에 정보를 입력하여 연결 Statement 생성 데이터베이스 연결로부터 SQL문을 수행할 수 있도록 해주는 클래스 Statement: 데이터베이스 연결로부터 SQL문을 수행할 수 있도록 해주는 클래스 PreparedStatement: SQL문을 미리 만들어주고 변수를 따로 입력하는 방식 (효율성이나 유지보수 측면에서 유리) SQL문 전송 {St..
- Settings => java compiler 검색 => "Build, Execution, Deployment > Compiler > Java Compiler" => Project bytecode version 에 설정된 java 버전 설정 후 적용 - Settings => gradle 검색 => "Build, Execution, Deployment > Build Tools > Gradle" => Gradle JVM에 설정된 java 모듈 선택
Error: no Creators, like default construct, exist... (JSON을 파싱한 결과를 전달할 적절한 생성자를 찾지 못했을 때 발생하는 에러) 생성자로 JSON 속성값을 전달하는 방법 import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; @Getter public class AccessLog { private final String title; private final String ip; private final String username; @JsonCreator public TestDTO( @..
Node Gradle Plugin Not Found 이슈 원인내용: Could not find com.moowork.gradle:gradle-node-plugin:1.3.1 (Gradle6 부터 원인 발생) 해결 build.gradle 수정 ... repositories { ... maven { url "https://plugins.gradle.org/m2/" } } dependencies { ... classpath "com.github.node-gradle:gradle-node-plugin:3.1.0" } ... subprojects { ... apply plugin: "com.github.node-gradle.node" ... }
DB 관련 로그 의존성 추가 [build.gradle] ... // DB Log implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' ... ../resources/log4jdbc.log4j2.properties 파일 생성 [log4jdbc.log4j2.properties] # log4jdbc spy의 로그 이벤트를 slf4j를 통해 처리 log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator # 로그를 표시할 줄의 제한 0은 무제한 log4jdbc.dump.sql.maxlinelength=0 # log4jdbc의 드라이브 클래스 설정 log4jdbc..
애노테이션(Annotation) 정의: 코드 사이에 주석처럼 쓰이면서 특별한 의미, 기능을 수행하도록 하는 기술로 프로그램에게 추가적인 정보를 제공해주는 메타 데이터 용도 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공한다. 소프트웨어 개발툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공한다. 런타임 시 특정 기능을 실행하도록 정보를 제공한다. (보통 스프링에선 해당 용도로 많이 쓰인다.) 파일정의 @Target({ElementType.[적용대상]}) @Retention(RetentionPolicy.[정보유지되는 대상]) public @interface [어노테이션 이름] { ... } 예제 애노테이션 생성 [LogExecutionTime.java] import java.la..
리플렉션(Reflection) 정의: 구체적인 클래스 타입을 알지 못해도, 그 클래스의 메소드, 타입, 변수들을 접근할 수 있도록 해주는 자바 API 코드설명 public class Pizza { public void eat() { ... } } public class Main { public static void main(String[] args) { Object pizza = new Pizza(); pizza.eat(); // 컴파일 에러 } } 위의 코드에서 컴파일 에러가 나는 이유는 모든 클래스의 조상 클래스인 Object라는 타입으로 Pizza 클래스의 인스턴스를 담을 수는 있지만 사용 가능한 메소드는 Object의 메소드와 변수들 뿐이기 때문이다. 이와 같이 구체적인 타입의 클래스를 모를 때 ..