본문 바로가기

TIL

(127)
MongoDB 개념 1. SQL vs NoSQL ? 왜 종류가 나뉠까? 과거에는 흔치 않았던 테라바이트 수준의 데이터도 현재는 꽤 흔하게 접한다 저장할 데이터가 증가함에 따라 개발자는 '데이터베이스를 어떻게 확장할 것인가'와 같은 어려운 의사 결정에 직면하게 된다. 데이터베이스의 확장은 결국 더 큰 장비로 성능 확장할지 혹은 여러 장비에 데이터를 나눠 분산 확장할지 결정해야 하는 갈림길에 서게 한다. 일반적으로 성능 확장이 더 편한 길이지만, 대형 장비는 대체로 가격이 비싸고 결국에는 더는 확장할 수 없는 물리적 한계에 부딪히고 만다. 반면에 분산 확장은 저장 공간을 늘리거나 처리량을 높이고 서버를 구매해서 클러스터에 추가하는 방법이여서 경제적이고 확장이 용이하다 MongoDB는 분산 확장을 염두에 두고 설계됐다 [ SQL..
암호화 Algorithm 회사에서 소스 분석 발표를 진행하게 되었는데, PPT를 준비하다 보니 암호화에 대해 관심이 생겨 포스팅하려 한다 위 테이블에 나와 있는 것처럼 암호화는 크게 Aes, Sha, Rsa 3가지 방식으로 나뉜다 Aes와 Rsa는 양방향 암호화 방식으로 Data를 암호화시킬 수 있고, 반대로 복호화도 가능한 알고리즘이다 Sha 암호화 방식은 단 방향 암호화 방식이기 때문에 복호화는 불가능하고 단순 로그인 시 비밀번호가 맞는지만 true/false로 체크해주는 방식이다 단 방향 암호화는 복호화가 안되기 때문에 개인정보나 중요한 정보들을 제삼자가 복호화시켜 볼 수 없게 할 수 있다 분석한 소스에서는 Aes 알고리즘을 사용하였다 사용자들이 캠페인을 신청하고 후에 자신이 입력했던 정보들을 다시 보고 싶을 때 확인하는 ..
SQLD 자격증 강의 정리 1st [ 1일차 ] 지문등록 및 교재 수령 zoom 회의 ( ID : 812 9441 8111, PW : 12345 ) Oracle 설치 (강사님 USB - Oracle 구 버전 다운로드) Sql developer tool 설치 [ DBMS 종류 ] Oracle - 금융권, 상급종합병원, 공공기관 등에서 사용하고 있는 DBMS로 고객정보, 거래정보 등의 중요한 정보를 처리 - 모든 DBMS를 Oracle로 사용하지 않는 것은 높은 구매 및 유지비용 때문이다 Sybase (SAP HANA로 변경) - Sybase IQ라는 DBMS는 데이터를 분석하기 위한 용도로 많이 사용된다 SQL Server - Oracle과 그 구조가 비슷한 측면이 있어서 Oracle 사용자는 쉽게 사용할 수 있다 MySQL - Open ..
Vue - Component / Router / Mix-in / Life-cycle [ Component ] - 조합하여 화면을 구성할 수 있는 블록을 의미하며 화면을 빠르게 구조화하여 일괄적인 패턴으로 개발 가능 - 컴포넌트는 Vue의 가장 강력한 기능 중 하나이다 - 기본 HTML 엘리먼트를 확장하여 재사용 가능한 코드를 캡슐화하는 데 도움이 된다 - 컴포넌트는 Vue의 인스턴스이기도 해서, 모든 옵션 객체를 사용할 수 있다 - 지역 컴포넌트는 특정 인스턴스에서만 유효한 범위를 갖고, 전역 컴포넌트는 여러 인스턴스에서 공통으로 사용할 수 있다 - 싱글 파일 컴포넌트는 화면의 특정 영역에 대한 HTML, CSS, JS 코드를 한 파일에서 관리하는 방법이다 - ,, 와 같은 일부 엘리먼트는 그 안에 어떤 엘리먼트가 나타날 수 있는지에 대한 제한을 가지고 있으므로, 사용자가 지정한 컴포넌..
Vue.js 초급 공부 Part V - Vue CLI CLI ? vue-cli 는 기본 vue 개발 환경을 설정해주는 도구입니다. vue-cli 가 기본적인 프로젝트 세팅을 해주기 때문에 폴더 구조에 대한 고민, lint, build, 어떤 라이브러리로 구성을 해야되는지 webpack 설정은 어떻게 해야되는지에 대한 고민을 덜을 수 있습니다. 여기서 CLI 란 ? 명령 줄 인터페이스(CLI, Command line interface) 또는 명령어 인터페이스는 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다. 즉, 작업 명령은 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하며, 컴퓨터로부터의 출력 역시 문자열의 형태로 주어진다. (위키백과) [ Terminal ] - node -v : 노드 버전 확인하기 - npm -v : npm..
Vue.js 초급 공부 Part IV - Template [ 뷰의 템플릿 문법 ] - 뷰로 화면을 조작하는 방법을 의미한다 - 템플릿 문법은 크게 데이터 바인딩과 디렉티브로 나뉜다 - 데이터 바인딩 : 뷰 인스턴스에서 정의한 속성들을 화면에 표시하는 방법 가장 기본적인 데이터 바인딩 방식은 콧수염 괄호(Mustache Tag)이다 -> {{ }} - 디렉티브 : 뷰로 화면의 요소를 더 쉽게 조작하기 위한 문법이다 화면 조작에서 자주 사용되는 방식들을 모아 디렉티브 형태로 제공 특정 속성 값에 따라 화면의 영역을 표시하거나 표시하지 않을 수 있다 -> show : false & v-if="show" * keyup : 키보드의 모든 키 - keyup 뒤에 . (modifier)를 붙히고 특정 키보드만 설정 가능 [ watch vs computed ] - compu..
Vue.js 초급 공부 Part III - Http / axios Axios ? - Promise 기반의 Http 통신 라이브러리 - 설치 방법 : CDN 방식 || NPM 방식 - 임포트 : Promise ? 자바스크립트의 비동기 처리 패턴 - 데이터를 가져온 후에 다음 로직을 실행시키기 위해 필요하다 1. callback 2. promise 3. promise + generator 4. async & await Promise의 3가지 상태 Pending(대기) : 비동기 처리 로직이 아직 완료되지 않은 상태 Fulfilled(이행) : 비동기 처리가 완료되어 프로미스가 결과 값을 반환해준 상태 Rejected(실패) : 비동기 처리가 실패하거나 오류가 발생한 상태 https://joshua1988.github.io/web-development/javascript/j..
Vue.js 초급 공부 Part II - Component & Router [ 같은 컴포넌트 레벨 간의 통신 방법 구현 ] - 같은 레벨일지라도 바로 데이터를 보낼수 없고 상위 컴포넌트를 들려서 전송한다 1. app-content에서 버튼을 누르면(이벤트) 10이라는 숫자를 보냄 2. 상위 컴포넌트인 Root에서 기존에 0인 data를 받은 숫자 10으로 변경 3. Root에서 props를 이용하여 app-header로 data(10)를 보냄 [ 뷰 라우터 ] - 뷰 라우터는 뷰 라이브러리를 이용하여 싱글 페이지 애플리케이션을 구현할 때 사용하는 라이브러리 - 설치 방법 : CDN 방식 || NPM 방식 - 임포트 : mode: 'histroy' 를 넣으면 url의 #이 사라진다 네비게이션 가드 참조 https://joshua1988.github.io/web-developmen..