728x90
반응형

커널파라미터 변경 함수 

test.sh 
cat() {
  declare -A PROC=(
    ["/proc/sys/kernel/shmmax"]=42949675
    ["/proc/sys/kernel/shmmni"]=4096
    ["/proc/sys/kernel/shmall"]=2097152
    ["/proc/sys/fs/file-max"]=6815744
  )
  [[ ${PROC[$1]} == "" ]] && /usr/bin/cat $* || echo ${PROC[$1]}
}
free() { echo "Swap: 2048 0 2048"; }
free
cat /proc/sys/kernel/shmmax

 

Linux grep 사용법

  • 특정 문자열일 찾아서 중복 제거 하는 명령 
grep "찾는 문자열" log_file.log | sort | uniq

 

  • cut 명령을 사용해 중복 문자열 제거 하는 방법 
    • grep "첫번째 문자열 기준으로 로그의 패턴 문자를 1차 선별 한다. " log_file.log: ERROR_INVALID_PROTOCOL(-12030)를 포함한 줄을 로그 파일에서 검색합니다.
    • cut -d ' ' -f  5-14 : 공백(' ')을 구분자로 하여 다섯 번째 필드부터 끝까지의 메시지를 추출합니다. 즉, 오류 코드 및 그 이후 메시지 5-14 문자열 부분 만 추출합니다.
    • sort: 추출한 결과를 정렬 하고 
    • uniq: 중복된 항목을 제거 한다. 
 grep "찾는 문자열을 포함 하는 패턴" sys.log | cut -d ' ' -f 5-14 |sort | uniq

 

 

IPC(Inter-Process Communication) 자원 삭제(ipcrm)

  • 현재 사용자가 생성한 메시지 큐, 세마포어, 공유 메모리 자원을 모두 해제하여 시스템 리소스를 정리하는 스크립트이다 .
#MSGID, SEMID, SHMID  조회 하여 삭제 
MSGID=ipcs -q | grep $USER | cut -d " " -f 2
SEMID=ipcs -s | grep $USER | cut -d " " -f 2
SHMID=ipcs -m | grep $USER | cut -d " " -f 2

#메시지 큐(Message Queue)  삭제 
for msgq in $MSGID
do
        ipcrm -q $msgq
done

#세마포어(Semaphore) 자원 정리 
for sem in $SEMID
do
        ipcrm -s $sem
done

#공유 메모리(Shared Memory) 자원해제 
for shm in $SHMID
do
        ipcrm -m $shm
done

 

728x90
반응형

'IT지식' 카테고리의 다른 글

[Mkdocs] Mkdocs 설치 및 사용 방법  (0) 2025.01.14
[IT지식] REST FUL 이란?  (0) 2022.06.04
[IT 지식]스케일 아웃 vs 스케일 업  (0) 2022.04.18
728x90
반응형
  • Gitlab 에서 생성한 프로젝트를 상제하는 방법에 대해 알아봅니다. 

GitLab 에서 생성한 Project(프로젝트)  삭제하는 방법 

  • 삭제하면 되될릴수 없으므로 필히 주의가 필요합니다. 
  • 우선 삭제할 프로젝트를 선택합니다. 
    • Gitlba 로그인후 삭제할 프로젝트 페이지로 이동 합니다. 
    • 삭제할 프로젝트 선택후 하단 Settings -> Gerneral -> Advanced settings  선택후 가장 하단 섹션을 확인합니다. 
    • Delete project 버튼을 클릭해서 생성한 프로젝트를 삭제 합니다. 
    • 이때 프로젝트 이름을 입력 한후 delete 버튼을 클릭해서 프로젝트를 삭제 합니다. 

 

 

728x90
반응형
728x90
반응형
  • 파이써의 데이터 자료형 중 tuple 와 dict 차이에 대해 알아보겠습니다. 
  • tuple과 dict 는 파이썬에서 자주 사용 하는 데이터 자료형이지만 몇가지의 주요한 차이가 있습니다. 

 데이터 구조

  • 첫번째로 데이터의 관리 구조에 있어 차이가 있습니다. 
  • tuple(튜플)은 순서가 있는 데이터 집합으로 인덱스 방식으로 데이터를 저장 관리 하지만 
  • dict(딕셔너리는) 키(key)-값(value)의 데이터를 관리 저장하고 관리 합니다. 
tuple dict
v_tuple = (1, 2, 3,6,7,10)
print(v_tuple[0])
v_dict = {'name': 'tom', 'age': 33, 'dept': 'salese'}
print(v_dict['name'])  
print(v_dict['age'])  
print(v_dict['dept'])  

 

 

