1. 숫자 타입

- int 


2. 문자열 타입

- char(M) 

// 문자열의 길이가 고정. 0-255까지 가능, 설정한 크기보다 작은 길이의 문자열이 입력되면, 나머지 공간은 공백으로 채워 길이를 M과 같게 만듬.

- varchar(M) 

// 문자열의 길이 고정 X , 0-65,535까지 가능, 실제 입력된 문자열의 길이만큼만 저장하고, 사용.  



3. 날짜와 시간 타입

- DATE // YYYY-MM-DD 

- DATETIME // YYYY-MM-DD HH:MM:SS 

- TIMESTAMP // 별다른 입력을 주지않으면, 데이터가 마지막으로 입력되거나 변경된 시간을 저장. (최종 변경 시각을 저장, 확인)

- TIME // HH:MM:SS 

'언어 > MySQL' 카테고리의 다른 글

MySQL 실습환경 구축  (0) 2018.11.15
MySQL 문법  (0) 2018.11.14

1. 실습환경: CentOS6.9

- virtual box에 새로만들기 

- ip 주소 할당하기



2. mysql 다운 

- yum install mysql-server // 웹서버와 연동된 db서버를 구현해야하기때문에 mysql-server를 다운

다운 끝 


- service mysqld start // mysql 실시

- service mysqld status // mysql이 실행되고 있는지 확인. 



- netstat -anp | grep mysqld 



- mysql -u root // mysql 접속

- show databases; // 데이터베이스 목록 출력. 

// 3개의 데이터 베이스는 기본으로 있는 것. 


계정 설정을 위해서는 

- use mysql; // mysql이라는 데이터베이스 사용하겠다고 선언.

- update user set password=password('원하는 비밀번호') where user='root'; // root라는 user를 만드는데 비밀번호는 1234로 지정.

- flush privileges // 권한 지정.

위의 사진과 같이 설정이 끝나면 ctrl+c로 mysql을 종료한다. 


아까 만든 계정으로 mysql을 실시해보자.

- mysql -u root -p

비밀번호 입력 

mysql> 

// 아까 만든 root계정으로 mysql 입성!!!


'언어 > MySQL' 카테고리의 다른 글

MySQL 타입  (0) 2018.11.15
MySQL 문법  (0) 2018.11.14

1. 데이터베이스란?

-통합하여 관리되는 데이터의 집합체

- 중복된 데이터를 없애고, 자료를 구조화하여 효율적인 처리를 할 수 있게 관리. 


2. SQL(Structured Query Language)

(1)DDL(Data Definition Language)

- 데이터베이스나 테이블 등을 생성, 삭제, 구조 변경 

- create, alter, drop


(2) DML(Data Manipulation Language)

- 저장된 데이터를 처리, 조회, 검색

- insert, update, delete, select


(3) DCL(Data Control Language)

- 데이터 관리, 데이터의 보안성, 무결성 제어 위해

- grant, revoke 


3. 기본문법

(1) create // db나 table 생성

- create database hotel;

// show databases; 로 데이터베이스 목록 확인

// use hotel; 로 데이터베이스 선택 가능 

- create table  테이블 이름

(

);

// hh이라는 db를 만들고 사용하겠다고 입력.

show databases; 로 db목록을 확인하면 hh가 생긴 것을 확인할 수 있음. 


테이블 생성 

// 여기서 꿀팁(?)은 필드가 끝날때마다 콤마를 사용하며, 테이블을 다 작성하고 마지막에 세미콜론을 반드시 붙인다. 


- desc test; // 생성한 table 확인. 




(2) alter // 테이블이나 db의 내용 수정 

- alter database //


ALTER DATABASE Hotel CHARACTER SET=euckr_bin COLLATE=euckr_korean_ci;


// CHARACTER SET : utf8 (UTF-8 유니코드),  euckr(한글)

 COLLATE : utf8_bin, utf8_general_ci (기본 설정), euckr_bin, euckr_korean_ci


- alter table 

// add

   drop

   modify column 


ALTER TABLE reservation

ADD phone int;



ALTER TABLE reservation

DROP phone int; 



