投稿

12月, 2016の投稿を表示しています

エンジニアの妻になってしまった我が妻には感謝している

この記事は妻・夫を愛してるITエンジニア Advent Calendar 2016の21日目です。

前日はtamootさんでした。

はじめに
パートナーを愛してる話ということですが、圧倒的感謝しかないです。死ぬ。感謝で死ぬ。ほんとに。

昨今のインターネッツは生きづらいので、本当は3倍量くらい書いてましたがシンプルな感謝状になりました。インターネット滅びろ。
感謝
そんなインターネットで出会い、それからお付き合いしたのが日韓ワールドカップ後くらいからなのでもう14年のおつきあいになりますか。出会った当初はお互い学生でしたし、今のような職業に就くとは思ってませんでしたね。
働き始めてからの二人の夕食については、基本的に僕が作るスタンスで生活してきました。これは妻が偏食であること、また食に対してもともとはあまり能動的でないことなどから生まれたスタイルで、かつてマウントレーニアのカフェラテを夕食と言い張り、キャベツしかまともに食べられる野菜がなかった妻が今ではある程度サラダやトマトソースなども口にできるようになったことを考えると大いなる進歩を感じます。これは逆に感謝されたい。されたい。してくれ!!!
とはいえ、いくぶんかの家事をこちらで引き取ってはいても、なにぶん僕が仕事でコード書くのに熱中したりしてて夜遅めの生活になっていて、妻には日々の生活において主に子供関連で負荷がかかっていて申し訳ないなぁと思っています。いつも苦労をかけています。ごめんなさい。本当にありがとう。

いつも夫婦ふたりともおふざけ野郎なので、とりとめなく延々とふざけているのですが、このやり取りに本当に癒やされています。最近は子供が輪をかけてふざけ野郎なので、その点は割りと心配していますが、避けられない運命ではあるので、彼がふざけを極めたければ極めれば良いなと思っていますし、それを二人で見守ることができれば最高ですね。僕だけかもしれませんが。
最後に
スイート10は難しいかと思いますが、来年も何度かネックレスをプレゼントできるようにがんばりますのでご容赦ください。温泉旅行にでも行きたいですね。ありがとう。

明日はsakanatechさんです。楽しみですね。

2016年にgoを使ったのでまとめ

あ、怖いな怖いな、穴埋めたいなーと思っていたのでつらつら書いて埋めたいと思います。

はじめに
この記事はGo Advent Calendar 2016の10日目であるべき投稿だったようです。

2015年からgoやりたいなーと思っていましたが、今年の4月に転職してから思いがけずgoでWebAPIなどを書く仕事を色々やらせていただけたので、良かったもの/こと、仕事をする上で自分でつくったもの、などについて書きます。


良かったもの
仕事で作ったものはWebのAPIだったり社内の他のシステムにキューイングするライブラリだったりと、そんな小難しいものは作っていないので箇条書きに
goaginkgogo-bindatazgok この辺のライブラリやWAFには非常に助けられました。最初はgojiを利用して、それをechoでまるっと書き直したりしていたのですが、ドキュメントを書くのが面倒なのがきっかけで今年後半に新しいものを作るときはgoaを利用してみて、非常に良かったです。最初にDSLで設計を書くのが大変ですが、慣れれば設計の楽しさみたいなものも感じられる良いフレームワークではないかと思います。
テストは最初conveyを使っていましたが、もうちょっとSpecに近いテスト記述をしたかったので途中からはginkgoに切り替えています。Ωは使わずに、Expectで書いています。conveyはブラウザでテストがグルグル回るので楽しいです。自動でぶん回してほしい人はconvey使ってみてください。
最後のgo-bindataとzgokは両方共静的ファイルをバイナリに含めるためのライブラリで、少しアプローチが違います。
go-bindata → 静的ファイル群を.goのファイルに変換するzgok → ビルド後のバイナリに静的ファイル群をZIPアーカイブとして追加する go-bindataだと変換後のファイルをcommit資材に入れるかどうか迷ったりして、ちょっと迷ったりするのですが、テスト用のファイルだけcommitしておいてその後はビルド直前に再度変換をかけたりするようにjenkinsなどでシェルを書くことで対応しています。 ビルド前後に何か書く前提であれば、zgokのほうがcommitとしては悩まなくて良いので個人的には好みです。

