petitviolet_blog

@petitviolet blog

2022年度振り返り

いつもの年度末振り返り。 昨年度のはこれ 仕事 年度のはじめの方は旅行関連の受託開発をメインでやっていて、夏頃からはMirrativのライブゲーム開発をしていた。 あとは隙間時間に自社サービスであるLINE予約システム(ポチコ)の開発も細々と。 人生でやる…

TGS2022にいってきた

標題の通り、Tokyo Game Show 2022 に参加してきました(ビジネスデイ1日目) tgs.nikkeibp.co.jp 初TGS!まさかビジネスデイに来ることになるとは思わなかったな pic.twitter.com/jv1BqzorTw — kom (@petitviolet) 2022年9月15日 ちなみに直近では会社として…

2021年度振り返り

2021年度の振り返り。 昨年度のはこれ 仕事 2022年1月に転職した。 前職ではCDPというとても複雑なアプリケーションの開発をしていた。 退職前は↓みたいなことも。書き残していったアレらはどうなったのか果たして。 https://www.treasuredata.co.jp/press_r…

株式会社Play Technologiesで働き始めました

2021年末でTreasure Dataを退職しました。お世話になった皆様、ありがとうございました! Today is my last working day at TreasureData.— kom (@petitviolet) October 26, 2021 そして2022年1月から表題の通りPlay Technologiesで働いています。 前々職(Fr…

2020年度振り返り

2020年度の振り返り。 昨年度のはこれ 仕事 転職して1年と9ヶ月になる。思いの外、生き延びてる。内部的なことがようやく分かってきて美味しい感じのプロジェクトを任せてもらったりしていい思いをしていた。 その結果もあり2020年10月には昇格(?)してSenior…

トラックボール変遷

トラックボールの話。 Macは大学時代に研究室配属されて以来使っているが、当初はあまりトラックパッドに馴染めずマウスを使っていた。 ある時トラックボールの存在を知って机の上を整理整頓できない自分にとっては最高のデバイスになるのではないかと思って…

2019年度振り返り

社会人5年目の振り返り。 昨年度の。 転職した 大きなイベントとしてはまずこれ。 4年ちょっと在籍したFringe81株式会社からトレジャーデータ株式会社に。 現状、何とか死なずに済んでいるという状態。 入社してしばらくは無力感に打ちひしがれていたものの9…

RstructuralにOptionとEitherを追加した

前にRstructuralというGemを作ったという記事を書いた。 それの続編としてOptionとEitherを実装した、というだけの話。 Option Scalaやってる人にはOption、HaskellとかならMaybeで伝わるはず。 「要素があるかも知れないし無いかも知れない」を表現するため…

リッチなデータ構造を扱うためのGemを作ってみた

以前、StructをRubyで実装するというのをやった。 じゃあ次は、ということでEnumとAlgebraic Data Type(ADT)に相当するようなものが欲しいな〜と思ってGemとして作ってみた。 EnumはRuby言語標準としては用意されていないが、RailsにはActiveRecord::Enumと…

RubyのStructをRubyで実装する

RubyのStructはこういうやつ。 $ irb irb(main):001:0> Point = Struct.new(:x, :y) irb(main):002:0> Point.new(1, 2) => #<struct Point x=1, y=2> irb(main):003:0> Point.class => Class Structという名前だけあり、データを持たせておくのに便利なクラスを作ることができる。 </struct>…

RailsとReact hookでGistみたいなWebアプリを作りかけた

Ruby(Rails)の練習がてらGistみたいなやつを作ろうとしていた(過去形)。 https://github.com/petitviolet/acoder モチベーションはこの辺 Ruby on Rails 6を触ってみたかった ActionTextとか React hooks触ってみたかった TypeScript RubyでもGraphQLやって…

Railsでdevise_token_auth使ってトークン認証する

Railsで認証を実装するのに有名なGemであるplataformatec/deviseを使ってトークン認証を実装するためのGemであるlynndylanhurley/devise_token_authを使ってトークンによる認証を実装する。 +αで少しカスタマイズする方法も書く。 ちなみにdeviseにもかつて…

HTTPリクエスト/レスポンスを記録してリプレイするためのruby gem作った

RubyGem作ってみよう、Rackミドルウェア書いてみよう、の習作。 RackミドルウェアがHTTPリクエストとレスポンスを記録 Rack::Rreplay Rubyスクリプトで記録されたリクエストをリプレイしてレスポンスを突き合わせる bin/rreplay みたいな使い方。 実用上は、…

ReactからAceEditorを使ってリッチなエディタを表示する

これはなに リッチなエディタとしてajaxorg/aceというものがあり、Reactから使おうとするとsecuringsincity/react-aceが便利。 react-aceが提供するコンポーネントをラップするような独自のコンポーネントを実装する。 具体的には、以下の三点。 ファイルタ…

react-routerで同じComponentにLinkで遷移したときにstateがリフレッシュされない

まとめ Routeに異なるkeyを設定する <Route exact key={'new'} path={'/posts/new'} component={EditPostComponent} /> <Route exact key={'edit'} path={'/posts/:id/edit'} component={EditPostComponent} /> <li>などでリストを表示したときにkeyを設定してないとwarningが表示されるが、それと同じことが起きていると思えばよい。 https://reactjs.org/docs/lists-and-keys.html#keys サ…</li></route></route>

Reactのカスタムhookで作るフォーム

何番煎じかわからないが実装してみたから残しておく。 やりたいこと Reactのカスタムhookとして実装する フォームのバリデーションをする フォームをなるべく共通化する onSubmitとかonChangeについては共通化する JSXやスタイルについては共通化せず個別に…

近況

2019/07/01にArm Treasure Data株式会社に入社していました。 シュッ pic.twitter.com/jX9qq54Ygs— こむ (@petitviolet) 2019年7月1日 丸4ヶ月経ったところです。 経緯とか 転職を考えていた頃にタイミングよくスカウトメールが来てオッてなって応募してみたら受…

fzfで快適なターミナルライフ

以前こんなエントリを書いた。 petitviolet.hatenablog.com が、最近はpecoからfzfに大体を移行している。 主な理由はfzfについているpreview機能が気に入ったからで、ファイルやGitをインタラクティブに選択する際にpreviewが出来ると助かることが多いため…

近況

2019/06/30を持ってFringe81株式会社を退職します。 最終出社でした。ありがとうございました! pic.twitter.com/YRvrLUhBXn— こむ (@petitviolet) May 24, 2019 2015/04/01で新卒入社したので4年と3ヶ月の在籍ということになりました。 お世話になった方々…

ScalaMatsuri2019で発表してきました

「ピュアなドメインを支える技術」というタイトルで発表してきました。 2019.scalamatsuri.org ScalaMatsuriは2017で発表して以来だったので楽しみにしてました。 petitviolet.hatenablog.com 資料 内容としては関数型プログラミング + CQRSという感じでDDD…

いい感じにオブジェクトのdiffを取るライブラリ作った

Scalaのオブジェクト同士を比較する際に、==を使って比較することは出来るが、同値かそうでないかしかわからない。 そこで、具体的に何がどう変わったのかをジェネリックに取得するライブラリを作ってみた。 こんな雰囲気で使える。 $ amm Loading... Welcom…

2018年度の振り返り

社会人4年目の振り返り。 昨年度のはこれ。 petitviolet.hatenablog.com エンジニアとして 相変わらずサーバサイドでScalaを書くことがほとんど。 GraphQLを実戦投入出来たし、FPとかDDDらへんも深めることが出来た感覚。 GraphQLについてはGraphQLナイトとS…

ポートフォリオサイトをGatsbyで作り直した

自分のポートフォリオ的なWebサイトとしてhttps://www.petitviolet.netを作っている。 www.petitviolet.net もともとはHTMLべた書き + Bootstrapで作っていたが、GatsbyJSを使って作り直してみた。 www.gatsbyjs.org たいして更新することもないので静的サイ…

「小さく始めるクラウドネイティブ」というタイトルで発表した

2019/02/21にMicrosoft品川オフィスで発表してきました。 イベントページはこちら。 microsoft-events.connpass.com 今発に携わっているプロジェクトでMicrosoft Azureを使っていることもあり、お声がけいただいてセッションしてきました。 ありがとうござい…

Kubernetesと12factor appについて話した

昨年11月と今年1月に社内勉強会でKubernetesと12factor appについて話した資料があるのでそれをはるだけのポスト。 Kubernetesを知る いま開発しているプロダクトではKubernetesを採用していて旗振り役っぽいところもあったのでチーム向けにハンズオンやった…

Scala関西サミット2018で発表してきた #scala_ks

去年に引き続いて幸運にもCFPに応募したトークが採択されたので発表してきました。 運営の皆さまをはじめとして、ありがとうございました! 資料 サンプルコードはGithubに上げました。 発表の振り返り セッションのトリで裏番組が非常に豪華だったにも関わ…

ISUCON8予選に参加して敗退した #isucon

2018/09/15(土)に開催されたisucon8予選に参加した。 isucon.net 去年と同じメンバー3人で出た。 petitviolet.hatenablog.com 結果はタイトル通り敗退で、再起動試験でどんなスコアだったかはわからないが、自分たちで確認できたスコアは26,000点台だったの…

Scala関西サミット2018に採択された

Scala関西サミット2018に出したCfPが幸運にも採択された。 2018.scala-kansai.org Scala関西は2017に続いて2年連続参加できるので嬉しい限り。 petitviolet.hatenablog.com 発表のタイトルは「実践GraphQL on Scala」で45分枠。 しっかり準備して業務でやっ…

GraphQLナイトで発表してきた #gqnight

2018/06/28にGraphQLナイトというイベントに参加して「GraphQL on Scala」というタイトルでLTしてきました。 connpass.com 発表資料はこちら。 speakerdeck.com 業務でGraphQLなAPIの開發を最近やっていて色々とネタが溜まってきていてどこか勉強会で話せな…

de:code2018に参加してきた

Microsoftが主催するde:code2018に参加してきた。 普通に業務で2日間フルで参加して2日間直行直帰していい体験だった。 セッションのメモはここには書かないが、メインで聞いたセッションはこの辺り。 基調講演 kubernetes(AKS) CosmosDB Web App for Contai…