Javascript - React.js[Javascript] React 디자인 패턴 design pattern presentational & container로직을 수행하는 컴포넌트, UI를 보여주는 컴포넌트를 분리 앱의 기능과 UI구분이 쉬워짐 같은 state를 다른 container에게 props를 내림으로써 공유 로직수행, markup이 다른 컴포넌트에서 하기 때문에 유지보수가 쉽고, 재사용성이 뛰어남. markup 변경에 매우 유연함 동일한 마크업, 컨테이너 레이아웃(header, footer 등)은 반복해서 작성하지 않고 구현 가능 presentational 사용자가 직접 보고 조작하는 컴포넌트 state를 직접 조작하지 않고, container component가 내려준 props함수에 의해 state를 변경 그에 따라 useState, useCallback 등 state관련 훅이 없어야함 상태를 거의 가지지 않으며, 상태를 가진다면 데이터에 관한..더보기
SQL[SQL] MongoDB - CRUD모든 MongoDB의 CRUD는 JSON 타입이며, 모든 명령어들은 실행 전 무조건 Database를 선택해줘야한다. Database 생성 MongoDB는 MySQL과 다르게 create가 아닌 use를 사용한다. use DATABASE_NAME로 생성하며 곧바로 사용하게 된다. 이미 존재하는 경우 존재하는 Database를 사용한다. > use DATABASE_NAME swiched to db DATABASE_NAME 현재 사용 중인 Database확인 > db DATABASE_NAME 생성된 Database 리스트를 확인 > show dbs admin 0.000GB config 0.000GB local 0.000GB 리스트에서 사용자가 만든 데이터베이스를 보려면 최소 1개의 Document를 추가해야..더보기
Ruby[Ruby] 루비 rbenv 설치rbenv을 이용하여 루비를 설치할 것을 권고 맥 OS X $ brew update $ brew install rbenv ruby-build 새로운 루비 버전이 릴리스된 후에는 아래와 같이 명령을 실행한 후 $ brew upgrade ruby-build 다음의 명령을 실행하여 설치할 수 있는 루비 비전을 확인 $ rbenv install -l 그 후 rbenv 으로 된 경로가 아니라면 각각의 터미널 환경설정에 들어가 경로를 잡아준다. $ vi ~/.zshrc # .zshrc export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init - zsh)" # :wq 후 저장 source ~/.zshrc rbenv 을 이용해 원하는 루비 버전 설치 $ rbenv instal..더보기