일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- OnlineIDE
- 네이버클라우드
- 3D
- 3D프린터 입문
- docker
- 3D프린터
- github
- octoprint
- gitlab
- ci/cd
- 3D모델링
- IoTNetwork
- 3D 프린터 용어
- data serialization formats
- Kotlin
- nas
- 3D프린터입문
- C언어
- kubernetes
- Token인증방식
- 코틀린개발환경
- 3d프린터 초보
- Jenkins
- linux job
- Notification
- docker container
- 리눅스 파일동기화
- NAS HDD교체
- 데이터 직렬화 포맷
- git
- Today
- Total
목록Study (83)
0과 1을 공부하다.
Linux OS에서 파일 및 디렉터리를 동기화 하기 위한 유틸리티인 rsync(remote sync)에 대해 알아본다. ※ 본 게시글은 Rocky/Centos 기반으로 작성한다. 설치 $ yum install rsync # 대부분 리눅스 패키지에는 설치되어 있음. 특징 rsync 는 local-local, remote-local, local-remote 동기화를 지원한다. 주기적인 동기화를 원한다면 쉘 스크립트 작성 후 cron tab에 등록하여 주기적으로 실행 되도록 한다. remote와 동기화 할 때 패스워드를 생략하고 싶다면 원격 서버에 미리 SSH Key를 전달한다. SSH Key 생성 및 전송 1. SSH Key 생성 $ ssh-keygen -t rsa 2. 원격 서버에 공개 키 전송 $ ssh..
Jenkins와 Slack을 연동하여 빌드 결과를 Slack 채널에서 알림 받는 방법에 대해 기술한다. 채널 추가(기존 존재하는 채널이 있다면 생략) Jenkins CI App 설치 및 Setting Slack App에서 Jenkins CI 를 추가한다. 채널에 포스트 항목에서 알림을 받고자하는 채널을 선택한다. Jenkins CI 통합 앱 추가 후 설정 지침의 3단계에서 팀 하위 도메인과 통합 토큰 자격 증명ID 메모한다. 통합 설정에서 아래 항목을 메모한다. 채널에 포스트: 알림을 받기로 한 채널. 토큰: Credential 생성에 사용할 토큰 정보(갱신 가능) 설명 라벨: Slack 앱의 설명 라벨 이름 사용자 지정: Slack 채널에서 알림에 표시될 이름 아이콘 사용자 지정: 알림 아이콘 사용자 ..
본 게시글에서는 Jenkins에서 Build 후 결과를 Email 로 발송하는 방법에 대해 기술한다. Plugin 설치 및 Setting Dashboard - Jenkins 관리 - Plugins에서 “Email Extension”을 검색하여 설치한다. 플러그인 설치 후 Dashboard - Jenkins 관리 - System으로 이동하여 페이지 스크롤을 내려 “Extended E-mail Notification” 항목을 찾는다. 각 필드에 대해 주요 설정에 대한 설명은 아래와 같다. SMTP server: 메일을 발송하기 위한 발송서버의 주소를 기입한다. SMTP Port: 메일 서버의 SMTP 포트 넘버를 기입한다. Default Recipients: 빌드 결과를 수신할 기본 수신자를 입력한다. 다중..
프로젝트에 따라서 Linux에서 root 및 jenkins User 로 실행되는 것이 아닌 특정 유저에서 실행 되어야 하는 필요성이 존재한다. 본 게시글에서는 Jenkins에서 Build 및 Build 후 실행하는 Execute shell을 수행하는 User를 변경하는 방법에 대해 기술한다. ※ 본 게시글은 Rocky/Centos 기반으로 작성한다. 우선 아래 명령어를 통해 실행되고 있는 젠킨스를 종료한다. $ systemctl stop jenkins 각 파일에서 해당하는 옵션 값을 찾아서 변경하고자하는 User 및 Group 명을 변경한다. $ vim /etc/sysconfig/jenkins JENKINS_USER=”jenkins” # 변경하고자 하는 User 명으로 변경 $ vim /usr/lib/s..
본 게시글에서는 Jenkins에서 GitLab과 연동하여 CI/CD를 달성하는 방법에 대해 기술한다. GitLab Plugin 플러그인 설치 및 설정 Dashboard - Jenkins 관리 - Plugins에서 “Git“과 “GitLab”을 검색하여 설치한다. Credentials 추가 Jenkins가 GitLab에 접근하여 데이터를 pull or push 하기 위해 Gitlab 계정 정보를 등록한다. 1. GitLab API Token 발행 GitLab에서 사용자 설정 - 액세스 토큰으로 이동한다. 토큰을 관리할 이름과 만료 일자, 권한을 선택하고 “Create personal access token”을 눌러 토큰을 생성한다. 생성된 토큰을 Credentials 등록에 사용하기 위해 기록한다. (토큰..
백엔드 개발자로 전환한지 어느덧 2년이 지났다. 현재 본인은 C/C++, PHP, Python 위주의 언어로만 개발을 진행하고 있다. 좀 더 상위 개발자가 되기 위해서는 최근 개발 트렌드에 맞는 언어를 공부해야 살아남겠다는 생각이 들었다. 그래서 개발 동향에 따라 코틀린 언어를 공부하고자 결심했다. JAVA, Python 등 다른 언어를 두고서 코틀린을 선택한 이유는 단순하다. 1. 최근 백엔드 개발 동향으로 볼 때 많은 프로젝트에서 사용되고 있으며, 2. 코틀린 언어가 안드로이드 개발에서도 쓰인다는 점이다.개발 동향에서 많이 쓰이고 있다는 점이 가장 큰 장점은 개발 정보를 얻거나 타인에게 도움을 받기 유리하다는 점을 나타낸다. 초심자 입장에서는 학습을 할 수 있는 정보가 많다는 점은 매우 중요하다. 또..
Redis 란? Redis(Re mote Di ctionary S erver)는 오픈 소스 인메모리 데이터 저장소 및 캐싱 시스템으로, 다양한 데이터 구조를 지원하며 높은 성능과 속도를 제공한다. 인메모리 데이터베이스 Redis는 모든 데이터를 메모리에 저장하므로 빠른 데이터 액세스를 제공하며, 데이터베이스 작업 및 캐싱에 특히 유용하다. 다양한 데이터 구조 Redis는 문자열, 리스트, 해시, 집합, 정렬된 집합 등 다양한 데이터 구조를 지원하므로 다양한 애플리케이션에서 활용할 수 있다. 지속성 Redis는 디스크에 데이터를 저장하고 복구할 수 있는 기능을 제공하여 데이터의 지속성을 보장한다. 높은 가용성 Redis는 마스터-슬레이브 복제 및 클러스터링을 지원하여 고가용성 아키텍처를 구축할 수 있다. ..
JWT Token 이란? JWT( JSON Web Token)은 웹 표준 (RFC 7519) 으로 정의되어 있는 웹 토큰 기술의 하나로, 정보를 안전하게 전달하기 위해 사용되는 컴팩트하고 자가수용적인 방식의 토큰이다. 주로 인증을 관리하기 위해 사용된다. 세션과 비교하여 가장 큰 장점은 무상태(Stateless) 라는 점이다. 세션과 다르게 JWT 토큰 인증 방식은 상태를 저장하지 않고 토큰 자체로 인증을 수행하기 때문에 상태 접근을 위한 부하를 줄일 수 있다. 인증(Authentication): 접근자가 누구인지 확인하는 절차 인가(Authorization): 인증을 마친 접근자에게 권한을 허락하는 절차 JWT Token 구조 및 동작 방식 JWT는 Header, Payload, Signature 를 ..
본 글에서는 지속적인 통합(Continuous Integration, CI) 및 지속적인 배포(Continuous Deployment, CD)를 지원하는 오픈 소스 자동화 도구 Jenkins 설치에 대해 기술한다. Jenkins 설치는 Linux Rocky 8 환경에서 진행한다. Java JDK 설치 Jenkins는 Java 기반으로 동작한다. Jenkins를 설치하고 실행하기 위해 Java JDK를 설치한다. 필자는 해당 버전을 적절한 버전을 설치하지 못해 많은 삽질을 감행했다. 본인이 설치하는 젠킨스에 적절한 Java 버전을 확인하기 위해 아래 링크를 참조한다. Jenkins Java Version : https://www.jenkins.io/doc/administration/requirements/..
본 글에서는 IoT Network와 관한 기술에 대해 기술한다. Zigbee (IEEE 802.15.4) - IEEE 802.15.4 무선 표준을 기반으로하는 저전력 무선 통신 기술 중 하나로, 센서 네트워크 및 자동화 제어 어플리케이션에서 사용되는 프로토콜 스택 및 네트워크 구성을 제공함. - 2.4GHz, 868MHz 및 915MHz 주파수 대역에서 작동함. - 네트워크는 Star, Mesh 및 Cluster Tree 구성을 지원하며, 최대 65,000개의 노드를 지원함. - 조명, HVAC (난방, 환기 및 공조), 보안 시스템, 홈 자동화, 센서 네트워크 등에서 다양한 응용 분야에서 사용됨. 저전력 및 저속도: 저전력 및 저속도 무선 통신 기술로, 높은 전력 소비가 필요하지 않으며, 작은 배터리로..