일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Svelte
- 스위프트
- jest
- HTML
- hokidoki
- 호키도키
- javascript
- 스벨트
- queue
- 비동기
- data structure
- TDD
- 개발자
- 리액트 예제
- 자바스크립트
- hokeys
- react
- 이종호
- 자바스크립트 자료구조
- 자료구조
- Hitit
- IOS
- 자스민
- 계명대 이종호
- 개발
- 계명대
- 호키스
- SWIFT
- 힛잇
- 리액트
- Today
- Total
목록Javascript (48)
Dog foot print
어제 만들어본 stack은 가장 늦게 넣은 것이 가장 빨리 나오는 LIFO(후입선출) 의 형태를 취하고 있다. 오늘 만들어볼 queue는 FIFO(선입선출)의 형태를 하고 있으며 원시적인 선형큐를 만들어 볼 것이다. Queue 란 ? 큐는 데이터를 선입선출을 하는 자료구조이다. queue는 우리 주변에서도 많이 보이는데 카운터에서 줄을 서고 있는 손님들이나 print의 출력에서도 queue의 형태를 볼 수 있다. 선형 큐란 ? 선형큐는 재사용이 되지 않는 형태의 큐이다. 배열에 공간이 남았더라도 rear가 max_size 까지 도달 했다면 배열 전체를 초기화 하지 않으면 item을 넣지 못한다. queue의 멤버변수 max_size // queue에 저장 가능한 공간을 뜻 한다. front // queu..
저번 학기 자료구조는 c언어로 활용하여 수업을 했었는데, c언어는 아주 기초적인 부분 말고는 대부분의 함수가 구현되어 있지않아 힘들게 요구하는 함수들을 정의해야만 했었지만 자바스크립트는 대부분의 기능을 지원해주기 때문에 쉽게 자료구조를 만들 수 있었다. Stack 이란 stack은 lifo(Last In First Out)의 형태를 취하는 자료구조로써 맨 먼저 들어온 것이 가장 나중에 나가고 가장 최근에 들어온것이 가장 먼저 나간다. 흔히들 접시를 쌓아놓은 구조로 설명하는데 접시를 쌓아 놓고 맨 아래에 있는 접시를 꺼내기위해서는 맨 아래 접시위에 있는 것들은 모두 치워야지 가능하다. 이처럼 스택 또한 데이터를 수직으로 쌓아 놓고 원하는 데이터 위에 아무것도 없어야지만 해당 데이터를 뺄 수 있다. Stac..
date 객체를 사용할 일이 많이는 없지만 언젠가 달력을 만들거나 게시글 저장할때 'createAt' 용도로 사용하게 될 것이다. 객체의 사용 date객체는 생성자인자로 들어가는게 꽤나 많다. 생성자 인자로 어떤 것도 주지 않는다면 현재 시간이 표시된다. let a = new Date(); console.log(a); //2019-07-06T14:21:50.910Z 생성자 인자 객체의 콜솔을 찍어보면 나오는 그대로 new Date(연, 월 , 일, 시, 분, 초 ) 형태로 작성 해주면 된다. 다만 아이러니하게도 월과 일은 사용이 조금 다르다. 월은 0 부터 1월을 뜻하며 일은 "0은 전달의 마지막 날의 전 ", "1은 해당 달의 전달의 마지막 날","2는 해당달의 첫 날" 그래서 2019년 1월 1일을 ..
클로저는 외부함수의 변수를 내부함수로 접근 하여 사용 하는 것입니다. 사실 객체의 캡슐화와 별 다른 것은 없습니다. 클래스의 멤버변수를 함수로 접근 하듯 클로저 또한 함수내부에 있는 함수로 접근 하는 것입니다. 스코프 자바스크립트 스코프는 2개의 스포크가 있습니다. 바로 함수스코프와 블록스코프입니다. 함수 스코프 : 함수 내부에서 만들어진 변수는 함수외부에서 접근 할 수 없고 함수 외부에서 const 와 let으로 작성되었다고 해도 함수 내부에서 새롭게 정의가 가능하고 이 변수들은 함수 내부에서만 작동이 가능하게 된다. 블록스코프 : {} 내부에서 만들어진 변수는 이 블록 내부에서만 유효하고 블록을 제외한 다른 곳에서는 접근이 불가능 하다. 클로저 사용하기 function good(){ let hello..
자바스크립트를 조금 씩 더 공부하다보면 동적으로 html 요소들과 서로 상호작용을 하며 페이지를 만들고 싶어 할 것이다. 예를 들면 버튼을 누르면 달력 api를 통해 새로운 달력을 그리고 싶은데 html에서는 이를 해결할 방법이 없고 새로운 달력을 만들기 위해서는 document 객체라는 것을 사용해서 웹페이지에 새로운 형태의 태그들을 구성해야 한다. Document 객체란 브라우저에서 문서를 읽으면 특변한 객체를 만든다. 바로 window객체 이다. 이 window객체는 최상위 객체로써 6개의 프로퍼티를 가지고 있는데 그 중 html의 코드들이 파싱되어 javascript 정보로 가지고 있는 것이 document 객체입니다. Dom 객체의 사용 dom객체를 사용하는 이유는 html 태그에 이벤트를 설정..
콜백 이후로 포스팅 난이도가 상승했다. 그렇지만 매일 2개씩 뭐든지 포스팅하겠다고 약속한 이상 꾸준히 공부해서 해야한다. 동기와 비동기 우리는 코드를 짤때 위에서 아래로 짜면서 먼저 해야할 연산과 작업을 위에 작성하고 흐름에 맞게 작성하였다. 그러나 다음과 같은 상황에서는 어떨까 ? console.log("hello ? ") setTimeout(function(){console.log("i'm fine")},3000); //setTimeout 함수는 첫번째 인자로 콜백함수를 받고 2번째 인자로 ms(밀리 세컨즈)를 받아 시간이 경과하면 함수를 실행 시킨다. console.log("and you ? "); 우리가 여지것 작성했던 코드를 생각하면 위의 코드는 hello -> 3초뒤 i'm fine-> and..
프로그래밍언어를 공부하다보면 필연적으로 등장하는 개념인 콜백 함수를 만나게 된다. 나 또한 콜백함수에 대한 개념이 제대로 정리되지 않은 채 그저 동기와 비동기처리를 위해 사용되는 기법이라고만 단순히 알고 있었다. 그렇기에 이참에 콜백함수에 대해서 정리해보려 한다. 콜백함수란 ? 콜백함수는 한 줄로 요약해서 "함수의 인자로 전달되는 함수입니다. " 라고 할 수 있겠다. 무슨 말인가 함은 우리가 함수를 더욱 잘게 쪼개어 함수가 이 기능도 저 기능도 되는 복잡한 괴물이 될 수 있는 것을 방지 할 수 있고 함수의 로직 실행시기를 조정 할 수 있다는 것이다. 콜백함수가 될 수 있는 조건 1. 변수나 데이터 구조 안에 담을 수 있어야 한다. //자바스크립트는 변수나 구조체 , 객체등에 함수를 담을 수 있다. 2. ..
수업시간에 객체지향프로그래밍의 특징으로 다형성과 은닉성에 대해서 배운적이 있다. 클래스를 정의할 때 클래스의 내부 변수들을 숨기고 싶거나 함수를 숨기고 싶어 private나 protected를 사용 한다. 그런데 이러한 기능들은 자바스크립트에서 제공 해주지 않는다. 그래서 특정한 방법으로 객체안에 있는 값을 숨길 수 있어야 한다. 캡슐화란 ? 클래스내부에 있는 값들을 외부에서 참조하지 못하도록 숨기는 것 ! function Dog(name){ var name = name; // 접근 불가능 return { hello : 10,//접근 가능 getName(){ return name; }, setName(newName){ name = newName } } } var huge = new Dog("huge");..