전체 글 71

JavaScript 내장 배열 메소드 한눈에 보기

포스팅 목적 배열과 관련된 내장 메소드를 유형별로 분류하여, 사용할 최적의 메소드를 매번 찾기 귀찮아서 찾기 쉽도록 정리했습니다. MDN 홈페이지에 나와있는 메소드를 기준으로 하였습니다. 메소드의 유형이나 중요도는 제가 판단했기 때문에 주관적인 의견이 포함되어 있습니다. 유형별 메소드 초기화 : fill, splice ( 참고 : 배열 생성시 [ ] ( 리터럴 대괄호 ), new Array() 를 사용 ) 요소 추가 / 제거 : pop / push, shift / unshift 정렬 : sort, reverse 순회 : forEach, map, reduce, reduceRight 조건 판단 : every, some, includes, filter 요소 찾기 : find / findIndex, indexO..

자주 헷갈리는 비슷한 개념 정리

포스팅 목적 비슷해서 자주 헷갈리거나 비교가 필요한 용어들을 정리합니다. 비슷한 관계이거나, 포함하는 관계이거나 전혀 다른 관계일 수 있습니다. 계속해서 추가할 예정입니다. 함수 ( Function ) VS 메소드 ( Method ) 함수 : 특정 작업을 수행하는 기능 단위 메소드 : 클래스, 구조체, 열거형에 포함되어 있는 함수 오버라이딩 ( Overriding ) vs 오버로딩 ( Overloading ) 오버라이딩 : 상속 받은 부모의 메소드를 재정의 하는 기법 오버로딩 : 함수 이름이 같더라도 전달되는 인자의 개수나 타입에 따라 다르게 동작하도록 구현하는 기법 JavaScript 에서는 기본적으로 제공하지는 않습니다. 이름이 같은 함수라면 뒤에서 선언된 함수로 재선언 됩니다. 함수에 전달되는 모든..

IT 개념 정리 2021.11.01

[프로그래밍 패러다임] 객체 지향 프로그래밍

포스팅 목적 프로그래밍 패러다임 중 객제 지향이 무엇인지 정의하고, 객체 지향의 특징과 5원칙, 객체 지향 프로그래밍의 장단점에 대하여 알아보겠습니다. 객체 지향이란? 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 은 컴퓨터 프로그래밍의 패러다임 중 하나입니다. 객체 지향 프로그래밍은 프로그램을 상태(state)와 행위(behave)로 이루어진 객체라는 기본 단위로 나누고, 이 객체들간의 상호 작용을 통해 프로그램을 설계하고 개발하는 것 입니다. 객체 지향은 절차적 프로그래밍과 상반되는 개념은 아니며 아래와 같은 객체 지향의 특징이 드러나야 합니다. 객체 지향이라고 할 수 있습니다. 객체 지향의 특징 1. 캡슐화 (Encapsulation) 캡슐화는 데이터(속성)와 데..

IT 개념 정리 2021.10.09

[프로그래밍 패러다임] 패러다임 구분과 함수형 프로그래밍

포스팅 목적 이 포스팅에서는 프로그래밍 패러다임이 무엇인지 알아봅니다. 주요한 프로그래밍 패러다임을 비교하여 설명하고 그 중 함수형 프로그래밍에 관련된 내용을 알아보겠습니다. 프로그래밍 패러다임이란? 프로그래밍 패러다임이란 프로그래밍 관점을 제공해주는 프로그래밍 방식이나 스타일을 말합니다. 프로그래밍 언어별로 특정한 패러다임을 지원하고 여러 가지 패러다임을 지원하기도 합니다. 보통 어떤 기법을 금지하는 제한을 하거나, 어떤 기법을 쓰게하는 하는 지원을 합니다. 패러다임은 프로그래밍 스타일을 말하는 것이기 때문에 종류가 다양합니다. 프로그래밍 언어에 많은 영향을 끼치는 주요한 프로그래밍 패러다임은 아래와 같이 구분할 수 있습니다. 명령형 프로그래밍 ㄴ 절차적 프로그래밍 ㄴ 객체지향 프로그래밍 선언형 프로그..

IT 개념 정리 2021.10.08

[프론트엔드] 번들러(Bundler)

