개발 (33) 썸네일형 리스트형 [Flutter] 윈도우 Flutter VSCode 개발환경 구축 및 테스트 1. Flutter를 설치해줍니다. Install Select the operating system on which you are installing Flutter:{{site.alert.note}} **Are you on Chrome OS?** If so, see the official [Chrome OS Flutter installation docs!](/docs/get-started/install/chromeos){{site.alert.end}} flutter.dev 다운로드 받은 폴더의 bin 폴더를 환경변수에 등록 후 윈도우 명령창에서 flutter doctor를 실행합니다. 윈도우 명령창에서 다음 명령어를 입력하여 Android licesnses를 동의합니다. $flutter --android.. [Cypress] Cypress 사용하여 Express로 만든 웹 서버 테스트 해보기 E2E Test 종단(Endpoint) 간 테스트로 사용자의 입장에서 테스트 하는 것 입니다. 보통 Web, App 등에서 GUI를 통해서 시나리오, 기능 테스트 등을 수행합니다. Cypress를 사용하여 E2E Test를 할 수 있습니다! NodeJS에서 Cypress를 사용하여 간단한 웹 페이지를 테스트를 해봅시다. 1. 프로젝트 초기화 $ npm init -y $ npm install -D cypress $ npm install --save express 2. Express를 사용한 웹 서버 코드 작성 (app.js) localhost:3000으로 접속시 태그안에 Hello 문자를 반환하도록 하였습니다. const express = require('express'); const app = expre.. [백준] 01타일 문제 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이의 공부를 방해하기 위해 0이 쓰여진 낱장의 타일들을 붙여서 한 쌍으로 이루어진 00 타일들을 만들었다. 결국 현재 1 하나만으로 이루어진 타일 또는 0타일을 두 개 붙인 한 쌍의 00타일들만이 남게 되었다. 그러므로 지원이는 타일로 더 이상 크기가 N인 모든 2진 수열을 만들 수 없게 되었다. 예를 들어, N=1일 때 1만 만들 수 있고, N=2일 때는 00, 11을 만들 수 있다. (01, 10은 만들 수 없게 되었다.) 또한 N=4일 때는 0011, 0000, 1001, 1100, 1111 등 총 5개의 2.. [Jest] describe describe: 연관된 test 목록을 그룹핑 시켜주어 테스트 결과를 표시하도록 합니다. 클래스, 컴포넌트과 관련된 테스트를 그룹핑하여 테스트하는데 이용할 수 있습니다. 사용 예) const myBeverage = { delicious: true, sour: false, }; const sum = (a, b) => { return a + b; } test('sum a + b', () => { expect(sum(1, 2)).toBe(3); }); describe('my beverage', () => { test('is delicious', () => { expect(myBeverage.delicious).toBeTruthy(); }); test('is not sour', () => { expect(my.. [NodeJS] EventEmitter EventEmitter: 이벤트를 발생시키는 클래스. 특정 이벤트가 발생할 때마다 함수가 호출됨. 사용되는 곳 fs.ReadStream: 파일을 오픈했을 때 이벤트가 발생됨 net.Server: 피어가 연결될 때 마다 이벤트가 발생됨 예제 코드 const EventEmitter = require('events'); class MyEmitter extends EventEmitter {} // EventEmitter 상속 const myEmitter = new MyEmitter(); myEmitter.on('event', () => { // 'event' 이름의 event 등록. console.log('an event occurred!'); }); myEmitter.emit('event'); // 'even.. [JS] 웹 워커 (Web Worker) 웹 워커? 웹 브라우저에서 스레드를 사용하여 script를 백그라운드에서 수행할 수 있도록 해줌 Web Workers API postMessage : Worker 자신의 내부 영역으로 메시지를 전달. 해당 메소드는 Worker 자신에게 보낸 data를 받음 terminate : 즉시 Worker를 종료 onmessage : Worker 객체의 message 이벤트를 구독하면 워커로부터의 메시지를 전달받을 수 있다. onerror : Worker 객체가 예외를 발생시켰으나 내부적으로 처리되지는 않았다면, 해당 예외는 onerror에 전파된다. 활용 방법 1. 백그라운드에서 수행할 작업을 js에 작성(onmessage 함수) // js/worker.js onmessage = function (e) { con.. [Docker] Docker 터미널 명령어 1. 이미지 목록 확인 $ docker images 2. 컨테이너 생성 $ docker run -i -t -p 호스트포트:컨테이너포트 --name 컨테이너명(ID) 이미지명(ID) -i : interactive 옵션. 사용자에게 출력을 보여줌 -t : tty 옵션. 사용자에게 text terminal 환경을 조성해줌 --name: 컨테이너의 이름을 설정함. 해당 옵션을 주지 않을 경우 docker가 알아서 이름을 지어서 생성 -p: 호스트포트와 컨테이너포트를 연결하도록 하는 옵션 -expose: 컨테이너포트만 열어주는 옵션 3. 컨테이너 실행 $ docker start 컨테이너이름(ID) 4. 컨테이너 접속 $ docker attach 컨테이너이름(ID) 5. 컨테이너 목록 $ docker ps -a -.. [JS 기초] Generator 함수 Generator 함수: 빠져나갔다가 나중에 다시 실행할 수 있는 함수 입니다. 이때 컨텍스트(변수 값)는 출입 과정에서 저장된 상태로 남아 있습니다. 문법: function* name([param[, param[, ... param]]]) { statements } Generator 함수는 호출되어도 즉시 실행되지 않고, 대신 함수를 위한 iterator 객체가 반환 Iterator의 next() 메서드를 호출하면 Generator 함수가 실행되어 yield 문을 만날 때까지 진행합니다. 이후 다시 next() 메서드가 호출되면 진행이 멈췄던 위치에서부터 재실행합니다. next() 가 반환하는 객체는 yield문이 반환할 값(yielded value)을 나타내는 value 속성과, Generator 함.. 이전 1 2 3 4 5 다음