kakts-log

programming について調べたことを整理していきます

2014-01-01から1年間の記事一覧

OSのプロセス、forkなど

海外ではapueと呼ばれていて、unixプログラミングに関して有名な詳解unixプログラミング第3版をちょくちょく読んでいます。8000円以上してめっちゃ高額ですがかなり勉強になって良い本だと思います。プロセス周りの章を読んでいて、すごく勉強になって…

redisをdaemonizeする

前回エントリより、ec2インスタンス上でredisのインストールが完了して、redis-serverコマンドでredisを立ち上げることが出来ました。redis-serverコマンドで立ち上げるのでなく、常に裏っかわでredisが起動した状態にして、別に作成したwebサーバ用のインス…

amazon ec2インスタンスにおけるredisのmakeが出来ない問題

ec2インスタンスをつくってredis(2.8.17 stable)の環境構築をする際にmakeでエラーが出たのでその対処法をメモ状況プライベートサブネット上にredis用のインスタンスを立ち上げ、NATを介してwgetでredisのソースをダウンロード。その後/usr/local/srcにて解…

voidポインタの特徴

cにおけるvoidポインタは、汎用ポインタと呼ばれ、どのようなデータ型でも指すことが出来る。void *pv;こんな感じで他のintやcharポインタと同様に宣言できる。voidポインタの特徴としては、大きく3つある①charポインタと同じ表現形式とメモリ上の並びを持…

golang Packageまわりの整理

golangいじりはじめました。早速チュートリアルを一通りやっていて、パッケージのインポートについてちゃんと整理したかったので以下のページを軽く和訳しつつまとめます。http://www.golang-book.com/11/index.htm以下和訳PackagesGoは良質なソフトウェアエ…

golangはじめた

golang気になっていたのでチュートリアルみていろいろいじってみた。https://gobyexample.com

/etc/init.d/hoge startとservice hoge startについて

/etc/init.d/hoge start と service hoge start は何が違う?http://blog.cles.jp/item/6767すげー気になってたやつです。

mac OS Xでのopencvのインストール

mac marvericksにてopencv環境を構築したかったのでメモ1: macportsインストールopencvおよび、opencvを使うにあたって必要となるpkgconfig zlibをインストールするのにmacportsを使います。 homebrew使うやり方もあると思うのですが、macportsでのインスト…

atomエディター 表示がうまく反映されない問題

atomエディターでファイルを複数paneで表示させていると、たまにキーボード入力は受け付けるんですが、エディターにその変更が描画されていない問題がよく発生しますそのときにコンソールみるとUncaught RangeError: Maximum call stack size exceeded とで…

Linux kernel linked list implementation (和訳)

node.jsでいろいろコーディングをしているときに、process.nextTickの挙動とかが未だに完全にピンときていない状態で、シングルスレッドとか、プロセスがどうだとかいう話もよく聴いていて、そもそも自分がプロセスとスレッドについてよくわかっていないなと…

linux kernel linked list and process

プロセスについて調べていて、linuxカーネルにおいて各プロセスをどうやって扱っているのかを気になっていて参考になったエントリlinux kernel linked list implementationhttp://sumanadak.blogspot.jp/2006/09/linux-kernel-linked-list.htmllearning abou…

mac OS X において gccのインクルードパスの探し方

C言語でプログラミングする際に、stdio.hとか、いつも使う標準Cライブラリのヘッダーについて気になって調べようとするときに、gccがどこからヘッダファイルをincludeしているかわからない時があります。いろいろ調べてみると、macでも、linuxのディストリビ…

Object.observe adopted by ES7

Understanding Object.observe() method adopted at ES7.This method is useful for data-binding at javascript http://weblog.bocoup.com/javascript-object-observe/

node.js async module

asyncモジュールの以下のメソッドについて使う機会が多かったので、参考記事まとめseriesparallelwaterfallhttp://qiita.com/ishisak@github/items/cee2811a5a131d4ef946http://d.hatena.ne.jp/sheile/20111216/1324045972http://kiri-no-shima.blogspot.jp/…

Is Koa the Future of Node Frameworks?

http://dailyjs.com/2014/01/09/koa/Koaちゃんとつかってみる

nodeでモジュールのソースが読みたいとき

require('http')とか、require('connect')でモジュールをrequireしていて、使っているモジュールのソースが読みたい時、githubでソースを探して読むのも良いのですが、もっと手っ取り早い方法があり、コンソールでREPLを起動して、% nodeconsole.logで対象の…

atom.ioでeditorconfig対応

先日atom.ioのβ版の招待メールが届きました。https://atom.io/さっそくインストールして色々js関連のパッケージを入れて使ってみてます。共同開発でそれぞれことなるエディタを使って開発するチームにはeditorconfigが必須だと思うのですが、atom.ioにももち…

javascript メモ化

関数の複数回呼び出しによって発生する不要な処理を省略するために、前回までの結果をオブジェクトに記憶できるメモ化という最適化の考え方があります。jsのオブジェクトと配列はこのメモ化を行うのに最適です。フィボナッチ数を計算する再帰関数を作ってみ…

understanding node.js

understanding node.jshttp://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb

unobtrusive javascript

unobtrusive javascripthttp://www.w3.org/wiki/The_principles_of_unobtrusive_JavaScriptサイ本にunobtrusive javascript について言及があったので後で読む

perlの正規表現 パターンを読みやすくする方法

perlで正規表現によるパターンマッチングを行う時、ある程度慣れた人でも、複雑な処理になるとどうしても読みにくくなったりすると思います/(....)+d/とか、/-?[0-9]:\.?[0-9]*/ とか、なにいってるのみたいな状態にぼくもなってます。これを読みやすくする…

perl foreachを使う際の注意点

perlで配列の要素全体に対して処理をするときにforeachを使うのはよくあることだと思います。文字列のリストすべてに対して繰り返し処理を行うときはforeach $word (qw/ hoge fuga hello /) { print " This is $word";}とこんなふうに書けば、各要素を繰り返…

python imaging library(PIL) を使ってみる

pythonで画像処理をしたいと考えたときに、python用のopencvライブラリが有名ですが、python imaging library(PIL)というpythonインタプリタでの画像処理を可能にするものがあり、以下のurlから無料でダウンロードして簡単に使うことが出来ますhttp://www.p…

python encodeについて

めっちゃべんきょうになるPythonのUnicodeEncodeErrorを知るhttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html

centos yumで Cannot retrieve repository metadata というエラーがでるとき

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a118yumerror.html↑が参考になりました/etc/yum.repos.d/ ディレクトリ以下にyumのレポジトリの設定があって、エラーがでたレポジトリの設定ファイルのenabledがenabled=1になっていたのが原因のようでし…