Category Archives: Developments

Mysql General Procedures for DML using JSON data type

The new MySQL 5.7 version has some great features. One of them is the ‘JSON data’ type. We can use it for column of table like ‘Virtual Colunm’ with Indexing. But, ‘JSON data’ is also useful for stored procedure. Because we can compact parameters and the procedure could be more flexible.I made the procedures for table insert/update via JSON parameter. When I apply them to my project, data-handling codes in the application decreased dramatically. (These procedures impliment ‘MySQL Procedure Pattern for Nested Transaction‘)

Don’t use utf8 encoding in MySQL (>= 5.5.3)

MySQL

오늘날 한국어/중국어/일본어등 2바이트 문자권에서의 SW개발 및 다국어를 대비한 문자열 인코딩은 거의 UTF-8로 통일화 되고 있다. 그런데, MySQL의 문자인코딩 중 utf8인코딩은 ‘진짜 UTF-8’이 아니다 ! 원래 UTF-8은 규약상 한 문자가 4바이트까지 사용하는데 MySQL의 utf8인코딩은 3바이트까지만 입력이 가능하기 때문이다. 대부분의 한중일 문자는 3바이트 코드로  표현이 가능한데, 특히 특수문자나 한자를 많이 사용하는 일본어 등에서는 심심치 않게 4바이트 문자에 의한 문제가 나타난다. 𠀋 𡈽 𡌛 𡑮 𡢽 𠮟 𡚴 𡸴 𣇄 𣗄 𣜿 𣝣 𣳾 𤟱 𥒎 𥔎 𥝱 𥧄 𥶡 𦫿 𦹀 𧃴 𧚄 𨉷 𨏍 𪆐 𠂉 𠂢 𠂤 𠆢 𠈓 𠌫 𠎁 ‥‥‥

Using request of JSON Payload in Slim framework

Slim Framework

How to enable JSON-Payload input in Slim Framework… SlimMiddlewareContentTypes.php

index.asp

 

MySQL Procedure Pattern for Nested Transaction

MySQL

The MySQL dose not supports ‘Nested Transaction’. Transactions cannot be nested. This is a consequence of the implicit commit performed for any current transaction when you issue a START TRANSACTION statement or one of its synonyms. (https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html) But I want to use ‘Stored Procedure’ what work well with a transaction independently and with nested calling. This pattern isn’t correct nested transactions, but enables the use of nested procedures. The basic idea is to use the @@ AUTOCOMMIT environment variable. The procedure will determine whether the transaction is started from the ‥‥‥

MySQL, Checking the IP address in a range

fn_ipv4_match( needle, haystack ) Returns 1 if haystack contains needle. needle : IPv4 address haystack : IPv4 address, IPv4 address with subnet mask, IPv4 address with netmask bits

Results

 

MSSQL table to json procedure

Return json string from table data. — Author: Matthew D. Erwin (Snaptech, LLC) — Create date: May 9, 2013   — Modify: Aiden Kim, May 30, 2014

Install PHP-Screw 1.5 on openSUSE

1. Download & Prepare

2. Change encryption seed

3. Compile module

If you get error with below message… Comment out 124 & 133 lines those include CG(extended_info) = 1;  in php_screw.c Then try compile again.  php_screw-1.5/php_screw.c:133: error: ‘struct _zend_compiler_globals’ has no member named ‘extended_info’ 4. Add module to php & restart

5. Compile encryption utility

  ♦ Usage of encryption

  ♦ References https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1727 http://jswlinux.tistory.com/entry/PHP-Screw-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EC%8B%9C-%EC%97%90%EB%9F%AC%EB%82%A0-%EB%95%8C http://sourceforge.net/projects/php-screw/  

JS Chart Libraries 비교

바햐흐로 Big Data시대, 그리고 Data Visualization… 개인적으로도 지난 프로젝트까지는 Data Visualization의 절대 강자 Flex(Flash) Chart를 사용 해왔습니다만, 이제는 대세(?)를 따라서 다른 방법을 찾는 중입니다.(Flex라이센스도 개인적으로 가지고 있는데 ㅜㅜ) 제가 하는 대부분의 Data Visualization 기능은 한정된 유저를 대상으로 하는 통계툴/관리툴 등이므로, 빠른 속도나 깔끔한 디자인 보다는 풍부한 기능/형태를 지원하고 데이터 입출력이 편리한 것과 무엇보다 API가 잘 정리되어 있는지가 중요한 선택 포인트로 삼고 있습니다. 구글링을 해보니 불과 1~2년 사이에 상당한 JS라이브러리등이 생겨난 것 같습니다. 그리고 이전에 조금 있었던 SVG기반의 라이브러리는 거의 사라지고 대부분 HTML5 Canvas 기반이더군요. Chrome을 위시한 브라우저들의 JS엔진과 2D/3D 드로잉 능력의 비약적 ‥‥‥

[PHP5] Thumbnail Class

원래 십여년전(?)부터 뜯어고쳐 오며 사용하던 소스를 좀 정리했다. 이전에 GD를 직접 컨트롤 했었는데 조금 찾아보니 WideImage 란 라리브러리가 있기에, 그걸로 바꾸다보니 워낙 기능이 막강해서 정작 내가 만든 클래스는 Wrapping Class가 되어 버렸다 ;; 어쨋든, 밤하늘의 별처럼 널려있는 썸네일 라이브러리들을 마다하고 만든 이유는 단 두가지 이다. 썸네일의 종횡비율에 따라 중앙부분을 기준으로 Crop해서 썸네일을 만들어 주는 기능 PNG포맷에서 Resizing시 원본의 Alpha Channel을 유지 해 주는 기능 그 이외에는 잡다한 기능을 다 빼 버렸다. 복잡해지면 오래 못쓰므로… Licence : GNU LGPL 2.1 Copyright (C) 2013 Aiden, Kihyun Kim.

HTML 코딩 이야기 – #1 개념 확인

“HTML 코딩에 대하여 언제 한번 글을 써봐야지” 하면서도 4~5년 계속 하지 못해오다가, 요즘 들어 본의 아니게 HTML코딩업무비중이 갑자기 늘어나면서 갑자기 솟구치는 글을 쓰고픈 갈증에 간략하게나마 정리 해본다. 나의 글 특징은 단순/과격/극단의 위험선을 수시로 넘나드는 것이므로, 이런 표현에 대해 지나치게 신경을 곤두세우지 않았으면 좋겠다는 바램을 함께 써넣는다. 물론 다소 과장이 있을지라도 이는 개인적인 경험/판단에 의한 표현상의 강조로 이해해 주면 좋겠다. 언제나 반론/정정 의견은 환영!! 흔히 이야기 하는 “테이블 코딩”을 버리고 “표준 코딩”을 해야겠다는 웹디자이너(HTML 코딩업무 겸임)가 있다. 또는 좀더 CSS를 사용해서 웹페이지를 만드는 게 엄청나게 귀찮은 일이라 생각하면서도, 주변 사람들이 다들 ‥‥‥