自分で作ったもの
github.com/deadcheat…

echoのロギングでlogrusを利用するための何かを更新した

主に社内の一部アプリケーションでechoを利用していて、内部のログ処理をすべてlogrusに移行したいなと思い、以前表題のミドルウェア?を作ったのですが、いつの間にか依存ライブラリに変更が入っていてコンパイルエラーを起こすようになっていたので修正しました。

github.com/deadcheat/echologruslogger

特にreadmeとかも整備してなくて、わかる人向けという感じです。
glide経由で落としてこられることは確認済みなので、echo使ってる人はどうぞ。

金曜に修正した内容は、gommon/logのエラーレベルの定数からFATALが消えたので、合わせて利用箇所を削除したのと、Conveyでテストを書いていたのをGinkgoに変更して、少しだけリファクタリングしたくらいです。

goは小難しいことを考えないほうがうまくいくような気がしていて、こういった修正は非常にスピードよく行えるように思います。

分かる人だけに向けた何かのサンプルを2つつくった

以下のものを作った


Sparkをスタンドアローンで立ち上げたときにSparkプロセスに食わせてウェブアプリを起動して、内部で検索を行うアプリケーションのサンプルみたいなものHadoopStreamingを想定したElixirでのMap/Reduceライブラリのサンプル実装
それぞれ
https://github.com/ginshari/firstsparkapp
https://github.com/ginshari/vessel_sample
にPUSHしてある。

雑兵MeetUpというコミュニティについて

コミュニティ界隈が無駄に被弾してざわざわしています。 今回のように、流れに乗っかって方向性をある程度示すのが本当に正しいことかはわかりません。 かと言ってCoCで縛ることはより一層したくないことですし、私見を述べる以上の意味は無い程度でブログに書いておきます。 はじめに 雑兵MeetUpの始まりに私の方から説明してる会の説明の資料はこちらです
雑兵MeetUpについて
まぁこの会自体が、「普通の勉強会に行くのいしんどい人でもゆるく参加できるようなコミュニティ」を目指しているのはこれだけで伝わってほしいんですが、一応そういう方向を目指してます。
雑兵MeetUpにおけるアウトプットに関する指針
アウトプットに関しての指針とかそういうのは今まで正直考えたこともなくて、そもそも僕自身が変なコンテキストのLTとかいろいろたくさんしてしまっているので、今更人にどうこう指針を示せるわけが無いですね。
あえて意識して言っておきたいなぁというのは
「雑兵MeetUpでは、どんなコンテキスト、どんな内容でも喋っていい」

ということです。
アウトプットされたもの、発表者について尊重したいと思っています。
詳細
ハラスメントポリシーに反しない限りは、スライドの内容がどういう内容であっても、公開資料をどうするかについては公開及び発表内容のシェアの可否も含めて個人の判断を尊重します。 すなわち、 発表スライドに対する撮影/シェアなどの行為の可否発表内容に闇成分(とよんでいます)が含まれる際の事前告知発表内容が含むコンテキストの内容 これらについて、ハラスメントポリシーに反しない限り全て発表者の裁量を尊重します。上記にすしる行為が参加者にて行われ、発表者が困った事態になるときに糾弾されるのは発表者ではなく上記に反した参加者となるべきと考えています。
また、 発表はこうあるべき○○するコンテキストは避けるべき というような、コミュニティ・アウトプットについての方式論、お作法についての指摘については、雑兵MeetUpでの発表においては以下を除き一切を拒絶します。 ハラスメントポリシーに抵触する内容であることの指摘 それらの意見については多大に理解を示しますが、そういった制約コンテキストから遮断された状態をよしとするのが雑兵MeetUpというコミュニティです。
参加者の方には、拙い発表でもいいので、そのと…

