kakts-log

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

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

python 日付の計算

現在時刻における日付や、指定した日付を取得するときは、標準ライブラリであるdatetimeをインポートして使用できる。そして、取得した日付の1日前、1月前など、日付に関する計算を行いたい場合は、 datetime.timedeltaを利用するのが便利です。import dat…

expressでテンプレートエンジンにejsを指定したのに jadeがないって言われるエラーの対処法

node開発において、フレームワークであるexpressを使うと簡単にアプリケーションのスケルトンが作れます今回、express 3.4.7において、テンプレートエンジンにejsを指定して以下のコマンドを入力してnode_express_testという名前のスケルトンを作成しましたe…

node Unhandling 'error' event というエラーがでたときの対処法

node.jsでHTTP通信をするためのサーバーとクライアントを作りましたエコーサーバはlocalhostでport:1337で待ち受けて、クライアントからPOSTでリクエストがきたら処理するようにしていますHTTPエコーサーバhttps://github.com/kcpjunky/node_http/blob/maste…

process.nextTick() まわりのまとめ

nodeをつかってリアルタイムな何かを作りたいと思っていて、久々にコードを書きつつ勉強していました。nodeのイベントループの仕組みを理解するうえでキモになるprocess.nextTick()について、ふんわりとしかわかっていなかったので、いろいろググってみたた…

python 文字列型のjoinメソッド

ある文字列が格納されているリストがあり、その要素をすべて並べて一つの文字列にしたい場合は文字列オブジェクトのメソッドであるjoinメソッドを使うといいtext = ['aaa','bbb','ccc'] str = ''.join(text) print str ### "aaabbbccc"が表示される ここで、…

python 文字列操作

pythonにおける文字列操作についてあるテキストファイルがあるとして、text = """ helloworlddesu"""という文字列があるとするこの文字列を操作することを考える。↑の文字列は、 hello world desu という文字列になるが実際には、改行文字の \nも文字として…

junit org.hamcrest.CoreMatchersについて

