1.node.js 설치

 

https://nodejs.org/en

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

 

 

 

 

 

2.atom 설치

 

https://github.com/atom/atom/releases/tag/v1.60.0

 

Release 1.60.0 · atom/atom

Notable Changes atom/tabs#531 - Activate panes on any click, not just left click #13414 - Adds context menu for cinnamon desktop enviroment (Linux) #19016 - Allow line endings to be converted when...

github.com

 

 

3.Maria DB 설치

https://mariadb.org/download/?t=mariadb&p=mariadb&r=10.11.7&os=windows&cpu=x86_64&pkg=msi&m=blendbyte

 

Download MariaDB Server - MariaDB.org

REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server"

mariadb.org

Maria DB vs Mysql DB 비교하기

  MySQL MariaDB
스토리지 엔진 MariaDB에 비해 스토리지 엔진의 종류가 적음 Mysql에 없는 12개의 새로운 스토리지 엔진
속도 MariaDB에 비해 느린 속도 MySql에 비해 향상된 속도
출시 1995 2009
캐싱/인덱싱 Memory storage engine에섴
MariaDB에 비해 느림
MariaDB의 Memory storage engine에서 INSERT문은 표준 MySql에 비해 24%빠른속도
Connection Pool Mysql은 시간당 최대 200,000 커넥션을 지원 MariaDB는 시간당 200,000이상의 커넥션을 지원
Data Masking O X
Dynamic columns X

 

 

 

GPL공부하기

[그림 1] SW 라이선스 분류 (출처 : 공개SW 포털)

 

GPL(General Public License)은 소스코드 공개에 대한 해석이 까다로운 라이선스 중 하나입니다. GPL의 소스코드 전체 혹은 일부를 사용했거나, 소스코드가 아닌 형태(라이브러리, 바이너리 코드 등)를 결합/연결했다면 어디부터 어디까지 소스코드 공개를 해야 하는지 의문이 발생합니다. 

 

우선 소스코드 공개 의무가 발생하려면 물리적인 프로그램의 이동인 '배포'가 발생해야 합니다. 단순히 GPL 프로그램을 내부적으로 사용할 경우에는 소스코드 공개 의무가 발생하지 않습니다. 또한 GPL 프로그램을 서버에 저장하고 네크워크 통신 형식으로 서비스만 제공한다면 GPL에 따른 소스코드 공개 의무는 발생하지 않습니다.

 

 

Mysql 유료화 정책 관련 설명

라이선스는 제품 종류에 따라 GPL과 자체적인 상용 라이선스 두 가지가 적용된다.
무료 버전은 GPL로 커뮤니티 에디션(Community Edition)이라는 이름이고, 유료 버전은 Standard, Enterprise, Cluster Carrier Grade라는 세 가지 제품군으로 되어 있다. 유료 버전의 년간 사용료는 $2,000 ~ $10,000 달러 사이이다. 기본적으로 오픈 소스 소프트웨어이므로 무료 버전과 유료 버전 모두 필요 시 소스 코드를 고쳐 쓸 수도 있지만, 무료 버전은 GPL이 적용되어 있어 소스 코드를 수정 후 고객에게 납품할 경우에는 수정된 코드도 함께 제공해야 한다. 납품하는 것이 아니고 자체적으로 사용하는 경우에는 소스 코드를 수정하더라도 공개 의무가 없다. 유료 버전은 자체 상용 라이선스이기 때문에 수정한 소스 코드의 공개 의무가 없다. 유료 버전에는 공식 고객 지원도 포함되어 있다.

무료 GPL 버전도 개인이나 기업이 사용하는 데는 전혀 문제가 없고, 영리 목적으로 솔루션을 데이터 저장 및 DB 운용 목적으로 사용하더라도 아무 문제가 없다. 문제가 될 수 있는 상황은, MySQL 소프트웨어를 가져다가 그 소스 코드를 대폭 수정해서 고객에게 납품하는, 즉 "수정해서 배포하는" 경우에 수정한 소스 코드까지 모두 공개해야 하는 GPL의 제약 사항을 지키고 싶지 않은 경우를 말하는 것이지, 기업에서 영리적 목적의 서비스를 개발할 때 사용하는 "영리" 목적을 가리키는 게 아니다. 인터넷 서비스 회사 같은 경우 보통 서비스에서는 소프트웨어를 수정했든 안 했든 소프트웨어는 서버에서 돌아갈 뿐이지 직접 배포되지 않기 때문에 GPL 버전을 사용해도 소스를 공개할 필요가 없다. GPL은 소프트웨어를 배포할 때 소스 코드를 같이 배포하는 조건일 뿐, API를 통한 입/출력만 외부에 공개되는 경우에는 소스 코드를 공개할 의무가 없다.[2] 또 MySQL 소프트웨어를 배포해야 하는 상황이라고 해도, 수정 내용을 GPL에 따라 배포하면서도 얼마든지 영리를 추구할 수 있다[3]. 하지만 종종 오라클이나 오라클의 리셀러들은 고객에게 이런 사실을 정확히 알리지 않은 채 "영리 목적"으로는 유료 버전을 써야 한다고 공포 마케팅을 하는데 사실과 다르다. GPL이 정확히 어디까지 허용하는지 모르기 때문에 하는 소리다.

 

 

 

4.npm 설치

npm install -g express 

-g : global

 

전역설치시 경로

  • 전역설치는 키워드 --global 사용한다.
  • 예시로 $ npm install jquery --global 이다.
  • 전역설치 관련 상세내용(클릭)
  • 전역설치시 패키지 다운로드 경로는 아래와 같다.
# window
%USERPROFILE%\AppData\Roaming\npm\node_modules

# mac
/usr/local/lib/node_modules

 

 

5.Express 설치

var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app).listen(80);
const port = 3000 //포트설정
app.get('/',function(req,res){
    res.send('Hello World!')
});

app.get('/test',function(req,res){
    res.send('test페이지입니다.')
});
app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

 

http

80번 포트 사용하는 통신규약

 

6.supervisor 패키지 전역설치

 

저장시 자동 재시작 패키지 설치

npm install -g supervisor

 

supervisor 실행

supervisor app.js

 

*주의 사항

 

커서가 깜빡이지 않는다면 웹서버가 제대로 동작안될수도 있음

 

포트번호 일치하지않을때 or SSL인증서가 없는데 https로 접속하였을때

 

확장자

 

확장자 이름으로 구성된 프로그램을 사용하겠다라는 말

 

에디터인 아톰도 확장자에 따라 자동완성이 다르다.

 

 

 

 

 

 

HTML 실습

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>HTML 연습</title>
  </head>
  <body>
    <div>
        <input type="search" name="" value="">
        <input type="password" name="" value="">
        <input type="radio" name="radio1" value="">
        <input type="radio" name="radio1" value="">
        <input type="radio" name="radio1" value="">
        <input type="radio" name="radio2" value="">
        <input type="radio" name="radio2" value="">
        <input type="radio" name="radio2" value="">
        <input type="radio" name="radio2" value="">
        <input type="radio" name="radio2" value="">
        <input type="button" name="bt" value="input타입">
        <button type="button" name="button">버튼타입</button>
    </div2>
  </body2>
</html2>

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함