전체 글44 2022 코라제이 블로그 및 계획 [ 2022 계획 ] - 다이어리 기록 - 사이드프로젝트 - 운동 - 블로그 - 독서 나에게 블로그는 큰 부담이다. 무언가 정보를 담는 글을 적는거라 그런건지 고민을 많이하고 썻다 지웠다를 반복하게 된다. 혹여나 잘못된 정보를 전달할까봐 조심스럽기도 했다. '나만 보려고 쓴다.' 라는 생각을 하고 봤을때 현재에 내가 과거의 나의 글들을 봤을때 스스로도 이해하기 어려운 부분이 있기도 했다. 갈겨쓴 노트를 다시 보는 느낌처럼 이해가 안되는 부분이 생길때가 있다. 그 당시에는 분명 잘 정리했다고 생각했는데 '잘 정리했다' 라는 과거의 나 아니면 '무슨 말이 하고싶은거야?' 라는 현재의 나 어느쪽이 잘못된걸까? 그럼에도 불구하고, 이제 더이상의 자책은 하지 않기로 했다. 그리고 2022년 다시 시작하려고 한다... 2022. 1. 22. [자료구조] Queue 구현하기 큐(queue)는 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가먼저 나오는 FIFO (First In First Out)구조로 저장하는 형식을 말한다. 출처 - 위키백과 구현하기 class Queue { private size = 0; private currSize = 0; private queue: Array = []; private first = 0; private rear = 0; constructor(size: number) { this.size = size; } enqueue(value: T): Queue { if (this.currSize >= this.size) { throw new Error('queue is overflow'); } this.queue[this.rear.. 2021. 3. 31. [자료구조] Linked List 직접 구현하기. Linked list - 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다. (위키백과) [구현하기] class MyNode { public next: null | undefined | MyNode; public value: T; constructor(value: T) { this.value = value; this.next = null; } } class LinkedList { private head: MyNode; private tail: MyNode; private length = 0; constructor(value: T) { this.head = new MyNode(value); this.tail = this.head; this.length = .. 2021. 3. 30. [자료구조] Stack 직접 구현하기 stack은 후입선출(LIFO)의 자료 구조이다. 즉, 마지막에 넣은 데이터가 가장 먼저 꺼내진다. [구현하기] class Stack { private stack: Array = []; private max = 0; private len = 0; constructor(max: number) { this.max = max; } top(): T { return this.stack[this.len - 1]; } pop(): Stack { if (this.len === 0) throw new Error('stack is empty'); this.stack.splice(this.len - 1, 1); this.len--; return this; } push(value: T): Stack { if (this.len.. 2021. 3. 28. [Javascript] this 의미, 암시적바인딩 vs 명시적바인딩 (call, apply, bind, new, 화살표함수) this란 객체를 참조하는 키워드다. 하지만 다른 언어와 다르게 런타임 바인딩 되기때문에 this의 값은 함수를 호출한 위치에서 결정된다. [기본바인딩] function foo() { console.log(this); } foo(); //// window 기본바인딩은 global적으로 바인딩이 되는것을 말하며 브라우저 상에서는 window 객체를 가르킨다. [암시적 바인딩] window.a = 'window'; function foo() { console.log(this.a); } const obj = { a:1, foo: foo } obj.foo() // 1 foo() // window 함수가 f호출되는 위치에서 this가 바인딩 되어진다. 위의 경우 this가 { a: 1, foo: foo } 객체에.. 2021. 3. 11. [Javascript] 프로토타입 언어 : prototype 과 객체 생성 자바스크립트는 프로토타입 언어라고 한다. 그런데 여기서 프로토타입이 뭘까? prototype을 알기위해서 우선 객체를 알아야 한다. 객체를 생성하는 대표적 방법은 2가지 종류가 있다. 객체 리터럴 방식과 생성자 함수 (이하 클래스)를 통한 방식이있다. 1.객체 리터럴(object literal) 방식 foo는 네임스페이스처럼 동작한다. 중괄호로 간단하게 생성할 수 있다. //리터럴 방식 const foo = {}; 객체 리터럴은 점표기법(.) 으로 값을 가져오거나 정의 할 수 있다. const foo = { name: 'foo' }; foo.number = 1; console.log(foo.name); // 'foo' console.log(foo.nomber); // 1 또한 괄호표기법(대괄호 [ ]) .. 2021. 2. 22. 7월 벌써 2020년의 반이상이 지나갔다. 그동안 나에게도 많은 변화가 있었다. 바쁘지 않았는데 바빴다. 그렇게 정신 차려보니 벌써 7월이다. 남은 시간보다 지나간 시간이 더 많다는 사실이 새삼 놀랍다. 그동안 게을리한 공부와 개인적인 일을 정리해보려고 다시 블로그를 적어본다. 생각보다 방문자가 많은 사실이 놀라웠다. 덕분에 재미있게 내가 했던 기록을 남길거 같다. 2020. 7. 8. 유용팁 Number() 의 형변환은 숫자형태의 string만 가능 - 숫자와 문자열이 섞여 있다면 NaN 반환 parseInt() 의 형변환은 숫자형태로 시작하면 문자열이 나오기 전까지 의 숫자를 반환 - 문자열 시작이면 NaN 반환 문자열 -> 숫자 형변환 방법 + 연산자 를 붙인다 ex) +"1" Nunber() 객체 사용 ex)Number("1") parseInt() 메소드 사용 ex)parseInt("1"); 2020. 3. 26. 다시보는 HTML 한장요약 HTML을 다시 한번 공부하면서 요약해보려고 한다. GML -> SGML -> SGMLguid -> 기존 태그에 가 추가되면서 HTML이 탄생했다. HTML (HyperText Markup Language)이라는 약자로, 웹 브라우저와 작용할 수 있는 프로그래밍 언어이다. 1. 확장자는 (. html )이다. 2. 와 로 태그 문법을 사용한다. 3. 의 속성을 사용해서 좀 더 기능적으로 사용한다. 4. 는 html을 설명하는 태그며 보이지 않는다. 5. 는 클라이언트에게 보일 내용을 담고 있는 태그다. 6. 는 문서의 형식을 나타낸다. 7. 전체 페이지의 콘텐츠를 포함하며 기본 태그다. 이상의 특징을 갖고 있다. 위 내용이 전부이다. html의 형식은 이와 같은 모습으로 구조되어있다. 실습해 보기 위의 .. 2020. 2. 28. 이전 1 2 3 4 5 다음