본문 바로가기

반응형

전체 글

(119)
[CI/CD] Github Actions 로 SSH 사용하여 CD 하기 최근 개인 프로젝트를 진행하기 위해 CI/CD 구성을 하기 위해 배포 플랫폼과 CI/CD 툴에 대해 조사를 진행했다. 결론부터 말하자면 서비스를 배포할 플랫폼은 오라클 클라우드이고 CI/CD 툴은 Github Actions 로 정했다. 이유는 무료 클라우드 VM 서비스 중 오라클 클라우드가 평생 무료 서비스로 최대 2대 까지 운영이 가능했고 소스 버전 관리로 Github 을 사용하면 Actions 기능으로 바로 CI/CD 를 구성할 수 있었기 때문이다. 오라클 클라우드로 VM 서버를 구성하는 포스트들은 구글에 많이 나와있어서 구성하는 것은 어렵지 않았지만 Github Actions 에서 SSH 를 사용해 VM 서버에 명령을 날리는데 에러가 발생하여 이를 해결하는 방법을 기록한다. Github Action..
[육아] 아기울음 알고리즘 단풍이를 집에서 보게된지 2주... 이 단순한 녀석의 파악이 끝났다. 처음 아기가 집으로 왔을 때는 왜 우는지... 배고픈지 기저귀 갈 때가 된건지 몰랐는데 이제는 어떠한 울음에도 대처할 수 있게 됐다. 신생아때만 사용할 수 있는 방법인지는 모르겠지만 우리 단풍이의 울음 알고리즘은 이러했다. 크게는 3가지 이유로 울음을 우는것 같다. 기저귀, 배고픔, 배아픔 기저귀가 젖었는가? 기저귀로 인해 울 때는 애기가 우는 레벨을 10단계로 나누었을때 2~3 레벨 정도 된다. 울음소리가 짜증나고 불편한 듯한 (응애에에→↘︎) 정도로 어차피 1시간 또는 1.5시간에 1번씩 기저귀를 갈아주게 되면 별로 기저귀로 인한 울음을 울진 않는다. 그냥 주기적으로 기저귀를 갈아주는게 습진도 나지 않고 가장 좋은 방법 같다. 만약..
[육아] 신생아 졸업 결혼생활 카테고리는 만들어놓고 1개 카테고리에 글 1개씩 밖에 안쓰고있긴하지만... 추억이 되기도 하고 정보공유도 하기 위해 글을 적는다 2022년 5월 4일 2022년 5월 4일 오전 11시 드디어 38주4일을 채운 우리 아기 단풍이가 태어났다. 엄청난 앞뒤짱구로 엄마 뱃속에서 돌지 못하고 머리를 위로 계속 두고 있어 하는수 없이 제왕절개 수술로 태어났다. 몸무게 2.97kg 머리둘레 35cm 키 49cm 로 건강한 남아로 태어났고 병원에서 할 수 있는 모든 신생아 검사 결과 정상 판정을 받았다. 2022년 5월 8일 5월 4일 수술 후 같이 병원에 4박5일 입원하게 되었다. 영등포의 아란태 산부인과의 1인실은 항상 룸이 차있어서 방을 선택할 수 있지 않고 입원하는 날 비어있는 방을 배정받게 된다. 우..
[블록체인] Hyperledger Projects Hyperledger 는 리눅스 재단 (Linux Foundation) 이 주관하는 오픈소스 기반의 Private 블록체인 프로젝트이다. 사용자가 각자 원하는 Private 블록체인 네트워크를 구성하기 위한 블록체인 인프라 솔루션들을 제공하며 오픈소스로 공개되어 있다는 장점이 있다. 단점은 시장 인지도나 유지하던 개발자들의 상황(?) 등에 따라 운영 중이던 솔루션이 EOS 되는 경우가 있다. 여기서 주로 많이 사용되는 인기있는 프로젝트 몇가지를 소개하려 한다. Hyperledger Besu Hyperledger Besu는 공용 및 사설 허가 네트워크 사용 사례 모두에 대해 엔터프라이즈 친화적이도록 설계된 이더리움 클라이언트이다. Rinkeby, Ropsten 및 Görli와 같은 테스트 네트워크에서도 실..
[Golang] go 1.18 Released (generics) 드디어 Golang 에 generics (Templates for C++) 기능이 추가되었다. golang 은 기본적으로 최소한의 keywords 로 complile 성능과 실행 성능을 높이기 위해 다른 언어에서 사용하는 다양한 개념들을 일부러 많이 포함시키지 않았다고 하는데, 이번 go 1.18 릴리즈에 template 기능이 추가되었다고 한다. 사용법을 익히기 위해, golang 에서 제공하는 generics tutorial 에 대해 정리해보려 한다. 기존 함수 golang 은 strictly typed language 이기 때문에 go 1.18 미만 generics 이 없던 버전에서는 동일한 기능의 함수더라도 입력 인자 인자와 함수 이름을 다르게 선언해 주어야 했다. 1. main.go 파일 작성 ..
[블록체인] Ethereum 이더리움은 2015 년 비탈릭 부테린(Vitalik Buterin)이 개발하였다. 최초의 블록체인인 Bitcoin 과 달리 기축통화(Native Currency) 를 거래하는 거래 기록(장부,원장, Ledger)만을 저장하는게 아닌 Smart Contract (스마트 계약, 스마트 컨트랙트) 라고 하는 Solidity (솔리디티) 로 작성된 소스코드를 컴파일하여 Block 에 저장하고 이를 실행시킬 수 있다. 이 과정에서 Ethereum 이 소비되고 이를 gas 라고 부른다. * 이더리움 백서 (Whitepaper) Ethereum 구조 이더리움의 헤더는 15개의 값을 가지고 있다. Name Description Note (json for Go) ParentHash 부모 블록의 해시값 parentHash..
[블록체인]Blockchain 이란? Blockchain 이란? 블록체인이란 블록을 체인으로 연결해 놓은 것을 의미합니다. 1개의 블록을 체인에 연결할 때 마다 블록체인 네트워크에 참여한 참여자들의 합의하에 연결 가능하다고 인정된 블록들만 체인에 연결될 수 있습니다. Bitcoin 구조 블록체인의 각 블록에는 크게 (1) Block Hash, (2) Block Header, (3) Block Body 가 있습니다. (3) Block Body 를 Hash 한 값이 (2) Block Header 의 Merkle Root Hash 값으로 기록되고, (2) Block Header 를 Hash 한 값이 (1) Block Hash 가 되며 이 Block Hash 값은 다음 블럭의 (2) Block Header 의 Previous Hash 값에 기록됩니..
[Node] Express, helmet 라이브러리 ALLOW-FROM ALL Node 의 Helmet 라이브러리를 사용하는 경우 Iframe 으로 해당 서버에서 제공하는 페이지를 가져다 쓸 때, 페이지가 뜨지 않는 경우가 있다. 나의 경우 Hyperledger Explorer 에서 아래 소스코드를 수정하고 정상적으로 Iframe 으로 불러와졌다. - explorer.getApp().use(helmet.frameguard({ action: 'SAMEORIGIN' })); + explorer.getApp().use(helmet.frameguard({action:"allowfrom",domain:"*"}));

반응형