memo

データベーススペシャリスト試験

受かってました。 ちょっとDB設計が難しい案件があったので、基礎を勉強しなおそうと思ったのが受験した理由です。 参考書はこれ一冊。普段DB触っていて、ある程度過去問題を解いていればいけると思います。情報処理教科書 データベーススペシャリスト 2015…

毎日なんでもいいから365日、その日知ったことや試してみたことを書き続けるという試みではてなダイアリーを書き始めて 結局1000日くらい続けてきたんだけどそろそろやめようと思う。 これからは必要なときに自分用のメモを残すくらいにして、ちょっと時間の…

Python Prompt Toolkitをdjangoで使う

昨日、Python Prompt Toolkitを試してみて、djangoでも使えるといいなと書いたんだけど、django-extensionsのコード見たら実装されてた。 https://github.com/django-extensions/django-extensions/commit/510201103d9c2f5e3ce41d974e588011b8eab4ab こんな…

GithubやBitBucketをまとめて検索できるsearchcode

searchcode | source code search engine このリンクのブクマで知った。 if(version,startswith("windows 9") | source code search engine startsWith("Window 9")が世の中にはいっぱいある。

アニメーションするSVG Icon

どこか使ってみたい Animated SVG Icons: Using Snap.svg to animate SVG icons

Safariのオートコンプリート

ログインが必要なサイト内で、ログインフォームとは別の画面にtype="password"の入力フォームがある場合、ログイン時のユーザー名とパスワードが勝手に補完されるというケースがあった。結果的に意図しないパスワードの更新が走ってしまうという、よろしくな…

AppRegistryNotReady: Models aren't loaded yet.

Pycharmの「Run manage.py Task」から「shell」を起動してmodelsをimportしたら以下のエラーになった AppRegistryNotReady: Models aren't loaded yet.Djangoのバージョンは1.7。 runserverしてアプリを動かす分にはエラーにならないし、Pycharmを通さずTerm…

mysqlでクエリ結果をファイル出力する

リモートサーバーなどで、コンソールからmysqlにクエリ投げた結果をコピペして、スプレッドシートに貼り付けたい 標準の出力だと罫線がじゃまなのでちょっと調べてた INTO OUTFILEでファイル出力できた select * from help_keyword limit 10 into outfile '/…

プロジェクトマネージャ試験

敗北。。午前1は免除。 午前2、午後1は問題無かったが、手書き論文に苦戦した。案の定論文がB判定でアウト。 午後1の勉強は、結構おもしろかった。 問題の形式として、うまくいっていないプロジェクトの説明があって、プロジェクトマネージャがどのように対…

Djangoのテンプレートで、キーに変数を指定して辞書にアクセス

context_dataに辞書が渡されていて、テンプレートでアクセスする例views.py from django.views.generic import TemplateView class HomeView(TemplateView): template_name = 'sample/home.html' def get_context_data(self, **kwargs): ctx = super(HomeVie…

djangoのListViewで検索結果をページングするときのあれこれ

適当に作ったサンプル from django.views.generic import ListView from items.forms import ItemSearchForm from items.models import Item class ItemListView(ListView): model = Item paginate_by = 10 def __init__(self, **kwargs): super(ItemListVie…

DjangoのFormとテンプレート描画

web開発案件では、アプリが出力する画面のイメージが顧客からhtmlで提供されることがある。一方、djangoのFormライブラリはform部品のhtmlを出力することができるが、顧客提供のhtmlと一致しないケースはよくあると思う。 こんなふうにかければ楽なんだけど…

MacOSXで使えるバイナリエディタ「Hex Editor」でファイル比較をする

バイナリファイルのdiffを調べたいケースがあったので、MaxOSXで使えるツールを探していて、App Storeにいくつかあったのでそのうちの一つ「Hex Editor」を 試してみた。 Mac App Store - Hex-Editor 比較したいファイルを両方開いた状態でFileメニューから…

Pycharmのunittest.skipのエラー

3.1にしたあたりで直ってたらしい。PycharmでDjangoのtest実行でunittest.skipがあるとエラー - brainstorm

mysqlでrootのパスワードを変更する

mysqladmin -u root -pcurrentpassword password 'xxxxxxxxxx' もしくは $ mysql -u root -pcurrentpassword set password for root@localhost=password('xxxxxxxxxxx');

コマンドラインでスクリーンショットをを取得する「pageres」

sindresorhus/pageres簡単にスクリーンショットが撮れる インストール npm install --save pageres 使い方 解像度を指定できる $ pageres Specify at least one url Get screenshots of websites in different resolutions. Specify urls and screen resolut…

ターミナルに水平の罫線を引くツール「hr」

LuRsT / hrmacだとbrewでインストールできる。 brew install hr ワンライナーで似たようなことができる printf "%`tput cols`s"|tr ' ' '#' あとgoでも書いてみた。yuhei0718/gohr package main import ( "os" "syscall" "code.google.com/p/go.crypto/ssh/t…

Django/QuerySetのvalues_listでレスポンスをフラットにする

>>> User.objects.values_list('id') [(1L,), (2L,), (3L,)] flat=Trueで。 >>> User.objects.values_list('id', flat=True) [1L, 2L, 3L] 同じことはリスト内包表記を使ってできるけどいまいち >>> [u.id for u in User.objects.all()] [1L, 2L, 3L]

パターンに一致するredisのキーをまとめて削除

xargs redis-cli KEYS "pattern:*" | xargs redis-cli DEL

範囲を指定してリスト(スライス)の値を削除する

pythonで[]を代入する書き方があるって知らなかった。 # coding=utf-8 l = [i for i in range(0, 10)] assert l == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 範囲を指定して値を削除 # del [2:4] l[2:4] = [] assert l == [0, 1, 4, 5, 6, 7, 8, 9] goのスライスだ…

Fatal error: Can't open and lock privilege tables: Incorrect file format 'user'

ubuntuサーバで動かしていたmysqlが落ちてた。 しかも立ち上がらない。エラーログ $ cat /var/log/mysql/error.log 140208 21:11:32 [Note] Plugin 'FEDERATED' is disabled. 140208 21:11:32 InnoDB: Initializing buffer pool, size = 8.0M 140208 21:11:3…

sqlite3-rubyのインストールでエラー

3年くらい前にローカルで使うために作ったRailsアプリを動かそうとして、bundle installしたら、sqlite3-rubyだけインストールできない。見覚えがあるエラー。 gem install sqlite3-ruby Building native extensions. This could take a while... ERROR: Err…

Mac OSXでキーリピートを加速する

昔設定してた記憶があるんだけど、どこかで環境作りなおしたときから、デフォルトの速度になっていたらしい。今日は唐突に「あれ、なんかカーソルの遷移遅くてイライラする」と思ったのだけど、慣れというのは恐ろしいもので、わりと長い間遅いカーソルと付…

flake8でSouthのmigrationsファイルをチェック対象から外す

PycharmのExternal Toolsに、ディレクトリごとflake8のチェックをかけるツールを設定をしているんだけど、southのmigrationsファイルがひっかかるのがイマイチだった。exclude設定ができないはずはないんだから早く設定すればよかった。

Go言語の並行処理ライブラリ「coop」

rakyll/coop goroutineとchannelを使った並行処理をわかりやすく書けるこんな感じ3秒後に関数を実行 // 指定した時刻に関数を実行 done := coop.At(time.Now().Add(time.Second*3), func() { fmt.Println("Hello, world") }) <- done 1分後まで、3秒ごとに関…

コードをシェアしてリアルタイムで編集できる「codeshare.io」

ちょっと触ってみたけど面白かった。CodeShare.io アクセスすると一意なパスが割り振られて、ページ上にエディタが表示される。一意なURLをシェアしたい相手に伝えて開いてもらうと、同じエディタをリアルタイムで閲覧、編集できる。試してないけど、ビデオ…

MacでMercurialのHTTPS認証のパスワードをキーチェーンに保存する

いちいちuser/passを入力するのが面倒。一つの方法として~/.hgrcにuser/passを書いてしまう手がある。 [auth] er.prefix = https://example.repository.com er.username = {username} er.password = {password}ただし平文でパスワードを書くことになる 別の…

DartEditorのemacsキーバインド

そういえばDartって最近どうなのかなと思って、チュートリアルをやってみていた。EclipseベースのDartEditorなるものが用意されているので使ったんだけどキーバインドの設定がxmlをexportして、自分で編集してimportする方式。これで自分好みのキーバインド…

Genymotion起動時に「could not obtain an IP Address」エラーが出る場合

ホストオンリーネットワークの設定を確認する。 以下の設定に修正したらちゃんと動いた。

GenymotionでKindleをインストールしたときのメモ

「**** With Apps」となっているvirtual deviceをインストールすればGoogle Playが最初から入っている、というエントリをよく見るけどリストに出てこない。Genymotionのバージョンによるものらしい。 どうにかしてGoogle Playを入れて、Kindleを使いたいと思…

PycharmでDjangoのtest実行でunittest.skipがあるとエラー

Pycharmの起動構成からdjangoのtestを実行する場合、unittest.skipにunicode文字列を渡しているとエラーになるみたいなのでメモしておく。 # coding=utf-8 from django.test import TestCase from django.utils import unittest class TestSample(TestCase):…

Go言語でランダムな文字列を取得する

martini-congrib/sessionsでセッションIDを取得するあたりのコードを読んでいて見つけたのでメモ。だいたいこんな感じ。 io.ReadFull(rand.Reader, b)でランダムなバイト配列を取得できる。 package main import ( "crypto/rand" "encoding/base32" "fmt" "i…

brew installで limit exceeded

brew installでエラーがでた。 Error: GitHub API rate limit exceeded for 210.148.137.104. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.) You may want to create an API…

CCENT受けてきた

ネットワークスペシャリスト試験がたぶん不合格だろうと思っていたので、ネットワーク関連でもうちょっと簡単なテストを受けて、基礎を固めようと思って申し込んでいた。結果1000点満点、804点以上合格、933点で合格。感想Ciscoの資格のなかで一番簡単なもの…

ネットワークスペシャリスト試験

今日の正午合格発表。 今回は無理だなと思ってたけど、ぎりぎり受かってた。情けない点数、、 参考図書など以下4冊の問題を繰り返し解いて解説を読んだ2013 ネットワークスペシャリスト「専門知識+午後問題」の重点対策 (情報処理技術者試験対策書)作者: 長…

DashのSnippetをDropboxに保存

今までスニペットはemacsのyanippetとかpycharmのlive templatesを使っていた。ところが当然だけど、それだと同じスニペットでも、アプリごとに設定することになる。今までそれほどきにしてなかったけど、なんとなくDashのSnippetをちゃんと使おうと思いたっ…

スピードメーターのように数字を表示するライブラリ「odometer」

Odometer ― Transition numbers with ease スピードメーターみたいにアニメーションして数字を表示できるライブラリ。 ちょっと触ってみて遊んでいた。 jQueryなど依存ライブラリ無し。 テーマがいくつか用意されていて、シンプルなやつから 使い所がなさそ…

Go言語で配列の各要素が全て条件を満たすかどうかを調べる

関連 : 配列の各要素が全て条件を満たすかどうかを調べる - brainstorm Go言語だとビルトインには無さそう。 自前で書くとこんな感じか package main import ( "fmt" ) func All(vs []string, f func(string) bool) bool { for _, v := range vs { if !f(v) …

Go言語で基数変換

関連 : pythonで10進数からn進数に基数変換 - brainstorm package main import ( "fmt" "strconv" ) import () func main() { for i := 2; i <= 36; i++ { fmt.Println(strconv.FormatInt(10000000, i)) } } 実行結果 100110001001011010000000 200211001102…

Go言語で文字列を1文字ずつのリストにする

関連 : python、rubyで文字列を1文字ずつのリストにする - brainstormruneじゃなくてstringのリストにする package main import ( "strings" "fmt" ) func main() { str := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" fmt.Printf("%…

Go言語でSHA-1

暗号やハッシュについては、cryptoパッケージにいろいろ揃っている。 crypto - The Go Programming Language package main import "crypto/sha1" import "fmt" func main() { s := "任意の文字列" h := sha1.New() // バイト配列を渡す h.Write([]byte(s)) /…

Go言語でファイルの情報を得る

ファイル名やサイズなどを取得 package main import ( "fmt" "os" ) func main() { f, _ := os.Open("main.go") defer f.Close() if fi, err := f.Stat(); err == nil { fmt.Printf("ファイル名: %s\n", fi.Name()) fmt.Printf("ファイルサイズ(byte): %d\n"…

Go言語でShiftJISのファイルを読む

go.textパッケージを使う $ go get code.google.com/p/go.text/encoding $ go get code.google.com/p/go.text/encoding/japanese 使い方を調べるためにsjisのファイルをeucjpに変換してコピーする処理を書いてみた package main import ( "code.google.com/p…

Go言語で文字列を1文字ずつ処理する

rangeにstringを渡すとbyte positionとruneを1つずつ取得できる package main import ( "fmt" "unicode/utf8" ) func main() { s := "あいうえお" // rangeにstringを渡すとpos,runeを順に返す for pos, r := range s { fmt.Printf("character %c starts at …

Go言語で文字列を逆順に並び替える

参考 : How to reverse a string in Go? - Stack Overflowstringをruneの配列に変換する方法、逆にruneの配列をstringに変換する方法がわかった。 package main import ( "fmt" "unicode/utf8" ) func Reverse(s string) string { runes := []rune(s) for i,…

Emacsでウインドウを1ストロークで移動できるようにした

C-x oで移動するのが面倒くさくなったので、1ストロークで自由に移動できるようにしたかった (global-set-key (kbd "<C-s-left>") 'windmove-left) (global-set-key (kbd "<C-s-down>") 'windmove-down) (global-set-key (kbd "<C-s-up>") 'windmove-up) (global-set-key (kbd "<C-s-right>") 'windm</c-s-right></c-s-up></c-s-down></c-s-left>…

Pycharmでコードをフォーマットしてから保存する

最近ほんのちょっとずつだけどGo言語を勉強してみている。Go言語で書くときはemacsを使うのだけど、gofmtが保存時に動くように設定してあって、これが結構気持ちいい。 コード書いてるときはフォーマットを全く気にしなくても保存時に直してくれる。 (setenv…

Pythonでコマンドライン引数に渡されたマルチバイト文字をunicode型に変換する

argparseでマルチバイト文字を渡すとバイト列型として取得されるunicode型として扱いたい場合はdecodeする必要があるが、エンコーディングをどうするべきか調べてた多分sys.getfilesystemencodingを使えばいいんだと思うけど、macosxのpython2、python3でし…

Mountain LionでWiresharkを起動する

起動しようとするとX11が必要という。前は使えてたのでMountain Lionから必要になったと思われる Mountain LionのX11については以下のページに情報がある X11 および OS X Mountain Lion について ページのリンクからXQuartsをDLするXQuartz XQuartsをインス…

jsonをcsvに変換する「json2csv」

go製のjsonをcsvに変換するコマンドラインツールjehiah/json2csv インストール go get github.com/jehiah/json2csv 使い方 $ json2csv --help Usage of json2csv: -i="": /path/to/input.json (optional; default is stdin) -k=[]: fields to output -o="": …