준호씨의 블로그
어제 JetBrains 행사 갔다가 ToolBox 라는 프로그램을 소개해 줘서 설치 해 봤음. IntelliJ 나 PyCharm 등을 손쉽게 설치 할 수 있게 해 준다. Install 계속 하면 계속 추가 된다? 이상하군... 여러개 띄워서 쓸 때 설정을 다르게 해서 사용 하기 위함인가? 설정 기능이 있다. ToolBox 없이 그냥 설치 한 경우 설정을 커스터마이징 하려면 파일을 찾아 다녀야 되는데 그런 번거로움이 줄었다. heap size 라던지 JVM 설정값을 변경 하는 기능을 제공해 준다. 프로젝트 검색도 편리하다. 프로젝트 검색창을 띄울 수 있는 단축키 같은걸 제공해 주면 더 좋을 거 같다. https://intellij-support.jetbrains.com/hc/en-us/community/p..
mysql 에서 현재 클라이언트 커넥션 상태나 현재 동작하고 있는 쿼리 정보 등을 알고 싶을 때, show processlist; 라는 명령어를 이용 할 수 있다. mysql> show processlist; +--------+--------+----------------------+-------+---------+-------+--------------+------------------------------------------------------------------------------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +--------+--------+-----------------..
n일 전 날짜 구하기 포스팅 (http://junho85.pe.kr/544) 을 했었는데 aero 님이 perl 5.8 부터 Time::Piece 가 core 모듈로 들어 갔다고 하여 Time::Piece 버전을 만들어 보기로 하였다. 사용하는 모듈이 좀 바꼈고 get_date_ago 함수 내용이 좀 바꼈다. 다른 부분은 동일하다. get_date_ago(ago) 함수는 ago 일 전의 날짜를 yyyy-mm-dd 포멧의 문자열로 반환하는 함수이다. #!/usr/bin/env perl use strict; use warnings; use Time::Piece; use Time::Seconds; sub get_date_ago { my $ago = shift; my $time = Time::Piece->new..
time() 함수를 이용하면 epoch time 을 얻을 수 있다. 초 단위 이기 때문에 하루치의 초 (24 * 60 * 60) 만큼을 빼면 어제의 시간을 구할 수 있다. 아래의 get_date_ago(ago) 함수는 ago 일 전의 날짜를 yyyy-mm-dd 포멧의 문자열로 반환하는 함수이다. #!/usr/bin/env perl use strict; use warnings; use POSIX qw/strftime/; sub get_date_ago { my $ago = shift; my $epoc = time(); $epoc = $epoc - (24 * 60 * 60) * $ago; my $datestring = strftime "%F", localtime($epoc); return $datestring..
파일의 사이즈를 구하는 방법은 여러가지가 있지만 wc 를 이용한 방법이 있다. $ cat program.log | wc -c 14 단위는 byte 이다. wc 를 이용하면 gzip -dc 와 함께 사용하면 gz 압축된 파일의 원본 사이즈도 알아 낼 수 있다. $ gzip -dc program.log.gz | wc -c 14
클로저? (참고로 closures 이다. 프로그래밍 언어 중 하나인 clojure 가 아니다.) C, Objective-C 의 blocks 와 비슷하고 다른 언어의 람다와 비슷하다고 한다. 그런데 blocks? https://en.wikipedia.org/wiki/Blocks_(C_language_extension) Apple 이 추가한 비표준 확장이라고 함. 내용을 대충 봐서는 함수포인터를 응용해서 C 에서 클로저 같은걸 사용 할 수 있도록 해 주는 기능인 것으로 보인다. 그나저나 평소에 궁금 했던건 클로저와 람다의 차이점이었다. 비슷해 보이는데 뭐가 다른건지? stackoverflow 에 유명한 글이 있었다. What is the difference between a 'closure' and a 'l..
개발 관련 대화를 하다 보면 괄호를 읽을 때 괄호에 대한 명칭을 몰라서 대화가 어색해 지는 경우가 있다. 일단 ( ) 가 괄호 인데 { } 나 [ ] 는 어떻게 말해야 될 지 모르겠더라. { } 는 꼬불랑 괄호 라고 말하고 [ ] 는 네모 괄호 라고 말하는 편이다. 그런데 괄호에 부여된 용어가 이미 있었다. ( ) 는 괄호, 소괄호, 손톱괄호 라고 하는데 그냥 괄호 라고 하면 된다. 영어로는 parentheses { } 는 중괄호. 영어로는 braces, curly brackets. curly 가 붙은걸 보니 그냥 꼬불랑 괄호 라고 해도 될 거 같긴 하다. [ ] 는 대괄호. 영어로는 brackets, square brackets. square 가 붙은걸 보니 네모 괄호 라고 해도 될 거 같다. 꼬불랑괄..
요즘 종종 이용하고 있는 봉추찜닭. 어제도 찜닭이 먹고 싶은데 직접 해 먹기는 힘들어서 가까운 봉추찜닭을 검색해 보았고 결국 죽전단국대점으로 갔다. 아래는 어제 방문 했던 죽전 단국대점에서 먹은 작은 사이즈이다. 2~3인 분용. 나, 아내, 아기 둘 해서 네명이서 먹었다. 처음엔 양이 좀 적어 보였는데 부족 하지는 않았음. 요즘 컨디션이 안좋고 입맛이 없어서 많이 못먹는 탓일까? 순한맛으로 시켜서 고추는 안들어 가 있다. 가격은 18,000원. 밥은 별도이다. 가게 외관 요즘 주로 가는 봉추찜닭은 판교점이다. 점심시간이 가기도 하고 저녁에 회사일 마치고 가기도 함. 하지만 집에서 가기에는 좀 멀다. 찜닭이 먹고 싶어서 집 주변의 찜닭집을 찾아 보니 강남대점, 수지구청점 등등이 보였다. 처음에 수지구청점으..
perl 로 cgi 나 스크립트를 작성할 때 문자열을 파싱해서 사용하는 경우가 많다. 그럴 때 정규표현식을 쓰게 되는데 간혹 특수 문자를 정규표현식에 넣다 보면 문제가 발생하곤 한다. 검색어를 정규표현식에 넣어서 검색을 할 때 검색어에 "+apple" 를 넣게 되면 + 가 특수 문자이기 때문에 오류가 발생하거나 오동작 하게 된다. 오류 발생 Quantifier follows nothing in regex; marked by
hbs 파일에 {{}} 이런거 써두면 서버에서 먼저 읽어서 변환 시켜 버리기 때문에 클라이언트에서 사용 할 수 없다. 이럴 때 어떻게 할지 해결 방법 escape 단순히 {{ 앞에 \ 를 넣어서 escape 시켜서 사용 한다. 단순한 방법으로 사용 할 수 있다. 다만 코드가 좀 지저분 해 지는 단점이 있다. 아래와 같은 handlebars 템플릿 코드가 있으면 {{body}} 아래와 같이 바꿔 주면 된다. \{{body}} precompile 코드는 깔끔해지긴 하지만 클라이언트 사이드 템플릿이 변경 되면 매번 컴파일 해 줘야 되는 불편함이 있다. 처음보는 사람인 경우 직관적으로 이해하기 어렵다. npm install handlebars -g handlebars client-template1.handleb..