タグ

2014年12月2日のブックマーク (18件)

  • ソースに一行追加するだけですべての HTTP 通信をロギングするモジュールを書いた #golang - 詩と創作・思索のひろば

    こちらです。Perl でいうと Devel::KYTProf に性質がちかい。 motemen/go-loghttp · GitHub (GoDoc) 使用例 たとえばこういうコードに… package main import ( "io" "log" "net/http" "os" ) func main() { resp, err := http.Get(os.Args[1]) if err != nil { log.Fatal(err) } io.Copy(os.Stdout, resp.Body) } % go run main.go http://example.com/ <!doctype html> ... 一行追加すると: package main import ( "io" "log" "net/http" "os" _ "github.com/motemen/go-lo

    ソースに一行追加するだけですべての HTTP 通信をロギングするモジュールを書いた #golang - 詩と創作・思索のひろば
  • 例外入門以前 - Qiita

    例外 Advent Calendar 2014の継続について 参加者が集まらなかったという経緯から独りAdvent Calendarとして始めた「例外 Advent Calendar 2014」ですが、諸事情により継続が困難となったため私Kokudoriの6日以降の投稿はありません。変に注目だけを集める形になってしまい申し訳ありません。 以下、諸事情というか、言い訳。 『契約による設計から見た例外』という記事にて述べた「契約」に対する私の理解が根的に間違っていました。 そこから芋づる式に例外に関する私自身の考えが間違っていた、あるいは理解が浅かったことに気づきました。このような理解力では例外について私見を述べることさえ不可能となり、結果頓挫という形になりました。 考えうる限り最低で残念な結果になってしまいました。当に申し訳ございませんでした。 初めに原則を考え出して、それから例外を見つ

    例外入門以前 - Qiita
  • 例外のカレンダー | Advent Calendar 2014 - Qiita

    例外やエラー、それにまつわる各種言語の取り組み等を共有しましょう。 11月末までに書き手が集まらなかった場合は主催者による独りAdvent Calendarと化します。 集まらなかったので残念ながら独りAdvent Calendarと化しました。 追記 独りAdvent Calendarですが、以下の理由で頓挫しました。6日目以降はお好きにご活用ください。 http://qiita.com/Kokudori/items/3a953c00012408f76ab9#%E4%BE%8B%E5%A4%96-advent-calendar-2014%E3%81%AE%E7%B6%99%E7%B6%9A%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

    例外のカレンダー | Advent Calendar 2014 - Qiita
  • Pelletkachels.nl

    Pelletkachels waren ooit eenvoudige apparaten voor verwarming, maar ze hebben een opmerkelijke evolutie doorgemaakt sinds hun bescheiden begin in de jaren ’80 van de vorige eeuw. In dit artikel duiken we diep in de geschiedenis van pelletkachel, bespreken we de belangrijkste mijlpalen en ontwikkelingen op het gebied van subsidiemogelijkheden en werpen we een blik op de transformatie tot moderne en

    Pelletkachels.nl
  • innodb_large_prefixを使ってERROR 1071を回避する | Yakst

    大きなサイズのインデックスを生成しようとするとERROR 1071が発生することがあり、そんな時にはinnodb_large_prefixパラメータを利用すると良いことがある。 MySQLのInnoDBストレージエンジンのテーブルの長いvarcharカラムを含むカラムにインデックスを生成しようとしたことがあれば、このエラーを見たことがあるだろう。 ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes 文字数制限は、使っている文字コードに依存する。例えば latin1 であればインデックスを生成できる最大カラムは varchar(767)であるが、 utf8 の場合は varchar(255) までである。 インデックスあたり、3072バイトという別の制限もある。767バイトはカラムごとの制限な

    innodb_large_prefixを使ってERROR 1071を回避する | Yakst
  • HTML の q タグが日本語のサイトではカギ括弧を出すようになってた

    HTML に q という要素がありますね。 Quotation の Q ですか。 <q> について 文書内で引用をしたいとき、 ブロック要素を含むような場合には <blockquote> ですが 一言とか一行とかそれくらいのときには <q> を使うのがいいみたいです。 q 自体がデフォルトでインライン要素だしね。 こんなぐあい。 <q>ここは引用ですよー。</q> 多くのブラウザでは、この <q> で括った部分が ダブルクォーテーションで挟まれて表示されます。 上記の例だとこう。 “ここは引用ですよー。” カギ括弧になってた 「表示されます」って書いたんだけど、 当は「と思ってました」でした。 こないだふと気づいたら、 日語のページではこれがこうなってました。 「ここは引用ですよー。」 クォーテーションマークじゃなくてカギ括弧になってる。 知らんかった。いつの間に。 <q> を初めて使

    HTML の q タグが日本語のサイトではカギ括弧を出すようになってた
  • マイクロソフトは、C++でいかにしてMicrosoft Officeのクロスプラットフォームを実現したのか

    マイクロソフトは、C++でいかにしてMicrosoft Officeのクロスプラットフォームを実現したのか マイクロソフトはOfficeソフトウェアのマルチプラットフォーム展開を進め、Windows版、Macintosh版だけでなくWebから使えるOffice Onlineに加え、iPad版、Android版も公開を始めました。 Officeのような大規模なアプリケーションのマルチプラットフォームへの移植は、どのようにして行われているのか。9月に米国で開催されたC++言語のイベント「CppCon 2014」で行われた同社の講演「How Microsoft Uses C++ to Deliver Office (and More) Across iOS, Android, Windows, and Mac, Part I 」がYouTubeで公開されています。 Officeのコア部分はC++

    マイクロソフトは、C++でいかにしてMicrosoft Officeのクロスプラットフォームを実現したのか
  • エンジニアリングのマネージメント | GREE Engineers' Blog

    こんにちは、岡崎です。最近はグリーのインフラチームにおける開発のマネージメントを担当しています。 このエントリーは「GREE Advent Calendar 2014」2日目の記事です。昨日は岸田さんによる「イノベーションが失われた組織から脱却する10のルール」でした。 さて、気がつけばここに書くのも昨年のAdvent Calendar 2013「開発ワークフローを、いつどう変えるか」以来です。去年は開発プロセスについてやってきた事の振り返り記事でしたが、今年も同じようにこれまでのプロジェクトを振り返りながら今回はエンジニアリングのマネージメントについて考えてみます。 エンジニアリングマネージャーとはどのような責任を持っているか エンジニアリングマネージャーとはどのような責任を持った役割でしょうか。題に入る前にまずは「責任」という言葉の定義について確認しておきます。 「責任」と一言で言う

    エンジニアリングのマネージメント | GREE Engineers' Blog
  • 今年1年間でAnsible界隈ではどのような変化が起こったのか。 - Qiita

    タイトルの通り、去年のAdventCalendar1日目(2013/12/1)から今日までの開発状況や採用実績・イベント・参考書について調べてみました。 技術的なTipsは一切ありません。。 Ansibleについて そもそもAnsibleって何? AnsibleはPython製の構成管理ソフトウェアです。 サーバのミドルウェアやアプリケーションのインストール/設定を自動かつ高速に実現できます。 v1.8でWindowsにも対応しました。 ThoughtWorks社が公表するTechnologyRader2014/07版では、「導入を推奨」となりました。 ThoughtWorks社内でも実際に採用された実績があり、推奨となりました。 http://www.thoughtworks.com/radar/tools http://www.thoughtworks.com/radar/tools/

    今年1年間でAnsible界隈ではどのような変化が起こったのか。 - Qiita
  • IO負荷の高いプロセスを特定する方法 - weblog of key_amb

    カーネルの I/O Accounting 機能を利用する Linuxでカーネルのバージョンが 2.6.20 以降であれば、IO Accounting機能を使うとよい。 これが有効になっていれば、プロセス毎のI/O統計情報が /proc/${pid}/io に出力される。 …が、全プロセスについて、これを自前で分析するのは疲れるので、pidstat や dstat のようなツールを使うのが楽。 参考 IO Accounting 機能で I/O 負荷の高いプロセスを特定 :: drk7jp dstatの万能感がハンパない - (ひ)メモ iodump 2.6.19 以前のカーネルではどうすればいいか。 例えば、iodump というツールがある。 これは以前 Maatkit に含まれていた Perl スクリプトである。 使い方としては、以下の通り。 # download iodump wget

    IO負荷の高いプロセスを特定する方法 - weblog of key_amb
  • HTTP2 のフロー制御 - Qiita

    この記事は HTTP2 Advent Calendar の 1 日目の記事です。 初回は、執筆時点での最新ドラフトである HTTP2-draft16 のフロー制御(Flow Control) について解説します。 余談ですが, 現在の仕様では "HTTP2.0" ではなく "HTTP/2" もしくは "HTTP2" が正しい名称です. 更新 @kazu_yamamoto さんに指摘頂いた点を反映しました。 @kiri__n さんに指摘頂いた点を反映しました。 詳細については 更新履歴 をご覧下さい。 HTTP2 では、同じホストへの複数のリクエストを、同一の TCP コネクション上にストリームという単位で多重化することができるようになりました。 フロー制御とは、例えばひとつのストリームがリソースを占有してしまうことで、他のストリームがブロックしてしまうことを防ぐ、といった目的で行われます。

    HTTP2 のフロー制御 - Qiita
  • Postfix の main.cf のフォーマットについて - tmtms のメモ

    これは Postfix Advent Calendar 2014 の2日目の記事です。 Postfix が登場する以前、MTA と言えば Sendmail でした。Sendmail の設定ファイル sendmail.cf は人間が読むことも書くことも難しくて、設定ファイルを簡単に書くためのツールがいくつかあるくらいでした。それに比べたら Postfix の設定ファイルはかなり簡単です。 Postfix の重要な設定ファイルは主に2つあります。master.cf と main.cf です。 今回は main.cf のフォーマットについて詳しく書いてみます。 基形式 基は次の形式です。簡単です。 パラメータ名 = 値 「=」の前後の空白はあってもなくても構いません。また行末の空白文字は無視されます。 コメント 「#」で始まる行はコメントです。 # コメント 「#」は必ず行頭になければなりま

    Postfix の main.cf のフォーマットについて - tmtms のメモ
  • YACP: よりオブジェクト指向なCSS設計のためのプリプロセッサー - morishitter blog

    この投稿はCSS Architecture Advent Calendar 2014の2日目の記事です。 よりオブジェクト指向なCSSの記述を助ける、YACPというCSSプリプロセッサーを作っています。具体的な、セレクタの命名規則やディレクトリ構成の話ではないです。 Object Oriented CSS 数あるCSSの設計手法のベースとなる、OOCSS (Object Oriented CSS、オブジェクト指向CSS)というものがある。OOCSSはその名の通り、CSSのクラス設計(ルールセットの定義)にオブジェクト指向プログラミングの考え方を少し取り入れたようなものだ。 OOCSSの原則として、「構造と見た目の分離」、「コンテナとコンテンツの分離」というものがある。OOCSSが提唱していることは要するに、HTMLの構造に依存しないセレクタを書き、レイアウトと見た目に関するルールセットは別

    YACP: よりオブジェクト指向なCSS設計のためのプリプロセッサー - morishitter blog
  • これを読むとRSpecの裏側がどうやって動いているのか分かるかもしれないぜ - Qiita

    これはTokyuRuby会議08にて発表した資料を元にQiita向けに再編集したものです。 元々Advent Calendarと共用にしようと思って、どう考えても5分で話せない資料でLTしたのでした。 最初に RubyのテスティングフレームワークとしてはトップクラスにメジャーなRSpecですが、内側の実装が黒魔術感に溢れていて非常に読み辛い。 そしてカスタマイズするにも学習コストが高いという話を聞きます。 最近「RSpec止めますか、人間(Rubyist)止めますか」みたいな風潮が出ていてバリバリのRSpec派の私としては見過ごせない感じになってきたので、いっちょRSpecがどんな感じで動いてるのかを大まかに解説していくことで、世の中に対して再びRSpecを啓蒙していこうと思うわけです。 この話はrspec-core-3.1.7辺りをベースにしています。 起動 rspecのコマンドエンドポ

    これを読むとRSpecの裏側がどうやって動いているのか分かるかもしれないぜ - Qiita
  • 定期的に買う必要があるものをアラートする仕組みを作った #家庭を支える技術 - kei-s@ブログ苦手

    このエントリは、家庭を支える技術 Advent Calendar 2014 の一日目です。 「家庭を支える技術 Advent Calendar」とは エンジニア友人たちとおしゃべりしているうちに、各ご家庭の生活を豊かにするためにしている技術的な工夫や、これからやりたいアイデアが話題に上がることが多くありました。そんななか、誰が言い出したか『家庭を支える技術』というキーワード*1が出てきていました(もちろん元ネタは WEB+DB PRESS plusシリーズ の「〜を支える技術」です)。 仲間うちだけでも面白い話が出てくるので、いろんな家庭の話を聞いてみたいとおもい、せっかく12月なので「家庭を支える技術 Advent Calendar」として世に問うてみた次第です*2。 ありがたいことに公開から数日で全日程が埋まり、「家庭を支える技術」への関心の高まりを感じています。 定期的に買う必要が

    定期的に買う必要があるものをアラートする仕組みを作った #家庭を支える技術 - kei-s@ブログ苦手
  • LAMPに代わる構成として注目のMEANスタックの基礎知識とインストール、ひな型作成

    LAMPに代わる構成として注目のMEANスタックの基礎知識とインストール、ひな型作成:MEANスタックで始めるWebアプリ開発入門(1)(1/3 ページ) MEANスタックを用いたWebアプリの開発方法について紹介していく連載。初回はMEANスタックの特徴と構成要素MongoDB、Express、AngularJS、Node.jsの概要、インストールの仕方とひな型の作成方法を解説。 連載目次 今でもよく使用されていますが、以前からWebアプリ開発ではLAMP環境がよく使用されていました。LAMPとは、一般的なWebアプリを開発するのに人気の高いオープンソースソフトウェアを組み合わせたもので、以下を用いたシステムのことです。それぞれの頭文字を取って「LAMP」と呼ばれています(参考)。 OS:Linux Webサーバー:Apache HTTP Server データベース:MySQL プログラ

    LAMPに代わる構成として注目のMEANスタックの基礎知識とインストール、ひな型作成
  • アプリケーションの開発環境を Ansible でつくる - Hatena Developer Blog

    こんにちは。アプリケーションエンジニアの id:aereal です。 この記事ははてなエンジニアアドベントカレンダー2014の1日目です。 今日はアプリケーションの開発環境を作成する手順を Ansible でコードとして表現し自動化する取り組みとその背景について簡単に紹介します。 前提 この記事で扱うアプリケーションは PerlJavaScript で書かれた中規模の Web アプリケーションです。 アプリケーションを開発するチームのエンジニアとデザイナすべてが Mac OS X を使っています。手元で開発する際には VM などを動かさずに OS X でアプリケーションを起動させます。 また、開発やデプロイなどにおいて SOCKS プロキシを通してアクセスする必要のあるサーバが存在します。 開発環境の構築手順を始めとしたドキュメントは Redmine の Wiki にまとめられていま

    アプリケーションの開発環境を Ansible でつくる - Hatena Developer Blog
  • Goのデバッグに便利なpretty printライブラリ「pp」を作った - Qiita

    概要 k0kubun/ppという、pretty printライブラリを作った。 任意の型のオブジェクトをpp.Print()に渡すと色つきでpretty printしてくれるという非常にシンプルなもの。 作った背景 fmt.Printf("%#v", ...)等ではわかりづらい複雑なmapやstructをdebug printするときは、pretty printを使うと便利。既存のpretty printライブラリには、GitHubで人気なものだとdavecgh/go-spewやkr/prettyなどがある。 いままではGoでデバッグのために複雑な構造をダンプするときこれらを使っていたのだが、必要以上に型の情報が書かれていたり、大きなものだと白黒なのでパッと見てわかりづらいなどの問題があった。 そこで、型やフィールドごとに別の色をつけることで視認性を高め、ビルトインの型情報は色にまかせて省

    Goのデバッグに便利なpretty printライブラリ「pp」を作った - Qiita