zsh の配列の index は1から始まる

夏ですね 地下鉄の駅で電車待ってるとき、ついホームのところどころにあるエアコンの前に立っちゃいますよね! あと、弱冷房車はあるのになんで強冷房車はないんだって時々考えてしまいますよね! 本題 というわけでまずは以下の実行結果を。 $ bash $ ar=(A…

set -u : 未定義の変数を使用しようとしたらエラーにする

typoなんてのは普段よくあることで、そいつに無駄な時間をとられてしまうことが日常茶飯事だ。 #!/usr/bin/env bash MY_NAME="Miku" MY_BIRTHDAY="10/19" MY_HOBBY="Dance" echo $MY_NAME echo $MY_BIRTDAY echo $MY_HOBBY 上記の出力結果はどうなるだろうか…

Many-to-many関係を使う

今回は GORM で Many-to-many 関係を扱う。複数のユーザと複数の楽曲が用意されていて、各ユーザのお気に入りの楽曲を格納できるようにする。E-R図にするとこんな感じ。とりあえずコードはこんな感じ。 package main import ( "fmt" _ "github.com/go-sql-dr…

Association で任意の外部キー名を使う

初詣行ってきました 大吉引いて幸先良いです。 あと、巫女さんが可愛かったです。 本題 GORM の Association 関連で、任意の外部キー名を使用しようとしてハマったのでメモ。 標準の外部キー名を使う方法 その前に、まずは Convention に従った外部キー名を…

Type Switch

go

interface{}型で宣言された変数の値の具体的な型により処理を分岐させたい、というケースが考えられる。Type Switch という仕組みでそれを実現できる。switch - case 文を使って、型ごとの処理内容を case 内に記述する。公式ドキュメントの Effective Go に…

あけましておめでとうございます

今年はちゃんと記事書いていきたいと思います。#何年か前にも同じこと言った気がする← 一応、今年は目標を2つ立てました。 1つは割と近々で実現したいこと。もう一つは2017年になんとか実現したいこと。 頑張るよー。

GORMを使ってみた

go

goで使えるO/R Mapperは結構いろいろあるみたいで、とりあえず今日1日 gorpとGORMを使ってみた。gorp GitHub - go-gorp/gorp: Go Relational Persistence - an ORM-ish library for GoGORM Getting Started with GORM · GORM Guidegorpはシンプルに使える、G…

goでmysqlを使うメモ

go

久しぶりだー 前回の日記が2014年11月3日…だいぶ放置してたなorz goでmysqlを使ってみる mysqlドライバをインストール database/sql の mysqlドライバとして go-sql-mysql というのがある。まずはこれを go get でインストールする。 github.com go get gith…

nnetを使ってコード解析作ってみた

R

以前このブログにも書いた通り、今年の夏に Coursera の Machine Learning の講座を受けた。これがきっかけで機械学習にすごく興味を持ち、何か自分でも面白いものを作ってやるぜって意気込んでた。オイラ腰が重くてなかなか手をつけられないでいたが、今回…

rgl の plot3d で3Dグラフを描く

R

困った 眠れん。 仕方ないのでブログ書く← rgl とは rgl rgl: 3D visualization device system (OpenGL) R上で、OpenGLを使って高度な3Dグラフを描くためのパッケージ。インタラクティブな操作も可能で、3D表示させたものをマウスでぐりぐり回転できる。なか…

Coursera の Machine Learning

Coursera というオンライン学習サイトに Machine Learning という講座がある。6月から受講開始して約3ヶ月。ようやくすべて終えることができた。受けて本当に良かったと思っているので、紹介したいと思う。 この講座を知ったのは、たしか5月くらいだったと思…

tuneR を使ったMFCCの計算

R

ほぼ自分用の備忘録←tuneR で MFCC を求める手順。バージョンは 1.2.1。 library(tuneR) # wavファイル読み込み # mp3ファイルの場合は readMP3()を使えばよい wobj <- readWave(filename) # melfcc() は現行では mono 音声しか扱えないので必要に応じて変換…

Zero-crossing rate (ZCR) を使った音楽解析

音声認識や音楽解析によく使われる指標として Zero-crossing rate (ZCR) というのがあるそうだ。これは、音声の波形を描いたとき、波が中央より上(正)から中央より下(負)に、またはその逆に変化する頻度を数えて、その頻度により音声の特徴を表すというもの…

CPAN Author になった話

先日、ようやく CPAN Author になった。 Data::HandyGen::mysql という、テストデータを効率よく生成するためのモジュールを作って、今年の2月に公開した。はじめて CPAN モジュールを公開するという体験は実にドキドキものである。少年の心が一瞬、蘇った気…

機能追加

機能「追加」は決して機能「改良」ではない。新しい機能が使えるようになるという意味で「改良」だが、システムの複雑度が増すという意味で「改悪」。開発運用のコストも上がるし、ユーザからしても、機能全体を理解するのが難しくなる。逆に、初期に導入し…

F10で右クリックメニューが表示されないようにする

Fedora17上で gnome-terminal を使っていたら、F10キーで右クリックメニューが表示されてしまう。 vim のキーバインドで F10 を使っているのでこれは困った。一応、メニューの「編集」→「キーボードショートカット...」で F10 を無効にする設定は存在する。…

libxml2 で XMLTextReader を使ってみる

XML文書をパースする機能が必要になったので、libxml2 を使ってみた。 今までオイラは XML のパースは軽量言語(Perl、PHPなど)でしかやったことがなかった。libxml2をそのまんま使うとものすごく面倒なんだろうなぁと若干恐れおののいていたのだが、いざ使っ…

あけましておめでとうございます

更新が1ヶ月に1回とか悲惨な事になってますが、今年はもうちょっと頑張ります。(希望)

[GTK+] GtkTreeView を使う

GtkTreeView とは? http://library.gnome.org/devel/gtk/stable/GtkTreeView.html ツリー構造やリストを表示するためのウィジェット。 GtkTreeView というからにはツリー構造、つまり階層を持つデータ構造を表示するのが唯一の用途のようにも見える。しかし…

Django クイックスタートの巻

Python 上で動く Web フレームワーク、Django の超クイックスタート。簡素化しまくってるのでご容赦を。 またプログラム中、コメント行はすべて省略。 環境は以下のとおり。Python と Django はすでにインストールされているものとする。 Python 2.6.2 Djang…

Social Games that Sway Behavior - Technology Review 最近ソーシャルゲームがあちこちで話題になっているが、そのソーシャルゲームを現実世界と結びつけようという試みが始まっているらしい。 この記事で最初に紹介されている HealthSeeker は、Facebook上…

カレンダーを使う

Gtk+ではカレンダーウィジェットというのが用意されているので、今回はこれを使ってみる。カレンダー上の日付を選択すると、その日付をテキストエリアに表示するという簡単なアプリケーションを作ってみた。(ソースは以下の場所に置いてあります) http://git…

メニューバーを使用する

なんか久しぶりすぎるが気にしない。w 今回はメニューの追加について。 メニューの構造は「ファイル」→「新規作成」「開く」など、階層構造になっていることが多い。1つの階層の構造は以下のようなクラスを使った構造で表される。 GtkMenuShell (メニューバ…

[GTK+] カスタムウィジェットの作り方

ということで自前のウィジェット作成してみた。「警告つきパスワード入力欄ウィジェット」とでも呼べばいいか。ウェブ上にある会員制サイトに登録をしようとすると、たいていパスワードの登録を求められる。サイトによっては、パスワード欄に入力されたパス…

github はじめました

なんか今更な感じだけど。 http://github.com/egawata使い方これで良いのかしら… なんかうっかりヘンなファイルが上がってるのを見つけたら教えてくださいw

[GTK+] 描画する色を指定する

線を描画するの続き。 前回のプログラムでは、線の色として、そのウィジェットの前景色として指定されていたものをそのまま使っていた。しかし、描画する色を明示的に指定したい場面も多々ある。そこで今回は描画色を指定する方法について。点を打つときに使…

パフォーマンスを最大化するために必要なこと

Time Power を引き続き読んでいる。最大のパフォーマンスを得るための12個の実証済みの原則 (Twelve Proven Principles for Peak Performance) という項目があった。とりあえず気になったものをば。 時間を上手く管理するため、自分を「工場」に見立てる 工…

[GTK+] 線を描画する (解説編)

さて昨日の線描画プログラムの解説をば。長いよ。w 28 GtkWidget *window, *area; ... 38 area = gtk_drawing_area_new(); GtkDrawingArea ウィジェットを生成する。 GtkDrawingArea というのは GtkWidget の派生オブジェクトなのだが、他の派生オブジェク…

[GTK+] 線を描画する

とりあえずウィンドウ内に線を引いてみた。 時間がないので説明は明日以降で(ぉぃ 1 #include <gtk/gtk.h> 2 3 static void destroy(GtkWidget *window, gpointer data) 4 { 5 gtk_main_quit(); 6 } 7 8 void draw_point(GtkWidget *area, gint x, gint y) 9 { 10 gdk_d</gtk/gtk.h>…

スキルアップをより効果的に行うための6つの方法

Time Power: A Proven System for Getting More Done in Less Time Than You Ever Thought Possible という本をSafariで読んでる。この中で、効果と効率性を高めるために自己をプログラムする方法というのがいくつか紹介されていた。 注:以下は、同書で紹介…