나만의 용어 사전 만들기_ 무한 업데이트 예정
라우터 Router
일급객체 first-class-object(citizen)
컴퓨터 프로그래밍 언어 디자인에서, 일급 객체란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킴
보통 함수에 매개변수로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 함
느슨한 결합 (Loose Coupling)
느슨한 결합은 코드 실행 순서에 따라 절차적으로 코드를 작성하는 것이 아니라, 코드가 상징하는 실제 모습과 닮게 코드를 모아 결합하는 것을 의미합니다. 마우스 구동을 위한 코드 작성을 예로 들겠습니다. 스위치가 눌리고, 전기 신호가 생겨서, 전선을 타고 흐르고.. 와 같은 전 과정을 이곳 저곳에 나누어 작성하는 것이 아니라, 마우스의 상태를 속성(property)로 정하고 클릭, 이동을 메소드(method)로 정해서 코드만 보고도 인스턴스 객체의 기능을 상상할 수 있게 작성하는 것이 느슨한 결합을 추구하는 코드 작성법입니다. - 유어클래스의 클래스 챕터 중
Optional Chaining
?.
은 ?.
'앞’의 평가 대상이 undefined
나 null
이면 평가를 멈추고 undefined를 반환
let user = {}; // 주소 정보가 없는 사용자
alert( user?.address?.street ); // undefined, 에러가 발생하지 않는다
Vendor Prefix
단어 뜻: Vendor - 파는 사람, prefix - ~을 ~앞에 붙이다
표준으로 확정되기 이전 또는 브라우저 개발사가 실험적으로 제공하는 기능을 사용하기 위해서는 벤더 프리픽스(Vendor Prefix)를 사용하여야 한다
Can I use?에서 브라우저별 지원 정보를 확인할 수 있다
Browser | Vendor Prefix |
---|---|
IE or Edge | -ms- |
Chrome | -webkit- |
Firefox | -moz- |
Safari | -webkit- |
Opera | -o- |
iOS Safari | -webkit- |
Android Browser | -webkit- |
Chrome for Android | -webkit- |
많은 브라우저를 위한 벤더 프리픽스를 사용하는 것은 코드의 양을 늘게 하고 또한 브라우저는 거의 매달 업데이트가 이루어지고 있어 불필요한 벤더 프리픽스를 사용할 가능성이 크다. 사용하지 않아도 되는 벤더 프리픽스를 사용하는 것은 성능에도 영향을 주기 때문에 Prefix Free 라이브러리 를 사용하는 것은 매우 유용한 방법
<script src="prefixfree.min.js"></script>
Nullable
WebPack
Bundler
반응형 프로그래밍
SPA single page application
추상화 -프로그래밍의 추상화
클래스 Class
프로토타입 Prototype
프로퍼티 Property
Koans 화두,
스파게티 코드 🍝
스파게티 코드는 컴퓨터 프로그램의 소스 코드가 복잡하게 얽힌 모습을 스파게티의 면발에 비유한 표현. 스파게티 코드는 정상적으로 작동하지만, 사람이 코드를 읽으면서 그 코드의 작동을 파악하기는 어렵다.
함수형 프로그래밍
함수형 프로그래밍은 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나, 명령형 프로그래밍에서는 상태를 바꾸는 것을 강조하는 것과는 달리, 함수형 프로그래밍은 함수의 응용을 강조한다.
iterable Programming
-반복할 수 있는?
-iteration: (계산,컴퓨터 처리 절차의)반복
동적계획법:
수학과 컴퓨터 과학, 그리고 경제학에서 동적 계획법이란 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 이것은 부분 문제 반복과 최적 부분 구조를 가지고 있는 알고리즘을 일반적인 방법에 비해 더욱 적은 시간 내에 풀 때 사용한다.(위키백과) _ 피보나치수열의 예 (중복 계산을 줄이기)
시간복잡도:
시간 복잡도란 특정 알고리즘이 어떤 문제를 해결하는데 걸리는 시간을 의미
폴리필: (mdn 메소드 설명보다가 발견)
HTTP caching:??
Side Effect (부수 효과): 일반적인 용어 side effect라 하면 부작용, 부정적인 뉘앙스가 강조되지만, 프로그래밍에서는 오히려 부수효과를 사용하기도 하기 때문에 단순히 좋고 나쁜으로 이해하면 노노, 순수함수/불순함수
TDD (Test Driven Development)
테스트 주도 개발은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 방법론 중 하나. 개발자는 먼저 요구사항을 검증하는 자동화된 테스트 케이스를 작성한 후에 그 테스트 케이스를 통과하기 위한 최소한의 코드를 생성
OAuth
인터넷 프로토콜
OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준
-React.fragment, fragments tag, ++
-버블링
convention 코딩 컨벤션
정의 : 일반적으로 회의,컨퍼런스 의 의미로 알고 있었는데, 코딩에서의 컨벤션은 일종의 프로토콜, 규약, 약속의 의미로 쓰인다고.
코딩 컨벤션은 코드의 가독성을 증진시키고 여러 명이 협업하는 과정에서 일관된 코드 스타일을 유지하는 데 있어서 중요
예) Redux에서 Action type값은 "ADD_TO_CART" 대문자, 언더바로 표시 - 코딩 컨벤션, 꼭 안해도 에러나는 건 아니지만.
순수함수 pure function:
Flux Architecture
Flux는 Facebook에서 클라이언트-사이드 웹 어플리케이션을 만들기 위해 사용하는 어플리케이션 아키텍쳐다. 단방향 데이터 흐름을 활용해 뷰 컴포넌트를 구성하는 React를 보완하는 역할을 한다. 이전까지의 프레임워크와는 달리 패턴과 같은 모습을 하고 있기 때문에 수많은 새로운 코드를 작성할 필요 없이 바로 Flux를 이용해 사용할 수 있다 - 출처: flux docs 중
MVC (Model-View-Controller)
사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴
정규표현식 regex (regular + expression)
LPS 알고리즘 (Longest Prefix which is also Suffix)
스켈레톤 UI는 실제 데이터가 렌더링 되기 전, 보일 화면의 윤곽을 먼저 그려주는 로딩 애니메이션
사용자 체감 로딩 시간이 짧다는 장점
화면마다 새로운 스켈레톤 UI를 적용해야되서 시간, 비용이 든다는 단점
Carousels 카로셀, 캐러셀
단어뜻은 회전목마, 이미지 로테이터, 슬라이더 등 다양한 명칭(우리나라)
Carousels allow multiple pieces of content to occupy a single, coveted space.
이미지 출처:https://smartslider3.com/blog/wordpress-carousel-slider/
Saas , Paas, Iaas
: cloud computing services 종류
Shell
-sh, bash, zsh? shell(명령어 처리기)의 다양한 종류
컴파일 compile
컴파일(Compile)은 주어진 language로 작성된 컴퓨터 프로그램을 다른 언어의 동등한 프로그램으로 변환하는 프로세스입니다. 컴파일러는이 작업을 실행하는 소프트웨어입니다. 때로는이 작업을 "조립(assembling)"또는 "빌드(build)"라고도 합니다. 이 작업들은 보통 컴파일과 같은 것(예를 들면 바이너리 형식으로 패키지를 만드는 일) 이상의 작업을 수행합니다 .
https://developer.mozilla.org/ko/docs/Glossary/Compile
보일러플레이트 코드
; 컴퓨터 프로그래밍에서 보일러플레이트/ 보일러플레이트 코드라고 부르는 것은 최소한의 변경으로 여러 곳에서 재사용되며, 반복적으로 비슷한 형태를 띄는 코드를 말함
---21.09.24 updated---