글쓰기 메뉴

RMagick, Interlaced "Progressive JPEG"

JPEG 에서 Progressive(프로그레시브)는 영상처리에서 말하는 프로그레시브와는 좀 달라. 영상의 프로그레시브는 순차적 주사를 의미하는데 JPEG의 프로그레시브는 오히려 인터레이싱과 같이 뭉개진 단위를 먼저 출력하고 여러번에 걸쳐 점점 선명하게 이미지를 표시하는걸 말하지.


이미지의 인터레이싱은 위키에서 퍼온 아래 GIF 를 보면 이해가 빡!


adam7_passes.gif


RMagick 에서 인터레이스 사용

img = MiniMagick::Image.read(filedata.read)
img.combine_options do |c|
    c.quality "100"
    c.interlace "plane"
end
img.write("~/sample.jpg")


인터레이스 확인

$ identify -verbose file.jpg | grep Interlace


어디서 왔지?
[["getpocket.com", 2], ["www.google.com.ua", 1], ["synd.kr", 5], ["www.google.co.in", 1], ["www.google.co.jp", 3], ["www.google.ru", 2], ["unknown", 382], ["www.google.co.kr", 9], ["www.google.com.tw", 1]]
다른 글들
0 1
Square

이미지 업로드 퀄리티

업로드한 이미지 퀄리티가 너무 손상되네요.
3 1
Square

많이 늦었습니다. 움짤.

업로드된 이미지의 프레임수로 컨디션 하나 추가하는 일이었는데 오래걸려서 죄송합니다.
1 0

씬디버그 리포팅
- 대신 작성

페북 메시지로 받은 버그 및 의견
1. 글 수정누르니 본문에 입력한 링크가 사라짐.
2. 그 상태에서 서브밋하니 링크 날라감.
3. 맥에서 글 쓰다보면 모음과 자음 분리형상 자꾸 생김 ㅇㅛㄹㅓㅎㄱㅔ


리퀘스트.
1. 이미지 추가, 혹은 이미지 링크 추가있었으면
2. 커버도 수정할 수 있었으면
일단은 현재 에디터가 실 사용에서 생각만큼 쾌적하지 않다는 것, 인지하고 있습니다.
에디터는 주말 중에 변경하는 것을 목표로 작업하고 있습니다.
이미지 추가는 가능하나 버튼들이 우하단에 잘 숨어있어서 안보임! 
2 0

씬디는 입력기에서 사진을 자를 수 있지

씬디는 사용자의 글 작성을 돕기 위해 간단한 사진편집기능을 제공하고 있지.
텍스트 입력기에 사진을 업로드하면 업로드한 사진에 대해 "자르기", "모자이크", "회전" 세 가지의 편집 기능을 사용할 수 있다는 말이지.
이미지를 등록하고 > 등록된 이미지를 클릭하고 > "편집"을 선택한 뒤 > 포토에디터 버튼을 선택하면 새창으로 사진편집기가 열림. ㅇㅇ
사용데모는 아래 동영상에서 확인!
1 1
Square

가면

가면을 써 버렸어
추악한 모습을 감추고
아름다운 목소리만 보이려고 가면을 쓴
오페라의 유령처럼
안 좋은 이미지를 감추고 잘하는 모습만 보이려고
보이지 않는 가면을 써 버렸어
못하는 내 모습이 싫어서
놀림받을 내 모습이 미워서
가면을 써 버렸어
자, 이제 그 가면을
벗어던질 차례야
답답한 가면 속에서 살지 마
못생긴 내 모습까지 좋아하는
멋있는 자신감을 키워 봐
남들이 뭐라 하든 뭐 어때?
나는 나인걸
내가 다른 사람이 될 수 없잖아
모든 걸 잘하는 사람이 될 순 없잖아
1 0

기도

이틀째 마음에 손을 모으고 기도한다 자기전에
난 바르게 살고 있는건가.. 하나님을 경외하는게 지혜의 근본이라는데.. 하나님을 경외하는 삶을 살고 있는건가..
예전엔 목표치를 딱 정하면 3일이든. 일주일이든 그걸 해내고자 노력하면
근사치에는 도달했는데... 요즘에 난 흐리멍텅하게 하는 것 같다.
예전엔 해상도가 높은 이미지였다면 지금은 ........
많이 떨어지네.. gif  마냥..
0 0
Square

첫인상

