Developments

MySQL Stored Procedure for CRUD Dynamic Queries

Posted on

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 […]

Developments

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

Posted on
MySQL

오늘날 한국어/중국어/일본어등 2바이트 문자권에서의 SW개발 및 다국어를 대비한 문자열 인코딩은 거의 UTF-8로 통일화 되고 있다. 그런데, MySQL의 문자인코딩 중 utf8인코딩은 ‘진짜 UTF-8’이 아니다 ! 원래 UTF-8은 규약상 한 문자가 4바이트까지 사용하는데 MySQL의 utf8인코딩은 3바이트까지만 입력이 가능하기 때문이다. 대부분의 한중일 문자는 3바이트 코드로  표현이 가능한데, 특히 특수문자나 한자를 많이 사용하는 일본어 등에서는 심심치 않게 4바이트 문자에 의한 […]

Developments

Using request of JSON Payload in Slim framework

Posted on
Slim Framework

How to enable JSON-Payload input in Slim Framework… SlimMiddlewareContentTypes.php <?php /** * Middleware SlimMiddlewareContentTypes (for JSON Payload requests) * 2015/03/12 * Aiden Kim */ class SlimMiddlewareContentTypes extends \Slim\Middleware\ContentTypes { public function call() { $mediaType = $this->app->request->getMediaType(); if ( isset($this->contentTypes[$mediaType]) && !$this->app->request->isGet() && !$this->app->request->isHead() ) { $env = $this->app->environment(); // Parse request data $form_hash = $this->parse($env[‘slim.input’], […]

Developments

MySQL Procedure Pattern for Nested Transaction

Posted on
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. […]

Developments

MySQL, Checking the IP address in a range

Posted on

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 DELIMITER $$ DROP FUNCTION IF EXISTS `fn_ipv4_match`$$ CREATE FUNCTION `fn_ipv4_match`( needle VARCHAR(15), haystack VARCHAR(31) ) RETURNS TINYINT BEGIN /* * Checking the IP address in the range * 2014-09-30 * Aiden Kim */ DECLARE start_ip […]

Developments

MSSQL table to json procedure

Posted on

Return json string from table data. — Author: Matthew D. Erwin (Snaptech, LLC) — Create date: May 9, 2013   — Modify: Aiden Kim, May 30, 2014 /****** Object: StoredProcedure [dbo].[sp_table2json] Script Date: 07/07/2014 14:11:41 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO — — Author: Matthew D. Erwin (Snaptech, LLC) — Create date: May 9, […]

Developments

Install PHP-Screw 1.5 on openSUSE

Posted on

1. Download & Prepare cd /usr/local/src wget -O php_screw-1.5.tar.gz http://downloads.sourceforge.net/project/php-screw/php-screw/1.5/php_screw-1.5.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fphp-screw%2F tar -zxvf php_screw-1.5.tar.gz cd php_screw-1.5 /usr/bin/phpize 2. Change encryption seed vi my_screw.h # change seed to your random value 3. Compile module ./configure –with-php-config=/usr/bin/php-config make 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 […]

Developments

JS Chart Libraries 비교

Posted on

바햐흐로 Big Data시대, 그리고 Data Visualization… 개인적으로도 지난 프로젝트까지는 Data Visualization의 절대 강자 Flex(Flash) Chart를 사용 해왔습니다만, 이제는 대세(?)를 따라서 다른 방법을 찾는 중입니다.(Flex라이센스도 개인적으로 가지고 있는데 ㅜㅜ) 제가 하는 대부분의 Data Visualization 기능은 한정된 유저를 대상으로 하는 통계툴/관리툴 등이므로, 빠른 속도나 깔끔한 디자인 보다는 풍부한 기능/형태를 지원하고 데이터 입출력이 편리한 것과 무엇보다 API가 잘 정리되어 있는지가 […]

Developments

[PHP5] Thumbnail Class

Posted on

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

Developments

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

Posted on

“HTML 코딩에 대하여 언제 한번 글을 써봐야지” 하면서도 4~5년 계속 하지 못해오다가, 요즘 들어 본의 아니게 HTML코딩업무비중이 갑자기 늘어나면서 갑자기 솟구치는 글을 쓰고픈 갈증에 간략하게나마 정리 해본다. 나의 글 특징은 단순/과격/극단의 위험선을 수시로 넘나드는 것이므로, 이런 표현에 대해 지나치게 신경을 곤두세우지 않았으면 좋겠다는 바램을 함께 써넣는다. 물론 다소 과장이 있을지라도 이는 개인적인 경험/판단에 의한 표현상의 […]