목적 이 포스팅에서는 자바스크립트의 모듈화의 변화 과정과 번들러와 관련된 개념들에 대해서 알아봅니다. 모듈 시스템의 필요성 자바스크립트는 파일이 나뉘어도 모두 같은 전역 스코프를 사용하기 때문에 함수나 변수명이 겹치는 문제가 생길 수 있습니다. 따라서 스코프가 구분되는 모듈을 만들 필요가 있습니다. 파일이 많아질수록 응답시간이 오래걸리게 됩니다. 모듈 로더 (Module Loader) 런타임에 클라이언트 사이드에서 스크립트를 로드해서 html에 추가합니다. 아래와 같은 모듈 포맷이 있습니다. CommonJS : 브라우저에서 뿐만이 아니라 서버나 데스크롭 애플리케이션에서도 JavaScript 를 사용할 수 있도록한 모듈 시스템입니다. 특징은 동기적으로 모듈을 호출하는 방식으로, ( 필요한 모듈을 바로 사용..

[네트워크] 인터넷과 웹

포스팅 목적 인터넷에서 정보를 확인하는 방법을 가장 단순화하면 주소창에 주소를 입력하는 것이라고 볼 수 있습니다. 그런데 실제로 웹은 이렇게 간단하게 동작하지 않습니다. 인터넷이 연결이 안될 경우 어디서 문제인지, 페이지가 느리다면 어디가 왜 느린지 알기 위해서는 웹이 어떻게 동작하는지 일련의 과정을 알아야합니다. 더불어서 인터넷과 웹에 대한 정의와 관련된 기본적인 내용들을 확인해 보겠습니다. 인터넷 정의 : TCP/IP 프로토콜을 기반으로 하여 전 세계 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망 프로토콜은 원활한 데이터 교환을 수행하기 위해 표준화된 통신규약입니다. TCP/IP 는 IP 주소 체계를 따르며 TCP의 특성을 활용해 신뢰성을 유지할 수 있는 프로토콜 입니다. 관련된 내용은 TCP/..

IT 개념 정리 2021.09.22

[개념정리] 용어를 설명하는 방법

INTRO 어떤 개념에 대하여 사람들과 이야기 할 때 어떻게 하면 설명을 잘 할 수 있을지 고민했습니다. 제 포스팅에서 용어를 어떻게 대할지는 아마 이 글을 기반으로 할 것 같습니다. 고민한 결과 제가 어떻게 설명을 들었을 때 가장 이해가 잘 되었는지를 생각해 보았습니다. 이 개념이 어떤 카테고리 안에 있으며 어떤 특징을 가지고 있는지를 들었을 때 가장 잘 이해가 되었습니다. 사실 이건 용어의 정의에 해당하는 내용이네요. ~~~한 (특징) ~~ (카테고리) 의 꼴이니까요. 설명을 들을 때는 당연히 배경지식도 사용하니 듣는 사람이 얼마나 알고 있는지도 고려하면 더 좋고 예시가 있나면 나열하는 것도 이해하는데 도움이 됩니다. 용어 정의의 기준 용어의 정의를 정확히 알고 있는 경우 용어의 정의를 어느정도 할 ..

IT 개념 정리 2021.09.22

[자료구조] 자료구조란?

자료구조의 정의 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미합니다. 다시 말해, 데이터를 효율적으로 활용하기 위해 사용하는 데이터를 저장하는 방법입니다. 자료구조의 중요성 문제를 해결할 때 자료구조의 종류별로 장단점을 가지고 있어서 성능에 많은 영향을 끼칩니다. 따라서, 상황에 맞는 자료구조를 적절히 선택해야 합니다. 자료구조의 종류 자료구조를 구분하는 방법은 조금씩 상이하지만 대체로 위와 같이 되어 있습니다. 자료구조별 상세 내용 위 자료구조 혹은 자료구조를 기반으로 만들어진 자료구조 중 세부적으로 알아볼 내용은 포스팅하여 링크를 추가할 예정입니다. 배열(Array) 스택(Stack) 힙(Heap) 큐(Queue) 트리(Tree) 그래프(Graph) 참고자료 ..

IT 개념 정리 2021.09.22

[쿠버네티스]

관련 개념 * 도커 컨테이너 기술의 사실상 표준 * 컨테이너 * 컨테이너 VS VMware 컨테이너 : Host OS 위에서 Docker Engine 이 돌아감 VM : Hypervisor 라는 가상 하드웨어위에 Guest OS, 그 위에서 애플리케이션이 돌아감 > 갯수가 적을 떄는 큰 차이가 없지만, 갯수가 많아질 수록 차이가 심해짐 * 컨테이너 격리 기술 리눅스 - 리눅스 컨트롤 그룹 ( 프로세스로 소비할 수 있는 리소스양 제한 ), 리눅스 네임 스페이스 ( 각 프로세스가 시스템에 독립 뷰를 제공 ) 윈도우 - 하이퍼바이저 * 온프레미스 * 모놀리식 서비스 vs 마이크로 서비스 - 모놀리식 서비스 : 전체를 컴파일 해야하기 때문에 배포시 점검시간이 필요함 - 마이크로 서비스 : 규모 있는 수백개의 컨..