16진수 16진수는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 로 숫자를 나타낸다. 0에서 9까지는 10진수와 값이 동일하고, A는 10, B는 11, C는 12, D는 13, E는 14, F는 15를 나타낸다. 즉 16진수에서는 한자리 수로 0에서부터 15까지 표현할 수 있다. 그런데 위에서 보다시피, 0에서부터 9까지는 10진수와 동일한 값이라서 10진수와 헷갈릴 우려가 있다. 그래서 16진수에서는 모든 수 앞에 0x 를 붙인다. 이건 아무런 의미가 없고 그냥 16진수라는 뜻으로 붙인다. 예를 들어 16진수의 0은 0x0 으로 표기한다. 그렇다면 이해를 돕기 위해 2진수를 16진수로 바꾸어보자. 8비트가 나타낼 수 있는 가장 큰 수는 255이다. 2진수로는 1..
히스토리 타입 브라우저 히스토리 해시 히스토리 메모리 히스토리 브라우저 히스토리와 해시 히스토리는 둘 다 브라우저 환경에서 사용된다. 브라우저 히스토리와 해시 히스토리는 현재 location이 브라우저의 주소창에 띄워져있는 것과 일치하도록 한다. const browserHistory = createBrowserHistory() const hashHistory = createHashHistory() 이 두 개의 가장 큰 차이는 url의 어떤 부분으로부터 로케이션 객체를 생성하느냐이다. 브라우저 히스토리는 전체 url을 사용하는 반면, 해시 히스토리는 url에서 첫번째 해시 심볼 이후에 나타난 부분만 사용한다. url = 'http://www.example./com/path/name?key=value#has..
history 객체에서 가장 중요한 정보는 location이고, 이 location은 URL로부터 뽑아낼 수 있는 정보들(pathname, search, hash)와 그 외 추가적인 것들(key, state)로 구성돼있다. (URL 기초에 대한 포스팅은 여기) key는 각 location에 따른 유니크한 값이다. state는 URL에는 존재하지 않는 데이터를 해당 location에 붙이고 싶을 때 사용된다. 회사에서 location state를 사용했던 유스케이스는, SPA에서 새로고침하면 redux state가 클리어되고 이에 따라 api를 재요청하는 부분을 개선하고자 location state를 부분적으로 사용했던 것이었다. location state를 사용하면 새로고침하더라도 state가 클리어되지..
현상 크롬 dev 환경으로 빌드했는데, 해당 에러 페이지가 뜨면서 정상적인 페이지가 노출되지 않음 사파리에서는 정상 작동 크롬 시크릿 모드에서도 정상 작동 콘솔 찍어보니 IndexedDB를 불러오기는 하는데 오브젝트 스토어가 비어있음. 해결 비슷한 사례 존재. cache clear랑 뭔가 관련이 있는 것 같다는 생각. 구글 디벨로퍼 페이지에서 이런 말을 발견 Because of this, it's critically important that you always implement proper error handling in your IndexedDB code. This also means it's generally a good idea to keep application state in memory (i..
C의 자료형과 크기 bool: 불리언, 1바이트 char: 문자, 1바이트 int: 정수, 4바이트 float: 실수, 4바이트 long: (더 큰) 정수, 8바이트 double: (더 큰) 실수, 8바이트 string: 문자열, ? 바이트 (빌트인 타입 아님) char과 string C에서는 char은 싱글 quote, string은 더블 quote로 나타낸다. #include int main(void) { char c1 = 'H'; char c2 = 'I'; printf("%i %i\n", c1, c2); // 형식지정자를 c가 아닌 i로 하고, c1이나 c2를 int로 캐스팅하지 않아도 상응하는 아스키코드 숫자가 출력된다 } int는 4바이트, char은 1바이트 이렇게 정해져있는 반면, strin..
피보나치 수열 문제: 피보나치 수열에서 n번째 오는 값을 구하시오. e.g. n이 6일 때, 1, 1, 2, 3, 5, 8 ... 이므로 답은 8 재귀로 아래처럼 간단하게 풀 수 있으나, 이 방법은 O(2^n) 시간 복잡도를 가진다. def fib(n): if n == 1 or n == 2: return 1 return fib(n-2) + fib(n-1) 시간 복잡도를 생각하는 방법은, 아래와 같은 예시를 생각해보면 된다. 위의 피보나치 수열을 구하는 재귀와 밑의 코드의 시간복잡도는 비슷하리라 짐작할 수 있다. 하나의 n에서 두 개의 가지를 뻗어서 자기 자신을 재호출하고 있는 구조이기 때문이다. -1씩 깎이는 거나 -2씩 깎이는거는 나중에 가면 상수값이 되어서 빅오표기법에서는 의미가 없다. (이 영상 의..
컴퓨터에는 메모리라는 것이 있다. 우리가 연산하고 저장하는 것들은 메모리라는 유한한 공간 내에서 이뤄진다. 즉, 하드웨어는 유한하므로 한계를 가진다. 예시로는 아래와 같은 것들이 있다. 부동소수점의 부정확성 부동소수점이란, 실수를 컴퓨터 상에서 근사치로 표현할 때 소수점의 위치를 고정하지 않고 위치를 나타내는 수를 따로 적는 것을 의미한다. #include #include int main(void) { float x = get_float("x: "); float y = get_float("y: "); printf("x/y = %.50f\n", x/y); } 위 처럼 실수 x, y를 받아서 나누어주는 간단한 코드가 있다고 할 때 x에 1을 넣고 y에 10을 넣어준다면 0.1000000 ... 이 나올 것으..
switchMap 파라미터: 소스 옵저버블의 각 아이템에 적용될 함수. (e.g. of(1,2,3) 이면 1과 2와 3에 각각 적용될 함수) 이 함수는 옵저버블을 리턴한다. 즉 2차원으로 중첩된 옵저버블이 원래라면 생기게 된다. 이걸 간단히 배열로 생각하자면 [1,2,3].map($0 => [$0 * 2]) 이런 식으로 생각할 수 있다. 즉 map의 소스가 되는 아이도 배열이고, map 메서드의 파라미터로 주어지는 함수도 배열을 리턴하면, 결과는 2차원 배열이 되는 것처럼 생각하면 된다. (배열을 옵저버블로 치환해서 생각하면 됨) rx에서 모든 연산자는 옵저버블 인스턴스를 리턴하도록 되어있기 때문에, 옵저버블에 연산자를 매핑하면 원래라면 중첩된 옵저버블이 생기게 되는 것이다. 하지만 중첩된 옵저버블은 r..
- Total
- Today
- Yesterday
- Session
- 알고리즘
- useEffect
- c언어
- getter
- this
- Conflict
- package.json
- react
- Java
- 자바
- SQL
- linkedlist
- oracle
- JavaScript
- Redux
- til
- 깃
- 개발 공부
- 포인터 변수
- rxjs
- jQuery
- youtube data api
- 리덕스
- Prefix Sums
- 제네릭스
- 인스턴스
- GIT
- Data Structure
- CSS
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
