본문 바로가기

전체 글118

[React + TypeScript] TypeScript 적용하기 이 페이지는 React에 TypeScript를 적용하는 방법에 대해 설명하고 있습니다. React에서 PropTypes로 충분히 타입 체킹이 가능하지만 state, function parameters 등의 타입 체킹은 할 수 없다. 그래서 TypeScript를 적용해보고자 합니다. 해당 프로젝트는 React 관련 기본 세팅이 되어있다고 가정하고 설명합니다. CRA를 사용할 경우 옵션을 통해 쉽게 세팅할 수 있다. create-react-app typescript-react-tutorial --scripts-version=react-scripts-ts 설치 npm i typescript ts-loader @types/react -D React에서 사용되는 TypeScript Loader에는 두가지가 유명하.. 2019. 8. 6.
[PostgreSQL] DB 설치 및 접속 다운로드 및 설치 (Download and install) 설치하는 방법은 아주 쉽다. PostgreSQL 다운로드에서 자신의 OS에 맞는 파일을 다운받아 설치하자. macOS에 설치하는 방법을 찾으면 homebrew로 설치하는 방법이 많이 나오는데, 해당 페이지에서 쉽게 다운로드 할 수 있다. 접속 (Connection DB) $ sudo psql $ sudo psql postgres postgres Password: // mac 계정 비밀번호 Password for user postgres: // DB 계정 비밀번호자세한 명령문은 이 곳을 참고하세요. 비밀번호 오류 해결 $ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres&#3.. 2019. 7. 25.
[알고리즘] Extra Long Factorials 해커랭크 문제. Extra Long Factorials 링크: https://www.hackerrank.com/challenges/extra-long-factorials/problem Author: vatsalchanana Difficulty: Medium #!/bin/python3 import math import os import random import re import sys # Complete the extraLongFactorials function below. def extraLongFactorials(n): total = 1 while n > 1: total = total * n n -= 1 print(total) if __name__ == '__main__': n = int.. 2019. 7. 24.
[알고리즘] Sherlock and Squares 해커랭크 문제. Sherlock and Squares 링크: https://www.hackerrank.com/challenges/sherlock-and-squares/problem Author: darkshadows Difficulty: Easy 문제 요약: a, b 포함 사이의 수중 제곱수의 개수를 찾아라. #!/bin/python3 import math import os import random import re import sys # Complete the squares function below. def squares(a, b): count = 0 import math n = a while n 2019. 7. 18.
[기초 수학] 선형대수 선형 : (상수 * 변수)의 합 - ax - a1x1 + a2x2 + ... + anxn - a들은 상수, x들은 변수 - 상수: 변하지 않는 값. 변수: 변하는 값 - 2, 3, 4들이 상수. x들이 변수 - 2x 대수 : 데이터 사이의 관계를 일반화하기 위해서 숫자가 아닌 '문자를 대신' 사용 (방정식) X 0 1 2 3 4 5 Y 0 2 4 6 8 10 위의 표는 Y = 2X 로 표현가능 장점: - 실수 X의 값이 들어와도 Y값 계산 가능 - Y값을 알 때, X값을 찾을 수 있음 대수는 복잡한 식을 계산하는 방식에 대해 연구하게 되고 연산을 효율적으로 처리하기 위해 '벡터와 행렬'을 사용해 식을 표기하기로 함 2019. 5. 21.
[React] 더보기 기능과 성능 개선 해당 페이지는 Component', 'PureComponent, Functional Component에 대해서 rerender 관련해서 정리하고 있습니다. React에서 더보기 기능을 구현할 때 기존에 보여지고 있던 리스트는 다시 렌더링을 하면 안됩니다. 각 컴포넌트로 구현했을 시에 render 수가 어떻게 되는지 예제를 통해 이해해봅시다. 예제 import React, { Component } from 'react'; import Item from './components/Item'; let index = 0; class App extends Component { state = { items: [] } componentDidMount() { this.addLi.. 2019. 4. 9.
[알고리즘] 시간 복잡도, 공간 복잡도, 빅오(Big O) Big O 빅-오 표기법은 시간복잡도를 표현한는데 사용되며, 계수와 낮은 차수의 항을 제외시킨다. 예를 들어, 만약 크기 n의 입력에 대해 5n3 + 3n의 식을 가진다. 이 알고리즘의 점근적 시간 복잡도는 O(n3)이다. 크기 n의 입력에 대한 복잡도. O(1): Constant Time(상수 시간): 작업 수행을 위한 알고리즘은 단일 단계이다. O(log n): Logartirhmic time(Log 시간): 작업을 수행하는데 걸리는 단계가 시간이 지날 수록 (어떤 요인에 의해) 점차 줄어든다. O(n): Linear Time(선형 시간): 필요한 단계의 수는 직접적으로 관련이 있다. (1 대 1의 관계) O(n²): Quadratic Time(이차 시간): 작업을 수행하는데 걸리는 단계의 수가 n의.. 2019. 4. 9.
가상메모리 영역 이 페이지는 C언어를 기준으로 가상메모리 영역에 대해 설명하고 있다. 메모리 데이터와 명령어를 저장하는 곳 컴퓨터가 작업을 할 때 그 작업을 어떻게 하는지 참고하기위한 자료가 메모리에 있다. 메모리는 한정되어 있으므로 잘 사용해야 한다. 가상메모리 32비트 시스템에서 프로세스(실행중인 프로그램) 생성시 4GB의 메모리를 할당받을 수 있는데, 이는 RAM 만으로는 충당하기에 부족하다. 그래서 OS는 RAM과 하드디스크를 하나로 묶어 가상메모리로 관리한다. 대부분의 시스템에서는 주로 페이징(paging)이라는 기법으로 가상메모리를 관리한다. 가상메모리 영역은 code, data(data, BSS), heap, stack 영역으로 나뉜다. code 영역 (text) 코드 자체를 구성하는 메모리 영역으로 Hex.. 2019. 3. 28.