それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

jsのDOM APIで親要素はclosest。使える親を要素的に辿っていく(jquery のfind parents 的なこと

.closest ってめっちゃ便利

document.querySelector('a.current').closest('ul').closest('li')

closest で xpath の ancestor的なことが出来るかも−

xpath の ancestor 的なことができる。そして jQuery で言うところのparent()的なこと。

jQueryのparents とかで出来たので、VanillaJSでコレができるのは便利。

2018-05-16 追記

ieでは動かないので、トランスパイラを入れた方が無難かも

参考資料

https://developer.mozilla.org/en-US/docs/Web/API/Element/closest

スキャンされたファイルが白黒なのでフルカラーにして色つけた編集できるようにする。

モノクロスキャンの画像は割と面倒くさい。

複合機を使って、jpg tiff や pdf でスキャンするときに、モノクロでスキャンすると、JPEGがGrayで作られてしまう。

編集しても色が消える。

グレイで作られた画像ファイルをそのまま編集しても、色情報が失われて、白黒で保存される。たとえば、MacPreview.app などのちゃんとした画像ソフトはモノクロを意識してちゃんと保存してくれる。Photoshopなどでも元ファイルからいったん別ファイルに書き出さないとカラープロファイルが変わらない。

magick でなんとかする。

ちょっとした編集をしたり、スキャンした画像にプレビュー.app で蛍光ペンマーカーを引いても色情報が失われてしまうので、とっととフルカラーつまりsRGBにしたい。

convert input.jpg   -colorspace sRGB -type truecolor out.jpg

またはmogrify で

mogrify input.jpg   -colorspace sRGB -type truecolor out.jpg

実際にやってみる。

たとえば、次のような感じ。

takuya@Desktop$ identify  20180323170514098.tif
20180323170514098.tif[0] TIFF 4968x3508 4968x3508+0+0 1-bit Bilevel Gray 5.28382MiB 0.000u 0:00.000
20180323170514098.tif[1] TIFF 4968x3508 4968x3508+0+0 1-bit Bilevel Gray 5.28382MiB 0.000u 0:00.000
20180323170514098.tif[2] TIFF 4968x3508 4968x3508+0+0 1-bit Bilevel Gray 5.28382MiB 0.000u 0:00.000
20180323170514098.tif[3] TIFF 4968x3508 4968x3508+0+0 1-bit Bilevel Gray 5.28382MiB 0.000u 0:00.000
20180323170514098.tif[4] TIFF 4968x3508 4968x3508+0+0 1-bit Bilevel Gray 5.28382MiB 0.000u 0:00.000
20180323170514098.tif[5] TIFF 4968x3508 4968x3508+0+0 1-bit Bilevel Gray 5.28382MiB 0.000u 0:00.000
20180323170514098.tif[6] TIFF 4968x3508 4968x3508+0+0 1-bit Bilevel Gray 5.28382MiB 0.000u 0:00.000
20180323170514098.tif[7] TIFF 4968x3508 4968x3508+0+0 1-bit Bilevel Gray 5.28382MiB 0.000u 0:00.000
20180323170514098.tif[8] TIFF 4968x3508 4968x3508+0+0 1-bit Bilevel Gray 5.28382MiB 0.000u 0:00.000
20180323170514098.tif[9] TIFF 4968x3508 4968x3508+0+0 1-bit Bilevel Gray 5.28382MiB 0.000u 0:00.000
20180323170514098.tif[10] TIFF 4968x3508 4968x3508+0+0 1-bit Bilevel Gray 5.28382MiB 0.000u 0:00.000
20180323170514098.tif[11] TIFF 4968x3508 4968x3508+0+0 1-bit Bilevel Gray 5.28382MiB 0.000u 0:00.000

フルカラーにしたもの

convert コマンドと colorspaceを組みわせて出力された結果がコレ。

20180323170514098-0.jpg JPEG 4968x3508 4968x3508+0+0 8-bit sRGB 4.82438MiB 0.000u 0:00.000
20180323170514098-1.jpg JPEG 4968x3508 4968x3508+0+0 8-bit sRGB 2.75272MiB 0.000u 0:00.000
20180323170514098-10.jpg JPEG 4968x3508 4968x3508+0+0 8-bit sRGB 2.47305MiB 0.000u 0:00.000
20180323170514098-11.jpg JPEG 4968x3508 4968x3508+0+0 8-bit sRGB 3233910B 0.000u 0:00.000
20180323170514098-2.jpg JPEG 4968x3508 4968x3508+0+0 8-bit sRGB 5.17893MiB 0.000u 0:00.000
20180323170514098-3.jpg JPEG 4968x3508 4968x3508+0+0 8-bit sRGB 2.19638MiB 0.000u 0:00.000
20180323170514098-4.jpg JPEG 4968x3508 4968x3508+0+0 8-bit sRGB 2.43567MiB 0.000u 0:00.000
20180323170514098-5.jpg JPEG 4968x3508 4968x3508+0+0 8-bit sRGB 2.36627MiB 0.000u 0:00.000
20180323170514098-6.jpg JPEG 4968x3508 4968x3508+0+0 8-bit sRGB 2.15146MiB 0.000u 0:00.000
20180323170514098-7.jpg JPEG 4968x3508 4968x3508+0+0 8-bit sRGB 2.09416MiB 0.000u 0:00.000
20180323170514098-8.jpg JPEG 4968x3508 4968x3508+0+0 8-bit sRGB 7.13491MiB 0.000u 0:00.000
20180323170514098-9.jpg JPEG 4968x3508 4968x3508+0+0 8-bit sRGB 7228270B 0.000u 0:00.000

時々とまどう

白黒で複合機スキャンすると、複合機はGrayなカラー情報を使った画像を出力してくれるのだが、あとでちょいちょい編集をしようとすると割と面倒くさい。カラーだと色補正が効かなったりするので、親切でやってくれるんだろうけど。複合機でカラースキャンしてくれれば十分で、あとでぱぱっと画像編集をすれば済むのでモノクロスキャンののGray埋め込みは、編集時にハイライトが白黒にされてしまって、時々焦ることが在る。便利なのか不便なのかよくわからない感じありますよね。

スキャンが必要な状況が辛い。

もとのExcelシートそのままや、そこからJPG化したり、PDF化して渡してくれればいいのに、どうしてプリント(印刷物)にして配布したり。さらにそれをスキャンして寄越すのだろうか。。。辛さ在る。

参考資料

https://stackoverflow.com/questions/34874771/convert-jpg-image-from-grayscale-to-rgb-using-imagemagick

gitlab のデータベースにアクセスする一番簡単な方法

あれこれ、調べたりしようとしたけど、コレが最短。

takuya@sakura:~$ sudo gitlab-rails dbconsole

gitlabの内部の postgresql /mysql のポートやIPを調べてパスワードを調べて、どのユーザー名でーとか考えなくていいから良いよねコレで。

コマンドを起動するだけなので、docker exec から 直接起動したり出来るので便利。