You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
$ openssl genrsa -out server-key.pem 1024 $ openssl req -new -key server-key.pem -out server-csr.pem $ openssl x509 -req -in server-csr.pem -signkey server-key.pem -out server-cert.pem var tls = require('tls'); var fs = require('fs'); var options = { key: fs.readFileSync('server-key.pem'), cert: fs.readFileSync('server-cert.pem') }; tls.createServer(options, function (socket) { socket.write("welco
IO.pipeを使えば、パイプを作ることが出来る パイプを作ると楽しい。 o,i = IO.pipe 100.times{ i.puts :test } 100.times{ puts o.gets }これだけ Pipeを使うと何が便利か。スレッドをブロック出来る loop{ p o. gets }で i.puts を待つことが出来る。 どういうことかというと IO.pipeはブロックする? >> input.puts "aaaaaaaaa" #=> nil >> input.puts "aaaaaaaaa" #=> nil >> input.puts "aaaaaaaaa" #=> nil >> out.gets #=> "aaaaaaaaa\n" >> out.gets #=> "aaaaaaaaa\n" >> out.gets #=> "aaaaaaaaa\n" >> out.get
Ruby の Net::HTTP のタイムアウトにハマって、結局 Timeout について調べることになった件RubyRailsRails4 外部API を実行するために、Net::HTTP で POST してたんだけど、 何故かタイムアウト値を設定しても適用されなかったので調べた時のメモ 下記が当初作ったコードで、ネットワークを接続しない状態で実行したところ、 何故か 20 秒たってやっとタイムアウトの例外 ( Net::OpenTimeout: execution expired ) が発生 open_timeout の 5 秒で例外が発生するんじゃないの?? サンプル1 def post(url, request_body) uri = URI.parse(url) response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri
先日に開催された西脇.rb&神戸.rbのプログラミング合宿での自分の課題でfeedly APIを使用したのでメモとして残しておきます。 アクセストークンの取得 これについては以下のQiitaの記事を参考にさせて頂きました。 - Feedly APIメモ - The feedly Cloud APIを読んでみる 記事を参考にやっていくと最終的にアクセストークンは以下のような形式で取得できました。 { "token_type": "Bearer", "expires_in": 604799, "access_token": "***", "refresh_token": "***", "plan": "standard", "id": "user_id", "provider": "Twitter" } ※ 2015/10/13 追記 アクセストークンの取得が簡単になってブラウザだけで取得でき
セッションについて Railsのsecret_tokenの意味がよく分かってなかったので少し調べたことのメモ。まず「セッション」という概念について。 セッションとHTTPというステートレスなプロトコル上において、一連の通信、およびそれを実現するのに必要な「状態」を記憶しておく仕組みのことだ。もうちょっと噛み砕いてみる。 よくあるたとえだけど、以下のような流れを考える。 あるショッピングサイトにアクセスする。 ↓ ログインする ↓ Aを買い物かごに入れる ↓ Bを買い物かごに入れる 当然私たちの脳内文脈では、「ログインした後」に「商品をかごに入れてる」んだから何もおかしなことはないわけだけど、最初の方に書いた文章を思い出してもらうと、 HTTPというステートレスなプロトコル とある。つまり、素のままだとログイン後に送る通信の上に「私は今ログインしていますよ」、という状態情報を乗せることはでき
Ruby 2.1.0 に Socket.getifaddrs が登場 ネットワーク畑の人間からすれば、 Ruby 2.1.0 の目玉機能は間違いなく Socket.getifaddrs だ。これがあれば、「インターフェイス名からそのインターフェイスの持っているIPアドレスを確認する」ことが簡単にできるようになる。 これまで これまでは、 ifconfig や ip コマンドの結果から頑張って取ってこなくてはならなかった。 res = `ifconfig eth0` res =~ /inet addr:(\d+\.\d+\.\d+\.\d+)/ addr = $1 できるけど気持ち悪いし、v6アドレスになると死ぬし、外部コマンド実行をするとエラー対応とかセキュリティとかが厄介な問題になる。 これから Ruby 2.1.0 からは、 Socket.getifaddrs メソッドが追加されている
初めまして今年入社した長谷川です。 新入社員として最初の仕事である、Zabbixサーバの負荷を下げた話を書きたいと思います。 実はこのプロジェクトは、まだ新人研修を行っている入社1ヶ月目の時に、Rubyが得意?という理由でアサインされ、1週間で構築と実装しました。以上自慢です。 構築したシステムは、CloudWatch経由でしか監視ができないRDSやSQSなどのサービスのメトリクス(監視データ)を大量にZabbix取り込む場合の解決方法の一つだと思います。今後同じ問題に直面した方々の参考になれば幸いです。 従来のシステムの状況 従来のシステムは、Zabbixサーバがインストールされている1台のEC2インスタンスが、CloudWatchから値を取得しているだけのシンプルな構成でした。 ZabbixサーバーはCloudWatchから各サービスのメトリクスを取得するRubyスクリプトを実行し、そ
Rackとは RackはRubyによるWebアプリケーション開発のHTTP送受信処理を担当するモジュール(gem)で、Ruby on Railsを始めとする多くのWebフレームワークの一番下のレベルで利用されています。 本稿ではRackの基本的な部分を中心に説明します。 簡単なRackアプリケーション まず基本を理解するため説明用の簡単なアプリケーションを作成します。 最初にrack gemのインストールが必要ですが、Ruby on Railsをインストールしている場合はすでに必須モジュールとして入っています。単独でインストールする場合は次を参考にして下さい。 次にconfig.ruという名前の小さなファイルを作ります。これはRackのサーバ起動コマンドrackupの設定ファイルで、中身はRubyで記述します。 class ShowEnv def call(env) [ 200, # ステ
電源停止状態からのWake-on-LANに非対応だと思ってた自宅のPCがBIOSアップデートしたら対応になってたので。 require 'socket' def wake(mac) #メッセージの生成 #FFを6回 mes = ['FF'].pack('H2') * 6 #続けて MACアドレスを 16回 mes << mac.split(':').pack('H2H2H2H2H2H2') * 16 #UDPソケットを生成 s = UDPSocket.new #ブロードキャストの送信を有効化 s.setsockopt(Socket::SOL_SOCKET, Socket::SO_BROADCAST, 1) #メッセージの送信 s.send(mes, 0, '<broadcast>', 7) end #MACアドレスを指定 wake('**:**:**:**:**:**') 宛先のポート番号
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く