2014-02-01から1ヶ月間の記事一覧

Python 3でm x nの2次元配列を定義する

たとえば3x5の2次元配列(要素はすべて0)を定義するには以下のように書く。 >>> matrix = [[0 for i in range(5)] for j in range(3)] printすると以下のようになる。 >>> print(matrix) [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

正規表現の分類

正規表現には多くのバリエーションがあり、かなりややこしい。おおまかに分類すると以下のようになる。 Basic Regular Expression(BRE) もっともしょぼい正規表現。 例: grepやsedのデフォルト Extended Regular Expression(ERE) BREを少し拡張したもの。 …

Visual Studioのマクロ($(SolutionDir)とか$(Configuration)とか)に関するメモ

例えば、C:\somewhere\your_appliフォルダがVisual Studio C++のソリューションフォルダだとする。この下に、some_projectプロジェクトとother_projectプロジェクトがあるとする。普通以下のような構成になる。 C:\somewhere\your_appli\ your_appli.sln Deb…

Python 3に再入門中 - Dive Into Python 3 と Check iO

Pythonを本格的に習得しようと勉強を始めた。まずはPython 3のチュートリアルである 目次 - Dive Into Python 3 日本語版 を12章まで読み終わった。このチュートリアルは明快で面白く読み進められるのでかなり良かった。練習したことを忘れにくくするためにm…

LAN, USB, HDD 転送速度の比較

ネットワークのボトルネックが知りたくなって、転送速度を調べてみた。 無線LAN 802.11b 11Mbps 802.11g 54Mbps 混雑した周波数帯なので遅くなりやすい 802.11a 36~54Mbps 802.11n 600Mbps 実効速度は100~200Mbps 製品の最高速度は150Mbpsや300Mbps 802.11…

bash/zshで連番を生成

bashまたはzshで $ echo {1..10}.jpg とすると、 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg 7.jpg 8.jpg 9.jpg 10.jpg と連番ファイルが生成できる。0埋めしたい場合は $ echo {001..10}.jpg とすると、 001.jpg 002.jpg 003.jpg 004.jpg 005.jpg 006.jpg 007.jp…

現在のディレクトリ以下のファイルすべてに対してテキスト置換

zshの**を使った再帰検索と、sedを組み合わせると一行で書ける。 以下は、現ディレクトリ、またはその下にあるすべてのサブディレクトリに存在する、すべてのPythonファイルに対して、文字列beforeを文字列afterに書き換える例。 sed -i 's/before/after/g' …

#!/usr/bin/env と #!/bin/env のどちらを使うべきか

Linux系のスクリプトの一行目に書くシェバン (shebang)で、envを使うテクニックがある。 #!/usr/bin/env python3 # -*- coding: utf-8 -*- a = [1,2,3] … 自分の手元の環境(Cygwin)にてwhere envとすると、以下の2つが見つかる。 /bin/env /usr/bin/env sheb…

Gitのコミットログは過去形ではなく現在形(=命令形)で

git

Gitのコミットログには、現在形で書く流派と過去形で書く流派がある。 どちらにすべきか決めかねていたが、Should I use past or present tense in git commit messages? - Stack Overflowを見て現在形、より正確には命令形を使うことに決めた。その理由は G…

Unicode/UTF-8/UTF-16/UTF-32の違い

Python3を勉強している間に読んだ記事 文字列 - Dive Into Python 3 日本語版 中のUnicode/UTF-*の説明がとてもわかりやすかった。以下はそれを自分用に乱暴にまとめたもの。 Unicode すべての言語のすべての文字を表現するために設計されたシステム すべて…

はてなブログに引っ越しました

最近はてなダイアリーが冷遇されてるので、はてなブログに引っ越しました。せっかく2まで育ったpagerankが0に戻ってしまったのは辛いですが…

Pythonでの式(Expression)と文(Statement)

Python2ではprintは文(Statement)であったが、Python3ではprintは式(Expression)になった、という記述をよく見る。しかしその違いがよく分からなかったので調べてみた。嘘を言っているかもしれない… 式(Expression) 式とは、評価されることによって、何らか…

Makefileの書き方に関する備忘録 その3

この記事は続き記事です。目次→Makefileの書き方に関する備忘録 - minus9dの日記 変数に何を入れるか .cから.oへのコンパイルには以下の暗黙的なルールが使われる。 $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@.ccから.oへのコンパイルには以下の…

Makefileの書き方に関する備忘録 その2

この記事は続き記事です。目次→Makefileの書き方に関する備忘録 - minus9dの日記 変数 ユーザが編集したりコマンドラインでカスタマイズしたりしたくなるもしれない変数は大文字、makefile内で閉じて使われる変数は小文字で書くのが慣例。 CC := gcc sources…

Makefileの書き方に関する備忘録

※この記事は続き記事になっています 第1回:この記事 第2回:Makefileの書き方に関する備忘録 その2 - minus9d's diary 第3回:Makefileの書き方に関する備忘録 その3 - minus9d's diary 第4回:Makefileの書き方に関する備忘録 その4 - minus9d's diary mak…