전체 글 33

SQL 면접대비

1. RDBMS란? 관계형 데이터베이스 시스템으로, 테이블기반의 DBMS를 말한다. 데이터 항목간의 관계에 따라 데이터베이스를 구성하고, 엑세스하는 DBMS. 이 관계형 데이터베이스에서 데이터들간의 관계를 테이블로 표현하는 것. 2. 데이터베이스 '정규화'(Normalization)란? 데이터 중복성을 줄이고, 데이터 무결성을 개선하기 위해 정규형식에 따라 관계형 데이터베이스를 재구성하는 프로세스를 말한다. 3. ER모델이란? 개체-관계를 나타내는 모델. 엔티티는 데이터의 개체, 구성요소를 말하고, 관계는 그들간의 관계를 나타낸다. 4. 데이터베이스 트랜잭션이란? 데이터베이스 관리시스템 내에서 수행되는 작업단위를 말한다. 트랜잭션은 일반적으로 데이터베이스의 모든 변경을 나타냄. 예를들어 트랜잭션이 100..

JS | 디스트럭처링 할당 (Destructuring)

'모던 자바스크립트 Deep Dive' (36장)을 읽고 정리한 글입니다 객체를 1개 이상의 변수에 개별적으로 할당하고 싶을때, 객체 리터럴에서 필요한 값만 추출하여 변수에 할당시키는 방식을 Destructuring Assignment, 디스트럭처링 할당이라고 한다. 자바스크립트에서 배열과 객체를 각각 분할해서 변수에 할당시키는 방식을 알아보자. 1. 배열 디스트럭처링 (ES6 기준) const arr = [1, 2, 3]; // ES6 배열 디스트럭처링 할당 const [one, two, three] = arr; console.log(one, two, three);// 1 2 3 위의 코드를 보면 변수 one, two, three를 선언하고 배열 arr를 비구조화(디스트럭처링) 하여 변수에 할당시켜 준..

VS Code 프로젝트 폴더에 npm 설치 에러

노드서버 만들려고 npm init -y 해줬는데 다음과같은 오류가 났다 찾아보니까 Terminal -> cmd를 열어야 했던것 터미널이 powershell으로 되어있어서 cmd로 바꿔주었다! 그랬더니 이번에는 '내부또는 외부명령......' 에러가 났다 이건 환경변수가서 경로 추가해주면 되는문제! 제어판 -> 고급시스템 설정 (윈도우 검색창에 고급시스템 치면 나옴) 환경변수에 들어가서 시스템변수 -> Path에 아래 경로를 추가해주자 C:\Users\USERNAME\AppData\Roaming\npm\ 그리고 꼭 재부팅을 해주자 다시 npm init 해줬더니 성공

웹 크롤링 간단예제 | Beautiful Soup 사용법

웹에서 데이터를 크롤링할때, Python 라이브러리인 Beautiful Soup을 통해 원하는 데이터를 가져올 수 있다. 1. 설치환경 Python 3.6 2. BeautifulSoup 라이브러리 설치 pip install beautifulsoup4 3. 뉴스기사 크롤링 IT조선 뉴스 메인페이지를 보면, 기사들이 모두 링크로 걸려있다. 기사의 URL을 수집하기 위해 a태그에서 href를 가져오면 된다. 4. 파이썬 코드 from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen("http://it.chosun.com/") bsObject = BeautifulSoup(html, "html.parser") for link i..

Web 기본 지식

URL 입력 후, 일어나는 일들 클라이언트가 브라우저 주소창에 URL을 입력하고 일어나는 일들은? 1. URL 해석 먼저, 브라우저가 URL을 해석한다. 이때 URL 문법에 맞지 않는다면, 기본 검색엔진으로 검색을 진행하고, 문법에 맞는 경우 URL의 호스트 부분을 인코딩한다. 이때, HSTS(HTTP Strict Transport Security) 목록을 조회하는데, HSTS는 http를 허용하지 않고 https만 허용하는 기능이다. HSTS 목록에 해당 URL이 존재한다면 명시적으로 http를 통해 요청을 해도 브라우저가 이를 https로 요청한다. URL 문법 표현방법 protocol: [//[user:password@]host[:port]][/]path[?query][#fragment] 만약 검색..

Python 공백없이 입력받아 list만들기: strip(), rstrip(), lstrip() 사용법

공백이 포함된 정수형 리스트를 입력받을 때는 split()으로 구분하면 되었는데, 공백없이 연속으로 입력받는 경우에 단순히 split()을 사용하지 않았더니 오류가 났다. 문제 예시 예제) 정수 N을 입력받아 거꾸로 출력하는 프로그램을 작성하시오 입력 예시) 123456 출력 예시) 654321 import sys data = list(map(int,sys.stdin.readline())) for _ in range(len(data)): print(data.pop(), end='') readline()은 한줄씩(라인단위로) 읽어오는 함수이기 때문에 끝에 개행문자 \n이 포함되어 있다 따라서 list에 원하지 않는 개행문자가 들어가서 에러가 난것이다. 수정한 코드는 다음과 같다. import sys dat..

티스토리 코드블럭 커스터마이징, 폰트 변경방법

1. 코드블럭을 커스터마이징하는 HTML 코드 원하는 코드블럭 테마 highlightjs.org/에서 가져오고, 아래 코드를 HTML의 사이에 붙여넣는다. (폰트 커스터마이징, 스크롤 생성, 라인넘버 기능 포함) 테마 변경시에는 아래 표시된 부분에 해당 테마명을 붙여넣으면된다 이때, 대문자는 소문자로, 띄어쓰기는 '-'를 반드시 넣어줘야한다 2. 코드블럭을 커스터마이징하는 CSS코드 기존에는 모든 테이블에 영향을 받아서 UI상에서 표형태로 나타나게 된다. 따라서 아래 코드처럼 자식인 테이블이라 지정하고, 그 경우에만 속성을 사용하도록 바꿔준다. .entry-content > table { width:100%; margin-bottom: 22px; border: 1px solid #e6e6e6; borde..

Local 프로젝트 GitHub에 올릴때 명령어 정리

git 초기화작업 (.git파일 생성) git init 현재 git저장소의 상태 보기 git status 파일 추가 git add. git add --all git add 파일 삭제 git rm -rf {삭제하고 싶은 폴더나 파일} 커밋 git commit -m "first commit" 깃허브 레퍼지토리에 연결 이부분은 처음 레퍼지토리 만들고 복사해오면 된다 git remote add origin {원격 서버주소} 잘 연결되었는지 확인 git remote -v push git push -u origin master ​

𝖭𝗈𝗍𝖾 2021.01.23