タグ

2013年12月16日のブックマーク (5件)

  • コメントの9割は無駄!~アンチプラクティスから学ぶ洗練されたコメントの書き方~ #code #コード|CodeIQ MAGAZINE

    コメントは基礎的で一般的なものでありながら、「どのようなことをコメントに残すか」は経験のあるプログラマにとっても難しいもの。 この記事では、アンチパターンコメントを見ながら、どのようなコメントを残すべきかについて説明します。 by 馬場美由紀 (CodeIQ中の人) コードは機械のために、コメントは人間のために? プログラミング言語を学ぶとき、コメントは最初に習う項目のひとつです。そして、プログラムであればコメントを含んでいることが普通です。ある研究によれば、ソースコードの平均19%がコメントだそうです。 コードを書くとき、私たちは機械とコミュニケーションを取ることを意識しています。機械はコードを認識してコンパイルしたり実行してくれます。解釈できなければ教えてくれます。プログラマは、コンパイラのためにデータ型を明示するコードを書いたりもします。 一方、コメントは人間とコミュニケーションする

    コメントの9割は無駄!~アンチプラクティスから学ぶ洗練されたコメントの書き方~ #code #コード|CodeIQ MAGAZINE
  • MySQL の SQL エスケープ - tmtms のメモ

    この記事は MySQL Casual Advent Calendar 2013 の15日目の記事です。 今、空前の SQL エスケープブームみたいなので、このビッグウェーブに乗っかってみます。 でも面倒なのでセキュリティについての話はしません。カジュアル! 文字列リテラルとエスケープ MySQL では SQL 中の文字列リテラルは次のように表現します。 'abc' -- シングルクォートで括る "abc" -- ダブルクォートで括る 0x616263 -- 16進数 x'616263' -- 16進数 0b011000010110001001100011 -- 2進数 b'011000010110001001100011' -- 2進数 各表記で charset を指定することができます _utf8 'abc' _utf8 "abc" _utf8 0x616263 _utf8 x'6162

    MySQL の SQL エスケープ - tmtms のメモ
  • GoでCocoa APIを使う、もしくは他のイベントループをGoに混ぜる方法 - unknownplace.org

    Gocgo という機能を使うと、GoからCの世界のコードを呼んだり、呼ばれたりすることができる。 Perlで言うところのXSというやつだ。 このcgoを使ったGoプログラムは、昔はMakefileを利用してビルドしていたそうだが、 1.0からは go get や go build と言った、go toolがcgoに対応したのでそういうことも必要なくなっている。 cgoの基的な使い方 まずは import "C" として、Cという疑似パッケージをimportする。 このパッケージを使うと、 C.fprintf(...) というような感じでCの世界にアクセスできるようになる。 また、このimport文の直前のコメントはCのコードとして解釈される。 なので、 package main /* #include <stdio.h> void hello() { fprintf(stderr,

  • Contiguous stacks

    Contiguous stacks Allocate each Go routine a contiguous piece of memory for its stack, grown by reallocation/copy when it fills up. Why? Current split stack mechanism has a “hot split” problem - if the stack is almost full, a call will force a new stack chunk to be allocated.  When that call returns, the new stack chunk is freed.  If the same call happens repeatedly in a tight loop, the overhead o

  • スレッドセーフという幻想と現実 - yohhoyの日記(別館)

    この記事はC++ Advent Calendar 2013の15日目にエントリしています。 内容はC++標準ライブラリとスレッドセーフに関する解説になります。 flickr / rennasverden もくじ What's スレッドセーフ? スレッドセーフという幻想 基型とデータ競合 C++標準ライブラリとデータ競合 C++標準ライブラリ:シーケンスコンテナ編 C++標準ライブラリ:連想コンテナ編 スレッドセーフ RELOADED 基的なスレッドセーフ保証 std::shared_ptr<T> std::rand() std::cout (文のみ約9000字) はじめに マルチスレッド対応の点では他言語に遅れを取っていたプログラミング言語C++ですが、C++11ではようやく標準ライブラリにスレッドサポートが追加されました。C++11スレッドサポートではスレッドクラスstd::thr

    スレッドセーフという幻想と現実 - yohhoyの日記(別館)