일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- NAS HDD교체
- Notification
- 3D
- Kotlin
- 3D프린터입문
- 3D 프린터 용어
- 3D프린터 입문
- docker container
- C언어
- git
- gitlab
- 리눅스 파일동기화
- kubernetes
- github
- 3D모델링
- 3d프린터 초보
- data serialization formats
- linux job
- 코틀린개발환경
- IoTNetwork
- 데이터 직렬화 포맷
- Jenkins
- ci/cd
- nas
- 3D프린터
- 네이버클라우드
- octoprint
- Token인증방식
- OnlineIDE
- Today
- Total
목록전체 글 (108)
0과 1을 공부하다.
본 게시글에서는 Synology NAS의 RAID1으로 구성된 HDD를 교체하는 과정에 대해 기술한다. 필자는 약 2019년에 구매한 DS218 기종을 보유하고 있다. NAS 구매와 동시에 2TB 2개를 구매하였으며, 구성은 데이터를 통째로 날려먹은 악몽이 있어서 하나의 디스크를 미러링하는 개념의 RAID1으로 구성하였다. 용량을 좀 더 효율적으로 활용하는 방안도 있지만 우선은 데이터 안정성을 우선으로 고려하였다. 당시 구매하였던 HDD가 현재까지 전혀 문제가 없지만 5년의 세월이 흘렀고 예방 차원에서 바꿔주기로 결심하였다. 새로 구매한 HDD는 SEAGATE BarraCuda 4TB 2개를 구매했다. 해당 품목이 NAS를 구성하기에 적합한 하드디스크는 아니지만 입출력이 많은 편도 아니기도 하고 RAID..
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는 마스터-슬레이브 복제 및 클러스터링을 지원하여 고가용성 아키텍처를 구축할 수 있다. ..
2023년 8월 12일. 석사과정 2년간의 결실을 맺고 졸업식을 하는 날이다. 2023년 3월부터 시작하여 회사 적응으로 인해 1학기 휴학과정을 거치고 2년 5개월정도의 시간이 흐르고 졸업을 했다. 약 2년간의 학업 과정동안 군인이었고 취준생이었고 직장인이었다. 학업과 직장을 병행하는 과정은 쉽지 않았던 것 같다. 논문 결과는 아쉬움이 많았지만 그래도 2년의 학업의 과정동안 최선을 다했다. 오늘 졸업식을 통해 2년간의 노력의 결실을 맺는다. 졸업식 시작전 학위복을 대여했다. 석사부터 학위복은 학사과정과 다르게 오렌지색 머플러를 착용한다. 오렌지색은 공학분야 학위를 의미하는 컬러이다. 우리 학교의 학위복은 석사를 의미하는 두줄의 쉐브론 장식은 없었다. 학위복을 대여하고 졸업식을 기념하기 위해 셀프사진관 오..
JWT Token 이란? JWT( JSON Web Token)은 웹 표준 (RFC 7519) 으로 정의되어 있는 웹 토큰 기술의 하나로, 정보를 안전하게 전달하기 위해 사용되는 컴팩트하고 자가수용적인 방식의 토큰이다. 주로 인증을 관리하기 위해 사용된다. 세션과 비교하여 가장 큰 장점은 무상태(Stateless) 라는 점이다. 세션과 다르게 JWT 토큰 인증 방식은 상태를 저장하지 않고 토큰 자체로 인증을 수행하기 때문에 상태 접근을 위한 부하를 줄일 수 있다. 인증(Authentication): 접근자가 누구인지 확인하는 절차 인가(Authorization): 인증을 마친 접근자에게 권한을 허락하는 절차 JWT Token 구조 및 동작 방식 JWT는 Header, Payload, Signature 를 ..