タグ

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

  • Managing JavaScript Complexity

    These are the slides for the talk "Managing and Visualizing JavaScript Complexity" given at QCon SF 2013 by Jarrod OversonRead less

    Managing JavaScript Complexity
  • Web Application の validation はどのレイヤーでかけるべきか - tokuhirom's blog

    数年前にも同じことかいた気がするけど、最近の状況にあわせてかいてみる。 途中で面倒になってきて説明が雑になっている点をご容赦ください。 言いたいことは「結局、昔はサーバサイドで懇切丁寧なエラーメッセージを出すためにModelではなくControllerでバリデーションに関する知識が必要だったけど 今はJavaScriptでやるから不要だよね111」ってことです。 この表題は、よく話題にあがるところなのだが、理想論としては Model, Controller, Client side のいずれにおいてもきっちりと validation を行うことがのぞましい。 しかし、実際にはなかなか面倒である。ということで、どこをはぶくかというと Controller における Validation であろう。 ユーザーに対する親切なメッセージは JS の側でだすのが理想的。model の validat

  • configspec で Dockerfile を生成できるようにした - Gosuke Miyashita

    configspec とか Immutable Infrastructure について、@kazuho さんから色々とありがたいツッコミをいただきまして、その中で 個人的にはSCMあるいはLVMの管理下において、record-cmd yum -y install httpd とかすると、コマンドがSCMのコメントに残りつつ、ファイルシステムに発生した差分が変更履歴として保存されるくらいでいいんじゃないかと思う — Kazuho Oku (@kazuho) November 26, 2013 といった tweet があり、それは Docker でやれるけど、configspec でやることではないなー、と思っていたところ、ふと configspec から Dockerfile を生成する、というアプローチもありな気がしてきた。 — Gosuke Miyashita (@gosukenator

  • 意外と知られていない、IE11リリースによる本当の危機 - ふろしき Blog

    Internet Explorerはエンタープライズでの利用が想定されるため、Microsoft製品で広く適用されているサポート ライフサイクル ポリシーを確認すると、最低でも10年のサポートが受けられると考えている人も多いでしょう。IE8も9も10も、みんなそうなると信じて疑わないIT管理者の方も多いのではないでしょうか。 しかし、これは「誤り」です。 記事では、最近やたらと複雑化の進んだIEのサポート期間の真実について解説します。 サポートライフサイクルポリシーとは? そもそもですが、Microsoftの「サポートライフサイクルポリシー」とは何でしょうか。公開しているドキュメントを参照すると、以下の通りです。 マイクロソフトはビジネス、開発用製品に対して最短でも 10 年間のサポートを提供します。ビジネス、開発用製品に対するメインストリーム サポートは、製品発売後 5 年間または次期

    意外と知られていない、IE11リリースによる本当の危機 - ふろしき Blog
    ikosin
    ikosin 2013/11/29
  • 自然にモテたい

    タイプの異なるいろんな女子から好意を持たれたい。付き合って!!って言うとは違うんだよ。 この娘なら付き合える(恋愛に持っていける)ってのは、年えばある程度わかってしまうから。 違うんだ。見も知らぬ可愛い女子から「あのー◯◯さんですよね?私も二郎好きなんです!今度連れてってくださいー」とか言われたいんだよ! 「えっ、いいけど。」とか答えると後ろのほうから「きゃー喋っちゃった!!」みたいな声が聞こえてくるのが理想なんだよ! っていうか誰なんだ・・・って思いながら昼飯に向かいたいんだ! そうしてお昼終わったら、後輩の女子から、「美和から聞きましたよ!二郎いくんですかー!ずるい!あたしも行く!」って言われたいよね。 あーじゃあみんなで行こうよ。って言ってたら当日は結局5人位の女子が来てみんなで二郎目黒店に言って、店主の若林さんの「てめーなに女つれてきてんだよ」的な鋭い眼光に冷や汗垂らしながら

    自然にモテたい
  • MySQLのoffsetの罠:その1:少しだけ対策 - 文系プログラマによるTIPSブログ

    続・罠シリーズです。 今回はoffsetについての紹介です。 selectした結果の1000件目から(offset)100件取得(limit)という感じで、1000〜1100件を取得する、一見すると非常に効率が良さそうに見えますね。 しかしここに罠が潜んでいるのです・・・! 普通にoffset limitで検索してみる 実行計画 レコード数を増やしてoffset limitする 解消法 between版の実行計画 アプリケーション側でbetweenするようコードを修正 s2jdbcの例 雑感 普通にoffset limitで検索してみる 試しに10件のレコードから、以下のように2件レコードを取得してみます。ありきたりな奴です。 mysql> select * from t_test2 limit 2 offset 5; +------+------+ | id | name | +----

    MySQLのoffsetの罠:その1:少しだけ対策 - 文系プログラマによるTIPSブログ
  • ISUCON3 予選のAMIでスコア74000点以上を出す方法 #isucon - heboi blog

    https://github.com/nihen/isucon3_yosen_yamagatagumi 上記のisucon3.psgi/nginx.confでworkload=3で Result:   SUCCESS RawScore: 74385.9 Fails:    0 Score:    74385.9 がでています。 予選実施時とくらべたポイントは workload指定(ちなみに予選通過amiもworkload指定すると5万超えしてました) isucon_sessionクッキーを持っていない場合のみproxy_cache アプリケーションは余計なキャッシュの妨げとなるクッキーを吐かない これぐらいです。

    ISUCON3 予選のAMIでスコア74000点以上を出す方法 #isucon - heboi blog
  • いまさらだけど梅田望夫の『ウェブ進化論』って正しかったよね - 太陽がまぶしかったから

    ウェブ進化論を読む 節約生活をしながら、趣味プログラミングを再開したり、毎日ブログを書くのが当たり前になったりしてくると、過去に読んだ梅田望夫の『ウェブ進化論――当の大変化はこれから始まる (ちくま新書)』が思い出されてきた。 そもそもウェブ上のコンテンツが無料になるための諸要素が揃う「チープ革命」が節約のための必須要素となっている。その上で「ネット世界の三大法則」が、まさに自分がやろうとしていることなのではないかと思えたきた。 神の視点からの世界理解 ネット上に作った人間の分身が金を稼いでくれる新しい経済圏 (≒無限大)×(≒ゼロ)=Something 著者は「インターネット」「チープ革命」「オープンソース」がある閾値を超えた時に上記の法則が成立すると説いてきたのだ。 神の視点 ここでいう「神の視点」とはログに対する統計データの事だ。流行りの言葉で言えばビッグデータである。Google

    いまさらだけど梅田望夫の『ウェブ進化論』って正しかったよね - 太陽がまぶしかったから
    ikosin
    ikosin 2013/11/29
  • Fluentd, mongoDB, Kibanaを利用したはてなブログABテストの事例

    Hatena Engineer Seminar #2」で発表した資料です

    Fluentd, mongoDB, Kibanaを利用したはてなブログABテストの事例
  • Scalaで型クラス入門 - still deeper

    型クラスについてつらつら考えていたことをまとめておきます。マサカリ歓迎。 型クラスって? 型クラスとは一言でいうと。 アドホック多相 を実現するもの です。モから始まる名状し難いあれとは直接は関係ありません。 ではアドホック多相とは何かというと 異なる型の間で共通したインターフェースでの異なる振る舞いを 定義済みの型に対して拡張する ような多相のことです。 異なる型間での共通したインターフェースでの異なる振る舞い Javaの継承やインターフェース、Scalaのtraitを用いることで、異なる型間での共通したインターフェースを管理することができます。 trait SomeTrait { def someMethod(): String } class Foo extends SomeTrait { def someMethod(): String = "foo" } class Bar ex

    ikosin
    ikosin 2013/11/29
  • AWS OpsWorksでEC-CUBEをインストールしてみる。 | DevelopersIO

    AWS BeanstalkでEC-CUBEという記事を書きかけてました。 こんにちは。 頭にAWSが付くサービスは、頭にAmazonが付くサービスのオーケストレーション系のサービスだと思ってるあけりです。 2013年2月19日 AWS OpsWorksというサービスがリリースされました。 このサービスはなんか良い感じにサービスの運用を手助けしてくれる、サービスのようです。 実は今AWS BeanstalkでEC-CUBEという記事を書きかけていたのですが、HostManagerの辺りをどうわかりやすく(ブログを読んだ人が実践できるように)説明しようかと悩んでいた所だったのですが、それは無かったことにします。 まさにこの悩みを解決してくれそうなサービスAWS OpsWorksが登場したからです。 AWS OpsWorksでEC−CUBE 改めまして、AWS OpsWorksでEC-CUBEを

    AWS OpsWorksでEC-CUBEをインストールしてみる。 | DevelopersIO
    ikosin
    ikosin 2013/11/29
  • XSSとSQLインジェクションの両方が可能なRFC5322適合のメールアドレス

    メールアドレスの「ルール」に関する話題が盛り上がっていますね。 「メールアドレスのルール」系まとめがそろって間違ってるのでご注意を 「メールアドレスのルール」なんて使ってはいけない3つの理由 これらのエントリに異論があるわけでありません。メールアドレスに関するルールというとRFC5322などがあるものの、現実の運用では簡易的な仕様を用いている場合が大半である…という事情は、私も以前ブログに書きました。、 稿では、「空前のメールアドレスのルールブーム(?)」に便乗する形で、RFC5322に準拠したメールアドレスで、XSSやSQLインジェクションの攻撃ができることを紹介します。と言っても、SQLインジェクションについては、過去に書きましたので、稿では、RFC5322バリッドなメールアドレスでSQLインジェクションとXSSの両方ができるメールアドレスを紹介します。 まず、攻撃対象として、以下

    XSSとSQLインジェクションの両方が可能なRFC5322適合のメールアドレス
    ikosin
    ikosin 2013/11/29
  • http://paperboy-all.github.io/docs/nagios/learning.html

    http://paperboy-all.github.io/docs/nagios/learning.html
  • ワンランク上のHTMLコーディングを行うための18のポイント | ベイジの社長ブログ

    HTMLコーディングの初級というと、どの程度のスキルを差すのでしょうか。弊社では、以下のようなことがひとまずできていると、だいたい初級レベルを越え始めた段階かな、という気がしています。 ターゲットブラウザで大きな崩れがない。 リンク漏れや原稿違いなどのヒューマンエラーの頻度が極めて低い。 バリデーター・チェックでエラーが出ない。 逆に、これだけのことができて、なぜまだ初級レベルなのでしょうか。それは、現場では、これだけでは不十分だからです。ブラウザでひとまず正常に表示されるだけでなく、改修に素早く対応できる柔軟性、協業や運用後の更新を楽にするルールの一貫性や簡潔さ、HTMLの概念をきちんと踏まえた正しい構造設計なども、求められてくるからです。 そこでここでは、脱・初級者を目指す方のために、弊社内で行っているHTMLコーディングの、いわゆるエラーということ以外のチェックポイントを、まとめてみ

    ワンランク上のHTMLコーディングを行うための18のポイント | ベイジの社長ブログ
    ikosin
    ikosin 2013/11/29
  • 集客できる”検索エンジンに強い”サイトを作る方法と手順

    アフィリエイト入門者のしゅうまいです。バリューコマースのセミナーで検索エンジンから集客して成果を出すサイトの作り方を学んできましたのでレポします。 普段ブログでのアフィリエイトしかやってこなかったので、サイトを作成してのアフィリエイトってどうやって作っていったらいいのかな?と思っていたら、そんな私にぴったりのセミナーがあったので受講してきました。 今回は「LOHACO」を題材にした検索エンジンからの集客を目指すサイトの作り方です。 講師は株式会社もしも佐藤俊幸さん。 写真から分かるようにサービス精神旺盛な方です! このセミナーのゴール ・アフィリエイトサイトの質的な価値を理解する ・長く報酬を生み出すサイトの作り方を理解する ・効率的なサイトの作り方を理解して、家に帰ってから実践できるようにする どっちのサイトを作りたい? A:1ページだけでコンテンツが少ないサイト 手間を掛けずに楽に作

    集客できる”検索エンジンに強い”サイトを作る方法と手順
  • WordPressのアイキャッチ画像に使えるフリーイラスト素材5選

    今回は、WEBマーケティングにはあんまり関係ないようなネタです。 最近、私は特にアイキャッチ画像には凝るようにしてます。 その理由は「目立つ」から。 Facebookとかはてなブックマークとかで取り上げられる場合もあるので、アイキャッチが目立つとクリックされやすいんじゃないかと勝手に思ってます。 これについては、特に検証したわけじゃないので、自己満足に近いところもあるのですが。ということで、今回は私が実際にアイキャッチで使っているフリーイラスト素材をご紹介します。 Wordpressの場合は、アイキャッチ画像を簡単に設置できますので、もしアイキャッチをもう少し凝りたいとかカッコつけたいとかいう人にはおすすめです。 シルエットデザイン こちらのサイトでは、いろんなデザイナーさんが作ったイラスト素材を無料で提供してくれています。 人物のシルエットイラストやWEBのアイコンで良く使うような記号の

    WordPressのアイキャッチ画像に使えるフリーイラスト素材5選
  • AWS OpsWorksって何? から、運用しやすくなる下準備のポイントまで

    AWS OpsWorksって何? から、運用しやすくなる下準備のポイントまで:AWS OpsWorksアプリケーション運用の勘所(1)(1/5 ページ) はじめに 2013年2月にリリースされたAWS OpsWorks。筆者が試しにいじっているうちに、どう使うと便利なのか、気を付けないと逆に運用が大変になるポイントなどが見えて来ました。 連載では、何回かに分けてAWS OpsWorksの便利な点、不便な点をおさらいしながら使い勝手を紹介して行きたいと思います。題材として、「EC-CUBE」というAWS OpsWorksに最適化されていないオープンソースのパッケージを使ってみました。 AWS OpsWorksは、Amazon Web Servicesが提供するChefをベースにしたサービスです。Chefのレシピを使ってシステムの構成などを一元的に設定できます。また、アプリケーションのデプロ

    AWS OpsWorksって何? から、運用しやすくなる下準備のポイントまで
    ikosin
    ikosin 2013/11/29
  • トップページ - Supership

    「ミライリアルの幸せを、デジタルの力で創る」ことを目指すSupershipグループの社内報です。日々の出来事、メンバーの働く様子や声、未来への想いなど、Supershipグループの”Be Super”なストーリーをみんなでシェアしていきます。

    トップページ - Supership
    ikosin
    ikosin 2013/11/29
  • 新しくなった「LINE NEWS」の専門編集スタッフを紹介します | LINE公式ブログ

    今回からLINE NEWSの各カテゴリにはそれぞれ専門の編集スタッフがつき、皆さんが今知りたい、知っておくべき情報を、その編集スタッフの目線で収集・選別してお届けしていきます。 ある分野に詳しくて最新情報が好きな友だちが、「ちょっとこれ知っておいた方がいいよ」と話題を常に共有してくれるような、そんなサービスにしていきたいと考えています。

    新しくなった「LINE NEWS」の専門編集スタッフを紹介します | LINE公式ブログ
    ikosin
    ikosin 2013/11/29
  • @nippondanji 氏の「データベース設計徹底指南!!」は神プレゼン!脅威の主義主張の一貫性保証は DB エンジニアの鏡だった件! - #garagekidztweetz

    ツイート今日は、第 1 回のSQL アンチパターンの回から良コンテンツを提供しまくりなエンバカデロ・テクノロジーズさん主催の第 3 回 DB エンジニアのための勉強会に参加してきました。 今回は 漢(オトコ)のコンピュータ道で有名な漢の中の漢、 @nippondanji 氏がデータベース設計を徹底指南してくれるということで、元々 DB エンジニアがバックグランドのわたしとしてはいかないわけにはいかんだろう、と喜び勇んでいってきました! 内容はというと下記の概要をカバーする内容でした。 リレーショナルデータベース(以下RDB)は登場してからかなりの時間が経っています。その名が示すように、RDBはリレーショナルモデルをベースに考案されたソフトウェアです。しかしながら、未だに現場ではRDBが使いこなされているとは言いがたく、リレーショナルモデルへの理解も進まず、誤った常識が跋扈しているのが現状で

    @nippondanji 氏の「データベース設計徹底指南!!」は神プレゼン!脅威の主義主張の一貫性保証は DB エンジニアの鏡だった件! - #garagekidztweetz
  • DBエンジニアのための技術勉強会で発表したスライドを公開しました。

    DBエンジニアのための技術勉強会というイベントで、リレーショナルモデルにおけるDB設計について話す機会を頂いた。リレーショナルモデルは非常に重要であるにも関わらず、現場ではないがしろにされてしまっている。その結果、アプリケーションのロジックを上手くクエリで表現できず、開発現場では非効率な開発が行われ、多くの人がデスマ的な状況に追い込まれている。そういう危機意識について、これまで何度かブログでも書いてきたし、WEB+DB Pressで連載している動機もその点にある。リレーショナルデータベースはやはりリレーショナルデータベースとして使うべきだ。そのための鍵となるのが、DB設計である。 今回はなんと約2時間の持ち時間を頂いた。リレーショナルモデルについてはこれまで何度か話す機会を頂いたが、2時間というのは最長記録である。それに合わせてスライドもボリュームたっぷりのものになった。過去のスライドと

    DBエンジニアのための技術勉強会で発表したスライドを公開しました。
  • データベース設計徹底指南

    DBエンジニアのための技術勉強会(第3回)で使用した資料です。主にリレーショナルモデルと正規化について解説しています。リレーショナルモデルの限界について正しく認識してこそ、リレーショナルモデルを理解したと言えると思います。

    データベース設計徹底指南
  • プログラミング素人の31歳が、カヤックに入社するまでの記録・ダイジェスト版 - Over&Out その後

    日、CAREER HACKさんに、『失敗続きの窓際エンジニアが掴んだ最後のチャンス|iOSアプリ開発者 堤修一に訊く | CAREER HACK』というインタビュー記事を掲載していただきました。 この記事は2立てとなっていて、実際にどうやってスキルを伸ばしていったのか、という後編につながるのですが、31歳のおっさんが、最初はディレクターとして応募したり、スクールに通ってプログラミングを勉強したりと四苦八苦しながらもどうにかこうにかカヤックに入社させてもらうまでの話ってこのインタビュー中にはしなかったなと。 で、ブログの前身である、 Over&Out というブログは、まさにその、「カヤックの中途採用に応募してみよう、と思ってから、カヤックに合格するまで」を綴ったブログになります。 CAREER HACKさんに過去の経緯についてインタビューいただいたことだし、せっかくなのでこの超マイナー

    プログラミング素人の31歳が、カヤックに入社するまでの記録・ダイジェスト版 - Over&Out その後
    ikosin
    ikosin 2013/11/29