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
반응형
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
반응형

'02.Docker > Docker' 카테고리의 다른 글

[docker-compose] docker-compose 란?  (1) 2022.04.05
Docker 설치  (0) 2022.03.20
자주 사용하는 Docker 명령어  (0) 2022.03.18
사용자 계정에서 Docker Command 사용 방법  (0) 2022.02.22
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' 카테고리의 다른 글

[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
반응형

'테스팅' 카테고리의 다른 글

[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
반응형

'테스팅' 카테고리의 다른 글

[Postman] swagger to Postman 시나리오 전환 방법  (0) 2024.07.26
[Jmeter] Apach Jmeter 사용법  (0) 2022.04.16
728x90
반응형
  • grafana 설치 이후 loki 와 promtail 을 설치 하여 로그를 모니터링 하는 방법에 대해 알아 보겠습니다. 

 

구성 설명 

 

  • Promtail: 로그를 수집하고 필터링한 후 Loki로 전송하는 로그 수집기.
  • Loki: 로그 데이터를 저장하고 검색 쿼리를 처리하는 로그 데이터베이스.
  • Grafana: Loki로부터 데이터를 시각화하고 분석하는 대시보드 툴 입니다. .

 

 

설치

Loki 설치 

  • loki 바이너리를 다운로드 받아 압축해제후 loki 설치 합니다. 
#loki 다운로드 
mkdir loki 
cd loki 
wget https://github.com/grafana/loki/releases/download/v2.9.8/loki-linux-amd64.zip    
unzip loki-linux-amd64.zip


#loki 환경설정 파일 다운로드 
wget https://raw.githubusercontent.com/grafana/loki/main/cmd/loki/loki-local-config.yaml

 

 

  • loki-local-config.yaml 수정 
auth_enabled: false

server:
  http_listen_port: 3100
  grpc_listen_port: 9096



ingester:
  lifecycler:
    address: 192.168.116.200
    ring:
      kvstore:
        store: inmemory
      replication_factor: 1
    final_sleep: 0s
  chunk_idle_period: 5m
  chunk_retain_period: 30s
  max_transfer_retries: 0

schema_config:
  configs:
    - from: 2018-04-15
      store: boltdb
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 168h

storage_config:
  boltdb:
    directory: /data/loki/index

  filesystem:
    directory: /data/loki/chunks

limits_config:
  enforce_metric_name: false
  reject_old_samples: true
  reject_old_samples_max_age: 168h

chunk_store_config:
  max_look_back_period: 0s

table_manager:
  retention_deletes_enabled: false
  retention_period: 0s

 

  • loki 실행
nohup ./loki-linux-amd64 -config.file=loki-local-config.yaml   2>&1 &
  • 실행 파일 생성 ( loki-startup.sh)
vi loki-startup.sh 
kill -9 $(lsof -t -i:3100) || true
nohup ./loki-linux-amd64 -config.file=loki-local-config.yaml 2>&1 &

 

 

Promtail 설치

  • Promtail  바이너리를 다운로드 받아 압축 해제후Promtail 설치 합니다. 
mkdir promtail 
cd promtail 

wget https://github.com/grafana/loki/releases/download/v2.8.0/promtail-linux-amd64.zip

unzip promtail-linux-amd64.zip

nohup ./promtail-linux-amd64 -config.file=promtail-config.yaml 2>&1 &
  • promtail-local-config.yaml 설정 변경 : 수집할 로그와 위치를 변경 합니다. 
  • scrape_configs 는 수집할 로그입니다. 
  • 여러개의 job  을 등록 해서 사용할수 있습니다. 
server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: http://localhost:3100/loki/api/v1/push

scrape_configs:
- job_name: system
  static_configs:
  - targets:
      - localhost
    labels:
      job: varlogs
      __path__: /var/log/*log
      stream: stdout

 

 

Grafana 연동 설정 

  • 로그를 수집 하기 위한 promtail 설치와 수집된 데이터를 저장 하고 분석 하기 위한 loki 설치가 완료 되었다면 이제  grafana 에서 수집된 로그를 모니터링하기 위한 grafana  모니터링 셋팅을 진행 합니다. 

Data Connection 등록 

  • Connection -> Add new Connection 매뉴 선택후 검색창에 loki 를 검색한 후 Connection 연결 설정을 진행 합니다. 

 

 

DashBoard 작성 

  • 대시보드 등록을 통해 promtail 을 통해 수집된 로그를 모니터링 할수있도록 대시보드 셋팅을 진행 합니다. 

 

 

  • Label filters 설정 : promtail 설정 파일에 등록한 정보로 선택합니다.  
    • job 선택 : promtail 에 설정한 job 이름 
    • varlogs 선택 : promtail 에 설정한 로그 내용 
    • Line Contails 설정 : systemd 입력 

 

 

  • 우측 화면 콤보박스(현재는 Logs ) 를 선택하면 아래와 같은 다양한 형태로 데이터를 시각화 할수 있습니다. 

 

  • 설정이 완료되면 Save 버튼을 눌러서 대시보드를 저장합니다. 

 

 

 

728x90
반응형

'07.Monitoring > Grafana' 카테고리의 다른 글

[Grafana] Centos - Grafana Install  (0) 2024.05.13

+ Recent posts