読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

2015-01-01から1年間の記事一覧

オープンソースのコンピュータ囲碁

昔オープンソースのコンピュータ囲碁にどんなものがあるのか調査したメモを公開します。 他にご存知の方、教えてください。 KataGo レポジトリ: https://github.com/lightvector/KataGo 言語: C++, Python ライセンス: 独自(著作権と許可の表記義務) コメン…

パッケージが外部コマンドを起動できない時は

Rustaceanになろうと四苦八苦しています。 Atomでlinter-rustを入れて、cargoで作ったプロジェクトをいじると、 Failed to run cargo spawn cargo ENOENTというエラーが出ます。cargoがパスにないようです。OS XのYosemite以降、ターミナルからコマンドを起…

日本語マニュアルにカスタム検索機能付けました

Maxima日本語マニュアルにカスタム検索機能を付けました。 http://maxima.osdn.jp/maxima.html

日本語マニュアル更新

Maximaの日本語マニュアルを5.37.2に更新しました。 (10月11日に更新したのですが、1箇所訳せなかった部分がようやく訳せたので告知させていただきます。)一度引退したはずなのですが、変更箇所が少ない状況が続いていますので、まあやっちゃうかという感じ…

underscore形式の名前をCamelCaseに変換する

Atomのfind-and-replaceは正規表現が使えますが、JavaScript仕様なので、置換文字に\u(小文字を大文字に変える)などのメタ文字が使えません。 JavaScriptのreplaceは置換文字列引数に関数を与えることができ、それでなんでも変換できるようになっていますが…

Collection Typeを使う重い計算にSwiftを使うにはまだ時期が早い?

アルゴリズムに専念できる「高級」言語でコンピュータ囲碁をやってみたいと思い、Swiftを選択してみました。 原始モンテカルロ碁を実装してみて、結論として、残念ながらSwift 2ではまだこういう計算は大変という結論を得ました。以下、ボトルネックとなった…

cloneメソッド

最近、Swiftを始めました。Swiftはいいとこ取りの言語で、どこかで見た良さげな言語仕様が採用されているので書きやすいです。 でも、インスタンスをコピーするcloneメソッドで苦労しました。事実上finalのクラスに単にcloneメソッドを実装する分には何の問…

Bootstrapのドロップダウンメニューのhover効果をiOS Safariで改善する

Bootstrap(3.3.5)は様々な場所でCSSのhoverを利用しています。 残念ながらiOS Safariではhoverに該当する状態がなく、ドロップダウンメニューでどれをタッチしたかわかりにくいなどという問題が発生します。検索すると、hover対応の凝ったJavaScriptコードが…

TAPi18nのページロード時の振る舞いの改善

Meteor + Iron Routerの国際化にiron-router-i18nとTAPi18nを使っています。 TAPi18nはなぜかデフォルト言語として英語を読み込み表示、その後setLangaugeで言語が設定されるとその言語に切り替えると仕組みになっています。 なので、ネットワーク遅延の目立…

ファイルの文字コードの自動判別

AtomでシフトJISのファイルを扱うことがあって、自動判別忘れに苦しみました。 ググるとちゃんと解決してくれている人がいました。 ATOM でファイルを開いたら自動文字コード判定を行う ところが、これだと手動でファイルを開いた時にはOKですが、フォルダ指…

レスポンシブなページネーション

Bootstrapのページネーションボタン、長すぎると困ります。 で、レスポンシブにしてくれるjQueryプラグインがありました。 http://auxiliary.github.io/rpage/ 素晴らしい。 ただページネーションの隣にインライン要素があると動かなかったり、コードが少し…

Iron Routerのフックの覚書

Iron Routerには以下の5つのフックが定義できるようになっている。 onRun onRerun onBeforeAction onAfterAction onStop その他に呼び出しのタイミングを考慮する上で、 subscriptions waitOn オプションがある。ここまでで1つ覚えておくことは、onRun, onSt…

アプリを検索クローラーに見てもらう

作ったMeteorアプリをGoogleで検索すると、URLとタイトルは引っかかるのですが、中身が空白です。 ウェブアプリは仕方がないのかと思っていたのですが、ちゃんと枠組みがあるのですねぇ。 Making AJAX applications crawlable Meteorにもspiderableというパ…

ImageIdentifyをREST APIとして使う

Twitter友達からWolfram Language Image Identification Projectを教えていただきました。こんな記事がありますね。 http://gigazine.net/news/20150527-wolfram-language-image-identification-project/ で、これをREST APIとして使えるかどうか調査しまし…

MeteorでRatchet

モバイルCSSフレームワークRatchetのMeteorパッケージはいくつかありますが、ほとんどは、オリジナルのファイルをラップしたものでした。 1つだけ、ページ遷移のアニメーションをサポートしたものがあったので、そのご紹介と私の改良を簡単に書きます。 htt…

日本語マニュアル 5.36.1

英語マニュアルをちょっと見てみたら更新量が少なかったので、日本語マニュアルも更新しました。 http://maxima.osdn.jp/maxima.html sourceforge、URLが変わったんですね。Maxima,最近あまり活動が活発ではないのでしょうか? 構文を関数型っぽいモダンな…

Iron RouterとappcacheとUIWebView

appcacheを入れたMeteorのアプリがUIWebViewで動かないことが多々あるという不具合に半年前気がついたのですが、ようやく原因がわかりました。因果関係は置いておいて、原因は、 iOSのUIWebViewやWKWebViewは、window.locationにURL文字列を代入した時、高確…

複数のアプリで1つのアカウントデータベースを使うその2

以前に、remote DDP serverのデータベースでユーザー管理を行う方法を書きました。 複数のアプリで1つのアカウントデータベースを使う この記事でも書いた通り、OAuthなどcallback URLを使う認証の場合はうまくいかないので、以下のように考えてみました。1.…

OpenCV3をMacにインストールする

追記(2015/07/24): HomeBrewにフォーミュラhomebrew/science/opencv3が追加されて、特に苦労することなくインストールできるようになっていました。 OpenCV3 ベータ版が昨年11月に公開されました。 Python3でOpenCV3のプログラムを書いてみたいと思い、イン…

サインインユーザーの現在閲覧ページモニタ

前回に続いて、サインインしてるユーザーの閲覧状態をモニタするコードです。苦労したところは、サーバー側を更新した時のイベントです。明示的なAPIはないので、リアクティブなMeteor.status()を使いました。 # (C) 2015 ICHIKAWA, Yuji (New 3 Rs) ### Iro…

Current Visitorsパッケージ

Meteorのパッケージを初めて登録してみました。 Iron Routerを使っている時に、各ページを見ている訪問者数を取得するパッケージです。 https://github.com/new3Rs/current-visitors

ニコニコウェブ公開

新サービス発表します。 ニコニコウェブ http://niconicoweb.meteor.com/ 既存のサイトを、ニコニコ生放送のようにみんなでコメントしながら楽しもうというサービスです。入力欄にURLを入れると、見たいページに飛びます(実際にはiframeで埋め込み表示です)…

日本語マニュアル 5.35.1

Maxima 5.35.1に合わせて日本語マニュアルを更新しました。 http://maxima.sourceforge.jp/maxima.html 勝手ながら今回で、Maxima 日本語マニュアルのメンテナンスを卒業します。 翻訳を始めたのはおそらく2009年の春。足掛け6年弱ですか。バージョン5.18か…