Microsoft Visual Studio Express 2013 for Web
Silverlightアプリケーション
isolated storageを試してみようと思ったら次のエラー
'System.IO.IsolatedStorage.IsolatedStorageFile' に 'GetUserStoreForDomain' の定義がありません。
どういうことなんだ
BakedMemo
作業記録
2014年6月7日土曜日
2013年12月12日木曜日
標準出力先の文字エンコードが異なってもPythonのコードを変更せずに済む方法
問題:
Python 2.7を使用してSublime Text 2でBuildした際に,
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)
となる.
条件:
マルチバイト文字を使用した,標準出力を行っている.
原因:
unicode型をstr型のエンコードが正常にいっていない.
解決策:
以下を,標準出力が行われる前に貼付.
import locale,codecs enc = locale.getpreferredencoding(); sys.stdout = codecs.lookup(enc)[-1](sys.stdout)
解説:
Python 2.7 で日本語などのマルチバイト文字を扱う場合,次のように'の前にuを付けて使用する.
uni = u'日本語の文字列'
この変数uniを標準出力に表示させる場合,単に
print uni
とすることで大抵は正常に実行される.
ここで,実際に行われていることは,例えばコマンドプロンプトであれば
print uni.encode('cp932')
というように,cp932の文字コードでuniをエンコードした結果をprintしている.
このときに,エンコーディングに使用される文字コードは
sys.stdout.encoding
から参照することができる.
では,なぜSublime Text 2上でBuildするとエラーが発生したのか.
私の環境で,sys.stdout.encodingを参照してみたところ,帰ってきた値は
None
だった.
この場合,Python 2.7 ではunicode型からstr型からのエンコーディング時に
デフォルトでasciiを使用する.
当然ながら,日本語はasciiに存在しない文字であるため,エラーが発生ししてしまう.
私の環境ではSublime Text 2の標準出力はutf-8を利用しているので,
print uni.encode('utf-8')
と明示的に文字コードを指定してあげれば,正常に表示される.
しかしながら,このコードをそのままコマンドプロンプトなどの
標準出力文字コードが異なるターミナル上で実行すると
文字化けが起きてしまう(当たり前だが).
とりあえず,ネットの情報から以下のコードを追加すると,
他のターミナルでもある程度はそのまま表示されると思う.
enc = locale.getpreferredencoding(); sys.stdout = codecs.lookup(enc)[-1](sys.stdout)
ここで
enc = locale.getpreferredencoding()
で
そのターミナルで使用している文字コードを取得(?).
sys.stdout = codecs.lookup(enc)[-1](sys.stdout)
で,標準出力で使用する文字コードを指定する.
参考
2013年4月2日火曜日
avast!が無効になってしまったときの対処法
症状:
原因:
対処:
1. タスクトレイのMacTrayを右クリックして,プロセスマネージャーを起動.
(タスクトレイにアイコンがなければ,スタートメニューからMacType Trayを起動して再度試す)
2. 以下のプロセスを除外する.
3. PCを再起動して完了.
参考:
- avast!のアンチウィルスが無効になり,有効にできない.
- 「全て解決」を選択しても,サービスがシャットダウンされてしまう.
- ライセンスファイルなどに問題はない.
状況:
- Windows 7 でMacTypeをインストールしている.
- 最近,avast!のアップデートを行いバージョンを8にした.
原因:
- avast!8とMacTypeの干渉
対処:
1. タスクトレイのMacTrayを右クリックして,プロセスマネージャーを起動.
(タスクトレイにアイコンがなければ,スタートメニューからMacType Trayを起動して再度試す)
2. 以下のプロセスを除外する.
- AvastSvc.exe
- AvastUI.exe
- afwServ.exe
3. PCを再起動して完了.
- http://swinfield.hatenablog.com/entry/2013/03/08/MacType_%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%81%A8_avast!_8_%E3%81%8C%E6%AD%A3%E5%B8%B8%E3%81%AB%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8B%E3%81%AE%E3%81%A7
- http://miyataka519.blog38.fc2.com/blog-entry-314.html
- http://forum.avast.com/index.php?topic=116834.0
2013年2月25日月曜日
sublime text 2 + LaTeX
sublime text 2でビルドしようとするときに出るエラー
・Decode error - output not utf-8
LaTeX.sublime-buildに次の行を追加する。
"encoding": "cp932",
"windows":
{
...
"cmd": ["texify",
"-b", "-p",
"--tex-option=\"--synctex=1\""
],
"encoding": "cp932",
"path": "",
...
}
・[Error 2] 指定されたファイルが見つかりません。
(1) 環境変数Pathが正しく設定されていない場合は設定する。
(2) 設定している人は落ち着いてPCを再起動する。
解決しなかった人は別の方法を試してください。
・Latexmk: -dvipdf bad option
-dvipdfオプションを消す。
追記
正しくは-pdfdvi
詳細はlatexmkのオプションを参照のこと。
2013年1月24日木曜日
Homebrewの前にMacTexを入れてしまった
MacにTex環境を整えようと,Homebrewで
$ brew install tex
と打つと,「MacTexを使って入れてね☆(ゝω・)v」と言われます.
そのまま何も考えずに,MacTexのホームページからMacTex.pkgをダウンロード.
pkgからインストーラを起動し,「続ける」を連打した結果.
/usr/local/bin/
にghostscriptやらのフォルダがroot権限で出来上がりました.
(/usr/local/binはHomebrewが管理するファイルが格納される場所)
もちろん,Homebrewの管理下はないため,
几帳面な人にとっては非常に精神衛生上よろしくないことに.
てなわけで綺麗にしていきます。
ghostscript
$ brew install ghostscriptでインストール
最後,リンクがうまくいかないのでやり直してと言われる.
$ brew link --overwrite --dry-run ghostscript
と打つと,MacTexで入れたghostscript関連の競合しているファイルがリストで表示される.
$ brew link --overwrite ghostscript
と打つと,リストのファイルが全て上書きされる.
しかし,まだエラーが
$ brew link --overwrite ghostscript
Linking /usr/local/Cellar/ghostscript/9.06... Warning: Could not link ghostscript. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/ghostscript/9.06/share/ghostscript/Resource
/usr/local/share/ghostscript is not writable. You should change its permissions.
権限を変更しろといわれるので
$ sudo chown -R ユーザ名:admin /usr/local/share/ghostscript
でOK。
その後、
$ brew link ghostscript
とすれば、
Linking /usr/local/Cellar/ghostscript/9.06... 61 symlinks created
となる。
また、
brew doctor
とすると、
Warning: Some directories in /usr/local/share/man aren't writable.
This can happen if you "sudo make install" software that isn't managed
by Homebrew. If a brew tries to add locale information to one of these
directories, then the install will fail during the link step.
You should probably `chown` them:
/usr/local/share/man/de
/usr/local/share/man/de/man1
となったので、さっきの要領でこちらも権限を変更する。
$ sudo chown -R ユーザ名:admin /usr/local/share/man
OK。
imagemagick
$ brew install imagemagick
と、打つ。
Warning: Could not link imagemagick. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link imagemagick'
ここでも、リンクが上手くいかないといわれるので解決する。
$ brew link --overwrite --dry-run imagemagick
Would remove:
/usr/local/etc/ImageMagick/type.xml
/usr/local/etc/ImageMagick/type-windows.xml
/usr/local/etc/ImageMagick/type-ghostscript.xml
/usr/local/etc/ImageMagick/type-dejavu.xml
/usr/local/etc/ImageMagick/thresholds.xml
/usr/local/etc/ImageMagick/quantization-table.xml
/usr/local/etc/ImageMagick/policy.xml
/usr/local/etc/ImageMagick/mime.xml
/usr/local/etc/ImageMagick/magic.xml
/usr/local/etc/ImageMagick/log.xml
/usr/local/etc/ImageMagick/delegates.xml
/usr/local/etc/ImageMagick/colors.xml
/usr/local/etc/ImageMagick/coder.xml
/usr/local/bin/convert
/usr/local/share/man/man1/convert.1
こんもり。全部上書きします。
$ brew link --overwrite imagemagick
Linking /usr/local/Cellar/imagemagick/6.8.0-10... Warning: Could not link imagemagick. Unlinking...
Error: Permission denied - /usr/local/etc/ImageMagick/type.xml
権限がないと言われたので、権限を変更、その後再度実行。
$ sudo chown -R inabakengo:admin /usr/local/etc/ImageMagick
$ brew link --overwrite imagemagick
Linking /usr/local/Cellar/imagemagick/6.8.0-10... 71 symlinks created
OK。
MacTex
公式のMacTex.pkgからインストーラを起動。
途中のInstalation Type画面のカスタマイズボタンを押し、
GhostscriptとConvert-IMのチェックを外しておく。
後はそのまま。
インストールが完了したら、TexLive Utilityを起動し、自動アップデートを行う。
更新情報がうまくダウンロードできなかったらリポジトリのURLを変えてみる。
設定→リポジトリを管理→好きなサイトを選択。
その後、「作業→すべてのパッケージを更新」とする。
2013年1月22日火曜日
igo-phpを使って形態素解析をする方法
XAMPP for MacのPHPでMecabを使おうとして挫折した愚か者のメモ。
形態素解析をもっと簡単に使える方法を探す
→igo-phpを発見。
READMEによると、
igo-phpのダウンロード
展開後、好きな場所にコピーし、php.iniのinclude_pathに追加する。
igo本体のダウンロード
mecabの辞書をダウンロード
jarファイルと辞書フォルダを両方共ホームディレクトリにコピー。
以下のコマンドを入力する。
$ java -cp igo-0.4.5.jar net.reduls.igo.bin.BuildDic ipadic mecab-ipadic-2.7.0-20070801 EUC-JP
形態素解析をもっと簡単に使える方法を探す
→igo-phpを発見。
READMEによると、
これは「Igo - Java形態素解析器」の PHP による実装です。 Igo は、MeCab由来の辞書フォーマットを用い、ほぼ MeCab と同様の解析結果を提供する形態素解析プログラムです。 Igo-phpは、Igoと同様の形態素解析と分かち書きの機能を提供します。
とのこと。素晴らしい。ちなみにigoの本家はこちら。
早速、READMEに書かれている手順でインストール。
igo-phpのダウンロード
展開後、好きな場所にコピーし、php.iniのinclude_pathに追加する。
igo本体のダウンロード
mecabの辞書をダウンロード
jarファイルと辞書フォルダを両方共ホームディレクトリにコピー。
以下のコマンドを入力する。
$ java -cp igo-0.4.5.jar net.reduls.igo.bin.BuildDic ipadic mecab-ipadic-2.7.0-20070801 EUC-JP
と、何やらエラー
### Build word trie
### Build word dictionary
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2882)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
at java.lang.StringBuilder.append(StringBuilder.java:119)
at net.reduls.igo.dictionary.build.WordDic.buildWordInfo(Unknown Source)
at net.reduls.igo.bin.BuildDic.main(Unknown Source)
このエラーはJava heap spaceが不足していることが原因だそうなので、javaコマンドに-Xmxオプションで適当なヒープサイズ(最大値)を指定しておく。
-Xmx1024mを追加。
再度、実行。
java -Xmx1024m -cp igo-0.4.5.jar net.reduls.igo.bin.BuildDic ipadic mecab-ipadic-2.7.0-20070801 EUC-JP
### Build word trie
### Build word dictionary
### Build matrix
### Build char-category dictionary
DONE
出来たっぽい。
あとは、作成されたipadicフォルダを適当な場所にコピーすれば、辞書が使用可能に。
とりあえず、PHPから形態素解析をしてみる。
実行結果
とりあえず、PHPから形態素解析をしてみる。
<?php require_once 'Igo.php'; $igo = new Igo("/home/user/ipadic"); $result = $igo->parse("すもももももももものうち"); print_r($result); ?>
実行結果
Array ( [0] => Morpheme Object ( [surface] => すもも [feature] => 名詞,一般,*,*,*,*,すもも,スモモ,スモモ [start] => 0 ) [1] => Morpheme Object ( [surface] => も [feature] => 助詞,係助詞,*,*,*,*,も,モ,モ [start] => 3 ) [2] => Morpheme Object ( [surface] => もも [feature] => 名詞,一般,*,*,*,*,もも,モモ,モモ [start] => 4 ) [3] => Morpheme Object ( [surface] => も [feature] => 助詞,係助詞,*,*,*,*,も,モ,モ [start] => 6 ) [4] => Morpheme Object ( [surface] => もも [feature] => 名詞,一般,*,*,*,*,もも,モモ,モモ [start] => 7 ) [5] => Morpheme Object ( [surface] => の [feature] => 助詞,連体化,*,*,*,*,の,ノ,ノ [start] => 9 ) [6] => Morpheme Object ( [surface] => うち [feature] => 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ [start] => 10 ) )以上。
登録:
投稿 (Atom)