あいつの日誌β

働きながら旅しています。

岡山城天守閣でライトニングトークして来ました

天守閣でLTした。ただそれを言いたかった。

f:id:okamuuu:20180929213112j:plain

とある pm で開催が発表された

主に八王子で開催される怪しいエンジニアが集まる会があるのですが、そこに参加した日に主催者より「天守閣でテックカンファレンスを開く」と発表がありました。*1

https://connpass.com/event/98976/

connpass.com

というわけで岡山城

f:id:okamuuu:20180930111911j:plain

日程の関係上私は第二部から参戦しました。主催者より「何かを破損させたものは斬る」とのお達しが告げれた後、宴が始まりました。

天守閣にて

f:id:okamuuu:20180930112034j:plain

第二部が始まってからすぐに「最上階で飲まねば!」という事で天守閣での飲酒一番乗りを果たしました。

LT

その後何名か同じ事を考えている人がいたので天守閣で飲んでいたらLTが始まっており、LT を聞き逃してしまったので今回聞いたLTは以下の3つだけ

  • makamaka - せっかくだから俺はこの杓文字2.0で同人誌をつくるぜ
  • codehex - 侍が作る1ボタンキーボード
  • catatsuy - ISUCONの情報共有にはこれ!notify_slack!

makamaka

Acme モジュールの話。Acme::Math::Josan っていう josan(12, 4) を実行すると 3 か 48 が返って来るっていう、乗算なの?除算なの?っていうモジュールや土一揆する時に便利なモジュールなどを紹介。

codehex

電子工作でキーボードを作成する話。モールス信号(2進法)でキーボード作りました!でも家に忘れて来ました!なので急遽徹夜で作りました!動きませんでした!

期待感と勢いのあるトークで最後結局動かなかったというオチまでとてもライトニングトークらしくて聞いててとても楽しかったです。

catatsuy

ISUCON の実力者が使っているツールの紹介。サーバー側で出力される文字列をそのまま slack に流して情報共有したい人には便利。どうやら負荷が高くならないように1秒間に一度だけまとめて Slack API に POST したりだれが操作したコマンドのログなのかが分かるといった便利機能があって良さげ。チームで戦うには情報共有大事ですよねえ。

okamuuu(私)

Contentful という Headless CMS を使ったので感想を述べました。だんだんサーバーサイドでコード書かなくても開発ができる時代が来ている気がします。全く不要というわけにはいかないと思いますが、手を動かす時間が減っていく予感。

https://speakerdeck.com/okamuuu/2018-09-29-dot-okayama

台風襲来したけど楽しかった

そんなわけで翌日台風がやって来るので飛行機や新幹線が無事動いたのかどうなのか定かではないのですが、みなさん無事に帰れるといいですね。

というわけで今回お城を借りて頂いた主催者のお陰で楽しい1日を過ごす事ができました。聞くところによると予約してから開催するまでのやりとりが結構大変だったらしいです。*2

あと岡山城を貸す側も実際に城を貸したら乱暴に扱う人も稀にいるらしく、貸す側も借りる側も結構大変だったと思います。運営してもらった人たちに感謝です。

*1:岡山城天守閣を貸切で利用

*2:基本的に電話かFAX

スポル品川大井の人工的に波を発生させてサーフィンができる citywave を体験してきた

オカムラさん(@okamuuu2014)がシェアした投稿 -

※スタッフさんから許可をもらって撮影しました。

あらすじ

動画を見た瞬間にやりたくなりました。ということで今年の夏もっとも旬なスポーツ施設であるスポル品川大井の citywave で平日の 15:30-16:20 の初級コースのセッションに参加しました。

私はサーフィン経験は無いがすんなり立つ事ができた

私はサーフィンやった事がないのですが、去年ぐらいからスノボを始めていまして、たぶんそのおかげで結構簡単に立ち上がる事ができました。といってもスノボに数回行っただけなので、その程度の人でも簡単にできました。

初級コースは最初コース内に鉄棒を設置するのでそこに摑まりながら波に乗る練習をします。参加者はもう本当に老若男女だったのですが全員手放しで波の上に乗れるようになりました。

その後鉄棒をはずしてコースの端からボードに乗るのですがこれも思った以上に簡単でした。安定した波のおかげでボードに立つのはとても簡単。この時は最大5人までコースに入って練習できます。

そこから少しずつ体を倒したり、向きを変えたりしてコースの端から端まで移動する練習がはじまるのですが、この辺りで個人差があって上手に移動できる人とできない人がいました。この辺りから一人ずつコースに入るので失敗してもだれにもぶつからないから心配ありません。