ALTER TABLE reservation

MODIFY COLUMN reservedate varchar(20); 



(3) drop // 테이블이나 db 삭제 

- drop database


drop database hotel;


- drop table 


drop table reservation; 



(4) insert // insert into문을 사용하여 테이블에 새로운 레코드를 추가. 


INSERT INTO Reservation VALUES(5, '이순신', '2016-02-16', 1108);

INSERT INTO Reservation(ID, Name) VALUES (6, '김유신');




(5) update // 레코드의 내용을 수정 

- update 테이블명 set 바꾸고자 하는 필드값= 데이터값 where 원하는 대상의 필드값 = 데이터 값 



                 


(6) delete // 테이블의 레코드를 삭제

- delete from 테이블이름 where 필드이름=데이터값;

- delete from 테이블 이름;




(7) select // 테이블의 레코드를 선택 가능

- select 필드이름  from 테이블이름 where 조건 

- select distinct name from test;// 중복제거 (distinct) 

- select * from test ordet by reservedate asc(오름차순-기본)/desc(내림차순) // 정렬

- select * from test order bt reservedate desc, roomnum asc; // 정렬 2개 동시에 줘도 됨.

- select reservedate, CONCAT(roomnum.":",name) as reservelofo from reservation;

// CONCAT() 함수는 인수로 전달받은 문자열을 모두 결합하여 하나의 문자열로 반환하는 함수. 




'언어 > MySQL' 카테고리의 다른 글

MySQL 타입  (0) 2018.11.15
MySQL 실습환경 구축  (0) 2018.11.15

1. Javascript란? 

- 객체(object)기반의 스크립트 언어.

- 웹의 동작을 구현. 



2. Javascript 문법

(1)변수 선언은 var, 구분은 ; 


var x=10;

var result=x+3;


(2) 리터럴 // 직접 표현되는 값 그자체


12  // 숫자 리터럴 

"javascript"  // 문자열 리터럴

true  // boolean 리터럴 



(3) 식별자(identifier)

- 변수나 함수의 이름을 작성할때 사용하는 이름을 의미


var firstVar=10; // firstVar가 키워드 


(4) 키워드(keyword)

- 특별한 용도로 사용하기 위해 미리 예약하고 있는 단어. 

var, function { } 


(5) 주석

- 한줄 주석 //

- 여러 줄 주석 /* */



3. Javascript 출력

(1) window.alert() 메소드

- 브라우저와는 별도의 대화 상자를 띄워 사용자에게 데이터를 전달. 


<button onclick="alertDialogBox()">alert 대화 상자 </button>


<script>

function alerDialogBox{

alert("확인을 누를 때까지 다른 작업을 할 수 없습니다." );

}

</script> 




(2) HTML DOM 요소를 이용한 innerHTML 프로퍼티


<p id="text">이 문장을 바꿀 것입니다!</p>

<script>

var str = document.getElementById("text");

str.innerHTML = "이 문장으로 바뀌었습니다!";

</script>


(3) document.write() 메소드


<script>

    document.write(4 * 5);

</script>


(4) console.log() 메소드

- 웹 브라우저의 콘솔을 통해 데이터를 출력해줌 (F12)





1. getchar() 함수 

- 키보드로부터 하나의 문자를 입력받는 함수.


#include <stdio.h>

int getchar(void);  


2. fgetc() 함수 

- 키보드로부터 하나의 문자를 입력받는 함수.

- 파일을 통해서도 문자를 입력받을 수 있음.


#include <stdio.h>

int fgetc(FILE *stream);  


3. putchar() 함수

- 모니터에 하나의 문자를 출력하는 함수. 


#include <stdio.h>

int putchar(int c);  


4. fputc() 함수

- 모니터에 하나의 문자를 출력하는 함수.

- 파일을 통해서도 문자를 출력(저장) 가능. 


#include <stdio.h>

int fputc(int cFILE *stream);


예제>단일 문자 입출력 함수를 사용하여, 'x'문자가 입력될 때까지 계속해서 영문자를 입력받고 출력하는 예제.


#include <stdio.h>

int main(void)

