タグ

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

  • mruby 本を支えた Continuous Delivery - ローファイ日記

    Rubyアドベントカレンダー、7日目の記事です。前日はjerrywdleeさんでした。 qiita.com 今年の半分ぐらいの時間をかけて、「Webで使える mrubyシステムプログラミング入門」というをリリースしました。 www.c-r.com 多くの知人に手に取っていただけているようで何よりですが、今回は、このの執筆を支える周辺技術の話について、Rubyアドベントカレンダーの場をお借りして公開しようと思います。 Re:VIEW (Re:VIEW Starter) によるPDF生成の自動化 今回のは、Re:VIEW というフォーマットを用いて執筆しています。 reviewml.org ただし、カスタマイズ性などの観点で、Re:VIEWの一種のディストリビューションである「Re:VIEW Starter」を用いて仮PDFを作成し、定期確認することにしました。 kauplan.org

    mruby 本を支えた Continuous Delivery - ローファイ日記
    seiunsky
    seiunsky 2020/12/07
    初版のパRailsは確かにやってましたね〜なつかしい……
  • 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でもサーバーを書こう - ローファイ日記
  • コンテナと人間の一ヶ月 - ローファイ日記

    ブログ、一ヶ月ぶりのようです。 @udzura です。ところでみなさんはコンテナですよね? そういう感じです。 ここ最近のアウトプットをまとめたりしておきます。先に行っておきますがどれもLinuxコンテナの話です。 6月半ばに、第11回 コンテナ型仮想化の情報交換会@大阪 にお呼びいただいて、話してきました。なぜか一時間話しました。 ct-study.connpass.com 割とこの時点での自分がHaconiwaとFastContainerでやってきたことの集大成を出せたみたいな感じで、なおかつ日のオルタナティヴ・ロックの話ができたので良かったです。お呼びいただいた、 @TenForward さんに感謝です。 speakerdeck.com そろそろ numbergirl って名前のミドルウェアを書こうと思います。 コンテナ勉強会は、質問も前向きかつ深いものが多くて、また各社の現場のL

    コンテナと人間の一ヶ月 - ローファイ日記
    seiunsky
    seiunsky 2017/07/10
    すごい(すごい)
  • straceがどうやってシステムコールの情報を取得しているか - ローファイ日記

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

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

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

    Linuxプログラミングインターフェースを読んだ(一周目) - ローファイ日記
  • ソフトウェアをリプレースする前に考える三つのこと - ローファイ日記

    個人的には三つの基準があるという話。 そのソフトウェアが十分に古く、十分長い間保守されていないか そのソフトウェアを触れる人間が組織内に少なく、増やす手だても困難であるか そのソフトウェアで実現できることが、他の新しいソフトウェアでより容易に実現できるかどうか 1. についてはそうだろう、という感じだと思う。というかリプレイスの前提になると思う。バージョンが古いソフトウェアを使い続けると、脆弱性も出てくるし、一般的には開発の速度も低下する。 ただ、ここで重要なのは、2.や3.との兼ね合いかなと思っている。 例えば2.が1.より優先される場面というのもあるだろう。Hoge言語で作ったミドルウェアの保守について以下のような状況にあるとする。 開発者が退職してしまった Hoge言語に関するドキュメントが全然なくて学習が困難 という感じであればリプレースは検討に入れていいかもしれない。 しかし、こ

    ソフトウェアをリプレースする前に考える三つのこと - ローファイ日記
    seiunsky
    seiunsky 2015/10/28
    nice poem
  • Rubyで別のコマンドをラップしたい時、ptyライブラリが便利 - ローファイ日記

    library pty (Ruby 2.2.0) pty とは、擬似端末(Pseudo tTY)を扱うライブラリ。 典型的には以下のように使う。 require 'pty' status = nil PTY.spawn("for i in $(seq 1 10); do echo progress $i; sleep 1; done") do |pty_out, pty_in, pid| pty_in.close while l = pty_out.gets puts "PTY: #{l}" end status = PTY.check pid end # PTY: progress 1 # PTY: progress 2 # PTY: progress 3 # ... # PTY: progress 10 #=> nil p status #=> #<Process::Status: p

    Rubyで別のコマンドをラップしたい時、ptyライブラリが便利 - ローファイ日記
  • GitHub Enterprise(その他)をGemfileのソースに追加する - ローファイ日記

    公式(Custom git sources)の通りなんだけど、意外と知られていないようなのでメモする。 たとえば GitHub Enterprise のURLが http://ghe.pepabo.local/ みたいな感じだったら、 Gemfile に以下のように書いていける。 add_source(:ghe) do |repo_name| repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") "http://ghe.pepabo.local/#{repo_name}.git" end gem 'very-cool-template-engine', ghe: 'udzura/very-cool-template-engine' まあ、、、ちょっとかっこ良くなる程度の効果しかないかもしれないが...。

    GitHub Enterprise(その他)をGemfileのソースに追加する - ローファイ日記
    seiunsky
    seiunsky 2014/11/28
    これは便利情報っぽい
  • 最近のHubotの運用とか - ローファイ日記

    Hubot、前職から色々試して運用してきたが、1年半ぐらいいろいろいじくってるのもあってそろそろ一旦まとめてみたい感じ。 Hubotに関しては hubot/docs at master · github/hubot · GitHub あたりは一通り斜めに読んだが、「僕はこう思ったッス」ぐらいな感じでやっているコードや運用が多いので、適宜マサカリングしていただければと。 便利スクリプトのご紹介 とりあえずこんなの書いた自慢から。 リンク自動で取るやつ request = require('request') cheerio = require('cheerio') URI = require('URIjs') module.exports = (robot) -> getTitle = (msg, uri) -> request uri, (err, response, html) -> i

    最近のHubotの運用とか - ローファイ日記
    seiunsky
    seiunsky 2014/11/01
    dokkuでhubotかー
  • Capistrano3 プラグインの e2e test を CI する - Docker を添えて - - ローファイ日記

    tl;dr Comparing 8025d43...070e781 · asonas/capistrano3-puppet · GitHub 経緯 Capistrano3 割と使ってて、特に asonas/capistrano3-puppet · GitHub はギョームでバッチリ使ってる でも、ギョームで使ってるのに自動テストがないので気持ちが悪い。Capoistrano(3)のプラグインってほとんどテスト書かれてないのでは... 何も参考に出来ないので、どう書けば良いのか... Docker使えばsshロギンしてチェックアウトして実際動作で確認できるのでは Cap 3 からはタスクがタダの Rake Task になったので、Rake Taskのテストを書くのと同じようにテストできるかもしれないが、大量の stubbing が必要になる感じがしたので今回は e2e な感じのテストを雑に書

    Capistrano3 プラグインの e2e test を CI する - Docker を添えて - - ローファイ日記
  • パーフェクトRuby on Railsという本が出ます。 - ローファイ日記

    標題の通りが出て、それに関わっています。 まずは、共著者諸氏の記事その他をご参照ください。 パーフェクトなRailsを書きました - joker1007の日記 パーフェクト Ruby on Rails というを書きました - willnet.in Twitter / Search - #sugamasao_sushi の売りとか willnetさんとjokerさんのエントリの通りなんですが、Rails 4.1に滑り込みで対応したことはあります。あと何より、敢えて内容に「現場っぽい、仕事でずっと使っていたエンジニアの観点っぽい」バイアスを掛けているところだと思います。 個人的には、今まで書籍という形では取りこぼしていたようなRailsのフィーチャーの説明とか、中盤、ある程度きっちりしたアプリの設計、コーディング、テスト、サーバのプロビジョニング、デプロイ、監視設定までを一気通貫でや

    パーフェクトRuby on Railsという本が出ます。 - ローファイ日記
  • 地方エンジニアになって2ヶ月が経過した - ローファイ日記

    あれ、2ヶ月しか経ってないのか...。 思ったことを書く 地方=リモート というのも変な話で、地方で仲間を集めて普通に出勤して普通にチームで仕事すれば良いし、もっと出来るようになると良いですね。 ぼくはリモートとか無理だよ... やりたいようやれないので。 今は福岡で楽しい仲間と働いているのでけっこう楽しい。 東京に比べて勉強会自体は少ないとかはあるんだけど、逆に影響力出しやすくて便利な感じがする。Fukuoka.rbを普通にやっていたらMatzと会えて便利だった。 正味な心のうちを話すと、勉強会ばっかりあっても騒がしいだけで、福岡だと落ち着いてやりたいことをやれる印象がある。 個人の話として言うと総合的にだいぶ良かった。家、広いし。 そういえば、あっ、こんなイベントが!!!1 福岡移住計画オフィシャルWEBサイト|ぼくらの福岡移住計画 2014 in TOKYO http://oreok

    地方エンジニアになって2ヶ月が経過した - ローファイ日記
  • 1