phpmyadmin 에서 인덱스가 없습니다! 하나 생성하세요.

라고 하길래 봤는데.. 이거 막 새엇ㅇ하면 안되겠꾸만


인덱스 생성시 느리고, select시 성능향상을 줌

[링크 : http://ra2kstar.tistory.com/96]


oracle과 차이점

[링크 : http://gywn.net/2012/05/mysql-bad-sql-type/]


null 대신 not null(그래서 기본값이 not null 이었나..)

[링크 : http://egloos.zum.com/tiger5net/v/5660848]


https://blog.lael.be/post/370

'프로그램 사용 > mysql & mariaDB' 카테고리의 다른 글

mysql 변수별 사이즈  (0) 2017.01.12
mysql 다대다 관계  (0) 2017.01.04
mysql datetime과 timestamp 차이점  (0) 2017.01.04
mysqldump 복구시 TYPE=MyISAM 오류  (0) 2016.10.06
woobi mysql 백업복구  (0) 2015.03.02
Posted by 구차니

phpmyadmin에서 작업을 하는데

Null no가 떠서 먼가 하고 보는 중인데..

mysql client에서 보면.. Null 은 no 똑같네?

mysql> desc archlog_useraccount;l

+----------------+-------------+------+-----+---------+----------------+

| Field          | Type        | Null | Key | Default | Extra          |

+----------------+-------------+------+-----+---------+----------------+

| idx            | int(11)     | NO   | PRI | NULL    | auto_increment |

| time_create    | datetime    | NO   |     | NULL    |                |

| time_lastlogin | datetime    | NO   |     | NULL    |                |

| time_lastmodi  | datetime    | NO   |     | NULL    |                |

| userid         | char(50)    | NO   |     | NULL    |                |

| passwd         | char(72)    | NO   |     | NULL    |                |

| passwd_plain   | char(12)    | NO   |     | NULL    |                |

| username       | varchar(30) | NO   |     | NULL    |                |

| birth          | datetime    | NO   |     | NULL    |                |

+----------------+-------------+------+-----+---------+----------------+

9 rows in set (0.01 sec)


아무튼.. 덤프해서 보면 alter로 속성값 바꾸듯 해두었는데

CREATE TABLE IF NOT EXISTS `archlog_useraccount` (

`idx` int(11) NOT NULL,

  `time_create` datetime NOT NULL,

  `time_lastlogin` datetime NOT NULL,

  `time_lastmodi` datetime NOT NULL,

  `userid` char(50) NOT NULL,

  `passwd` char(72) NOT NULL,

  `passwd_plain` char(12) NOT NULL,

  `username` varchar(30) NOT NULL,

  `birth` datetime NOT NULL

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='user account table';


ALTER TABLE `archlog_useraccount`

 ADD PRIMARY KEY (`idx`), ADD UNIQUE KEY `idx` (`idx`,`userid`);


ALTER TABLE `archlog_useraccount`

MODIFY `idx` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;


예제를 보면 이런식으로 생성시에 넣을수 있는 듯

CREATE TABLE animals (

    grp ENUM('fish','mammal','bird') NOT NULL,

    id MEDIUMINT NOT NULL AUTO_INCREMENT,

    name CHAR(30) NOT NULL,

    PRIMARY KEY (grp,id)

) ENGINE=MyISAM; 


[링크 : http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html]



그리고 null / no는 not null이 맞는 듯

그런데 pri키로서 idx는 null이 넣어도 에러 안나던데 !!?


자세히 보니.. NULL은 아니고 ''로 빈 문자열을 넣어 버렸네 -_-


Posted by 구차니

mysql 5.7 메뉴얼인데.. 1970 epoch 기준으로 timestamp를 사용되는데 32bit 인가..

mysql 64bit면 더 길게 저장이 되려나?



아무튼 차이점은 timestamp는 UTC + epoch(2038년 문제 발생)

datetime은 9999년까지 가능


The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.


The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC

[링크 : http://dev.mysql.com/doc/refman/5.7/en/datetime.html]


8바이트 먹지만 DATETIME형을 쓰는게 2038 문제 회피에 유리하다 인가?

[링크 : http://stackoverflow.com/questions/2012589/php-mysql-year-2038-bug-what-is-it-how-to-solve-it]


[링크 : http://mysqldba.tistory.com/268]

[링크 : http://blog.naver.com/gigar/60115731039]

[링크 : http://linux.systemv.pe.kr/timestamp-datetime-기능-개선/]


DATETIME에는 NOW() 함수로 현재 시간을 넣어 줄 수 있네

[링크 : http://jsonobject.tistory.com/122]

Posted by 구차니
프로그램 사용/vi2017. 1. 3. 11:53

'프로그램 사용 > vi' 카테고리의 다른 글

vi 현재 위치에서 끝까지 복사  (0) 2017.02.01
vi 단어 단위 이동  (0) 2017.02.01
vimdiff 사용법  (0) 2016.11.17
vi 스크롤  (0) 2016.11.10
vi ctrl-s / ctrl-q  (0) 2016.11.09
Posted by 구차니

단종된게 대개 그렇지만, 보안상의 이유로 더 이상 유지하지 않기로..

[링크 : http://blog.learningtree.com/rhel-7-new-features-samba-4-changes/]


요건 다 예전 문서가 되어버리네.

[링크 : https://help.ubuntu.com/community/Swat]

[링크 : https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/SWAT.html]

Posted by 구차니
프로그램 사용/gcc2017. 1. 2. 15:14

'프로그램 사용 > gcc' 카테고리의 다른 글

문자열에 escape 로 특수문자 넣기  (0) 2017.06.19
gcc cpp type (유니코드 문자열)  (0) 2017.04.04
gcc make CFLAGS=-D 관련  (0) 2016.11.17
gcc -fPIC  (0) 2016.06.22
gcc dependency .d 파일?  (0) 2016.03.28
Posted by 구차니
프로그램 사용/aws2017. 1. 2. 11:50

Function as a Service

msec 단위과금


장점으로는 딱 서비스에 집중하고 서버 구성이나 운영은 전혀 고민할 필요없다. 정도?



[링크 : http://www.zdnet.co.kr/column/column_view.asp?artice_id=20160614172904]

[링크 : http://blog.aliencube.org/ko/2016/06/23/serverless-architectures/]

[링크 : https://aws.amazon.com/ko/blogs/korea/serverless-architecture-by-korean-developers/]

'프로그램 사용 > aws' 카테고리의 다른 글

aws EC2 요금제  (0) 2024.05.10
aws 스토리지  (0) 2024.05.06
aws 리전별 가격비교  (0) 2024.05.06
aws vpc  (0) 2024.05.06
아마존 AWS 가입  (0) 2024.04.22
Posted by 구차니

으으 말일까지 나와서 테스트 해보네 ㅠㅠ

LC_ALL 만 설정하고 LC_ALL=""로 빼고 테스트 하니 한글이 깨지는 현상 발생

그래서 테스트 해보니 되는 듯



아무튼 결론

synology nas에서

svn 1.9.4 인데

hook-env 로는 설정이 안되고

post-commit 내에서

로 로케일과 언어를 설정해주니 문제없이 해결 -_-

export LC_ALL=en_US.utf8

export LANG=en_US.utf8



[링크 : https://www.lesstif.com/pages/viewpage.action?pageId=18220003]

[링크 : http://svnbook.red-bean.com/vi/1.8/svn.reposadmin.create.html]

[링크 : http://askubuntu.com/questions/795455/python-default-locale-is-not-working]

'프로그램 사용 > Version Control' 카테고리의 다른 글

git-svn 관련글  (0) 2017.04.25
svn list 예제  (0) 2017.02.03
svn commit email - python / synology  (0) 2016.12.30
svn diff 결과물 컬러로 보기  (0) 2016.12.30
svn commit시 email 알림  (0) 2016.12.29
Posted by 구차니

svn에서 hook을 통해 commit-post를 실행하면 희한하게 한글이 깨지네..

파이프쪽 로케일이 문제인가..


$ cat mailer.py

#!/usr/bin/python

# -*- coding:utf-8 -*-


import smtplib

import sys

import os

from email.mime.multipart import MIMEMultipart

from email.MIMEText import MIMEText

from subprocess import Popen, PIPE


smtp_hostname="smtp.mailserver.com:port"

smtp_username="mailer@mailserver.com"

smtp_password="password"

toaddrs  = ['user1@mailserver.com','user2@mailserver.com','user2@mailserver.com']

project_name = os.path.basename(sys.argv[1])

subject = "["+project_name+"]"+" svn repository update required"

content = project_name + "\n" + "rev : " + sys.argv[2]+ "\n"


cmd_1 = ['svnlook','changed','-r',sys.argv[2],sys.argv[1]]

proc = Popen(cmd_1, stdout=PIPE)

difflist = proc.stdout.read()


cmd_2 = ['svnlook','info','-r',sys.argv[2],sys.argv[1]]

proc = Popen(cmd_2, stdout=PIPE)

svninfo = proc.stdout.read()


content = "[" + project_name + "]\n" + "rev : " + sys.argv[2]+ "\n" + difflist +"\n" + svninfo


msg = MIMEMultipart()

msg['From'] = smtp_username

msg['To'] = ", ".join(toaddrs)

msg['Subject'] = subject

msg.attach(MIMEText(content,_charset='utf-8'))


print msg.as_string()


server = smtplib.SMTP_SSL(smtp_hostname)

server.login(smtp_username,smtp_password)

server.sendmail(smtp_username, toaddrs, msg.as_string())

server.quit()



[링크 : http://stackoverflow.com/questions/10147455/how-to-send-an-email-with-gmail-as-provider-using-python]

[링크 : http://stackoverflow.com/.../python-subject-not-shown-when-sending-email-using-smtplib-module]

[링크 : http://blog.saltfactory.net/python/send-mail-via-smtp-and-python.html]


[링크 : http://ngee.tistory.com/159]

[링크 : http://www.janosgyerik.com/setup-and-test-svn-post-commit-hook-to-send-commit-log/]


[링크 : http://stackoverflow.com/questions/3925096/how-to-get-only-the-last-part-of-a-path-in-python]

[링크 : http://stackoverflow.com/questions/8729071/is-there-any-way-to-add-multiple-receivers-in-python-smtplib]


[링크 : https://docs.python.org/2/library/email-examples.html]


[링크 : http://stackoverflow.com/questions/4537259/python-how-to-pipe-the-output-using-popen]


msg.attach(MIMEText(content,'plain',_charset="utf-8"))

[링크 : http://stackoverflow.com/questions/882712/sending-html-email-using-python]

[링크 : http://blog.saltfactory.net/python/send-mail-via-smtp-and-python.html]

'프로그램 사용 > Version Control' 카테고리의 다른 글

svn list 예제  (0) 2017.02.03
svn hook encv  (0) 2016.12.30
svn diff 결과물 컬러로 보기  (0) 2016.12.30
svn commit시 email 알림  (0) 2016.12.29
svn console에서 엔터 입력하기  (0) 2016.11.08
Posted by 구차니

리눅스에서 하다 보니 귀찮은게 하나둘씩 보이네 ㅋㅋ


$ sudo apt-get install colordiff

$ vi ~/.subversion/config

[helpers]

diff-cmd = colordiff 


[링크 : https://gist.github.com/westonruter/846524]

'프로그램 사용 > Version Control' 카테고리의 다른 글

svn hook encv  (0) 2016.12.30
svn commit email - python / synology  (0) 2016.12.30
svn commit시 email 알림  (0) 2016.12.29
svn console에서 엔터 입력하기  (0) 2016.11.08
svn add를 취소하기  (0) 2016.11.04
Posted by 구차니