일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- NCP
- JavaScript
- wildfly
- jetbrains
- springboot
- Java
- database
- kubectl
- JPA
- mybatis
- nodejs
- useEffect
- intellijIDEA
- tibero
- log4j2
- docker
- Windows
- Git
- BPMN
- nginx
- IntelliJ
- Spring
- VSCode
- Kubernetes
- gson
- LOG4J
- react
- MySQL
- dbeaver
- gradle
- Today
- Total
목록분류 전체보기 (247)
두 손끝의 창조자
현재 커서에서 option(ctrl)을 누른 상태에서 좌/우 방향키를 누르면 단어 끝(공백이 있을 때 까지)으로 움직이고, shift+option(ctrl) 상태에서 방향키를 누르면 단어 끝까지 선택된다. 만약, 단어가 camelCase로 작성되어 있는 경우 마지막 소문자까지만 커서를 움직이게 할 수 있다. camelCase 이런식으로. Preferences -> Editor -> General -> Smart Keys 에서 User "CamelHumps" words 옵션을 체크한다. 그러면 커서가 마지막 소문자 있는 위치로 점프하게 된다. 전체 단어를 선택(공백이 있을 떄 까지)할 때 마우스로 더블 클릭하여 많이 쓰는데 위 옵션을 켜면 더블 클릭으로 소문자 있는 곳 까지 선택한다. 마우스를 이용해서는 ..
이미지 베이스 이미지에 필요한 프로그램과 라이브러리, 소스를 설치한 뒤 파일 하나로 만든 것 컨테이너 이미지를 실행한 상태 이미지는 실행파일, 컨테이너는 프로세스라고 보면 됨
search : 이미지 검색 >docker search ubuntu 명령으로 Docker hub 에서 이미지를 검색할 수 있음 pull : 이미지 받기 >docker pull ubuntu:latest run : 컨테이너 실행 >docker run -i -t --name hello ubuntu /bin/bash docker run ubunto 이미지를 컨테이너로 생성한 뒤 이미지 안의 /bin/bash 를 실행한다. -i (interactive), -t (Pseudo-tty) 실행된 bash shell에 입력 및 출력 할 수 있음 --name 컨테이너 이름 지정 ps : 컨테이너 목록 확인 >docker ps -a -a : 정지된 컨테이너까지 모두 출력, 없으면 실행되고 있는 것만 start : 정지한 컨..
public key retrieval is not allowed 오류가 나면 allowPublicKeyRetrieval=true 설정을 해준다. 접속 경로에 allowPublicKeyRetrieval=true 하고 db 도구는 드라이버 속성을 통해서 설정하던지 한다.\
M1 맥북에서 mysql 을 docker로 설치하면 no matching manifest for linux/arm64/v8 in the manifest list entries 메시지가 보이고 설치가 안된다. 아래와 같이 플랫폼을 명시하여 설치하자. docker pull --platform linux/amd64 mysql 컨테이너를 실행할 때도 플랫폼을 명시하자. docker run --platform linux/amd64 --name localMySql1 -e MYSQL_ROOT_PASSWORD=rootroot -d mysql
톰캣 폼 디렉토리 밑에 /bin 에 저장된다.
api 키 같이 노출되면 안되는 정보들은 로컬에 저장하는 것도 방법이다. ~/.gradle/gradle.properties https://www.youtube.com/watch?v=-RNXngQY5Dc&list=PL4ebO4PmeAi4MgpaaK9Hej0P6ooIhmfms&t=1301s
https://mond-al.github.io/dependency-gradle-setup 앱의 의존성 확인하고 전이 의존성 변경하기 의존성과 관련하여 문제가 생겼다고 판단되면 의존성 트리를 봐야합니다. 터미널에서 프로젝트가 있는 폴더로 이동하고 아래의 명령어를 실행 하면됩니다. mond-al.github.io
SpringBoot 가장 간단하게 해결된다. resources의 application-{Profile}.properties 파일을 추가하면 프로파일에 해당하는 설정정보를 가져온다. 가령, application-dev.properties 라는 파일이 있다면 현재 프로파일이 dev 인 경우 해당 파일을 읽는다. application-prd.properties 가 있다면 프로파일이 prd 인 경우 해당 파일을 읽는다. 그러면 프로파일에 맞는 속성파일에 log4j 설정파일 경로를 설정한다. logging.config=classpath:log4j2-dev.xml ServletContainerInitializer 서블릿 기반 웹이면 ServletContainerInitializer 인터페이스를 이용해서 web.xm..
MyBatis는 특정 메소드를 인터셉트 할 수 있는 애노테이션인 Intercepts 을 제공한다. Intercepts 의 값으로 메소드 시그니처를 지정해야하는데 메소드 시그니처를 지정하는 애노테이션이 Signature 이다. 메소드 시그니처는 메소드이름과 파라미터 타입이므로 인터셉트 할 메소드를 정확하게 지정한다. 예를 들어 org.apache.ibatis.executor.Executor 인터페이스는 ... int update(MappedStatement ms, Object parameter) throws SQLException; List query(MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler)..
PrefixContext base64 Base64 encoded data. The format is ${base64:Base64_encoded_data}. For example: ${base64:SGVsbG8gV29ybGQhCg==} yields Hello World!. bundle Resource bundle. The format is ${bundle:BundleName:BundleKey}. The bundle name follows package naming conventions, for example: ${bundle:com.domain.Messages:MyKey}. ctx Thread Context Map (MDC) date Inserts the current date and/or time usi..
import java.text.FieldPosition def pos = configure(new FieldPosition(10)) { beginIndex = 1 endIndex = 5 } println pos.beginIndex println pos.endIndex Gradle 공홈에서 문서를 보고 있는데 위와 같은 구문이 있었다. 그런데 이 문법이 이해가 안 갔다. configure 가 Prject 인터페이스의 메소드인건 알겠고, 파라미터로 FieldPosition 의 인스턴스를 넘기는 것도 알겠고.. 그런데 그 뒤에 있는 클로저는 뭐지..? 그루비는 클로저가 메서드의 마지막 인수인 경우, 외부에서 클로저를 넣을 수 있는 문법을 제공한다. 이딴건 왜 제공하는지 모르겠다. 사람 헷갈리게 그래서 위 구문..
WEB-INF 밑에 jboss-web.xml 파일을 만들고 /pmf 컨텍스트 루트 이름을 입력한다. 기본값은 war 파일명이다.
log4j 뿐만아니라 slf4j 를 사용하든, logback 을 사용하든 wildfly는 logger를 자체 정의하고 있기 때문에 기본값으로 놔두면 logger 우선순위에서 밀려서 내가 정한 logging 옵션을 사용하지 못 한다. 사용하게 하려면 META-INF 또는 WEB-INF 밑에 jboss-deployment-structure.xml 파일을 만들고 내용을 입력한다. 사용하는 로거에 따라서 module에 추가한다.
소스 코드 domain project 소스코드 package cothe.service; import cothe.entity.Yo; import javax.transaction.Transactional; public class YoService { private final YoRepository yoRepository; public YoService(YoRepository yoRepository) { this.yoRepository = yoRepository; } @Transactional public void updateName(Long id, String name) { Yo yo = yoRepository.findById(id).get(); yo.updateName(name); } @Transactio..
application.properties에 logging.level.org.apache.coyote.http11=debug 꼭 스프링부트가 아니어도 로거에 org.apache.coyote.http11 를 debug로 출력하게 하면 요청정보가 출력될 것임(톰켓을 썼을 때)
$/usr/libexec/java_home -V $/usr/libexec/java_home -v11 은 11버전의 경로 출력
brew install --cask anaconda 로 설치했을 때 anaconda 위치는 /opt/homebrew/anaconda3 이다. 이 위치가 path에 지정되어 있지 않기 때문에 conda를 terminal에서 바로 사용할 수 없다. 경로를 등록하자. .zshrc에 export PATH=[conda위치]:$PATH
작성한 테스트 스크립트를 많은 호스트가 실행을 하게 해서 타겟에 부하를 주고 그 결과를 모니터링 하는 솔루션이다. 크게 콘트롤러와 에이젼으로 구성된다. 콘트롤러는 웹 애플리케이션인데 테스트 스크립트를 생성하고 실행을 구성한다. 에이전트는 가상 사용자를 만들어서 부하를 발생시킨다. 콘트롤러에서 에이전트를 지정하고 에이전트에게 스크립트를 실행하게 하는 구조이다. 스크립트 Jython, Groovy 스크립트를 사용할 수 있다. IDE에서 Groovy 스크립트를 개발 및 테스트를 할 수 있고 이것을 에이전트에게 실행시킬 수있다. 다운로드 Releases · naver/ngrinder (github.com) Releases · naver/ngrinder enterprise level performance test..
persistence.xml 없이 자바로 속성 설정해서 사용하려면 @Bean public EntityManagerFactory entityManagerFactoryForMysql(DataSource dataSource) { final Properties properties = new Properties(); properties.put( "hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect" ); // MySql5x 쓴다면 properties.put( "hibernate.user_sql_comments", "true" ); properties.put( "hibernate.format_sql", "true" ); properties.put( "hibernat..