技術

試して理解 Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識 を読んだ

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識作者:武内 覚出版社/メーカー: 技術評論社発売日: 2018/02/23メディア: 単行本(ソフトカバー) 発売されたときに買って積んでしまっていたのを今更読んだ。 感想 「試して理解」とタ…

Cloud Dataflow で Cloud SQLからBigQueryにサーバーレスにデータ連携する その2

この記事は suusan2go Advent Calendar 2019 - Adventar の8日目の記事です。 その1はこちら suzan2go.hatenablog.com 上記の記事では以下のようなJSONを用意してCloud SQLからBigQueryにデータ連携する仕組みを作ったのだけど、テーブル追加の度にこのJSON…

Vuetifyの TreeviewをDrag and Drop可能にしたコンポーネントを作った

この記事は suusan2go Advent Calendar 2019 - Adventar の6日目の記事です。 仕事でVuetifyを使っていて、 TreeviewコンポーネントのUIでドラッグアンドドロップ出来るようにする必要があった。Treeviewというのは以下のように、階層構造をもつデータ構造を…

GoのORM、SQLBoilerのススメ

この記事は suusan2go Advent Calendar 2019 - Adventar の4日目の記事です。 フリーランス始めてから、エムスリーでお世話になった @maeharin さんがCTOをしてる ANNONE という会社をお手伝いしています。自分はその中で、Goによるアプリ向けのAPI,Reactに…

スクラム開発を始めるときに自分がやったこと

この記事は suusan2go Advent Calendar 2019 - Adventar の2日目の記事です。 今年の前半にお手伝いしていた某社で、スクラム開発の導入をしました。自分が開発チームに入ったタイミングでは、カンバンツールを使って週次で振り返り(KPT)とタスクの状況確認…

MacBook Pro (15-inch, 2018)のディスプレイが黄ばむようになったので修理にだしてた。

この記事は suusan2go Advent Calendar 2019 - Adventar の1日目の記事です。 suzan2go.hatenablog.com この記事から3ヶ月も立たずに、今度はディスプレイが黄ばむようになってしまった。 状態としてはこんな感じ。 家に返ってきてリビングでMBPを触っていた…

MacBook Pro (15-inch, 2018)のキーボードがバグるようになったので修理にだした。

ここ1〜2ヶ月、異常にtypoが増えて困っていた。 最近異常にtypoが多いんだけどなんでだ…二回連続で押しちゃう系のtypoが…— すーさん二号 (@suusan2go) August 2, 2019 こちらの修理プログラムの対象であることは知っていたのだけど、一つ一つキーボードのキ…

Cloud Dataflow で Cloud SQLからBigQueryにサーバーレスにデータ連携する

取引先で、Cloud SQL(Postgres)からBigQueryにアプリケーションのデータを連携させたいという話があって、いろいろ調べたのでまとめる。 最初はEmbulkとか使えばいいんかなと思ったけど、基本サーバーサイドはGAEしか使ってない状況でEmbulkをどこで動かそう…

認定スクラムマスター(Certified ScrumMaster)を取得した

いまお手伝いしている会社でスクラム導入を支援していて、自分もスクラムマスター(兼開発者)をやっている。 これまでにスクラムに関する本はいくつか読んできたし実戦経験もあったが、改めてスクラムについて深い理解を得たいと思い認定スクラムマスター研修…

「GraphQLのmutationは動的にネストしたリソースを更新するもの」ではない

「参照系はGraphQLだけど、更新系はRESTでPOSTにします」みたいな意見を稀によく見る。 もちろん何かしらのトレードオフを考えてRESTを選択しているのだとは思うのだけど、GraphQLのmutation(要は更新系)を誤解している人も中にはいるのではなかろうか。 先…

「レガシーアプリケーションのリニューアルにNuxt.jsで戦う」というタイトルでVue Fes Japan 2018 Reject Conferenceに登壇してきました

vuejs-meetup.connpass.com VueFesにCFPを出したんだけど、残念ながら採択されず・・・・・・だったのですが有り難いことにReject Conferenceに登壇させて頂くことができました。 VueFesで公開されている資料がすごいものばっかりだったので、発表資料の作成…

meguro.rbで「rescueされない例外?!」 というタイトルで LTしてきた

(多分)台風で出社して疲弊していたsuusan2goは、疲れからかQuipper社のEMにMeguro.rbへの参加を勧められてしまう。 疲れに効くかもしれません、都合あえばいかがですかhttps://t.co/7b6kmGhAhO— 広島の粗大ゴミ (@ohbarye) 2018年9月4日 というわけでLTして…

Kotlin Fest 2018でサーバサイドKotlinのテストについて発表してきた #kotlinfest

日本Kotlinユーザグループが運営するKotlin Fest 2018に同僚の @maeharin さんと一緒に登壇してきました。 kotlin.connpass.com @maeharin さんが既にブログにたくさん書いてるの自分はサラッと感想書きます。 maeharin.hatenablog.com 資料はこちら。 この…

Kotlinでコンストラクタをシュッと書くためにIntellijのプラグインを作った

github.com こういう感じのプラグインを作った クラスのコンストラクタにわたすパラメータが少なければ、こんなもんいらないんだけど、でかいアプリケーションを扱ってるとコンストラクタに大量のパラメータを渡さなければいけないときは稀によくある。 あと…

AWS Lambda の PythonでShared Library(*.so)を含む外部ライブラリを扱う方法

仕事でPython / Lambdaを触る機会があり、Shared Library(*.so) を扱うライブラリの取扱でめちゃくちゃはまったので、メモっておく。 あと最近エモい記事ばっかり書いていたので、たまにはエンジニアアピールしておく。 Python初心者なので、それxxxでできる…

