タグ

2013年12月29日のブックマーク (11件)

  • Ruby 2.1.0 では Socket.getifaddrs で簡単にインターフェイスのアドレスを取れる - Qiita

    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 メソッドが追加されている

    Ruby 2.1.0 では Socket.getifaddrs で簡単にインターフェイスのアドレスを取れる - Qiita
    y_uuki
    y_uuki 2013/12/29
    めっちゃ良い機能
  • 「今日使われているプログラミング言語の多くは、なぜ1990年前後に誕生したものなのか」に関する一考察 - kazuhoのメモ置き場

    若い人たちは、「文字列型」があるプログラミング言語しか知らないかもしれない。だが、汎用的な文字列型が一般的になったのは、プログラミング言語の歴史の中でも比較的最近のことである。 たとえば、1972年に誕生したC言語には文字列型がない。1980年代に良く使われていたPascalの文字列型は最大255文字しか格納できなかった。 なぜか? それはメモリが貴重なリソースだったから。 1980年代のPCの搭載メモリは多くて数メガバイト。これに対し、長編小説の長さは1MB程度に達する*1。 当時、メモリはとても貴重な資源であり、テキストを処理するプログラムを開発するにあたっては、文字列をどのようにメモリ内に展開するかプログラマが細かくコーディングする必要があった。 だから、汎用的な「文字列型」というのは「夢」にすぎなかった。CあるいはPascalにおける文字列(CのASCIIZ文字列あるいはPasca

    「今日使われているプログラミング言語の多くは、なぜ1990年前後に誕生したものなのか」に関する一考察 - kazuhoのメモ置き場
  • 2013年Rubyの話題を一挙に振り返るまとめ | Engine Yard Blog JP

    Chef、 PHPにつづき、Rubyの今年2013年を今年人気を集めた記事をテーマ別にまとめました。はてなブックマークの数と一緒に振り返っていきます。今年の2月24日にRuby20周年を迎え、ruby-2.0.0がリリースされました。他にもRails4のリリース、RubyKaigiの再開など多くのトピックがありました。 目次 Ruby20周年!そしてruby-2.0.0, ruby-2.1.0のリリース 言語実装への興味、ガベージコレクションほか Rubyのひろがり Rails4のリリースとRailsの成熟 テスト、CI 開発環境、手法、デザイン チュートリアル、Ruby, Railsを始める Ruby 話題の 作りました! 新しいライブラリ ログ・マネージメント fluentd Tips! コーディング クライアントサイドとバックエンド Rubyを取り巻く環境、組織 TwitterがR

  • なぜオープンソースのデータベースはGPUを使わない? | スラド IT

    米ジョージア工科大学の研究者らが、NVIDIAと共同でGPUによるデータベースのクエリ処理の高速化を研究しているそうだ(論文アブストラクト、 家/.)。 論文ではLogiQLを実装した商用データベースLogicBlox 4.0を使い、GPUによる高速化を試みている。GPUを利用することで、並列クエリ処理はXeon E5-2670×2(16コア、32スレッド)のAmazon EC2ノードの6.48倍、PCIeの転送時間を除いた計算時間のみで比較すると7.86倍高速という結果が出ている。また、逐次クエリ処理の場合、12GBのメモリーを搭載したCore i7-920マシンの65.92倍、計算時間のみでは79.94倍高速という結果になったとのこと。 LogiQLはDatalogベースのクエリ言語で、SQLなどの一般的なクエリ言語とは異なるため単純にほかの分野に応用できる感じではなさそうだが、GP

    y_uuki
    y_uuki 2013/12/29
  • ソフトウェアにうまい前提を与える - はこべにっき ♨

    ソフトウェア機能が、普通はユーザはこういう利用方法はしないだろう、という前提にもとづいて作られていることがある。 先日の経験を例に上げると、ちょっと理由があって自分のGmailの全メール一度にアーカイブ操作をしてみようとしたことがある。メールは8万件くらいあった。普通のユーザは一度に8万件もアーカイブ操作をしたりしないと思う。 実際に操作を実行してみたところ、「実行しています」というようなメッセージがしばらく表示された後、「リクエストの実行に問題が出ているようです」というようなメッセージが表示されてしまった。メッセージの内容は不安に感じるところがあったが、結果としては、すべてのメールがちゃんとアーカイブされため、大きな不満はなかった。 ユーザがこういうめちゃくちゃなことをすることは稀であり、一般的なリクエストのタイムアウトを過ぎたために、UIが問題を報告したのだと思う。実際にソフトウェアを

    ソフトウェアにうまい前提を与える - はこべにっき ♨
    y_uuki
    y_uuki 2013/12/29
  • boxen の不満は homebrew-cask で解消された : 徳永広夢のウェブ開発備忘録

    僕はウェブ開発者であり、ウェブ開発者はできるかぎり番環境に近い環境で開発を行うことにより、(手戻り|バグ)をすくなく開発できるのだ、と信じてやみません。 そういうわけで、Mac で開発する場合でも、基的に VM の中で仕事は行います。 boxen は Mac そのものでゴリゴリと開発する思想にみえますが、これは僕にとってはよくないことにおもえるわけです。 一方で、.dmg のアプリのダウンロードとかが面倒ってのも事実なんで「boxen おぼえるか……」「でもだるいな……」「かかる手間がペイしないよな……」などと考えていたところ hoebrew-cask の存在を知りました。 homebrew-cask は homebrew の拡張で、.dmg とかをとってきて展開してインストールするっていうスクリプトをかく環境です。かなりの量のレシピが用意されていて、ほとんどのメジャーなアプリケーショ

    boxen の不満は homebrew-cask で解消された : 徳永広夢のウェブ開発備忘録
    y_uuki
    y_uuki 2013/12/29
  • 俺はもっとコードを書く仕事がしたい。 SEだなんてつまらない。なぜか? ..

    俺はもっとコードを書く仕事がしたい。 SEだなんてつまらない。なぜか? つくるものを自分で決められない。お客様の望むとおりにいたします。ふざけろくそが。プログラムを作って売って生きて行きたかった。自分で作るものを決めてその通りに作り、それを売って稼ぎを得たい。使ってくれた人の満足が、お金に変わるような仕組みが必要だ。雇われるのではなく、雇ってみたい。企業して社長と呼ばれてみたかったのだ。 コードコードコード。それが全てだろう。それ以外の作業の全てはコードを気持よくかけるためにやるのだ。当たり前だ。それ以外なんてゴミより価値がない。 ゲームプログラマになりたいと一瞬くらいは妄想した。だがやっていけないだろう。いや当にそれしかなかったのなら、できたはず。でも俺はそれ以外で進んでしまった。好んで崖から飛び降りる真似なぞどうしてできる。だが、このまま進んでいっても足から腐っていくのだ。わかってい

    俺はもっとコードを書く仕事がしたい。 SEだなんてつまらない。なぜか? ..
    y_uuki
    y_uuki 2013/12/29
    年の瀬の闇
  • 漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。

    InnoDBを使うとき、MyISAMと比較して度々やり玉に挙げられるポイントとして「COUNT()が遅い」というものがある。確かにInnoDBにおいて行数を弾き出すのにはテーブルスキャンが必要なのだが、そもそもMyISAMのCOUNT()が速い(テーブルの行数を保持してる)のが特殊なのであって、InnoDBが遅いわけではないのである。とはいえ、高速なCOUNT()については需要が多く、この問題には多くの人取り組んでおられるようだ。しかしながら、COUNT()のチューニングについては未だ語られていない点があるように見受けられるので、今日はCOUNT()のチューニングについて解説しようと思う。 COUNT(*)、COUNT(col)、COUNT(1)の違い基的なことではあるが、COUNT(*)とCOUNT(col)では意味が異なるため、異なる結果が返される場合がある。COUNT(*)はフェッ

    漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。
  • 快適mysqlコマンド★カスタマイズの決定版 - (ひ)メモ

    この記事は MySQL Casual Advent Calendar 2013 の25日目の記事です。 自分の過去のブログも含めて、mysqlコマンドのカスタマイズについていろいろな情報がありますが、わたしがオススメの秘伝のタレをまとめたいと思います。是非、ご参考に。 定型文(SQL)のショートカット入力 「show create table TABLENAME\G」とか「select user,host,password from mysql.user order by user,host;」とか、よく実行するけど長くて入力するのがめんどうなのがありますよね。それをショートカットで入力できるようにする方法です。 mysqlコマンドで行編集ができるのは、readlineやlibeditをリンクしているおかげです。 従来の公式バイナリ配布物に含まれるmysqlコマンドはreadlineでした

    快適mysqlコマンド★カスタマイズの決定版 - (ひ)メモ
    y_uuki
    y_uuki 2013/12/29
  • tmuxで大量のサーバーを操る最高の方法 - Qiita

    こんにちはこんにちは 私は日々大量のサーバーで作業をする必要があるので tmux が欠かせません そんな中最高便利な記事が先日公開されました Tmuxでウィンドウをインタラクティブに移動する - Qiita [キータ] しかしこの記事が全く話題になっていません おそらく理解されていないのだと思います ということで私がもう少し詳しく説明したいと思います 先程の記事と同様に ssh-configにはパターンが使えるので便利 - Qiita [キータ] tmuxで色んなホストにsshする時に便利な.ssh/config - Qiita [キータ] の合計 3 記事を組み合わせて初めて達成できる最高のソリューションを紹介します tmux のウィンドウの名前 tmux で大量のウィンドウを立ち上げて ssh しているとどのウィンドウがどこのホストにいるのか分からなくなります そこで先程紹介した 2

    tmuxで大量のサーバーを操る最高の方法 - Qiita
    y_uuki
    y_uuki 2013/12/29
  • Linux の ext4 ファイルシステムで間違って上書きしたファイルを復旧させた - 鈴木うどんの横須賀おもしろ生活

    結論 ext4magic 最高!!!!111 やったこと % ext4magic “デバイス名に” -r -a “このunixtimeから” -b “このunixtimeまで存在していた” -f “このファイル名のファイルを復旧する” 実例 /dev/md0 上の昨日の20:00から20:30の間まで存在していた udonchan/backup.tar を復旧させたい % ext4magic /dev/md0 -r -a $(date -d "-1day 20:00 +%s") -b $(date -d “-1day 20:30 +%s) -f "udonchan/backup.tar" どうしてこうなった 年末なので OSX をクリーンインストールしようとして ~ をバックアップしたが間違って上書きして消した。 具体的に? ~ をサーバ上にバックアップするぜ % tar cf -C /U

    Linux の ext4 ファイルシステムで間違って上書きしたファイルを復旧させた - 鈴木うどんの横須賀おもしろ生活