Jeetでコケた話

対処

2016.06.29時点だと、6.1.2に戻せば解消します。

github.com

エラー時のメッセージ

npm run gulp build で下記エラーが。

   13| @import 'node_modules/jeet/stylus/jeet'
---------------^
   14| @import 'node_modules/iconfonts/stylesheets/font-awesome'
   15| fa-font()
   16|

failed to locate @import file node_modules/jeet/stylus/jeet.styl

上記Issueを見て、6.1.2に戻す。

$ npm install jeet@6.1.2

ansible-galaxyでバージョン指定するとエラーになった

$ ansible --version
ansible 1.9.4
  configured module search path = None

Ansibleのroleをバージョン指定で使いたかったので、
YAMLファイルに記載して管理しようと。
で、次のように書いて実行するとエラーに・・orz

# requirement.yml(error-ver.)
- src: retr0h.logrotate
   version: 2.0

 

$ ansible-galaxy install -r requirements.yml -p roles --force
- executing: git clone https://github.com/retr0h/ansible-logrotate ansible-logrotate
Traceback (most recent call last):
  File "/usr/local/Cellar/ansible/1.9.4/libexec/bin/ansible-galaxy", line 959, in <module>
    main()
  File "/usr/local/Cellar/ansible/1.9.4/libexec/bin/ansible-galaxy", line 953, in main
    fn(args, options, parser)
  File "/usr/local/Cellar/ansible/1.9.4/libexec/bin/ansible-galaxy", line 796, in execute_install
    tmp_file = scm_archive_role(role_scm, role_src, role.get("version"), role.get("name"))
  File "/usr/local/Cellar/ansible/1.9.4/libexec/bin/ansible-galaxy", line 376, in scm_archive_role
    print "- executing: %s" % " ".join(archive_cmd)
TypeError: sequence item 4: expected string, float found

文字列のところが数値だからダメなんだそうで。
次のように書けば通った。
数値として認識されたんだなー

# requirement.yml(ok-ver.)
- src: retr0h.logrotate
   version: "2.0"

ということで、次のようなものは括らなくても大丈夫。

# requirement.yml(ok-ver.)
- src: geerlingguy.composer
   version: 1.4.0

Ansible Galaxy — Ansible Documentation には書いてないけど、どっかに書いてあるのかな・・

get_term_childrenで子タームが取得できない

結論

次のブログに書いてあるキャッシュの削除で解消した。

haikikyou.hatenablog.com

ありがとうございます! 助かりました!

経緯

get_term_childrenでデータが取得できない。
中身を見てみると、_get_term_hierarchy で こんなんやってて、これが取れてない。

$children = get_option("{$taxonomy}_children");

options テーブル見てみると、確かに空っぽいデータになってる。

terms はコードでデータを入れ込んでるので、上記ブログのようにキャッシュが正しく削除されなかったのだろう・・

上記ブログに記載ある通り、適当な箇所で下記を実行することでデータが正しく生成され、get_term_childrenでもデータが取得できるようになった。

// clean_term_cache関数より引用
$taxonomy = 'category';
wp_cache_delete('all_ids', $taxonomy);
wp_cache_delete('get', $taxonomy);
delete_option("{$taxonomy}_children");
_get_term_hierarchy($taxonomy);

WPのリビジョンを一時的に無効化する

WordPress 4.4だとこれで一時的に無効化できた。

remove_action('post_updated', 'wp_save_post_revision');
$post_id = wp_update_post( $arg );
add_action( 'post_updated', 'wp_save_post_revision' );

ググったら次のようなコードがよく出てくるけど、4.4だと動かなかった。

remove_action('pre_post_update', 'wp_save_post_revision');
$post_id = wp_update_post( $arg );
add_action( 'post_updated', 'wp_save_post_revision' );

JAWS DAYS 2016でスタッフやってきた!

