까먹은 지식 437

[데이터베이스] 관계 연산자

일반 집합 연산자 합집합: 모든 튜플의 집합 교집합: 공통의 튜플들의 집합 차집합: R과 S가 있다고 하면 R - S R에는 존재하지만 S에는 존재하지 않는 집합 릴레이션(Relation): 테이블의 고급진(?) 이름 튜플(Tuple): 각 행을 의미 합집합과 교집합은 교환 법칙(Commutative Opertaion), 결합 법칙(Associtative Operation) 성립 차집합은 교환 법칙 X 교집합은 합집합과 차집합으로 표현 가능 R ∩ S = R ∪ S - ( R - S ) - ( S - R ) 순수 관계 연산자 셀렉트: 1항 연산자, 주어진 조건을 만족하는 튜플들만 걸러내는 연산 표기: σ(선택조건)(R) 교환 법칙 성립: 학과가 컴공이고 학년이 4학년을 뽑는거랑 학년이 4학년에서 학과가 ..

[JavaScript] 모듈 패턴(Module Pattern) 가장 흔한 디자인 패턴

Module Pattern는 자바스크립트에서 가장 흔한 디자인 패턴중 하나 코드를 캡슐화 시키기 쉬운 방법이다. 보통 싱글톤 방식으로 한번만 사용되도록 쓰인다. 모듈 만들기 쉽다, 함수에 괄호를 두르고, 뒤에 괄호를 하나더 써주면된다. annoymous closure 이라고도 부르는듯 하다 (function() { 'use strict'; // Your code here // All function and variables are scoped to this function })(); 모듈 내보내기 그저 변수(myModule)에 집어넣는 일이다. 다음에 부를 수 있도록 var myModule = (function() { 'use strict'; })(); 그다음에 공개 메소드(publicMethod) 만들..

[JavaScript] IIFE 란? 어떻게 읽을까?

IIFE(immediately invoked function expression) '이삐(iffy)' 라고 읽는다 function delaration: 함수 이름을 주는 '보통' 방법 function myFunction () { } function expression: 변수나 프로퍼티에 함수를 넣어주는 방법 // 변수에 function expression 넣어주기 var myFunction = function () { /* logic here */ }; // 프로퍼티에 function expression 넣어주기 var myObj = { myFunction: function () { /* logic here */ } }; 이런것도 function expression 이라고 부른다 // 괄호안에도 expr..

[데이터베이스] 관계형 데이터 간단 용어 #2주차

관계형 데이터 모델의 개념 릴레이션(Relation): 테이블의 고급진(?) 이름 도메인(Domain): 하나의 속성이 가질 수 있는 범위(예시: 초등학교 학년은 도메인 1~6) 튜플(Tuple): 각 행을 의미 카디널리티(Cardinality): 총 튜플의 수 스키마: 구조 X: 카티션 프로덕트: 두 집합에 속한 원소들을 이용한 모든 가능한 쌍 학년 = {1, 2, 3, 4} 학과 = {컴공, 전자, 기계} {(1, 컴공), (2, 컴공), (3, 컴공), (4, 컴공) (1, 전자), (2, 전자), (3, 전자), (4, 전자) (1, 기계), (2, 기계), (3, 기계), (4, 기계)} 디그리(degree): 속성의 수 릴레이션의 특성 튜플의 유일성 릴레이션은 튜플의 집합 집합은 중복을 허용하..

[알고리즘] 점근적 분석 & 표기 #1주차

점근적 분석 입력의 크기(n)가 충분히 큰 경우 사용 다항식 -> 단순한 함수 점근적 표기 필요 점근적 표기 O(Big-Oh): 최악의 경우, 함수만큼의 성능은 보장(가장 많이 사용) Ω(Big Omega): 최선의 경우, 운이 좋으면 함수만큼 성능 θ(Theta): 거의 정확한 성능 알고리즘 성능차는 대규모 데이터를 다를때 확연하다 코리아텍 알고리즘 1주차 강의를 들으며 적어둔 내용입니다.

[Gatsby] 개츠비에 이미지 올리기 ft 플러그인

개츠비 설치와 프로젝트 생성을 안했다면 -> [Gatsby] 개츠비 설치 & 기본 프로젝트 만들기 이미지 그냥 올리면 안되나? 개츠비는 기본적으로 이미지를 어떻게 처리할줄 몰라한다고 한다. 이미지를 올리고 싶으면 밑의 플러그인 4가지를 깔아줘야 한다. 비주얼 스튜디오 코드에서 밑의 명령어를 이용해 설치하면 된다. gatsby-transformer-remark: 개츠비에서 마크다운을 사용할 수 있게 해준다 [ 주인공 ] gatsby-plugin-sharp: 개츠비 플러그인으로 이미지를 처리하는데 도와준다. gatsby-remark-images: 마크다운(markdown)문서에서 이미지를 사용할 수 있게 해준다. gatsby-remark-relative-images: 파일에서 이미지 위치를 찾아준다. 이렇게..

[Gatsby] 개츠비 데이터, GraphQL 그리고 playground

개츠비 설치와 프로젝트 생성을 안했다면 -> [Gatsby] 개츠비 설치 & 기본 프로젝트 만들기 개츠비의 강점 개츠비의 강점 중 하는 데이터를 가져와서 사용할 수 있다는 것이다. CMS: 워드프레스, 컨텐츠풀, 두루팔 같은 컨텐츠 매니지먼트 시스템 마크다운(Markdown): 문서나 포스트 데이터(Data): API, 데이터베이스, CSV, JSON 등 이런 데이터를 가져와서 보여줄 수 있다. GraphQL 이런 데이터는 GraphQL API을 통해 볼 수 있는데 GraphQL API를 비주얼적으로 확인할 수 있는 GraphQL IDE인 GraphiQL에 접속하면 볼 수 있다. 들어가는 방법은 우선 개츠비 develop 모드로 들어가고, localhost:8000/___graphql 위의 주소로 들어가..

[Gatsby] CSS와 플러그인(ft. sass) 설치 & 적용방법

개츠비 설치와 프로젝트 생성을 안했다면 -> [Gatsby] 개츠비 설치 & 기본 프로젝트 만들기 CSS 적용방법 1. src폴더 안에 styles(이름은 마음대로)폴더 만들기 2. styles폴더안에 index.css 폴더 만들기 3. layout.js(원하는 곳)에 index.css 불러오기(import) 레이아웃을 관리하기 좋게 만든 layout.js 사용방법은 -> [Gatsby] 개츠비 페이지 레이아웃 만들기 이렇게 하면 기본적인 CSS가 연결됐다. 원하는 스타일을 리액트에 주면된다. 플러그인 설치하는 방법 1. 원하는 플러그인을 찾아보자 개츠비 공식홈페이지에서 수많은 플러그인을 찾아볼 수 있다. 여기서는 Scss를 사용할 수 있게 만드는 gatsby-plugin-sass를 설치하는 방법을 알아..

[Gatsby] 개츠비 페이지 레이아웃 만들기

개츠비 설치와 기본 프로젝트 생성해야 밑의 내용을 따라할 수 있습니다. 개츠비 설치 & 프로젝트 생성 포스트 바로가기 -> 이번 포스트는 가정이 필요하다. header.js 그리고 footer.js가 src -> components(생성)에 저장되어있다. 시작! 헤더(header), 푸터(footer)를 리액트에서 사용할 때 이렇게 사용하기도 한다. 헤더와 푸터 가져와서 위와 아래에 적용시킨다. 인덱스 페이지 - 레이아웃 적용 전 import React from 'react' import Header from '../components/header' import Footer from '../components/footer' const IndexPage = () => { return( 내용 ) } expo..

728x90