인피니티 프리에서 데이터베이스 사용하기


안녕하세요. 
고코더 입니다.


오늘은 사이트의 정보를 저장하는 
핵심 주체인 데이터베이스를 생성해보겠습니다.
사이트는 파일과 DB로 되어 있습니다.
DB는 정보를 관리하고 입력,수정,삭제를 가능하게 합니다.
만약 DB가 없다면 매번 파일의 글자체를 고치고 있어야 했겠죠?


1. C패널


DB에 접속하려면 이젠 C패널을 사용해야 합니다.
Control panel 을 클릭해주세요.


그러면 인피니티 프리가 제공하는 C패널에 접속하게 됩니다.
여기서 모든 호스팅의 옵션을 바꿀 수 있습니다.
거의 모든 호스팅 업체가 이러한 C패널을 제공합니다.




2. DB 생성 접속


C패널에서 스코를을 내려 중간쯤을 확인해보면
데이터 베이스 항목이 있습니다
여기서 MYSQL Databases 를 클릭해주세요.


그리고 만들어질 데이터베이스 이름을 입력해주세요.
개인고유 유저명과 이름이 합쳐져서 데이터베이스명이 됩니다.


아래와 같이 데이터베이스가 생성되고
admin 버튼을 클릭하면 
별다른 로그인 절차 없이 phpmyadmin 이 연결 됩니다.


생성된 테이블이 없으니
새테이블 이름을 넣고 실행을 눌러주세요.


그리고 임시적으로 테스트를 위해 컬럼명을 만들어보겠습니다.
그리고 저장을 누르면 


이제 사용 가능한 테이블이 완성 되었습니다.
(사이트 개발을 위한 생성이 아닌 호스팅 사용법을 익히기 위한 테스트입니다.)


C패널 Statiistics에 mysql 데이터베이스가 1개로 숫자가 카운팅 되어 있습니다.
데이터베이스 갯수도 무제한이네요.

    

호스팅의 중요 서비스인 인피니티 프리의 데이터베이스 까지 알아봤습니다.


마무리


글로벌 서비스 답게 C패널 기능들이 좋네요.





댓글을 달아 주세요


Mysql 데이터베이스 백업 


안녕하세요. 고코더 입니다.
MYSQL 은 개인 홈페이지에서는 가장 활용이 많이 되는
데이터베이스 일 것 입니다.

덕분에 사용자를 위한 편의 기능이 많은데
그중에서 DB의 내용을 sql 파일로 만들어
백업과 복원이 가능합니다.

물런 다른 DB에서도 sql파일을 만드는 방법은 활용 하기도 하는데
오라클를 쓰는 회사의 db를 sql로 만들면 아마도 몇백기가가 되겠네요.

그래서 오늘은 mysql의 전체 내용을
sql로 파일로 만들어 보겠습니다

▼자신의 데이터베이스 관리 툴로 접속해주세요.
호스팅을 쓴다며 거의 phpmyadmin 이시겠죠.



▼ 대상이 되는 데이터 베이스를 클릭하고
내보내기 탭을 실행합니다. 



▼ 그리고 옵션을 선택합니다. 내보내기 기본 옵션은 sql로 선택해주세요.
그리고 구조는 기본 옵션을 그대로 둡니다
다만 기존 DB를 업그레이드 할 예정이라면
체크하시면 됩니다. 테이블을 삭제하면서 생성 해줍니다. 


▼ 압축은 zip 으로 선택하고 실행합니다.
없음으로 하면 웹페이지의 sql그대로 노출되서 브라우저가 다운 



▼ 파일은 이렇게 압축된 zip 파일이 나옵니다. 


▼ 내용을 살펴보니 충실하게 sql 문이 작성되어 있습니다.


▼ 이 파일은 아까 내보내기 탭 옆에 있는 가져오기 탭에서



▼ 가져올 파일로 실행해주시면 자동으로 
복원이 됩니다. 



마무리


mysql이 개인 홈페이지의 최적화 되어 있지만
대형 시스템에서도 좋은 성능을 발휘 합니다. 


댓글을 달아 주세요



쿼리 정리 사이트


안녕하세요. 고코더 입니다. 



길게 늘어지고 복잡한 쿼리를 본 적이 있을 것 입니다.
한숨을 쉬면서 눈으로 직접 정리하거나 
각 IDE에서 정리하는 단축키가 있지만