怖くないのか?

ちなみに初級コースでは全員ヘルメットを装着します。かなり水流があるのでサーフボードから落ちるとかなり体が回転します。慣れない間は鼻に水がはいったり、プール底でやや体を打ちつけると思います。

私は痛いのと苦しいのが嫌なのでしばらく練習したら水流が弱まる場所まで(波が一番高いところ)移動してから後方に倒れる(もしくはそのまま後ろに流される)という技をマスターしたのであんまり嫌な思いしなかったのですが、2名ほどここでリタイヤしていました。たぶん 怖がってしまう -> 水流の強いところでバランスを崩す -> 波にもまれて体を打ったり鼻に水が入って苦しい -> 怖がってしまう の連鎖が生まれてしまったのではないかと思います。肩の力抜ければなんとかなるんでしょうけど。

気分はまるでドラゴンボール

そんなわけではじめてサーフィン*1をしてきたのですが永遠に波が安定しているせいか、とても気持ちがよかったです。きっと筋斗雲に乗るとこんな感じなんじゃないかな。

初級コースは人気があって、今の所あんまり空きが無いのですが、たぶんほとんどの人が1、2回で卒業できると思います。なので空いているうちに初級コースを一度でも体験しておけば次回から中級コースを予約できるので割と空いています。今がチャンスです。

ちなみに動画はセッションの合間にスタッフが波乗りしていたので撮影の許可をもらいました。すっごく楽しそうですね。

そんなわけですっかりお気に入りの遊びになってしまったので終わった後にすぐに次回の予約をいれてしまいました。みなさんも「はやく行った方がいい」と思います。

こちらからは以上です。

*1:海のサーフィンとはまた違うと思いますが

Re:dash を Uninstall したい

以前 MacOSX に Re:dash を install したのですが docker の container が消えない。どうやら restart オプションが作動しているらしい。

% docker container ls
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS             
            NAMES
868ecc6330b0        redash/nginx:latest     "nginx -g 'daemon ..."   4 months ago        Up 50 seconds       0.0.0.0:80->80/tcp
, 443/tcp   redash_nginx_1
764aa13baef1        redash/redash:latest    "/app/bin/docker-e..."   4 months ago        Up 50 seconds       0.0.0.0:5000->5000
/tcp        redash_server_1
38e3ee72d655        postgres:9.5.6-alpine   "docker-entrypoint..."   4 months ago        Up 50 seconds       5432/tcp          
            redash_postgres_1
dc7501fbd634        redash/redash:latest    "/app/bin/docker-e..."   4 months ago        Up 50 seconds       5000/tcp          
            redash_worker_1
40d0ce760000        redis:3.0-alpine        "docker-entrypoint..."   4 months ago        Up 50 seconds       6379/tcp          
            redash_redis_1

どうやればいいんだろうということで調べたところ、以下のようにすれば良いらしい。

% docker update --restart=no 868ecc6330b0 764aa13baef1 38e3ee72d655 dc7501fbd634 40d0ce760000
868ecc6330b0
764aa13baef1
38e3ee72d655
dc7501fbd634
40d0ce760000
% docker rm -f `docker ps -a -q`

おしまい

【第3回】JSフレームワーク(またはライブラリ)× ビアバッシュ 初心者勉強会 in秋葉原 に行ってきた

お酒を飲みながらの勉強会、交流会!楽しくフロントエンド開発を語りませんか!と書いてあったので行ってきました。

f:id:okamuuu:20180805002952j:plain

ビアバッシュ とは

ビアバッシュ(Beer Bash)とは、懇親会の一種としてビールやピザを食べながら語らう形のイベントで、シリコンバレーなどでよく開催されてとかいうなんかそんなの。

どうだった?

一応 LT は各自5分間という事だったのですが、しゃべりたい事があればずっと喋っていられるのでその辺は私が東京のはずれによく行く某PMと同じノリかもしれません。会場を抑えている時間がたぶん18時から21時の3時間ぐらいまでだったので結構お酒飲みながら歓談する時間が短くて残念でした。

なので LT 終わった後すぐに目当ての人に話しかけないとすぐにタイムオーバーになると思います。

詳しいタイムスケジュールは以下のような感じです。

https://sakeganaito.connpass.com/event/92540/?utm_campaign=event_reminder&utm_source=notifications&utm_medium=email&utm_content=detail_btn

