タグ

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

  • systemdのenvfileを普通のコマンド実行時に流用する - たごもりすメモ

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

    systemdのenvfileを普通のコマンド実行時に流用する - たごもりすメモ
    michael26
    michael26 2020/08/19
  • 高負荷システムで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の話 - たごもりすメモ
  • プログラミングを始める動機はどこにあるのか、の話 - たごもりすメモ

    あるいは「高校生からはじめるプログラミング」の話。 こちらのKADOKAWA様からいただきました。ありがとうございます。なぜ自分に……*1などと思わなくもなかったけど、ありがたく眺めさせていただきました。今となってはこういうガチ初心者向けの教を眺める機会なんて皆無だしなあ。 SAOのコンテンツ力が表紙/裏表紙と章立てのページに発揮されてるけど、他のページはごく普通のプログラミング教で、特に中身との連携はなかった。これで売上とか変わるのかな。変わりそうだなあ。 で、ざらっと眺めたあと、タイミングよくプログラミングを始める動機ってなんなんだろうな、と思ったので、それに絡めて書く。 の中身 最近のプログラミングの導入ってそもそも何をやるの、みたいなのがぜんぜん分かってなかったので、ちょっと新鮮だった。思えば技術要素を特定しない「プログラミング入門」のというのは人生で初めて読んだかもし

    プログラミングを始める動機はどこにあるのか、の話 - たごもりすメモ
    michael26
    michael26 2017/04/24
  • 専門用語を並べてしゃべる専門家は許せない、という人は愚かである、という話 - たごもりすメモ

    ちょっと最近腹に据えかねる記事がネットで散見されるので敢えてアレなタイトルで、よろしくおねがいします。 なおこの記事は、自分はソフトウェアエンジニアリングの専門家であるので、そのような領域を大雑把に想定して書かれております。が、たぶん他の専門領域においても似たような状況なのではないかと推察しております。 専門用語ばかり使って会話するような人は当のプロではない という言説を最近ちょくちょく見ますね。曰く、普通の人に説明できないようではダメだ。曰く、普通の人でも重要性が理解できないように話せないということは、実際にはお前のやっていることは重要ではないのだ。曰く、専門用語ばかりで会話するようでは実際の能力はわからない、専門用語などわからなくても当に能力がある人にはあるのだ。 んなわけねーだろ。 専門家というのは、非専門家には扱えない問題を扱う専門家だから専門家として働けていて、それなりの待遇

    専門用語を並べてしゃべる専門家は許せない、という人は愚かである、という話 - たごもりすメモ
    michael26
    michael26 2016/12/06
  • CRuby/JRubyで実行可能かつmrubyでビルド可能なコードを書く - たごもりすメモ

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

    CRuby/JRubyで実行可能かつmrubyでビルド可能なコードを書く - たごもりすメモ
  • TCP serverをSSL/TLS化するのに nginx の stream_ssl_module/stream_proxy_module が便利 - たごもりすメモ

    最近 Fluentd の通信プロトコルまわりをアップデートするためにあれこれいじっている*1んだけど、これはおおむね fluent-plugin-secure-forward がサポートしていた内容を Fluentd 組込みの forward plugin でもサポートしますよ、というものになる。 んで問題なのが secure-forward は SSL/TLS での接続のみしかサポートしてなかったんだけど forward では生の TCP で通信する*2ので、当に secure-forward と forward それぞれの実装間で互換性が保たれているのか、直接的には確認する手段がない、ということになってしまう。 TCP server の SSL/TLS 化 一方世の中には SSL/TLS ターミネータという機能があって、たとえばロードバランサなんかがこの機能を持っている。何をやるかと

    TCP serverをSSL/TLS化するのに nginx の stream_ssl_module/stream_proxy_module が便利 - たごもりすメモ
  • 松江市でOSSの話をした & Fluentd meetup をやった - たごもりすメモ

    なんか最近プレゼンテーションやった話しかエントリに書いていない……。。。 それはともかく、しまねOSS協議会というところから周年記念講演で話さないかというお誘いがありまして、お受けしたので島根県松江市で話してきた。せっかくRuby City Matsueに行くことだしついでにイベントやってこようということで Fluentd meetup in Matsue もやることになり、そんなわけでふたつ発表してきた。 第106回オープンソースサロン・総会記念講演 第106回オープンソースサロン・総会記念講演 | しまねOSS協議会 OS4 しまねOSS協議会ということで、オープンソースソフトウェアの話。 Open Source Software, Distributed Systems, Database as a Cloud Service from SATOSHI TAGOMORI というか、ト

    松江市でOSSの話をした & Fluentd meetup をやった - たごもりすメモ
  • Fluentd v0.14.0 をリリースした & Fluentd meetup 2016 Summer をやってしゃべってきた - たごもりすメモ

    最近めっきり対外的なアウトプットが減っていたのは、ぜんぶこいつのコードを書きまくってたからです。すごい書いた。 Fluentd v0.14.0 has been released | Fluentd ということで出ました、Fluentd v0.14.0。だいぶいろいろ良くなってるはずだけど、そのあたりはこれからv0.14対応プラグインが増えてきたりすると分かってくるかなと思う。ユーザにとっても嬉しい変更が山盛りです。 で、まずそのことをアピールしなければならんということで、Fluentd meetupではがっつりとしゃべってきた。 Fluentd meetup 2016 Summer - dots. [ドッツ] Fluentd v0.14 Plugin API Details from SATOSHI TAGOMORI 元々45分の予定だったのに90分弱くらいしゃべってしまったらしい。すま

    Fluentd v0.14.0 をリリースした & Fluentd meetup 2016 Summer をやってしゃべってきた - たごもりすメモ
    michael26
    michael26 2016/06/02
  • Perlでコマンドラインオプションの解析に Getopt::Long を使う時、絶対に忘れてはいけない引数 - たごもりすメモ

    Perlでコマンドラインオプションをparseしようと思うと組込みモジュールとしては Getopt::Std と Getopt::Long がある。が、long style option *1 つまり --option-name のようなオプションを解釈してくれるのは Getopt::Long だけだ。なので普通はこちらを使おう。 ただし 絶対にデフォルト、つまり以下のようにして使ってはいけない。 use Getopt::Long; my (@primary, @secondary, $silent); GetOptions( "server-primary|p=s" => \@primary, "server-secondary|s=s" => \@secondary, "silent|S" => \$silent ); これダメ! 絶対ダメ! 死ぬ! 最初に結論を書く 必ず以下のように

    Perlでコマンドラインオプションの解析に Getopt::Long を使う時、絶対に忘れてはいけない引数 - たごもりすメモ
  • #fluentd のためのプラグインをイチから書く手順(bundler版) - tagomorisのメモ置き場

    前に自分で書いた fluentdのためのプラグインをイチから書く手順 - tagomorisのメモ置き場 はたいへん重宝していたのだが、書いたすこし後になって実は現在すでに bundle gem コマンドを使うやりかたが良さそうだということがわかってしまったがばたばたしてて移行してなかった。 で、またひとつプラグインを書くことにしたのでついでに bundle を使った手順をざっくりまとめておく。以下のエントリをたいへん参考にさせてもらった。 T-POINTを取得するスクリプトをGistから移動, Bundlerを使ったGem作成メモ (自分用) - ただのにっき(2012-02-18) 準備とディレクトリツリーの作成 bundler は必要なので、なにはなくとも入れておこう。 gem install bundler そしてプラグイン用ディレクトリツリーを作成する。今回は DataCount

    #fluentd のためのプラグインをイチから書く手順(bundler版) - tagomorisのメモ置き場
    michael26
    michael26 2015/02/01
    見るのが1週間遅かったけど、非常に参考になる
  • 退職します - たごもりすメモ

    先にまとめ 現在の勤務先を退職することにしました。日が最終出社日です。 次はまだ決まっていません。というか、どことも具体的な話はまだしていない、という段階です。面白そうな職場はどこにあるかなと探している段階ですので、魅力的なところに心当たりがある方はぜひご連絡ください。色々な人と話ができるといいなあと思っています。 現職について 11月半ばくらいまでは転職はまったく考えていませんでした。が、その頃の世間の技術的な流れなどを見ていて、ちょっと技術的に異なることをやろうかなあ、と考えたのが直接的な理由です。今後どうするかを考えたとき、せっかくなら働く環境なども変えてしまった方がこれからの人生が刺激の多いものになりそうだということで、現職を退職することを決めました。 やりたいことを変えるだけなら社内でやればいいだろう、という話を会社側からはされましたし、もっともなことでもあるのですが、同時に前

    退職します - たごもりすメモ
    michael26
    michael26 2015/01/28
  • Fluentd out_forward における最適化パラメータいくつかの話 - たごもりすメモ

    Fluentdのデータをネットワーク経由で転送するための組み込みプラグイン out_forward には最適化のための設定がいろいろあるが、内部構造への理解がないとなかなか意味がわからなかったりするものも多い。ので、あんまりいじってる人はいないんじゃないかという気がする。 最近複数の転送先へのロードバランスを out_roundrobin ベースの方法から out_forward の機能を使った方法に切り替えてみたので、ついでにそのあたりについて書いてみる。 (おまけ) out_roundrobin と out_forward(のロードバランス)の違い out_roundrobin は event stream の emit つまりFluentd内部における最小の配送処理単位ごとに配送先プラグイン(のインスタンス)を切り替える。可能な限り細かい単位で配送先をバラけさせたいときはこちらを使う

    Fluentd out_forward における最適化パラメータいくつかの話 - たごもりすメモ
    michael26
    michael26 2014/12/17
  • LINE選抜で isucon4 予選に参加してPerlのコードをごりごり書いた - たごもりすメモ

    みなさんtagomorisはPerlなんて書いてねーだろと思うかもしれませんが、意外にちょっとは書くんですよという話……じゃなくて、それはどうでもよくて、今年も ISUCON の季節ですね、という話。 詳しくはこちらをどうぞ。 LINE選抜で isucon4 予選に参加してきました。暫定スコア「51192」を出すためにやったこと - blog.nomadscafe.jp では済まないので、自分の視点からの話も。 準備 上述エントリのとおり、準備自体はほぼ去年のISUCON3戦のものを持ち込む形。結果的にほとんど問題なかったと思う。 設計 10時になってからの開始後、サーバ側のセットアップと初期ベンチ実行および結果確認は@kazeburo、コードのバージョン管理まわり等は@sugyanにおまかせしてひと足はやめに詳細が公開されたレギュレーションとアプリケーションコードを読む側に回った。 そ

    LINE選抜で isucon4 予選に参加してPerlのコードをごりごり書いた - たごもりすメモ
    michael26
    michael26 2014/09/30
  • fluent-plugin-notifier と fluent-plugin-ikachan の話 - たごもりすメモ

    リリースしてはいたものの手元でちゃんと使っていなかったプラグインふたつ、をいよいよちゃんと使いはじめた。そのついで(?)にちゃんとテストを書いたりREADMEを書いたりしたので、せっかくだからここにも書いておく。 fluent-plugin-notifier Fluentdで流通するメッセージを相手に数値範囲や文字列検査(正規表現)により異常を検出しアラート(を示すメッセージ)を出してやろう、というプラグイン。 tagomoris/fluent-plugin-notifier · GitHub fluent-plugin-notifier | RubyGems.org | your community gem host 使いかたはたぶん例を見ればわかる……んじゃないかなー。こんな。 <match apache.log.**> type notifier <def> pattern apac

    fluent-plugin-notifier と fluent-plugin-ikachan の話 - たごもりすメモ
    michael26
    michael26 2014/09/16
  • Fluentdとはどのようなソフトウェアなのか - たごもりすメモ

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

    Fluentdとはどのようなソフトウェアなのか - たごもりすメモ
    michael26
    michael26 2013/12/03
  • 「Web開発の基礎徹底攻略」という本が出ます - たごもりすメモ

    技術評論社から表題のようなが出るようですよ。自分の記事も載ってます。 Web開発の基礎徹底攻略 (WEB+DB PRESS plus) 作者: 小飼弾,田籠聡,近藤宇智朗,並河祐貴,赤松祐希,井上誠一郎,ミック,天尋左石,和田裕介,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2013/07/23メディア: 大型この商品を含むブログ (6件) を見る 何かというと、前に書いた記事 の再録なのですが! いちおう現在の事情にあわせて細部を手直ししております。というか、改めて読み直しても普通に今現在でも通用する内容で、おれ良い記事書いてんじゃーんとか思いました。 ができて届いたので他の章もざっと目を通しましたが、やはりどちらかというと基礎的な内容が多いようです。大学を卒業したらあーんなWeb系企業で働くことが決まってて、コードもいちおうは書けるんだけどWebアプリケ

    「Web開発の基礎徹底攻略」という本が出ます - たごもりすメモ
    michael26
    michael26 2013/07/19
  • 1