도구 적으로 상황이 여의치 않을 때도 있고
IDE 제공하는 정렬은 눈에 잘 안 들어옵니다.

▼ 이럴 때 바로 해당 사이트에서 쿼리를 정렬해보세요.

▼ 이 사이트는 7개의 SQL 포맷을 지원합니다. 


▼ [Format SQL] 해당 버튼을 누르면 


▼상단의 입력한 쿼리를 아래 정렬을 해줍니다.
select name,addr,age, from 
where name='gocoder' order by addr



개발자들이 눈에 익숙한 방법의 느낌으로 
정렬을 해줍니다.
현장에서 개발을 많이 해본 분이 만드신 사이트가 아닌가 싶습니다.


마무리


날쿼리로 개발된 사이트라면
정렬 규약을 맞추는 용도로 사용하시면 어떨까요?








댓글을 달아 주세요



 database , table , column의 character set 알아보기 


안녕하세요. 고코더 입니다.

mysql 에 인코딩 캐릭터셋을 알아보는 방법을
알려드리려고 합니다.

DB입력시 인코딩에 따라 변환을 해서 입력해야 하는데
캐릭터셋이 모를 경우 

아래 쿼리를 돌려보시면 확인이 가능합니다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT DEFAULT_CHARACTER_SET_NAME        
FROM INFORMATION_SCHEMA.SCHEMATA 
WHERE SCHEMA_NAME = 'DB명';
 
SELECT TABLE_COLLATION 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'DB명';
 
SELECT COLUMN_NAME, CHARACTER_SET_NAME
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = "DB명"
AND TABLE_NAME = "TABLE명"
 
cs


해당 결과 값을 본인의 DB에 실행해보시면
아래처럼 결과 값이 나옵니다.

▼ 데이터베이스 인코딩


▼ 테이블 인코딩



▼ 컬럼 인코딩




마무리

이젠 거의 UTF-8 이겠죠?


댓글을 달아 주세요



PHP에 카우치베이스 확장모듈 등록하기 


안녕하세요. 고코더 입니다.


noSQL인 카우치 베이스를 PHP에서 DLL로 확장을 하는 방법을 알아보려고 합니다.
한국에서는 확실히 mongoDB 말고는 레퍼런스가 많이 없습니다.
사용도가 낮아서 그런거겠죠.

그래도 학습을 위해 혹은 로컬 셋팅을 위해 윈도우 서버에서
카우치 베이스를 확장 하는 방법을 배워 보겠습니다. 

▼해당 URL로 이동하여 원하는 버전의 couchbase DLL를 다운로드 합니다.



▼압축파일 루트에는 두개의 DLL 파일이 있습니다.


1. libcouchbase.dll 
해당 파일을 아래 폴더로 복사를 해주세요
관리자 계정으로 복사만 해주시면 됩니다. 
C:\Windows\SysWOW64
C:\Windows\System32


2. php_couchbase.dll
자신의 PHP설치 폴더로 이동하셔아 합니다. 셋팅에 따라 폴더는 다 다릅니다.
본인의 PHP 폴더 위치를 찾아서 ext 확장 모듈 폴더에 복사해주세요
- APMSETUP7일 경우
C:\APM_Setup\Server\PHP5\ext

- XAMPP일 경우
C:\xampp\php\ext

- AutoSet일 경우
C:\AutoSet9\server\bin\ext

- PHP를 따로 설치했을 경우
C:\PHP\ext

