전체 글 289

[Git] git diff 에 대한 다양한 예시

git diff 명령어는 코드 변경 사항을 비교하고 표시하는 데 사용됩니다. 다양한 옵션을 통해 원하는 방식으로 비교 결과를 조절할 수 있습니다. 아래는 git diff 명령어의 일부 옵션들과 간단한 설명, 예시를 나타내는 표입니다. 옵션 설명 예시 git diff Working directory와 인덱스(Staging Area) 간의 차이를 보여줍니다. git diff git diff --staged 또는 git diff --cached Staging Area와 최신 커밋 간의 차이를 보여줍니다. git diff --staged git diff commit1 commit2 두 커밋 간의 차이를 보여줍니다. git diff abc123 def456 git diff HEAD 현재 브랜치의 마지막 커밋과 W..

CI-CD 2023.12.04

[Network] L4, L7의 다양한 Loadbalancer 비교 설명

로드 밸런서는 네트워크나 애플리케이션 트래픽을 여러 대의 서버로 분산시켜 성능을 향상시키고 가용성을 높이는 역할을 합니다. 여러 종류의 로드 밸런서가 있으며, L4(네트워크 계층)와 L7(애플리케이션 계층)에 대한 로드 밸런서를 표로 정리하겠습니다. L4 로드 밸런서 종류 설명 특징/장점 단점 Round Robin 클라이언트 요청을 차례로 다른 서버로 분배 - 구현이 간단하다. - 모든 서버에 균등한 트래픽 분배 - 서버 상태 고려하지 않음. - 서버 부하 불균형 가능 Least Connections 가장 적은 연결을 가진 서버로 트래픽을 분배 - 서버의 현재 연결 상태를 고려하여 효율적인 분배 - 서버 응답 시간 고려하지 않음 Source IP Hash 클라이언트의 소스 IP 주소를 해싱하여 항상 동일..

Network 2023.12.01

[IOS] plist 와 itms-services 작성 방법

Property List, 줄여서 plist는 데이터를 저장하고 전송하기 위한 Apple의 특별한 파일 형식입니다. plist 파일은 계층적 구조를 가지고 있으며, XML 또는 바이너리 형태로 저장될 수 있습니다. 주로 설정 파일이나 데이터 저장에 사용되며, iOS 및 macOS 앱에서 설정, 사용자 데이터, 앱 상태 등을 저장하는 데에 자주 활용됩니다. plist 파일은 기본적으로 키-값 쌍의 집합으로 이루어진 딕셔너리(dictionary)와 배열(array)의 조합으로 구성됩니다. 각 키는 문자열이어야 하며, 값은 문자열, 숫자, 날짜, 불리언, 딕셔너리, 배열 등의 기본 데이터 타입 중 하나일 수 있습니다. plist 파일은 주로 다음과 같은 용도로 사용됩니다:환경 설정 파일: 앱의 설정이나 환경 ..

Mobile 2023.11.30

[Jenkins] jenkins pipline script 에서 dir 사용 방법