vue-bulmaと太陽と埃の中で

土日潰して謎を解決したので書いておこうと思います。

TL;DRvue.jsで使えるbulmaのコンポーネントをnpm installサンプルコード通りに入れたけど何も起きないnpm installだとpackage.jsonのバージョン指定が^1.0.0になっているけど、サンプルで使われてるリポジトリのpackage.jsonだとgithubの最新とるようになってるのに気づくそこ書き換えると\(^o^)/ウゴイタ!yarnめっちゃ早いやーん はじまりはいつも雨 個人でアプリケーション作ろうと思って、テキストエディタを入れようと思ったので、いい感じにごちゃごちゃ考えないで使えるBulmaを使ってるコンポーネントを使おうと思ったわけです。
github.com/vue-bulma
伝わりますか ギフハブに監視されてるかどうかはよくわかんないですけど、まずこいつを使い始めるにあたって、幾つか問題がありました。 普段vue-cliを使って最初の雛形を作成しているのですが、それを使っていると一部のコンポーネントがビルドできなかった見た感じwebpack2を使っているとうまくいきそう手元のvue-cliのwebpackテンプレートはvue2-webpack1なので上手くいっていないのかもしれないシンプルな形でvue2-webpack2を導入するためのテンプレートが見つからない ということで、まずはvue2-webpack2の組み合わせで開発が出来るように整えるひつようがありました。 vue-bulmaのコンポーネントのデモサイトを完全に参照して作業を行っています。 github.com/vue-bulma/vue-admin なぜに君は帰らない この作業自体はそれほど難しいものではなく、webpackが起動するときのチェックエラーが何が問題なのかよくわからないエラーを吐く以外は上記のvue-adminのビルドスクリプトを参考に手元で修正を行ったので問題なく終わりました。 そして、もともと利用しようとしていたvue-bulma-tabsを追加するタイミングに至るのです。
github.com/vue-bulma/tabs
readmeを見ると
npm install vue-bulma-tabs --save
を実行するようになっているので実行し、サンプルコードを動かしてみましたが、肝心…

思ってることを幾つか

書こうと思っていたんですが、結果1個になったブログ

長文を書くことに対して思ってること ブログとか長文ってめっちゃ書くのしんどいし、コメントとかつくとなんとも思ってなくても割りとメンタルには響くので、自分は大丈夫、自分は平気、そう思ってる人も、長文書いたら少しリアルワールドで気晴らししたほうが良いかもしれないなぁってずっと思ってる。長文とは関係ないけど個人的にもうTwitterワールドは地獄インターネットなので自分用のつぶやきSlackか自分用SNS作って引退したいと思ってます。ギフハブ。
やっぱあのクラウドソーシングで記事書くみたいなタスクも少しだけやったことあるんですけど、あれはウォッシュレット完備のトイレでうんこするだけなんですよ。ポチャンつって、お釣りも返ってこないくらいスッキリ、ダブルのトイレットティッシュも完備されてて。精神的な話ね。 で、自分のブログとかに長文書くのって、特に仕事以外で書いてる場合のほうがそうかもしれないですけど、路上でウンコを出そうとしてるときぐらい気を使うと思ってて。ただの例えですよ、ただの例え。でも想像してみてほしくて、路上でうんこしなきゃいけない、ってなったら、めっちゃ気をつけません?ズボンにウンコつくかもしれない。ズボン下げたときにポリスに声をかけられるかもしれない。ビチャビチャだったらどうしよう。そんな風に神経質に考えながら書かれてるのが長文のブログだと僕は思います。
現に、こんなウンコの話してる文章と、本来だったら前後に2倍位の分量で書いてた文章を、僕は3回全部消して書き直してるんです。残ったのがこのウンコですよ。ほんと馬鹿馬鹿しいと思いますよね。でも、長文書くのってそういうことなんだと思うんです。だからみんな気をつけて長文書いてください。自分を大事に。
何が言いたいかっていうとそういうこと。長文書くとき結構ダメージ負ってるから。無理せずに。心配してます。