junit4でテストケースを作成する際、あるメソッドの戻り値が正常化をテストする際に予想される値と実際の値を比較する必要がある。 その際には予想値 expected実際の値 actualというint型の変数があったとしてテストメソッドの中でassertThat(actual, is(ex…

・マシンにHDDドライブを追加する・VMマシン上に5.0GのHDDドライブを2台追加する /dev/sdb1 /dev/sdc1LV作成後作成、マウント後、LVMスナップショット機能を使って 対象のパスで静止点を作る (今回は/datalvcreate -s -L 200MB -n snap_te…

osX サブモニター2枚で最高のデスクトップ体験を

自宅用のmacbook pro15インチ用に、23インチのサブディスプレイを購入しはや半年。自宅でいろいろ作業をしているともう一枚ディスプレイがあれば良いなという欲求がどんどん出てきてしまい、benq GL2450を購入しました。このbenq GL2450、通常の横長だけで…

python クラスとimportについて

pythonでのコーディングを勉強し始めた当初、モジュールのimport関連でエラーが出ていろいろつまづいたことがあったので、それを整理するためにまとめてみる。ある親クラスがあり、それを継承する子クラスを実装しようとする親クラスを定義したモジュールが …

apache ログ アクセス順 回数出力

cat access_log | awk '{ print $1 }' | uniq -c | sort -r | awk '{print $2,$1}'10.160.32.24 310.160.32.51 18awk初めて使った

python lambda式とdef

pythonでコーディングする上である処理をまとめてdefで関数の定義をして、利用するときはその関数名を呼び出して利用する。 defによる関数定義 def sum(x, y, z): return x+y+z 言うまでもなくただ3つの引数を+演算子により足したものを戻り値として返すメ…

python 拡張代入について

pythonで数値または文字列を扱った演算を行うときに、普通に=で代入する以外に、拡張代入を用いることが出来る。 拡張代入とは、他の言語にもみられるように、数値を足す時に += や -=を用いて変数に値を代入することである。 例えば、数値型の変数に、ある…

python python変数の型チェックについて

pythonの変数の型のチェックについてまとめてみる 配列を作った時の型の確認 type関数を使うことで引数のオブジェクトの型をチェックできるlist = [1,2,3,4]type(list)type(list[0]) リスト型とint型がかえってくる さらに、type()関数自体も、オブジェクト…

pythonの勉強をはじめた

最近、javaとjsだけじゃなくて、ほかの言語もちゃんと勉強したい欲が出てきたので、pythonの勉強をはじめた。 自然言語処理系の本を読んでいて、文字列処理の際に便利だという記述が多かったので。どんなフレームワークがあるかとか、まだわかってないので、…

java Remove Control Flag

以下の3つのメソッドは、与えられたint型の配列から、目的の数字があるかどうかを判定するメソッドであり、処理自体は変わらないが、1から3に行くにつれてリファクタリングされている。 あるものを判定するためのメソッドでは、目的の数字があるかどうかの…

javascript 数値と文字列の型 演算

var x = 10;var y = '10';var z = 10;var t = sum(2,3,4);var p = x + y + z;print(t);print(p);function sum(x,y,z) { return x+y+z;}結果 t = 9p = 101010 となるのはなぜ? 疑問なのは、数値x,yと文字列10の変数zを関数sumの中に入れた場合に、x+y+zの演…

シンボリック定数について 当たり前だけど忘れがちなこと

もし、あるコードの中で2つの定数x,yが必要だとするxはある物の個数で、yはxの2倍の値を保持するものと考えたときに、もしxが100だとするとpublic static final int X = 100;public static final int Y = 200;と安易に宣言するのはリスキーである。 もし実…

java static イニシャライザについて

参考Javaで定数クラスを使用するときに、知っておくと嬉しいかもしれない小技http://kanouk.typepad.jp/kanolog/2008/05/java-b5e4.htmlリファクタリングに関する本を読んでいて、マジックナンバーをシンボリック定数に置き換えるという基本中の基本を学んで…

eclipse maven install時のエラー

eclipseでsvnによりチェックアウトしたプロジェクトをmaven buildしようとしたときのエラー[INFO][INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ -core ---[debug] execute contextualize[INFO] Using 'UTF-8' encoding to copy fi…

javascript typeof演算子について

javascriptは、変数自体に型がなく、代入したものによって型がきまる動的型付けの性質をもっている。型については、以下の6種類がある。 文字列型(文字型は存在せず、1文字の長さの文字列で表現する)数値型(javaなどのように、intやfloatなどの区別は無…

java Prototypeパターンについて

現在、デザインパターンについて学んでいて、Prototypeパターンについて難しい点が多々あったため、考えを整理するためにまとめてみる。Prototypeパターン 今まで、あるクラスのインスタンスを作成する場合、new クラス名(); とクラス名を指定していた。シス…

java 抽象クラスについて

抽象クラスとは、インターフェースとは違い、抽象メソッドだけでなく、実装された具象メソッドを備えるモノである。抽象クラスは、それ自体ではインスタンスを作成することが出来ず、そのクラスを継承したクラスを作成することで、はじめてインスタンスの作…

java pleiadesplugin導入

javaの開発環境構築のため、eclipseを導入し、日本語化するためにpleiadesを入れる際に参考になったサイト↓http://supportdoc.net/support-general/pleiades-mac.htmlかなり簡単だった

java static final int とenumの違いについて

javaの勉強をしていて、最近まで恥ずかしながらenumについて全く知らなかった。 enumについて調べた上で、 static final int で宣言した定数と何が違うのかという疑問も浮かんだので、 enumについての簡単な説明と、上記の疑問について、両者の違いをまとめ…

node イベントループ枯渇状態

nodeでアプリケーションを作成する際、1つ1つの処理を出来るだけ軽く、簡素にして数多くのI/Oイベントを素早く処理出来るように設計することが重要である。イベントループについて考える際、コードの内容によって、1つの処理が完了しないために次のステッ…

node イベントループの詳細

イベントループがどのようにして動作しているかを理解するために、簡単にイベントループの流れの説明を行う。イベントループの処理は、大まかに5つのステップに分かれている。1 setTimeout()のコールバック実行2 process.nextTick()のコールバック実行(メ…

openframeworks box2dライブラリ

結構前に作ったやつopenframeworks でbox2dのライブラリを使う。クリックしたらボールオブジェクトを生成して、ボタンによって重力の方向が変わります。https://vimeo.com/55470193openframeworksは、日本語コミュニティーがまだ小さいので、英語で書かれた…

node イベントループについて

nodeにおけるイベントループは、whileループ処理で実装されている。ループ処理はI/Oイベントの処理の実行時や、I/Oイベントの発生待機のオブジェクト(ハンドル)の登録時に維持される。以下のコードは、ハンドルもしくはリクエストが何も登録されていないた…

node モジュールのスコープ

以下のコードは、3つの関数をmodule.exportsにより外部公開していると同時に外部公開しない変数countを用いている。変数countはファイルの先頭で定義されているが、この変数のスコープはモジュール内である。var count = 0;module.exports = { say: functio…