タグ

ブックマーク / tagomoris.hatenablog.com (338)

  • Dropwizard ValidatorがListに対して正常に動かない - たごもりすメモ

    Kotlinが悪いのかListはそもそもダメなのか既知の問題なのかなどはまだ確認してない。 追記: この問題っぽい。JVMのオプション追加でどうにかなるケースと、いややっぱダメみたいな話もあるのかな。トップレベルにListを使わないのが結局のところいちばんよさそう。うーん。 Dropwizard Validator*1を使って、YAMLから読んだデータのバリデーションをしようと思ったんだけど、なんかどうやってもエラーが報告されなくておっかしいなーと思ってたところ、どうもトップレベルがListだと正常に動かないっぽい。 以下のようなテストコードを書いて確認できる。 import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.dataformat.yaml.YAMLFactory import

    tagomoris
    tagomoris 2021/02/09
    めもっといた
  • GradleプロジェクトでArtifactoryに依存ライブラリを置くときのKotlin DSLでの記述 - たごもりすメモ

    なんかちょっとハマってたのでメモ。要するに公式ドキュメントのをどう書くか、だけなんだけど。 Gradle Artifactory Plugin - JFrog - JFrog Documentation 結果的にはこのissue commentを読んでやった。 // build.gradle.kts plugins { // ... others id("com.jfrog.artifactory").version("4.17.2") } repositories { mavenCentral() maven { url = uri("https://mycompany.jfrog.io/mycompany/libs-release/") credentials { username = System.getenv("MY_ARTIFACTORY_USERNAME") password

    GradleプロジェクトでArtifactoryに依存ライブラリを置くときのKotlin DSLでの記述 - たごもりすメモ
    tagomoris
    tagomoris 2020/10/01
  • コロナ禍の最中にグランツーリスモSPORTで10kg痩せた話 - たごもりすメモ

    TL;DR 2019年11月末 73.9kg → 2020年8月末現在 64.2kg になるまで痩せた 原因がグランツーリスモSPORT*1しか思い付かない 事制限などは一切なし、普段からそんなに生活が偏ってはいないと思う、が、毎晩ビールは飲んでるぞ (追記) プレイ中の心拍数が100〜140くらいで、これはいい運動になってそう 経緯 身長171cmの自分も、自転車をだいぶ強烈にやっていた頃*2には58〜60kgの体脂肪率ひと桁とかだったが、9年経った2019年年始には68kgくらいまで増量していてこれはいかんと思っていたところ、2019年1月にスキーで骨折し全く動かない生活をしばらく過ごしていたら73kgぐらいまで一気に太った。これはやばい。 とはいうものの、ライフイベントがあれこれ*3あったりもして、あまり気にすることなく危機感のない生活を送っていたら2019年のうちは体重が全然変

    コロナ禍の最中にグランツーリスモSPORTで10kg痩せた話 - たごもりすメモ
    tagomoris
    tagomoris 2020/08/27
    痩せました / プレイ中の心拍数はかって追記した
  • systemdのenvfileを普通のコマンド実行時に流用する - たごもりすメモ

    普段はsystemd経由で実行しているコマンドをCLIから実行したい、環境変数もsystemd経由で起動するときと同様にセットしたいのでenvfile(EnvironmentFile)をそのまま使いたいんだけどなんか微妙にやりにくくないか、と思って何度か調べたことがあるんだけど、あんまりうまい方法が検索結果に出てこない。 んだけど、あれ、これ簡単じゃん。(追記: これはごく単純なケースでしか動かなかった、後段参照) $ env $(cat myenvfile | grep -v '^#') target-commandenvfileをシェルスクリプトとして実行して追加された変数をなんとかexportすれば……みたいに考えてたけどenvコマンドで一発だった。変なコメントとか入ってると厄介だけど、こんな感じでいいのでは。ということでメモ。 空白を含む値の処理 まあいいやとスルーしてたけど値が空

    systemdのenvfileを普通のコマンド実行時に流用する - たごもりすメモ
    tagomoris
    tagomoris 2020/08/18
    めもった / ダメだったので直した
  • この時期、業務で低パフォーマンスを出し続ける覚悟 - たごもりすメモ

    今この時期、もちろん弊社もCOVID-19関連の事情を鑑みてテレワーク……とはあんまり自分の回りでは言わない、リモートワーク(もっと言うとWFH: Work From Home)してる。自分が完全WFHに切り替えたのは1月半ばくらいだったかなー。もう3ヶ月ですね。 で、どうかというと、業務のパフォーマンスで見ると、自分のいまのパフォーマンスは明らかに悪い。少なくとも良くはない。それは自分でもわかってる。 でももう、これはしょうがない、と思うので、覚悟している。高パフォーマンス出せたらいいとは思うけど、同時にどう考えても無理して仕事で高パフォーマンス出すような時期でもないと思う。 だからこのエントリは、まあしょうがないよね、というのを受け入れよう、という話です。*1 なおこのエントリは業種柄、リモートワークに移行しやすい自分の話しかしていません。生活必需品や医療品関連の小売店舗や病院、窓口が

    この時期、業務で低パフォーマンスを出し続ける覚悟 - たごもりすメモ
    tagomoris
    tagomoris 2020/04/16
    だらっと書きました
  • TokyuRuby会議13に行ってLTやって飯王を(また)とった - たごもりすメモ

    今年もまた行われたTokyuRuby会議に、先日のRubyKaigiでLTやったMaccroのネタをまた持って参加してきた。 TokyuRuby会議13 - Regional RubyKaigi が、Maccroは進捗があまりなく、どっちかというと今回もサントリーさんのスポンサーによるビール飲み放題があるので、それにあわせてガッとべられるべ物を持っていったのが結果的にメインになってしまった感。 なんにせよ大変楽しいイベントでした。運営のみなさん、会場提供のSpeeeさん、ビール飲み放題のサントリーさん、ありがとうございました。 べ物のはなし 去年は渾身の一品で狙いに狙って飯王をゲットしたのもあって、今年は少し前まではまあ頑張らなくていいかなーと正直思っていたんだけど、いろいろあって結構な額のふるさとアレをアレした結果、最近慢性的に冷凍庫が肉等で溢れる事態となっていた。 これがマジで困

    TokyuRuby会議13に行ってLTやって飯王を(また)とった - たごもりすメモ
    tagomoris
    tagomoris 2019/07/09
    #asakusarb で #tqrk13 について書いていた
  • 高負荷システムでNVMeデバイス使用時のfstrimとdiscard mount optionの話 - たごもりすメモ

    先にまとめると ディスクI/Oに高い負荷をかけるシステムでNVMeデバイスを使うときweekly cron jobでfstrimが走る状況になってたら停止しろ じゃないとfstrimが走った瞬間にI/Oパフォーマンスが刺さって死ぬ fstrimを停止するならdiscard mount optionを有効化しろ、ただしその状態でのI/O性能で問題ないかどうか測っておけ discard mount optionを有効化しても大きいファイルの削除には気をつけろ、プチfstrimみたいになるぞ 追記されるばかりで大きくなるファイル(そして削除されるファイル)はNVMeじゃないデバイスに置いとけ 高I/Oスループットを期待するシステムでのNVMeとfstrim 社内で小さめのインスタンスを多く並べてトラフィックを捌いてたのを色々要件があって大きめのインスタンスにまとめるようなシステムアップデートをや

    高負荷システムでNVMeデバイス使用時のfstrimとdiscard mount optionの話 - たごもりすメモ
    tagomoris
    tagomoris 2019/06/24
    書いた
  • RubyKaigi 2019いってきた&LTやってきた - たごもりすメモ

    はい、今年のRubyKaigi 2019は福岡でしたね! rubykaigi.org 私事でばたばたしてたんだけど、ずっと前から参加を予定してたものだしで、行ってきた。今回もいいカンファレンスだったし、福岡はいい街だしで、よかったですね! LTやってきた 元々メイントークでproposal出してたんだけど落ちちゃって、LTに出したら通った、のでやってきた。時間がなかったので細かい説明をちゃんとやるより、インパクトとネタ重視で。 Invitation to the dark side of Ruby from SATOSHI TAGOMORI 内容はRuby 2.6で追加された RubyVM::AbstractSyntaxTree を使ってマクロを実現するぜ! というやつ。コードはこちら。 github.com これ自体はもうちょっと機能追加とか機能修正したりしてから別途エントリを書くつもり

    RubyKaigi 2019いってきた&LTやってきた - たごもりすメモ
    tagomoris
    tagomoris 2019/04/25
    書いた
  • TDのパーカー等をずらっと並べてみる - たごもりすメモ

    自分の勤務先であるところのTreasure Dataは昨年めでたく買収されてArm Treasure Dataとなったが、最近ちょっと必要に迫られてタンスなどを整理しているところ大量にTDパーカー等が出てきてちょっと馬鹿にならない量になった。まあ処分するしかないものの割とレアなやつも混ざっててこのまま闇に葬るのもアレだったので、ちょっとずらっと並べたので記録しとく。 歴代パーカー 知っている限りで最初のTDパーカー。前面がFluentdで背面がTDというのがなんか会社の成り立ちを表してるみたいでけっこう好き。この頃はTD社員じゃなかったのになんで持ってるかというと、最初のFluentd meetupでしゃべったときにスピーカーとしてもらったんじゃなかったかなー。この頃は数も作ってなかったと思うので、今となってはかなりレア度高いはず。CEOの芳川さん*1がいまだにMountain Viewの

    TDのパーカー等をずらっと並べてみる - たごもりすメモ
    tagomoris
    tagomoris 2019/03/12
    書いた
  • gradle installDist したときのディレクトリ名と実行ファイル名の設定 - たごもりすメモ

    ビルドした環境に依存する起動スクリプトを生成してくれるように gradle installDist したとき、ディレクトリ名にはプロジェクトのディレクトリ名が使われる。 my-project$ ./gradlew installDist # すると以下のツリーができる # my-project/build/install/my-project/lib # my-project/build/install/my-project/lib/... # my-project/build/install/my-project/bin # my-project/build/install/my-project/bin/my-project (executable) 普段手元でやる分にはいいんだけど、うっかりcommit hashを使って git repo をチェックアウトしたツリーの下で実行したりする

    gradle installDist したときのディレクトリ名と実行ファイル名の設定 - たごもりすメモ
    tagomoris
    tagomoris 2018/12/05
    めも
  • RubyConf 2018 に行ってきた&しゃべってきた - たごもりすメモ

    タイトルの通り、と、ついでにシリコンバレー(Mountain View)にある自社オフィスに行ったり、バンクーバーに寄ってリモートで働いている同僚たちと会ってきたりしたので、合計3週間近くの長い北米出張をしてきた。 RubyConf 2018 rubyconf.org プロポーザルを出したらRubyKaigiトラックで通ったので @joker1007 さんとふたりでしゃべってきた。内容は RubyKaigi 2018 で話した内容のほぼ再演*1なんだけど、もちろん英語で。 RubyConf 2018に登壇するためにL.Aまで行ってきた - joker1007’s diary 前に RubyConf 2014に行ったとき は、正直に言ってトークがぜんぜんダメダメ*2で、それに較べればだいぶマシに英語でプレゼンできるようになったとは思う。当たり前だけどその後に体験した場数が違いすぎるからという

    RubyConf 2018 に行ってきた&しゃべってきた - たごもりすメモ
    tagomoris
    tagomoris 2018/12/04
    書いた
  • Webアプリケーションのベンチマークをとるときに気をつけている10のこと - たごもりすメモ

    10もないかも、と思いながら項目を書き出してみたら10以上余裕であってキリがないので10で収めた。いやあ、あるなあ。 仕事柄よくベンチマークを実行したりしてて色々と思うところが溜まっていたところ、以下のような記事を見掛けたのでなんか書こうと思った。ところでこの記事はベンチマークを実行するための準備作業がループを回して2時間かかるところの待ち時間に書かれている。 sfujiwara.hatenablog.com ISUCONといえば多少縁があるコンテストで、文中でISUCON5のことについても言及されているので、それも含めて。 自分が業務でいじっているのは "Webアプリケーション" というとちょっと違うんじゃないのというものばかりだが、いやー、最近なんでもHTTPで外部APIを作るからベンチマークのコツとしては大体変わんなかったりするよね。 なおこの記事でベンチマークはどのようなものかとか

    Webアプリケーションのベンチマークをとるときに気をつけている10のこと - たごもりすメモ
    tagomoris
    tagomoris 2018/10/26
    おりゃー
  • RubyKaigi 2018 で仙台に行ってきた&しゃべってきた - たごもりすメモ

    今年もRubyKaigiでしたねー。実によいカンファレンスでした。 rubykaigi.org 仙台は東京からも新幹線で1.5〜2時間で着けるというアクセスの良さ、加えてちょうど新緑の時期で街中も郊外も美しいし、日酒も酒に合う魚もおいしい場所だし、地方開催のカンファレンスは当にすばらしいなって話をずっとしてた。そういうところに隔離されてずっとソフトウェアの話ができるの、当に良いと思う。 しゃべってきた 今年は去年のRubyKaigiから間が短いこともあってトークの応募どうしようかなと思ってたんだけど、最近Asakusa.rbで @joker1007 さんとよく盛り上がる技術ネタがあって、それを共同で応募してみたら通ったから話してきた。(jokerさんのエントリ) Hijacking Ruby Syntax in Ruby - RubyKaigi 2018 スライドはこちら。 Hija

    RubyKaigi 2018 で仙台に行ってきた&しゃべってきた - たごもりすメモ
    tagomoris
    tagomoris 2018/06/05
    仙台で行われたRubyKaigiの真実について記しました
  • Nginx 1.13 の http_mirror_module を試す - たごもりすメモ

    みなさんにも、さまざまな過去の経緯からくる微妙挙動を満載した外部ユーザ向けのHTTPサーバをリプレイスしたりするとき、実際にガツンとやっちまう前にちょっとリクエストを分岐して挙動と性能を確認したい、と思うことがあると思います。考えるだけでつらい気分になってくるやつ。でもやったほうが100倍マシなやつ。 どうしよっかなとちょっと考えたところ、少し前にこんな話があったのを思い出すはずですね*1。 asnokaze.hatenablog.com とはいえヨッシャ使うぞといきなりぶちこむこともできないので、まずいくつか試してみることにする。 準備 前提としては以下のように、元のアプリケーションと同じにホストにリバースプロキシが立っており、そこのnginxで http_mirror_module を使う、という想定*2。ミラー先はどこか適当なアプリケーションサーバ(あるいはロードバランサ)で、元アプ

    Nginx 1.13 の http_mirror_module を試す - たごもりすメモ
    tagomoris
    tagomoris 2018/04/03
    書いた
  • MANABIYA.tech にいってきた&しゃべってきた - たごもりすメモ

    manabiya.tech こちらのMANABIYA.techというカンファレンスでインフラ方面のセッションオーナーであるさくらインターネットの田中さんから何かどう? というお誘いがあったので、最近考えてたことを話すいい機会だと思ってひと枠しゃべってきた。あと、同トラックの前佛さん、長野(kazeburo)さんといっしょにパネルディスカッション的なやつも(モデレーターは田中さん)。 会場は以前にTDの社内イベントで使ったことがある、秋葉原の3331というところで、小学校跡地をイベントスペースに改装したところ。こういうところ、いいよなー。雰囲気があって。とはいえ元の建物がモノだけにひと部屋のサイズは小さめになってて、これはカンファレンス会場としてはちょっときびしいですね。 しゃべってきた Tales of Modern Systems: Distributed / Containerized

    MANABIYA.tech にいってきた&しゃべってきた - たごもりすメモ
    tagomoris
    tagomoris 2018/03/26
    めも
  • Golangの defer をRubyでも使いたい - たごもりすメモ

    前にRubyでtry-with-resourcesが使いたいという話を書いてそのときにリリースしたgemもあるが、人類の安全に・便利にリソースを解放したいという欲求には際限がない。 try-with-resources は便利なんだけど欠点がないわけではなくて、リソースの確保と解放を一ヶ所でまとめてやらないとネストが深くなる。複数箇所に分けて書くならネストも2段になってしまう。 これはこれで整理されたコードを書く圧力になるので悪くない面もあるんだけど、とはいえもうちょっと自由にやりたい、いい方法は無いもんか、という話。 defer ある。Golangの defer が便利そう。defer foobar って書いとくと、そのスコープを外れるときに自動的に foobar の内容が実行される。あるスコープのどこに何度書いてもいい。これは便利。 # GolangのdeferのままRubyにもってき

    Golangの defer をRubyでも使いたい - たごもりすメモ
    tagomoris
    tagomoris 2018/03/14
    書いた
  • Ruby誕生25周年記念イベントでしゃべった & After Partyやった - たごもりすメモ

    Ruby誕生から25周年を祝うイベントが開催され、そこの「Rubyの今」というセッションでデータ処理について話さないかという依頼があり、受けたので、話してきた。 Ruby25 | Top 当にいろんな人が参加していて、みんなでわいわいとお祝いをする、という感じ。高橋会長やまつもとさんの話はあちこちのメディアに出ているから良いとして、Matzのご息女が出てきてMatzが壇上でものすごく動揺してたのがちょっと面白かった。いやあ、これこそがコンテンツだな。 他にスポンサー企業のブースがあったり、いろんなプロジェクト・コミュニティのポスター展示があったり。ポスター展示はよかったなー。あんなふうに自分のプロジェクトをアピールできるのはすごく良いと思う。見て回ったけどじつに楽しかった。 しゃべってきた Data Processing and Ruby in the World from SATOSH

    Ruby誕生25周年記念イベントでしゃべった & After Partyやった - たごもりすメモ
    tagomoris
    tagomoris 2018/02/26
    書いた
  • TD Tech Talk PLAZMAでBigdamについてしゃべった - たごもりすメモ

    今年はTreasure Dataの東京オフィスができて5年ということも兼ねてPLAZMAというイベントをやっているんだけど、その併催ということで TD Tech Talk をなんと2日間、初めて平日の午後の開催で行った。TD発のOSSが中心になるOSS Dayと、TDの内部実装についてあれこれ話すTD Internal Day。 techplay.jp techplay.jp あれこれ裏方もやっていたんだけど、多くの人に来ていただけたし、楽しんでもらえたような感じだった。またOSS DayとTD Internal Dayともに外部からの人にもしゃべっていただく時間を設けて*1みた。こっちも普段TDのエンジニアだけだと出てこない話がいろいろあって、当によかったと思う。 しゃべった ここ1年(!)やっているBigdamというプロジェクトがあるんだけど、そのプロジェクトの概要と全体の設計におい

    TD Tech Talk PLAZMAでBigdamについてしゃべった - たごもりすメモ
    tagomoris
    tagomoris 2018/02/20
    めも
  • SENDAI IT COMMUNE #2にいってきた&しゃべってきた - たごもりすメモ

    こちらのイベントでしゃべらないかという依頼をいただきまして、いい機会だったのでお受けしていってきました。いやー、地方都市での登壇依頼、いつもたいへん嬉しいです。ありがとうございました。 techplay.jp 仙台市さんが仙台でITな感じを盛りあげよう、みたいな感じで行われているよう(雑な理解)で、東京でも既に一度あったようだしこの後も東京で行われるようですが、今回は仙台市内。ナイスな時に呼んでもらえました。 仙台、新幹線で早ければ東京から1時間半で着くという、とにかく圧倒的に近いのがすばらしいですね。あと酒と魚がうまい(重要)。個人的に楽しいおでかけでした。 しゃべってきた データ分析基盤のことについて、ということだったんだけど他の方がサービス運営で使われるデータ分析の話をがっつりしてくれそうな感じだったので、自分はちょっと目先を変えてそういう基盤を作るときに必要な技術について話してた。

    SENDAI IT COMMUNE #2にいってきた&しゃべってきた - たごもりすメモ
    tagomoris
    tagomoris 2018/01/22
    めもった
  • mrbgemをビルドしてテストを手元で走らせる(2017年版) - たごもりすメモ

    mrubyを使っていたところ、あるmrbgemが思った通りに動かなかったとする。あなたはまず真っ先に自分のコードを疑い、次にmrbgemの挙動を疑うであろう。 しかしmrbgemにはテストが十分に書かれていないかもしれない。ので、自分でテストケースを追加して手元で走らせ、様子を見たいと思うのが人として自然な成り行きである。 ところでmrbgemのリポジトリなどを見てもどのようにビルドしテストを実行させているのかが全く不明なケースが多く、なにこれどうやるの? という疑問を当然のように持つと思うので、そのような人のためのメモがこのエントリ。 ちょっと調べると以下のようなエントリがひっかかりますが、これは2年前のもので、この通りに build_config.rb を書いて上書きして走らせてもmrbgemのテストは実行されません。注意。 mrubyのモジュールmrbgemを開発した際に簡単にTra

    mrbgemをビルドしてテストを手元で走らせる(2017年版) - たごもりすメモ
    tagomoris
    tagomoris 2017/10/31
    メモった