はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    大阪万博

『nothingmuch's perl blog』

  • 人気
  • 新着
  • すべて
  • Moose has won

    3 users

    blog.woobling.org

    Stevan has always characterized Moose as a disruptive technology. Pre-Moose metaprogramming has a long history, but you were pretty much stuck rolling your own metamodel back then. Moose changed this by providing extensible class generation. It tries to create a metamodel in which several specialized metamodels can coexist and work together, even on the same class. Case in point, a little over a w

    • 暮らし
    • 2010/09/26 12:58
    • The timing of values in imperative APIs

      4 users

      blog.woobling.org

      Option configuration is a classic example of when I prefer a purely functional approach. This post is not about broken semantics, but rather about the tension between ease of implementation and ease of use. Given Perl's imperative heritage, many modules default to imperative option specification. This means that the choice of one behavior over another is represented by an action (setting the optio

      • テクノロジー
      • 2009/11/27 10:04
      • perl
      • Functional programming and unreasonable expectations

        5 users

        blog.woobling.org

        <record type="broken">I'm a big fan of purely functional programming</record>. Another reason I like it so much is that purely functional software tends to be more reliable. Joe Armstrong of Erlang fame makes that point in an excellent talk much better than I could ever hope to. However, one aspect he doesn't really highlight is that reliability is not only good for keeping your system running, it

        • テクノロジー
        • 2009/11/19 07:38
        • perl
        • programming
        • Scoping of the current package

          3 users

          blog.woobling.org

          The one thing that I almost always notice when playing around in non Perl languages is how well Perl handles scoping. There is one place in which Perl got it totally wrong though. The value of the current package is lexically scoped: package Foo; { package Bar; say __PACKAGE__; # prints Bar } say __PACKAGE__; # prints Foo However, the notion of the current package during compilation is dynamically

          • テクノロジー
          • 2009/11/11 04:08
          • perl
          • <tt>Sub::Call::Recur</tt>

            5 users

            blog.woobling.org

            After my last post about Sub::Call::Tail melo and jrockway both asked me whether I was aware of Clojure's recur form. I wasn't. Shortly afterwords I wrote Sub::Call::Recur, which implements that form in Perl. The recur operation is a tail call to the current subroutine. It's a bit like Perl's redo builtin, but for functions instead of blocks. Here is a tail recursive factorial implementation: sub

            • テクノロジー
            • 2009/11/02 19:23
            • perl
            • <tt>Sub::Call::Tail</tt>

              8 users

              blog.woobling.org

              I've just released Sub::Call::Tail which allows for a much more natural tail call syntax than Perl's goto built in. It provides a tail keyword that modifies normal invocations to behave like goto &sub, without needing the ugly @_ manipulation. Instead of this horrible kludge: @_ = ( $foo, $bar ); goto &foo; You can now write: tail foo($foo, $bar); And much more importantly this method call emulati

              • テクノロジー
              • 2009/11/01 03:21
              • perl
              • library
              • development
              • Versioned <tt>site_lib</tt>

                5 users

                blog.woobling.org

                Today I wanted to install a simple module on a production machine. I used the CPAN utility, as usual. Unfortunately that also pulled in an upgraded dependency which was not backwards compatible, breaking the application. I hate yak shaving. But not nearly as much as I hate surprise yak shaving. I want to fix compatibility problems in my development environment on my own time, not hastily on a live

                • 暮らし
                • 2009/10/29 03:21
                • cpan
                • perl
                • Event driven PSGI

                  7 users

                  blog.woobling.org

                  I spent most of today and yesterday bikeshedding event driven PSGI with miyagawa on #http-engine. We seem to have converged on something that is both fairly portable to different event driven implementations, without being too yucky for blocking backends. For example, if you don't yet know the response code or headers and are waiting on some other event driven thing, it's sort of like continuation

                  • テクノロジー
                  • 2009/10/16 09:37
                  • psgi
                  • plack
                  • perl
                  • Roles and Delegates and Refactoring

                    6 users

                    blog.woobling.org

                    Ovid writes about the distinction between responsibility and behavior, and what that means in the context of roles. He argues that the responsibilities of a class may sometimes lie in tangent with additional behaviors it performs (and that these behaviors are often also in tangent with one another). Since roles lend themselves to more horizontal code reuse (what multiple inheritance tries to allow

                    • テクノロジー
                    • 2009/10/09 04:21
                    • perl
                    • design
                    • Are Filehandles Objects?

                      7 users

                      blog.woobling.org

                      Perl has a very confusing set of behaviors for treating filehandles as objects. ADHD Summary Globs which contain open handles can be treated as objects, even if though they aren't blessed. Always load IO::Handle and FileHandle, to allow the method syntax. Whenever you are using filehandles, use the method syntax, regardless of whether it's a real handle or a fake one. A fake handle that works with

                      • 暮らし
                      • 2009/10/06 01:25
                      • perl
                      • *programming
                      • IO::Handle::Util

                        12 users

                        blog.woobling.org

                        My friend miyagawa has been championing PSGI and its reference implementation, Plack. This is something we've needed for a long time: a clean and simple way to respond to HTTP requests without the cruft of CGI and %ENV. The PSGI specification requires the body of the response to be represented using an object similar to IO::Handle. I've released IO::Handle::Util, a convenience package designed to

                        • 暮らし
                        • 2009/10/01 23:51
                        • perl
                        • io
                        • あとで読む
                        • Method Style Callbacks

                          4 users

                          blog.woobling.org

                          This is a small trick I like to use when defining callbacks. Instead of invoking callbacks as code references: $callback->($data); I always write the invocation as a method call: $data->$callback(); or if $data is not a natural invocant for the routine, then I invoke it as a method on the object that is sending the notification: $self->$callback($data); This works in more cases than just plain cod

                          • テクノロジー
                          • 2009/09/24 23:20
                          • perl
                          • Hackathon Summary

                            5 users

                            blog.woobling.org

                            During the YAPC::Asia::2009 hackathon I refactored a bunch of XS modules out of some other code, both rafl's and mine. XS::Object::Magic This module provides an alternative to the standard T_PTROBJ approach to creating C struct based objects in Perl. The traditional way creates a blessed scalar reference, which contains an integer value that is cast to a pointer of the right type. This is problema

                            • テクノロジー
                            • 2009/09/16 05:49
                            • yapcasia2009
                            • perl
                            • YAPC::Tiny, YAPC::Asia

                              9 users

                              blog.woobling.org

                              I'd like to thank to everyone that made my trip to Asia so great thus far. To list but a few: thanks to the JPA for organizing YAPC::Asia, especially Daisuke for being so accommodating when it wasn't clear if I would make it till the end, gugod for organizing YAPC::Tiny, Kenichi Ishigaki and Kato Atsushi for translating my talks (though only one was presented in the end), clkao and audreyt for bei

                              • テクノロジー
                              • 2009/09/12 02:51
                              • yapcasia2009
                              • perl
                              • <tt>Try::Tiny</tt>

                                7 users

                                blog.woobling.org

                                I just released Try::Tiny, yet another try { } catch { } module. The rationale behind this module is that Perl's eval builtin requires large amounts of intricate boilerplate in order to be used correctly. Here are the problems the boilerplate must address: $@ should be localized to avoid clearing previous values if the eval succeeded. This localization must be done carefully, or the errors you thr

                                • テクノロジー
                                • 2009/09/01 19:25
                                • perl
                                • try-tiny
                                • SV *

                                  6 users

                                  blog.woobling.org

                                  In my last internals post I mentioned that most of the data in Perl revolves around the SV struct. The excellent PerlGuts Illustrated describes these structures in great detail, and of course there's the two main documents in Perl's own reference, perlguts which tells you about them and perlapi which tells you what you can do with them. This post is sort of like PerlGuts for dummies, intended to l

                                  • テクノロジー
                                  • 2009/07/28 18:01
                                  • perl
                                  • Optimizing Moose's Startup

                                    7 users

                                    blog.woobling.org

                                    It's well known that while Moose competes well with hand written code at runtime. However, Moose code still needs to pay a lot at compile time, due to the comprehensive extensibility of the metamodel. We've previously made fairly successful attempts to optimize startup but there's always room for improvement. Thankfully Goro Fuji has received sponsorship to optimize Moose's startup time, and even

                                    • テクノロジー
                                    • 2009/07/15 19:00
                                    • moose
                                    • perl
                                    • Why I don't use CouchDB

                                      16 users

                                      blog.woobling.org

                                      CouchDB is lots of fun. It's really easy to install on a mac using the CouchDBX package. It comes with a nice web UI so you can play around with it straight away. It leverages REST and JSON to provide a simple API that you can use from virtually any language. It has a great transactional model which lets you have full ACID semantics in a very lightweight way. So why don't I use it? Well, several r

                                      • テクノロジー
                                      • 2009/05/15 14:47
                                      • couchdb
                                      • MongoDB
                                      • あとで
                                      • Using KiokuDB in Catalyst applications

                                        4 users

                                        blog.woobling.org

                                        Using KiokuDB with Catalyst is very easy. This article sums up a few lessons learned from the last several apps we've developed at my workplace, and introduces the modules we refactored out of them. Let's write an app is called Kitten::Friend, in which kittens partake in a social network and upload pictures of vases they've broken. We generally follow these rules for organizing our code: Catalyst

                                        • テクノロジー
                                        • 2009/05/07 03:02
                                        • perl

                                        このページはまだ
                                        ブックマークされていません

                                        このページを最初にブックマークしてみませんか?

                                        『nothingmuch's perl blog』の新着エントリーを見る

                                        キーボードショートカット一覧

                                        j次のブックマーク

                                        k前のブックマーク

                                        lあとで読む

                                        eコメント一覧を開く

                                        oページを開く

                                        はてなブックマーク

                                        • 総合
                                        • 一般
                                        • 世の中
                                        • 政治と経済
                                        • 暮らし
                                        • 学び
                                        • テクノロジー
                                        • エンタメ
                                        • アニメとゲーム
                                        • おもしろ
                                        • アプリ・拡張機能
                                        • 開発ブログ
                                        • ヘルプ
                                        • お問い合わせ
                                        • ガイドライン
                                        • 利用規約
                                        • プライバシーポリシー
                                        • 利用者情報の外部送信について
                                        • ガイドライン
                                        • 利用規約
                                        • プライバシーポリシー
                                        • 利用者情報の外部送信について

                                        公式Twitter

                                        • 公式アカウント
                                        • ホットエントリー

                                        はてなのサービス

                                        • はてなブログ
                                        • はてなブログPro
                                        • 人力検索はてな
                                        • はてなブログ タグ
                                        • はてなニュース
                                        • ソレドコ
                                        • App Storeからダウンロード
                                        • Google Playで手に入れよう
                                        Copyright © 2005-2025 Hatena. All Rights Reserved.
                                        設定を変更しましたx