IT 관련38 [MySQL] csv 파일을 직접 테이블로 Import csv 파일을 직접 테이블로 Import -- LOAD DATA INFILE statement LOAD DATA [LOCAL] INFILE 'file_name' INTO TABLE tbl_name [CHARACTER SET charset_name] [{FIELDS | COLUMNS} [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [ESCAPED BY 'char'] ] [LINES [STARTING BY 'string'] [TERMINATED BY 'string'] ] ※ 주의점CSV File 를 읽어 이를 처리 하는 방버은 매우 빠른 속도를 제공합니다. 그러나 데이터 등록시 해당 테이블에는 lock이 걸릴 수 있습니다.처리 하려는 CSV 파일의 .. IT 관련/Database 2017. 12. 25. Tensorflow 공부를 위한 Tool 및 기타 세팅 Tensorflow 공부를 위한 Tool 및 기타 세팅 Tensorflow 공부를 위해서 Linux, Windows에 1. Anaconda 설치2. Tensorflow 설치3. Jupyter notebook 설치 Tensorflow 교육 참고 홍콩 과기대 김성훈 교수님의 강의 웹사이트: http://hunkim.github.io/ml/ 를 강력히 추천한다. 유투브에 도영상 강의가 있는데 대략 20분 내외의 강의 영상으로 되어 있으니 반드시 보시기를 바란다.(나와 같은 초보자가 보기에 안성 맞춤이다) 아울러 github에는 무수히 많은 tensorflow example과 유용한 소스들이 많으니 이들을 잘 이용해야 한다. Tensorflow Python API Reference공식 사이트인 https://w.. IT 관련/Tensorflow 2017. 12. 21. Tensorflow(Linux) -jupyter notebook 설치 Tensorflow(Linux) -jupyter notebook 설치 기본적으로 아래의 환경이 준비되었다고 가정한다.Linux(Ubuntu)anaconda(Python 3.5+Tensorflow) - name tf35anaconda(Python 2.7+Tensorflow) - name tf27 기존 설치와 관련된 내용은 tensorflow(Linux) 설치 (http://cirius.tistory.com/1131) 참고tensorflow(Windows) 설치 (http://cirius.tistory.com/1132) 참고기본적인 설치는 Tensorflow(Windows) -jupyter notebook 설치 (http://cirius.tistory.com/1147) 와 대부분 동일하며, 차이가 있는 부분.. IT 관련/Tensorflow 2017. 12. 21. tensorflow(Windows) -jupyter notebook 설치 Tensorflow(Windows) -jupyter notebook 설치 기본적으로 아래의 환경이 준비되었다고 가정한다. Windows10anaconda(Python 3.5+Tensorflow) - name tf35anaconda(Python 2.7+Tensorflow) - name tf27 기존 설치와 관련된 내용은 tensorflow(Linux) 설치 (http://cirius.tistory.com/1131) 참고 tensorflow(Windows) 설치 (http://cirius.tistory.com/1132) 참고 Deep learning 을 공부 하기 위해서 tensorflow + Python 를 선택했다면 Python Code를 직접 에디터등을 통해서 작성 할 수 있지만, 간혹 Jupyter .. IT 관련/Tensorflow 2017. 12. 19. [Data 모델링] 엔티티(Entity), 애트리뷰(Attribute) [Data 모델링] 엔티티, 애트리뷰 엔티티(Entity) 현실 세계에서 다른 모든 것들과 구분되는 유형, 무형의 것을 엔티티라고 정의하며 업무 수행을 위해서 알아야 될 대상이 되는 것들을 엔티티로 정의한다. - 무지 어렵다. 엔티티라는 것을 도출해 내는 일이 쉬운일이 아니기 때문이다. 가장 쉬운 말로 관리 되어야 하는 단위 라고 표현하는 것리 나의 생각이다.예) 사원, 부서, 회사 등등 엔터티 선정시 유의사항 엔터티 후보의 선택은 데이터 모델링의 시작 부분이다. 엔터티 후보를 선정하는 동안에 아래와 같은 몇 가지의 유의사항을 염두에 두어야 한다. 1. 프로세스(업무 흐름)은 머리에서 지우자. 모든 개발자 혹은 설계자들이 흔히 하는 실수다.엔티티를 찾아 내는 일은 업무의 흐름(일의 진행)등에 대해서 먼저.. IT 관련/Database 2017. 12. 18. [MySQL] last_insert_id() 사용시 주의 많은 개발자들의 Database 관련 코드를 보면 심심치 않게 위험한 요소들을 가지고 있다. MySQL 를 다루면서 많은 실수를 하는 부분이 바로 Last_insert_id() 사용과 관련된 부분이다. 오늘은 잘못된 auto_increment 과 last_insert_id() 사용을 이야기 하려 한다. 1. auto_increment MySQL ( or MariaDB) 사용 시, 테이블은 InnoDB로 생성하고 PK를 auto_increment 로 설정 하는 경우가 많다.성능면에서 보면 당연한 선택이다.헌데 가끔 MySAM로 테이블을 생성 하는 경우가 있다. 이 부분은 나중에 Engine을 설명할 기회가 있다면 그때 언급하자.반드시 engine은 특별한 경우가 아니면 InnoDB로 생성하여야 한다. 2... IT 관련/Database 2017. 12. 17. NULL 데이터에 대한 이해 DB에서 null 값은 매우 특별한 값이다. null 값은 과연 어떤 값일까?공백문자일까?, 0 일까?, empty 값일까? 그냥 null data는 말 그대로 값이 존재 하지 않는다 라고 이해 해야한다.값이 존재 하지 않는다라고 이해를 하면...값이 존재 하지 않으니 인덱스를 생성 할수도 없다.당연히 비교 자체가 불가 하다. 흔히들 SQL문을 작성해서 원하는 결과가 나오지 않으면(속도가 느린 것은 나중문제고) 데이터가 이상하다며, 데이터 검증을 하고 있는 모습을 간혹 보는데 아래는 흔히들 null 에 대한 실수를 하는 예이다. 아래와 같이 tableA 의 column b_id에 null 값이 섞여 있는 데이블이 있다고 하면 SELECT * FROM tableA a_id A_col b_id ------ .. IT 관련/Database 2017. 12. 17. cmd 보다는 Cmder 사용해 보자 Windows OS를 사용 하는데 있어서 간혹 command.com(cmd.com) 을 사용 할 경우가 있다. DOS 시절 Command.com 쉘의 기능이 좋지 않아 4DOS를 사용 하기도 했지만, 윈도우즈로 넘어 온 뒤에도 쉘의 기능은 여전히 미약하였고 어쩌면 windows 환경이 Shell 의 사용이 많이 필요 하지는 않았지만, 그래도 간혹 Shell을 사용 할 경우가 있는 것이 사실이다.물론 근래 Windows OS에도 PowerShell 이라는 쉘을 제공 하기는한다. windows 에서 상당히 편리한 shell Program(정확히는 애뮬레이터)을 소개 하고자 한다. 1. 다운로드 Cmder 라는 프로그램으로 http://cmder.net/ 에서 무료로 다운 받을수 있다. 2. 프로그램 설치간단.. IT 관련/기타 2017. 12. 17. MariaDB Full outer join MariaDB Full Join 처리 MariaDB에서는 MySQL 과는 다르게 Full Join 은 지원하지 않는다. 그러나, 다른 방법을 통해 얼마든지 구현 가능하다. MySQL join 내용은 MySQL Join정리(http://cirius.tistory.com/1135 )를 참조 하세요. -- select from Table A full outer join Table B on A.key = B.key where A.key is null SELECT * FROM tableA a LEFT JOIN tableB b ON a.b_id = b.b_id UNION SELECT * FROM tableA a RIGHT JOIN tableB b ON a.b_id = b.b_id a_id A_col b_id b_i.. IT 관련/Database 2017. 12. 17. MySQL join 정리 MySQL join 단, MariaDB에서는 Full Join 은 지원하지 않는다. 아래와 같이 tableA, tableB 의 데이터가 존재한다면 -- tableA data SELECT * FROM tableA a_id A_col b_id ------ ------ -------- 1 a1 (NULL) 2 a2 1 3 a3 2 4 a4 3 5 a5 4 -- tableB data SELECT * FROM tableB b_id B_col a_id ------ ------ -------- 1 b1 1 2 b2 2 3 b3 3 4 b4 4 5 b5 (NULL) -- select from Table A Inner join Table B on A.key = B.key SELECT * FROM tableA a, tab.. IT 관련/Database 2017. 12. 17. [data 모델링] 모델링이란? * 이 글은 완벽하고 철저하게 나의 경험과 실전에서 쓴 글이니 학문적으로, 또는 원리적으로 따지지 말자.몇개의 짧은 글을 통해서 Data Modeling을 완벽하게 설명이 불가 할뿐만 아니라(나 역시 그 정도의 수준이 되지 않으며)실전과 이론에는 엄청난 차이가 있음을 인정해야 한다. 거의 대부분의 IT에서 database 사용은 필수이다.그러나 대다수의 개발자들이 DB를 이용하기만 할 뿐 DB설계를 올바르게 하지 못하거나, 이해하지 못한 상태에서 빠른 코딩에 집중한다. 안타까운 점은 DB설계를 못한다고 해서 코딩을 못하거나, 개발을 못한다라고 말하지 않는다. 반대로 코딩 하면서 함수를 잘 못 만들거나, 클래스를 잘 만들지(구조적으로) 못하면 어느 정도 수준 있는 개발자들은 상당히 불편해 한다."이거는 그.. IT 관련/Database 2017. 12. 17. [PHP]생성자 사용시 주의 - 실수경험 프로그램에서 OO(Object Oriend)의 개념은 일상화 되면서, Class 단위의 프로그램 구조를 이용한다. PHP 로 프로그램을 할때, 고생했던 경험이 있어 여기 소개 한다.클래스를 생성시 호출이 2번되던 경험이 있어서 고생했던 기억이 있다. Java의 경우 생성자는 클래스 명과 동일한 함수를 생성자로 인식한다.반면 PHP 의 경우 엄연히 __construct() 라는 생성자가 있다 그럼에도 불구 하고, class 명과 동일한 함수명이 존재 하면 이를 생성자 처럼 실행한다.물론 PHP 에서 근본적인 문제는 class 생성은 new classs 또는 new classname() 로 생성이 되는게 문제로 보인다.아무튼 아래 코드를 보면 이해가 쉬울거라 생각한다. PHPclass 생성자 __constr.. IT 관련/기타 2017. 12. 16. 이전 1 2 3 4 다음