글쓰기 메뉴

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

MiniMagick 이나 ImageMagick 에서 jpg 포맷으로 알파채널이 있는 png 등의 이미지를 저장시킬 경우 투명부분이 검게 저장되지.


일부는 코맨드로 convert 를 사용할 경우 background 만 흰색으로 지정하면 문제가 없다고 하던대 MiniMagick 은 mogrify 를 사용해서 그런건지 BG 지정만으로는 안되고 아래처럼 background 를 지정하면서 알파 채널을 삭제하면 되더군.

그리고 중요한점! 반드시 format 을 변경하기 전에 해당 코맨드가 들어가야 정상적인 결과가 나오더군


image = MiniMagick::Image.open(image_url)
[...]
image.combine_options do |c|
  c.background '#FFFFFF'
  c.alpha 'remove'
end
image.format "jpg"
image.quality "100"
image.write "/tmp/test.jpg"


어디서 왔지?
[["www.google.co.kr", 17], ["synd.kr", 2], ["search.daum.net", 1], ["unknown", 550], ["www.google.com", 1]]
다른 글들
0 1

씬디를 만드는 이유 #2

Medium 은 트위터 공동 창업자 중 에반 윌리암스가 만든 글쓰기 플랫폼이지! 2012년도에 오픈했는데 한 2년 묵묵하게 굴러가다가 2014년도부터 한국에도 많이 알려진 것 같아. 요즘은 한국어로 글 등록하는 사람들도 꽤 보이더라고.
글 쓰기 협업툴을 초기 컨셉으로 들고 나왔었는데 - 그래서 단락별로 에디팅이나 코멘트가 잘 기획되어 있지 - 지금은 그것보단 "글 쓰기에만 집중할 수 있는 글 쓰기 플랫폼" 으로 어필되고 있는 것 같아. 물론 사람들이 스킨과 디자인은 잊고 글 쓰기에만 집중할 수 있도록 충분히 아름답고 정리된 디자인을 자랑하지.
기고자와 독자가 충분히 많아지니까 기존 미디어들에서도 미디엄에 채널을 만들어 콘텐츠를 유통시키는 모습도 자주 보이고, 팀이나 브랜드 단위의 채널들이 많이 생기고 콘텐츠 질도 점점 좋아지는 것 같아.
애니웨이, 미디엄에 대한 개인적인 불만이라면 단 하나.. 한국어로 글을 쓸 때 serif 폰트가 설정되어 있는데 이게 보기에 엄청 거시기해. 브라우저 설정에서 폰트를 지정해서 쓰면 되나? 되겠지 뭐.
지저분한 사심을 담백하게 털어놓자면 미디엄 같은 아름다운 플랫폼을 갖고 싶었어. 폰트 설정은 구차한 변명이지. 그냥 내껄 갖고 싶었어! 이게 씬디를 만든 두번째 이유.
0 3

소주먹는당

어 취한다 티비를 튼다 채널은 많은데 볼게없네
사온 닭튀김이 너무 많다 내일 아침밥으로 먹어야지
소화가 안돼 하하하 복근운동
하하하
2 3

도약

어떤 한 수준에서 다음 수준으로 넘어가기 위한 것을 도약이라고 일단 정의하자.
언제나 도약의 순간에는 버리는 것이 있어야 한다. 물리적으로, 무거운 물체는 도약하는데 더 많은 에너지를 소비해야만 하니까 말이지. 하지만, 인간은 언제나 손에 쥔 것을 놓지 않으려는 본질적 욕심이 있어서 쉽지 않아. 그래서 항상 더 많은 에너지를 소비해서 버둥거리며 기어서 다음 수준으로 넘어가지. 
요즘 알파고를 통해 많은 사람들이 인공지능이라는 것에 대해서 여러가지 생각을 하고 있을거야. 생각보다 빨리 다음 수준으로 넘어가고 있는데, 우리의 하드웨어와 소프트웨어는 그걸 못쫓아가고 있다는 생각이 많을거야. 이런저런 채널을 통해 미래 사회에 일자리가 없어지고, 아니, 이미 없어지고 있고, 점점 인간이라는 존재의 입지는 줄어들고 있는 것이 현실이니까 말이지.
문제는, 뭔가 막연히 바뀌는 것을 원하고 있다는거야. 손에 쥐고 있고, 등에 짊어지고 있고, 주머니 속에 가득 찬 잡동사니 어느 하나도 버리지 않으려고 해. 내가 지금 사는 그대로 다음 수준으로 넘어가려고 해. 등가교환이라는 말이 있잖아? 뭔가를 얻기 위해서는 뭔가를 내줘야 하는 것인데, 그걸 어기려고 해. 그러니까 늘 힘이 드는거야.
내가 하고 싶은 말은 이런거야. 언제나 버릴 준비를 하고, 재빠르게 다음 수준으로 뛰어서 넘어갈 순간에 주저함이 없어야 해. 그곳이 지옥일수도 있어. 하지만, 지금 서 있는 이곳도 비슷하다면, 도전해볼만 하잖아. 넘어갔더니 지옥이면 또 빠르게 넘어가면 그만이야. 일단 하고 보는거지. 
2 1
Square