변경 가능 여부

  • tuple(튜플) 데이터가 정의 되면 값을 변경 할수 없는 반면 
  • dict(딕셔너리는) 데이터를 추가 수정 삭제를 할수 있습니다. 
tuple dict
v_tuple = (1, 2, 3,6,7,10)
print(v_tuple[0])
v_dict = {'name': 'tom', 'age': 33, 'dept': 'salese'}
print(v_dict['name'])  
print(v_dict['age'])  
print(v_dict['dept'])  

 

중복 허용 여부

  • tuple(튜플) 중복된 값을 허용 하지만 
  • dict(딕셔너리는) 키-value 구조로 되어있어 중복을 허용 하지 않으며 중복 키 값 설정시 마지막 값으로 key-value 값이 셋팅 됩니다. 
tuple dict
v_tuple = (1, 2, 3,1,2,3)
for value in v_tuple:
    print(value)
v_dict = {'name': 'tom', 'age': 33, 'dept': 'salese','name': 'chulsu'}
for key, value in v_dict.items():
     print(f"{key}: {value}") 

 

사용 목적 및 메모리 사용량

  • tuple(튜플) 순서를 보장 하고 데이터가 불변 하기 때문에 정의되 데이터를 저장 할때 사용 하고  
  • dict(딕셔너리는) 빠른 검색을 필요로 할때 Key, value 를 저장하고 검색 할때 유용하다 
  • 그리고 tuple(튜플) 메모리 사용량이 더적고 dict 보다 메모리 사용량이 작다. 

 

728x90
반응형
728x90
반응형

+ 연산자 사용하기

  • 두 개 이상의 문자열을 더하듯이 연결하여 새로운 문자열을 합칠수 있다.
string1 = "Hello"
string2 = "World"
result = string1 + " " + string2
print(result)  # 출력: Hello World

f-string 사용하기

  • 파이썬 3.6 버전부터 도입된 f-string은 문자열 안에 변수를 삽입하여 더욱 간결하게 문자열을 합칠수 있다.
name = "Alice"
age = 30
result = f"My name is {name} and I am {age} years old."
print(result)  # 출력: My name is Alice and I am 30 years old.

 

format() 메서드

name = "Bob"
result = "My name is {}".format(name)
print(result)  # 출력: My name is Bob

 

join() 메서드 사용하기

  • 리스트나 튜플 등의 반복 가능한 객체에 있는 문자열들을 특정 문자열로 연결하여 하나의 문자열로 만들 때 사용합니다.
words = ["apple", "banana", "cherry"]
result = "-".join(words)
print(result)  # 출력: apple-banana-cherry

728x90
반응형
728x90
반응형

Curl (client url) 이란?

curl은 Linux, Unix, Windows 등 다양한 운영 체제에서 사용 가능한 명령줄 도구로, URL을 통해 데이터를 전송하거나 다운로드하는 데 사용됩니다. HTTP, HTTPS, FTP, FTPS, SCP, SFTP, LDAP, POP3, IMAP, SMTP 등 다양한 프로토콜을 지원 한다. 

 

 

Crul 주요 기능 

  • 웹 요청 및 응답 처리: 웹 서버에 요청을 보내고 응답 테스트를 진행 할때 사용 한다.
  • 파일 다운로드 및 업로드: curl을 사용해 원격 서버에서 파일을 다운로드하거나, 서버로 파일을 Upload 시킬수 있다.
  • API 테스트: REST API 또는 기타 HTTP 기반 API를 테스트를 할수 있다. 

Crul 설치

# Ubuntu
sudo apt update
sudo apt install curl

# Rocky Linux
dnf install curl 

#CentOS
yum install curl

curl 정보 확인 

#버전 정보 확인 
crul -v 

# 테스트사용 방법 확인 
crul --manaul

#사용 옵션 확인 
crul -help

 

curl 기본 사용 방법

  • curl [옵션] [URL]

리모트 서버 포트 통신 확인 (방화벽 상태 확인)

  • ssh 22번 포트 정상 접속 확인
 curl -v telnet 192.168.116.210:22

  • 방화벽에 포트가 막혀 있거나 접속이 불가 할경우 아래 처럼 연결이 거부 된다.

 

웹 페이지  호출

curl http://google.com

파일 다운로드

  • -O 옵션은 URL에서 파일을 다운로드하고, 원래 파일 이름으로 저장
