タグ

articleに関するakimasa2000のブックマーク (694)

  • VagrantとSSDなVPS(Digital Ocean)で1時間1円の使い捨て高速サーバ環境を構築する - Glide Note

    今年の初めくらいから個人的な技術検証にはSSDで動作が速く、1時間1円で料金が安いのと ロケーションをSan Franciscoにするとsshでもレスポンスが悪くないので、全部Digital Oceanを使っている。(徳丸先生が紹介する前から使っていたんだ!) Digital OceanについてはRebuild: 2: Rails, Redis, VPS (Kenn Ejima)の42分くらいから言及されてます。必聴です。 使ってる旧型のMacBookAirみたいな貧弱なマシンだとローカルでVM動かすとファン回りまくりとかで泣きたくなるので、Digital Oceanだと泣かずに済んで快適。 そんで今日Vagrant経由でDigital Ocean利用すると、コマンドラインから必要なときに新規インスタンス(Droplet)作って、 検証終わったら削除という手軽な使い捨て高速サーバ環境が利用

  • SPDYやQUIC登場の背景。Webの進化がプロトコルを変えつつある。HTML5 Conference 2013

    SPDYやQUIC登場の背景。Webの進化がプロトコルを変えつつある。HTML5 Conference 2013 Webをより速くしようと、HTTPよりも優れたプロトコルとして提案されたSPDY(スピーディ)。しかしそのSPDYによって、下位レイヤであるTCPの制限が顕著に見えるようになってしまい、そのことでTCP以外のプロトコルとしてQUICをGoogleが提案しています。 Webの進化は、インターネットのプロトコルにまで影響を与えようとしている、という非常に興味深い話が、HTML5のコミュニティ「html5j」主催のイベント「HTML Conference 2013」で行われた小松健作氏のセッション「最新Webプロトコル、傾向と対策」で行われました。 その内容をダイジェストで紹介しましょう。 最新Webプロトコル、傾向と対策 小松です。所属はNTTコミュニケーションズでHTML5の研究

    SPDYやQUIC登場の背景。Webの進化がプロトコルを変えつつある。HTML5 Conference 2013
  • パスワードが漏洩しないウェブアプリの作り方 〜 ソルトつきハッシュで満足する前に考えるべきこと

    ■■序論 徳丸さんのスライド「いまさら聞けないパスワードの取り扱い方」に見られるように、昨今、ウェブアプリケーションの設計要件として、サーバ内に侵入された場合でもユーザーのパスワードをできるだけ保護すべきという論調が見受けられるようになってきました。 上掲のスライドでは、その手法としてソルトつきハッシュ化を勧めています。しかしながらスライドに書かれているとおり、ソルトつきハッシュには、複雑なパスワードの解読は困難になるものの、単純なパスワードを設定してしまっているユーザーのパスワードについては十分な保護を提供できないという問題があります。そして、多くのユーザーは適切なパスワード運用ができない、というのが悲しい現実です。 ソルトつきハッシュを使った手法でこのような問題が残るのは、ウェブアプリケーションサーバに侵入した攻撃者がユーザーの認証情報をダウンロードして、認証情報をオフライン攻撃するこ

  • HTTP/2.0のALPN利用に伴うSSL負荷分散装置の不具合にご注意下さい - ぼちぼち日記

    1. はじめに、 ただ今IETF-88@バンクーバーの開催が真っただ中です。スノーデン事件の余波もあり、インターネット技術(特にセキュリティ関連)の議論は熱くなっています。 ちょうど今朝未明(バンクバーでは11/5朝)に HTTP/2.0の標準化を進める httpbis ワーキンググループとセキュリティエリアの合同セッションが開催されました。合同セッションでは、ヘッダ圧縮技術(HPACK)のセキュリティや、HTTP接続(HTTPSではない)で通信の暗号化を行ったらどうか、といった興味深い議論が行われました。このうち将来HTTP/2.0の展開に重要な ALPN(Application Layer Protocol Negotiation) は、このミーティングで最終的な仕様を確定させる段階での議論でした。議論の中で、ALPNの導入によってブラウザから既存の実サービスへの接続に(少なからず)影

    HTTP/2.0のALPN利用に伴うSSL負荷分散装置の不具合にご注意下さい - ぼちぼち日記
  • 【JavaScript】メモリの浪費を避けるコーディング | ヘッドウォータースのブログ TechNote

    こんにちは。良昌です。 Facebook、GithubなどのJSON形式でユーザ情報を返却するAPIや、PhoneGap、Monacaなどのスマートフォンのマルチプラットフォームを提供するライブラリ、IDEが開発ツールとして定着してきたことにより、JavaScriptを利用する機会が増えたのではないでしょうか。 今回は、JavaScriptコンテナがWebブラウザの場合に、動的に確保されるメモリ領域の浪費を避ける方法について書きたいと思います。 JavaScriptにおけるメモリの浪費を避けるコーディング JavaScriptにおけるメモリの浪費を避けるコーディングをするためには、GC(ガベージコレクション)、クロージャについての知識が必要です。まずは、この2つの機能について説明していきます。 ■GC(ガベージコレクション) GCとはプログラムが動的に確保したメモリ領域の内、不要になった領

    【JavaScript】メモリの浪費を避けるコーディング | ヘッドウォータースのブログ TechNote
  • お願いだからWebフォームではを正しく使ってユーザビリティを上げてくれ | 初代編集長ブログ―安田英久

    今日は、Webフォームが「うわ、使いづらい」となってしまわないようにする、意外と対応されていないことが多いHTMLタグ「<label>」について。 HTMLを自分で書かないWeb担当者さんでも、デザイナーさんが作ったフォームに関して最低限これだけはチェックしておくといいですよ、というお話しです。 コンバージョンの要である「Webフォーム」。アクセス解析での改善やEFO(入力フォーム最適化)をしていると思いますが、意外と忘れられていることが多い「<label>」をご存じでしょうか。 フォームの入力項目それぞれの「ラベル(項目名)」を書くためのHTMLの作法なのですが、これをちゃんと使っているかどうかで、フォームの使いやすさがガラッと変わるのです。 一番わかりやすいのは、ラジオボタンやチェックボックス。<label>をちゃんと使っていると、ボタン部分ではなく文字の部分をクリックするだけで項目を

    お願いだからWebフォームではを正しく使ってユーザビリティを上げてくれ | 初代編集長ブログ―安田英久
    akimasa2000
    akimasa2000 2013/10/15
    それと、cursor:pointerか…
  • TDD & CI for JavaScript [Karma][Mocha][Travis CI]TDD & CI for JavaScript [Karma][Mocha][Travis CI] – inet-lab

    諸事情により研究で使うシミュレータを変更せざるを得なくなってしまった森です.心が折れたので,気分転換に昨夏某所で少しだけ弄ったNode.jsを勉強がてら一年ぶりに触っています.一年も経つと様々な新しいモジュールも公開されており,やはりこの界隈は発展が目覚ましいなと感じています.なかでもテスト環境はかなり整えやすくなっているのではと個人的に思いました.そこで今回はJavaScriptでの簡単なテストやその自動化の方法について紹介したいと思います. テストツールの紹介 見て分かるように,主要なものだけでも色々な選択肢があります.ここで挙げられているJasmineやMocha, BusterJSなどがいわゆるxUnitとよばれるようなテスティングフレームワークになります.もちろん全て紹介するわけにはいかないので,今回は MochaやChaiなどを使ってテストを行いたいと思います. node.js

    TDD & CI for JavaScript [Karma][Mocha][Travis CI]TDD & CI for JavaScript [Karma][Mocha][Travis CI] – inet-lab
  • The JavaScript console API

    In most JavaScript engines, there is a global object console with methods for logging and debugging. That object is not part of the language proper, but has become a de facto standard, since being pioneered by the Firebug debugger. Since their main purpose is debugging, the console methods will most frequently be used during development and rarely in deployed code. This blog post gives an overview

  • 個人向けCDN「CloudFlare」を試してみた

    今までの自宅サーバー高速化の取り組み このブログはWordPressを自宅サーバー(自作パソコン)で構築・配信しているのですが、今まで様々な高速化への取り組みやパフォーマンスチューニングを行って来ました。代表的なものでも以下のような対策を講じてきました。 サーバーのハードウェアのスペックアップ 自作パーツで、Core-i7 3770 HT8コア、メモリ32GB、SSD512GBで構成 PHPにAPC(アクセラレーター)を導入 php.iniもメモリ関連やAPC関連の設定を最適化 ApacheをやめてNginx1.2の最新版でPHP-FPMのリバースプロキシを構成 NginxからPHP-FPMへの接続をポート通信ではなくソケット通信に切り替え Nginxのプロキシキャシュの範囲を強化 キャッシュ対象を画像、JS、CSSにも適用。HTMLをGZIP圧縮してブラウザに送信 MySQL5.6の導入

    個人向けCDN「CloudFlare」を試してみた
  • iOS7におけるMobile Safariの主な変更点

    iOS7上のSafariがどのように変化したかについて、Maximiliano Firtman氏(@firt)がブログで詳細に解説しています。 この記事では、同氏のブログから、Web制作者/開発者にとって重要と思われる情報を引用して、Web技術者にとっても大きな影響を持つこのアップデートについて紹介していきたいと思います。 元記事は非常に長大、かつ詳細なため、全てのポイントを紹介することはとてもできません。素晴らしい記事ですので、関心のある人は、ぜひ元記事を参照してください。 ちなみに、最初にガッカリさせることになってしまいますが、@firt氏によれば、「1.0以降最もバグの多いバージョンだ」(this is the buggiest Safari version since 1.0)だそうです… UIが大幅に変更、フルスクリーン(に近いサイズ)がデフォルトに Webブラウジングをしている

    iOS7におけるMobile Safariの主な変更点
  • textareaでオートコンプリート機能を実装するjQueryプラグイン・jQuery.textcomplete

    textareaでオートコンプリート機能を実装するスクリプト・jQuery.textcompleteのご紹介。デモではコメント投稿で絵文字を使う、みたいなケースが紹介されています。 textareaでオートコンプリート機能を実装する、というもの。使いどころは限られそうですが、コンテンツ次第では便利なスクリプトですね。 こういうの。上記例では絵文字を打つのにコロンで括るので、コロンを打つとオートコンプリートで候補を出してくれるようになっています。 jQueryは1.7以降を使うように、との事。 $('textarea').textcomplete(strategies);セレクタを指定して呼びだすテキストを作っていきます。 デモではコロンを正規表現で判別して事前に作ってあったテキストをオートコンプリートとして実装、アイコン付きに置換してるみたいですね。詳細はGithubに書かれています。 ラ

    textareaでオートコンプリート機能を実装するjQueryプラグイン・jQuery.textcomplete
  • Amazon EC2 Eメール送信ベストプラクティス | DevelopersIO

    ども、大瀧です。 EC2からEメールを送るという案件、たくさんありますよね。そして結構な確率でトラブるんですよね(涙目)。そんな苦い経験をベストプラクティスとしてまとめてみました。一応技術的なところは網羅したつもりですが、メールセキュリティの専門ではないので、不備や間違いがあればご指摘ください。 では、メール送信トラブルの元凶である、スパムメールとその対策からご紹介していきます。 スパムメールとの闘いダイジェスト Eメールの歴史は、スパムメールとの闘いの歴史と言えます。 不特定多数に送信されるスパムメール(未承諾の広告メール)は、メール受信者に不快な思いをさせるとともに、メールサーバーのメール流量を爆発的に増加させ、長らくメールサーバー管理者を泣かせてきました。 このスパムメールをなんとか撃退しようと、現在では主に以下のような対策が行われています。 1. 送信メールサーバー側のネットワーク

    Amazon EC2 Eメール送信ベストプラクティス | DevelopersIO
  • PerlでWebAppの開発に必要なN個のこと - Islands in the byte stream (legacy)

    あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずPerlについて知っていることを書いた。 パッケージマネージャ まずライブラリの管理。モジュールをインストールし、可能であればバージョンを固定し、適切にロードする機能が必要だ。Perlの場合は cpanm というCPANクライアントでライブラリをインストールする。バージョンの固定とライブラリパスの設定は carton で行う。 https://github.com/miyagawa/cpanminus https://github.com/miyagawa/carton アプリケーションサーバ Webサーバへのインターフェイスとしては、PSGIという仕様がある。PSGIに準拠したツールキットとしてPlack

    PerlでWebAppの開発に必要なN個のこと - Islands in the byte stream (legacy)
  • DOM操作の最適化によるJavaScriptチューニング(後編)

    連載「Webサイト・アプリ高速化テクニック徹底解説」の第5回は、前回の「DOM操作の最適化によるJavaScriptチューニング(前編)」に続く後編です。後編では、createElement()などのDOM操作メソッドを使ったさまざまなテクニックや、パフォーマンスを劣化させるよくあるパターンについて詳しく解説します。 CodeIQとの連動企画! この記事で学べるJavaScriptチューニングのテクニックを、実際にCodeIQの問題で試すことができます。もう既に自信がある方は腕試しに、もしくは理解度チェックのための復習として是非ご活用ください!こちらから問題にチャレンジ! 前回は、DOM操作が遅い原因と仕組みについて簡単に説明し、チューニングのサンプルをいくつか解説しました。その中で、innerHTMLを利用したコードをサンプルにあげていますが、innerHTMLを利用する場合、いくつかの

    DOM操作の最適化によるJavaScriptチューニング(後編)
  • ネットワーク/ストレージの処理能力をチェックするためのベンチマークツール 2ページ | さくらのナレッジ

    サーバー上でさまざまなサービスを構築する前に、そのサーバーの処理能力を把握しておくことは重要だ。特にネットワークの帯域やストレージの速度といったリソースはサービスの品質に大きく関わってくる。そこで、今回はこれらの性能を調査するためのベンチマークツールやその使い方を紹介する。 ネットワークの性能を調査するベンチマークツール まずはネットワーク関連の性能を調査するベンチマークについて紹介しよう。ネットワークの性能といっても、その指標は次のように複数ある。 スループット(速度、帯域幅) レイテンシ(遅延) パケットロス(損失パケット) まず1つめは、スループット(ネットワークの速度)だ。帯域幅などとも呼ばれるが、ネットワークの性能としてもっとも重視されるのはこれだろう。ネットワークの速度が早ければそれだけ多くの情報をやり取りできるし、またより多くの接続に対して迅速に反応できるようになる。通常スル

    ネットワーク/ストレージの処理能力をチェックするためのベンチマークツール 2ページ | さくらのナレッジ
  • innerHTML += ... な書き方について - hogehoge @teramako

    DOM操作の最適化によるJavaScriptチューニング(前編) | HTML5Experts.jp はてなブックマーク - DOM操作の最適化によるJavaScriptチューニング(前編) | HTML5Experts.jp はてなブックマークで『後でツッコミする』と書いたとおり、ちょっとツッコミたいと思う。 ツッコミ記事のつもりが、自分がツッコミされることとなり、ダメダメな記事です。それでも良ければお読み下さいw // サンプル1: パフォーマンスが悪い var ul = document.querySelector('#output'); for ( var i = 0; i < data.length; i++ ) { ul.innerHTML += ‘<li>’ + data[i] + ‘</li>’; } 上記コードはダメなコードであり、理由は、 li要素をループが回るたびに追

    innerHTML += ... な書き方について - hogehoge @teramako
  • Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ | DevelopersIO

    Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ 最近、ChefやVagrantを勉強し始めたのですが、設定がRubyで記述されているため私は「たのしいRuby」を読んで勉強することにしました。 私は元々Rubyに興味があったのでいいのですが、Ruby知らないしそのために勉強するのは大変だから手を出すのをやめとこう、と思う人がいるかもしれないのでこれだけ知っていればある程度読めるのではないか、というポイントをまとめました。 まったくプログラミングをしたことない方には説明するのは無理なのでプログラミング経験があり 条件分岐、ループ、クラス、メソッド、文字列 が何か分かるくらいの方が対象です。if文、for文など他の言語でもあるようなものは省いていきます。 真面目にRubyを勉強したい方は下のアフィリエイトから「たのしいRuby」を

    Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ | DevelopersIO
  • SQLite3でdatetimeなTEXTをなるべく高速に探す - ポクポク

    研究でSQLiteを使ってる。ファイル1つでポータブル、受け渡しも楽だしバージョン管理もできるし割りと気に入ってる。 日付のデータを大量に扱うのが遅くて困ったので速くする方法を調べた。ちゃんとインデックスが効くようにしたい。 SQLite3 には、SQL99 の DATE や DATETIME に対応する日時を表す型は存在しません。SQLite3 で日時を扱う場合、Date And Time Functions で説明されている日付処理関数を使用し、TEXT 型や NUMERIC 型の列に日付データを作成します。 http://www.tamandua-webtools.net/sqlite3-date.html TEXTを使う場合では、YYYY-MM-DD HH:MM:SSみたいな書式の文字列を日付とみなす。 NUMERIC(INTEGER or REAL)はよくあるUnixエポックから

    SQLite3でdatetimeなTEXTをなるべく高速に探す - ポクポク
  • サーバー設定ツール「Chef」の概要と基礎的な使い方 | さくらのナレッジ

    はじめに 近年注目されているサーバー管理ツール「Chef(シェフ)」は、ファイルに記述した設定内容に応じて自動的にユーザーの作成やパッケージのインストール、設定ファイルの編集などを行うツールだ。今回はこのChefについて、基的な環境構築方法と使い方を紹介する。 前回はサーバーの設定管理ツールとして「Puppet」を紹介したが、今回紹介するChefは、このPuppetと人気を二分するサーバー設定管理ツールだ。 Chefは米Opscodeが開発しているオープンソースソフトウェアで、Rubyなどのオープンソースな技術を使って実装されている。ライセンスはApache License 2.0だ。同社はChefにいくつかの機能を追加した有償版の「Private Chef」やクラウド型の「Hosted Chef」といったサービスも提供しているが、記事ではオープンソース版のChefについて紹介する。

    サーバー設定ツール「Chef」の概要と基礎的な使い方 | さくらのナレッジ
  • 格安航空券はどこで買う?"最安値比較サービス12選"【国内・海外】

    予約サイトは、複数のサイトを比較することはできませんが、利用する航空会社が決まっている場合は検索が簡単です。 また、サイト内の独自ポイントが貯まることも多いので、その点ではお得に購入できるでしょう。 比較予約サイトは、複数サイトを同時に比較でき、さらにそのサイト内で予約もできるので、かなり便利です。 もちろん、サイト内の独自ポイントを貯めることもできます。 比較サイトは、複数の比較予約サイトを比較できるサイトです。 そのため、比較予約サイトよりも情報の網羅性が高く、最安値をもっとも見つけやすいというメリットがあります。 しかし、予約はそれぞれのサイトに移動して行わなければならず、独自のポイントもない場合が多いです。 格安航空券のおすすめサービス12選 ここからは、実際におすすめの格安航空券比較サービス12選を紹介します!

    格安航空券はどこで買う?"最安値比較サービス12選"【国内・海外】