일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- jest
- data structure
- 비동기
- 힛잇
- 자바스크립트
- 리액트
- 개발
- 개발자
- HTML
- react
- hokeys
- 스위프트
- 스벨트
- 계명대
- TDD
- Hitit
- 이종호
- javascript
- queue
- SWIFT
- 호키스
- 자바스크립트 자료구조
- Svelte
- 자료구조
- 자스민
- 리액트 예제
- 계명대 이종호
- 호키도키
- IOS
- hokidoki
- Today
- Total
목록분류 전체보기 (205)
Dog foot print
React-router가 v4,v5로 업데이트되면서 기존 react-router-redux 에서 connected-react-router로 변경되었다. Connected React Router란 리덕스에서 주소를 변경 및 확인하기 위해 history객체를 관리하며 필요에 의해 꺼내쓸 수 있는 유용한 라이브러리이다. 깃헙 readme를 읽어 보니 기능은 다음과 같다. 단방향 흐름을 통해 리덕스에서 router상태를 동기화 할 수 있다. (history객체 -> store-> router-> component) react Router 버전 v4, v5를 지원한다. 함수형 컴포넌트를 지원한다. redux-thunk나 redux-saga를 통해 히스토리 객체를 디스패치할 수 있다. immutable.js를 지원..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/TwwIt/btqxqJSVcnf/OZIoWjDLlorUg25ldx6sL0/img.png)
오랜만에 web devleoper 2019 roadmap을 보며 내가 어디까지 했는지 따라가다보니 tdd 다음으로 "sever side rendering " 이라는 것이 있었다. react에는 next.js가 있었는데, react는 사용자의 컴퓨터에서 렌더를 담당하는 "csr"의 형태를 취하고 있다. 그런데 조금 더 알아보니 next.js라는 것을 통해 서버에서 렌더를 해서 가져올 수 있다는 것을 알게 되었다. (물론 내용은 어려워서 바로 이해는 못 했지만... ) 여차저차 csr과 ssr에 대해서 많은 문건을 찾아보니 생각보다 내용이 전부 어려웠다. 그래서 !!! 이 포스팅을 기획하게 되었다. 천천히 ssr과 csr을 이해하기위해서 필요한 기반지식들을 풀어나가며 최종적으로 csr과 ssr을 풀어나가보도..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c7n5ho/btqxldacmtI/UgSz5V0Gmtv5zDMYL5rxMK/img.png)
heap 이란 ? heap 은 우선순위 큐를 위해서 만들어진 트리자료구조이다. heap은 부모노드와 자식노드의 대소관계에 따라 최대힙(Max heap)과 최소힙(Min heap)으로 나뉜다. heap의 특징 heap은 완전이진트리의 형태이다. 완전이진트리 설명보러가기 heap은 트리내에서 중복된 값을 허용한다. heap은 느슨한 정렬(반 정렬) 상태를 가진다. 반 정렬 이라는 의미는 자식노드가 부모의 노드보다 무조건 크거나 작다. 그러나 전체트리를 볼 때는 가장 아래에 있는 노드가 가장 작거나 큰 값은 아니라는 의미이다. Max heap 최대 힙 최대힙은 다음과 조건을 항상 만족한다. 자식노드 value >= 부모노드 value Min heap 최소 힙 최소힙은 다음과 같 은 조건을 항상 만족한다. 자식..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bEgDAr/btqxhyeRljp/Goi45KWmUPc01TyBvHZPik/img.png)
해당 포스팅은 큐와 트리를 이해했다는 가정하에 작성되고 있습니다. 큐와 트리에 이해도가 없는 분들은 본 포스팅을 보기 전 큐와 트리에 대한 포스팅을 먼저 읽어주시기 바랍니다. 우선순위 큐란 ? 우선순위 큐는 일반적인 큐와 거의 동일하다. 큐는 해당자료구조에 들어온 순서대로 배출이 된다. 다만 우선순위 큐는 우선순위큐는 먼저나가는 순서를 들어온 순서 뿐만 아니라 다른 조건에 의하여 들어온 데이터에 우선순위를 부여해 순위에 맞게 배출한다. 어찌보면 일반적인 큐도 우선순위큐가 될 수 있는데 배출되는 순서를 해당 큐에 들어온 순서에 의거하여 우선순위를 부여하여 배출하기 때문이다. 우선순위 큐의 사용 예 우선순위 큐는 우리의 일상에서도 친근하게 사용되고 있다. 유니버셜 스튜디오랜드같은 해외 외국 놀이공원에서는 일..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rWCO5/btqxf5Drhqj/DkcJJxHYAgNZJsQe9ywiC0/img.png)
포스팅 전 주저리 : 자스민도 슬슬 확장해보려는 마음이 생겨 에브리타임에 다시 가입했다. 그런데 수강신청기간이라 그런지 게시판은 수강신청에 대해서 활발하게 대화 중이였는데, 속이려는 놈, 동요하는 놈, 이상한 놈이 섞여서 혼돈의 도가니였다. 그중 가장 웃긴놈은 학교 근처에서 접속하면 3분 먼저 접속이 가능하다. 조금 더 접속이 잘된다. 이런 말 하는 놈이였는데 결국 못 참고 ppt로 헛 소문들 정리해줬다. tree에 삽입 2부에서 설명 했듯이 배열로 이진트리를 만들면 왼쪽 자식노드의 인덱스 번호는 부모노드의 인덱스 * 2 이며, 오른쪽 자식노드는 부모의 (인덱스 * 2) +1 의 인덱스 번호를 가진다. 그렇기에 이진탐색트리에 새롭게 삽입될 인덱스 번호를 삽입하는 일은 현재 노드의 데이터를 삽입하려는 데이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bT2Bpq/btqxhL4kEaC/Z8KZd0JqOv8A2HvkTYkPg1/img.png)
지난번 해시테이블 포스팅도 그렇고 이번 트리도 그렇고 꽤나 양이 방대해서 그런지 시리즈로 포스팅을 하고 있다. 나도 몰랐고 처음 해보는 자료구조들이라서 그런지 예제도 이해하는데 오래 걸리고 이를 토대로 다시 정리하는 것도 생각보다 오래 걸린다. ㅜ.ㅜ 으쌰 으쌰해야겠다. tree의 표현 방법 트리를 만드는 방법은 배열 혹은 연결리스트로 만드는 방법이 있다. 배열로 표현하는 방법은 다음과 같다. 임의의 노드 A의 부모노드 인덱스 . : 해당 노드의 인덱스 i / 2; 임의의 노드 A의 왼쪽 자식노드 인덱스. : 해당 노드의 인덱스 i * 2; 임의의 노드 A의 오른쪽 자식노드 인덱스. : 해당 노드의 인덱스 ( i * 2 ) +1 배열로 트리를 만들게 되면 배열의 0번째 방은 사용하지 않는다. 그리고 배열..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1I5nZ/btqxaEM6Fvt/3uW85mNUnXvVo7FbzRvLf1/img.png)
포스팅 전 주저리 : 알바하고 있는 곳에 전임자가 매니저로 왔다... 가뜩이나 사람들 자꾸 나가서 짜증난데 내가 정말 싫어하는 부류인 예의도 싸가지도 없는 놈이 매니저로 오다니 ㅜ.ㅜ 빨리 그만두라는 신의 계시인 것인가 ... ? Tree 란 ? Tree란 조직도같이 하나의 루트(하나 밖에 없는 차상위)에서 하층구조들과 연결된 계층적 자료구조를 말한다. 대표적으로 인공지능 문제에서도 트리가 사용된다고 한다. Tree를 이루고 있는 것들 Node : 데이터를 담는 공간이다. Root Node : 최상위 노드로 부모없이 가장 높은 곳에 있는 노드를 말한다. Edge : 부모와 자식노드를 연결해주는 선 Childe Node : 부모가 있는 노드로 위에 3의 데이터를 가지고 있는 노드입장에서 1을 가진 노드와 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bCZoX6/btqxaEMPPY4/Dz1nwLSKRMp5w9zZAgkIEk/img.png)
어제 선형탐사 방식을 통하여 해시값 충돌시 해시값을 유효범위까지 늘려 충돌을 우회했다. 그러나 open adress방식을 사용하면 유효범위가 유한하기 때문에 언젠가 충돌이 일어날 수 있었다. 그렇기에 이번에는 chaining 방식을 통해 조금 더 유연한 hash table을 만들어 보겠다. Seperate Chaining Seperate chaining 은 배열에 연결리스트를 넣어서 유한하던 저장공간문제를 해결하는 방식이다. 다만 메모리문제와 탐색시 최악의 시간 복잡도가 O(n)이 된다는 단점도 가지고 있다. Double Linked List function Dictionary(key,value){ return { llink : null, key : key, value : value, rlink : nu..