recipe for target 'src' failed
みたいなことが書かれてあって???ってなったけど暫定対応として make clean
してからmakeするとうまくいった。
builderscon 2017で「OSS貢献超入門」というタイトルで発表しました #builderscon
builderscon 2017で発表しました。まずは、僕の発表を聞きに来られた皆様に御礼申し上げます。
登壇資料はこちらです。
OSS開発の基本中の基本的なところを60分かけて話をしました。
タイムテーブルも3日目の終盤でお昼すぎですしどうせ誰も来ないだろう、誰も来なかったら帰ろうと思ったのですが、蓋を開けてみたら結構な数のリスナーがいらっしゃったので、ちょっと安心しました。 正直申し上げまして、OSS開発って本当に難しいです。何をやっていいか分からないうえに知らないといけないことも多いからです。基本英語なのもハードルを上げてます。
基本中の基本を体系的に取り上げた発表や書籍も見当たらないので、最初にやるべきアクションを目一杯取り上げたつもりです。発表で一番言いたかったのは知見を習慣に組み込むことで、まずは自分も含めて他の人が何をやっているのかを具体的に提示したつもりです。だからアプリをダウンロードしたりなどして他人のソースコードやバグレポート追う、分からなくても毎日やる、ということを繰り返し述べました。 守破離の「守」の部分をなんとなくでいいので毎日続けることでそれなりのことはできる、ということを自分を例として提示したかったのです。
発表の本筋なところは資料をご覧いただくとして、発表以外で気になったことなどをつらつら書きます。
発表資料を作るときに気をつけたこと
- 変に炎上しないこと
- 参加費を払って聞く値打ちのある資料であること
過度に特定人物を持ち上げた内容にしないこと、著作権的に引っかからないようにすることはもちろん重要なのですが、もっと気をつけたのは2番めです。 buildersconの参加費は有料で、お金を払ってセッションを聞きに来ていただいているわけですから、あまりに稚拙な内容だと「金返せ」ってなるわけです。
今まではあんまり意識してなかったのですが、今回は参加費が安くないので、かなり気にしました。 主催者にSlackで事前にレビューをしてもらったのですが、特に上記2つの観点からレビューをしていただくようにお願いしました。
怖かった…お金を払う値打ちがあるかどうかを気にしまくって、ずっと家にこもってああでもないこうでもないと発表のリハーサルをしながら発表資料を直していたので、結果的に参加が最終日の昼からというお前何しに来たんだ状態となりました。このあたりはもう、ちょっとよく分からなくて、もうちょっと早めに参加しても良かったんじゃないかなという気持ちにはなります。
参加者も発表者も今後増えていくぶん、発表の事前レビューは今後必要になるのでは、と思うのですが、レビューの体制、リソースの問題はあると思うので、ちょっとよくわからないです。
反省点
- プロポーザルに引きづられすぎた
- 参加するのが遅かった
- ノベルティ
プロポーザルに「全然わからない、俺達は雰囲気で株をやっている」がパワーワードって書いちゃいましたけど、株で雰囲気もパワーワードもスラングなのでもうちょっと平易な言葉に出来なかったかなーとは思います。ハイコンテクストなワードは極力避けようって思っていたのに、反省してます。
前のほうにも書きましたが発表資料のクオリティを上げることに専念した結果カンファレンスの参加がほぼ終盤というわけのわからない状況になったので、クオリティを上げる作業は早めに見切りをつけてとっとと日吉に行くべきだったと思いました。
あとノベルティですが、僕個人としてはステッカーその他のノベルティが処分に困るからあんまり好きではなくて極力受け取らないようにしているのですが(しゃもじは受け取らなかったけど袋は受け取りました)、最終的にノベルティが余りまくっていたので、スタッフの方々には申し訳ないことをしたなと思いました。
あんまり人と話すの得意じゃない
僕は人と話すのがあんまり好きじゃないです。オープンかどうかを問わずネット上だと少しだけ饒舌になりますが、リアルだと喋らないし喋りたくないので、苦しい気持ちになります。 人によってはエンジニア同士だと喋れるけどそれ以外の人とは話しづらいっていう人もいるかもしれませんが、僕の場合は等しく人と話すのが苦手です。
特に懇親会的なイベントが極めて苦手です。ビールやチューハイなどお酒の味がするお酒が大嫌いなうえに人と話をするのが大変苦手なので、ネット上でゆるく技術のやりとりをできるならそのほうがいいかなって本当に思います。 課題は、どうやったらインタラクティブに英語でやり取りができるかですね。
60分トークは疲れた
5分10分のトークはいいんですけど、30分以上のセッションは喋り続けるだけで頭を使うので、セッション後は頭痛がひどかったです。これはもう慣れかもしれませんが、もっと頑張りたいと思います。
次のアクション
Slackのセッションは平易な英語で面白かったけど、やっぱり継続的に英語を聞いてコミュニケートする習慣をもっと取り入れていく必要があると感じました。
presto 0.182
fix
- Fix correctness issue that causes corr() to return positive numbers for inverse correlations.
- Fix the EXPLAIN query plan for tables that are partitioned on TIMESTAMP or DATE columns.
- Fix query failure when when using certain window functions that take arrays or maps as arguments (e.g., approx_percentile()).
implement
- Implement subtraction for all TIME and TIMESTAMP types.
improve
- Improve planning performance for queries that join multiple tables with a large number columns.
- Improve the performance of joins with only non-equality conditions by using a nested loops join instead of a hash join.
- Improve the performance of casting from JSON to ARRAY or MAP types.
add
- Add a new IPADDRESS type to represent IP addresses.
- Add to_milliseconds() function to convert intervals (day to second) to milliseconds.
- Add support for column aliases in CREATE TABLE AS statements.
- Add a config option to reject queries during cluster initialization. Queries are rejected if the active worker count is less than the query-manager.initialization-required-workers property while the coordinator has been running for less than query-manager.initialization-timeout.
- Add TPCDS Connector. This connector provides a set of schemas to support the TPC Benchmark™ DS (TPC-DS).
ip address typeだって!?それは本当かい!?
react 16.0.0 beta3
beta3
awk regexp
awkのifで正規表現は、~
がつかえる。あとは普通の正規表現。
awk '{if($1 ~ /^abc/) print $1}' | uniq -c
S3 logging
S3のロギング。
- アクセスログ配信の対象とするバケットにロギング設定を追加
設定はマネコンで追加できる(cli経由で出来るかはしらない)
ログファイルはtxtでダウンロードできる。
中身はアクセスログとにてる。
cloudera director on aws
cloudera directorをawsでやる
ちょっとあとで試す。本当に。
https://www.cloudera.com/documentation/director/latest/topics/director_get_started_aws.html
systemd /usr/lib/systemd /etc/systemd
/usr/lib/systemd/systemと/etc/systemd/systemがある。
/lib のファイルは永続的なファイル、そして /etc のファイルは必要に応じて設定を変更できるファイルになります。
であり、ユーザー定義なsystemdをetcのほうにおく。
rails new with Gemfile and config files
railsコマンド
特筆するべきは、GemfileとかGemfile.lockがあれば既存のrailsから再構築が可能なところで、
rails new . -s
などとすれば、既存のGemfileからrailsを再構築しつつ、既に存在するconfigは生成をスキップしてくれる (逆に-sがないと、「上書きしますか?」って毎回聞かれてしんどい)
presto cardinality map
prestoのcardinalityはmapのsizeを返す。mapは↓のような構造。
presto> select cardinality(map(ARRAY[1,2,3,4,5],ARRAY[3,4,4,5,6])); _col0 ------- 5 (1 row) presto> select map(ARRAY[1,2,3,4,5],ARRAY[3,4,4,5,6]); _col0 --------------------------- {1=3, 2=4, 3=4, 4=5, 5=6} (1 row)
rails_env
RAILS_ENVのデフォルトはdevelopmentっぽい
あとは、database.ymlとかenvironmentsとか、必要な設定を適宜追加してやることで、stageとかlocalとかが作れる