전체 글 1150

[Git] 작업 디렉터리 지정하여 명령어 수행

개요Git 작업은 보통 작업 디렉터리 내에서 이루어진다. 작업 디렉터리 밖에서 git 명령어를 수행하면 fatal 에러가 발생하면서 실패한다.다만 진행하는 프로젝트가 여러 저장소로 구성되어 있다면, Git 작업을 할 때 저장소를 이동하는 것에 번거로움을 느낄 수 있다.이 글에서는 작업 디렉터리를 지정해 Git 명령어를 수행하는 방법을 적어둔다.   -C 옵션현재 작업 디렉터리 대신 path에서 실행할 때에는 -C 옵션에 경로를 지정한다. -C 옵션에 값을 여러 개 지정하는 경우, 각 -C 옵션은 뒤이어 오는 -C 옵션의 기준 경로가 된다. 즉, 상대적으로 해석된다.git -C # 예시git -C branch_test/ status  참고 문서Git - git-help Documentation (git-..

Git | GitLab 2024.06.28

[Maven] java.lang.IllegalStateException: Unable to load cache item

현상Ubuntu 서버에서 maven을 설치하여 Java 애플리케이션을 빌드하던 중 아래와 같은 에러가 발생하면서 실패했다.[ERROR] Error executing Maven.[ERROR] java.lang.IllegalStateException: Unable to load cache item[ERROR] Caused by: Unable to load cache item[ERROR] Caused by: Could not initialize class com.google.inject.internal.cglib.core.$MethodWrapper[ERROR] Caused by: Exception com.google.in..

Java 2024.06.27

[AWS] botocore.exceptions.ClientError: An error occurred (RequestLimitExceeded) when calling the RunInstances operation (reached max retries: 4): Request limit exceeded. 발생 시

현상AWS 환경에서 매 시간마다 배치성 작업을 수행시키고 있다. 배치성 작업은 돌아갈 때마다 새 EC2를 생성하여 동작하고 EC2를 종료시키기를 반복하는데, 최근 EC2를 생성하는 과정에서 거의 매일 아래와 같은 에러가 발생하면서 실패하고 있었다.botocore.exceptions.ClientError: An error occurred (RequestLimitExceeded) when calling the RunInstances operation (reached max retries: 4): Request limit exceeded.매번 수동으로 Ec2를 다시 생성해왔는데, 현상을 좀 해소해보려고 한다.  API throttlingAWS EC2는 원활한 서비스 제공을 위해 리전 별로 AWS 계정에 대한 ..

AWS 2024.06.26

[Python] python -m 옵션

개요일반적으로 python 코드는 python 명령으로 실행할 코드의 경로를 지정하여 실행한다.python 그런데 최근에 아래와 같은 명령어 사용을 확인하여, python -m ipykernel install --user --name --display-name ""python 명령의 -m 옵션이 어떤 역할을 하는지 적어두려고 한다.  python -m module-namePython 공식 문서에서 명령줄과 환경 문서를 보면 python 명령어는 아래와 같은 옵션을 제공하고 있다.python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args]그 중 -m 옵션은 제공한 module-name을 sys.path에서 검색하여 __mai..

Python 2024.06.25

[Jupyter] 새 Python 커널 추가

개요사용하고 있는 Jupyter Notebook에서 새로운 가상 환경을 추가하는 방식으로 Python 패키지 관리 및 분리하려고 한다.새 가상 환경을 추가하면 New 드롭다운에 표시된다던데, 방법을 적어둔다.  가상 환경 생성먼저 새로 사용할 가상 환경을 생성한다. 이 글에서는 conda를 사용하여 설정한다. 1. 가상 환경 목록 확인conda env list기존에는 base라는 이름의 기본 환경만 생성되어 있는 상태다. 2. 가상 환경 생성생성할 환경의 이름과 python 버전을 지정하여 conda 기반의 python 가상 환경을 생성한다.conda create -n python=# 예시conda create -n test_env python=3.10생성 도중 라이브러리 설치 허용 여부를 묻는데, y..

Python 2024.06.24

[JupyterLab/Notebook] 서버 중지

