西暦と和暦を変換する wareki コマンドが新元号「令和」に対応しました。
新元号「令和」への対応
wareki コマンド が新元号「令和」に対応しました。
2019年5月1日以降は令和を返すようになりました。
$ wareki 2019/04/30 H31 $ wareki 2019/05/01 R1
あと --reiwa
オプションと -R
オプションが追加されています。
$ wareki --reiwa 1 2019 $ wareki -R 1 2019
アップデート方法
brew でインストールしているなら brew upgrade wareki
するだけ。
$ brew upgrade wareki
インストール方法
まだインストールしていない人向け。Homebrew でのインストールがおすすめ。
$ brew tap ebc-2in2crc/wareki $ brew install wareki
使い方
XVim2 で使える機能のメモ。
XVim2 でどんな機能が使えるかを調べたメモ。 とりあえず自分が使うものだけ。
モーション
b, B, f, F, gg, G, h, j, k, l, w, W, t, T, 0, $, ^, %, +, -, {, }, (, ), n, N, ', `, M, H, L
自分が使うものはだいたい使えるみたい。カンマとセミコロンも使える *1
マーク
ma
とかでマークしておいて 'a
でマークしておいたところにジャンプできる。
スクロール
C-d, C-f, C-e, C-u, C-b, C-y, zz, zb, zt
ジャンプ
C-o, C-i, gd
C-i
は Xcode の Editor-Structure-Re Indent
機能に割り当てられていたので Preference
> Key bindings
から Editor-Structure-Re Indent
機能への割り当てを解除した。
インサートモード
a, A, i, I, o, O
ナビゲーション
C-], C-t
C-]
は Xcode の Jump To Definition
機能にマッピングされていて、 C-t
は Xcode の Go Back
機能にマッピングされているとのこと。
ヤンク、ペースト、変更
d, dd(d), D, y, yy(y), Y, c, cc(c_), C, r, s, S, x, X
行結合
J
シフトブロック
, >>, <, <<
大文字と小文字の変換
Visual mode: u, U, ~, gu, gU
ノーマルモードではサポートされていないみたい。 自分は主にビジュアルモードで使うから問題なさそう。
元に戻す、やり直し
u, C-r
ビジュアルモード
v, V, C-v
C-v + Shift-i
は動かないと書いてあるけど動くっぽい。
検索と置換
/, ?, #, , g, g#, :s, n, N
Vim ライクな検索は本当に便利。
テキストオブジェクト
ib, iB, i(, i), i{, i}, i[, i], i>, i<, i", i', iw, iW ab, aB, a(, a), a{, a}, a[, a], a>, a<, a", a', aw, aW
とても便利。
Recording
q, @
自分の環境ではうまく動かなかった。
ドットコマンド (.)
自分が使う範囲では十分に使える。
その他
Ex コマンドも結構使えるようで XVim オリジナルの Ex コマンドもあるよう。 まだ XVim をインストールして間もないのだけど「Xcode 使いにくいなー」と思っていたことの結構な部分が Vim キーバインドが使えないことだったかもしれない。
*1:むしろ M, H, L とか使わなすぎて忘れてた
Xcode に XVim2 をインストールしたメモ。
1人で始めた職場での改善活動の1年をふりかえってみたメモ。
職場で勝手にやっている改善活動のメモを取り出してから1年たったのでふりかえってみたメモ。
書くこと
- #俺俺改善活動 ツイートで追うカイゼン
- 変わったこと
- 実際にやっていたこと
- まとめ
ハッシュタグ #俺俺改善活動 ツイートで追うカイゼン
メモはハッシュタグ #俺俺改善活動 を付けて Twitter へツイートしていた。*1
1月: 新しい環境へ
今月の #俺俺改善活動
— えび🦐🍤 (@ebc_2in2crc) 2018年1月26日
・畑を耕し
・肥料を入れ
・種をまき
・水をやり
・嵐が来れば風除けを作り
・壊れれば補修し
・晴れればどける
まだほんの少しだけど,少しずつ収穫できるようになってきた.それは手に取れる "モノ" ではないけれど.
新しい環境でのカイゼンへ意気込む。
8月から年が明けて2月まで
今月の #俺俺改善活動
— えび🦐🍤 (@ebc_2in2crc) 2018年8月31日
・チーム内で俺俺ツールや知識を交換する場を定期的に開催開始🎉
・↑ですごく便利なツールを共有してもらった💕💕💕
・たまにしか使わないけど,手作業ざっくり消せるツールを共有→すごく喜んでもらえた😳
・業務知識が数ヶ月単位で上昇
今月の #俺俺改善活動
— えび🦐🍤 (@ebc_2in2crc) September 28, 2018
・先月から始めたチーム内で俺俺ツールや知識を交換する場が継続
・業務知識が数ヶ月単位で上昇
・治具的なツールに結構詳しくなった
あまり進んでないけど,こんなときも珍しくないさ
今月の #俺俺改善活動
— えび🦐🍤 (@ebc_2in2crc) 2018年10月31日
・チーム内の知識交換で「知ってる人が発信」に加えて,知らない人が「聞ける」が空気がでてきた
・業務知識が今月も倍速以上で上昇
・ボス「絶対みんな助かってますよ!!」⬅️ぼくの活動に対して……ッ!!
ゆるゆるとだけど,ようやく慣性が生まれ始めたかな
今月の #俺俺改善活動
— えび🦐🍤 (@ebc_2in2crc) 2018年11月30日
・某データの出生を探し出すツール作って余計な作業時間とイライラとミスが激減した
・↑途中から参画した人ほど効果が大きいらしい
・別に便利ツールを公開してもらって,これがまた便利😊
着実に継続しているけど,もう少し加速させたい……っ!
今月の #俺俺改善活動
— えび🦐🍤 (@ebc_2in2crc) 2018年12月25日
・「えびさん wiki のおかげですごく助かってます!」⬅️嬉しい!
・1日作業だった環境構築が10分に
・↑ついでに暗黙知をドキュメントに
こんなところ.
かなり大きめのところをやっつけたけど,来月は細かいところをたくさん改善していきたい(๑•̀ㅂ•́)و✧
今月の #俺俺改善活動
— えび🦐🍤 (@ebc_2in2crc) January 28, 2019
・チームメンバー共通のフォーマッター導入
ギョームが忙しく今月はこれだけ……なのだが、違う人が編集するたびに修正目的と関係ない変更がなくなるのは大きい
今月の #俺俺改善活動
— えび🦐🍤 (@ebc_2in2crc) 2019年2月28日
・俺俺シェルスクリプトを公開してくれる人が出てきた
・俺俺ワンライナーを同上
・かなり大きめの暗黙知を形式知にしてくれた人🌈
・細々としたところをたくさん形式知化
地味に相当改善されてる(๑•̀ㅂ•́)و✧
変わったこと
実際にやっていたこと
基本的には「自分が味わった苦労は他の人、特にあとからその領域に入ってきた人には味わってほしくない」を行動基準の軸にしている。
まとめ
新しい環境に移ってから1年以上がたっているが、まだカイゼンは始まったばかりだと感じている。
自分たちのチームはもっともっとカイゼンできるはずだし、カイゼンすることによって新たにカイゼンできることがさらに増えていき、なにより業務そのものの質を高めていける、そう思っている。
*1:あとで検索するのが楽なので
在宅での仕事で作業に集中するために効果があった工夫のメモ。
ここ1ヶ月くらい在宅で仕事をすることが多かったので、自宅でも安定して仕事に集中するために効果があった工夫をメモ。
工夫を一言でいうと
工夫を一言でいってしまうと「作業環境を会社でのそれに近づける」これに尽きる。
本来はプライベートモードであるのが当然の空間である自宅を、仕事モードに入っている時の環境 = 会社での作業環境に近づけることによって自然と仕事モードに入ることができ、それを持続することができる。
工夫の具体的なところ
ラジオをかける
自分の会社では常にラジオがかかっているので、在宅で仕事するときにもラジオをかけるようにしている。
会社では常に J-Wave がかかっているので、当然自宅でも常に J-Wave をかけている。
J-Wave は平日の帯番組が決まっているため、そのときにかかっている番組でだいたいの時間帯が肌感覚で分かるのだが、この「肌感覚でだいたいの時間帯が分かる」というのも会社と自宅とで同じ体験となるため、仕事に集中しやすくなるのに一役買っているようだ。
食事
普段は就業開始時間の少し前に出社して、コンビニで買ってきたおにぎりやサンドイッチを自分の席で食べている。
在宅での仕事を始めた頃は朝食を自炊していたのだが、それをやめて普段と同じような時間帯にコンビニで食事を買い、普段と同じような時間帯に食べるようにしたところ、とても仕事モードに入りやすくなった。
当然、コンビニで買うのも普段と同じようにおにぎりやサンドイッチだ。
飲み物
普段はコンビニで朝食と一緒にコーヒーを買ってきてそれを飲みながら仕事をしている。
そこで、在宅での仕事でも同じようにコンビニで朝食と一緒にコーヒーを買ってきて飲むようにしたところ、とても仕事モードに入りやすくなった。
熱いコーヒーの香りが部屋に漂っているとリラックスするとともに仕事に向き合う気力も湧いてくる。
在宅での仕事で作業に集中するためにどれくらい効果があったのか
今の作業環境を作ったことで会社と完全に同じか、ときによって会社よりも作業に集中できるようになった。
会社ではどうしてもノイズが発生してしまうところが自宅では発生しないのでより集中しやすいのかもしれない。というか、自宅で仕事をしていると集中しすぎて定時が過ぎたころにはぐったりしていることが多い。
今後
さらにいろいろ試してみて、より作業に集中しやすい工夫を見つけていきたい。
*1:といっても高いものではなく実用性重視のもの
ipa ファイルからプロビジョニングプロファイルの期限を確認するメモ。
ipa ファイルからプロビジョニングプロファイルの期限を確認するメモ。
確認する方法
プロビジョニングプロファイルの情報は ipa ファイルのなかの Payload/<アプリ>.app/embedded.mobileprovision に記述されているので、それを確認すればよい。
embedded.mobileprovision の中身は XML で
実際の確認
ざっくりと確認
こんな感じで確認できた *1
$ unzip -p <ipa ファイル> Payload/<アプリ>.app/embedded.mobileprovision \ | strings \ | LC_ALL=C sed -n -e '/ExpirationDate/ {n;p;}' \ | sed -e 's/<\/*date>//g' 2019-12-14T00:00:00Z
embedded.mobileprovision を XML として確認
embedded.mobileprovision の中身は XML なので XML として扱っても同じように確認できる。
$ unzip -p <ipa ファイル> Payload/<アプリ>.app/embedded.mobileprovision \ | strings \ | LC_ALL=C sed -n -e '/^<data/d' -e '/^<?xml/,/^<\/plist>/p' \ | xmllint --xpath '//key[text()="ExpirationDate"]//following-sibling::date[1]/text()' - 2019-12-14T00:00:00Z
*1:LC_ALL を設定している理由は MAC OSXでsedした時の sed: RE error: illegal byte sequence エラー - 渋谷ラーメン男道 を参照
利用できる iOS シミュレーターをざっくり確認するときのメモ。
利用できる iOS シミュレーターをざっくり確認するときのメモ。
Xcode の Devices & Simulators から確認できるけど、普段 Xcode を使わないのでコマンドラインからざっくり確認したい。
こんなときは Xcode のコマンドラインツールである simctl コマンドを使うと簡単に確認できる。
$ xcrun simctl list devices == Devices == -- iOS 11.2 -- iPhone 5s (C367044F-AF26-47DE-8444-9F22416C2525) (Shutdown) iPhone 6 (2E19BDBE-A762-4115-9582-DAC66FD9B106) (Shutdown) iPhone 6 Plus (E08573CC-0879-4312-BC06-E6D40989EB40) (Shutdown) iPhone 6s (C2CF2C3B-D776-4D72-B564-E59BD7527058) (Shutdown) iPhone 6s Plus (B24A7481-2E12-40DF-85B4-F657E7A7BD3E) (Shutdown) iPhone 7 (81425B8B-E722-4BFB-B467-7FF0A87F0151) (Shutdown) iPhone 7 Plus (F55C9029-7330-454A-9661-D65FB131F40F) (Shutdown) iPhone 8 (1C7D47A9-7E21-41BF-8AB2-8BB2DE28A846) (Shutdown) iPhone 8 Plus (65084E57-278A-4268-B37E-CA149D9FE1CB) (Shutdown) iPhone SE (80BC4B09-1E76-455A-BC28-125A2C1DBC59) (Shutdown) iPhone X (06E64320-B050-44BC-9D59-97B3B0860C43) (Shutdown) # 省略 -- Unavailable: com.apple.CoreSimulator.SimRuntime.iOS-11-0 -- iPhone 5s (547BCCDF-AED5-4284-BF4D-4FA20DBB09A1) (Shutdown) (unavailable, runtime profile not found) iPhone 6 (B348CE31-10CD-4D92-AB5E-2784BF65C751) (Shutdown) (unavailable, runtime profile not found) iPhone 6 Plus (AA4EECE5-BDCD-4B73-84A6-ADEEFF95EC9C) (Shutdown) (unavailable, runtime profile not found) iPhone 6s (956995BD-35FB-476D-B17F-F750065EF012) (Shutdown) (unavailable, runtime profile not found) iPhone 6s Plus (09FD128D-C32E-488A-81BB-EC4F134A0EE6) (Shutdown) (unavailable, runtime profile not found) iPhone 7 (6D0D76B6-57E9-4292-A420-4738E9022EBF) (Shutdown) (unavailable, runtime profile not found)
こんな感じでぞろぞろと出力されるのだが、ランタイムがないなどで利用できないデバイスも出力されるし、自分は iOS 以外のシミュレーターは必要としていないので、このあたりをフィルタリングすると見やすくなりそう。--json オプションを使うと JSON で出力できるので、それを jq コマンドでフィルタしてみる。
$ xcrun simctl list --json devices | jq --raw-output '.devices | to_entries[] | select(.key | startswith("iOS")) | .key as $key | .value[] | select(.availability == "(available)") | .name + ", " + $key' iPhone 5s, iOS 11.2 iPhone 6, iOS 11.2 iPhone 6 Plus, iOS 11.2 iPhone 6s, iOS 11.2 iPhone 6s Plus, iOS 11.2 iPhone 7, iOS 11.2 iPhone 7 Plus, iOS 11.2 iPhone 8, iOS 11.2 iPhone 8 Plus, iOS 11.2 iPhone SE, iOS 11.2 iPhone X, iOS 11.2 iPad Air, iOS 11.2 iPad Air 2, iOS 11.2 iPad (5th generation), iOS 11.2 iPad Pro (9.7-inch), iOS 11.2 iPad Pro (12.9-inch), iOS 11.2 iPad Pro (12.9-inch) (2nd generation), iOS 11.2 iPad Pro (10.5-inch), iOS 11.2
いい感じ。