去年に引き続き、スタッフやってきた。
ブログを書くまでが(ry

jawsdays2016.jaws-ug.jp

まとめ

去年よりは動けた気がする。
来年は事前準備からちゃんと協力する!


当日まで

前回の反省を活かし、手伝うものを詰め込み過ぎないようにした。
あと、リマインダーも10分前に鳴るようにセット。
おかげで前回みたいにてんてこ舞いになることはなかった(^^)

受付

ドアキのアプリを使ったことが無かったので戸惑ったが、1件だけ読み込めないものがあったぐらいで、大きな問題もなく済んだ。
10時前までだったから、人も少なかったし。
どちらかと言えば、スタッフ受付時のTシャツサイズリストが文字小さくて探すのに手間取った(^^;)

JAWS-UGブース

人もいないし、支部のマップやシャツも無かったので、
向かいの「なりきり2.0」でスト2を少々w
これがホント楽しくて、センタートラックで大会してもいいんじゃないかなーと思うぐらい。
そのあとマップ貼ったり、11:00からのインタビューに向けて声がけしたり。

休憩

ライフワークバランスのやつ、最後まで聴きたかったなー

弁当

B1Fコンビニから運んだり、配布したり、片付けたり、片付けたり、片付けたり。
10人ぐらいから「もう弁当ないの?」と聞かれる。

workshop

14:00〜16:00のworkshopサポートスタッフをしたけど、
事前準備していない人が大多数・・orz
事前に用意してたUSBも2つじゃ足りなかった。
重たい事前準備があるハンズオンは事前申し込み制じゃないとキツイかもと思った。

資料がすばらしいので、ぜひ持ち帰ってやってほしいなーと。

github.com

懇親会

これ

www.slideshare.net

JAWS-UG総会

何か発言しとけばよかったなと。

その他

うちのロゴ、文字数が長いから引きで見ると目立たないんだよなー

次回に向けてのメモ

  • スケジュールは詰め過ぎないようにすると、より楽しめる
  • リマインダーを各10分前にセットしておくと忘れません
  • 各トラック・ブースなどの位置は事前に把握しておくこと
  • JAWS-UGブースの10時台はマップやTシャツ貼ったりする準備系のお仕事
  • わかんないことはslackで聞く
  • 弁当の片付け方法は先に聞く
    • 弁当の空箱はかごの中にそのまま入れてた(ゴミ袋に入れない)
  • スタッフの弁当が確保されているかは事前に確認
  • 事前準備していない人向けにUSBとかでデータを持っておく
    • 5個ぐらい持っているといいかも
  • テザリングしない
  • Linuxでハンズオン参加する人もいます(そりゃそうだ)
  • 次回こそは麻雀とかるたをやる!
    • やれるようなスケジューリングを

Jenkins勉強会 第4回 Jenkins meets Other CI に行ってきた

3/5(土)にGwave Incubateで開催されたJenkins勉強会に行ってきた。

jenkins-ug-okinawa.doorkeeper.jp

Jenkins meets Other CIということで、次のCIサービスを興味ある人達で固まって触ってた。

  • Travis CI
  • CircleCI
  • SideCI
  • Jenkins Enterprise (これ触ってる人いたのかな?)

で、自分はSideCIを一人でもくもく。

www.sideci.com

以下、使ってみた感想

  • 各開発者の開発環境関係なく一元的・自動でレビューされるから楽になるかなーと
    • これ通してから人がコードレビューするとか
    • まずはこいつを倒してから来いみたいな(違
  • サイトに書いてあるとおり、レビューで引っかかったらPullRequestにコメント入るけど、テストは通った扱いになる。個人的にはエラー扱いにしてほしいけど、ユーザーやプロジェクトによると思うので、SideCI側で設定できるようになってたらなーと。(サイト漁っても探せなかった・・)
  • GitHubだけじゃなくて、Bitbucketにも対応してたらいいなーと。

自動でレビューしてくれるのは楽なので、手持ちのプロジェクトで引き続き使ってみる。


懇親会は楽しすぎたw

車に当てられた話

事故るとめんどくさいよ、という話

経緯

  • 会社近くのスーパー前の交差点で右折待ち中に後続車に当てられる
  • オレ原付
  • 出張から帰ってきたその日

被害

  • 軽いむち打ち、腰と肘が軽い捻挫状態
      - 商売道具が無事だったのが不幸中の幸いか
    
  • 原付
    • 右ミラー破損
    • 後部右ウインカー破損
    • マフラーとタイヤがくっつく
    • 修理工場まで持ってけないので、後日レッカーしてもらう

面倒なこと - 痛み

  • 事故直後はそこまでじゃなかったけど、日を追うごとに痛みが・・
  • 首や腰はあとからくることが多いみたいなんで、痛くなくても病院で検査
    • 次の日に動けなくなったって人もいるみたいですし
  • 業務に支障をきたす
    • パフォーマンスが落ちる
  • リハビリに行かないといけないとかめんどくさい
    • 2〜3ヶ月続くとか

面倒なこと - 保険会社とのやりとり

  • いろんな書類書いたり、領収書取っておかないといけなかったりめんどくさい
  • 事前に先方の保険会社を聞いておけば、支払いしなくてよかったっぽいが
    • 病院や薬局、修理工場全てで「相手の保険会社はどこですかー?」と聞かれたし
  • 「事故当時、原付はどっち側に倒れましたかー?」とか聞かれるけど迂闊なこと言えない
    • そもそも、んなこと覚えてられる状況じゃなかったし
    • 写真撮っておけば・・

面倒なこと - 移動手段の確保

  • 車2台持ちだったらよかったんだけど・・
  • 原付が使えないので、バスを利用
    • 時間通りに動かないといけないのが・・・orz
    • 家から一本で行けないので乗り継ぎ

次回遭遇する前に and 遭遇したら

  • (言うまでもないが)保険は入っておく
  • 首や腰を強打した時は、ひどい痛みじゃなくても救急車に乗っとく
  • 相手の氏名・住所・車のナンバー・保険会社は事故処理中に控えておく
  • 現場の写真を撮っておく
  • いろいろとめんどくさいので安全運転