[CI/CD] Jenkins Job을 수행하는 유저 변경
·
ETC/ETC
프로젝트에 따라서 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..
[CI/CD] Jenkins GitLab 연동하여 CI/CD 달성
·
ETC/ETC
본 게시글에서는 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 등록에 사용하기 위해 기록한다. (토큰..
[Kotlin] 코틀린 특징 및 개발환경 구성
·
Language/Kotlin
백엔드 개발자로 전환한지 어느덧 2년이 지났다. 현재 본인은 C/C++, PHP, Python 위주의 언어로만 개발을 진행하고 있다. 좀 더 상위 개발자가 되기 위해서는 최근 개발 트렌드에 맞는 언어를 공부해야 살아남겠다는 생각이 들었다. 그래서 개발 동향에 따라 코틀린 언어를 공부하고자 결심했다. JAVA, Python 등 다른 언어를 두고서 코틀린을 선택한 이유는 단순하다. 1. 최근 백엔드 개발 동향으로 볼 때 많은 프로젝트에서 사용되고 있으며, 2. 코틀린 언어가 안드로이드 개발에서도 쓰인다는 점이다.개발 동향에서 많이 쓰이고 있다는 점이 가장 큰 장점은 개발 정보를 얻거나 타인에게 도움을 받기 유리하다는 점을 나타낸다. 초심자 입장에서는 학습을 할 수 있는 정보가 많다는 점은 매우 중요하다. 또..
[DB] Redis DB 기초
·
Back-End/DB
Redis 란? Redis(Re mote Di ctionary S erver)는 오픈 소스 인메모리 데이터 저장소 및 캐싱 시스템으로, 다양한 데이터 구조를 지원하며 높은 성능과 속도를 제공한다. 인메모리 데이터베이스Redis는 모든 데이터를 메모리에 저장하므로 빠른 데이터 액세스를 제공하며, 데이터베이스 작업 및 캐싱에 특히 유용하다.다양한 데이터 구조Redis는 문자열, 리스트, 해시, 집합, 정렬된 집합 등 다양한 데이터 구조를 지원하므로 다양한 애플리케이션에서 활용할 수 있다.지속성Redis는 디스크에 데이터를 저장하고 복구할 수 있는 기능을 제공하여 데이터의 지속성을 보장한다.높은 가용성Redis는 마스터-슬레이브 복제 및 클러스터링을 지원하여 고가용성 아키텍처를 구축할 수 있다.풍부한 클라..
공학석사 학위를 취득하다. (2023.08.12)
·
Note
2023년 8월 12일. 석사과정 2년간의 결실을 맺고 졸업식을 하는 날이다. 2023년 3월부터 시작하여 회사 적응으로 인해 1학기 휴학과정을 거치고 2년 5개월정도의 시간이 흐르고 졸업을 했다. 약 2년간의 학업 과정동안 군인이었고 취준생이었고 직장인이었다. 학업과 직장을 병행하는 과정은 쉽지 않았던 것 같다. 논문 결과는 아쉬움이 많았지만 그래도 2년의 학업의 과정동안 최선을 다했다. 오늘 졸업식을 통해 2년간의 노력의 결실을 맺는다. 졸업식 시작전 학위복을 대여했다. 석사부터 학위복은 학사과정과 다르게 오렌지색 머플러를 착용한다. 오렌지색은 공학분야 학위를 의미하는 컬러이다. 우리 학교의 학위복은 석사를 의미하는 두줄의 쉐브론 장식은 없었다. 학위복을 대여하고 졸업식을 기념하기 위해 셀프사진관 오..
[Web] JWT Web Token 기초
·
Front-End/Web
JWT Token 이란? JWT( JSON Web Token)은 웹 표준 (RFC 7519) 으로 정의되어 있는 웹 토큰 기술의 하나로, 정보를 안전하게 전달하기 위해 사용되는 컴팩트하고 자가수용적인 방식의 토큰이다. 주로 인증을 관리하기 위해 사용된다. 세션과 비교하여 가장 큰 장점은 무상태(Stateless) 라는 점이다. 세션과 다르게 JWT 토큰 인증 방식은 상태를 저장하지 않고 토큰 자체로 인증을 수행하기 때문에 상태 접근을 위한 부하를 줄일 수 있다. 인증(Authentication): 접근자가 누구인지 확인하는 절차 인가(Authorization): 인증을 마친 접근자에게 권한을 허락하는 절차 JWT Token 구조 및 동작 방식 JWT는 Header, Payload, Signature 를 ..
[CI/CD] Jenkins 설치
·
ETC/ETC
본 글에서는 지속적인 통합(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/..
블록체인 기반 NFT의 동적 콘텐츠 적용 방안 연구(박지환 / 2023 / 아주대학교 공학석사 학위논문 )
·
Paper
요약 블록체인 기반 NFT는 미술, 음악 같은 예술 분야와 온라인 게임, 메타버스 같은 가상세계와 IoT, 부동산, 스포츠 같은 물리세계 등 다양한 분야에서 사용되고 있다. 하지만 현재 ERC-721 기반의 NFT는 여러 한계가 존재하며, 한계를 극복하고 대중화되기 위해서는 NFT의 동적 콘텐츠 적용이 필요한 실정이다. NFT의 동적 콘텐츠 적용은 블록체인에 배포된 Metadata를 변경해야 하며, Metadata와 Media Data의 저장소 위치에 따라 Server-Client, Peer to Peer, On Chain 방식으로 구분할 수 있다. Server-Client는 최초 Minting 할 때 전달한 RESTful URI의 response Metadata를 변경하는 방식이며, Peer to Pe..
[IoT] IoT Network - 통신기술에 관하여
·
ETC/IoT
본 글에서는 IoT Network와 관한 기술에 대해 기술한다. Zigbee (IEEE 802.15.4) - IEEE 802.15.4 무선 표준을 기반으로하는 저전력 무선 통신 기술 중 하나로, 센서 네트워크 및 자동화 제어 어플리케이션에서 사용되는 프로토콜 스택 및 네트워크 구성을 제공함. - 2.4GHz, 868MHz 및 915MHz 주파수 대역에서 작동함. - 네트워크는 Star, Mesh 및 Cluster Tree 구성을 지원하며, 최대 65,000개의 노드를 지원함. - 조명, HVAC (난방, 환기 및 공조), 보안 시스템, 홈 자동화, 센서 네트워크 등에서 다양한 응용 분야에서 사용됨. 저전력 및 저속도: 저전력 및 저속도 무선 통신 기술로, 높은 전력 소비가 필요하지 않으며, 작은 배터리로..
[3D] 3D Modeling에 입문하다. - OctoPrint 설치
·
Project/3D Printing
본 게시물은 octoprint 설치에 대해 작성한다. 3D 프린터 특성상 인쇄 시간이 매우 길다. 그러기 때문에 프린터와 같은 공간에서 계속 머물 수 없고 외부에서 정상적으로 인쇄되고 있는지 확인하기가 어려운 실정이다. 또한 인쇄 시간이 매우 길기 때문에 외부에서 모델링 후 인쇄를 시작 할 수 있다면 시간단축을 할 수 있을 것이다. 이외에도 프린터와 작업 PC의 공간적으로 거리가 멀다면 케이블 문제와 SD카드를 이동해야 하는 등의 여러가지 문제가 존재한다. 이를 해결하기 위해 Octoprint라는 유틸리티 응용프로그램을 이용하여 해결 할 수 있다. 아래 링크는 공식 홈페이지이다. OctoPrint.org OctoPrint is the snappy web interface for your 3D printe..