あとご飯は各自食べていかないとお腹空きます。

LT の内容

  • 既存のレガシーシステムをモダンにするためにしているこ
  • Apolloの紹介とこれから
  • Blazor C# から始める Web フロントフレームワーク
  • 個人サービスをローンチして、本当にあったここだけの話
  • カスタムフィルタを階層化してテンプレートエンジンを使い倒す
  • react-dnd と react-easy-state
  • LTでマサカリに備える盾としての心得

既存のレガシーシステムをモダンにするためにしていること: @comuttun

10年以上の歴史のあるサービスのレガシーな Web Service を一部 SPA 化したお話。常に改修のタスクが発生する為リプレースする人的なリソースはないが試しに局所的に SPA 化したところすんなり適用できた模様。

興味深い話だったのですが Controller と Template Engine の従来のページの一部(参照系)を WebAPI + nuxt.js で適用したという事なのですが、元々あった Controller と Web API の関数は共通化できたのか、それとも別々にメンテする必要があるのか、元々あった Controller は削除したのでその心配はないのか、という質問をしたかったです。

実はLTが矢継ぎ早で質疑応答の時間がなかったのと交流会の時間が短すぎて聞けなかったのが残念です

Apollo の紹介とこれから: @kdnk

GraphQL を実際に使ったお話。たぶんこの話は聞きたい人多かったんじゃないかと思います。この後 GraphQL をお題にして、話したい人たちで GraphQL について語りました。

Tip for OSS: @kuwahara_jsri

npm publisher になるためのお話。ひと昔前は module を公開しないと1人前でないと思ってた時期が自分にもありました。でもそれは決して間違いではないと思うのでそういうメッセージは時折発信してもらうのはありがたいです。

VueJSで工事写真報告ツールをサーバレスで作ったけどだんだん辛くなってherokuに移行した話: @rsooo

サーバレスが流行っているので逆に Heroku に戻る話なのかと思って不思議に思って聞いていました。

最初は画像を雑に S3 に投げ込んでいたがだんだん履歴を追いたいという要望が増えたので機能を増やしたがサーバレスにしなくてもいいじゃないかと思えるようになったので Heroku に移行したとのこと。不慣れなツールを使わなくても良いとし、その都度チームに最適なツールやミドルウェアを選定するほうが賢いなと思いました。

Blazor C# から始める Web フロントフレームワーク

実はこのときトイレに行ってしまい*1話を聞いてなかったです。すいません。

個人サービスをローンチして、本当にあったここだけの話: @Fujiyama_Yuta

個人的に一番印象に残ったトーク。ビンゴゲームを Firebase で作ったそうです。Firebase Realtime Database の特性をうまく活用したナイスアイデアの上にビンゴゲームは地味に用意大変なので結構需要があるのではないかと思っています。

https://the-bingo.jp/

交流会の時間が始まって真っ先に話しかけたのですが、交流会の時間少なすぎてあっという間にお話が終わってしまいました。

カスタムフィルタを階層化してテンプレートエンジンを使い倒す

SPA にするほどの場面でもないのでテンプレートエンジンを使うという話。結構もっともな話だなと思いました。個人的には何をしたいかによって使うツールを使い分けるべきだと思うので SPA がいくら流行っているからといってそれをすると too much になる場面はあるのでこういう昔ながらの作法を聞かせてもらうのは結構大切なんじゃないかなと思います。

react-dnd + react-easy-state: @okamuuu

