タグ

2016年4月2日のブックマーク (6件)

  • 【2016年度版】このPerlハマりどころがすごい!100連発 - Hatena Developer Blog

    はじめに autovivificationを避ける myと後置ifを同時に使ってはならない return;で返る値は空のリスト 正規表現によるバリデーションでは\Aと\zを使おう '0' は偽で評価される each は中断した時、中断した時点の状態が残り続ける おわりに はじめに こんにちは。アプリケーションエンジニアの id:t_kyt です。 春です。Perlを始めるにはいい季節ですね。Perl始めていますか? どの言語にもハマりどころというものがありますがPerlも例外ではありません。というわけで今回はPerlを始めた人がハマりがちなポイントを幾つか紹介したいと思います。 この記事ははてなの教科書程度の知識を前提としています。またモジュールに依存しない部分に絞りました。 github.com autovivificationを避ける autovivificationとはundefの入

    【2016年度版】このPerlハマりどころがすごい!100連発 - Hatena Developer Blog
    oppara
    oppara 2016/04/02
  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

    正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/

    oppara
    oppara 2016/04/02
    徳丸浩の日記: 正規表現によるバリデーションでは ^ と $ ではなく A と z を使おう B!
  • Mac OS X / Xcodeをバージョンアップしたらhomebrewが動かなくなる問題への対策 | DevelopersIO

    tl;dr https://github.com/Homebrew/homebrew/issues/50157 補足 Mac OSを10.11.4に更新し、同日App Storeに来ていたXcodeも更新してから、brew upgrade時に以下のようなエラーが出るようになりました。 $ brew upgrade Error: Failure while executing: /usr/bin/otool -L /usr/bin/install_name_tool brew updateでは発生しません。また、XCodeも起動しなくなりました。 GitHubでis:issue is:open install_name_toolを検索したところ、#50091を見つけ、#50091にリンクしていた#50157を発見しました。 $ xcode-select --print-path /Appli

    Mac OS X / Xcodeをバージョンアップしたらhomebrewが動かなくなる問題への対策 | DevelopersIO
    oppara
    oppara 2016/04/02
  • CXとUXを切り分ける - Noize

    UX(ユーザーエクスペリエンス)というキーワードが市民権を得て久しいが、あまりに多くの概念をUXという言葉に詰め込んでいるように感じられ、個人的な問題意識としてUXという言葉ひとつでは何も伝えられないと感じている。 この「UX」のようなメタなキーワードには「多くを語らずともほどほどにコミュニケーションに役立つ」という良い側面もあるので、「定義を綺麗にしたい」わけではなく、「大きすぎるUXという概念を分割したい」という問題提起だと思ってもらいたい。 例えばECの現場では、 アプリの動作速度 商品が届いた際のお客様の満足度 という2つのKPIがあったときに、両方共「UXを良くしよう!」という言葉で束ねられてしまう。しかしこれらを改善しようとした時に、前者はプロダクト、後者はサービス(マーケやCS)といった具合に対処するレイヤー・部署が異なるので、UXという言葉でコミュニケーションするのはなんと

    CXとUXを切り分ける - Noize
    oppara
    oppara 2016/04/02
  • Cordova/ReactNativeアプリのライブアップデートを実現するCodePushを試す

    Monacaアプリをはじめとする、いわゆるCordovaアプリはハイブリッドアプリと呼ばれる仕組みをとっています。それはネイティブコードでHTML5アプリをラッピングしているのですが、HTML5/JavaScript/スタイルシートの部分についてはコンパイルされていません。つまり、動的に差し替えることができれば、アプリストアによる審査やアプリのアップデートを必要とせず、コンテンツを差し替えることができるようになります。 そうした機能はMonacaのエンタープライズ版で提供しているのですが、今回はMicrosoft社がリリースしたCodePushを使って同様の操作を試してみたいと思います。 事前に必要なもの CodePushはNode.jsを使いますので予めインストールされていることとします。また、今回はCordovaアプリを使いますので、

    Cordova/ReactNativeアプリのライブアップデートを実現するCodePushを試す
    oppara
    oppara 2016/04/02
  • 【出版】 発信者情報開示請求の手引─インターネット上の名誉毀損・誹謗中傷等対策 - 壇弁護士の事務室

    Attorney-at-lawは、Winny制作者金子勇(博士)と私を含む弁護団の苦闘と笑いを振り返ったスピンアウトブログです。こちらもご覧ください。

    【出版】 発信者情報開示請求の手引─インターネット上の名誉毀損・誹謗中傷等対策 - 壇弁護士の事務室
    oppara
    oppara 2016/04/02