delaying's dev log

Javascript Array.prototype.reduce()

reduce()메서드는 배열의 각 요소에 대해 주어진 리듀서함수를 실행하고, 하나의 결과값을 반환한다. 리듀서 함수는 4개의 인자를 가진다. 누산기(acc) 현재 값(cur) 현재 인덱스(idx) 원본 배열(src) 구문 arr.reduce(callback[, initialValue]) 구문으로 사용할 수 있다. 매개변수 cal...

Javascript Array.prototype.slice()

slice() 메서드는 배열의 시작부터 끝까지의 얕은 복사본을 새로운 배열 객체로 반환한다. 원본배열에는 영향을 주지않는다. arr.slice([begin[, end]]) 이처럼 사용하면된다. 매개변수 begin 자리는 0으로 시작하는 시작점에 대한 인덱스를 넣어주어야 한다. 음수 인덱스는 배열의 끝에서부터의 길이를 나타낸다. begin이 un...

자료구조 복잡도

자료구조는 효율적으로 데이터를 관리하고 수정,삭제,탐색,저장할 수 있는 데이터 집합을 말한다. 복잡도는 시간 복잡도와 공간 복잡도로 나뉜다. 시간 복잡도 시간 복잡도란 ‘문제를 해결하는 데 걸리는 시간과 입력의 함수 관계’를 가리킨다. 어떠한 알고리즘의 로직이 ‘얼마나 오랜 시간’이 걸리는지를 나타내는 데 쓰이며, 보통 빅오표기법으로 나타낸다. ...

운영체제 (OS,Operating System)

운영체제 운영체제(OS)는 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스이다. 한정된 메모리나 시스템 자원을 효율적으로 분배해준다. 펌웨어 : 운영체제와 유사하지만 소프트웨어를 추가로 설치할 수 없는 것. 운영체제의 역할 CPU 스케줄링과 프로세스 관리 메모리 관리 디스크 파일 관리 I/O 디바이스 관리 운영체제의 구조 운영체...

IP 주소(Internet Protocol address)

IP주소는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신하기 위해 사용하는 특수한 번호이다. 네트워크에 연결된 장치가 라우터이든 일반 서버이든, 모든 기계는 이 특수한 번호를 가지고 있다. ARP 컴퓨터와 컴퓨터 간의 통신은 정확히 IP주소에서 ARP를 통해 MAC 주소를 찾아서 MAC 주소를 기반으로 통신한다. ARP(Address Reso...

네트워크 분류 및 분석 명령어

네트워크 분류 네트워크는 규모를 기반으로 분류할 수 있다. 사무실과 집 등 개인적으로 소유가능한 LAN(Local Area Network), 시,군 등의 지역 정도 규모의 MAN(Metropolitan Area Network), 세계 규모의 WAN(Wide Area Network)로 나뉜다. LAN LAN은 근거리 통신망이며 같은 건물이나 회사 등...

네트워크 처리량과 토폴로지

네트워크란 노드(node)와 링크(link)가 서로 연결되어 있거나 열결되어 리소스를 공유하는 집합을 말한다. 노드는 서버,라우터,스위치 등의 네트워크 장치를 의미하고 링크는 유선 또는 무선을 의미한다. 네트워크 구축 시 ‘좋은’ 네트워크로 만드는 것이 중요한데, 좋은 네트워크란 많은 처리량을 처리할 수 있고 지연시간이 짧고 장애 빈도가 적으며 좋...

Programming Paradigm

프로그래밍 패러다임은 프로그래밍의 관점을 프로그래머에게 갖게하는 역할을 해주는 개발 방법론이다. 프로그래밍 패러다임은 크게 선언형과 명령형으로 나뉜다. 세부적으로 선언형에는 함수형이 있고 명령형은 객체지향과 절차지향으로 나뉜다. 선언형 선언형 프로그래밍은 ‘무엇’을 풀어내는지에 대해 집중하는 패러다임이며, “프로그램은 함수로 이루어진다”라는 명제가...

Singleton Pattern

싱글톤 패턴 싱글톤 패턴(Singleton pattern)은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 이를 기반으로 로직을 만드는데 쓰이고, 보통 데이터베이스 연결 모듈에 많이 사용된다. 하나의 인스턴스를 만들고 해당 인스턴스를 다른 모듈들이 공유하여 사용하므로 인스턴스 생성에 드는 비용이 줄다는 장점이 있지만, 의존성이 높아진다는 ...

Javascript Tilde(~)연산자

알고리즘 문제를 풀다가 다른사람 풀이에 Tilde(~)연산자를 사용해서 문제를 더욱 간단하게 해결하는 것을 보았다. 그래서 Tilde 연산자 사용법을 알아보려한다. Tilde(~) 연산자 ~ 연산자를 사용하면 내부적으로 32비트 정수로 변환한 후 NOT 연산자를 실행한다. 이는 2의보수-(n+1)값과 같다. 이러한 성질을 이용하여 참,거짓 처리를...