생활코딩
-
[MySQL] CRUD - INSERT, SELECT, UPDATE, DELETE생활코딩/DataBase 2020. 9. 24. 17:25
[강의 출처] opentutorials.org/course/3161/19538 MySQL의 CRUD - 생활코딩 MySQL의 CRUD 2018-02-12 01:23:10 opentutorials.org CRUD 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리기능 Create, Read, Update, Delete 연산을 묶어서 일컫는 말 [출처-위키] 데이터베이스라면 Create, Read 기능은 필수. (Update, Delete 기능은 역사, 회계 등 특정 분야에 따라 배제될 수도 있다.) 테이블 구조 확인 mysql> USE dbname; -- 해당 테이블이 들어있는 DB 지정 mysql> DESC table_name; -- Description +---------+--------------+---..
-
[MySQL] 환경설정, 스키마와 테이블 생성생활코딩/DataBase 2020. 9. 21. 20:44
[강의 출처] opentutorials.org/course/3161 DATABASE2 - MySQL - 생활코딩 수업소개 무료이면서, 오픈소스이고, 3대 데이터베이스 중에 하나인 MySQL의 입문 수업입니다. 수업대상 정보기술의 심장인 데이터베이스가 어떻게 동작하는지 궁금하신 분 데이터를 보다 전� opentutorials.org MySQL 무료 오픈소스 관계형 DB로, WEB과 함께 폭발적으로 성장하면서 현재 시장 점유율 2위 SQL(Structured Query Language) Table(표) ⊂ 스키마(Schema)/데이터베이스 ⊂ 데이터베이스 서버 형태로 구성 자체적인 보안 체계, 사용자/권한 지정 기능 설치 및 환경설정 수업에서는 Codeanywhere를 이용하지만, 여기서는 Goorm IDE..
-
[개요] 데이터베이스란생활코딩/DataBase 2020. 9. 21. 15:50
[강의 출처] opentutorials.org/course/3162 DATABASE1 - 생활코딩 수업소개 이 수업은 정보기술의 심장인 데이터베이스에 대한 포괄적인 소개를 담고 있습니다. 수업대상 이 수업은 구체적인 데이터베이스 제품을 다루지 않습니다. 데이터베이스라는 복잡한 �� opentutorials.org DataBase 기존 저장방식인 file의 성능/보안/편의성 개선을 위해 고안된 소프트웨어 여러 회사의 제품이 존재 ex) MySQL, Oracle, SQL Server, PostgreSQL, MongoDB SpreadSheet와의 가장 큰 차이는 프로그래밍 언어를 통한 제어(CRUD 작업 등) 및 자동화 가능 여부 크게 관계형 DB와 그외의 DB로 구분됨 관계형 DB: 테이블(표 형태)로 데이..
-
[Node.js] 입출력 데이터의 보안 이슈생활코딩/WEBn 2020. 9. 18. 17:57
[강의 출처] opentutorials.org/course/3332/21150 App - 입력 정보에 대한 보안 - 생활코딩 수업소개 입력정보와 관련해서 보안적으로 처리해야 할 이슈를 살펴보겠습니다. 강의 소스코드 main.js (변경사항) var http = require('http'); var fs = require('fs'); var url = require('url'); var qs = require('queryst opentutorials.org 입력정보 보안 데이터 저장 형태와 아래와 같다고 할 때, directory /data /data1 /data2 /data3 /main.js /password.js URL에 ?id=../password.js와 같은 쿼리스트링을 입력함으로써 해당 정보에 접..
-
[Node.js] 인코딩 - encodeURI(), charset=utf-8생활코딩/WEBn 2020. 9. 17. 22:12
URL의 인코딩 실습 중 한글 인코딩 관련해서 이슈가 발생했다. 먼저 코드 원문. 유저로부터 받은 post 데이터를 파싱해서 파일명 title인 파일을 생성하고, 유저를 해당 파일 페이지로 리다이렉트 한다. fs.writeFile(`data/${post.title}`, content, 'utf8', function(err){ response.writeHead(302, {location: `/?id=${post.title}`}); response.end(); }); 아래는 발생한 에러메세지. _http_outgoing.js:512 throw new ERR_INVALID_CHAR('header content', name); ^ TypeError [ERR_INVALID_CHAR]: Invalid charact..
-
[Node.js] 비동기/동기(Sync)와 콜백, request생활코딩/WEBn 2020. 9. 15. 22:33
[강의 출처] opentutorials.org/course/3332 WEB2 - Node.js - 생활코딩 수업소개 이 수업은 JavaScript를 이용해서 Node.js를 제어해 동적으로 HTML 코드를 생성하는 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억개의 페이지로 이루어진 웹사 opentutorials.org Node.js에서의 비동기처리 동기(Synchronous): 작업을 순차적으로 처리 비동기(Asynchronous): 작업을 병렬적으로 처리 비동기로 처리하면 대기시간이 없어 빠르기 때문에 퍼포먼스가 중요한 작업에 권장됨 node.js에서는 비동기가 default로, 동기처리용 함수는 Sync 형태로 제공됨(ex fs.readFile, fs.readFileSync)..
-
[HTML] form생활코딩/WEBn 2020. 9. 14. 20:31
[강의 출처] opentutorials.org/course/3332/21134 HTML - Form - 생활코딩 수업소개 웹브라우저에서 서버로 데이터를 전송할 때 사용하는 기능이 form입니다. 여기서는 HTML로 폼을 만드는 방법을 살펴보겠습니다. 강의 소스코드 syntax/form.html opentutorials.org Form 사용자와의 상호작용을 위한 틀을 짜주는 HTML의 기능 무엇을: form 내부 control들(input, textarea ... )에 사용자가 입력한 정보를 언제: 사용자가 submit 버튼을 눌렀을 때 어디로: form의 action 속성이 가리키는 서버로 어떻게: 쿼리스트링 형태의 데이터로 전송 method="post" 유저의 데이터를 url로 받으면 보안 이슈 등 의..
-
[Node.js] NPM, PM2생활코딩/WEBn 2020. 9. 14. 16:38
[강의 출처] opentutorials.org/course/3332/21133 Node.js - 패키지 매니저와 PM2 - 생활코딩 수업소개 혼자서 소프트웨어를 만드는 일은 거의 없습니다. 타인의 모듈을 이용해서 소프트웨어를 만들게 됩니다. 이 때 사용하는 모듈이 많아지면 여러가지 복잡한 문제가 생겨납니다. 이를 �� opentutorials.org NPM (Package Manager) python의 pip에 해당 전역에서 사용할 패키지라면 'npm install 패키지명 -g'으로 다운로드가 가능하다. -g는 --global 옵션. 특정 프로젝트에서만 사용할 패키지라면, 해당 경로에서 'npm init' 명령을 통해 프로젝트 초기 설정 후, 다운로드 및 관리할 수 있다. init시에 패키지명을 비롯해..