Burger Fiction - 영상제작팀

"90초로 보는 매트릭스 3부작" 이 비디오 마지막에 burgerfiction.com 이라고 나오더군. 궁금하자나? 가봤지. 유툽 채널이더군.
영상이 꽤 있더군. 시리즈 영화나 배우 등 기존 영상자료에 대한 편집과 큐레이션 팀인가 싶었는데 몇개월 전 자료들을 보니 직접 제작한 짧은 영상들이 있더군.
그런데! 이것들이 드럽게 재밌엌ㅋㅋ 내 취향과 맞는거겠지. 
아쉬운건 업로드 되어 있는 영상들을 조회가 1,000회 미만이고 영상 자료 큐레이션같은 편집 영상은 몇십만건 조회라 앞으로 제작 안할까봐 걱정이네.
트위터 빨로찍어놨으니 가끔 제작 영상도 올려달라 멘션보내야지!
버거픽션 유튜브 : burgerfiction.com
버거픽션 트위터 : 트위터
Andy Schneider : @andypschneider
Jonathan Britnell : @jrbritnell
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
3 1
Square

씬디 시즌투를 시작한다

시즌1이라는게 없었는데 시즌2를 시작한다니 놀랍군.
어쨋든 시즌2는 다음과 같이 요약됨.
숨겨진 감성이든
누군갈 욕을하든
알게된 지식이든
맛있는 사진이든
자꾸쓰면 잘써진다.
잘쓰려면 자꾸쓰자.
글쓰기는 잔근육빨.
0 0

Rails 모든 연결 SSL 로 변경하기 + Nginx Redirect

Let's encrypt 와 EFF 그리고 여러 스폰서들과 개인기부자들 덕분에 간단하게 SSL 을 적용했으니 이제 모든 http 연결을 ssl 로 돌려보자.
Rails 에서는 Controller 단위에서 force_ssl 을 사용할 수도 있고 보다 와이드하게 전체 설정에서 다룰 수도 있다.
씬디는 https 변경에 다른 별 이슈가 없기때문에 config/environments/production.rb 에 force_ssl 을 설정했다.
이렇게 설정하면 route 룰을 포함해 모두 ssl 연결로 변경된다.
NginX 나 Apache 등을 리버스 프락시로 구성하여 백단에 서버들에게 넘겨준다면 다음의 헤더를 반드시 포함시켜야한다.
Rack 서버는 1) 443 포트로 연결되었는지 2) ENV['HTTPS'] 값이 "on" 인지 3) X-Forwarded-Proto 헤더가 "HTTPS" 인지 3 가지를 보고 판단하기 때문에 리버스 프락시 뒤에 있는 puma 나 unicorn 등은 443 포트가 아닌 다른 포트나 유닉스소켓으로 통신하기 때문에 HTTPS 연결인지 확인하지 못하고 계속 리디렉션 시키게 된다.
NginX 나 Apache 단에서 301 리디렉션으로 연결 프로토콜을 변경할 수도 있겠다.
80 포트를 수신하는 서버 설정을 넣고 해당 설정에서는 http 를 https 로 변경하여 리디렉션시키면 443 을 리스닝하고 있는 아래의 설정이 요청을 수신하게 된다. 
끝.
0 0

미니멀리즘

인테리어나 삶의 방식이 아니라 소프트웨어나 서비스라면 사실 사용자에게 "미니멀리즘" 이 느껴지게 하기위해 물밑에서 엄청난 발장구를 쳐야겠지.
사용자는 아무것도 선택하지않고 (그랬다고 알고있고) 항상 재밌어야할테니까..
0 0
Square

바다

가고 싶다
가서 보고 싶다
가슴이 시원해진다던대.
0 0
Square

먼지

내가 먼지지.
왜 있는지.
뭘 하는지.
뭐든 먼지같지.