【メモ】技術系Advent Calender 2012の個人的お気に入り記事

2012年度に行われた技術系Advent Calenderで、個人的に興味深い・役に立つ記事をまとめました。99%個人用です。1%の気の合う他人のために公開します。説明文は適当なので気にしないでください(とにかく有用な情報へリンクして残しておくことが第一ミッション)。

分野が偏っているので注意。面白い記事が沢山あるのですが、私の頭がついていかなかったものも多数多数多数あります。ぜひ時間があれば、各Advent Calenderの全記事を回っていただければと思います。

俺の記事がねぇぞゴルァ、という苦情はご遠慮ください。1000を超えるAdvent Calenderの記事を全部紹介するのは無理です。

本家Advent Calenderは12/25で終わりらしいのでもう公開しますが、まだ続いているAdvent Calenderもあるので今後更新する予定です →更新しました)

Android Advent Calender

☆Android端末-PC間 USBケーブルによる通信
adbのforwardコマンドで超簡単にAndroidと通信できる話

☆Androidでとびきりうざい アプリを作ってみる
オーバーレイで常に画面の最上位に表示させる方法。WindowManager.LayoutParams.TYPE_SYSTEM_ALERTがミソ。AndroidのViewの仕組みの図もあって分かりやすい(でも身代金要求型ウィルスが簡単に作れてしまうな…)

☆Android 開発者が読んでおくべき6つの記事
Androidプログラミング中級者向け。非常に有用な記事6つの紹介。

☆Googleアカウントでのサービス認可周りの紹介(OAuth2.0とか Google Play Servicesとか Cloud Endpointsとか)
IMEIとかAndroid IDとかガラパゴスで危険な認証方式は即刻止めよう。

JellyBeanの新しいAPIを試してみる(MediaCodecと外部ディスプレイ)
Android 4.2から自前コーデックと2画面?がサポートされたので実験したという記事。コーデックは面白そう、特にMX動画プレイヤーにお世話になっている人は

Android Design 実装してみた(Patterns – Multi-pane Layouts)
読んでおくべき6つの記事と少し関連しているけども、Fragmentの使い方など。最近この手のレイアウトのアプリが多い気がする

世界の中心でGoogle Maps Android API v2に喝采を送る
サービス認可周りの紹介に関連して、Google Map API周りのv2におけるポイントの紹介

自作のUSBデバイスを、Androidで動かす
PCでいえばUSBホストドライバ相当のものを作る方法。個人的にすごく興味がある

drawable.xmlで遊んでみる
リソースファイルでドロイド君を書く方法。もはや職人技

■ひとりAndroid Advent Calendar

データの暗号化、camellia-androidを試す
使い方がよくわからないけどメモ。SDカードにプライベートなデータを安全に保存したいときに使えるかもしれない。リンク先のPDFにNTTによるアルゴリズムの解説あり

WebView使わずに、twitter4j のOAuth認証
私もWebViewで認証する方法はセキュリティ的に問題があると考えているので(みんな楽したがるけど…)、この実装方法はおすすめ

Push通知、GCM(Google Cloud Messaging)を試す。複数端末に送信
RecognizerIntent、アプリから音声認識する
タイトル通り

C# Advent Calender

☆.NET Framework4.5 での非同期I/O処理 事始め
C# 5.0(.NET Framework 4.5)からasyncとawaitキーワードで非同期処理が非常に簡単に書けるという話。Windows RTには必須の知識。

IEnumerableの型を指定したforeach
ジェネリクスでないIEnumerableは型を宣言すると便利という話

クラスのインターフェースに使うコレクションのinterface使い分け
ややこしい…あとで読む

C#でログファイルを出力する少し冴えたやり方
RazorテンプレートエンジンでPHPやJSPっぽい書き方をする方法

C++ Advent Calendar 2012

☆C++ Advent Calendar 2012 「18日 : Cer に知って欲しい C++」
vector、accumulate、shared_ptr/unique_ptrの使い方。Cerというより、「C++をちょっとかじっただけの自称C++erに知ってほしいC++」かも。個人的にはunique_ptrにとてもお世話になっている

☆ゲームプログラミングにおけるC++の都市伝説
テンプレートすごい(速い)とは聞いていたけど、本当にすごい

構造化『並列』プログラミング
基本的なアルゴリズムを並列化するためのアイデアとTBBを使った実装。一部ラムダ式の知識が必要

Computer Vision Advent Calendar 2012

☆NativeViewerの使い方
VisualStudio 2010/2012でOpenCVのcv::Matの中身をimshowせずに確認するプラグインの紹介。これは便利。