curl -O https://example.com/file.txt

 

파일 업로드 (POST 요청)

  • -X는 HTTP 메서드를 지정하며, -F는 파일을 전송하는 옵션 이다.
curl -X POST -F "file=@/path/to/file" https://example.com/upload

 

 

주요 옵션들

  • -o [파일명]: 출력 내용을 지정한 파일로 저장.
  • -O: URL에서 추출한 이름으로 파일을 저장.
  • -I: 헤더 정보만 출력.
  • -X: HTTP 메서드를 지정 (GET, POST, PUT, DELETE 등).
  • -d: 데이터를 전송 (POST 요청).
  • -H: 헤더 정보 추가.
  • -F: 파일 전송에 사용.
  • -u: 사용자 이름과 비밀번호로 인증.
  • --proxy: 프록시 서버를 통해 요청.
  • -k: SSL 인증서 오류 무시.

 

728x90
반응형
728x90
반응형

Git은 기본적으로 빈 디렉토리를 추적하지 않기 때문에 빈 디렉토리를 저장할수 없다.  

파일이 없는 빈 디렉토리는 자동으로 무시 되기 때문에 간접적인 방법으로 .gitkeep 파일을 사용 하여 빈디렉토리를 저장 한다. 

 

.gitkeep 파일 사용 방법 

  • 빈파일을 생성 한다. 
mkdir my_empty_directory
  • 디렉토리 안에 .gitkeep 파일을 생성합니다
touch my_empty_directory/.gitkeep
  • 디렉토리를 Git에 추가하고 커밋한다.
# 모든 빈 디렉토릴를 저장 하고 자 할때 
git add .

# 특정 빈 디렉토리를 저장하고자 할때 
git add my_empty_directory/.gitkeep
git commit -m "Add empty directory my_empty_directory with .gitkeep"

 

  • .gitkeep 파일은 특별한 의미를 가지지 않는 관례적인 이름으로 사용 하며 빈 디렉토리임을 다른 사용자가 의도적으로 비어있는것을 표현해 주는 의미다. 

 

  • git push 
git push origin main

 

728x90
반응형

'04.DevTools > Git&GitLab' 카테고리의 다른 글

Gitlab Upgrade 하기  (3) 2025.07.30
[GitLab] Project 삭제 방법  (0) 2024.11.07
[GitLab] Gitlab 명령어 모음  (0) 2022.04.17
[GitLab] 프로젝트 생성 및 관리  (0) 2022.04.17
[GitLab] GitLab 설치 방법 및 환경설정  (0) 2022.04.16
728x90
반응형

Docker 명령 수행시 에러 발생 

  • 도커를 사용 하면서 발생한 문제에 대해 해결 방법에 대한 기록 입니다. 

! no space left on device 에러

에러 내용

ERROR: failed to solve: failed to copy files: userspace copy failed: write /var/lib/docker/overlay2/
83-20240716084622.tar.gz: no space left on device
  • Docker 빌드 과정에서 파일을 복사하는 도중  발생하는 문제로 시스템 디스크 공간 부족 문제로 발생 할수 있습니다. 
  • 에러 발생 디렉 토리로 이동하여 사용현황 확인후 디스크를 정리 합니다. 

해결 방법1

docker system prune -a --volumes
  • 사용하지 않는 Docker 이미지, 컨테이너, 네트워크, 볼륨 등을 삭제하여 공간을 확보합니다.
  • 아래 그림처럼 docker system prune 명령을 수행한후 디스크 용량이 확보 되었습니다. 
    • 단 중지된 컨테이너, 사용하지 않는 이미지, 네트워크, 볼륨을 삭제 하기때문에 사용하는 생성해둔 모든  Docker image 가 삭제 될수 있습니다. 

 

 

해결방법2(추천)

  • Docker 디렉터리 위치 변경
  • /etc/docker/daemon.json 파일을 수정한후 여유있는 디스크로 Docker 디렉토리를 변경 합니다. 
  • vi /etc/docker/daemon.json 
{
     "data-root": "/home/docker-directory"
}
  • 이후 Docker 를 재기동 합니다. 
systemctl restart docker

 

728x90
반응형
728x90
반응형
  • IntelliJ 에서 Gitlab 소스를 가져오는 방법에 대해 설명 한다. 