{

char ch;

printf(" x가 입력될 때까지 영문자를 계속 입력받습니다 : \n");


while((ch=putchar())!='x')

{

putchar(ch);

}

printf("x를 입력하셨습니다. \n");

return 0;

}








'언어 > C' 카테고리의 다른 글

C언어 포인터  (0) 2018.11.07
C언어 배열  (0) 2018.11.06
C언어 함수  (0) 2018.11.06
C언어 제어문  (1) 2018.11.02
C언어 기본2  (0) 2018.11.02

1. sophos란?

- 리눅스 커널을 이용해 만든 UTM장비 

- UTM(United Threat Management) 

- Anti virus, Firewall, IPS, IDS등의 보안기능을 하나의 박스에 넣어 사용하는 통합보안장비. 


2. Sophos 다운 

https://www.sophos.com/en-us/products/unified-threat-management.aspx


// 로그인 후 이메일 인증받아서 다운받기. 




3. virtual box를 이용하여 Sophos 실행

- 새로만들기 -> 이름작성, 종류 linux, 버전 Debian(64bit) // 나머지는 알아서 


여기서 가장 중요한것은 다 만들고! 

설정 -> 네트워크 -> 어댑터1은 그대로 놔두고, 어댑터2 네트워크 어댑터 사용하기 체크하기.

체크하지 않는다면, 설치하는 도중에 ram이 하나뿐이라는 오류가 나면서 설치가 되지 않는다.



시작 -> 키보도는 USA, 나라는 Asia, 지역은 Seoul 



그냥 다 next



중요한건 무조건 여기서 eth0을 선택!!!! 아니면 나중에 오류나,,~


network 설정 중요!!!

virtual에서 하기에 gateway주소는 적지않는다!!!


address : (가상머신에서 pc와 같은 대역대로 지정. 나중에도 말하겠지만 이 주소가 pc의 gateway가 된다.) 

netmask : (pc의 대역대와 같은 netmask)

gateway : x



64bit kernel을 깔면,, 뭐가 좋다고,,했는데 그냥 yes를 하자.


이것도 그냥 yes


reboot 을 클릭 후, 부팅이 되길 기다리자. 

이후, 아이디는 root 비번은 알아서 지정하기.


*참고 

gns에서 sophos를 연결하기위해선 sophos 우클릭 -> configuration -> network -> adapters ->2 -> ok 


1. 포인터란?

- 메모리의 주소값을 저장하는 변수이며, 포인터 변수라고도 함. 

- 포인터는 주소값을 저장.


ex)  int n=100; // 변수의 선언

      int *ptr=&n; // 포인터의 선언 



2. 포인터 연산자

- 주소 연산자(&) // 변수 이름 앞에 사용, 해당 변수의 주소값을 반환, 번지 연산자

- 참조 연산자(*) // 포인터의 이름이나 주소 앞에 사용, 포인터에 가리키는 주소에 저장된 값을 반환. 



3. 포인터 선언

- 타입 *포인터 이름 = &변수이름;

- 타입 *포인터 이름= 주소값;


ex)

int num01 = 1234;

double num02 = 3.14;  

int* ptr_num01 = &num01;

double* ptr_num02 = &num02;  

 

② printf("포인터 ptr_num01이 가리키고 있는 주소값은 %p입니다.\n", ptr_num01);

③ printf("포인터 ptr_num02가 가리키고 있는 주소값은 %p입니다.\n", ptr_num02);

printf("포인터 ptr_num01이 가리키고 있는 주소에 저장된 값은 %d입니다.\n", *ptr_num01);

printf("포인터 ptr_num02가 가리키고 있는 주소에 저장된 값은 %f입니다.\n", *ptr_num02);


실행결과

포인터 ptr_num01이 가리키고 있는 주소값은  0x7ffdfae4e27c입니다.

포인터 ptr_num02가 가리키고 있는 주소값은 0x7ffdfae4e270입니다.

포인터 ptr_num01이 가리키고 있는 주소에 저장된 값은 1234입니다.

포인터 ptr_num02가 가리키고 있는 주소에 저장된 값은 3.140000입니다.


