7月に読んだ本やマンガ
7月の読書メーター
読んだ本の数:34
読んだページ数:6928
ナイス数:1
プラネット・ウィズ 3 (3巻) (ヤングキングコミックス)
読了日:07月31日 著者:水上 悟志
データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理
読了日:07月30日 著者:Martin Kleppmann
天竺熱風録 6 (ヤングアニマルコミックス)
読了日:07月30日 著者:伊藤勢
はぐれアイドル地獄変 (9) (ニチブンコミックス)
読了日:07月30日 著者:高遠 るい
変女~変な女子高生 甘栗千子~ 13 (ヤングアニマルコミックス)
読了日:07月30日 著者:此ノ木よしる
暴走するネット広告: 1兆8000億円市場の落とし穴 (NHK出版新書)
読了日:07月23日 著者:NHK取材班
ヒストリエ(11) (アフタヌーンKC)
読了日:07月23日 著者:岩明 均
超人ロック ドラゴンズブラッド (3) (MFコミックス フラッパーシリーズ)
読了日:07月22日 著者:聖 悠紀
超人ロック ドラゴンズブラッド (2) (MFコミックス フラッパーシリーズ)
読了日:07月22日 著者:聖 悠紀
超人ロック ドラゴンズブラッド 1 (MFコミックス フラッパーシリーズ)
読了日:07月22日 著者:聖 悠紀
中国文明の歴史 (講談社現代新書)
読了日:07月21日 著者:岡田 英弘
ダーウィンの覗き穴〔マンガ版〕──虫たちの性生活がすごいんです
読了日:07月19日 著者:日高 トモキチ
ライドンキング(2) (シリウスKC)
読了日:07月19日 著者:馬場 康誌
ライドンキング(1) (シリウスKC)
読了日:07月19日 著者:馬場 康誌
超人ロック 荒野の騎士 (MFコミックス)
読了日:07月15日 著者:聖 悠紀
超人ロック ひとりぼっちのプリンセス
読了日:07月14日 著者:聖 悠紀
超人ロック 星辰の門 (MFコミックス)
読了日:07月14日 著者:聖 悠紀
超人ロック カデット (MFコミックス)
読了日:07月14日 著者:聖 悠紀
なぜ日本人はご先祖様に祈るのか ドイツ人禅僧が見たフシギな死生観 (幻冬舎新書)
読了日:07月14日 著者:ネルケ 無方
オイラー、リーマン、ラマヌジャン―時空を超えた数学者の接点 (岩波科学ライブラリー)
読了日:07月12日 著者:黒川 信重
超人ロック メヌエット (MFコミックス)
読了日:07月12日 著者:聖 悠紀
超人ロック 猫の散歩引き受けます (MFコミックス)
読了日:07月12日 著者:聖 悠紀
超人ロック 天空の魔法士 (MFコミックス)
読了日:07月11日 著者:聖 悠紀
超人ロック クランベールの月 (MFコミックス)
読了日:07月11日 著者:聖 悠紀
超人ロック ブレインシュリンカー/不死者たち (MFコミックス)
読了日:07月11日 著者:聖 悠紀
「宇宙のすべてを支配する数式」をパパに習ってみた 天才物理学者・浪速阪教授の70分講義 (KS科学一般書)
読了日:07月09日 著者:橋本 幸士
異種族レビュアーズ 3 (ドラゴンコミックスエイジ ま 7-1-3)
読了日:07月09日 著者:masha
ウチの使い魔がすみません(6) (アフタヌーンKC)
読了日:07月08日 著者:櫓刃 鉄火
ダーウィンズゲーム(18) (少年チャンピオン・コミックス)
読了日:07月08日 著者:FLIPFLOPs
米中もし戦わば 戦争の地政学 (文春文庫)の感想
歴史的経緯や体制の良し悪しや善悪の判断や方法論はともあれ、中国が覇権に向けて戦略的に動いているのが分かる。中国の怖さは次の一文が分かりやすい。「ペンタゴンの元アナリスト、マイケル・ピルズベリーによれば、中国は総合国力を信じられないほど正確に計算しているという。その最も注目すべき点はおそらく、軍事力が国力全体の一〇%程度にしか評価されていないことだ」
読了日:07月07日 著者:ピーター ナヴァロ
王家の遺伝子 DNAが解き明かした世界史の謎 (ブルーバックス)
読了日:07月05日 著者:石浦 章一
異種族レビュアーズ 2 (ドラゴンコミックスエイジ ま 7-1-2)
読了日:07月05日 著者:masha
異種族レビュアーズ (ドラゴンコミックスエイジ ま 7-1-1)
読了日:07月05日 著者:masha
TCP技術入門 ――進化を続ける基本プロトコル (WEB+DB PRESS plusシリーズ)
読了日:07月02日 著者:安永 遼真,中山 悠,丸田 一輝
読書メーター
Emacsの補完機能をHelmからIvyへ移行
バズってたQiitaの記事を参考に、HelmからIvyに移行してみた。
自分が加えた変更は次のとおり。
counsel-M-x
の絞り込み開始後のソーティング方法を辞書順に
長さでソートした後、さらに辞書順でソートするようにした。
(defun ivy--sort-by-len (name candidates) "Sort CANDIDATES based on similarity of their length with NAME." (let ((name-len (length name)) (candidates-count (length candidates))) (if (< 500 candidates-count) candidates (seq-sort-by (lambda (candidate-string) (cons candidate-string (abs (- name-len (length candidate-string))))) (lambda (a b) (if (not (= (cdr a) (cdr b))) (< (cdr a) (cdr b)) (string< (car a) (car b)))) candidates)))) (dolist (i '(counsel-M-x counsel-apropos counsel-describe-function counsel-describe-variable counsel-describe-face)) (setf (alist-get i ivy-sort-matches-functions-alist) 'ivy--sort-by-len))
helm-ls-gitパッケージの代替コマンドを定義
helm-ls-gitに相当するcounselのパッケージが見つからなかったので、 Find file in a Git repo with ivy · (or emacsを参考に代替コマンドを定義した。
追記: あとで見直したらcounsel-git
というコマンドが定義済みだった。なんで見逃したんだろ。
"other window"
アクションをどうしても追加したくて方法がわからず苦労したが、ソースコードやヘルプを色々と探したらどうやらivy-set-actions
で設定することが分かった。
ivy-read
のcaller
は何のために設定するのかと思ったらivy-set-actions
に登録するコマンド名と対応するようだ。
;; replaced from helm-ls-git (ivy-set-actions 'counsel-git-ls '(("j" find-file-other-window "other window") ("f" find-file-other-frame "other frame"))) (defun counsel-git-ls (&optional initial-input) "Find file in the current Git repository. When INITIAL-INPUT is non-nil, use it in the minibuffer during completion." (interactive) (let* ((default-directory (locate-dominating-file default-directory ".git")) (candidate-git-files (split-string (shell-command-to-string "git ls-files --full-name --") "\n"))) (ivy-read "Git files: " candidate-git-files :initial-input initial-input :action #'find-file :caller 'counsel-git-ls)))
AnsibleのFilter
Jinja2の公式マニュアルだと物足りないなと思ったら、Ansibleは追加のFilterを持っているようだ。
regex_escape
のように地味に便利そうなFilterも使えるようだ。
Rubyスクリプトでパスワード入力
io/console
をrquire
してからIO#getpass
を使う。
$ ri IO#getpass = IO#getpass (from ruby core) ------------------------------------------------------------------------ io.getpass(prompt=nil) -> string ------------------------------------------------------------------------ Reads and returns a line without echo back. Prints prompt unless it is nil. You must require 'io/console' to use this method.
Rubyの文字列検索いろいろ
単純な文字列検索ならString#include?
が速い。
正規表現なら余分なMatchData
を生成しないRegexp#match?
が速い。
MatchData
が生成されると遅くなる。
String#~
は何らかの最適化が入っているようで、検索後にMatchData
にアクセスしなければRegexp#match?
の次に速い。
通常はString#~
を使って、速度が気になるときはRegexp#match?
が使えるか検討するとよいかな。
#!/usr/local/bin/ruby # -*- coding: utf-8; frozen_string_literal: true -*- require 'benchmark' s = '12345 foo 67890' puts 'String#include?' p(s.include? 'foo') puts 'Regexp#match?' p(/foo/.match? s) puts 'Regexp#match' p(/foo/.match s) puts 'String#=~' p(s =~ /foo/) Benchmark.bm(35) do |x| num_trial = 1_000_000 x.report('empty') { num_trial.times do # nothing to do. end } x.report('[match] String#include?') { num_trial.times do s.include? 'foo' end } x.report('[match] Regexp#match?') { num_trial.times do /foo/.match? s end } x.report('[match] Regexp#match') { num_trial.times do /foo/.match s end } x.report('[match] String#=~') { num_trial.times do s =~ /foo/ end } x.report("[match] String#=~; $`; $&; $'") { num_trial.times do s =~ /foo/; $`; $&; $' end } x.report('[match] String#=~; $~') { num_trial.times do s =~ /foo/; $~ end } x.report('[no match] String#include?') { num_trial.times do s.include? 'bar' end } x.report('[no match] Regexp#match?') { num_trial.times do /bar/.match? s end } x.report('[no match] Regexp#match') { num_trial.times do /bar/.match s end } x.report('[no match] String#=~') { num_trial.times do s =~ /bar/ end } x.report("[no match] String#=~; $`; $&; $'") { num_trial.times do s =~ /bar/; $`; $&; $' end } x.report('[no match] String#=~; $~') { num_trial.times do s =~ /bar/; $~ end } end
実行結果:
String#include? true Regexp#match? true Regexp#match #<MatchData "foo"> String#=~ 6 user system total real empty 0.109375 0.000000 0.109375 ( 0.109012) [match] String#include? 0.250000 0.000000 0.250000 ( 0.256767) [match] Regexp#match? 0.312500 0.000000 0.312500 ( 0.301961) [match] Regexp#match 0.890625 0.000000 0.890625 ( 0.897493) [match] String#=~ 0.421875 0.000000 0.421875 ( 0.423258) [match] String#=~; $`; $&; $' 0.531250 0.000000 0.531250 ( 0.550842) [match] String#=~; $~ 0.921875 0.000000 0.921875 ( 0.933610) [no match] String#include? 0.187500 0.000000 0.187500 ( 0.183050) [no match] Regexp#match? 0.265625 0.000000 0.265625 ( 0.279306) [no match] Regexp#match 0.406250 0.000000 0.406250 ( 0.413185) [no match] String#=~ 0.328125 0.000000 0.328125 ( 0.324284) [no match] String#=~; $`; $&; $' 0.359375 0.000000 0.359375 ( 0.357800) [no match] String#=~; $~ 0.343750 0.000000 0.343750 ( 0.371355)
5月に読んだ本やマンガ
5月の読書メーター
読んだ本の数:51
読んだページ数:9700
ナイス数:3
スライム倒して300年、知らないうちにレベルMAXになってました(4) (ガンガンコミックスONLINE)
読了日:05月02日 著者:森田 季節,シバユウスケ
きっと愛され女子になる!(2) (まんがタイムコミックス)
読了日:05月02日 著者:瀬戸口みづき
異世界おじさん 1 (MFC)
読了日:05月02日 著者:殆ど死んでいる
異世界おじさん 2 (MFC)
読了日:05月02日 著者:殆ど死んでいる
我が愛しのヲタ彼女(1) (エッジスタコミックス)
読了日:05月02日 著者:粒々 辛苦,咲良
我が愛しのヲタ彼女(2) (エッジスタコミックス)
読了日:05月02日 著者:粒々辛苦,咲良
我が愛しのヲタ彼女(3) (エッジスタコミックス)
読了日:05月02日 著者:粒々辛苦,咲良
WEB+DB PRESS Vol.110
読了日:05月02日 著者:藤村 大介,森田 リーナ,渡邉 祐一,市原 創,板倉 広明,高橋 征義,笹田 耕一,大原 壯太,新倉 涼太,末永 恭正,久保田 祐史,牧 大輔,東 邦之,星 北斗,池田 拓司,竹馬 光太郎,はまちや2,竹原,八谷 賢
ディーふらぐ! 1 (MFコミックス アライブシリーズ)
読了日:05月02日 著者:春野 友矢
おしかけツインテール (1) (まんがタイムコミックス)
読了日:05月02日 著者:高津 ケイタ
おしかけツインテール(2) (まんがタイムコミックス)
読了日:05月02日 著者:高津 ケイタ
おしかけツインテール(3) (まんがタイムコミックス)
読了日:05月02日 著者:高津ケイタ
おしかけツインテール (4) (まんがタイムコミックス)
読了日:05月02日 著者:高津ケイタ
キン肉マン 67 (ジャンプコミックス)
読了日:05月02日 著者:ゆでたまご
ワンパンマン 19 (ジャンプコミックス)
読了日:05月02日 著者:村田 雄介
東洋的な見方 (角川ソフィア文庫)
読了日:05月02日 著者:鈴木 大拙
甲冑武闘 (ハルタコミックス)
読了日:05月08日 著者:久慈 光久
宇宙と宇宙をつなぐ数学 IUT理論の衝撃
読了日:05月08日 著者:加藤 文元
大進化どうぶつデスゲーム (ハヤカワ文庫JA)の感想
Dゲームかな?
投げっぱなしの伏線が気になる。峡谷の巨大な巨頭肉食ダチョウの化石はなんだったのだろう。
話の尺とくらべて登場人物の人数が多いので、続編があるのか、もしくはもともともっと長編の構想だったのを削ったのだろうか。
読了日:05月08日 著者:草野 原々
MASTERグレープ (7) (ゲッサン少年サンデーコミックス)
読了日:05月14日 著者:
銀狼ブラッドボーン (10) (裏少年サンデーコミックス)
読了日:05月14日 著者:
持たざる経営の虚実 日本企業の存亡を分ける正しい外部化・内部化とは?
読了日:05月14日 著者:松岡 真宏
白熱日本酒教室 1 (星海社COMICS)
読了日:05月19日 著者:アザミ ユウコ
白熱日本酒教室 2 (星海社COMICS)
読了日:05月19日 著者:アザミ ユウコ
日本沈没 1 地下の竜巻 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 2 日本海溝 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 3 D計画 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 4 古都消失 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 5 推論、帰結ス。 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 6 記憶喪失の国、記憶喪失の首都。 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 7 阿部玲子 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 8 冥府、火の国 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 9 日本沈没阻止計画 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 10 奇跡の価値・奇跡の代償 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 11 すばらしい日々 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 12 彼等の日々 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 13 やまぬ雨の中で (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 14 沈み行く国 (ビッグコミックス)
読了日:05月19日 著者:小松 左京,一色 登希彦
日本沈没 15 (ビッグコミックス)
読了日:05月19日 著者:一色 登希彦
きょーだん! 1 (アルファポリスCOMICS)
読了日:05月22日 著者:
きょーだん! 2 (アルファポリスCOMICS)
読了日:05月22日 著者:
ふたりソロキャンプ(1) (イブニングKC)
読了日:05月22日 著者:出端 祐大
あせびと空世界の冒険者 10 (リュウコミックス)
読了日:05月22日 著者:梅木泰祐
ふたりソロキャンプ(2) (イブニングKC)
読了日:05月24日 著者:出端 祐大
宵闇眩燈草紙 (1) Dengeki comics EX
読了日:05月25日 著者:八房 龍之助
宵闇眩燈草紙 (2) Dengeki comics EX
読了日:05月25日 著者:八房 龍之助
宵闇眩燈草紙 (3) Dengeki comics EX
読了日:05月25日 著者:八房 龍之助
宵闇眩燈草紙 (4) Dengeki comics EX
読了日:05月25日 著者:八房 龍之助
宵闇眩燈草紙 (5) Dengeki comics EX
読了日:05月25日 著者:八房 龍之助
宵闇眩燈草紙 (6) Dengeki comics EX
読了日:05月25日 著者:八房 龍之助
宵闇眩燈草紙 (7) (Dengeki comics EX)
読了日:05月25日 著者:八房 龍之助
読書メーター
4月に読んだ本やマンガ
4月の読書メーター
読んだ本の数:19
読んだページ数:2728
ナイス数:0
うわばみ乙女ずかん 1 (ヤングアニマルコミックス)
読了日:04月01日 著者:後藤羽矢子
雀荘のサエコさん 4 (近代麻雀コミックス)
読了日:04月01日 著者:重野 なおき
まほろばきっさ 1 (バンブーコミックス)
読了日:04月02日 著者:tugeneko
まほろばきっさ 2 (バンブーコミックス)
読了日:04月03日 著者:tugeneko
まほろばきっさ 3 完結 (バンブーコミックス)
読了日:04月03日 著者:tugeneko
ちっこいんちょ (1) (まんがタイムコミックス)
読了日:04月03日 著者:トイシキ
師匠と弟子(上) (ぶんか社コミックス)
読了日:04月03日 著者:高橋葉介
師匠と弟子(下) (ぶんか社コミックス)
読了日:04月04日 著者:高橋葉介
も~っと集まれ! ファルコム学園1 (ファルコムBOOKS)
読了日:04月09日 著者:新久保 だいすけ
人形の国(4) (シリウスKC)
読了日:04月09日 著者:弐瓶 勉
怪物王女ナイトメア(4) (シリウスKC)
読了日:04月09日 著者:光永 康則
ちっこいんちょ (2) (まんがタイムコミックス)
読了日:04月12日 著者:トイシキ
ちっこいんちょ (3) (まんがタイムコミックス)
読了日:04月12日 著者:トイシキ
でっかいんちょ (1) (まんがタイムコミックス)
読了日:04月12日 著者:トイシキ
残酷すぎる成功法則 9割まちがえる「その常識」を科学する
読了日:04月16日 著者:エリック・バーカー
衛府の七忍(7) (チャンピオンREDコミックス)
読了日:04月25日 著者:山口貴由
いとしのムーコ(14) (イブニングKC)
読了日:04月25日 著者:みずしな 孝之
The Art of UNIX Programming
読了日:04月26日 著者:Eric S.Raymond
達人伝-9万里を風に乗り-(11) (アクションコミックス)
読了日:04月26日 著者:王 欣太
読書メーター