3.PHP.ini 수정
이번에는 PHP.ini 를 수정해야 합니다.
2번에서 말씀드린 폴더 위치 기준으로 찾아보시면 있습니다.
(가장 좋은 방법은 폴더 안에서  php.ini 검색을 해보세요 

그리고 아래처럼 파일에 코드를 삽입 해주세요
extension=php_couchbase.dll
; select default serializer
couchbase.serializer = json 

▼제 PHP.ini 캡쳐 화면입니다.
couchbase.serializer 를 json 형태로 사용하시려면 주석 없이 입력해주세요


▼그리고 phpinfo()를 실행시켜 카우치베이스가 추가되었는지 확인하시면 됩니다.



간단하지만 설정할때 정보가 많이 없어서 고생했네요


마무리

여러분은 헤매지 마시길





댓글을 달아 주세요



select 된 내용을 테이블에 담아보자


프로시저 작업시 디버깅 방법으로 많이 사용하는게 바로
select into 쿼리 일 것이다. 조회된 데이터를 그대로 테이블에 
담아 사용 하는 방법이다.

그래서 방법은 아주 간단하다. select 문에 INTO {테이블명} 을 입력하면 된다.
예제는 아래와 같다.




SELECT INTO NEW_TABLE
FROM Member

▼아래처럼 실행해보면 같다. 실행이 된다.


▼Member의 데이터가 그대로 NEW_TABEL에 insert 되었다.
 개발시에 꽤 쓸모 있는 방법이니 알아두자




마무리

요즘 mssql 쓰는 회사가 왜케 없나요^^



댓글을 달아 주세요



MSSQL while문 예제 

오늘은 한번 while 예제릴 간단하게 작성해보았다. 
MSSQL하면 프로시져를 간단하고 가볍게 개발 할 수 있는게 최대 장점일 것 이다.
그 중에 while문은 실무에서 가장 애용 하는 방법중 하나이다.

▼그래서 익스프레스하게 아주 간단하게 작성해보았다.

DECLARE @IDX INT           /* 변수를 선언한다. */
SET @IDX=1                 /* 1를 집어넣었다 */         
                               
WHILE @IDX <= 10           /* while을 10번 돌릴려고 한다. */
BEGIN
                                                                             
     PRINT @IDX           /* 값을 찍어보자. */
     SET @IDX= @IDX+1     /* 그리고 IDX를 +1 시켜주자  */
                                           
END




▼결과화면은 아래와 같다. 

mssql 쿼리창mssql 쿼리창


예제는 매우 쉽다.
단지 저 예제 안에 while문 안에
얼마나 로직을 잘 담는게 문제일 것 이다.




마무리

MSSQL 프로시져 개발이 개인적으로 가장 재미 있었던 프로젝트 였습니다.



댓글을 달아 주세요



면접에서 MaraiDB에 대해 물어본다면?


요즘 신입 후배 개발자들이
자주 듣는 스킬 질문중에 마리아DB가 무엇인지 설명해달라는
질문을 받는다고 합니다. 그럴만도 한게 이미 중소형 IT업체들은
MaraiDB를 이용해 운영 중입니다.

위키백과에 나온 내용 달달이 외워가기에는 너무 티도 나고 하니
핵심만 한번 설명해보려고 합니다.



귀여운 물개를 내세운 MariaDB는 과연 무엇일까?
우선 홈페이지는 아래와 같습니다. 

홈페이지 주소도  http://mysql.org/ 기존 mysql과 흡사합니다. 
DB명도 M자로 시작하고 있는거 보면 이제 눈치가 챈거라 생각 됩니다.

▼둘의 BI도 가만보면 많이 비슷하합니다..
개인적으로 돌고래가 더 이쁘네요



mysql을 모방한 DB가 바로 mariaDB 입니다. 
한가지 알아야 할건
mysql은 이제 무료가 아닙니다.  언제부터인지 모르겠지만
배포를 위해서는 상용라이센스를 획득해야 합니다.
그럼 mysql을 지워야 하는가? 그건 또 아니네요.
암묵적으로 mysql에 대해 과금을 물고 있지 않고 있습니다.
이런식으로 오라클은 오픈소스인 mysql을 가지고 이중적인 입장을 대하고 있습니다.
이렇게 불안하게 쓰고 싶진 않죠. 

그래서 이에 
핀란드 출신의 프로그래머 mysql을 만든 
마이클 와이드니어스는 


몇명의 동료들과 썬을 떠나서
MariaDB를 개발하였습니다.

MariaDB는 그냥 mysql 이라고 해도 될 정도로 같습니다.
사용방법이나 구조까지 같습니다. 
프로그램 이름만 다르고 사용방법이 같다는것이 
Mysql을 대체할 수 있는 DB 입니다.

그리고 기존의 mysql과도 호환이 됩니다.

본 블로그 강의에서
XAMPP 설치 강의(http://gocoder.tistory.com/40)
WNMP 설치 강의(http://gocoder.tistory.com/48)

해당 APM 프로그램들이 제공하는 DB도 MariaDB를 제공합니다.
왜 마리아DB를 사용하는지는 알것입니다.
AWS에서도 MariaDB 설치를 권고 하는거 보면
흐름상 이젠 당신이 학습자이든 IT기업 운영자이든 
MariaDB를 사용하면 될 것 입니다. 

결론은 말씀드리면
 " mysql의 소유권 정책으로 회사를 떠난 mysql 개발자 와드니어스가
maraiDB를 만들었고 이는 기존 DB와 호환되며 명령어와 사용법과 같은
라이센스 없는 Mysql이라고 할 수 있다. "




마무리

그냥 마리아디비 쓰시면 됩니다.






댓글을 달아 주세요



MSSQL 에서 쌍따옴표 사용하기


안녕하세요. 고코더입니다.
오늘은 MSSQ에서 작은 따옴표를 자유롭게 사용하는 법을 
다루어 보겠습니다.

▼MSSQL 매니지먼트를 실행 하여 아래 구문을 실행해봅시다.
select "'", "'a'",'',



▼ 볼것도 없이 오류 빨간 라인이 그려집니다.
MSSQL은 해당 처럼 쌍따옴표를 쓸수가 없습니다.

작은 따옴표를 자주 쓰는 경우 이를 쌍따옴표로 묶어서 보기 편하게 써보고 싶을 때가 있습니다.
물런 작은 따옴표를 두번 쓰면은 문자로 인식이 됩니다.
그럼 가독성도 떨어지기 마련이다.  작은 따옴표 행렬을 보고 있으면 머리가 아프죠

▼ 이번엔 아래 쿼리를 실행해보자
set quoted_identifier off
select "'", "'a'"

▼ 놀랍게도 오류 라인은 없어지고 쌍따옴표 안에 작은 따옴표가 정상적으로 문자로 인식 됩니다.
이렇게 하면 작은 따옴표 행렬은 안볼 수 있는 장점이 있습니다. 
일명 가독성이 엄청나게 향상되겠네요.

물런 해당 옵션을 사용하면 오히려 더 혼란을 가중할 수 있지만 한번 써보면 정말 편한 옵션이다.
작은따옴표를 많이 쓰는 환경일 경우에는 써보는건 어떨까 싶다.




마무리



 사내 규약만 정하면 기본 설정으로 하셔도 문제가 없어 보입니다. 얼마나 편해요


댓글을 달아 주세요



MSSQL 매니지먼트 스튜디오 설치


이시간에는 MSSQL 학습을 위해 GUI를 다운로드 및 설치를 해보겠습니다.

우선 해당 URL로 이동!

해당 페이지에서 다운로드를 클릭한다. 


 자신에 맞는 비트 환경과 끝에 ADV가 붙은걸 클릭합니다. (제일 용량 큰거)

다운로드 후 실행하면 아래처럼 압축이 풀립니다.

▼ 아래 처럼 기본 선택된 설정을 믿고 다음 클릭 


▼ 인스턴스를 명명한다. SQLEXPRESS로 하자.




▼ 역시 기본 설정을 믿고 다음


▼ 혼합 모드로 비번을 입력한다 비번은 tiger로 하자 


▼ 설치가 진행된다. 생각보다 조금 걸립니다.

▼ 설치 후 로그인 방법은 두가지 입니다. Windows인증 말 그대로 해당 윈도우에서는 별다른 설정없이 접속 할 수 있습니다.



▼ 두번째 방법은 SQLserver 인증 보통의 인증처럼 아이디와 암호를 입력하고 접속다. 아이디는 sa고 비번은 위에서 설정한 tiger 입니다.





마무리

설치 강의를 위해 포맷 후 새롭게 설치해가면서 강의를 쓰고 있다.
설치가 뭐가 중요하냐고 할지 모르겠지만
7년전 신입 개발자일때 프로그램 설치마저 두려웠던 기억이 난다.
블로그에 설치 안내서를 보면서 설치했던 초심에 마음을 기억한다.

다음에는 SQL 매니지먼트 스튜디오 사용법을 올리겠습니다.
오류는 좀 있지만 사용하기 참 좋은 MSSQL GUI 툴입니다. 
(다실 다른 프로그램이 딱히 없죠)


















댓글을 달아 주세요