タグ

あとで読むに関するyujiro-araiのブックマーク (41)

  • 不要な処理が実行速度を速くする謎を追う - Money Forward Developers Blog

    こんにちは。 id:Pocke です。マネーフォワードでは Rails を用いた Web アプリケーションの開発と、RBS という Ruby の静的型システムの開発を行っています。 最近 RBS の開発をする中で、「不要な処理を削除すると実行速度が遅くなる」という不思議な現象に遭遇しました。この記事ではその現象を解説しようと思います。 なおこの記事は Ruby の知識を前提としないように執筆されており、Ruby の知識が必要となるところには注釈を加えて補足しています。 普段 Ruby を書かない方にも読んでいただければ幸いです。 問題を引き起こした変更 今回の問題は、RBS のメモリ使用量の削減を行っている中で遭遇しました。まずはどんな変更を行おうとしていたかを解説します。 変更の動機 最近私は RBS のメモリ使用量の削減に取り組んでいます。1 その取り組みの中で、RBS のパーサーが作

    不要な処理が実行速度を速くする謎を追う - Money Forward Developers Blog
  • Redisをフォークした「Valkey」初のメジャーバージョンアップ「Valkey 8.0」正式リリース。非同期I/Oスレッディングによる高速化など強化

    Redisをフォークした「Valkey」初のメジャーバージョンアップ「Valkey 8.0」正式リリース。非同期I/Oスレッディングによる高速化など強化 オープンソースの代表的なインメモリデータストア「Redis」のフォークとしてLinux Foundation傘下で開発が進められている「Valkey」の初のメジャーバージョンアップとなる「Valkey 8.0」正式版がリリースされました。 下記はValkeyの開発を主導するベンダの1つであるAWSによるポストです。 Buckle up for the next level of performance and reliability! Valkey 8.0 is here, delivering increased speeds (up to 1.2M req/sec on AWS), improved cluster scaling,

    Redisをフォークした「Valkey」初のメジャーバージョンアップ「Valkey 8.0」正式リリース。非同期I/Oスレッディングによる高速化など強化
  • マスタリングAPIアーキテクチャ

    この10年の間に、ソフトウェア開発を行う方法は大きく変容しました。作業に依存関係が生じるモノリシックなアーキテクチャから、APIによるマイクロサービスアーキテクチャが主役となりつつあります。一度構築すれば終わりではなく、変化とスピード、生産性の向上に対応するため、APIの設計、構築、運用、変更に関するニーズはますます高まっています。 書は、モダンなAPI駆動型アーキテクチャについて解説する書籍です。既存のモノリシックアーキテクチャから、どのようにAPI駆動型のシステムへ発展させていくかを、カンファレンスシステムを例に、具体的なケーススタディを通してわかりやすく解説しています。REST APIの基礎から、最適な設計、構築、運用、バージョン管理、およびテスト方法まで、API設計と改善の全体像をしっかり学ぶことができます。また、APIゲートウェイ、サービスメッシュなどの技術を用いて、外部トラフ

    マスタリングAPIアーキテクチャ
  • 薄毛を直すのは無理なんですか?

    刻命館御門さんの回答: またこれを貼れと言うのですか?

    薄毛を直すのは無理なんですか?
  • 毎日2時間を節約するための15のコツ + α | Lifehacking.jp

    15 Ways to Reclaim 2 Precious Hours Every Day | Ririan Project よく私が例に出す算数なのですが、24時間の生活の中から毎日1時間を節約することができればどうなるでしょうか? 毎日毎日一時間ですから、一年間で 365 時間。8時間労働のワークデーに換算すると 45 日あまり、週に5日勤務として、9週間分の時間をセーブできた計算になります。 もちろん、節約した時間は「すきま時間」が多いので、連続した時間に焼き直すのは難しいのですが、細かく時間をセーブする習慣は、もっと大きな時間節約のための基礎になります。 Ririan Project で、もっと野心的に「毎日2時間をセーブする方法」という記事がありましたので、例によって大意を翻訳してみます(理解しやすくするために、一部自分の知ってるテクニックを混ぜたりしてます)。 リストを作る:頭

    毎日2時間を節約するための15のコツ + α | Lifehacking.jp
  • URLに表示されるjsessionidを非表示にする - yummy-yummy

    Webアプリケーションで、初回アクセス時にURLへ埋め込まれるjsessionidを表示させないようにしたい!! え?表示されちゃうんだから仕方ないやんって? いやいや〜、今回のWebアプリを使っているお客さんがどうもこのjsessionidが表示されるのを嫌がってるんデスよ。 じゃあ、コンテキストでcookies=trueにしちゃえばいいじゃん このアプリは携帯でも使用できるようになってるからデフォCookieはちょっと。。。 ここでjsessionidとStrutsについてざくっと J2EEのServlet仕様ではCookieにセッションIDを埋め込む、もしくはCookieが使えない場合にはURLにセッションIDを埋め込むことを推奨としている。。 Strutsのタグライブラリを使用した場合には、セッションIDをURLへ自動的に埋め込む実装がデフォでサポートされとります。 コンテナ側でU

    URLに表示されるjsessionidを非表示にする - yummy-yummy
  • 安全なセッション管理を実現するために

    任意のセッションIDを付加したリクエスト発行のわな http://example.com/Top.do;jsessionid=135383EED2F6BDFB50329A67DB1F4542 のように「;jsessionid=XXX」という文字列が付加されたURLを見たことはあるだろうか。 jsessionidとはJ2EEを使用したWebアプリケーションにおいてデフォルトで使用されるセッションIDを表すパラメータ名である。Servlet仕様では、セッションIDの格納先にCookieが利用できないクライアントが存在することを想定してURLへの文字列付加によるセッションIDの送信もサポートすることが推奨されている。 この仕様はURLリライティングと呼ばれ、

    安全なセッション管理を実現するために
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 「java-ja 第1.9.2回 チキチキ ライセンスって何ですか?」に参加した。

    先日、「java-ja 第1.9.2回 チキチキ ライセンスって何ですか?」という勉強会に参加してきたのでレポートしたい。宣伝文がやたらとお茶目(タイトルも?!)だが、その日の雰囲気も負けず劣らず楽しいものであったと思う。ライセンスというお固い議題なのに!!である。ちなみに、ブログでは常々ライセンスについて色々と綴っているが、今回は基的に聞く側として参加した。(最後にちょっとだけマイクを握らされて(?)しまったけれども。) 講師を努めて頂いたのは「ソフトウェアライセンスの基礎知識」の著者である可知 豊氏。 可知氏のブログ: Placebo Effect 今回の発表資料はこちらにあり、CC-BYで利用可能になっている。(CC-BYはクリエイティブコモンズライセンス- CCL -のひとつである。CCLについてはブログでも何度か紹介したので、忘れた人はぜひ復習して欲しい。 *1 *2 *3

    「java-ja 第1.9.2回 チキチキ ライセンスって何ですか?」に参加した。
  • 自分なりの iPhone アプリ開発手法とかこだわりとか書いてみた

    Twitter で vの人こと @voluntas さんに 無 茶 振 り されたので、自分なりのポリシーとかこだわりとか開発手法とかをまとめてみることにしました。今仕事iPhone アプリの開発を主にやっているので、 iPhone アプリに関する内容が多いですが、それ以外の開発でも使えると思います。 あまり技術的な内容やツールに関する内容はありません。それらは別エントリーにまとめようと思います。 ■大前提: 自分を知る まず何はなくともこっからです。なんだか開発とか全然関係ないじゃないか、怪しい自己啓発じゃねえかと思われるかもしれませんが、敵を知り己をを知れば百戦危うからずと昔のエライ人も言ってます。それにそもそも私がどのような人間なのかを理解しないと、せっかくの開発手法もそのまま真似してはうまく合わない・上手く回らない・賛成できないということになりますので、非常に大事だと思います。

  • Rubyの魔術 数々の“スペル”で高度なプログラミング − @IT

    2010/09/13 元JavaプログラマのPaolo Perrotta氏は、Rubyを使い始めた頃のことを振り返り、こう話す。 「私はJavaの世界からRubyに来た当初、とてもハッピーなプログラマでした。Rubyっていいね、かっこいいじゃん! と。ところが、最先端のイケてるライブラリの中を覗いてみたら、分からないところだらけだったんです……」。 RubyKaigi2010で「A Metaprogramming Spell Book」(あるメタプログラミング魔術の書)と題した講演を行ったイタリア人プログラマのPerrotta氏は、Ruby on Railsのソースコードを覗いてみたときの驚きをこう表現する。 「例えばalias_method_chainというメソッドは、一体どこにあるんだと探しました。どこにあるか分からないんです。こんなことJavaではあり得ません。結局、テキスト検索で発

  • Apacheのアクセス制御をちゃんと理解する。 - こせきの技術日記

    Apacheの設定で Order deny,allowとか Satisfy anyとか、なんだか意味わからん人のために。僕はずっとわかってなかった。 基 Apacheのアクセス制御には、 ホストによる制御 (Order,Allow,Deny) ユーザ認証による制御 (Auth*, Require) の2通りがある。 Satisfyは、2通りあるアクセス制御の両方を満たす必要があるかどうかを決定する。デフォルトはSatisfy all。Satisfy anyなら、どちらか片方満たせばよい。 Order http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order Order deny,allowは、全てのホストからのアクセスを許可する。 Order allow,denyは、全てのホストからのアクセスを拒否する。 Order d

    Apacheのアクセス制御をちゃんと理解する。 - こせきの技術日記
  • Wikiエンジンの開発 - Yohpapa’s note

    12.3 CGIの処理 loadContextの続き まだまだ続きます、loadContext。 昨日は"dropComment"関数まで見ました。 今日は"parseLinePlain"関数です。 "parseLinePlain"関数の定義はこんな感じ。 parseLinePlain line | isBlank line = [] | otherwise = let (k, ('=':v)) = break (== '=') . strip $ line in [(strip k, strip v)] 引数"line"にはコメントを削除された(dropped)"./config"フイルの各行が入ってきます。 では中身を見ていきます。 二つの引数に関するガードで分岐されています。 一つ目が"line"に"isBlank"関数を適用してTrueを返すガード。 "isBlank"関数は以下の

    Wikiエンジンの開発 - Yohpapa’s note
  • 2016-01

    会社の解散 2016-01-28 23:05:24 先日、株主総会を開催して、会社の解散が決まりました。まだ細かな手続きは残っていますが、株式会社アントワーヌは今月で終了ということになります。来月からは、新たなチャレンジ、ということで頑張っていきたいと思います。 今までお世話になっていたみなさま、ありがとうございました。今後は今までとは異なる形になりますが、あらためまして、よろしくお願いします。 謹賀新年 2016-01-01 00:00:06 2016 年になりました。明けましておめでとうございます。 旧年中はいろいろなことがありまして、ブログの更新も久しくできておりませんでした。お世話になったご挨拶もできておらず、申し訳なく思う次第です。更新を止めたわけではありませんので、時間と書くことがあれば、細々と続けていきたいと思っています。 さて、ここしばらくずっと続けていた仕事も昨年末で終了

  • uim 1.6.0リリース | スラド オープンソース

    多言語入力フレームワーク uim の 1.6.0 がリリースされました (uim 1.6.0 Release Note) 。 半年ぶりのメジャーアップデートだけあって、おもしろそうな機能が追加されているようです。Web API を介して使用するインプットメソッド (uim-social-ime、uim-ajax-ime、uim-yahoo-jp) が追加されました。それぞれ Social IME、ajax-ime/ChaIME、Yahoo! Japan かな漢字変換 API (旧 VJE) の Web API を利用して漢字変換します。uim-yahoo-jp を利用するには、別途アプリケーション ID が必要なので注意してください。 連文節変換をするインプットメソッドの多くで予測入力が使えるようになりました。まだ使っている人がいるのか不明ですが、旧御三家 (Canna、SJ3、FreeW

  • 【レポート】世界を変えた7つのオープンソースプロジェクト | エンタープライズ | マイコミジャーナル

    Open Source Software - Find, Evaluate, Collaborate - OStatic OStaticにOpen Source Projects that Changed the Worldというタイトルの興味深い記事が掲載されている。文字通りの意味で世界を変えたオープンソースプロジェクトを紹介する内容になっている。市場や職場または文化におけるインパクトはとても深く、こうしたOSSプロジェクトの重要性を過小評価することはできないという。 GNU ユーザの「自由」に焦点を当てた活動を開始したすべてのはじまりといっていい取り組み。GNUはいくつものプロジェクトを生み出したが、特に重要なのはGPL (GNU General Public License)を生み出したことにある。 Linux Linux Travalds氏によって開発がはじめられたカーネル。現在で

  • Herokuで使うRubyを1.9.1から1.8.7に戻した - のどをRubyでいっぱいにして

    Rails3.0.0.rcを使ってるんですが、色々と不都合があったのでRubyのバージョンを泣く泣く戻しました。具体的にはこんな感じです。 rakeできないのでcronが使えない include Mongoid::Document したmodelをnewすると[NoMethodError: undefined method `sanitize' for #]のような例外が出る cronは自前のサーバとかでなんとかできるとして、newできないのはだめだ。 今日は途中までエラーを追いかけたりしてたんですけど(モンキーパッチなど作ってやり過ごそうとしていた)、開発環境で再現できないし、色々試してみようにも時間があまりなかったので一旦諦めました。時間ができたらHerokuで動いてるruby-1.9.1-p129を開発環境に入れたりして確かめられたらなーと思います。 Herokuで使ってるRuby

    Herokuで使うRubyを1.9.1から1.8.7に戻した - のどをRubyでいっぱいにして
  • (ruby)(WEBrick)(ブラウザ を インターフェイス にする rubyアプリケーションを 割と真面目に考えてみる) - もらかなです。

    この記事の続き → http://d.hatena.ne.jp/morakana/20100820/1282285693 以前ちょこっとだけ さわりの部分だけを書いて放置してましたが あれを「少し」発展させて 「少し」具体的なものにしてみました まぁ それなりに 複雑にはなっているので 「現物を見るのが一番」ということで まずは今回のプロジェクトを 一つに圧縮したファイルをアップします こちらからダウンロードできます → ダウンロード これを展開してから見比べながらご覧になってください トップフォルダに 6つのファイル と ディレクトリが2つ ありますね どうしても 後々ファイル数が多くなりそうなものは フォルダに追いやった方がいいと思うので 画像は imgフォルダに 他の方が作ったJavaScriptは そのライブラリ名でフォルダを作っています 今回は とりあえず動的なページを実現するた

    (ruby)(WEBrick)(ブラウザ を インターフェイス にする rubyアプリケーションを 割と真面目に考えてみる) - もらかなです。
  • Googleのユーザー至上主義から学ぶ企業プロモーションの在り方

    iPadiPhoneといったモバイル端末の普及は、企業のプロモーションの在り方を大きく変える可能性がある。Googleや味の素が実現した「消費者視点のコンテンツの発想」からは、企業プロモーションの進化形が見えてくる。 iPadiPhoneなどのモバイル端末(デジタルデバイス)が普及の兆しを見せる中、消費者と企業のコミュニケーションの在り方も変化している。最近ではiPadを使った店頭での販売促進など、企業のプロモーションを目的としたデジタルデバイスの活用に注目が集まっている。 ユーザーとのコミュニケーション機能を搭載したデジタルデバイスを、「デジタルメディア」と呼ぶ。特徴は、端末によって多彩な表現方法があることだ。デジタルデバイスでは、専用のアプリケーションやSNSゲームの要素を融合させた「ソーシャルゲーム」などを利用できる。これらを開発した企業は、ユーザーに対して直接情報を発信するこ

    Googleのユーザー至上主義から学ぶ企業プロモーションの在り方
  • 【レポート】Javaでファイルを高速にコピーする方法 | エンタープライズ | マイコミジャーナル

    Java Programming Language Javaではさまざまな方法でファイルのコピーを実装できる。Javaプログラマなら誰しも一度は、どの方法がもっとも高速にファイルコピーを実現できるか考えたことがあるだろう。プログラマにとって実行速度はいつでも最大の関心事のひとつだ。 File Copy in Java - Benchmark - Javalobbyに、こうした疑問に対するひとつの結果として興味深い記事が掲載されている。Baptiste Wicht氏が投稿した記事で、コピー実装を10の種類に分類し、それぞれどういった違いが現れるかを紹介している。コピー方法は次のとおり。 読み込みと書き出しのStreamを開いて、byteごとにファイルのコピーを実施。 読み込みと書き出しのReaderを開いて、charごとにファイルのコピーを実施。 読み込みと書き出しのBufferdStrea