분류 전체보기 65

개발자 면접 대비 | 시간복잡도 빅오(Big O) 표기법 완벽 정리

O(1) O(n) O(n²) O(log n) 코드 예시와 면접 답변백엔드 개발을 하다 보면실무에서 시간복잡도를 직접 쓸 일은 많지 않다.하지만 코딩테스트나 라이브코딩 면접에서는"이 코드의 시간복잡도가 어떻게 되나요?"라는 질문이 거의 반드시 나온다.이 글에서는 빅오(Big O) 표기법 개념부터면접에서 실제로 쓰이는 패턴까지 한 번에 정리한다.빅오(Big O) 표기법이란?1894년 독일 수학자 파울 바흐만이 처음 사용한 수학 기호다.O는 독일어 Ordnung, 즉 "차수/크기의 등급"에서 왔다.원래는 순수 수학 기호였는데컴퓨터 과학에서 알고리즘 성능을 표현하는 데그대로 가져다 쓰고 있다.> 데이터 크기 n이 커질 때,> 연산 횟수가 어떤 비율로 늘어나는가.시간복잡도 판단 공식 루프 없이 바로 접근 →..

IT/etc 2026.05.21

[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

[MAC]사용중인 프로세스 확인 및 종료

Last login: Tue Dec 6 11:58:38 on ttys000 ➜ ~ sudo lsof -i:8080 Password: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 48385 we 62u IPv6 0x34090ed2e923b5b5 0t0 TCP *:http-alt (LISTEN) ➜ ~ ➜ ~ kill 48385 ➜ ~ ➜ ~ sudo lsof -i:8080 ➜ ~ 톰캣 실행 후 강제 종료가 된 경우 제대로 종료되지 않았을 때가 있다. 그럴때 터미널을 열어 ➜ ~ sudo lsof -i:8080 해당하는 포트를 검색한 뒤 , PID를 kill 하면 된다

[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

[SpringBoot] gradle MySQL 설정

gradle에 의존성을 추가 해준다. implementation 'mysql:mysql-connector-java' application.properties나 yml에 연결할 mysql DB 커넥션 정보를 넣어준다. 이전 글에서 도커 컨테이너로 생성한 mysql db에 new_schema를 추가 후 그 정보를 넣어주었다. datasource.url의 뒤에오는 정보들은 필수 입력해주어야 사용 가능하다. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/new_schema?useSSL=false&useUnicode=true&characterEncoding=utf..

카테고리 없음 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