#330
'신디요원 330'이라 함은, 내가 이 앱의 330번째 계정등록자라는 건가? 오! 굉장히 스페셜한 느낌😀. 3이라는 숫자 좋아하는데 333이었으면 더 좋았을걸.
#브런치
브런치를 벤치마킹한 듯 하면서 동시에 저격을 하고 있다(?). ㅋㅋㅋ 표지를 자유롭게 선택할 수 있으면 더 좋을 것 같다.
#Unsplash
최근에 발견해서 고퀄리티의 멋진 이미지 찾을 때 자주 이용하는 사이트인데 여기서 보니 반갑구나. +ㅅ+
포트폴리오 하기 싫...^-ㅜ
2 0

인쇄 및 PDF 내려받기

인쇄버튼과 PDF 내려받기 기능이 추가됐습니다.
같은 방식으로 XML과 이미지 등 많이 쓰이는 형식으로 글을 내려받는 기능을 천천히(!) 추가할 계획입니다.
큰 쓰임이 없는 기능이겠으나 "입력"에만 집중하겠다는 씬디의 현재 컨셉과는 잘 맞는 기능인 것 같습니다. 생산된 콘텐츠의 유통과 사용은 기존방식과 망에 맡기는게 좋다는 (교체가 넘사벽) 생각입니다.
다음 업데이트는 손쉬운 조작을 위해 페북 공유를 OG로 변경하는 작업, 카톡이나 이메일 공유 등의 기초적인 공유 기능의 정리를 계획하고 있습니다.
쌓인 작업 중 우선 순위가 높은 작업은 "표 입력", "차트 입력", "폰트 및 디자인 수정", "파일 첨부" 등 입니다. 
끝!      
0 0

MiniMagick jpg 저장 시 알파채널 검게 나오는 문제

MiniMagick 이나 ImageMagick 에서 jpg 포맷으로 알파채널이 있는 png 등의 이미지를 저장시킬 경우 투명부분이 검게 저장되지.
일부는 코맨드로 convert 를 사용할 경우 background 만 흰색으로 지정하면 문제가 없다고 하던대 MiniMagick 은 mogrify 를 사용해서 그런건지 BG 지정만으로는 안되고 아래처럼 background 를 지정하면서 알파 채널을 삭제하면 되더군.
그리고 중요한점! 반드시 format 을 변경하기 전에 해당 코맨드가 들어가야 정상적인 결과가 나오더군
1 1

일기 + 토막글

 분명 퇴사하고 한껏 여유로웠는데 왜 일은 한꺼번에 들이닥치는 걸까. 사업을 시작한 친척이 내게 부탁한 일을 급하게 마무리 지어야 하고, 마감 다가오고 있는 공모전도 얼른 넣어야 하는데, 그 와중에 등록해뒀던 운전면허 수업까지 겹쳤었다.
 가족과 친구하고는 사업하지 말아야 한다는 말을 더 깊게 새겨두었어야 했다. 같은 업계 같은 회사에 몸담은 영업자, 기획자, 디자이너, 개발자도 서로 분야가 다르니까 싸우는데, 아무것도 모르는 사람이랑은 트러블이 일어날 수밖에 없다. 그런데 틀어지면 영영 안 볼 수 있는 회사 사람과는 달리 가족은 그럴 수가 없으니까 저번 주부터 스트레스가 상당하다. 내 멘탈이 너무 약한 건가. 글 쓰고 싶다. 퇴사하고 제일 좋았던 게 아무 때나 영화 보러 갈 수 있고, 원할 때 진득하게 앉아 글에 몰입할 수 있다는 거였는데.
노트에 적어둔 제목 미정의 토막글 : 그에게는 눈으로 사물을 닦는 습관이 있었다. 그는 다 큰 어른이면서도 아무 데서나 머리를 베고 자주 쪽잠을 잤다. 언젠가 내게 말해주기를, 잠이 많은 것은 자신이 죽음과 가깝게 맞닿아 있기 때문이라고 했다. 그는 자라면서 숱하게 이미지가 바뀌었다. 대체로 좋은 편은 아니었다. 교복을 입을 적에는 수업에 성실하지 않았고, 그다지 살가운 성격도 아니어서 선생들도 그를 싫어했다. 남이 저지른 잘못을 뒤집어쓴 적도 있었다. 아니라고 항변했지만 믿어주지 않아 그럼 마음대로 생각하시라고 고래고래 소리를 지르고 엉덩이가 터지도록 맞았다고 한다. 기본적으로 타인에게 관심이 없고 내면을 향해 자라나는 가시에 찔려 죽기 쉬운 사람이었다. 재능을 쏟아붓는 일에 그의 기분은 늘 일정하지 않았다. 어디서나 기복이 심하다는 평가를 들었다. 어느 날은 천재적이었다가 어느 날은 이제 막 시작한 놈보다 못했다. 한없이 고조되어 몰입하는 순간이 있는가 하면, 어느 순간 뚝 막히고, 다시 보면 쓰레기고. 그런 일의 반복이라고, 그러니 이제는 정말로 죽고 싶다고, 나는 생각보다 너무 오래 살았다고.
1 1
Square

