Programming 73

[Linux] Ubuntu에서 MariaDB 삭제후 재설치

MariaDB를 설치한 후 $mysql --version을 입력했을 때 이런 에러가 발생했다. 에러 발생 mysql Cant't read dir of '/etc/mysql/conf.d/' (Errcode: 2 "No Such file or directory") 이런 에러가 발생했을 경우, 환경변수를 재설정한 후 사용할 수도 있겠지만 재설치하는게 깔끔할 것 같아 재설치하게 되었다. apt update / upgrade sudo apt update sudo apt upgrade maria db 삭제 sudo apt purge mariadb-* 의존성 정리 - 예전에 다른 패키지의 의존성 때문에 설치되었지만 지금은 사용하지 않는 패키지 제거 sudo apt autoremove 남아있는 mysql 패키지 조회 ..

Programming/Linux 2021.11.23

[SpringBoot] application.properties 에서 jdbc 설정시 주의사항 - Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via..

jdbc 정보를 입력할 때 데이터베이스의 username 혹은 password를 암호화할 일이 생긴다. 다음은 암호화된 정보를 jdbc에 입력할 때 주의사항을 기재한 것이다. 일반적인 jdbc 설정 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&allowPublicKeyRetrieval=true spring.datasource.username=test spring.datasource.password=test Bean 메소드를 사용하여 암호화된 데이터를 입력할 시 에러발생 예시) spring.datasource.d..

Programming/Spring 2021.11.23

[Spring] jUnit Test 실행시 Could not detect default configuration classes for test class 오류

jUnit 으로 단위테스트를 하려는데 이런 에러가 발생했다... 이 에러는 @SpringBootApplication 과 @SpringBootTest 의 클래스 명이 일치하지 않아서 발생되는 에러이다. 이런 경우엔 SpringBootApplication을 따로 만들어주어도 되지만, 테스트가 많아질수록 손이 많이가는 불편함이 발생한다.. 그 해결법으로 @ContextConfiguration 어노테이션을 설정해주면 main Spring Application을 설정해줄 수 있다. [참고 링크] https://velog.io/@gillog/VSCode-jUnit-Test-%EC%8B%A4%ED%96%89-%EC%95%88%EB%90%A0-%EB%95%8C-Could-not-detect-default-configu..

Programming/Spring 2021.11.23

[Spring] SpringBoot WebClient buffer size 설정

API Rest 테스트를 하던 도중 특정 주소로부터 데이터를 가져오다가 이런 에러가 발생하였다. 대충 읽어보니 limit buffer 값이 초과해서 발생한 에러인데. Spring core 5.3.12 기준으로 buffer의 기준 크기는 256KB 이다. 따라서 buffer size만 변경해주면 문제는 해결된다. 방법1) application.properties 에 해당값을 추가해준다. (임의로 10MB만 할당) spring.codec.max-in-memory-size=10MB 방법2) ExchangeStrategies 인터페이스 사용 .. ExchangeStrategies exchangeStrategies = ExchangeStrategies.builder() .codecs(configurer -> co..

Programming/Spring 2021.11.18

[Linux] iptables 설정 (Server 방화벽 설정 - Ubuntu)

로컬 컴퓨터가 아닌 리눅스 Server에 접근하기 위해선 해당 Server의 방화벽을 허용해주어야 외부에서 접근이 가능하다. 다음은 기본적인 방화벽 설정에 대해 기술합니다. iptables 조회 $ iptables -L -v iptables 주요 명령어 -A : 새로운 규칙을 추가 -D : 기존의 규칙을 제거 -R : 새로운 규칙으로 대체 -P : 기존의 규칙을 변경 -F : 모든 규칙을 삭제 -I : 규칙을 맨 첫부분에 설정. iptables 주요 옵션 -p : 패킷의 포트 번호 혹은 프로토콜 명시. -j : 패킷을 어떻게 처리할지 명시. ( ex) ACCEPT, DROP, LOG, REJECT) -m : 확장 모듈을 활성화. ( ex) recent 모듈 : 특정 시간 동안 특정 개수 이상의 패킷을 받..

Programming/Linux 2021.11.15

[Linux] netstat 옵션 정리

netstat은 해당 리눅스 환경이 다른 시스템과 어떤 포트로 연결되어 있는지를 확인하는 명령어이다. 옵션 -a : 모든 연결 및 수신 대기 -c : 현재 실행 명령을 매 초마다 실행 -l : listen 하고 있는 포트만 보여줌 -i : 네트워크 트래픽 정보 모니터링 -t : tcp로 연결된 포트 보여줌 -u : udp로 연결된 포트 보여줌 -n : 주소나 포트 형식을 숫자로 표현 -p ([프로토콜]) : 해당 프로토콜을 사용하고 있는 프로그램을 보여줌. PID/Program name 컬럼으로 출력됨. -r : 라우팅 테이블을 보여줌 -s : 프로토콜별 통계 정보 예시) $ netstat -tnlp : tcp로 연결되어 있고, 주소나 포트 형식은 숫자로 표현되며, 현재 listen중인 프로토콜 출력.

Programming/Linux 2021.11.15