kei0425tan’s blog

技術的なことを主に

もくもく温泉 開発合宿 #11に行ってきました。

はじめに

もくもく温泉 開発合宿 #11に行ってきました。
https://mokumoku-onsen.connpass.com/event/81410/

以前、土善温泉で開発合宿をするとすごく快適ということを知り、行ってみたいと思っていましたが、ちょうどゴールデンウィークに募集していたため、行ってきました。

日程など

4/28~4/30の2泊3日
料金は、初めて枠で行ったので、23000円(あとから予算が足りなくなり2000円追加で払いました)

参加人数は19人で過去最大人数だそうです。女性も参加することも多いようですが今回は男のみでした。
年齢層は学生さんから年配の方まで幅広かったです。

ルール、目的など

この開発合宿は以下のルールがあります。

・食事は必ず、みんなで集まって食べましょう。
・人に迷惑をかけることはしない。

この二つだけで、あとは何をしてても構わないという自由奔放な合宿でした。

私は、Firebaseを使ったことがなかったので、Firebaseを使ったインタラクティブなサイトの作成を目標としました。

他の人もいろいろでしたが、目立ったものは以下です。

・Goの勉強をする人が3人ほど
・フロントの勉強
・Ralsとか

意外と、機械学習とかIoTをする人はいませんでした。

食事とか

基本的には、宿代に食事などは含まれるのですが、酒などは持ち込んだほうが安いので大量に持ち込んでいます。

レッドブルの山

大量の日本酒

1日目のお昼はコンビニで買い出して食べました。

1日目の夕食

おかずがいっぱいです。どれもおいしかったです。

2日目の朝食

朝からおかずがいっぱいです!

2日目差し入れ?のデザートババロア

作業をしていると差し入れがありました。
もしかすると、運営の人が頼んでくれたのかもしれません。
頭脳労働に甘いものはいいですね。

2日目お昼

かつ丼として食べてもそのまま食べてもOKです。

2日目夕食

ここから宴会コーススタートだそうです。
前の日も豪華だったのですが、さらに豪華になっています。
残念ながら結構残していたようです。
(私の分は全部食べました!!)

3日目朝食

朝ごはんも豪華でした。
写真では見切れてしまいましたが、コンロにいも煮がはいっていました。

3日目昼カレー

カレーのカツ添え。カレーはいつでも食べられますね。

3日目デザートプリン

手作りなのでしょうか?
甘さ控えめでおいしかったです。

設備とか

200インチのスクリーンとか、人をダメにするクッションとか、ディスプレイがたいりょうにあるとかいろいろ特筆すべき点はあるのですが、一番は何と言ってもこちら

はなちゃん

人なれしてて、全然逃げません。
でも、少しお歳なのかもしれませんね。

お風呂

こんな感じのお風呂が24時間いつでも入れます。

素敵な中庭

いやされますー

成果

firebaseでチャットを作りました。

https://chat.mokumoku-onsen.work/

いろいろな参加者がいて、業界の裏話がきけたりとなかなか楽しかったです。
日本酒が(ほぼ)飲み放題だったので日本酒が好きな人にはたまらないかと思います。

裏目的として、WindowsMRを広い場所でやるというのがありました。

VRカノジョ

ちょっと人の目が気になってあまりできなかったのです。
開き直ってもっとやればよかったなぁと反省。

GitLab Meetup Tokyo #7: 新年度応援&GitLab 11.0 参加してきました

はじめに

最近勉強会によく参加しています。
参加してしっぱなしなことが多かったので簡単にレポート書いておきます。

GitLab Meetup Tokyo #7

GitLabの交流会第7回だそうです。
場所はサイボウズ社オフィスでした。

最近のITオフィスはおしゃれですね。

こういうところでお仕事してみたいものです。

参加したきっかけ

たまたまネットでGitLab 11がリリースされることを知り、リリースノートをみたところ、今までの認識と全然違ったのでもっといろいろ知りたくなりました。

内容

日本初のGitLab本「GitLab活用ガイド」の作者の北山 晋吾さんによる、「GitLabによるComplete DevOps」の話が中心。

他はLTでした。

「GitLabによるComplete DevOps」

GitLabはただのGitHubのクローンじゃないよという話。
DevOpsが流行っていますが、さまざまなツールがあり、選定が難しくなっています。
GitLabはComplete DevOpsを提唱しており、プランニングからリリース後のフィードバックまですべてを統括して管理できることを目指しています。
開発者、運用者の壁をなくす!

11.0の新機能として、「GCP kubernetes」とも連携できるようになりました。
他にも、競合のGitHubとも連携が可能です。

「How does GitLab manage git repositories?」 (5分)

goで書かれたGitalyで操作しているそうです。連携はgRPC
f:id:kei0425tan:20180413082632p:plain
GitLabのロゴ
ずっとキツネだと思っていたのですが、実はタヌキだそうです。

「GitLabのイシュートラッカー活用術」 (5分)

イシュートラッカーが充実しているので活用しましょう。

「コンテナとGitLab」 (5分)

Dockerのコンテナ内でDockerを起動するdindのデモ

「無料のGitLab.com&その他で毎日オススメカブを見つけてる話」 (5分)

CI機能やGitLab Pagesを活用して、毎日オススメカブ情報を更新。すべて無料で実現。

「State of Community Contributions to GitLab CE & GitLab 11.0」 (5分)

