Cute Bow Tie Hearts Blinking Pink Pointer

전체 글 102

[Typescript] 타입스크립트 interface

목차 - 인터페이스(interface란?) - 예제 코드 인터페이스란? 인터페이스는 일반적으로 타입 체크를 위해 사용되며 변수, 함수, 클래스에 사용할 수 있다. 인터페이스는 여러가지 타입을 갖는 프로퍼티로 이루어진 새로운 타입을 정의하는 것과 유사하다. 인터페이스에 선언된 프로퍼티 또는 메소드의 구현을 강제하여 일관성을 유지할 수 있도록 하는 것이다. ES6는 인터페이스를 지원하지 않지만 TypeScript는 인터페이스를 지원한다. 인터페이스는 프로퍼티와 메소드를 가질 수 있다는 점에서 클래스와 유사하나 직접 인스턴스를 생성할 수 없고 모든 메소드는 추상 메소드이다. 단, 추상 클래스의 추상 메소드와 달리 abstract 키워드를 사용하지 않는다. 예제 코드 example/interface.ts int..

[Typescript] 기본 설정, 세팅

'작성중' type script 는 런타임이 없다! --> 번들링을 무조건 해야함 즉, 자바스크립트로 바꿔주어야한다. tsc index.ts /dist/app.js #json { "compilerOptions": { "outDir": "./dist/" } } npx tsc --build #json 별칭 경로 설정(paths) { "compilerOptions": { "outDir": "./dist/", "baseUrl": ".", "paths": { "@core/*": ["src/core/*"] } } } npm install -D @types/node ┌ [프로젝트] ├ /src ├─ /core ├── index.ts ├─ utils.ts **index.ts** #typescript -특정 경로를 아래..

[블록체인] 블록체인 특징, 구성, 블록 만들어보기

목차 -블록체인 특징 -블록체인 구성 -블록 만들어보기 1. 블록체인의 특성: 탈 중앙성 블록체인의 가장 중요한 기술적 특성은 탈 중앙성입니다. 블록체인은 거래 기록이 담긴 원장을 정부나 은행과 같은 제삼자에 맡기지 않고, 참여자들이 직접 검증과 승인, 합의 등의 활동을 하며 만들고 관리한다. 또 다른 특성은 투명성이며, 새로운 블록은 생성되는 동시에 모든 참여자에게 전송되어 공유된다. 따라서 블록의 거래 기록은 참여자들 누구나 볼 수 있으며, 참여자 모두가 감시자가 되는 것이다. 다만, 참여자의 실명은 알 수 없기 때문에 익명성의 특징도 갖는다. 세 번째 특성은 불변성으로, 블록이 순차적으로 연결되면, 일단 연결된 블록은 수정하거나 삭제하기 어렵다. 새로 블록을 만들 때는 바로 앞 블록의 해시가 이용되..

블록체인 2022.06.08

AWS 이용해서 웹 애플리케이션 배포하기 2

목차 탄력적 IP 설정하기 할당받은 IP로 터미널 연결하기(조작하기) 구동환경 세팅하기 배포하기(로컬에서 작업한 파일 누구나 다 볼 수 있게 연결하기) 탄력적 IP 설정하기 여기서, 탄력적 IP란? 접속할 때마다 할당된 ip주소가 바뀌는데 이를 고정시켜주는 것! 1) 검색창에 치면, 2) 탄력적 IP 클릭 3) 탄력적 ip 주소 할당 클릭(저는 미리 만들어놓음. 처음이면 아무 것도 안뜨는 게 맞다.) 4) 할당 5) 할당된 ip가 뜬다. 6) 탄력적 ip 주소 연결 클릭 7) 연결한 인스턴스 선택 지난 게시물에서 만들었던 test 인스턴스를 연결하겠다. 8) 연결 9) 확인 탄력적 IP가 설정되었음을 확인 할 수 있다. 터미널 연결하기(할당 받은 ip주소와 연결) 1) 아이디 클릭 2) 연결 3) 복사해..

AWS 2022.05.13

AWS 이용해서 웹 애플리케이션 배포하기 1

목차 인스턴스 시작/생성/추가 할당 받은 IP로 원격 접속하기 보안 그룹 규칙 추가하기 인스턴스 시작/생성/추가 1) AWS에 들어가서 가입해준 뒤, (가입은 알아서...) EC2에 접속한다. 2) 아래 EC2를 클릭하여 접속해준다. 3) 인스턴스 시작을 눌러준다. 4) 원하는 이름 설정 5) 사용하는 OS와 버전 선택 6) 인스턴스 유형 무료버전을 사용해준다... 매우 느리지만, 연습용으로는 적합하다. 7) 키페어 생성하기 8) 키페어 이름 정하기 이름 제외(이름은 마음대로) 나머지는 default 값 그대로 설정한다! 9) 키페어생성 버튼 클릭 이 때, 파일 하나가 다운될 것이다! 이 파일은 절대 잃어버리거나 손상시켜선 안된다. 원하는 디렉토리로 옮겨서 잘 보관해놓자. 10) 나머지는 건들지 않아도 ..

AWS 2022.05.12

MPA, SPA 차이, 장단점

MPA Multi Page Application의 약자(여러 페이지로 구성된 웹 어플리케이션) 사용자의 클릭과 같이 인터렉션이 발생할 때마다 서버로부터 새로운 html을 받아와서 해당 링크로 이동하여 페이지 전체를 새로 렌더링하는 전통적인 웹 페이지 구성 방식이다. SPA Single Page Application의 약자(하나의 페이지로 구성된 웹 어플리케이션) 브라우저에 최초에 한번 페이지 전체를 로드하고, 이후부터는 특정 부분만 Ajax를 통해 데이터를 바인딩하는 방식이다. 장단점 1) SPA의 장점 UX 전체 페이지를 업데이트를 할 필요가 없기 때문에 빠르다! (웹사이트의 성능과 직결된다.) 전체 페이지를 업로드하면서 발생하는 '깜박' 거림이 없다. 페이지의 일부만 바뀌는 것이기 때문에 applic..

SSR, CSR 차이

SSR Server Side Rendering의 약자 이 방식은 서버에서 데이터까지 모두 포함하여 페이지를 구성한 후 브라우저에 전달하는데 클라이언트가 페이지를 이동한다든가, 클릭으로 인한 다른 요청이 생길때마다 이 과정을 반복하기 때문에 화면에서 바뀌지 않아도 되는 부분도 계속해서 다시 렌더링되는 단점이 있다. 이는 곧 서버 부하 등의 문제를 일으킬 수 있다. CSR Client Side Rendering의 약자 말 그대로 SSR과 달리 렌더링이 클라이언트 쪽에서 일어난다. 즉, 서버는 요청을 받으면 클라이언트에 HTML과 JS를 보내준다. 클라이언트는 그것을 받아 렌더링을 시작한다. SSR, CSR 차이 1) 웹페이지를 로딩하는 시간 웹 페이지 로딩의 종류는 두 가지로 나눌 수 있다. 하나는 웹 사이..

[백준온라인/Python] 4673번 셀프 넘버 문제 풀이

문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라..

코테 연습 2022.05.03

[백준온라인/Python] 1546번 평균 문제 풀이

문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대..

코테 연습 2022.05.02

[백준온라인/Python] 3052번 나머지 문제 풀이

문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. 예제 입력 1 1 2 3 4 5 6 7 8 9 10 예제 출력 1 10 각 수를 42로 나눈 나머지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 10이다. 예제 입력 2 42 84 252 420 8..

코테 연습 2022.05.02