タグ

ブックマーク / udzura.hatenablog.jp (18)

  • 超入門USDT - ローファイ日記

    Linuxアドベントカレンダー2020 8日目の記事です。前日はmomomo_rimotoさんの多段sshとchroot環境。そしていろいろなコマンドを使いたいでした。 qiita.com 今日はみんな大好きなeBPFにも関係して、特にUSDTという機能に関するお話をします。 USDT、それは USDT(User Statically-Defined Tracing) とは、要するに、ユーザランドにあるプログラムに対して、静的にトレースのための窓口(プローブ)を埋め込む仕組みです。トレースが無効の際はパフォーマンスが落ちないような工夫がされています。 詳細な説明は id:mrtc0 の記事の方がわかりやすいので、簡単な説明に留めますが... blog.ssrf.in カーネル側をトレースする際に、動的な関数などのプローブをkprobe、静的にカーネルに組み込まれたプローブをtracepoi

    超入門USDT - ローファイ日記
    peketamin
    peketamin 2020/12/08
  • Infra Study Meetup #4 で登壇した後日談 #InfraStudy - ローファイ日記

    forkwell.connpass.com id:matsumotory さんからお誘いいただきお話しと、若干のライブコーディングをした。 なぜライブコーディングをしたのか 松さんから投げられたテーマがものすごく無茶なフリというか、「インフラの面白い技術」であった。正直最初の感想は、「えっ...」だった。これが関西人か、って思った。面白いってなんですか! 自分が面白いと思うことを考え続けた結果、プログラミングだなという気持ちになったので、それをなるべく直接的に表現するスタイルを選んだ。また、ここ最近のオンライン登壇に関してある程度実験してみたいという気持ちも強かったので。インフラ運用者にとってプログラミングの技術はある意味諸刃の剣だとは思っているのだが、それでもSRE(僕はソフトウェアエンジニアの一ポジションだという理解になっている)などの風潮もありチャレンジしてみた。 正直当日終わるま

    Infra Study Meetup #4 で登壇した後日談 #InfraStudy - ローファイ日記
    peketamin
    peketamin 2020/08/07
  • Kernel/VM/探検隊 online でRbBCCのLTをしました - ローファイ日記

    connpass.com Kernel/VM/探検隊 は憧れの勉強会だったので、とても緊張したのですが、オンライン化に伴い福岡からもLTチャレンジができるとのことでおしゃべりをしました。 speakerdeck.com Rubyアソシエーション助成対象でもあったRbBCCの簡単な紹介と現状の話をしました。 ブログでも書いてるやつです。Part 3書かないとね... udzura.hatenablog.jp udzura.hatenablog.jp 参加のふりかえり LTとはいえ参加者のレベルの高さもあるので、あまり間違ったことを言わないようベストを尽くしたつもりです... 結果的にはおおむねポジティブな反応をオンラインでいただけて良かったです。 ご指摘があった点として、ツールの比較の中でSystemTapやftraceもあるよという箇所がありました。 ftraceは以前少しだけ触ったのです

    Kernel/VM/探検隊 online でRbBCCのLTをしました - ローファイ日記
    peketamin
    peketamin 2020/06/12
  • serverengine を使い、Rubyでもサーバーを書こう - ローファイ日記

    Rubyを書いていると、サーバを書きたくなることがあります。皆さんもそうだと思います。 ということで今日はRubyでスッとサーバを書くためのgem、serverengineの簡単な使い方メモ。 github.com Rubyでサーバを書きたくなった時 そもそも的に、Rubyでただサーバを書くのは非常に簡単である。具体的には Kernel#loop などを回してその中でリクエストを待ったり、何かしら処理を行えば終わり。特別なgemは必要ないし、TCPを扱うクラスなども組み込みで用意されている。 以下のような9行のスクリプトを起動すれば、サーバを書いたと言える。ところで TCPServer#accept_nonblockでないと、acceptでブロックしてしまって終了処理が遅れたりするのでノンブロッキングの方のAPIを好んで使うのがいいだろう。 require 'socket' server

    serverengine を使い、Rubyでもサーバーを書こう - ローファイ日記
    peketamin
    peketamin 2018/04/24
  • initのお仕事〜tiniのコードを読んでみた - ローファイ日記

    急にinitが何をしているのか、何をすべきなのかが気になったので調べてみた。一緒に600行強のinit実装であるtiniのソースコードをざっくり読んだ。この場を借りてメモしていく。 the PID 1 problem RubyコミュニティなどではPassengerで有名なPhusion社のブログに、Docker and the PID 1 zombie reaping problemという記事が掲載されている。 blog.phusion.nl ゾンビプロセスをreapしてくれないと困る SIGTERMなどでPID=1が先に死んだらその子プロセスを処理してくれないと困る みたいな内容が書いてある。詳細は読んでみてほしい。 システムコンテナ(参考)と呼ばれる種類のコンテナを作る場合、任意のプログラムをコンテナ内部のPID=1とするのではなく、上記のような振る舞いをする軽量なinitプログラムを

    initのお仕事〜tiniのコードを読んでみた - ローファイ日記
    peketamin
    peketamin 2018/04/17
  • Ruby25周年記念イベントでお話ししました #ruby25th - ローファイ日記

    登壇者枠です。 Infrastructure as Code/mrubyなどによるConfiguration as Codeの話をしました。 speakerdeck.com もともとこの倍の分量のスライドが発生して笹田さんにご心配をかけてしまいましたが、なんとか時間通り? 話せました...。 当スライドで後半でいった内容だったり、僕が最近やっているようなことについて、当に純粋に「なんでやっているの?」という質問が何人かからありました。Kubernetesの「Railに乗って」コンテナをオーケストレーションしてビジネスをドリブンする、そういうのも確かにエンジニアとして生きるにあたり有力な選択肢だと思います。 でも僕にとって興味のあることは、そもそもKubernetesとか、コンテナとか、それを支えるLinux自体とかがどうなっているかというところであり、興味を持った分野に関しては 世界の

    Ruby25周年記念イベントでお話ししました #ruby25th - ローファイ日記
    peketamin
    peketamin 2018/03/01
  • straceがどうやってシステムコールの情報を取得しているか - ローファイ日記

    興味があって調べていたら、少しだけ分かったのでまとめておきます。当然間違った箇所もある、あと考慮が漏れている箇所もあるかと思いますのでツッコミをお願いします… ptrace(2) システムコール strace の核となるシステムコールは ptrace(2) である。ptrace(2)を用いることで、あるプロセスを別のプロセスから監視し、シグナルごとに停止してレジスタやメモリの状態を観察したり変更したりできる。gdbのようなデバッガのブレークポイント、あるいはまさにstraceのような目的で利用される。 大まかな利用方法としては、親プロセスの ptrace(PTRACE_ATTACH, pid, ...) (または子プロセスの ptrace(PTRACE_TRACEME, 0...))によりトレースが開始し、wait()などで停止を待ってから様々な設定を親から送り、 ptrace(PTRAC

    straceがどうやってシステムコールの情報を取得しているか - ローファイ日記
    peketamin
    peketamin 2017/04/20
  • Linuxプログラミングインターフェースを読んだ(一周目) - ローファイ日記

    読みきった。一周目の所感を書く。 Linuxプログラミングインタフェース 作者: Michael Kerrisk,千住治郎出版社/メーカー: オライリージャパン発売日: 2012/12/01メディア: 大型 クリック: 14回この商品を含むブログ (7件) を見る モチベーション ぼくは、小さい会社でWebサービスの開発もしつつLinuxのサバ管も少ししつつ、という人間だったので、Linuxに開眼して真髄を会得したい、という欲求が長らくあった。例えば青木さんのであったり、なるほどUnixであったり。 ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道 作者: 青木峰郎出版社/メーカー: ソフトバンククリエイティブ発売日: 2005/07/27メディア: 単行購入: 35人 クリック: 450回この商品を含むブログ (150件) を見る tatsu

    Linuxプログラミングインターフェースを読んだ(一周目) - ローファイ日記
    peketamin
    peketamin 2017/03/07
  • 私のロールモデル: エンジニア立ち居振舞い番外編 - ローファイ日記

    お題「エンジニア立ち居振舞い」 pepabo Advent Calendar 2016 24日目の記事です。 割と飲みの席とか、某ポエムサービスでは語ってはいるんですが、そういえばブログで書いたことがないような気がしたので父の話をします。 実は今年の福岡での新卒研修で同じような話を若者にしていて、でもまあ、あまりに個人の話なのでとスライドも公開していなかったのですが、せっかくなので内容を加えて書き下します。 僕の父は欄間職人をやっていて、6X歳を超えるいまも自営で東三河の片隅に店を持ってやっていってるわけだけど、僕は子どもの頃からそういう背中を見て育ってきたからか、今の自分を振り返ってみると随分自分の仕事ぶりが影響を受けているなと思ったりする。 今日は、6X歳のいまも職人の父を見ていて思ったこと、あるいは直接言われたことなどいくつかをしたためてみる。 生涯、勉強すること これは僕の父の仕事

    私のロールモデル: エンジニア立ち居振舞い番外編 - ローファイ日記
    peketamin
    peketamin 2016/12/24
  • イメージベースのデプロイについて(あるいはIaaSだとこんなんが良いんじゃないと言う意見) - ローファイ日記

    最近、仕事やら趣味やらで AWS / OpenStack / GCE その他のいわゆるIaaSなプラットフォームを調査したり、いじったり、そのAPIをいじったりする機会が多かった。 この辺の運用を考えていて試したこと、ぶつかったことなどをまとめたい。 実際やったこととしては、特定のプラットフォームに依存している訳ではないが、たいていの人はAWSのアレね、みたいなイメージを持った方が読み進めやすいんじゃないかと思う。 ゴールデンイメージを雑に走らせること この手のIaaSの基であるが、サーバーはインスタンスと呼ばれ、イメージを指定して起動する。ec2 aws run-instanceとかnova bootとかその類いである。 イメージからの起動のためには雑には大きく2要素があって、一つはイメージ自体の構築、もう一つは起動直後のそれぞれのインスタンスの特性に合わせた初期化処理のフェーズである

    イメージベースのデプロイについて(あるいはIaaSだとこんなんが良いんじゃないと言う意見) - ローファイ日記
    peketamin
    peketamin 2015/03/21
  • 「それでもRailsを選択する3つの理由」を読んだ - ローファイ日記

    http://ppworks.hatenablog.jp/entry/2015/02/19/223552 ほぼほぼ同意なのですが、フームと思って(ppworksさんプロダクトだから、ということでもないが)ポエムをしたためた。 でもなんかこれをあえてポエムにとどめないで書いたらどういう反応があるかな〜と思ったのでブログにも転載してみよう。 規約縛りの哲学 これは文句なくその通りだと思っていて、Rails以外のフレームワークではこれらの実現が非常に中途半端であると言う印象を持っている。 サービス作りにおいて技術選定やら何やらからの議論をしていてはリリースは当然遅くなるし、あまりしたくないということである。議論するならもっとユーザに近い、正体のよく分からない不安点(このアプリほんとにユーザに受けるの? とか)に関してすべき。 議論は一般的に良いことのように思われているが凄い体力を使うし、当に必

    「それでもRailsを選択する3つの理由」を読んだ - ローファイ日記
    peketamin
    peketamin 2015/02/24
  • 東京はもう古い、これからは福岡 - ローファイ日記

    タイトルは言ってみただけだが、若干の補足をする。 元ネタ: 東京はもう古い、これからは京都 - ゆううきブログ とりあえず現在、天神と言うデパートが3軒とパルコその他と12軒程度のスターバックスがある都市の徒歩圏内に3LDKを借りて住んでいるが、非常にQoL高い感じはする。博多という阪急百貨店と新幹線がある駅にもすぐ出られる。 この条件だとインターネット情報では平均13万とか出てくるが、11万ぐらいであると思う。 あと僕はぶっちゃけ魚嫌いだったんだが好きになった。玄界灘はやばい感じがする。 米、鶏牛豚、魚、野菜など、日常の事に必要な材は実はほとんど九州島だけでまかなえるからか、とにかく国産の材がとんでもなくリーズナブルに手に入ってうまい。 福岡に住んでまだ一年なのでおすすめの店は地元民の紹介に譲るが、ベースの材がおいしい。後は分かっていただけるかと思う。大名、赤坂などの地域には隠れ

    東京はもう古い、これからは福岡 - ローファイ日記
    peketamin
    peketamin 2014/11/26
  • Go言語からmrubyのDSLを読み込んでよしなに使う - ローファイ日記

    Go言語便利だけど、文法をこねくり回して内部DSLを作るとかには向いていないので、ルビー風にDSLを読み込ませて設定と替えさせていただきます、と言うのが少し難しい。 いっそGo内部でRubyを組み込んで実行したい。mrubyならできるんじゃね? と思ってやってみたらそれっぽいのができた。 Vagrant、Packer、Consulなど、DevOps対応界隈でその名を知らない者はいない mitchellh さんの mitchellh/go-mruby · GitHub をつかう。 多分だけど、ハシモト氏も同じようなこと考えてたんじゃないだろうか。結局 hashicorp/hcl · GitHub を使われてるけれど。 完成したそれっぽいの.go package main import ( "fmt" "io/ioutil" "os" "github.com/mitchellh/go-mrub

    Go言語からmrubyのDSLを読み込んでよしなに使う - ローファイ日記
    peketamin
    peketamin 2014/09/18
  • 第二新卒研修をしていた - ローファイ日記

    雇用流動情報の季節ですが、いかがお過ごしでしょうか。雇用流動と間接的に関係のある記事を書きます。 標記の通り、研修をしていたのでその内容をまとめたり振り返ったりする。 思ったより長くなったぞ... 背景とか がっつりとしたWeb開発の経験は無いが、情熱があり、コミュニケーション能力など基的な能力が高そうな、年齢の若い方が応募されたので、いわゆる「第二新卒」と言う扱いで研修を前提に採用した。で、その研修のカリキュラムを主にぼくが考えて実施していた。 といっても、今までに積み上げてきた新卒向け研修のカリキュラムやノウハウを眺めてエッセンスを抜き出すみたいな感じだった。 ペパボ新卒デザイナーとエンジニアの研修ブログ ペパボ新卒エンジニアの研修を開始している - HsbtDiary(2013-05-22) ペパボ新卒エンジニア研修 前編 | blog: takahiro okumura ペパボ新

    第二新卒研修をしていた - ローファイ日記
  • Sinatra frameworkに関する私見 - ローファイ日記

    エクスキューズとか 正直な話をすると、Webフレームワーク自体に関する興味は以前に比べて失われてきているので、最新のSinatraの細かいコミットまでは追っていない。 だが、2年強ほど Sinatra/Padrino 界隈を追いかけてきて得た知見と言うか考えについてまとめるのは一定の価値がある、少なくとも自分に取っての価値は非常に大きいと思うのでここに書いていきたい。 副次的には、ミスコンセプトによってSinatraを利用して、結果必要の無いイメージの悪化を招く事態を一件でも減らせればと思う。 Sinatraはmicroframework、あるいは「フレームワークではない」 公式の説明にある通りである。 具体的にどういうことかと言うと、Sinatra単体ではウェブサービスに必要な要件を満たさないかもしれないと言う話である。Sinatraが持っていないものについては、Sinatra以外の場所

    Sinatra frameworkに関する私見 - ローファイ日記
  • 「Hubot + CoffeeScript ではじめるやわらかプログラミング入門」を公開した - ローファイ日記

    よろしくお願いします。 Hubot + CoffeeScript ではじめるやわらかプログラミング入門 社内勉強会で使った死霊資料を社外で問題ないように少し直したもの。なので ほらちゃん とか若者の名前が出ている。 経緯 もともとプログラミング入門みたいな勉強会をしようと思っていたところ、新卒若者勢がプログラミングをやりたい!!! とのことだったので、実験的に社内勉強会をした。 非エンジニアの新卒にプログラミング研修を行いました - pixiv engineering blog という記事を以前見かけたのにも影響されている。カタツイフォロワーである。 よかったところ 新卒ヤング若者だけでなくお兄さんお姐さん達も交えて、普通にプログラミング入門的勉強会にした。そうしたらお兄さんお姐さんたちはわりとその後もボットをいじってくれているみたい 早速某チャンネルでボットが動いて凄かった 逆に若者達は

    「Hubot + CoffeeScript ではじめるやわらかプログラミング入門」を公開した - ローファイ日記
    peketamin
    peketamin 2014/06/02
  • 過去の自分を救いたいプログラマの話 - ローファイ日記

    闇 Advent Calendar 2013では、青臭い話もネガティブな話もして良いそうなので、これから小説を書きたいと思います。 ぼくはプログラマなのだが、ぼくの仕事の考えの真ん中にあるのは、実は技術的なエッジに触れているとか、あるいは給与がいいだとか、そういうことは結構どうでも良くて、たとえば孤独なチームメイトを作らないとか、業務知識を一人で抱え込むのを辞めさせるとか、一人一人に当事者意識を持ってもらうとか、そんな青臭いけど単純なことである。 ただのスクラムの影響、言われればそれまでだが、その根底にあるのは「過去の自分を救いたい」と言う感情だと思っているし、この考えの根底が作られた当時はスクラムなんかろくに読んでいなかった。 過去、とある会社に所属していたとき、辞めるまでの後半の1年ほどは当に辛くて、入社して2年ほどしかたっていないぼくが、2000年代の初めだかに誕生したレガシー

    過去の自分を救いたいプログラマの話 - ローファイ日記
    peketamin
    peketamin 2013/12/26
  • あんまりエモくない自分のキャリアまとめ(もうすぐ30だしね!) - ローファイ日記

    B社時代 たまにひとに言ってるんだけどぼくは元々新卒の頃マスコミばかり受けていて、最初のキャリアは新聞社で始まった。ただし社内SE。 当時のジョーシ氏は技術畑の人では無かった(むろんLinuxRDBの知識などは当時のぼくが敵わないレベルには勉強していた)のだけれど、今でも割と影響を受けていて、なんか「人にフォーカスする」みたいなことを盗んだような気がしている。今でもチームや他部署の人を観察するのとか、人間関係も基的にP2Pでつくる癖があるんだけどこの辺の動きが影響を受けている。 「人にフォーカスする」はぼくのプログラマとしての働き方の根底にある気がする。ルビーコミュニティーの影響もあると思うけど多分当時のジョーシの影響の方が強い気がするな、と最近久しぶりに呑んで思った。 F社時代 自分の未熟さ故に自分の思ったモノ作りはできていなかったかもしれない。学んだこととしては主に3つあった。 ひ

    あんまりエモくない自分のキャリアまとめ(もうすぐ30だしね!) - ローファイ日記
  • 1