개요업무에서 jupyterhub single-user server를 통해 jupyter notebook을 제공받고 있는데, 이전에 Jupyter notebook, JupyterLab의 버전이 올라가면서 UI 측면에 변경이 있었던 모양이다.기존과 달리 서버를 중지할 수 있는 페이지로 이동하는 버튼을 찾기 힘들어서…… 적어둔다……!   서버 중지 방법1. 상단 메뉴 > File > Hub Control Panel 이동또는 브라우저 주소창을 통해 http://JUPYERHUB_URL/hub/home으로 입력하면 Hub Control Panel로 이동할 수 있다.  2. 서버 중지Hub Control Panel에서 Stop My Server 버튼을 누른다.참고로 Logout을 누르면 서버 중지 없이 로그아웃만 ..

Python 2024.06.21

[백준] 1018 - 체스판 다시 칠하기

문제문제 : https://www.acmicpc.net/problem/1018지민이는 단위 정사각형으로 나누어져 있는 M X N 크기의 보드를 찾았다. 보드 내 정사각형은 검은색 또는 흰색으로 칠해져 있는데, 지민이는 보드를 잘라서 8 X 8 크기의 체스판을 만들고자 한다.체스판은 검은색과 흰색이 번갈아가면서 칠해져 있어야 하고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 보드가 체스판처럼 칠해져 있다는 보장이 없어서 지민이는 보드를 잘라낸 후 몇 개의 정사각형을 다시 칠하려고 한다. 지민이가 다시 칠해야 하는 정사각형의 최소 개수를 구하여라.  풀이좋은 방법이 없을지 좀 오래 고민을 해보았는데, 입력 크기도 작아서 그냥 완전 탐색하는 방식으로 진행했다. 1. 체스판 초기화체스판은..

Algorithm/백준 2024.06.20

[백준] 1260 - DFS와 BFS

문제문제 : https://www.acmicpc.net/problem/1260그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하라. 단, 방문할 수 있는 정점이 여럿인 경우에는 정점 번호가 작은 것부터 방문한다.첫째 줄에 정점의 개수 N, 간선의 개수 M, 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선을 연결하는 두 정점의 번호가 주어진다. 입력으로 주어지는 간선은 양방향이다.  접근2024.05.08-[알고리즘] 너비 우선 탐색(BFS) 이란, 2024.05.12-[알고리즘] 깊이 우선 탐색(DFS) 이란에서 살펴본 대로 구현하면 된다.   구현1. 입력값 초기화import sysN, M, V = map(int, sys.stdin.readline()...

Algorithm/백준 2024.06.19

[백준] 2108 - 통계학

문제문제 : https://www.acmicpc.net/problem/2108통계학에서 N개 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다.산술평균 : N개의 수의 합을 N으로 나눈 것중앙값 : N개의 수를 오름차순으로 나열했을 때 그 중앙에 위치하는 값최빈값 : N개의 수 중 가장 많이 나타나는 값범위 : N개의 수중 최댓값과 최솟값의 차이첫째 줄에 수의 개수 N을 입력받고, 다음 N개 줄에 걸쳐 정수를 입력받을 때 네 가지 기본 통계값을 구하여라.   접근통계 등의 데이터를 처리할 때는 numpy를 곧잘 사용하는데, 이번 글에서는 numpy 사용 없이 풀이해보려고 한다. 먼저 입력 데이터는 다음과 같이 선언했다.import sysN = int(sys.stdin.readline())list_n..

Algorithm/백준 2024.06.18

[Python] round 함수가 .5를 처리하는 방식

개요Python의 round 함수는 소수를 지정한 자릿수에 맞춰 반올림하는 함수이다. 반올림하는 자리의 수가 5보다 적으면 버리고, 5보다 크면 올린다. 그러나 실제로 몇 가지 예시로 round 함수를 수행하면 기대한 결과와 다른 결과가 나온다.왜 이러한 결과가 나오는지 적어둔다.  Bankers' Rounding이번에 처음 알게 되었는데 반올림을 하는 방법은 여러가지가 존재한다. 그중 하나인 산술 반올림은 반올림하는 자리의 수가 5보다 적으면 버리고, 5보다 크면 올리는, 일반적으로 알고 있는 반올림 방식을 말한다. 다만 산술 반올림은 대상이 되는 숫자가 5 이상이면 올리기 때문에, 내리는 경우보다 올리는 경우가 더 많다. 산순 반올림은 단순 계산에서는 큰 차이가 없지만 돈과 관련된 예민한 계산에서는 ..

Python 2024.06.17