2012-01-01から1年間の記事一覧
v0.8.16 (homebrew ver.) だと上の3つがOK, v0.6.19 (nvm ver.) だと上2つがOK。どれも同じように見えるんだけどなあ。 #!/usr/bin/env node try { console.log("#require %s", require); // OK } catch (e) { console.error(e); } try { console.log("#eval…
perlbrew execでいけます。 perlbrew exec cpanm Text::Xslate
MonoはMono.Posixアセンブリを使うとPOSIXの関数を呼び出せるようだ。 そこでCのstdioを使ってcat(1) を実装してみた。 https://github.com/gfx/mono-cat // $ mcs -r:Mono.Posix Cat.cs using System; using Mono.Unix.Native; public class Cat { public s…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
遅くなりましたが、AltJS Advent Calendarの7日目です。PhantomJSというのは、コマンドラインで使えるJavaScript実行環境です。Mac+Homebrewだと brew install phantomjs でインストールできます。さて、まずは以下のようなJavaScript source codeを用意して…
このふたつのVIM pluginを同時に使うとき、何も設定しないと、補完の最初の候補が自動で選択されるという大変うざい状態になります。 これはneocomplecacheのFAQのようで、ドキュメントにしたがって設定する必要がありました。neocomplecache.txt Q: Does no…
Objective-Cの残念な子なところ - soutaroブログそれ、(ARC使っていれば)RAIIでもっと簡潔にできると思います。 @interface AutoTimer : NSObject -(void)report; @end @implementation AutoTimer { NSString *label; NSDate *start; } -(id)initWithLabel:(…
最近のObjective-CはARCというオブジェクトポインタをスマートポインタにする機能があり、これのおかげでiPhoneアプリの開発ではRAIIができる。つまり、不要になったオブジェクトはその瞬間にデストラクタ(-dealloc)が呼ばれるため、デストラクタ内でリソー…
Do not ship modules with Module::Install 1.04 (by miyagawa)Module::Install 1.04 をインストールしているモジュールをperl 5.16.0および5.16.1 にインストールできないという問題があるようです*1。問題のあるモジュールのリストがあるので該当作者はア…
JSX compilerには--testというオプションでユニットテストを実行することができます。これは実際には _Test クラスにある test*() を順に実行するものです。このとき、JSX compilerに引数としてテストメソッド名を与えると、そのメソッドだけ実行することが…
TypeScript, designed by Anders Hejlsberg, has been released recently from Microsoft.It is a JavaScript dialect with class syntax and optional static types, while JSX has class syntax, too, and mandatory static types.I personally welcome Ty…
TypeScript の web editor の出来に感動したので JSX web editor に補完機能をつけました。Ctrl+Space/Ctrl+P/. で補完候補を表示します。これはCodeMirror*1についてくるプラグインであるsimple-hint.jsとJSXコンパイラの補完機能をつかったものです。JSXコ…
MicroSoftから TypeScript というJavaScriptにコンパイルされるプログラミング言語がリリースされた。JavaScriptにコンパイルされる言語はJSX, CoffeeScript, Haxe, Dartなど数多いが、構文がJavaScriptのスーパーセットである点が従来のJavaScript系言語と…
JSXでunderscore.jsを使ってみた記事で指摘された問題はもっともで、JSX側で対応すべきと思います。ところでunderscore.jsのようなロジックだけのコードはテストがしやすいので再実装もしやすいし、どんどん作って行きたいと思っています。とりあえず以下の …
id:kazuhoさんによるJSXの入門記事の前編で、設計思想や言語仕様を中心に解説しています。もっとも、入門記事なのでJSXのドキュメントに親しんでいる方には物足りないかもしれません。Software Design (ソフトウェア デザイン) 2012年 10月号 [雑誌]出版社/…
// ExtensionMethodTest.cs using System; namespace MyExtensions { // from chapter 13, "Programming C#" public static class ExtensionMethods { public static string Right(this string s, int n) { if (n < 0 || n > s.Length) { return s; } else {…
JSXの補完はいままでシンボルだけでしたが、せっかく型があるのですから関数のプロトタイプや変数の型も表示してほしいところです。 とりあえず以下のように型を表示できるところまではできました。ブランチは JSX / jsx.vim ともに gfx/completion-detail …
いままではソースコード内で相対パスによるimportをしている場合、jsx --completeが動かないという問題がありました。 これはエディタの補完をする際、ファイルに保存せずにバッファの中身をjsxコマンドに渡す必要がありますが、jsxコマンドに与えられるファ…
JSXのJSON.parse() の戻り値はvariantなので、使用するときはtype castが必要です。そこでクラスにマッピングするのですが、これを自動的にはやってくれないので手動で行う必要があります。 class Name { var firstName : string; var lastName : string; fu…
JSXでスマートフォンのWeb appを作るのは、言語仕様よりもむしろスマートフォンのHTML5の仕様に引きずられるんですよね。それらを手っ取り早く学ぶには以下のスライド・エントリ・本がいいのかなと思いました。 html5でアプリの壁を超える方法 http://www.sl…
JSXをどうやって学べばよいか、メモしておきます。 言語仕様 言語仕様は jsx.github.com にドキュメントがあるほか、実例としては言語仕様のテストである JSX/t/run/*.jsx が参考になります。特に JSX/t/run/*.jsx は実際に開発するとなると頻繁にgrep する…
たとえば NodeJS 0.9.x などの開発版の環境でCIしたい、でもそのテストの失敗は必ずしもプロジェクトのバグとは限らないので通知はいらないしビルドステータスには影響してほしくない、というケースはあると思います。Travis-CIでこれを設定するにはallow_fa…
「次世代Webブラウザ向け言語はコレだ! 」と題して CoffeeScript , Dart, Haxe と共に JSX が紹介されているようです。これは見逃せませんね!!日経ソフトウエア 2012年 10月号 [雑誌]作者: 日経ソフトウエア出版社/メーカー: 日経BP社発売日: 2012/08/24メ…
JSX から WebAudio API を呼び出せるようになりました。これでJSXで HTML5 シンセサイザを作ることができますね。再生するコードはこんな感じ。webkitAutdioContext しか使っていないので今のところ Chrome でしか動きません。 /*** WebAudio example, playi…
WEB+DB Vol.70 (2012/8/24発売) に寄稿しました。Perl Hackers Hub #16 「Perl内部構造の深遠に迫る」です。WEB+DB PRESS Vol.70作者: 成田一生,高津戸壮,はまちや2,佐藤裕介,久森達郎,大窪聡,本田謙,和田英一,天野祐介,藤吾郎(gfx),奥野幹也,川添貴生,Dr.Ke…
Objective-Cではマルチスレッドでも安全にsingleton objectを初期化するための dispatch_once() というのが使えるようだけど、double-checked lockingは多少効果があるようだ。ただ最近の gcc/clangはデフォルトで -fthreadsafe-statics が有効なので Object…
「初めてのPerl 第6版」が発売されました - 近藤嘉雪のプログラミング工房 「初めてのPerl 第6版」がでたそうです - tokuhirom's blogPerl 5.14 に対応してモダンな書き方の説明になっているそうですので、Perl 5.8 のままおいていかれてる人や Perl 5.6 の…
1.5015までのXslateのキャッシュ更新メカニズムでは問題があると報告されたため、1.5016で修正しました。cache => 1 のとき、従来は render() ごとにテンプレートのキャッシュファイルのmtimeとテンプレートファイルのmtimeを比較してキャッシュの更新が必要…
perl 5.16.0 でメモリリーク - たごもりすメモ Re: perl 5.16.0 でメモリリーク? - tokuhirom's blog 修正してpull-requestを送りました。 https://github.com/mirrors/perl/pull/9 https://rt.perl.org/rt3/Ticket/Display.html?id=114340 ※ githubのpull-…
W3Cの仕様はMercurialで管理されているようだ。一覧は以下から。 https://dvcs.w3.org/hg/ これらは、たとえば以下のように個別にcloneすることになる。 hg clone https://dvcs.w3.org/hg/audio バグレポートは以下のbugzillaから行える。 https://www.w3.or…