並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 207件

新着順 人気順

slothの検索結果1 - 40 件 / 207件

  • 告白されたときの正しいステータスコードの返しかた、読みかた - As Sloth As Possible

    今日は秋らしいよいお天気だったので、それとは特に関係なく今日も今日とてぼーっとディスプレイに向かっていたところ、こんな記事を見付けた。 勇気を出して告白! その返事で覚えるHTTPステータス・コード あらあらまあまあ。なんだか俺、この記者の方にシンパシーを覚えるよ。 この手のネタは大好物なのだけど、404はお断りの返事ちゃうやん、てか断り方だけでも何パターンもあるんやで、とうずうずしてきたので便乗して考えてみることにした。例によって400系レスポンスに偏ってるのはお約束。しかたないよねー。告白のレスポンスなんて受けとる方でも返す方でも400系しか知らないもん。ごめん嘘だ。503(「お前本当にタイミング悪いな」)返したことある。再リクエストはありませんでした。200?ああ、そんなステータスコードもありましたね。おいしいのかな。使ってみたいです。 (予想外に反響があったので追記)見ての通り全部

      告白されたときの正しいステータスコードの返しかた、読みかた - As Sloth As Possible
    • ハッシュ衝突でTLSを破るSLOTH攻撃(CVE-2015-7575)とは何か - ぼちぼち日記

      0. 簡単なSLOTH攻撃のまとめ 最初に簡単なまとめを書いておきます。長文になりそうなので、読むのが大変な方はここだけ見ておいてください。 MD5ハッシュは既に安全ではなく、証明書の署名方式での利用は停止されていたが、後方互換のためハンドシェイクデータの署名方式にRSA-MD5が今でも利用できるTLS実装が幾つか存在していた(Firefox NSS, Java等)。 先週、INRIAグループからハッシュ衝突を利用して実際にTLSを破る攻撃(SLOTH)が公開された。それを受け、いくつかの実装でRSA-MD5を完全に利用不能にする修正が行われた(CVE-2015-7575)。 SLOTHでは、SHA1やTLS、IKE、SSHに対する攻撃についても評価を行い、幾つかは全く現実的に不可能なレベルではないことが示された。MD5とSHA-1でTLSハンドシェイクの完全性を担保しているTLS1.0/

        ハッシュ衝突でTLSを破るSLOTH攻撃(CVE-2015-7575)とは何か - ぼちぼち日記
      • requireとincludeとextendとmodule_function(1) : As Sloth As Possible

        Rubyで自作の外部モジュールを読み込む方法 - include と extend と module_function - (゚∀゚)o彡 sasata299's blogを読んでて、もしかしたらちょっと誤解があるのかなと思ったのでrequireとincludeとextendの話を。 requireはKernelモジュールのメソッド Rubyで外部ライブラリを読み込むには、require を利用します。 Rubyで自作の外部モジュールを読み込む方法 - include と extend と module_function - (゚∀゚)o彡 sasata299's blog これはその通り。もっと具体的に言うと、requireは引数のファイル名のRubyファイルを読み込んで実行するメソッドです。引数が絶対パスだったときはそのファイルを、そうでない場合はロードパスを優先順位上位から辿って最初

          requireとincludeとextendとmodule_function(1) : As Sloth As Possible
        • nginxとUnicornでRackアプリを動かす : As Sloth As Possible

          どうやらUnicornというのが良いらしいという噂を聞きつけたので、どんなもんじゃろと試してみることにした。 Route 477 - 大規模Railsサイトのための新しいHTTPサーバ、Unicorn Unicornてのは何者なのかと言うと、Rack及びRailsに対応したRubyのWebアプリ用のHTTPサーバ。詳しくは上の記事を読んで下さい。githubでも使ってるそうだ。あと、名前が格好良い(あんまり関係ない)。 まずはunicornの設定 と言っても、gem install unicornしてconfig.ruがあるディレクトリでunicornコマンドを叩けば、thinとかと同じようにサーバが起動する。rackup互換のオプションも付いてるので特に悩むこともないと思う。あとは普通にApacheとかでプロキシの設定してやるなりなんなりすればすぐ使える。 それだけだと大して面白くないの

            nginxとUnicornでRackアプリを動かす : As Sloth As Possible
          • UnicornとかRainbows!とかの話 : As Sloth As Possible

            随分長いことブログ放置してしまったのだけどネタ見付けたので久々の記事。 UnicornはPassengerより遅かった? なんかTwitterで「アクセス少ないときはPassengerよりUnicornのが速いのに、アクセス多くなってきたらその逆になった」って話をみかけたので、それ単にUnicornのworkerが足りないんじゃないの、と返したのだけど、どういうことかという話を少しまとめる。 まず、Unicornのworkerは1プロセスにつき1度に1リクエストしか処理しない。だから例えば、凄い大雑把な計算だけど、平均50msくらいでレスポンスを返すアプリだとすれば、1workerは20req/secくらいは返せるかなと見積もって、ピーク時に100req/secくらいアクセスがありそうだったらworkerを5個くらい立てとくかな、足んなかったらもうちょっとかな、みたいに考える。実際どんくら

              UnicornとかRainbows!とかの話 : As Sloth As Possible
            • #isucon で学ぶWebアプリの高速化の話 : As Sloth As Possible

              あるいは、お遊びチーム2号は一体何をしていたのかについて。 ISUCONという大変白熱した楽しいお祭を開催するにあたって、その前夜祭的な環境試験のためのチューニング祭が社内の有志数名で行われていて、そのときに色々学んだことをおまけとして書いておきます。 ISUCONて何? 下記参照。 なんでもありのWebアプリケーション高速化バトル、#isucon 開催のお知らせ 【締め切りました】Webアプリケーション高速化バトル、#isucon 詳細と参加者募集開始 ISUCON に参加してきました #isucon に参加してきました&isuconツールを試してみました #isucon で優勝してきました isuconに参加してきた&チーム「いんふらえんじにあー」の戦略など isuconお遊びチーム(事前社内β組)の設定あれこれ #isucon で優勝させてもらってきました #isucon に参加して

                #isucon で学ぶWebアプリの高速化の話 : As Sloth As Possible
              • Objective-Cのアクセサの話 : As Sloth As Possible

                scrollView.canCancelContentTouches = NO; [scrollView setCanCancelContentTouches:NO]; って書き方があってこれみんなどういう使い分けしてるんだろうなぁ。。って思ってます。 セッター - poohtarouの日記 セッターというか、ドット記法の話かな。 ドット記法と普通のメソッドの使い分け まぁ、まずはこんなクラスがあったとします。 @interface Book : NSObject { NSObject *title; } @property (retain) NSString *title; @end このクラスのオブジェクトを作ってtitleを設定/参照するコードはこんな感じです。 Book *book = [[Book alloc] init]; // ドット記法 book.title = @"Dyn

                  Objective-Cのアクセサの話 : As Sloth As Possible
                • RubyエンジニアのためのObjective-C Blocks入門 - As Sloth As Possible

                  書こう書こうと思ってたけど忘れてたのを、PerlエンジニアのためのObjective-C Blocks入門を見て思い出した。すいませんタイトルは便乗です。 試しに書いてみる Blocksってのが何者なのかはさっきの記事なりAppleのドキュメントなりを見てもらえばいいと思うんですが、まぁウケが良さそうなので付けたタイトルにのっとってRubyと比較してみる。 f = lambda {|x| puts "#{x}のこと以外は何も考えられない" } f.call("うどん") void (^f)(id) = ^(id x) { NSLog(@"世界の全てを敵に回しても、僕は%@の味方だ", x); }; f(@"うどん"); なんだ、そっくりじゃない。似てる似てる。 上がRuby版、下がObjC版。下は普通引数にはNSString*とかを使うと思うけど、まぁRuby版と挙動を合わせるためにidに

                    RubyエンジニアのためのObjective-C Blocks入門 - As Sloth As Possible
                  • Objective-Cで正規表現を使う その1 : As Sloth As Possible

                    ちょっと前に書こうと思ってて忘れてたネタ。iOSアプリ内で正規表現を使ってごにょごにょしようと思ったらRegexKitLiteを導入するのが一番てっとりばやいのだけど、iOS 3.2以降はFoundation Framework内でも地味に正規表現が使えるようになってきてるのでメモがてら記事にしておく。 NSRegularExpressionSearch Cocoaで文字列中に別な文字列が含まれているかどうかを知りたいときは、NSStringの-rangeOfString:というメソッドを使う。RubyのString#indexみたいな感じで、見付かった文字列がどこにあるかの位置を返してくれる。こんな感じ。 NSString *string = @"I love Udon."; NSRange match = [string rangeOfString:@"Udon"]; if (matc

                      Objective-Cで正規表現を使う その1 : As Sloth As Possible
                    • iOS Advent Calendar 2011 5日目 / NSURLProtocolの使い方 : As Sloth As Possible

                      どうも、「iOS Advent Calendar 2011」5日目担当のfaultierです。つい最近使ったのでNSURLProtocolネタで。 NSURLProtocolって何? Foundationフレームワークで最初から扱えるプロトコルはhttp、https、ftp、fileの4つ。これ以外のプロトコルでの通信をNSURLConnectionやNSURLDownloadなどで扱う場合や、特定のリクエストに限って特別な処理をしたい場合などに、NSURLProtocolを継承して登録することで使えるようになる。ちなみに、他のアプリからopenURLしたときにアプリを起動させるカスタムURLスキームとはまた別なので注意。こちらはアプリ内でURL Loading Systemを使うときにだけ影響するもの。 使い方 最低限必要なのは、+canInitWithRequest:、+canonic

                        iOS Advent Calendar 2011 5日目 / NSURLProtocolの使い方 : As Sloth As Possible
                      • Objective-Cで正規表現を使う その2 : As Sloth As Possible

                        前の記事で予告した通り、今度はNSRegularExpressionの話。 正規表現でマッチした部分文字列を取得する まずNSRegularExpressionオブジェクトを作って、それのメソッドにNSStringのオブジェクトを渡す、という形で使う。まぁ説明するよりコード見た方が早い。 NSString *string = @"「そんな正規表現で大丈夫か?」「大丈夫だ、問題ない」"; NSError *error = nil; NSRegularExpression *regexp = [NSRegularExpression regularExpressionWithPattern:@"「そんな(.+)で大丈夫か?」「(.+)」" options:0 error:&error]; if (error != nil) { NSLog(@"%@", error); } else { NST

                          Objective-Cで正規表現を使う その2 : As Sloth As Possible
                        • Objective-Cのデリゲートの話 : As Sloth As Possible

                          「Objective-Cで、参照先のオブジェクトから参照元に通知を送る方法。」を読んてで思ったんですが、若干冗長な気がする。 プロトコルを使う プロトコルを使うんだったら、最初からそのプロトコルに適合するオブジェクトしかdelegateになれないようにしちゃった方がいいと思う。こんな感じで。 @interface Foo : NSObject { id<SampleDelegate> delegate; } @property (assign) id<SampleDelegate> delegate; @end こうしちゃえば、そもそもSampleDelegateに適合しないオブジェクトはdelegateになれないので、conformsToProtocolのチェックは必要なくなる。UIKitでも(例えばUITableViewのdelegateとか)大体そうなってますね。あと、ObjCはレシ

                            Objective-Cのデリゲートの話 : As Sloth As Possible
                          • Feed Builder, News Reader, RSS Generator - New Sloth

                            Instant feeds turn websites into insights.Smarter way to gather knowledge from essential news and informative websites of your interest. Keep your finger on the pulse of your industry, and the topics and trends that impact its direction.

                            • LLVMを勉強中 : As Sloth As Possible

                              ここ数日、LLVMについて少し勉強している。そもそもなんでLLVMを触り始めたかというと、Twitter上で「今コンパイル欲求に駆られている」と(割と何も考えずに)つぶやいたところ、 「じゃあDTコンパイルしようぜ」 srd! でもあれコンパイラとは名ばかりでぶっちゃけ文字列をRubyコードにtranslateしてるだけだったりするね 「DTパーサを改良してLLVMにブリッジして、クロスプラットフォーム環境で高速に動作するDT処理系にするといいよ」 何その無駄に敷居高いお仕事!誰得!でもなんか面白そう! というやりとりがあって、じゃあ本当に誰が得するのかわからないけど面白そうだからLLVMをバックエンドで使ってesotericがサポートしてるコードからバイナリを生成するコンパイラ作ろうぜ、という流れになったから。実にLLVMの無駄遣いですね。この記事ブクマするときは「LLVMの無駄遣い」っ

                                LLVMを勉強中 : As Sloth As Possible
                              • GCDを試してみる : As Sloth As Possible

                                Rubyと比べながらBlocksをいじってみたり、BlocksでNSArrayにmapメソッドを生やしてみたりしてきたので、そろそろGrand Central Dispatch(GCD)も試してみる。あんま関係ないけど、グランド・セントラル・ディスパッチってなんか必殺技っぽいよね。じゃあ一緒に高らかに叫んでみようか。せーの、グランド!セントラル!ディスパッチ!! GCDってなにさ ドキュメント嫁。 …だけだと流石に不親切なので、一応簡単に説明すると、APIを通してぽんぽん処理をqueueにつっこんでってやると、ランタイムの方でそれを上手いこと並列実行しといてやるよ!安心しろチェリーボーイ共、スレッドのことは俺が面倒見てやるぜ!って仕組み。そんな口調なのかどうかはわかんないけど、まぁ大体そんな感じ(適当)。 例によってRubyと比較 まぁ、こんなコードがあったとします。 # ruby f =

                                  GCDを試してみる : As Sloth As Possible
                                • PassengerでRackアプリを動かす : As Sloth As Possible

                                  昨日のネタではRackで簡単なアプリを作ってそれを複数立ち上げたThinで動かしつつ、表のApacheからmod_proxy_balancerで適当にプロキシしてやるって構成にした。Railsとかでもよくやるので慣れてるし、扱い易いので好きな構成だ。 ただ、今回の遊びでちょっとやってみたかったけことがある。何かというと、Passengerの導入。mod_railsとかmod_rackとか呼ばれてるアレ。スタンドアロンのサーバではなくてApacheやnginxに組み込んで使うタイプで、パフォーマンスもそれなりに良いし使い易いという話を聞いてたので気になってはいた。でもRails使わなくなってからなかなか試してみる機会がなかったので、この際ついでだ、とやってみることにした。 設定は簡単 インストールについてはPassengerのページでも見てもらうとします。別に何のことはない、gemからインス

                                    PassengerでRackアプリを動かす : As Sloth As Possible
                                  • HTTP::Engineでテスト : As Sloth As Possible

                                    そう言えばこないだのうどん屋のコードは一切テストを書かなかったけど、それはよろしく無い、まったくもって主義に反するし、RubyのときはちゃんとSpec書いたのにPerlのときは書かないだとかふざけてる、と思ったのでテストも書いてみることにした。 さてテストだけど、HTTP::Engineにはちゃんとテスト用のインターフェースが用意されている。あと、テストリクエストを生成するモジュールもある。なんだ、じゃあ話は簡単だ。 interface => { module => 'Test' } でengineを作る HTTP::Engine::Test::Requestでrequestを作る engineのrunメソッドにテストリクエストを投げてやる 返ってきたレスポンスをチェックする ってことですね、わかります。 まずは素直に書いてみる コード量少ないのではっつけちゃおう。Udon::AppにGE

                                      HTTP::Engineでテスト : As Sloth As Possible
                                    • HTTP::Engineのミドルウェアを作ってみる : As Sloth As Possible

                                      先週末からこっちうどん屋をいじって遊んでたのだけど、HTTP::EngineにはHTTP::Engine::Middlewareというミドルウェアを作る仕組みもあるので、せっかくなのでUdonMap(Rack::URLMapもどき)をミドルウェアで実装してみた。 gist: 117012 - GitHub 前回の記事のときと構成が変わってるけど気にしない方向で。あとで前の記事直しとこう前の記事も補足した。Udon::Middleware::URLMapがミドルウェアで、server-middleware.plがミドルウェア版UdonMapを使って書き直したもの。 ミドルウェア自体は簡単に作れた。use HTTP::Engine::MiddlewareするとMooseの初期化処理をしたりミドルウェア用のメソッドを生やしたりしてくれるので、HTTP::Engineをnewするときに指定したハン

                                        HTTP::Engineのミドルウェアを作ってみる : As Sloth As Possible
                                      • 詳解Objective-C 2.0読書会に行ってきた : As Sloth As Possible

                                        ブログネタ:Objective-C に参加中! 詳解Objective-C 2.0読書会に参加してきた。読書会というのに参加したのは初めてだけど、皆で同じ本を読んで、読んだ部分に対して「ここがわからない」「いやそれは実はこういうことで…」というやりとりは中々面白かった。一人で読んでるとスルーしがちなところも拾ってみると勉強になるなぁ。 それより何より、Objective-Cなんていうマニアックな言語の、読書会なんていうストイックな催しに、24人も集まったのが凄い。これもiPhone効果かーなんて思ったけど、現時点ではiPhoneを買うと表明した人が少なかったのも印象深かった。いや俺も買わないけど。とは言えなんだかんだで衝動買いしかねないけど。どっちだよ。 今日はCHAPTER2とCHAPTER3の途中までを読んだ。CHAPTER2はObjective-Cの基本的な特徴や構文、CHAPTER

                                          詳解Objective-C 2.0読書会に行ってきた : As Sloth As Possible
                                        • Text::MicroTemplateで遊ぶ : As Sloth As Possible

                                          こないだ言ってたPlackアプリのサンプルでは、出来るだけ普段使ってない構成にしようと目論んでて、そのために例えばテンプレートエンジンにはText::MicroTemplateを使ってみたりしている。 Text::MicroTemplateはシンプルで軽くてなかなか良かった。ちなみにこんな感じで使う。 use Text::MicroTemplate qw(:all); my $html = render_mt('Hello, <?= $_[0] ?>', 'faultier')->as_string; でもファイルから読みたいよねーそれ実装しなきゃなのかなーとか思ってたらちゃんとText::MicroTemplate::Fileってのがあって、こっちを使えばキャッシュも使ってくれるしラッパーの機能とかもあるしで素敵だ。 ?# hello.mt Hello, <?= $_[0] ?> use

                                            Text::MicroTemplateで遊ぶ : As Sloth As Possible
                                          • SBM研究会に参加してきた : As Sloth As Possible

                                            今日は東工大で行なわれたSBM研究会に参加してきた。是非感想をmixiかブログに書いてくださいとのことだったので、感想と考えたことをまとめる。 とても新鮮だった 一番印象的だったのは、集まった人に結構いろんな立場の人がいたこと。SBM研究会には、大手SI企業の人、データマイニングやレコメンデーションの研究をしている研究者、Webサービスの開発者や運営者、技術好きな学生などなど。 これはとても新鮮だった。仕事柄というか趣味でというか、ここ最近技術系のカンファレンスや勉強会に何度か足を運んでいるのだけど、その雰囲気とはまるで違う。俺は興味の方向が基本的に「コンシューマ向けのWebサービス」に向いているので、普段はBtoBな業界の方や研究者の方と交流する機会は少ない。こうして同じ場に集まることで、視点の違い、空気の違いを感じられて刺激を受けることができて良かった。 印象に残った発表 どれも興味深

                                              SBM研究会に参加してきた : As Sloth As Possible
                                            • MacRubyとMacFUSEでファイルシステムを作ってみる : As Sloth As Possible

                                              こないだAtomPubとWebDAVの話をしてて、あーそうかAPIをWebDAVとして実装してたらファイルシステムとしてマウントできて面白かったかもなぁ、でも実装面倒なんじゃないのかなどうだろやったことないし、でもvimで記事書いて:wで投稿されてmvしたらカテゴリ変わってrmで記事削除されてとか何それ胸膨らむ、じゃなかった夢膨らむし胸踊るね、なんて考えたところでふと気付いた。あるじゃん、ファイルシステムじゃないものをクライアント側でファイルシステムにしちゃう仕組み。 そうだ、FUSEだ。Filesystem in Userspace。前々からそのうち遊んでみようとは思ってたものの特にネタも思い付かなかったので手をつけてなかったのだけど、BlogFSに丁度良さそうだし、ちょっとやってみることにした。 Rubyでいじる FUSEってファイルシステム作るくらいだからやっぱCとかC++とかで書く

                                                MacRubyとMacFUSEでファイルシステムを作ってみる : As Sloth As Possible
                                              • RubyでMongrel2のハンドラを書いてみる : As Sloth As Possible

                                                こないだ、と言っても2週間くらい前の話なんだけど、社内でZeroMQとMongrel2の勉強会をやった。Mongrelと言えば、俺がRails(たしか当時1.2くらいだったと思う)で仕事してた頃にアプリケーションサーバとして使ってたけど、最近だとThinとかPassengerとかUnicornとかの人気に押されてついぞ聞かなくなったアレだよなぁ、なんでPerlの会社の勉強会でMongrelなんだろう、と思ってたんだけど、Mongrel2はもはやRailsのアプリケーションサーバじゃなくて、通信にZeroMQなるものを使った汎用的なWebサーバになってたらしい。 大分野心的なプロジェクトではあるものの、今はZeroMQもMongrel2も「とりあえず出た」って感じらしく、今年一杯くらいは地雷原を突き進む気がある人だけ触るといいんじゃないかなという話だった。プロダクションで使うようなレベルにな

                                                  RubyでMongrel2のハンドラを書いてみる : As Sloth As Possible
                                                • ちょっと見てて面白かったので : As Sloth As Possible

                                                  なんか金縛りにあって眠れなくなったのでTwitter見てたら面白いやりとりをみかけた。すげー大雑把に要約すると、こんな感じ。 Railsの勉強をしてる人が「なんでHello worldしたいだけなのにDB必要なの!?DB使うにしたってMySQLなんか今必要じゃないしチュートリアルではSQLiteとかにしといてくれたっていいのに!プリプリ!」みたいな呟きをする 「いやRails使うんなら普通DB要るでしょ。なんでそこに文句言ってるの。」とツッコミが入る 「とりあえずチュートリアルは一番簡単なやり方書いといてくれた方が親切じゃないですか。」と反論 「いやだから、Railsを使うのに一番当たり前の構成を作るのにはどうしたらいいかがチュートリアルでしょ。それが必要ないんなら別なの、例えばSinatraとか使えばいいじゃん。フレームワークの特性も分からずに使っておいてチュートリアルがおかしいとか筋違

                                                    ちょっと見てて面白かったので : As Sloth As Possible
                                                  • requireとincludeとextendとmodule_function(2) : As Sloth As Possible

                                                    前回の続き。Rubyで自作の外部モジュールを読み込む方法 - include と extend と module_function - (゚∀゚)o彡 sasata299's blogにあったうちrequireとincludeについて書いたので、次はmodule_functionとextendの話を。 module_functionは何のためにあるのか まず前回のおさらい。 モジュールの中で特異メソッド(def self.hogeという形)として定義されたものはincludeするとクラスメソッドになるし、MyModule.hogeという形で呼べる モジュールの中でメソッド(def fugaという形)として定義されたものはincludeするとインスタンスメソッドになる。が、MyModule.fugaという形では呼べない で、module_function。これを使うとどうなるかというと、 m

                                                      requireとincludeとextendとmodule_function(2) : As Sloth As Possible
                                                    • MongoDBとCandy - As Sloth As Possible

                                                      そろそろRuby会議もあるというのに、そういや最近Ruby全然書いてないfaultierですこんばんわ。じゃあリハビリを兼ねて久々にRamazeさんで遊んでみるか、ついでにいい加減NoSQLブームにも乗ってみるか、みたいな感じでRamaze+MongoDB+Candyで遊んでみることにした。ちなみに社内では今Cassandraがブームなのだけども、Cassandraはちょっと遊びで使ってみるにはオーバースペックだよなーとか思いつつ色々見てたら、HerokuでMongoDBが使えるらしいのでそれを狙ってのMongoDBいじり。 とりあえず入れてみる aptで探したらmongodbのパッケージもあるんだけど、2010年5月30日時点では1.2.2と若干バージョンが古い。この後オブジェクトマッパーを色々試してみたところ1.4系じゃないと動かなかったりしたので、本家のサイトから最新のバージョン落と

                                                        MongoDBとCandy - As Sloth As Possible
                                                      • releaseの使いどころ : As Sloth As Possible

                                                        俺もメモリ管理を間違えて頻繁にアプリを落としてしまうゆとりプログラマなのであんまり偉そうなことも言えないのだけど、「releaseの使いどころ。メモリの辺りがどうしてもわからない。」を読んでいくつか思ったところがあるので書いときます。 「何度もinit」はしない 既に確保されているハズの変数を二度initするのはメモリリークだよね? 解放されている変数は、 if (obj == nil) では判別できないのだろうか。 ボタン押下時などに、同じロジックを走ることが多くて、何度もinitをしてしまうことが多いのだが。。。。 具体的なコードを見てないので間違ってるかもだけど、多分これ「何度もinitしちゃう」じゃなくて「開放してないオブジェクトを参照してる変数に、何度も新しいオブジェクトをつっこんじゃう」ってことだと思って話を進める(そうすると、どこからも参照が辿れないのにメモリが開放されてない

                                                          releaseの使いどころ : As Sloth As Possible
                                                        • プログラミング言語「DT」 : As Sloth As Possible

                                                          最近「Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~」を読んで、ついカッとなって言語処理系を作ってみた。それも、チューリング完全な、本物の(ry まぁ、Whitespaceのトークンを置き換えただけだけど。 一応、上記の本に習って、ソースコードをWhitespaceの命令セットを持つ中間言語にコンパイルしてVMで実行する形にしてみた。あとはパースする部分を適当に置き換えたコンパイラを作ればそれっぽいのが簡単に作れる。んで、いくつかネタ言語を作ってみたんだけど、その中でも一番しょーもないのがDT。DTでは次のようなソースを実行することができます。("Hi!\n"を出力する) 「○○くんて、もしかして童貞?」 「どどど童貞ちゃうわっ!どど童貞ちゃうわっ!どどど…童貞ちゃうわっ!」 「えー。その慌てっぷりが余計怪しなぁw」 「…どどどどど童貞ちゃうわっ!童貞ちゃう

                                                            プログラミング言語「DT」 : As Sloth As Possible
                                                          • 「Plackで一発ネタは俺に任せろ!」バリバリ「やめて!」 : As Sloth As Possible

                                                            タイトルからして既に残念な感じが漂ってるけど、前回の記事で言った通りPlackでアプリを作ってみようと試行錯誤中。ちなみにこないだサーバをApacheからnginxに変えたついでにHTTP::EngineのアプリもFastCGIで動かすようにしたので、PlackのアプリもFastCGIで動かしてみた。設定はこんな感じ。 # app.psgi use NetaKit::TweetProxy::App; use Plack::Builder; builder { #mount '/baritter' => builder { NetaKit::TweetProxy::App->new->to_app; #}; }; #!/usr/bin/env perl # bin/fcgi.pl use strict; use warnings; use File::Spec; use FindBin qw

                                                              「Plackで一発ネタは俺に任せろ!」バリバリ「やめて!」 : As Sloth As Possible
                                                            • ライブドア第五回テクニカル・セミナーで発表してきた : As Sloth As Possible

                                                              「スマートフォンについて何か喋ってよ」というかなり大雑把なネタ振りをされたので、第五回ライブドア・テクニカルセミナーでこんな感じの話をしてきました。 140字で分かるfaultierの発表: 「iOSとAndroidは違うものだって認識しよう」「両方やってみたらどっちかが圧倒的に作り易いわけじゃなかった」「お前これやりたかっただけだろ http://bit.ly/e429B1」 #ldtech あとで動画や資料は公開されるはずですが、大変申し訳ないことにテンパりまくって見るに耐えない感じになっちゃってると思うので、一応何を言いたかったのかを補足しておきます。 iOSとAndroidは違うものだという話 開発環境の違いについてはまぁいいとして、例えばアプリの設計思想。iOSでは「まずアプリケーションという大きなプログラムがあって、その中で画面を表示したり通信したりしてる」って感じの構成になっ

                                                                ライブドア第五回テクニカル・セミナーで発表してきた : As Sloth As Possible
                                                              • fauなんとかとの打ち合わせってどうすればいいの? : As Sloth As Possible

                                                                ウープスデザインブログ >> デザイナとの打ち合わせってどうすればいいの?を読んで、ほー、と関心する一方で相当考え方が違ったので面白くなって書いてみる。仕事の進め方、プログラマ編。 あ、でも先に言っておくと、俺は「ベンチャーで、Webで、デザイナもディレクタも社内の人間で、自社サービス」っていう非常に限られた領域でしか仕事をしてきたことがないので、今から書くことがプログラマ一般に適用できる話だとは思ってません。タイトルはそういう意図。なので、あくまで上記の前提条件があった上での話だと思って読んでください。 1.やりたいことをある程度洗い出す 「なんかやりたい」とかいう漠然とした要望では流石に「で、俺は何作ればいいのよ」と答えたくもなるので、ある程度まとまるまでやりたいことを出してきて下さい。でも、ここで重要なのは全部洗い出す必要はないってことです。やりたいことがはっきり形になるまでには時間

                                                                  fauなんとかとの打ち合わせってどうすればいいの? : As Sloth As Possible
                                                                • 「誰か」から「誰か」へのメディア : As Sloth As Possible

                                                                  つまり、一部のヘビーユーザーの嗜好が強く反映されすぎると、新規ユーザーの開拓が阻害されるかもしれない。 それならば、ヘビーユーザーの嗜好を運営が否定していいのか。 否定していいはずがないし、少なくともはてなはやらないだろう。このまま流れに身を任せるだろう。その結果このようなエントリーだらけになってしまったら、さすがにライブドアクリップやdeliciousにユーザーが流れると思う。 運営の手でCGMサイトにおけるヘビーユーザーの影響力を薄める行為の是非が問われているのかもしれない。 SBMのゆくえ 〜運営がヘビーユーザーの影響力を薄めるべきか〜 - Core クリップに流れてきてくれる分には俺としては嬉しいけど、それはまぁそれとして、ちょっと思うところがあったので色々考えてたらまとまらなくなったので書きながら考えることにする。 偏って欲しいわけはない 本気で「集合知」だとか「Web 2.0メ

                                                                    「誰か」から「誰か」へのメディア : As Sloth As Possible
                                                                  • OCUnitの実行結果が可愛くない : As Sloth As Possible

                                                                    なんでもターミナルで完結させたい病 最近Objective-Cをお仕事で書いてたりするんだけど、試行錯誤しながらじゃなくてある程度量書くようになってくるとXcodeじゃかったる過ぎるので、ObjC対応済みのctagsをインストールしたりxcodebuildをよしなに叩いてくれるRakefile書いたりしてvimで作業する環境を整えた。もちろんiPhoneシミュレータを起動したりリファレンス読んだりするのでXcodeは開きっぱなしなんだけど、それでも書くのをvimでやれるようになったら大分楽になった。 書くのは楽になったけど、そうなると今度は動作の検証もいちいちシミュレータ起動してあれこれ操作してってのが馬鹿馬鹿しくなってくる。そもそもテストも書かないでアプリ開発とか泣けてくる。幸いiPhoneSDKでもOCUnitが使えるので、ライブラリとして切り出せる部分を別プロジェクトに切り出した上で

                                                                      OCUnitの実行結果が可愛くない : As Sloth As Possible
                                                                    • Rack::Utils#escapeがRuby1.9.1だと何かアレな件 : As Sloth As Possible

                                                                      sinatraとActiveRecordとERBでBBS作ったのでソースを公開してみる - だるろぐに触発されて俺もBBSを作ってみようと、ここ数日Sinatraをいじっていた。Sinatraさんは最近バージョンアップしてた気がするけど、どうやらちゃんとRuby1.9.1でも動くようだ。素敵。 で、順調に行くかと思ったんだけど、どうにも書き込みのspecが通らない。そこで初めて、POSTやGETでパラメータにマルチバイトの文字列が入ってると何かおかしいことに気付いた。 最初に書いたspecとアプリ側のコードを抜粋。 # coding: utf-8 require 'rubygems' require 'rack/test' require 'routes.rb' #sinatraアプリ set :environment, :test include Rack::Test::Methods

                                                                        Rack::Utils#escapeがRuby1.9.1だと何かアレな件 : As Sloth As Possible
                                                                      • Rubyのトップレベルのメソッドの不思議 : As Sloth As Possible

                                                                        トップレベル(モジュールやクラスの外)でメソッドを定義するとどうなるでしょうか??トップレベルでは、メソッドを定義するとデフォルトで private なメソッドになるので注意です。 01.#!/usr/bin/ruby 02. 03.p self.class # Object 04.p self # main 05. 06.cmethod = self.class.private_methods 07.imethod = self.private_methods 08. 09.def bar 10. puts "bar method" 11.end 12. 13.p self.class.private_methods - cmethod # ["bar"] 14.p self.private_methods - imethod # ["bar"] 見ての通りですが、なぜかインスタンスメソ

                                                                          Rubyのトップレベルのメソッドの不思議 : As Sloth As Possible
                                                                        • 新型コロナウイルスが心配でポルトガル旅行を中止しました - Sloth Diary

                                                                          厳密に言うと新型コロナウイルスというよりは新型コロナウイルスが原因のアジア人差別が心配でポルトガル旅行を中止しました。 ニュースで札幌のラーメン屋さんが中国人お断りの張り紙をしたことを知りました。そのお店のGoogle口コミでは「中国人がいないなら安心」という口コミを投稿している日本人もいました。確かに心配だけど中国人をひとまとめにするのもどうなんだろう・・・ そう思っていたところにイタリアの名門音楽院の院長は東洋人をひとまとめに考えているようで、東洋人は授業に参加させないと発表しました。その後バッシングを浴びたからなのかわかりませんが、医師の診断を受けて問題がなければ登校出来るとなったそうです。が、遠いヨーローッパからは中国も日本も韓国も一緒なんでしょうねぇ。観光地の土産物屋では「こんにちは」の時もあるけど「ニーハオ」や「アンニョンハセヨ」と声をかけられる時もあるしグーグルマップで見たら

                                                                            新型コロナウイルスが心配でポルトガル旅行を中止しました - Sloth Diary
                                                                          • BlocksでNSArrayにmapメソッドを生やしてみる : As Sloth As Possible

                                                                            RubyエンジニアのためのObjective-C Blocks入門に引き続き、Blocksネタ。そっちの記事ではBlocksはクロージャ的ななにかだって言ってるのに単なる関数ポインタみたいにしか使ってなかったので、せっかくなのでクロージャ的に使ってみる。 eachできるならmapも欲しい -[NSArray enumerateObjectsUsingBlock:]を使えば、Array#each相当のことができるとこまでは前回の記事でできた。そうすると、Array#map相当のこともNSArrayにさせられるはず。例えばこんなの。 # ruby array_a = %w(ひたぎ 真宵 駿河 撫子 翼) array_b = array_a.map {|x| "#{x}が可愛過ぎて生きるのが辛い" } Rubyistには説明の必要もないと思うけど、Array#mapが何をしてるかというと、 1引

                                                                              BlocksでNSArrayにmapメソッドを生やしてみる : As Sloth As Possible
                                                                            • Sloth - Mac app that shows all open files and sockets

                                                                              Sloth is a native Mac app that shows all open files and sockets in use by all running processes on your system. This makes it easy to inspect which apps are using which files and sockets. Features View all open files, directories, IP sockets, devices, Unix domain sockets and pipes Filter by name, access mode, volume, type, location, or using regular expressions Sort by name, process ID, user ID, p

                                                                                Sloth - Mac app that shows all open files and sockets
                                                                              • PlackでSinatraチックな何かを作ってみた : As Sloth As Possible

                                                                                こないだ言ってたばりったーは実はもう完成してたんだけど、なんかサンプルアプリのつもりが作ってるうちに段々ガチなフレームワークと化してきて、大したアプリじゃないのに中身は意外と複雑でしかもバグだらけ、みたいなことになってしまった。 うーんこれ公開してもいいけど参考になんねーよな、つか飽きたなーとか思って別の遊びを始めたら意外とそっちが楽しくなってきちゃって、こんなものが出来た。 faultier's Asagao at master - GitHub 何これ Plackを使ってSinatraっぽい感じでWebアプリを書ける雰囲気のフレームワークみたいな(弱々しく)。一応README.jaを読むとどんなものかは何となく伝わるんじゃないかしら。ドキュメントとサンプルアプリくらいは作ってみようとは思いますが、何ができるか試してみる際にはソース読んでくだしあ。(追記)簡単なサンプルコードとドキュメン

                                                                                  PlackでSinatraチックな何かを作ってみた : As Sloth As Possible
                                                                                • Sloth and cat / Gato com preguiça / Sloth Prince and her best friend Daisy

                                                                                  Prince adora fazer cafuné e Daisy adora carinho / Prince, the sloth loves hugging and kissing the cats. To use this video in a commercial player or in broadcasts, please go to video.storyful.com or email licensing@storyful.com Prince and Witch http://25.media.tumblr.com/tumblr_lrsp1mowz11qjqdfao1_500.jpg http://i.imgur.com/XMIcXvm.jpg

                                                                                    Sloth and cat / Gato com preguiça / Sloth Prince and her best friend Daisy