SSL 인증서 설치 및 적용
스마트폰 ssh 접속으로 5분만에 완료?!!?!
그것도 무료??!!?!??!

이건 누구의 얘기도 아닌 제 얘기. 제가 씬디에 https 를 적용하기 않고 버틸 수 있던 합리적(!) 이유들.

하지만 계속 눈에 밟히는....
그리고 괜시리 갖고 싶은 녹색 자물쇠
그리고 오늘.. Let's encrypt 와 EFF 의 Certbot 으로 인증비용없이 뻥안치고 스마트폰으로 5분만에 SSL 도입 끝.
물론 후속 설정들과 이미지, 외부 소스 등에 대한 url 점검과 설정이 필요했지만 이건 레알 신세계.
근데 이거 나만 몰랐어???
불과 몇달전에도 클라한테 인증서 구매시키고 서버세팅했었는데???
블로그 참 열심히 하시는 존경스러운 outsider 님이 2015년에 베타를 경험했던 포스팅은 여기.
이후 EFF 에서 Certbot 에 Apache, Nginx 등의 소프트웨어와 서버 OS 를 플러그인으로 개발하면서 지금은 서버설정까지 Certbot 이 완료시켜주고 있음.
설치는 EFF Certbot 페이지에 가서 자신의 서버와 웹서버를 선택하면 나오는 메뉴얼대로 (대략 5 ~ 7 커맨드) 하면 끝.
난 심지어 지하철에서 스마트폰으로 ssh 연결해서 설정 끝냈음. ㅇㅇ
내 케이스는 nginx / ubunt 14.04 LTS 로 실제 설치 커맨드 히스토리는 아래와 같음. 아래가 전부임.
이렇게 하면 1) 이메일 주소 입력하세요. 2) 이메일 수신 OK? 3) (서버레벨에서 확인된 도메인 중) 어떤 도메인 쓸꺼임? 4) https 만 씀? 80도 같이 씀? 이렇게 4개 물어보고 답하면 된다.
이후에 nginx 에서 http 접속을 https 로 리디렉션 시키던지 Rails 에서 모든 연결에 ssl 을 적용하는 등의 설정을 하면 됨. 이건 별도의 글로 작성.
이제 Let's encrypt 라는 회사를 살짝 알아보자.
리눅스 재단 (Linux Foumdation) 과의 협력프로젝트라고 사이트 상단에 '이미지'가 박혀있는데 어떤 관계인지는 확인하지 못했다.
ISRG 라는 캘리포니아의 기업에서 "HTTP" 보안이 기업들과 사용자들의 비용절감에 직간접적인 도움이 된다는 생각으로 시작했다고한다.
기본적으로 ACME (인증관리자동화환경) 을 보고 있고 실제로 해당 목적을 훌륭하게 수행하는 솔루션이 있다. letsencrypt 에서 개발하다가 현재는 EFF 에서 개발하고 있으며 패키지이름은 Certbot. 인증절차 및 인증서 설치 이후 갱신을 "명령어 하나로" 처리해준다.
SSL CA 로 중요한것은 얼마나 많은 주효한 클라이언트가 이를 인증된 CA 로 받아들이는가 하는 부분인데 해당 목록은 이곳 링크에서 확인할 수 있고 파폭 2.0+, 크롬, 익스 XP3+, 엣지, 안드 2.3.6+, 맥 사파리 4.0+, iOS 사파리 3.1+ 등등 그냥 믿고 사용해도 되는 수준이다.
또 하나는 letsencrypt 의 생존력인데.. 인증서가 무료다보니 기업의 유지가능성도 살펴보는게 좋겠다.
기업 스폰과 기부금으로 운영되는 것으로 보이며 공식홈페이지에서 스폰서들은 소개하고 있다.
문서상으로 년간 30만불(3년유지) 또는 35만불을 지원하는 플래티넘 스폰서는 mozilla, Akamai, SISCO, EFF, OVH, chrome 등의 6개사이고 그 외 IdenTrust,  포드재단, 페이스북, 디지털오션, 볼터, 쇼피파이 등 다수의 스폰서들이 있다.
역시나 결론은 그냥 믿고 쓰면 되겠군이라는 결론 ㅋㅋ
EFF 는 Electronic Frontier Foundation 의 약자로 한국위키 이름이 "전자 프런티어 재단" 이다.

