タグ

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

  • LFAというAWS API Gateway用Lambdaをそのまま動かすRuby用Web frameworkを作った - たごもりすメモ

    この記事はRubyアドベントカレンダー2022の15日目の記事です。 以下のような話をお送りします: AWS Lambda + API Gatewayを使ってる話 LFAというWeb frameworkをガッと書いた話 LFAでLambdaの手元開発が楽になるのではという話 Ruby 3.1で導入されたKernel#loadの便利機能が超便利という話 Lambda関数ごとに環境変数ENVの内容を変えたいという話 最近AWS Lambdaべったりな話 最近自分でサービスを作ってるんですが、サーバサイドは全部AWS Lambda + API Gatewayでやっつけてます。 EC2を常時起動して管理するのもやだし、大した規模でもないからゴツいビルドパイプラインをセットアップしてコンテナイメージをビルドするのも面倒だし、みたいなことを考えると、コードをそのまま送り付けるとあとは動きつづけてくれる

    LFAというAWS API Gateway用Lambdaをそのまま動かすRuby用Web frameworkを作った - たごもりすメモ
    taro-maru
    taro-maru 2022/12/15
  • CRuby/JRubyで実行可能かつmrubyでビルド可能なコードを書く - たごもりすメモ

    msgpack-inspectを作った話に書いたが、このツールはエントリにも書いたとおり rubygems.org に公開されていて CRubyJRuby でインストール・実行可能である。その一方でバイナリをダウンロードするだけで使えると便利だよねってことで、mrubyでクロスコンパイルしてリリース版が置いてある。 これは実はそこまで簡単ではなくて、Rubyの機能のうちmrubyでもサポートされている文法や組込みライブラリの範囲しか使えないのはもちろん、たとえば外部のライブラリに依存する機能*1などは mruby でクロスコンパイルしようとすると地獄を見ることなどもある。 そんな事情もあって、今回クロスコンパイルしたリリースに成功するまで、けっこうな手間をかけた。ここにそのへんをざらっと書いておこうと思う。 やったこと mruby-cliを使う 基的にmrubyでビルドするための準

    CRuby/JRubyで実行可能かつmrubyでビルド可能なコードを書く - たごもりすメモ
  • RubyKaigi 2016 に行ってきた & しゃべってきた - たごもりすメモ

    今年は京都で開催されたRubyKaigi、トーク募集に応募してたものが1件採択されたので、行ってしゃべってきた。 RubyKaigi 2016 京都ですよ京都。いいよねー。前日入りして飲みにいったり、最終日も泊まりにして飲みにいったりしていた。たのしい。カンファレンスとかで日各地に行きたいなあ。 しゃべってきた 採択されたトークはこちら。 Modern Black Mages Fighting in the Real World - RubyKaigi 2016 内容的には実はヤパチーでしゃべったやつのマイナーアップデートだった*1んだけど、時間がこちらの方がちょっと長いので、もうひとつ実用例を足したりしていた。 Modern Black Mages Fighting in the Real World from SATOSHI TAGOMORI Fluentd v0.14 におけるプラ

    RubyKaigi 2016 に行ってきた & しゃべってきた - たごもりすメモ
    taro-maru
    taro-maru 2016/09/15
  • 小中規模のIT系企業における技術的選択と雇用戦略に関する雑感 - たごもりすメモ

    でっかい主語で入ったが、要するに2月にあちこち会社巡りをしたときに感じたことについてつらつら書こう、というのが目的。 特定の会社について書いてもしょうがないので、あれこれ*1回ったうちから少なくとも2〜3ケースで該当するなあ、と思ったことについて書く。特定の1社のみに該当する事項はこのエントリにはひとつも出てきません。 またエントリの主旨からして超上から目線になりますが、どうかご容赦ください。 これから成長が格化するのでインフラを支えられる人材がほしい 正直に言ってこれが一番多かったパターン。スタートアップ的にサービスを作ってきたがその一方でデプロイや監視などの運用まわりが後手後手になっており、そのあたりを支えられる人物がほしい。 話としてはわかるのだが、気になったのは、これを聞くとき、詳しい内容を突っ込んでみると、どうも実際にはそう困ってはいない、というケースがほとんどだったように思え

    小中規模のIT系企業における技術的選択と雇用戦略に関する雑感 - たごもりすメモ
    taro-maru
    taro-maru 2015/05/11
  • fluentd v1 configのチェッカを作った - たごもりすメモ

    tagomoris/fluentd-v1-checker · GitHub fluentd-v1-checker | RubyGems.org | your community gem host Fluentdの設定ファイルについてはv1 config という新書式がある。v0.14からはデフォルトでこちらの書式でパースが行われる予定。 ここに @repeatedly さんが書いてるけど、今のうちから v1 config で書いて --use-v1-config しておくと将来的に困らなくてよいと思う。書式的にも綺麗になっているはず。 ところで v1 config といってもいろいろな経緯から、これまでの書式の設定ファイルをぶちこんでもなんとなくパースできるようになっている。値に # とかを含めたいとかでなければ設定を変更しなくても通る場合も多い。 「場合も多い」これが困る。起動してみて動

    fluentd v1 configのチェッカを作った - たごもりすメモ
  • YAPC::Asia 2014に行ってきた&しゃべってきた - たごもりすメモ

    YAPC::Asia Tokyo 2014 みなさんご存知のYAPC::Asiaに出したtalk提案が採択されたので、スピーカーとして参加してきた。スケジュールを見たら2日目の一番最後の枠(LTの直前)で、なんと初めてのホールでのtalk。 1日目午後は会社でお仕事上の用事があったので参加できず、2日目朝は前日夜に死ぬほど飲んでいたので動けず、2日目午後は自分のtalk前で気もそぞろ……という感じで聞く側としてはアレだったけど、いろんな人が会場にいていろいろ話したし、面白かった。 しゃべってきた "Handling not so big data." というタイトルで、今現在における分散データ処理プラットフォームの世界はどうなっておるのか、ということをざっと概観しつつ、そういう仕事に踏み込むときには何が重要なのかについて少し話した。 Handling not so big data fro

    YAPC::Asia 2014に行ってきた&しゃべってきた - たごもりすメモ
  • NATやファイアウォールの向こうへデータをお届けする fluent-plugin-pull_forward を書いた - たごもりすメモ

    Fluentdにおけるネットワークごしデータ転送プラグインといえば forward が組み込みであるし、通信路を暗号化したければ secure-forward がある。 しかしこれらFluentdのネットワーク転送プラグインは基的に全て送信元から送信先に対してプッシュする形になっており、ネットワーク接続も送信元から送信先に対して行うことになっている。このため送信先のFluentdがNAT下にある場合やファイアウォールで保護された場所にある場合、もしくはダイヤルアップ接続……は、まあ今は無いだろうけど、例えば移動するデバイス上にある場合など、こういったときにはうまくデータの転送を行う構成がとれない。 なぜこういう状況、つまりプッシュ型で転送を行うプラグインばかりなのかというと、FluentdのBuffer pluginの仕組みによる。細かく設計上の話をあれこれしてもアレだし面倒くさいので省

    NATやファイアウォールの向こうへデータをお届けする fluent-plugin-pull_forward を書いた - たごもりすメモ
  • DISられないUIを作るために最低限守るべき5つの鉄則 - たごもりすメモ

    ぼくらが迂闊にUIを作ると、そこにはユーザの正直な目線があり、非常に様々な、そして真っ当な反応がある。 曰く「わからん」「まさかそこをクリックするとは」「不思議な動作」「独自宇宙」「モリスUI」。 反応がもらえるのは非常に良いことだが、何度も何度も繰り返しているとつらくなってくるので、できれば避けたい。分かっている(いた)ことは最初から対応しておきたいものだ。*1 ということで、ここではブラウザで操作する管理画面等のWebUIを作るとき、真っ先に心得ておくべき5つの鉄則を紹介したい。これを守っていてもDISられなくなるというわけではないが、これを守らないと間違いなくDISられるので注意しよう。 なおこの記事ではオリジナリティというものについては考慮しない。オリジナリティとか犬にわせろ。 クリックできる場所はcursor:pointerを指定しろ これを忘れるとこの世のものとは思えないくら

    DISられないUIを作るために最低限守るべき5つの鉄則 - たごもりすメモ
    taro-maru
    taro-maru 2014/07/18
  • RedDotRubyConf 2014に行ってきた&発表してきた - たごもりすメモ

    シンガポールで行われるRubyのカンファレンス RedDotRubyConf 2014 に出したプロポーザルが通ったので、Fluentdについて紹介してきた。旅費は勤務先のLINE株式会社に出してもらいました。 RedDotRubyConf 2014 RedDotRubyConf のオーガナイザーは配慮がすごくて、accept後の旅行の手配やら向こうでの行動やら、いろいろ気にかけてもらった。カンファレンス前夜のスピーカーディナーとかあるのも個人的にはすばらしいと思う。あれで色々な人としゃべれて、イベントへの入りみたいな気分がかなりできて落ち着けた。 Fluentdは日国内ではもうだいぶ認知されて使われているようだけど、海外だとアメリカで少し紹介されたくらいで、ユーザも少しずつ増えてはいるけどまだまだ、という状況だと思う。なので敢えて基礎から紹介する、という意味はあるだろうと思う。 実は自

    RedDotRubyConf 2014に行ってきた&発表してきた - たごもりすメモ
  • Norikra v1.0.0 - たごもりすメモ

    English article 以前からスキーマレスなストリーム処理をSQLで!というソフトウェアとして作っていたNorikra、このたびあちこち機能改善したりしたので、既にお仕事で絶賛稼働中ということもあるし、区切りとして v1.0.0 としてリリースした。 ついでにロゴとかも作ったので、なんとなくいい感じになりつつある。 https://rubygems.org/gems/norikra/versions/1.0.0-java http://norikra.github.io/ 修正点は リポジトリ のChangesに書いてあるが、curlだけで操作できるようHTTP JSON APIが加わってたり、GCまわりでハマらないようなデフォルトオプションが入ってたり、分析系クエリを書きたい人のために Group-by with Rollup や Grouping sets, Cube などの

    Norikra v1.0.0 - たごもりすメモ
    taro-maru
    taro-maru 2014/05/20
  • GrowthForecastに --kibanize オプションつけた - たごもりすメモ

    要するにおまえらは黒っぽいグラフならいいんだろ? ということで、そのような欲望を現実のものにするためのパッチを書いてpullreqを出しました。 https://github.com/kazeburo/GrowthForecast/pull/63 このグレートなパッチにより --kibanize オプションをつけて起動したGrowthForecastの画面がこのようになります。 色指定などは全面的にこちらから頂きました。グレートなエントリです。 rrdtoolは癒し - 桝原翔市的博客 ※ なお全体的にやっつけのため、Twitter BootstrapがゴニョゴニョやっていてCSSで簡単に色指定を上書きできない場所などが白いまま残ってたりします。みんなで頑張って更に格好よくしよう!

    GrowthForecastに --kibanize オプションつけた - たごもりすメモ
  • 2013年を振り返ってみる - たごもりすメモ

    今年はよくコードを書いたなあ、という気がする。OSSな年だった。個人の感想です。 Fluentd 今年はプラグイン等を書いた数はさすがに落ち着いた、けどpullreqをよくもらうようになって、人のコードを見る機会が増えた気はする。 今年新規に作ったのはこれだけ。 fluent-plugin-secure-forward fluent-plugin-norikra fluent-plugin-ruby-memory-usage-profiler fluent-plugin-dummydata-producer fluent-plugin-bigquery fluent-plugin-buffer-lightening fluent-plugin-buffered-stdout だいたい最後の駆け込みだけど、secure-forward って今年だったのか。暗号化暗号化うるせーなと思って使う予

    2013年を振り返ってみる - たごもりすメモ
  • Fluentdとはどのようなソフトウェアなのか - たごもりすメモ

    Fluentd というソフトウェアがある。日国内ではそこそこ話題になってきたが、何ができるのか、何に使うと嬉しいのか、何に使えるのか、という点について詳細をよく知らないという人もおそらくまだ多いことでしょう。 なので、簡単にまとめる。 http://fluentd.org/ なお以下の個別項目ごとに書いていくが、その手前にまとめを置いておくので忙しい人はそれだけ読むとよい。インストールや設定については導入部分については日語の記事はもう多くあるので、触れない。 概要 できること ログの収集 センサデータ等の収集 汎用データ処理プロセッサとして 頻出ユースケース ログの収集 データの集約 簡単なリアルタイム集計 ソフトウェアとしての特徴 コア プラグイン 安定性 性能 開発体制 コミュニティ ぶっちゃけどうなの? まとめ 現時点で、複数の場所に分散したデータや常に増え続けるデータの安全な転

    Fluentdとはどのようなソフトウェアなのか - たごもりすメモ
  • isucon3本戦いってきた&勝ってきた! #isucon - たごもりすメモ

    isucon3の戦にLINE選抜チームとして出た。ガッカリな感じだった予選時の状況はこちら。 isucon3予選参戦の記録 - tagomorisのメモ置き場 引き続き @kazeburo @sugyan @tagomoris の3人チーム。 ざっくりまとめ みんなこれまでこんな楽しいイベントに参加してたのか! ずるい!!!!!! 普段やってることを普段通りやる、と思っていたが焦って普段やらないようなミスを次々連発、社会は厳しい 思いきった構成変更とかできるのがisuconでしょwwww とかドヤ顔していたが、やりきれた。ドヤッ。 これからisuconという名前を口にするときに堂々とドヤ顔しようと思います。嘘です。元出題者のくせに成績出ないとかwwwみたいにならなくて当に安心しました。終わったあとのビールおいしかったです。 ということで、勝ちました。優勝と、あと僅差で特別賞もいただきま

    isucon3本戦いってきた&勝ってきた! #isucon - たごもりすメモ
    taro-maru
    taro-maru 2013/11/11
  • #fluentd 用ログ収集専用のエージェント fluent-agent-lite 書いた - たごもりすメモ

    みんな大好きfluentdはたいへん便利ですが、ログの収集&集約だけをしたい、というときにちょっとオーバースペック気味のところがあります。特に in_tail はログの読み込みと同時に parse をする仕組みになっており、まあログが書かれた場所ならparseのルールもわかってるでしょ、というところは合理的なものでもあるのですが、loadavgが高いサーバでそういうことをするのは正直にいってなかなか厳しいです。 そういうわけで以前に scribeline というエージェントツールを作ったのでこれを fluentd 以降後も使い続けていたのですが、ログをいったん集約するところの fluentd がCPU使用率的にいっぱいいっぱいになって厳しいものがありました。「scribe(Thrift)じゃなくてMessagePackにすれば倍くらいさばけるよ」ということを某開発者が言っていたような気もす

    #fluentd 用ログ収集専用のエージェント fluent-agent-lite 書いた - たごもりすメモ
  • xargs を使ってカジュアルに並列処理 - たごもりすメモ

    シェルからでも重い処理というのはちょこちょこあって、例えば超デカいログファイルを移動して圧縮したりというお仕事は世界中のあらゆる場所で毎日行われていたりする。コマンドラインからでも大量の圧縮済みログファイルをいっぺんに展開したい、とか。 あるディレクトリ以下に存在するたくさんのファイルを(圧縮済みのものを除いて)全部 bzip2 圧縮したい!と思ったら、とりあえずさくっと次のようにコマンドラインで叩けばいい。 $ find . -not -name '*.bz2' | xargs bzip2 これで、まあそんなに問題なく効率的にbzip2圧縮ができる。だがしかし。 最近は複数コアのCPUが普通に転がってるし、あまつさえHyperThreadingが有効になってたりしてOSから見える論理CPU数がハンパない。普通に8とかある。その一方で複数コアを使用してくれるコマンドというのはあんまりなくて

    xargs を使ってカジュアルに並列処理 - たごもりすメモ
  • 1