Jenkins Pipeline 스크립트에서 dir 스텝을 사용하면 특정 디렉토리 내에서 명령을 실행하거나 스크립트 블록을 실행할 수 있습니다. dir 스텝을 사용하여 디렉토리를 변경하려면 다음과 같이 사용할 수 있습니다: pipeline { agent any stages { stage('Example Stage') { steps { script { // 디렉토리 변경 dir(path: 'path/to/your/directory') { // 해당 디렉토리 내에서 명령어 실행 sh 'ls -l' sh 'echo "Hello from the specified directory"' // 다른 명령어 추가 가능 } } } } } } 위의 예제에서는 dir 스텝을 사용하여 'path/to/your/directory..

CI-CD 2023.11.29

[Jenkins] jenkins pipline script 에서 sh ''' 사용 방법

Jenkins Pipeline에서 sh 스텝을 사용하면 쉘 명령어를 실행할 수 있습니다. 이 스텝을 사용하여 여러 명령어를 실행하려면 Groovy의 다중 줄 문자열 문법(''')을 사용합니다. 아래는 Jenkins Pipeline 스크립트에서 sh 스텝과 '''를 사용하는 방법에 대한 예제입니다: pipeline { agent any stages { stage('Example Stage') { steps { script { // 여러 줄 명령어 실행을 위해 ''' 사용 sh ''' echo "Hello, World" ls -l # 다른 명령어 추가 가능 ''' } } } } } 위의 예제에서는 sh 스텝 내부에서 '''로 둘러싼 다중 줄 문자열을 사용하여 여러 명령어를 실행하고 있습니다. 각 명령어는 다..

CI-CD 2023.11.28

[Linux] ldapsearch 명령어 사용 방법

ldapsearch 명령어는 Lightweight Directory Access Protocol (LDAP) 서버에서 디렉터리 정보를 검색하는 데 사용되는 명령어입니다. 이 명령어는 일반적으로 LDAP 서버와 상호 작용할 때 사용되며, 다양한 옵션을 통해 검색 결과를 조절할 수 있습니다. 아래는 일반적인 ldapsearch 옵션 및 설명을 포함한 표입니다. 검색 옵션 옵션 설명 예시 -a deref dereference control 설정 (never, always, search, or find) ldapsearch -a always -A 속성 이름만 반환 (값은 반환하지 않음) ldapsearch -A -b basedn 검색 기준 베이스 DN 설정 ldapsearch -b "dc=example,dc=c..

Linux 2023.11.27

[Nginx] Nginx 에서 ACL(Access Control List) 설정 방법

ACL은 Access Control List의 약어로, 접근 제어 목록이라고도 불립니다. 네트워크나 시스템에서 특정 자원에 대한 접근을 허용하거나 거부하기 위해 사용되는 보안 메커니즘입니다. Nginx에서의 ACL은 주로 IP 주소나 지리적 위치에 기반한 액세스 제어에 사용됩니다. Nginx에서 ACL은 주로 geo 모듈이나 map 모듈을 사용하여 설정됩니다. 이러한 모듈을 사용하면 특정 조건에 따라 요청을 라우팅하거나 액세스를 제한하는 규칙을 정의할 수 있습니다. geo 모듈을 이용한 ACL geo 모듈은 IP 주소나 지리적 위치에 따라 변수 값을 설정할 수 있습니다. 이를 이용하여 특정 IP 주소 범위에서의 액세스를 제한하거나 허용할 수 있습니다. 예를 들어: http { geo $allowed_ip..

WEB,WAS 2023.11.24

[Unix] Unix dbx 명령어 사용 방법

dbx는 UNIX 및 UNIX 계열 운영 체제에서 디버깅을 위한 명령 줄 디버거입니다. dbx를 사용하여 C, C++ 및 기타 언어로 작성된 프로그램을 디버그할 수 있습니다. 아래는 dbx 명령어를 사용하는 기본적인 방법입니다: 프로그램 실행 및 디버깅: # 여기서 [프로그램명]은 디버깅하려는 실행 파일의 이름입니다. dbx [프로그램명] 프로그램 시작: # 디버깅 프로세스를 시작합니다. start 중단점 설정: # [함수명]은 중단점을 설정하려는 함수의 이름입니다. stop in [함수명] 프로그램 실행: # [인수]는 프로그램에 전달할 명령행 인수입니다. run [인수] 중단점으로 이동: # 실행을 중단점에서 중단합니다. cont 변수 값 확인: # [변수명]은 확인하려는 변수의 이름입니다. prin..

Linux 2023.11.23

[IT잡지식] Nginx vs OpenResty 비교표

Nginx: 웹 서버 및 리버스 프록시: Nginx는 가벼우면서도 높은 성능을 가진 웹 서버로 널리 사용됩니다. 또한 리버스 프록시로도 활용되어 백엔드 서버와의 통신을 관리할 수 있습니다. 이벤트 기반 아키텍처: Nginx는 이벤트 기반 아키텍처를 사용하여 동시 다중 연결에 대한 처리를 효율적으로 수행합니다. 모듈 지원: 다양한 모듈을 통해 Nginx의 기능을 확장할 수 있습니다. 이는 SSL 지원, 로깅, 보안 기능 등 다양한 부가 기능을 추가할 수 있음을 의미합니다. 정적 콘텐츠 제공: 주로 정적인 콘텐츠를 서빙하는 데 특화되어 있으며, 정적 파일을 효율적으로 처리합니다. OpenResty: Nginx 기반 웹 애플리케이션 프레임워크: OpenResty는 Nginx를 기반으로 한 웹 애플리케이션 프레..

IT잡지식 2023.11.22

[Linux] C언어로 C 파일 컴파일 및 실행

Hello World 프로그램 (hello.c): #include int main() { printf("Hello, World!\n"); return 0; } Makefile (Makefile): CC=gcc CFLAGS=-Wall all: hello hello: hello.c $(CC) $(CFLAGS) -o hello hello.c clean: rm -f hello 실행 스크립트 (run.sh): #!/bin/bash make ./hello 위의 파일들을 동일한 디렉토리에 저장하고, 터미널에서 아래 명령어를 실행하여 "Hello, World!"를 출력할 수 있습니다: chmod +x run.sh # 실행 권한 부여 ./run.sh 이것은 C 프로그램을 컴파일하고 실행하기 위한 간단한 스크립트입니다. ..

Linux 2023.11.21