뭔가 틀리진 않았지만 우습달까?
EFF 는 '디지털 월드' 에서 사용자들의 자유를 지키기 위해 1990년 설립된 비영리 재단으로 블루 리본 캠페인도 여기서 시작했다고 한다.
물리적으로는 관계되기 힘든 연결고리 없는 사람들과 조직이 어느날 나에게 직접적으로 혜택을 주는 일들이 많아지는게 참 재밌고 고마울 뿐이다.

진짜 고마우면 Donate! 
Support Let's encrypt
Support EFF Certbot
0 0

우분투 14.04 wkhtmltopdf 설치

wkhtmltopdf 는 HTML 페이지를 PDF 로 만들어주는 오픈소스 도구로 Qt WebKit 엔진을 사용한다. 자매품인 wkhtmltoimage 는 같은 방식으로 HTML 을 다양한 형식의 이미지로 변환시켜준다.
Ubuntu 14.04 에서 apt-get 으로 wkhtmltopdf 패키지를 설치할 수 있으나 Qt 가 wkhtmltopdf 에 맟춰 패치되지 않았다면 몇 가지 기능이 제한된다. 예를 들면 HTML 에 있는 링크가 PDF 에 사라지는 등의 오류가 있을 수 있다. 관련 옵션은 --enable-external-link 인데 Qt 가 패치되어 있지 않으면 해당 옵션을 켤 수 없다. 
그러니 wkhtmltopdf 홈페이지에서 컴파일되어 있는 바이너리를 다운받아 설치하도록 하자. 만사가 편하다.
* 우분투 서버를 사용하고 있을 경우 X 시스템과 폰트관련 패키지가 설치되어 있지 않다. 이럴 경우 먼저 필요한 패키지와 폰트를 설치하자.
폰트는 마음에 드는 패키지를 찾아 설치하면 되는데 별도의 설정없이 바로 사용할 수 있는 한글 폰트는 unfonts, baekmuk, nanum 정도 되겠다. 각각 패키지는 아래와 같다. (우분투위키에서 CJK 폰트 참고)
은폰트 - unfonts
백묵폰트 - baekmuk
나눔폰트 - nanum
폰트툴과 폰트가 설치 된 후 wkhtmltopdf 다운로드 페이지에서 Ubuntu Trusty (14.04.1) 버전(64-bit)의 .deb 파일을 다운받아 아래와 같이 설치한다. 
설치 후 아래와 같이 확인할 수 있다.
webpage/url 이라는 주소의 웹페이지를 save.pdf 로 변환하는 명령어 예제는 다음과 같다. 자세한 옵션은 man wkhtmltopdf 로 확인할 수 있다.
--print-media-type
스크린 타입이 아니라 프린트 미디어로 PDF를 렌더한다.
--page-size
페이지 사이즈를 지정한다. Letter, A4, A3 등의 형식으로 지정할 수 있다.
* 공식 홈페이지에서 전체 리스트 링크를 제공하고 있으나 현재 사용이 연결이 되지 않는다. 소스에서 확인한 전체 리스트는 이 곳에 적어둔다.
* --page-width, --page-height 로 페이지 크기를 지정할 수 있다 
--dpi
dpi (dots per inch) 값을 지정한다.
-T, -B, -L, -R
상(Top), 하(Bottom), 좌(Left), 우(Right) 여백을 지정한다.
요즘 웹페이지의 PDF 변환이나 이미지 캡처는 요즘 PhantomJS 를 사용한 방식이 훨씬 많이 소개되고 있다. 의존패키지에 대한 고려나 설정에 대한 부담감이 없기 때문일텐데 개인적으로 wkhtmlto* 를 오래전부터 사용하고 있어서 정리해봤다.