IT 47

[SourceTree] Mac 소스트리 내 저장된 비밀번호 삭제 방법

어느날 갑자기 비밀번호 변경으로 소스트리 비밀번호 저장을 초기화 시키고싶을때 소스트리에서 fatal: Authentication failed for ~ 이렇게 두루뭉실하게 메세지를 뱉어냈다 git --no-optional-locks -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch origin fatal: Authentication failed for 'https://bitbucket..it/scm/wr/se_sp.git/' fatal: Authentication failed fo..

IT/etc 2023.11.16

[Tomcat] 톰캣 버전확인 및 구동,종료,재기동 방법

너무나 간단한 것 같지만 , 막상 해보려고하면 생각 안나는 것들 리눅스 서버 Tomcat 버전 확인하기 1. 설치된 톰캣 버전 확인하기 톰켓이 설치된 경로로 이동한다. 톰캣 설치된 하위 /lib 폴더로 이동해소 아래의 명령어를 입력해주자. 상세하게 버전 확인이 가능하다. 2. 톰캣 서버 키고, 끄고, 재기동 하기 1. 켜기 cd {TOMCAT_PATH}/bin ./startup.sh service tomcat start 2. 끄기 cd {TOMCAT_PATH}/bin ./shutdown.sh service tomcat stop 3. 재기동 cd {TOMCAT_PATH}/bin ./shutdown.sh ./startup.sh service tomcat restart

IT/Server 2023.05.16

[Spring] LogBack 로그 레벨

Logback은 Java에서 가장 많이 사용되는 Logging 프레임워크이다. Log4j의 후속 버전으로 만들어진 라이브러리이다. 로그 레벨의 종류는 아래와 같이 6가지이다. Fatal 매우 심각한 에러로 프로그램이 종료되는 상황이 많다 Error 의도하지 않은 에러가 발생한 경우 Warn 에러가 될 수도 있는 잠재적 가능성이 있는 경우 Info 요구사항에 따라 시스템 동작을 확인할 때, 명확한 의도가 있는 에러의 경우 Debug Info레벨보다 조금 더 자세한 정보가 필요한 경우, DEV환경에서 주로 사용한다. Trace Debug 레벨보다 더 자세한 예외로그를 사용할 때 사용

IT/Server 2023.05.11

[Spring] SpringBoot, HikariCP stats 로그 레벨 조정하기

회사 서비스에 대량의 데이터를 오래걸리는 쿼리로 가공해 가져오는 부분이있다. 그 부분에서 갑자기 터진 이슈 504 gateway timeout 내가 접속해서 다운받아보니 잘 되기도 하고 안되기도 하고, 간헐적으로 발생하는 부분이라 로그를 살펴보았다. 아래는 내가 클릭했을 때 발생한 오류라, 어디서 트랜젝션을 잡아먹고 있는지 확인하기 위해, 로그레벨을 올려보고 모니터링하기로 결정했다. - 로그레벨 조정 방법 hikari pool 상태 ( active, idle, wating)의 커텍션 수를 확인하고 싶은 경우, 아래 설정값을 수정하여 로그레벨을 변경할수 있다. 1. logback 설정이 되어있다면, logback-spring.xml 수정 2. application.properties 나 applicatio..

IT/Server 2023.05.11

[Spring] HikariCP이란?

일단 HikariCP는 JDBC의 커넥션 풀 라이브러리이다. jdbc에 대해서 먼저 알아보자 - JDBC란?JDBC는 Java Database Connectivity의 약자로 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. 데이터베이스의 종류와는 상관없다. -DB Connection Pool(커넥션 풀)이란?자바 프로그램에서 데이터베이스의 연결을 맺고 끊는것은 오래걸려 성능과 안정성에 큰 영향을 미친다. 그래서 웹 어플리케이션은 실행됨과 동시에 연동할 데이터베이스와의 연결을 미리 설정해 둔다. 일정량의 Connection 객체 연결을 미리 해 놓았다가 요청시 꺼내서 쓴다. 연결을 미리 해 놓은 상태로 데이터베이스와 연결 상태를 유지하는 기술을 커넥션 풀이라고 한다. - 스프링에서의 커넥션..

IT/Server 2023.05.11

Spring Batch 작성중 (processor)