IntelliJ GitLab 연동 설정 

  • File -> new -> Project  from Version Control 클릭 

 

 

  • Repository URL 클릭후 Glit Clone 주소 (HTTP) 를 입력 합니다.
  • Token 주소는 Gitlab 에서 설정한 Project Access Tokens  값을 입력 합니다. 

 

  •  Project Access Tokens  생성 방법 
    • Settions -> Access Tokens -> Token name 설정 -> Select Scope 선택 
    • Create 버튼 클릭 

 

 

  • 정상 적으로 연동이 되면 Gitlab 에 등록한 프로젝트가 IntelliJ 촤측화면에 다운도르 되는것을 볼수 있습니다. 

 

 

IntelliJ GitLab Commit 

  • 프로젝트 선택후 마우스 우측 버튼을 클릭 합니다. 
  • Git -> Commit Directory.... 클릭 합니다. 

 

  • Commit Comment 를 작성하고 Commit and Push 버튼을 클릭 합니다. 

 

 

  • 정상적으로 Gitlab 에 Push 가 업로드 된것을 확인 할수 있습니다. 

 

 

 

728x90
반응형

'04.DevTools' 카테고리의 다른 글

[Jenkins] docker compose Jenkins Install 가이드  (1) 2025.09.22
[SVN] SVN 사용법  (0) 2024.11.14
[Nexus]Centos7 nexus 설치 및 이클립스 연동  (0) 2022.04.21
728x90
반응형
  • Swagger API 리스트를 Postman Collenction 으로 변경하는 방법에 대해 소개합니다. 

  • /v3/api-docs 링클를 클릭하면 후 마우스 우클릭하면 json 파일로 저장을 합니다. 

  • Postman 을 실행한후 File -> Import 버튼을 클릭합니다.

 

아래와 같은 화면이 나오면 Swagger 에서 저장한 api-docs.json 파일을 드래그 앤 드랍을 하여 Import 수행합니다. 

 

  • Import 완료 

728x90
반응형

'테스트 > 테스트팅 Tool' 카테고리의 다른 글

[Postman] Postman 사용법 간단 정리  (0) 2024.07.26
[Jmeter] Apach Jmeter 사용법  (0) 2022.04.16
728x90
반응형

Postman 이란? 

  • Postman 인란 API 개발 및 테스트를 위한 강력한 도구 입니다. 
  • 개발자가 코드를 개발하고 API 별로 테스트를 수행할 수있는 강력한 테스트 툴입니다. 

Postman 설치 및 실행 

  • https://www.postman.com/downloads/ 공식 웹사이트에서 다운로드 받아 설치 합니다. 
  • 설치가 완료 되면 postman 을 실행 합니다. 
  • 설치가 완료되면 테스트에서 사용하는 주요  매뉴를 확인할수 있습니다. 
    • Workspaces: 다양한 프로젝트를 관리할 수 있는 공간입니다.
    • Collections: API 요청들을 그룹화하여 관리할 수 있습니다.
    • Requests: 실제 API 요청을 수행하는 작업입니다.

 

Postman 테스트 

  • 테스트를 하기위해 우선 작업공간(Workspace) 를 생성 합니다. 

 

 

  • 프로젝트가 생성 되면 테스트를 할수 있는 기본 샘플이 제공 됩니다. 

 

  • 샘플 케이스를 통해 Postman 기본 사용법을 익힙니다.

API 요청 만들기

  1. 새 요청 생성
    • Postman을 실행하고 왼쪽 상단의 New 버튼을 클릭하여 새로운 요청을 만듭니다.
  2. HTTP 메서드 선택
    • 요청 창에서 GET, POST, PUT, DELETE 등 필요한 HTTP 메서드를 선택합니다.
  3. URL 입력
    • URL 입력란에 요청을 보낼 API의 엔드포인트를 입력합니다.
  4. 헤더 및 파라미터 설정
    • Headers 탭에서 요청에 필요한 헤더를 추가할 수 있습니다.
    • Params 탭에서 쿼리 파라미터를 추가할 수 있습니다.
  5. Body 설정 (POST, PUT 요청 시)
    • Body 탭에서 요청 본문을 설정합니다. JSON, form-data, x-www-form-urlencoded 등의 형식을 지원합니다.
  6. Send 버튼 클릭
    • 모든 설정이 완료되면 우측 상단의 Send 버튼을 클릭하여 요청을 보냅니다.

4. 응답 확인

  • 요청을 보내면 하단의 응답 창에 API의 응답이 표시됩니다.
    • Status: HTTP 상태 코드 (예: 200 OK, 404 Not Found)
    • Response Body: API로부터 반환된 데이터
    • Headers: 응답 헤더
728x90
반응형

+ Recent posts