以前書いた記事(http://okamuuu.hatenablog.com/entry/2018/05/23/231836)をもう一度頭の中で整理して LT してきました。

で、発表したスライドはこちら: https://speakerdeck.com/okamuuu/2018-08-04-dot-js-beer-bash

ざっくり説明すると react で Drag and Drop するときに react-dnd っていう便利なライブラリがあるんだけど結構 state を引き回すのが大変だからそんなときは react-easy-state っていうモジュールの事を思い出すといいですよ。

state を component と切り離して管理するのはもちろん redux などでもできるんですが、そんなに大げさな事したくない時にとっても便利です。

LTでマサカリに備える盾としての心得: @FruitRiin

タイトルのとおり、登壇者にとってはマサカリのような言葉が生まれてしまう、その背景はエンジニアとして正しい情報をみんなで共有したい。まあそんなんですけどねえ。というお話。まあ個人的にはみんなの幸せを守るためならマサカリになっても仕方ないと思うのですが、自己満足なマサカリになってしまったら悲しいですよね。

パネルディスカッション

というわけで LT の中から一つ議題を選んでそれについて興味がある人たちで話し合うのをみんなで生暖かく見守る時間となりました。

GraphQL について話し合ったんですがフロントエンドの人たちは概ね GraphQL を 好意的に捉えていたんですが、サーバーサイドのエンジニアが異議をとなえていました。というか主に私ですが。

Beer Bash ということもあってお酒を飲んでいたため若干記憶が遠のいているのですが「わざわざ GraphQL に変えるコストに見合う成果があるの?」っていうような事を言った気がします。マサカリをなんとかしようというエモい話の直後に思いっきり投げた気がしますけど。

最終的には色々な意見が出てきてなかなか良い着地ができたと個人的には思っています、たぶん。記憶をなんとか回収して別の記事でまとめたいと思います。

まとめ

JS の勉強会に参加したのは初めてだったんですが、想定していたよりも勉強になりました。あとビール飲みながら、だと気楽でいいですね、とはいえ運営がかなり真面目にやっているのでちゃんとしている勉強会でした。また次回も開催されるらしいです。

あとそれから

私はフリーランスのエンジニアで絶賛お仕事募集中です。フロントでもサーバサイドでもAnsible から React まで対応できます。

*1:この会は休憩は各自が適宜にとる方式

Rails 5 でモデル名を変更したい

備忘録です

bundle exec rails g migration RenameUserTabsToUserCategories

edit

class RenameUserTabsToUserCategories < ActiveRecord::Migration[5.2]
  def up
    rename_table :user_tabs, :user_categories
  end 

  def down
    rename_table :user_categories, :user_tabs
  end 
end

maigrate と rollback ができる事を確認しつつ、クエリを発行して動作を確認する

bundle exec rake db:migrate
bundle exec rake db:rollback

変更したテーブルの modle を rename する*1

git mv app/models/user_tab.rb app/models/user_category.rb

あとは関連する model にまだ user_tabs などが使われているのでそれらを手で作業する。おしまい。

*1:これを忘れていたので注意

沖縄へ五泊六日で旅をして来た(3)

というわけで読谷村(よみたんそん)と北谷(ちゃたん)にも行ってきました。読谷村は道路のそばにバナナがあるような場所です。

f:id:okamuuu:20180711172128j:plain

本当は青の洞窟でシュノーケリングを体験しに行く為に来たのですが慶良間諸島でのダイビングですっかり満足してしまったのと、この後宮古島に行く予定だった*1ので予定を変更して近辺をのんびりドライブする事にしました。私がまだ運転不慣れなので良い練習になりました。

ゲストハウス月と海

ダイビングショップもやっているゲストハウスです。私の肌感だとダイビング好きが集まる宿のような気がします。なかなか楽しい宿でした。スタッフとゲストともに沖縄の海に詳しいので結構有意義な話が聞けました。

設備的にはもともとはぼろ家を自分たちで DIY で修復したものなので、そこまで期待しないほうが良いと思いますが DIY でここまでできるのか、と思うとちょっとワクワクしました。

今回慶良間諸島でのダイビング体験ですっかり満足してしまったので青の洞窟へは行きませんでしたが、宿泊している同じゲストから「土曜日は人が多い」「人の少ない早朝の一番最初の時間帯がベスト」との助言をもらいました。

もし青の洞窟に行かれる予定がある人は覚えておくと良いと思います。ちなみにここの人たちに台風8号について詳しく説明を受けて宮古島行きをキャンセルしました。ここに来ていなかったらそのまま宮古島に行っていたかも。

f:id:okamuuu:20180706223234j:plain

やちむんの里

焼き物に興味がある人はおすすめの場所です。割と好きな雰囲気でしたので次回はお土産買いに来ようかなあ。

f:id:okamuuu:20180711172431j:plain

あと近くにやちむん&カフェ 群青っていう素敵な場所があるので焼き物に興味がなくてもおすすめです。

浜辺のキッチン もめんばる

私はカフェ好きでして、ゲストハウスに泊まっている人におすすめのカフェを聞いたところこちらを教えてもらいました。ここは非常に良い感じでした。天気が良く、 風が気持ちよかったです。お店と店員さんの雰囲気も2重丸でした。

f:id:okamuuu:20180707143651j:plain

砂浜は真っ白でした。砂になる前の石も真っ白。大型犬が散歩がてら海に入ってばしゃばしゃ泳いでました。観光客よりも地元の人たちが来るような場所だと思います。

f:id:okamuuu:20180711174154j:plain

アメリカンビレッジ

北谷にある商業施設です。ここには広い駐車場スペースがあるのですが 8:00 にならないとオープンしないので駐車場を探すのに苦労しました。私は早朝に行って駐車場を探す為にぐるぐるここを周回していました。結果的には車の運転が上達したのでよかったです。車も人もほとんどいないのに見通しが良い交差点を好きなだけ運転できたのでこれはこれで良かったです。最終的にはコンビニエンスストアに駐車して8:00になってから車を移動しました。

f:id:okamuuu:20180711185057j:plain

写真は海辺にあるデポから撮影しました。たぶん夕暮れ時になるとカップルがいちゃいちゃするのに最高の場所なんじゃないかな。早朝は館内をほぼ独り占め状態。その後コーヒーを飲みながら浜辺を散歩しました。アメリカンビレッジは本当は夕方来た方がいいんだと思いますが早朝もそれなりに楽しかったです。

まとめ

そんなわけで沖縄の那覇読谷村・北谷を旅して来ました。車がなくても那覇近辺だけで十分楽しめますが、車で中部まで北上するとそれはそれでまた楽しいと思います。というわけで宮古島へは行けませんでしたが大満足の旅でした。おしまい。

*1:この時点では台風8号を甘く見ていた

沖縄へ五泊六日で旅をして来た(2)

というわけで国際通り牧志公設市場国際通り屋台村で食べたご飯を紹介します。

国際通り: 金月そば 国際通りむつみ食堂店

読谷村(よみたんそん)に金月そば(キンチチソバ)という有名店があるのですが那覇にも支店がでありました。読谷村へは別日程で行く予定でしたが沖縄そば好きなので訪問。むつみ食堂というのは以前あった食堂の名前だそうです。メニューが違ったせいもあるのですが麺がちょっと違ってるような?まあどっちも美味しかったですが。 次回沖縄に行く時は同じメニューを食べ比べてみようと思います。

f:id:okamuuu:20180711160151j:plain

国際通り: そら食堂

沖縄に来て一番最初にご飯を食べたところです。宿泊所に荷物を預けた後16時のチェックインまでまだ時間があるのでその辺りでご飯を食べようとしましたがまだ営業してない店が多く、まだ地理にくわしくなかったので近くで見つけたお店に入店。1000円でタコライスオリオンビール2杯を注文しました。沖縄にはせんべろという1000円でお酒とごはんが食べられる形式がたくさんの店に広がっています。

f:id:okamuuu:20180711162424j:plain

場所と営業時間が便利だったので次回また沖縄に行った時に利用する気がします。

国際通り: 琉歌 沖縄本店

那覇の居酒屋です。なかなか良い雰囲気でご飯も美味しかったです。お値段的には少し観光客向けかもしれません。

f:id:okamuuu:20180711161244j:plain f:id:okamuuu:20180711161329j:plain

牧志公設市場: 株式会社上原ミート 市場前本店

200gの和牛が800円で食べられて、ビール等は店内では販売していないので自由に持ち込んで下さいというとんでもないお店です。

f:id:okamuuu:20180708155700j:plain

脂身少なく、柔らかくて美味でした。かけつけは 200g で800円ですが熟成の場合は1200円です。営業時間が19時までだったご注意下さい。

牧志公設市場: パーラー 小やじ

カンパチ刺しとセロリの浅漬けとらっきょうの塩漬けをいただきました。カンパチはぷりぷりしていて、セロリとらっきょうがお酒に合うのでいつまでも呑んでいられる気分になりました。

f:id:okamuuu:20180711163802j:plain

国際通り屋台村

ジーマミー豆腐ミミガーとアグー餃子をいただきました。国際通り屋台村はいろんな店舗があって歩いているだけでも楽しいのでおすすめです。

f:id:okamuuu:20180711165314j:plain f:id:okamuuu:20180711165336j:plain f:id:okamuuu:20180709200237j:plain

まとめ

基本的にどのお店に行ってもご飯は美味しかったです。個人的にもう一度行ってみたいと思った店は金月そば、上原ミート、パーラー小やじ、国際通り屋台村がおすすめです。あと牧志公設市場近辺のお店はどれも雰囲気があって美味しそうです。

ちなみに月、水、木あたりが定休日の店が多い気がしますのでもし那覇に行かれる方は行きたいお店が営業しているかどうか調べておいた方がいいと思います。

あとそれから

国際通り屋台村は11時からやっています。

f:id:okamuuu:20180709195703j:plain