GitLab11.0の紹介。

スポンサーLT (5分)

食事スポンサーのクリエーションライン社による会社案内。GitLabのコンサルもしてくれるそうです。

懇親会(ネットワーキング)

お寿司でした!

懇親会での話では、やっぱり、どこもなかなかgitを普及させるのには苦労しているようです。

おわりに

今までずっとGitLabはGitHubのクローンと思っていましたが、機能的にはGitHubよりも高機能になっていました。
GitHubでは単体ではなく、CIツールやDockerリポジトリなども組み合わせないといけないところが統合されているのが便利ですね。

ただし、結構重いです。Dockerコンテナでも動作しますが、チープなホストの場合、他のコンテナに影響しまくります。
あとは、バージョンアップが激しすぎです。(毎月22日)

jupyter notebookファイルをバージョン管理したい

jupyter notebookの形式をいろいろ調べています。

jupyter 便利なのですが、書き捨てにすることが多く、バージョン管理したいと思ってもなかなかできないので作ってみました。

どういうこと?

jupyter notebookのipynbファイルはjsonなんですが、いろいろと実行時に変わってしまうデータがあって、そのままバージョン管理すると差分だらけで大変。

どうして?

jupyterのjsonの形式は以下になります。

※ ただし、nbformat: 4, nbformat_minor: 2 のもの

  • ルート
キー 種別 内容
cells リスト セルのリスト
metadata 辞書 カーネル情報など
nbformat 数値 ファイルフォーマットバージョン
nbformat_minor 数値 ファイルフォーマットバージョン
  • セル
キー 種別 内容
cell_type 文字 セルの種類code,markdown,rawの3種類
source リスト セルの入力内容。1行毎
metadata 辞書 その他の情報。拡張などで利用
  • cell_type=codeの場合のみ
execution_count 数値 セルの実行回数(In [x]のxの数字)nullで指定なし。
outputs 辞書 出力

他にも、scrolledなどもあるが省略可能。

どうすれば?

こんなのを作ってみました。


gist53010bc269a7056e7f95ab9c19be6d20

使い方

いつもjupyter notebookを直接ライブラリ的に読み込んでいるのでこんな感じ。

%load_ext jupyter_cms
from mywb.ipynbconvert import save_py, load_py

コマンドラインで実行したい人は、mainつけてくださいね。

  • pyに変換

save_py('xxxx.ipynb', 出力ファイル名(省略可能))

  • 上記pyに変換したファイルからipynbに変換

load_py('xxxx.py', 出力ファイル名(省略可能))

注意

マジックコマンドなどそのまま出力されるため、そのまま実行は難しいです。
バージョン管理用ファイルになればよいかと思います。(diffもたぶん見やすいかと)

ダウロードpyとの違い

  • マジックコマンドも表記のまま出力
  • マークダウンコメントを"""で対応
  • In [xx] は省略しているため、実行順など記録しないので差分をとりやすい。
  • メタデータなどの保持(cells以外全て)

※ この前ネットサーフィンしてみたら、このフォーマットで書くと分かりやすいとのことだったのでパクってみました!

jupyterで書いたノートブックをはてなブログに載せたい

今日も朝活しています。
なかなか時間取れないことが多いけど朝はいいですね。

プロントのチーズオムレツセット490円


どういうこと?

最近、jupyterを結構使っています。

前まではとりあえずやってみて、あとから何やったかよくわかんなくなっちゃうことが多かったのですが、jupyterにコメントを書きながらやることが多くなりました。

じゃあ、それをはてなブログにそのまま載せられたらいいのになーって思って調べてみました。

どうして?

ブログ面倒なので少しでも楽に書けたらいいな。

どうすれば?

はてなブログについて

はてなブログにはAPIがあって、投稿とか簡単にできるそうです。

はてなブログAtomPub - Hatena Developer Center

ここの「ブログエントリの投稿」をみると投稿はXML形式で行うようです。

どういう形式なのか具体的によくわからなかったので、「ブログエントリの取得」でエントリも取得できるようです。

ここからはエントリを取得したりしながら色々調べてみたいと思います。

将来的には、jupyterの拡張とかしてボタン一つでアップロードできたらいいな。。。。


※ この前ネットサーフィンしてみたら、このフォーマットで書くと分かりやすいとのことだったのでパクってみました!

朝活2

今日も早く起きれたので朝活

今日はドトールにしました。


ドトールのいいところ

  • 電源がある
  • wi-fiがある
  • タバコが吸える

悪いところ

  • 騒がしい

今日はモバイルバッテリーを充電し忘れたので電源欲しさにドトールにしました。

でも、ついついスマホで遊んじゃってあんまりはかどってないなぁ。
がんばらないと。

朝活

皆様お久しぶりです。

最近ずっと時間がとれなくておさぼりしていました。

なので、今日はちょっと早起きしてプロントで書いています。


プロントはwifiもあっていいですね。
今日はトーストセット390円でした。

これからもなるべくできるときにはやりたいなー

bitcoin買ってみた!

最近、bitcoin流行ってますよね。

ずっと前からビットコイン知ってたんですけど、もう遅いかなってずっと思ってずるずるここまできちゃいました。

でも、やらないよりはやったほうがいいだろってことでやっとはじめました。

bitFlyer ビットコインを始めるなら安心・安全な取引所で