SmartHRのエンジニアの入社歓迎会の練習をする会に行ってきた #saizeriya_meetup #smarthr

smarthr.connpass.com SmartHR社主催の「エンジニアの入社歓迎会の練習をする会」に行ってきました。 会場の様子 歓迎(の練習)されて来る【SmartHR】エンジニアの入社歓迎会の練習をする会 https://t.co/bfCo9Y0LYX #saizeriya_meetup— すーさん二号 (@suusa…

Meguro.rbでRailsのサービスクラスについてLTしてきました

speakerdeck.com 初めていったMeguro.rbでLTしてきました。本当はすぐブログ書きたかったんだけど、当日は睡眠不足でめちゃくちゃ眠く、翌日は飲み会で、土日は子供を寝かしつけると同時に寝落ちしてしまったのでこんなに遅くなってしまった。 SpringでDDD的…

#roppongijs でgRPC-WebについてLTしてきた

speakerdeck.com gRPC-WebについてLTしてきた。 仕事では結局使わなかったんだけどgRPCをブラウザで使うにはということを色々と調べていたので、それについて話した。 suzan2go.hatenablog.com suzan2go.hatenablog.com スライドでも触れたけど、公式?のgrp…

Railsのコントローラでの不可解(に見える)なエラーハンドリングについて

やっぱ家でもなるわ。適当なcontrollerにdef index raise ActiveRecord::RecordNotFound # (1)rescue raise 're-raise' # (2)endとか書いてブラウザから開くと何故か(1)で死んだことになってる。コンソールから叩くと(2)になる。raiseするのをActiveRecordEr…

#roppongijs でNuxt.js + TypeScriptの話をしてきた

speakerdeck.com 仕事で使っている Nuxt.js + TypeScriptの話をしてきた。本当はもっと話したいことあったんだけど、5分なのでTypeScriptに絞って話しをした。 第一回目の発表ということもあって結構レベルの高い発表が多かったんだけど、懇親会では何人かか…

本番運用まで行かなかったgRPCの知見をまとめておく

会社のブログに書こうと思ったんだけど、ちょっとマイナスイメージを持つ人もいそうな気がしたので、個人ブログに書くことにした。 この3ヶ月くらい、システムのリニューアル(アプリ間で分散したロジックを集約するバックエンドサーバと、用途に応じたフロン…

実践ドメイン駆動設計を読んだ

実践ドメイン駆動設計を読んだ 実践ドメイン駆動設計 作者: ヴァーン・ヴァーノン 出版社/メーカー: 翔泳社 発売日: 2015/03/19 メディア: Kindle版 この商品を含むブログ (2件) を見る 会社でレガシーシステムのリニューアルをやっていて、それのコアとなる…

grpc-gatewayでMetadataに詰めたエラーの内容をJSONに詰めてRESTクライアントに返したい

引き続きgRPCの話。 gRPCでエラーをクライアントに返したい場合、通常だとステータスコードとエラーメッセージしか返せない。例えばアプリケーションレベルのバリデーションエラーみたいなものを返したい時、メルカリさんの資料によるとMetadataに詰めて送る…

gRPCをブラウザで使いたい

引き続きgRPCについて調べている。 2017年11月現在では現状gRPCはそのままブラウザ上で動かすことが出来ない(Node実装はあるけどブラウザでは動かせない)。 現状ブラウザでgRPCを動かしたいと思ったら二つの道があるようだ。 grpc-webを使う github.com これ…

Rails + SpringBootでgRPCする方法について色々調べた

RailsのバックエンドとしてSpring Bootを置いてgRPCでやりとりするみたいなのをどう実現するかを調べている RubyからgRPCを使う shiladitya-bits.github.io クライアント側はこれが参考になった。proto からGemの中身を生成して配布するの良さそう。 クライ…

GoでGitHubのrepositoryをキレイにするツール作ってた

作ったのは大分前なんだけど、そういえばブログに書いてなかった。 github.com こういうのの名前考えるのめっちゃ苦手で、好きなMGSのキャラクターから名前とったものの、結構有名っぽいOSSに同名のものがあってしくじった感ある。いい名前があればIssueくだ…

RubyエンジニアがGolangのどんなところに挫折して、どんな風に再挑戦したかという内容でLTをしてきた

LTしてきた 【Go言語LT大会! 「最近、Go言語始めました」の会】でLTしてきました go-beginners.connpass.com speakerdeck.com 内容について 大体内容は前にブログで書いたような話で、 これからGolangを触る人向けに自分はこういうところで挫折した / 再挑…

Railsでももっとカジュアルにapp/models配下にクラス作っていいんじゃないかなーと思っているんだけどどうなんでしょうか

Railsのプロジェクトやってると、app/models には ActiveRecord だけ、それ以外のオブジェクトは app/services とか app/forms層みたいなところに定義しないといけないと思っている人がそれなりに多い気がする。 個人的には app/models 配下に責務を分けたAc…

最近Golangを触っている話

今更ながら趣味でGolangを触り始めた。家庭内アプリ用のAPIサーバとしてGolangを絶賛書いている。アプリはReact Nativeで書いていて、それはまた別の機会に書くことにしよう。 実は一年前くらいにもちょっと触っていて以下のような本を読みつつ、簡単なアプ…

最近アプリケーションの設計するときに気をつけてること

最近、機能の設計をレビューしたり話し合ったりするときに、うん・・・?ってなることがあって、でも駄目な理由をうまく説明できなかったのでちゃんと言語化してみる。ちなみにRailsの話です。 DBには事実だけを記録するようにする 色々開発してきて思ったの…