일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- OS
- 개발공부
- Python
- 프로그래머스
- 운영체제
- typeScript
- 글또
- useState
- react 기초
- Operating System
- 코드스테이츠
- JavaScript
- 자바스크립트
- 자료구조
- 파이썬 알고리즘 인터뷰
- 컴퓨터공학
- 알고리즘
- algorithm
- Computer Science
- node.js
- REACT
- codestates
- execution context
- context switching
- Zerobase
- java
- python algorithm
- 비동기
- 자바
- Today
- Total
목록Programming Languages (49)
Back to the Basics
Prototype 1. Object Prototype JavaScript는 Prototype 기반 언어(Prototype-based Language)이다. 모든 객체들이 Prototype 객체(Prototype Object)를 갖고 있고, 이를 통해 메서드와 속성들을 상속받는다. 공부를 하면서 제일 헷갈렸던 것은, prototype property, prototype, __proto__ 이다. Prototype property : 모든 함수 객체의 Constructor는 Prototype이라는 property(속성)을 갖고 있다. prototype 속성은 객체가 생성될 당시 만들어지는 객체 자신의 원형이 " 될 " prototype 객체를 가리킨다. 즉, 자신을 만든 원형이 아닌! 자신을 통해 만들어질 ..
OOP Basic concepts Application을 만들 때 객체지향을 이용하고 응용하면 좋은 설계를 할 수 있다. 객체지향 프로그래밍의 주요 컨셉으로는 크게 네 가지가 있다. 캡슐화 (Encapsulation)와 정보은닉 (Informaion Hiding) 우리는 객체의 생성을 위해 class를 디자인한다. 좋은 class를 만들기 위한 최소한의 조건은 정보은닉과 캡슐화이다. 정보은닉(Information Hiding) 정보은닉이란, 직접적으로 변경되면 안 되는 변수에 대한 접은을 오직 별도의 함수로 접근하도록 유도하는 것이다. 실수로 변수를 변경하려는 시도가 있을 때, 실수가 쉽게 발견되고 잘못된 값이 저장되지 않도록 제한된 접근 방법으로의 접근만 허용하는 방법이다. 캡슐화(Encapsulati..
Section 1이 끝나고 드디어 Section II에 들어섰다. 그 첫 번째 JS/Node 객체지향이다. 이번 Lesson 에서는 객체 지향 프로그래밍(OPP, Object-oriented programming)이 무엇인지 알아보고 객체 지향 프로그래밍의 특징, 그리고 이를 구현하는 방법과 상속에 대한 개념들을 공부한다. Achievement Gials 클래스와 인스턴스라는 용어를 이해한다. new , class 키워드 사용법 이해 현실 세계의 모델 --> class의 메서드와 속성을 디자인한다. 객체 지향 프로그래밍 특징을 이해한다. 캡슐화 , 상속, 추상화, 다령성 JavaScript에서 객체 지향 프로그래밍을 구현하는 방법을 이해한다. Prototype이 무엇인지 이해한다. 객체 지향 프로그래밍 ..
이번 포스팅 에서는 시간복잡도를 나타내는 빅오와 파이썬의 자료형을 공부해보자. big-O (빅오) 입력값이 커질 때 알고리즘의 실행 시간(시간 복잡도)과 함께 공간 요구사항(공간 복잡도)이 어떻게 증가하는지를 분류하는데 사용 시간 복잡도를 분석할 때 '상한'과 '최악'의 경우에 대해 혼동하는 부분이 있음 분할 상환: 함수의 동작을 설명하는 매우 중요한 방법 중 하나 파이썬의 자료형 파이썬 자료형의 특징 1. 빅오 (1) 빅오 빅오는 점근적 실행 시간(Asymptotic Running Time)을 표기할 때 가장 널리쓰이는 수학적 표기 중 하나이다. 입력값 n이 커질 때 (입력값이 무한대를 향할 때) 함수의 실행 시간의 추이를 나타낸다. 이러한 점근적 실행 시간을 시간 복잡도라고 한다. 충분이 큰 입력에서..
몇 개월 전에 배웠던 파이썬 알고리즘 인터뷰라는 책은 구입하여 공부하고 있었다. 5개월 전까지는 나름 열심히 했는데, 정처기 공부를 하게 되고 지금 코드스테이츠를 하게 되면서 이 책은 책장 안에 데코레이션처럼 들어가 있었다. 조금 아깝기도 하고, 알고리즘 공부와 함께 파이썬도 다시 공부해 볼 겸 꺼내 들었다. 물론 일주일에 1-2번 보겠지만 꾸준히 하다 보면 결국 반 이상은 하지 않을까 싶은 마음이다.. 이번 포스팅은 이 책의 초반에 소개되는 이후의 알고리즘 리뷰를 위한 파이썬 주요 문법에 대해 간략하게 정리해보겠다. (이미 깃에 정리한 것을 여기다 조금 보기 좋게 정리하는 것이지만) Python 문법 인데트(Indent) : PEP 8에 따라 공백 4칸을 원칙으로 함 PEP(Python Enhnceme..
HA를 위해 이전에 풀었던 코플릿을 쭈욱~ 돌아보는 중에 풀었던 문제들 중 객체의 값들로 num 타입의 숫자들이 있는데, 이것들의 최댓값을 Object.values를 뽑아서 Math.max()로 뽑았던 것을 보았다. 혹시 배열로 따로 속성들을 뽑지 않고 최댓값을 구할 수 있는 방법이 있을까 순간 궁금해져서 HA를 공부해야 하는 이 바쁜 와중에 Math.max MDN을 들어가게 되었다. (시간이 걸리는 일은 아니니까) MDN을 보다보니 Math.max에 대해 몰랐던 사실과 기억하고 있어야 할 사항, 그리고 Math.max 대체 방법들이 나와있었다. 아, 이건 정리하여 기록을 해야겠다! 싶어서 이렇게 글을 또 쓴다. ( 빨리 나머지 코플릿 문제들 봐야 하는데,,,) Math.max MDN Math.max()..
**예제는 MDN을 참조하였다 코플릿을 다시 보면서 잘 사용하지 않던 method가 있어 정리해보았다. flta method에 대해 기능을 알아보고, filter가 어떻게 작동되는지 기능을 직접 코드로 구현해 보았다. arr.flat() : 배열 내부의 sub-srray 요소들을 특정 차원으로 새로운 배열로 return 한다. - syntax : flat() ,flat(depth) - param : depth는 optional 이며 중첩돤 배열 구조를 얼마나 깊게 flattering을 하는지를 지정하는 깊이를 나타낸다. 기본값음 1 기본값은 1이며, 아래의 코드는 2차원 배열 내부의 배열인 [4,5]을 1차원 배열 수준으로 flattering 한 것이다. const arr1=[1,2,3,[4,5],6,7..
이번 포스팅은 JavaScript 고차 함수 (Higher order function)에 대해 학습해보겠다. 1. 고차 함수 이해하기 Achievement Goals 일급 객체(first-class citizen)의 세 가지 특징을 설명할 수 있다. 고차 함수(higher-order function)에 대해 설명할 수 있다. 고차 함수를 JavaScript로 작성할 수 있다. JavaScript 에서 함수는 1) 변수에 assignment 가 가능하고, 2) 다른 함수의 argument로 전당 될 수 있으며 3) 다른 함수의 결과로써 리턴될 수 있다 는 특징이 있어 특별하게 취급된다. 이를 first-class citizen (일급 객체)라고 한다. 이 중 고차 함수(Higher oeder functio..