Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
前回までの続き。 Unixプロセスとリソースの基礎を再確認した - えいのうにっき プロセスとの情報のやりとりについて再確認した - えいのうにっき プロセスの適切な扱い方を再確認した - えいのうにっき Unixプロセスとシグナルの基礎をRubyで再確認した - えいのうにっき 今回は、「パイプ」と「ソケット」を使った複数のプロセス間で情報をやりとりする方法について。「プロセス間通信」(IPC : Inter Process Communication)と呼ばれる分野の話。 パイプを用いたプロセス間での情報のやりとり 「ストリーム」と「メッセージ」、そして「ソケット」 読んでいるのは なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 - 達人出版会 。 tatsu-zine.com パイプを用いたプロセス間での情報のやりとり プロセス間での情報のやりとりを行うための方法のひとつ
Hi everyone, I’m so excited to be here at my very first RubyConf! The last couple of days have been amazing and it’s what I imagined RubyConf to be and more! Welcome to Let’s build a simple HTTP server with Ruby. The Ruby community has a few popular web servers based off Rack (WEBrick, Puma, Thin, Unicorn, Passenger, etc). These servers are battle tested so you don’t really need to roll your own.
みなさんこんにちは。@ryuzeeです。 これから新たにChefを学ぶ人向けに非常に基本的なトレーニングの資料を作ったので公開します。 資料の構成は以下のとおりです。 まずDevOpsの文脈から自動化が必要な背景を説明Infrastructure as Codeについての利点を説明ChefのアーキテクチャChefの用語解説Vagrantで仮想マシンを2台使った一番単純なハンズオン(boxも用意済み)Serverspecを使ったCookbookのテストの書き方(VirtualBoxの仮想マシンの中でDockerを使っています)その他なお、2-3時間でさくっと触りながら全体像を掴むことを目的にしているので、網羅性はありません。 ハンズオン用のVagrantのboxには、あらかじめ、Chef DK(Development Kit)、Dockerなどが含まれており、すぐに触れると思います(ただしb
I was doing attempting to do some updates to openssl using homebrew and I somehow managed to break everything. I can't do anything now, this is what I get when I try to do bundle install: $ bundle install /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bun
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0064 号 バックナンバー Rubyist Magazine 0064 号 Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist
rbenv, nvm, MySQL, redisが入ったUbuntu Vagrantfile すぐに開発に使えるVagrantfile。依存物を少なくするためにShellでプロビジョニング。 vagrant up時に各種パッケージのインストールとRubyのコンパイルが走るので、30分ぐらいかかります。初回でOSイメージが無い場合はもっとかかるかも。 Vagrant.configure("2") do |config| config.vm.box = "ubuntu/trusty64" config.vm.network :forwarded_port, guest: 3000, host: 3000 config.vm.synced_folder ".", "/vagrant" GUEST_RUBY_VERSION = '2.2.4' GUEST_NVM_VERSION = '0.30.1
第65回 Ruby関西 勉強会 に参加したので、そのメモです。 Rails4.2の新機能について ActiveJob を中心に Rails 4.2 の新機能の話でした。 Delayed Job はあまり使われなくなっていて、今は Sidekiq と Resque がメジャー Ruby 2.0 以降の変更をふりかえる LT なので早足での紹介でした。 シュッとふりかえる Ruby 2.0 以降 // Speaker Deck Ruby 2.0 キーワード引数 Refinements (Experimental) Module#prepend デフォルトエンコーディングが utf-8 Enumerable#lazy Ruby 2.1 RGenGC 必須キーワード引数 メソッド定義がシンボルを返すようになった Binding#local_variable_(get|set) Refinement
Ruby 2.0 以降の変更を駆け足でふりかえります。 5分では足りませんでした。
@h5y1m141さんに誘っていただいて、 @hitomi_twさんや shiro615さんと一緒に、RubyGemsのソースコードリーディング勉強会『GemJam』を行いました。 今回は最近仕事でソースコードを読む時間が増えてきて、苦労していたのでソースコード・リーディングのモチベーションアップやコツを調べつつ、いつもRailsでお世話になっていた『ActiveSupport』 のソースコードリーディングに挑戦してみました。 (12/28 12:10) 勉強会のアウトプットを更新しました。全員アウトプットしたのはすばらしいです 🎉 プログラムのモチベーションこれは経験談からくる話ですので、これが正解ということでないッス。どちらかというと、今までエンジニアとして経験してきた中で、僕個人はこう思っていますという観点で書きました! プログラミングは継続することが一番大切プログラミング経験ゼロ
問題 タイムオブジェクトを変更して、他のタイムゾーンで同じ瞬間を表したい。 解決 最も一般的なタイムゾーン変換は、ローカルタイムからUCTへの変換とUTCからローカルタイムへの変換である。これらの変換はTimeでもDateTimeでも簡単に行える。 Time#gmtimeのメソッドは、Timeオブジェクトを直接変更して、UCTに変換する。Time#localtimeメソッドは逆方向への変換を行う。 now = Time.now # => Sat Mar 18 20:15:58 EST 2006 now = now.gmtime # => Sun Mar 19 01:15:58 UTC 2006 now = now.localtme # => Sat Mar 18 20:15:58 EST 2006 DateTime.new_offsetメソッドは、DateTimeオブジェクトをあるタイムゾ
rbenvを使ってみる - すぎゃーんメモの続き。 現時点でのrbenvのバージョンは0.2.1。 rbenvを使っていると.rbenv-versionファイルの有無でrubyコマンド打ったときに実行されるrubyが違うものになる、というのがちょっと新鮮で、これはどういう仕組みで動いているのだろう?と思って少し調べてみた。 上記記事のようにrbenvの設定をした環境では、 $ which ruby /Users/sugyan/.rbenv/shims/rubyとなり、${RBENV_ROOT}/shims以下のrubyを指すことになる。ここへのPATHは$HOME/.rbenv/libexec/rbenv-initに echo 'export PATH="'${RBENV_ROOT}'/shims:${PATH}"' と書かれているので、eval "$(rbenv init -)"してあれ
rbenv 環境下で実行された Ruby プログラムの中から他の Ruby プログラムを起動するときに、 rbenv 環境をリセットしたい―要するに別のバージョンの Ruby で外部プログラムを実行したい―という事情があったので rbenv のメカニズムについて調べた。 rbenv 環境下で ruby コマンドを実行するとき、実際にコンパイルされた ruby バイナリが直接実行されているわけではない。 rbenv 環境をお膳立てした上で ruby バイナリを exec するラッパーのシェルスクリプトが実行される。こういうものを binstub と呼ぶ。 binstub である ruby という名前のシェルスクリプトの中身をみてみると、最終的に rbenv exec というサブコマンドを呼び出している。 rbenv のサブコマンドはリポジトリでいうと libexec ディレクトリ以下にある。
端的にいうと、 「~/.rbenv/versions/2.x.y/bin/ 以下に置いてあるコマンド群を ~/.rbenv/shims/以下に置いて使えるようにする」 ことです。 例えば、rbenvとRubyBuildでruby2.1.0をインストールした直後だと、~/.rbenv/shimsは下記のような状態です。 $ ls ~/.rbenv/shims erb* gem* irb* rake* rdoc* ri* ruby* testrb* この状態で "gem install chef", "gem install berkshelf"などとすると、~/.rbenv/versions/2.1.0/bin/ の方にコマンドが入ります。 $ ls ~/.rbenv/versions/2.1.0/bin berks* chef-service-manager* chef-zero* eru
Ruby の HTTP クライアントライブラリ Faraday が便利そう Ruby の HTTP クライアントライブラリ Faraday が便利そう API ラッパの開発には RestClient gem だとか OAuth の必要なものは Net/HTTP + OAuth gem を使ってた Twitter gem や Instagram gem など API ライブラリのソースを読んでみると Faraday gem というものがよく使われてた なんとなく気になったので Faraday について調べてみた ついでに Tumblife gem を Faraday を使うようにした 以下そのメモ Faraday って何? Faraday is an HTTP client lib that provides a common interface over many adapters (su
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く