일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 힛잇
- 개발자
- react
- SWIFT
- HTML
- 자스민
- 계명대 이종호
- 비동기
- jest
- data structure
- 개발
- 자바스크립트
- queue
- Svelte
- IOS
- 계명대
- 리액트 예제
- 스벨트
- 리액트
- TDD
- javascript
- 자료구조
- Hitit
- hokidoki
- 자바스크립트 자료구조
- 스위프트
- 호키도키
- 이종호
- hokeys
- 호키스
- Today
- Total
목록Javascript (48)
Dog foot print
포스팅 전 주저리 : 매직마우스2를 오래 사용하다 손목터널증후군 때문에 손모가지 날라갈뻔하다 결국 커세어 m65 Pro RGB로 바꾼지 1주일 되가는데 손목이 너무 편하다. 몇일전까지만 해도 핸드폰만 들고 있어도 손목에 통증이 느껴졌는데, 대 만족이다. Merge Sort란 병합정렬이라고도 불리는 합병정렬은 존 폰 노이만에 의해서 개발했다. 이 합병정렬은 Quicksort가 최악의 경우 (n2)의 시간 복잡도를 가지는데 반해, 최악의 경우에도 O(n log n)의 시간 복잡도를 가지는 안정정렬이다. 알고리즘 1. 인자로 넘겨 받은 배열을 배열의 길이가 1이 될 때 까지 반으로 쪼갠다. (분할) 2. 왼쪽과 오른쪽으로 나누어진 배열의 원소를 비교한 후 큰 수를 오른쪽으로 보내어 새로운 array를 만든다...
포스팅 하기 전 메세지 : 여러분들 모두 더위 조심하세요 ~ 지난 학기에서 데이터베이스 수업을 들으며 소팅기법에 대해서 알고 있는 학생들이 두각을 보였다. 버블 소팅, 퀵소팅, 머지소팅, 해쉬테이블 이야기가 난무 하는데 어떤 소팅 기법인지 감이 오지 않았다. 나는 끽 해봐야 자바스크립트 Array.sort() 메서드나 이용해 봤지 내가 직접 소팅을 만들어 본적은 없기에 데이터베이스에서 서치와 정렬이 조금 낯 설게 느껴 졌다. 그래서 오늘 포스팅을 뭘 해 볼까 하다가 주말간 소팅에 대해서 공부해볼까 싶어 이렇게 행동으로 옮긴다. Quick sort란 찰스 앤터니 리처드호어가 개발한 정렬 알고리즘으로 배열 내부에 있는 item을 비교해 정렬을 수행하는 비교 정렬이다. - 위키백과발췌 퀵 정렬은 n개의 아이템..
자바스크립트 이외에 언어에서 연결리스트가 가지는 이점은 배열처럼 고정된 크기를 가지는게 아니라 동적으로 크기를 조정 할 수 있는 것이 장점이다. 그렇다면 단순연결리스트와 원형연결리스트 보다 이중연결리스트가 가지는 이점은 무엇일까 ? 이중연결리스트란 ? 기존에 만들었던 연결리스트들은 모두 한 방향으로 이루어져 있다. 그런데 이중연결리스트는 L link 와 R link를 가지고 있어 해당 노드에서 전, 후 노드에 접근 하는 것이 가능케 된다. 이로인해서 헤드가 마지막에 연결되어있는 노드를 O(1) 의 복잡도를 가지고 찾을 수 있다. 멤버변수 class nodeType{ constructor(item){ this.data = item; this.lLink = null; this.rLink = null; } 이..
지난번 만들어 보았던 단순연결리스트는 마지막 node 가 null을 가리키고 있는 형태를 하고 있는데 오늘 만들어볼 원형 연결리스트는 마지막 노드가 항상 Head 노드를 가리키고 있어 노드의 링크를 타고 다시 처음으로 갈 수 있다는 이점이 있다. // 아직 원형연결리스트가 단순연결리스트보다 더 좋은 이점을 찾지를 못 찾겠다. 루프를 만들어 내부에 뭐가 있는지 순차적으로 감시하기에는 좋을 듯 하다. 원형연결리스트 필요한 멤버 변수 처음 만들어지는 head는 data로 head가 들어간다. constructor(item){ this.data = item; this.link = null; } 필요한 메서드 insertFirstNode(item) // node를 생성하고 head바로 앞에 넣는다. insertL..
전 포스팅에서 prevMonth , nextMonth 버튼을 구현하지 않았는데 해당 버튼과 토,일의 스타일을 구현 하도록 해보겠다. buildCalendar 수정하기 prevMonth와 nextMonth에서 today만 변경해서 buildCalendar에서 알아서 변경하게 하고 싶어 전역변수 몇 개를 buildCalendar내부로 옮겼다.. 그리고 기존의 buildCalendar에서 일부 달의 경우 setDays가 아직 lastDate에 도달하지 못했음에도 row를 못 만들었기 때문에 함수끝에 제어문을 두도록 변경했다. function buildCalendar(){ let firstDate = new Date(todayYear, todayMonth-1,1); let lastDate = new Date(t..
작년에 자바스크립트를 만지면서 dom을 가지고 뭘 만들어 볼 수 있으려나 싶어서 만들어 본 것이 달력만들기였다. Date객체만을 이용해서 달력을 만들었는데 이런 생 노가다가 없었다. 지금이야 React moment 라이브러리를 이용해서 쉽게 만들지만 그때는 꽤나 힘들었다... 그래서 삽질의 과정을 포스팅 해보려 한다. 틀 만들기 틀은 div가 아닌 table로 만들 것이다. 1 일 월 화 수 목 금 토 style 추가하기 html의 결과가 조금 구리니 callender td에 style 을 추가하자 td{ width: 50px; height: 50px; text-align: center; font-size: 20px; font-family: 굴림; border:2px; border-color:black;..
정규표현식이란 문자열에서 특정한 패턴의 규칙을 가진 문자열의 집합을 표현 하는데 사용하는 형식 언어이다. - 위키 정의가 조금 와닿지 않을 수 도 있을 것 같다. 예를 들면 우리가 커뮤니티나 게임에서 "시발", "개새끼" , "섹스" 등 금지어를 글에 적을 때 해당 금지어 때문에 작성이 되지 않는 다던가 해당 금지어가 다른 문자열로 치환 되는 것을 본 경험이 있을 것이다. 이런 전체 문자열에서 특정한 문자열의 검색과 치환을 위해 사용되는 것이 정규표현식이다. 정규표현식 생성방법 정규표현식을 만드는 방법은 조금 난이도가 있어 보인다. 검색기능이 강력한 사이트를 관리하는 입장이라면 정규표현식은 필수로 잘 다뤄야 겠지만 일반인이라면 사용할때만 집중해서 만드는 것도 좋을 듯하다. 아래에 정말 잘 정리해놓은 블로..
javascript의 배열은 array-list라는 것의 형태를 띄고 있어 배열의 크기 존재하지 않는다. 그런데 c 같은 언어들은 배열의 크기가 존재하기에 한 배열을 유한하게 밖에 사용 할 수 없다. 그래서 개발자들은 노드리스트라는 개념을 만들어 각각의 구조체들로 서로를 연결하는 것을 만들었다. 연결리스트에는 단순 연결리스트, 이중연결리스트, 원형연결리스트가 있으며 이 연결리스트들을 이용하여 스택, 큐, 트리등 다양한 자료구조를 만들 수 있다. node 란 node란 data필드와 link필드를 가지고 있는 일종의 구조체로 link를 통해서는 다음 연결된 노드에 접근 할 수 있다. simple linked-list는 처음 노드를 header라고 하며 마지막 노드의 link는 항상 null이다. 연결리스트..