본문 바로가기

분류 전체보기

(55)
[Jenkins/CodeCommit] Jenkins와 AWS CodeCommit 연동하기 CodeCommit에 trigger로 SNS를 호출하고, 해당 이벤트를 SQS에 저장하고, 해당 Queue를 jenkins가 감지해서 가져가는 구조 AWS SNS(Simple Notification Service) 주제 생성 푸시 알림 서비스 AWS SQS(Simple Queue Service) 대기열 생성 메시지 큐 제공, 비동기 처리 SNS 구독 설정 CodeCommit 리포지토리 생성 CodeCommit 트리거 설정 IAM 사용자 설정(Credentials) SQS Access 권한을 가진 IAM 사용자 등록 Jenkins에서 AWS CodeCommit Trigger Plugin 설치 Jenkins 관리 시스템 설정 SQS 보안자격을 획득한 IAM 사용자 Credentials 사용 Jenkins F..
[EC2/Jenkins] AWS EC2에 Jenkins 설치하기 EC2 Amazon Linux 2 생성 후 SSH 접속 $ sudo yum -y update $ sudo amazon-linux-extras install java-openjdk11 $ sudo yum list java*jdk-devel $ sudo yum install [자바 버전] $ java -version $ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo $ sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key $ sudo yum install jenkins $ sudo service jenkins start..
[git] git 기본 개념 Git Git은 VCS 프로그램들 중 하나이다. VCS : Version Control System(버전 관리 시스템) 버전을 관리하는 것이란 프로젝트의 시간과 차원을 관리하는 것회사에서 앱을 만드는데 만들고 있는 앱에 새로운 기능을 시도해보고 싶은 경우. 내 멋대로 작업을 해볼 수는 없다. 메인 프로젝트를 복사에서 버전별로 저장하거나 새 기능을 추가해볼 수 있지만 시간과 용량이 굉장히 많이 든다. Git은 이런 일들을 굉장히 쉽게 해줌! 프로젝트는 새 기능을 추가한다던가 오류를 수정하면서 계속해서 새 버전이 나온다. 그런데 이것을 계속 진행하다보면 했던 작업을 취소해야하는 일이 생긴다. 또는 이전 버전 하나에만 오류가 생기는 경우도 있다. 시간 - 프로젝트의 버전을 과거로 되돌리거나 특정 내역을 취소할..
[JAVA] DFS (Depth-Frist Search) 깊이 우선 탐색 DFS (Depth-Frist Search) DFS는 깊이 우선 탐색이라고도 부르며 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘입니다. DFS는 스택 자료구조(혹은 재귀 함수)를 이용하며, 구체적인 동작 과정은 다음과 같습니다. 탐색 시작 노드를 스택에 삽입하고 방문 처리를 합니다. 스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있으면 그 노드를 스택에 넣고 방문 처리합니다. 방문하지 않은 인접노드가 없으면 스택에서 최상단 노드를 꺼냅니다. 더 이상 2번의 과정을 수행할 수 없을 때까지 반복합니다. 탐색 순서 : 1 -> 2 -> 7 -> 6 -> 8 -> 3 -> 4 -> 5 import java.util.ArrayList; public class Main { public stati..
[React] 리액트 기본 개념 리액트 스터디 성능 잡기 이름 없는 콜백함수 쓰지말고 함수나 오브젝트는 선언해서 쓰기.. style도 {color: red} 이런식으로 object 형식으로 넣는데.. 변수로 만들어서 넣는게 좋음! => 변수로 미리 만들어 놓는 것이 메모리에 미리 할당해 두는 것인데 이게 성능적으로 더 이득임. 애니메이션 막주지말고 되도록이면 transform ㄱㄱ lazy, Suspense 써서 컴포넌트를 사용할 때만 import 해올 수 있음. 리액트는 import한거를 처음에 다 가져와서 속도가 느려질 수 있는데, 이를 해결할 수 있는 방법임. 컴포넌트를 lazy하게 import하는 방법 // import Detail from "./components/Detail.js"; 기존 방법 let Detail = lazy..
정규표현식 정규표현식 정규식 연습 사이트 정규식 문제 풀어보기 정규식은 텍스트에서 원하는 특정한 패턴을 찾을 때 사용된다. 활용예시) 전화번호 형태, 웹사이트 형태, 이메일, 패스워드 유효성 검사 등 /regex/i 슬래시 안에 정규표현식이 오고 뒤에는 옵션이 붙는다. regex : 정규표현식 i : flag(옵션) flag옵션 g global : 매칭되는 다수의 결과값을 기억할 수 있는 것 m multiline : 문장을 전체로 보지 않음. 정규표현식 문법 Groups and ranges Chracter뜻 | 또는 () 그룹 [] 문자셋, 괄호안의 어떤 문자든/하나라도 만족하는 문자열 찾음 [^] 부정 문자셋, 괄호안의 어떤 문가 아닐때/Not (?:) 찾지만 기억하지는 않음/그룹지정x Quantifiers 수량..
[블록체인] 블록체인 이더리움 Dapp 개발에 하드햇과 오픈제펠린 활용하기 하드햇(Hardhat) 트러플과 유사한 이더리움 기반 스마트 컨트랙트 개발 도구 자바스크립트 기반으로 자유도가 높고 유연한 개발 환경을 제공 스마트 컨트랙트에서 console.log를 사용하여 값을 출력할 수 있는 기능도 제공 Ganache같은 가상 이더리움 제공 web3.js대신 ethers.js 사용 오픈제펠린의 Upgrades 수정 가능한 "Upgradable" 컨트랙트를 쉽게 작성하고 배포할 수 있도록 개발도구와 함께 쓸 수 있는 플러그인 트러플과 하드햇에서 사용할 수 있는 플러그인 하드햇 설치 글로벌 패키지로 설치하지 않음 (-g) yarn, npx 사용 cd mydapp yarn init -y yarn add hardhat --dev npx hardhat help 하드햇 프로젝트 폴더 npx ..
[블록체인] 이더리움 & 솔리디티 기반의 투표 dApp 구현하기 스마트 계약을 컴파일, 블록체인에 배포 경험 과정 가나슈라는 가짜 블록체인 설치(개발 환경 상에서 애플리케이션 돌릴 준비) *가나슈는 개발 목적으로만 쓰이는 인 메모리 블록체인 솔리디티 언어로 스마트 컨트랙트 구현 → 블록체인에 배포 커맨드 창에서 가나슈와 상호작용 → 웹페이지와 통하도록 블록체인과 상호작용하려면 RPC(Remote Precedure Call)을 통해야 한다. Web3JS로 RPC 호출하는 라이브러리로 Javascript를 통해 블록체인과 상호작용하게 해주는 역할을 한다. 리액트, 앵귤러같은 프레임워크로 웹앱 만들기도 가능 개발환경 설정 Node.js와 npm 설치 npm으로 가나슈, web3js, 솔리디티컴파일러 설치 mkdir -p ethereum_voting_dapp/chapter1..