4. 포인터 연산

// 0으로 초기화는 

=0 , =NULL , =0x00 

// int는 4byte씩 증가 

   char는 1byte씩 증가

   double은 8byte씩 증가 // 자료형에 따라 증가되는 byte수 달라.  


5. 인수 전달 방법

- 값에 의한 전달(call by value)

// 인수로 전달되는 변수가 가지고 있는 값을 함수 내의 매개변수에 복사하는 방밥, 복사된 겂으로 초기화된 매개변수는 인수로 전다로딘 변수와는 완전히 별개의 변수가 됨. 매개변수의 조작은 인수로 전달되는 변수에 아무런 영향을 미치지 않음. 


#include <stdio.h>  

void local(int);  

 

int main(void)

{

    int var = 10;

    printf("변수 var의 초깃값은 %d입니다.\n", var);  

 

    local(var);

    printf("local() 함수 호출 후 변수 var의 값은 %d입니다.\n", var);

    return 0;

}  

 

void local(int num)

{

    num += 10;

}


변수 var의 초기값은 10입니다.

local() 함수 호출 후 변수 var의 값은 10입니다.


- 참조에 의한 전달(call by reference)

// 변수의 값을 전달하는 것이 아닌, 해당 변수의 주소값을 전달함. 즉, 함수의 매개변수에 인수로 전다로딘 변수의 원래 주소겂을 저장. 인수로 전달된 변수의 값을 함수 내에서 변겅할 수 있게 됨. 


#include <stdio.h>  

void local(int*);

 

int main(void)

{

    int var = 10;

    printf("변수 var의 초깃값은 %d입니다.\n", var);  

 

    local(&var);

    printf("local() 함수 호출 후 변수 var의 값은 %d입니다.\n", var);

    return 0;

}  

 

void local(int* num)

{

    *num += 10;

}  


변수 var의 초기값은 10입니다.

local() 함수 호출 후 변수 var의 값은 20입니다.



6. 포인터의 포인터

- 이중 포인터


- void 포인터 // 주소값 저장 외 아무것도 할 수 없음. 명시적 타입 변환 작업 후 사용해야함. 

int num = 10;         // 변수 선언

void* ptr_num = &num; // void 포인터 선언  

 

*(int*)ptr_num = 20;  // void 포인터를 통한 메모리 접근  

printf("void 포인터 ptr_num가 가리키는 주소에 저장된 값은 %d입니다.\n", *(int*)ptr_num);


- 함수 포인터
void (*ptr_func(int, int);


* 구구단 
#include <stdio.h>

double add(double, double);
double sub(double, double);
double mul(double, double);
double div(double, double);
double calculator(double , double, double (*func)(double, double));

int main(void)
{
double (*calc)(double, double) = NULL; // 함수 포인터 선언 
double result = 0;
double num01 = 3, num02 = 5;
char oper = '*';

switch (oper)
{
case '+':
calc = add;
break;
case '-':
calc = sub;
break;
case '*':
calc = mul;
break;
case '/':
calc = div;
break;
default:
puts("사칙연산(+, -, *, /)만을 지원합니다.");
}

result = calculator(num01, num02, calc);
printf("사칙 연산의 결과는 %lf입니다.\n", result);
return 0;
}

double add(double num01, double num02)
{
return num01 + num02;
}

double sub(double num01, double num02)
{
return num01 - num02;
}

double mul(double num01, double num02)
{
return num01 * num02;
}

double div(double num01, double num02)
{
return num01 / num02;
}

double calculator(double num01, double num02, double (*func)(double, double))
{
return func(num01, num02);
}





 




'언어 > C' 카테고리의 다른 글

문자 입출력 함수  (0) 2018.11.12
C언어 배열  (0) 2018.11.06
C언어 함수  (0) 2018.11.06
C언어 제어문  (1) 2018.11.02
C언어 기본2  (0) 2018.11.02


- header, nav 백그라운드 이미지 설정

- main 구간에 아이디, 로그인 input form 형성 

- section에 글씨 색 변경

- footer 형성 및 글 삽입. 

+ Recent posts