일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 자료구조와함께배우는알고리즘입문
- 처음 만나는 AI수학 with Python
- Kernighan의 C언어 프로그래밍
- 병합
- 깃
- 선형대수
- GIT
- 티스토리 쿠키 삭제
- 자료구조와 함께 배우는 알고리즘 입문
- 구멍가게코딩단
- 목록처리
- 친절한SQL튜닝
- 데비안
- 처음 만나는 AI 수학 with Python
- 코드로배우는스프링부트웹프로젝트
- 코드로배우는스프링웹프로젝트
- 스프링 시큐리티
- 자바편
- 알파회계
- resttemplate
- 페이징
- 스프링부트핵심가이드
- 네트워크 설정
- /etc/network/interfaces
- iterator
- 이터레이터
- merge
- network configuration
- 서버설정
- 리눅스
- Today
- Total
목록분류 전체보기 (320)
bright jazz music
자바스크립트는 싱글 스레드에서 작동한다, 즉, 기본적으로 자바스크립트는 한 번에 하나의 작업만 동기 방식으로만 처리할 수 있다. 동기(synchronous)에 대해 간단히 설명하자면, 직렬 방식으로 작업을 처리하는 것을 의미하며, 이 요청이 시작된 이후에는 무조건 응답을 받은 이후에야 비로소 다른 작업을 처리할 수 있다. 그 동안 다른 모든 작업은 대기한다. 이러한 방식은 개발자에게 매우 직관적으로 다가오지만 한 번에 다양한 많은 작업을 처리할 수 없다. 반대로 비동기(asyncrhous)란 직렬 방식이 아니라 병렬 방식으로 작업을 처리하는 것을 의미한다. 요청을 시작한 후 이 응답이 오든 말든 상관없이 다음 작업이 이루어지며 따라서 한 번에 여러 작업이 실행될 수 있다. 자바스크립트는 분명히 싱글 스레..
리액트의 클래스형 컴포넌트에 대한 이해가 JS의 클래스, 프로토타입, this에 달려있다면, 함수형 컴포넌트에 대한 이해는 클로저에 달려 잇다. 함수형 컴포넌트의 구조와 작동 방식, 훅의 원리, 의존성 배열 등 함수형 컴포넌트의 대부분의 기술이 모두 클로저에 의존하고 있다. 1. 클로저의 정의 MDN에서는 '클로저는 함수와 함수가 선언된 어휘적 환경(Lexical Scope)의 조합"이라고 돼 있다. function add() { const a = 10 function innerAdd() { const b = 20 console.log(a + b) } innerAdd() // 30 } 위 예제코드에서는 add 함수 내부에 innerAdd가 있다. innerAdd 함수는 내부에서 b 변수를 선언한 뒤 자신..
자바스크립트의 클래스 1. 클래스 예시 //Car class 선언 class Car { // constructor는 생성자. 최초에 받을 인수를 결정 가능하며, 객체 초기화 용도로 사용된다. constructor(name) { this.name = name } // 메서드 honk() { console.log(`${this.name}이 경적을 울립니다.`) } // 정적 메서드 static hello() { console.log('저는 자동차입니다.') } // setter set setAge(value) { this.carAge = value } // getter get getAge() { return this.age } } // Car 클래스를 이용해 car 객체 만들기 const myCar = ne..
1. 함수를 정의하는 방법 JS에서 함수를 정의하는 방법은 크게 네 가지이다. - 함수 선언문 - 함수 표현식 - function 생성자 - 화살표 함수 1.1. 함수 선언문 JS에서 함수를 선언할 때 가장 일반적으로 사용하는 방식 function add(a, b) { //이름이 있다 return a + b } 함수 선언문은 표현식이 아닌 일반 문(statement)로 분류된다. 표현식이란 무언가 값을 산출하는 구문을 의미한다. 즉, 함수 선언으로는 어떠한 값도 표현되지 않았으므로 표현식이 아닌 문으로 분류된다. 그러나 JS엔진이 코드의 문맥에 따라 동일한 함수를 문이 아닌 표현식으로 해석하는 경우가 있다. const sum = function sum(a, b) { //함수에 이름이 있다 return a..
리액트에서의 의존성 배열이 작동하는 방식. 왜 의존성배열에 특정한 변수들을 채워야 하는가? 리엑트 컴포넌트의 렌더링이 일어나는 이유증 하나는 props의 동등비교에 따른 결과이다. props의 동등비교는 객체의 얕은 비교를 기반으로 이루어진다. 이 얕은 비교가 리액트에서 어떻게 작동하는지 이해하지 못하면 렌더링 최적화에 어려움을 겪을 수 있다. 리액트의 가상 DOM과 실제 DOM의 비교, 리액트 컴포넌트가 렌더링할지를 판단하는 방법, 변수하 함수의 메모이제이션 등 모든 작업은 자바스크립트의 동등비교를 기반으로 한다. 1. 자바스크립트의 데이터 타입 자바스크립트의 모든 값은 데이터 타입을 갖고 있으며, 이 데이터 타입은 원시 타입과 객체 타입으로 나눌 수 있다. 1.1.원시타입(primitive type)..
#!/bin/bash #file에 디렉터리 경로를 포함한 파일명 담기 #basename 함수를 사용하여 경로를 제외한 파일명만 추출 #추출한 파일명에 "오늘일자.bak" 붙여서 backup 디렉터리로 이동 #변수선언 target=$1 target_dir=$2 backup_dir=$3 #아규먼트 제공여부 확인. -z : 빈 문자열 여부 확인. if [ -z "${target}" ] || [ -z "${target_dir}" ] || [ -z "${backup_dir}" ]; then echo "#### ERROR: Please provide three appropriate arguments! (target, target_dir, backup_dir) ####" exit 1 fi # target_dir가 존..
1. 깃랩 access 토큰 발행 - 깃랩 로그인 후 settings, access token 메뉴에서 API 스코프 선택 후 토큰 발행 - 이 때의 setting은 repository의 settings가 아니라 로그인한 자신에 대한 setting임. 2. 젠킨스 2.1. 깃랩에서 생성한 access token을 사용하여 credential 생성 - dashboard > manage jenkins > credentials 이동 - credential 생성: 'gitlab api token'선택. 그리고 gitlab에서 생성한 access token 입력 2.2. 깃랩 연결 시의 설정 등록 - gitlab plugin설치 후 gitlab connection 항목 설정 - dashboard > manage ..
1. 플렉스박스 레이아웃은 반응형 웹 디자인에 적합한 그리드 레이아웃을 만드는 방법 가운데 하나이다 플렉스 박스 레이아웃 용어 플렉스 컨테이너(부모 박스) 플렉스 박스 레이아웃을 적용할 대상을 묶는 요소 플렉스 항목(자식 박스) 플렉스 박스 레이아웃을 적용할 대상 (부모 박스 내의 작은 박스들) 주축(main axis) 플렉스 컨테이너 안에서 플렉스 항목을 배치하는 기본 방향. 기본적으로 왼쪽에서 오른쪽이다. 플렉스 항목의 배치가 시작되는 위치를 '주축 시작점'. 끝나는 위치를 '주축 끝점'이라고 한다. 교차축(cross axis) 주축과 교차하는 방향을 말한다. 기본적으로 위에서 아래로 배치한다. 플렉스 항목의 배치가 시작되는 위치를 '교차축 시작점' 끝나는 위치를 '교차축 끝점'이라고 한다. 2. 플..
materia ui 스타일의 textfield 만들기 label 태그의 for속성은 input 태그의 id 속성과 같아야 효과가 적용된다. See the Pen Untitled by Philip Ottam (@Philip-Ottam) on CodePen.
1. 타입스크립트 기반 리액트 프로젝트 생성 명령 $ npx create-react-app 프로젝트명 --template typescript 2. package.json 확인 기본적으로 리액트를 비롯한 모든 Node.js 프로젝트는 루트 디렉토리에 package.json 파일이 존재한다. { "name": "ch01_5", "version": "0.1.0", "private": true, "dependencies": { "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "@types/jest": "^27.5.2", "@types/node": "..