文献紹介: Siggraph2012 High quality Image Deblurring with Panchromatic Pixels
デジカメのセンサに当たり前のように使われているBayerパターンを改良し、より高精度なセンサを作るためのアイデア。RGB以外に白を入れるという発想が面白い。

英語のオンラインクラスで学ぶコンピュータビジョン
ネットで勉強するCV。かなりレベル高そうだけど、相当価値が高そう

ジョイントバイラテラルアップサンプリング
私には理解できない(というかバイラテラルが何か自体分かっていない)けどとにかくすごい。ソースつき

コンシューマデプスセンサの比較
最近熱い深度センサの種類分けと紹介。近未来感のある記事

iOSでのリアルタイム動画処理
カメラの画像にフィルタを掛けてリアルタイム表示

Garbage Collection Advent Calendar 2012

Dart VMのGC概要
世代別GC(とMark&Sweepアルゴリズム)がお決まりになりつつあることを再確認

Git Advent Calendar 2012

git push の反対は git pull ではない
git fetchだそうで。知らなかった

GPGPU Advent Calendar

thrustで3引数以上のtransformを実行する方法
別の研究室のT君がthrustで困っていたのでメモ

☆CUDA プロファイラを使う
CUDA Visual ProfilerではなくCUIでカウンタを見る方法と、命令数やIPCの数え方、おまけでCUPTIの使い方。CUDAのプロファイラカウンタって項目毎の説明が曖昧で分かりにくくて困る

Curl Noise with OpenCL
カールノイズのGPGPUコード。Agniでも使われたらしい。Perlin Nozeしか知らなかったので後で勉強する

GPUでナップザック問題を解く話 GPGPU AdC2012編
thrustも使っていてちょっと複雑だけど、CPUコードつきなのでなんとなくわかる

☆ARMのOpenCL(GPGPU)対応メモ
ええー!Adreno 320以降だと、もうOpenCL動くの!?Adreno SDKさえあればいいみたい。これは夢が広がる

gpu_profiler_counter
CUDA Profilerを使うに続き、プロファイラの読み方。inst_issued2_1/2は2倍しないと駄目らしい

Intel HD Graphics 4000 とは何だったのか
Intel GPUの仕組みの紹介。MMUとかバッチとかEUとかハードウェアを直接弄るような情報ばかりで貴重

Machine Learning Advent Calendar 2012

ABテストのための有意性検定
「検定」により有意かどうか判定する方法の解説。R言語を知らなくても理屈は分かるのでおすすめ

パラメトリックとノンパラメトリックの狭間
データの関係性を推定する2つの方法の解説。ガウス過程以降が難しくて理解できないけど(機械学習の世界では超基本らしいです。私は講義取らなかったので分からない…)、パラメトリック推定は分かりやすい

☆Computer Visionで用いられている機械学習の概観
これはすごい。いわゆるサーベイ?コンピュータビジョン入門向け。大学の講義で使ってほしいくらい

文字コードの自動判別を機械学習で
実用的ではないとはいえ、機械学習で文字コード判定という着眼点にまず驚き。そして精度が非常に高いこと(nkfにわずかに劣る程度)にさらに驚き。

Objective-C Advent Calendar

Linq for Objective-Cでお手軽シーケンス処理
同じ作者のLinq for Objective-Cを使って、iOSアプリで.NET FrameworkのLINQと似た構文を書けるようにする方法

Objective-Cでよく使う便利マクロを10個集めてみた
確かに便利そう(でもMacないので試せない)

OpenCV for iOSの使い方
林檎製品買ったら真っ先にやろうと思っていたのでメモ。意外にもAndroidのチュートリアルはたくさんあるのにiOSはあまり見ないので貴重(まじめに探していないだけかもしれない)

Objective-Cでドット繋ぎでメソッドチェインを行う
Objective-C勉強中なのでメモ

Perl Advent Calendar Japan 2012 Casual Track

Dropbox上のMarkdownテキストをプレビューしちゃえ!
Text::MarkdownとWebService::Dropboxを組み合わせるテクニック。いつの間にかなんでもモジュール化されるPerlらしさ溢れる記事。

☆こんなマジック知らなかった。
Variable::Magicモジュールで変数の変更と参照の瞬間をキャプチャできるという便利なhack