스프링 배치란? 엔터프라이즈 시스템의 일상적인 운영에 필수적인 스프링 배치란 배치 프레임워크로 로깅/추적, 트랜잭션의 관리, 작업 처리 통계, 작업의 재시작, 건너뛰기, 리소스 관리 등의 대용량 레코드 처리에 유용한 기능을 제공한다. 스프링 배치의 구조 설명 Job Spring Batch에서 배치 어플리케이션을 위한 일련의 프로세스로 단일 실행단위이다. Step Job을 구성하는 처리 단위이다. 하나의 Job은 N개의 Step을 포함한다. JobLauncher Job 실행을 위한 인터페이스이다. ItemReader Step에서 Item을 읽어오는 인터페이스이다. 다양한 방법으로 Item을 읽어 올 수 있다. ItemProcssor Reader에서 읽어온 Item의 데이터를 처리하는 역할을 한다. 배치 처..

IT/Spring Framework 2023.04.20

[Spring Boot] MySQL & JPA 연동 (gradle프로젝트)

1. 프로젝트에 의존성 추가하기 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'mysql:mysql-connector-java' 2. DB에 MySQL과 JPA 관련 설정 정보 추가하기 #Mysql 연결 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/new_schema?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC spring.datasource.username=roo..

IT/etc 2022.03.23

[Docker] 도커 컨테이너 IP확인

도커의 Network 환경은 각각의 독립된 환경으로 제공받아있다. Container들은 기본적으로 한개의 Ethernet Interface와 private IP를 자동으로 할당받는다. 참조할만한 사이트 : https://bluese05.tistory.com/15 Docker Network 구조(1) - docker0와 container network 구조 Docker Network 구조(1) - docker0와 container network 구조 [Contents] 1. Docker Network 구조(1) - docker0와 container network 구조 2. Docker Network 구조(2) - Container network 방식 4가지 3. Docker.. bluese05.tistor..

IT/etc 2022.03.23

[Docker] 도커에서 MySQL 컨테이너 설치부터 접속까지

도커가 설치 되어있다면, 아래 순서대로 MySQL 컨테이너를 설치하고 접속할수 있다. -- 최신버전 mysql 이미지 설치 ( 버전 명시를 안하면 최신버전으로 다운로드가 된다 ) docker pull mysql / $ docker pull mysql:8.0.22 -- 다운로드한 docker 이미지를 확인한다 docker images docker images 컨테이너생성방법 1 : Shell 명령어 이용 2. MySQL Docker 컨테이너 생성 및 실행 $ docker run --name mysql-container -e MYSQL_ROOT_PASSWORD= -d -p 3306:3306 mysql:latest -d: 백그라운드 모드 -p: 포트 포워딩 호스트:컨테이너 -e: 컨테이너 내에서 사용할 환경변..

IT/etc 2022.03.23

[Java] TDD 작성, JUnit ( 작성중입니다 )

TDD란? TDD(Test Driven Development)란 '테스트 주도 설계'라고 하여 테스트를 먼저 만들고 실제 서비스 될 코드를 작성하는 개발방법론 중 하나이다. TDD 작성의 장점은 객체지향적인 코드 개발이 가능하며, 설계 수정 및 디버깅의 시간을 단축하고, 유지보수가 용이하며, 오버 엔지니어링의 방지가 되는 점이 있다. 단점은 개발에 소요되는 시간이 증가하고, 테스트 코드가 짜는것이 어렵다는 점이다. 1. 테스트 코드를 작성하는 이유 테스트 코드를 작성하지않으면 문제를 빠르게 파악하기 힘들고, 한번의 수행을 위해 아래의 과정을 반복 해야지 테스트가 가능하다. 1. 코드 작성 > 2. 서버 실행 > 3. 코드 요청 수행 > 4. 요청결과를 디버깅 위 과정을 문제가 해결될때까지 반복해야하는데,..

IT/JAVA 2022.03.18

[Java] Garbage Collection(가비지 컬렉션)이란?

- Garbage Collection (가비지 컬렉션)이란? 프로그램 개발을 하다보면 유효하지 않은 메모리(Garbage)가 발생하게 된다. Java를 이용해 개발하다보면 JVM의 가비지 컬렉터가 불필요한 메모리를 알아서 정리해준다. - JVM JVM 자바 가상머신의 약자를 따서 줄여부르는 용어이다. 자바 애플리케이션을 클래스 로더를 통해 읽어들여 실행하는것 JVM은 OS로부터 프로그램이 필요로 하는 메모리를 할당받음. 자바 컴파일러 (javac)가 자바 소스코드(.java)를 읽어들여 byte code(.class)로 변환시키고, Class Loader를 통해 class파일들이 JVM으로 로딩 된다 로딩된 class파일들이 Execution enging(실행 엔진)을 통해 해석된다. 해석된 바이트코드는..

IT/JAVA 2022.03.15