✖
✖
同じような構図ばっかり撮っている気がする。もうちょい別の考えよう
以下の正規表現にマッチする評論はおもしろくない
.
✖
僕はストリートビューはキモく感じたりしないなぁ。
✖
どうせリア充から「おまえはクソみたいな日記を全世界に公開してるから麻痺ってんだろカス」とか言われるから詳しく書けない。
✖
GET http://www.cpan.org/modules/02packages.details.txt.gz | gzip -d | cut -d " " -f 1
微妙にヘッダのよけいなのがのこる
✖
一週間がおわった。今週は Perl で、MoCo と、Ridge を使って、一つのウェブアプリを作っていく感じだった。インターン生はやたら構ってもらえるのでびびる。来週はウェブアプリがどうこうから離れて大規模開発の手法とかみたい。このはてなインターンプログラムはかなりいろいろ力が入っていて恐縮しまくる。
関連エントリー
- はてなインターン はてなサマーインターンに参加させて頂いており、はてなのみなさんにハイパーお世話になっています。カリキュラムががっつりあるガチインターンシップ...
- Chrome for Android での HTML5 アプリケーションキャッシュ 全部のファイルをキャッシュさせても、一瞬で表示される感じではなく、ローディングバーが表示され、あくまでロードが走っているようにみえる。この時...
- ✖ もともと自分は Ruby 厨であるが、最近 Ruby は書き捨てのプログラムを書くのために使うにすぎず、ウェブアプリの言語としては Scal...
- FNIRSI DPS-150 安定化電源のUSBプロトコルを解析してアプリ実装した FNIRSI DPS-150 直流安定化電源 0~30V 0~5A電圧電流調整 CNC プログラマブルスイッチング電源 4桁 IPSディスプ...
- Manifest for a web application https://w3c.github.io/manifest/ https://developers.google.com/web/upda...
非決定性計算
id:Gemma さんに教えてもらった。amb がスゲーんだよって話をしていて、amb ワカンネーつって、そもそも非決定性計算がなんなのか (用語的にまったく) わかってなくて調べたりきいたりしたメモ
- 非決定性計算 → 非決定性は「曖昧」って意味 → amb/iguous
- コード中で、値が曖昧なものは曖昧なままコードを書いて、計算結果をだす
- その部分のコードだけ見ると、まるで答えが既にでているかのように見える
- ↑ 宣言的なコードになる
- パズルみたいなのがキレイに解ける。すごい
- 中でやってることは総当たりだけど、実装法によって効率が変わる
- バックトラックするために継続つかったりする
- 遅延評価するとバックトラックと同じことになったりする → List モナドがほげほげ
適当な言語で実装してみよう。しかしほんとパズルとかやったことないな!
✖
Perl: map にブロックわたす
メモ
my $l = sub {
$_ * $_
};
my $foo = [
map
&$l,
100, 200, 300
];デリファレンスするのか! リファレンスそのままわたしてみて、わたせないとおもってた……
errormaker.vim と JS の syntax error 検知
まじべんり。いままでなんか syntax error が起きている気がするときは、手で js -s -w -C をうっていたのですが、激しくうちにくいので erorrmaker.vim でやれるようにしてみた。
#!/bin/sh
# vim:set ft=sh:
# ~/.vim/vimparse.js
# sudo port install spidermonkey
js -s -w -C $1 2>&1 \
| grep ':$' \
# | grep -v 'test for equality' \" ftplugin/javascript/flyquickfixmake.vim
" require spidermonkey
setlocal makeprg=$HOME/.vim/vimparse.js\ %\ $*
setlocal errorformat=%f:%l:%m
setlocal shellpipe=>
if !exists("g:javascript_flyquickfixmake")
let g:javascript_flyquickfixmake = 1
au BufWritePost *.js silent make
endif配列やオブジェクトリテラルの最後のカンマとかも -s つけると検知できるので、ほんとべんり。ラッパスクリプト書いたのは、一部のエラーを無視したり、spidermonkey が入ってない環境でチェックするためだけど、まだ困ってないので特になにもやってない。
strict warning: test for equality (==) mistyped as assignment (=)?:
do {
var node = ...;
...
} while (node = node.next());条件のところに代入演算子つけたとき、spidermonkey の strict モードの警告でstrict warning: test for equality (==) mistyped as assignment (=)?:
ってのがでる。よくある代入演算子と比較演算子の間違えを警告してるっていう便利な(?)機能なんだけど、errormaker.vim つかってるとうざい。
で、ラッパスクリプトでこの警告だけ常に排除してもいいのだけど、nanto_vi さんに twitter で教えてもらったところによると
do {
var node = ...;
...
} while ( (node = node.next()) );括弧で囲って式を明示するとでなくなるらしい。これからはこう書こう!
strict warning: anonymous function does not always return a value:
これは return が怪しいときにでる警告なんだけど、結構微妙な挙動をする。
// 最初の return が何も値を返していないので、これは警告がでる。
function (a) {
if (!a) return;
return 1;
}// これは警告がでない
function (a) {
if (!a) return;
return;
}// もちろんでない。
function (a) {
if (!a) return null;
return 1;
}// これはとても残念ながら警告がでる
function (a) {
if (!a) return null;
return 1;
function foo () {
}
}↑ この形は割と使うのでちょっと困る。けど、次からは先頭に書こう……
// これはでない。
function (a) {
if (!a) return null;
return 1;
function foo () {
}
return 1;
}
List::Enumerator without Moose
なんかやっぱこういうライブラリ (適用範囲がひろい) で Moose つかってると使いにくいので、Moose なしのをつくってみました。POD 変えたりしたら Moose ナシでリリースしたいです。