PHPのアプリだけどperlでテストするんだぜ?(ワイルドだry
PerlからApacheを立ち上げてテストとベンチマークもしてしまう方法。モジュールがいっぱい出てきてよくわからないけど、なんかすごい

☆PDLで数値計算
Perlで使える行列ライブラリ?Eigenとかと同類かもしれない。最後は画像処理まで出てきて、まるでcv::Matみたいになっている。ちなみに私も落陽草の花回収中にリオレイアに襲われます

PHP Advent Calender 2012

PHPを使う理由
個人的に激しく同意だったのでメモ

Raspberry Pi でPHPを動かしてみた
Raspberry Piという超小型PCでPHPのサーバが動いたという話。すごく欲しい

php5.5で追加された機能を触ってみる
yield、foreach内のlist、finally

似てるけど似てないシリーズ
echo/print、print_r/car_dump、シングルクオート/ダブルクオート、&&/and。最後の&&/andは、Perlでよくある”open *** or die”の”or”と同じ意味と考えれば理解できるかも

PHPerのMVCの一体どこが間違っていたのか
むしろMVCを意識したプログラミングをこれからする人の方に有用かもしれない(わたしです)

Visual Studio Advent Calendar 2012

☆Visual Studio Professional以上で利用できる機能と愛用しているショートカット
一押しショートカットが本当に便利すぎる

☆Git Source Control Providerの使い方
Git勉強中なのでメモ

☆コードスニペットを使ってみよう!
Tabキーを押すなんて知らなかった…

Web Music Developers JP Advent Calendar 2012

WebMidiLinkで遊んでみた
これはすごい。ブラウザでMIDIが演奏できる(Firefoxで確認)。音色はPSGとPCM音源の組み合わせっぽい?携帯電話の音源チップっぽい音。CPU負荷が半端ないのはJavaScriptだから仕方ないか

簡単な式で波形生成してみる
基本波形と三角関数の近似(テイラー展開の誤差の補正)

Web Audio系APIを使うときに注意する点
ブラウザで波形生成して鳴らすにはWeb Audio系(ChromeやSafariなどのWebKit採用ブラウザ)とAudio Data系(Firefox)があって、その両方の注意点について

■新人/若手向け、これだけは知っとけTips25 Advent Calendar 2012

☆作業効率化の時短ショートカットを厳選紹介
ほとんど知っていたけど、エクスプローラの「Alt+→」「Alt+↑」は目から鱗。知っておいて損はない。ちなみに戻るは「BackSpace」派(Alt押すの面倒)。

ちょっと楽になるviの操作
大学時代の実験でviの操作がさっぱりわからず苦労したのでメモ

新人から始めるノートの取り方について
これから必要になりそうなのでメモ

■(Advent Calenderとは一切関係ないけどメモしておきたい最近の記事)

プログラマーが知っておくべきうつ病の知識
同僚・知人がうつ病になったとき、周囲が適切な対応をとる必要があるという意味で、まさに知っておくべき知識。うつ病は誰でもなります(私はしょっちゅうです…)。「トリプルカラム法」が気になる

☆優先順位付き大小比較
C++ではstd::tieするだけっていう恐ろしいほどの簡単さ。Cではどうやっても無理

論文作成の技法part1~論文の構造
演繹法、帰納法、弁証法、仮説検証、IMRAD

ソーシャルゲームの予算規模を軽くまとめる
生々しい。書籍にまとめて出版してほしい

■(もはや完全自分向け)

さらばギザギザ! NVIDIAがアンチエイリアスを技術解説
2ページ目の「MSAAでは極端に輝度の高い(High Dynamic Range)レンダリングではどうしてもエイリアシングが現れてしまう」がどうも理解できない。HDRのMSAAでは高輝度に引っ張られるので単純平均ではダメということは分かるけど、ガウス関数による補正が単純平均より物理的に正しい理由って何

西川善司の3Dゲームファンのための「AGNI’S PHILOSOPHY」講座
[SQEXOC 2012]FFXIVで使われているAI技術~敵NPCはどうやって経路を探索しているのか?
第1回 スクウェア・エニックス オープンカンファレンス資料公開ページ
USTREAM: SQUARE-ENIX-OpenConference(タイムシフト?)
スクエニのAgni関連記事。コンシューマゲームで一番熱い話題だと思う。個人的に印象に残ったのは、犬のモーションキャプチャ

視神経モデル網膜シミュレーション -Retina simulation of Human Visual System-
3DCGで網膜シミュレーションによるリアルな見せ方をするためのアイデア。実装が非公開なのが残念

OpenGCD
AppleのGrand Central DispatchをAndroidやWindowsで動かすライブラリ。多分libpthreadのglue

Objective-Cプログラミング言語(PDF注意)
Objective-Cプログラミングの概念(PDF注意)
ジョブズ教に入るために必須

【画像】これを見てもアニメキャラは日本人って言い切れるかい?
日本人ェ…

■さいごに

すべてのAdvent Calenderのライターさんに感謝します。ありがとうございました。そしてお疲れ様です。来年も期待しています。

【メモ】技術系Advent Calender 2012の個人的お気に入り記事」への1件のフィードバック

  1. ピンバック: 技術系Advent Calender 2013の個人的お気に入り記事 | shobomalog

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中