TypeError: environment can only contain strings
と言われて起動してくれず困りました。
どうもcx_Oracleが環境変数に入れているものが悪いようなので、runserver_plusの前に事前に設定しておくようにしてみました。
set NLS_LANG=Japanese_Japan.JA16SJISTILDE set ORA_NCHAR_LITERAL_REPLACE=TRUE
とりあえずこれで動いてくれるようです。
TypeError: environment can only contain strings
set NLS_LANG=Japanese_Japan.JA16SJISTILDE set ORA_NCHAR_LITERAL_REPLACE=TRUE
<!doctype html> <html> <body><div id="main"></div></body> <script src="./trainer-ui/js/jquery.min.js"></script> <script src="http://js.leapmotion.com/0.2.0/leap.min.js"></script> <script src="./leaptrainer.js"></script> <script> var trainer = new LeapTrainer.Controller(); // =============↓ LeapTrainer.jsのデータを貼りつける trainer.fromJSON('{"name":"TEST1","data":[[{"x":0.0599484...,"stroke":1}]]}'); trainer.fromJSON('{"name":"TEST2","data":[[{"x":0.1806993...,"stroke":1}]]}'); function gestureDetected(name) { return function() { console.log(name); $('#main').html(name); } } // ↓ジェスチャを検出したときに何をするか書く trainer.on('TEST1', gestureDetected('TEST1')); trainer.on('TEST2', gestureDetected('TEST2')); </script> </html>
Sān tián méi huí laí le, wǒ qù zǎo tángご活用ください!
三天没回来了, 我去澡堂.
三日間帰っていないので、銭湯に行ってきます。
Zhè bú shì lòu dòng, shì shè jì guī gé
这不是漏洞, 是设计规格.
それはバグではなくて、仕様です。
À nàge chéng xù yuán zuó tián táo zǒu le
啊!那个程序员昨天逃走了!
ああ、そのプログラマなら昨日逃げました。
Yù suàn yòng wán le
预算用完了.
予算は使い切りました。
Jīn tiān kě yǐ huí qù le ma
今天可以回去了吗?
今日は帰っても良いですか?
Zhège chéng xù de lòu dòng shì zhì mìng de
这个程序的漏洞是致命的.
このプログラムのバグは、致命的ですね。
Wǒ yào tiào cáo le
我要跳槽了.
わたしは、転職することにしました。
(【2013/07/03 追記】uWSGIの本家で修正して頂きました。)
ファイル名に日本語があるとダウンロードできない。環境は、Python 3、Django 1.5、uWSGI 1.9。uWSGIのログに、
TypeError: http header must be encodable in latin1
というエラーが。
uwsgi/plugins/python/wsgi_headers.c の156行目、
zero2 = PyUnicode_AsASCIIString(h_value);を
zero2 = PyUnicode_AsLatin1String(h_value);としたらうまくいきました。
Djangoで新しいパーミッションを作りたいものの、どのモデルとも深い関係はないんだよなー、というときには、stackoverflowの How can I use Django permissions without defining a content type or model? で紹介されている方法が便利です。
PermissionモデルのプロキシモデルなGlobalPermissionにpermissionを追加すれば、
from django.contrib.auth.models import Permission class GlobalPermission(Permission): class Meta: proxy = True # ↓↓↓↓↓↓ permissions = ( ('listen_to_me', u'オレの話しを聞け'), )
authのパーミッションとして、
{% if perms.auth.listen_to_me %} むかしむかしあるところに… {% endif %}
つかえるようになります。
Webで調べても使っている人の情報があまりなくて買うかどうかサンザン悩みました。快適に使えているので、使えましたよレポートを。
モノは 『3G限定だけどSIMフリーのWi-Fiルーター「AVOX AWR-100T」』。
香港"3"のプリペイドSIM、HSDPA Broadband Access Rechargeable SIM Cardをさして中国で国際ローミングしてChina Unicom経由で利用できました。
充電するときは電源を切ってからと説明書にあるので保証の範囲外ではありますが、充電しながらでも使えています。
前回の出張時はAndroid携帯(Sony Xperia tipo dual)のテザリング機能を使っていたのですが、そのときより遥かに通信速度が出て快適です。アキバで8,000円ほど。お買い得ですよ。
中国でブラウザ版のGoogleマップを見ると、現在地のピンが立っているところが衛星写真と地図でずれています。
現在地で確認すると衛星写真ではぴったりなので、地図がおかしいようです。
調べてみると地図の形式が異なるようなのですが、いろいろなところで書かれているBJ54への変換を試してみても現在地が合いません。
さらに調べてみるとGCJ-02という座標系があって、これがぴったりと合うようです。GPSの値をWGS-84からGCJ-02に変換すれば地図もピタリと現在地を示します。
GCJ-02是由中国国家测绘局制订的地理信息系统的坐标系统。它是一种对经纬度数据的加密算法,即加入随机的偏差。国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。
(GCJ-02 - 百度百科)
(Google翻訳)
GCJ-02測量とマッピングの中国の国家局が開発した地理情報システムの座標系。これは、暗号化アルゴリズム、ランダム偏差を追加することにより、緯度と経度のデータである。国内出版マップシステム(電子フォームを含む)、少なくとも最初のgcj-02の場所を使用して暗号化する必要があります。
WGS-84 到 GCJ-02 的转换(即 GPS 加偏)算法是一个普通青年轻易无法接触到的“公开”的秘密。这个算法的代码在互联网上是公开的,详情请使用 Google 搜索 "wgtochina_lb" 。
([操作系统]IOS定位与坐标系算法)
(Google翻訳)
WGS-84は、GCJ-02への変換(すなわち、GPSに加えて部分的な)アルゴリズムは、普通の若い人たちは簡単に "公然の"秘密と接触することはできません。インターネット上でこのアルゴリズムのコードが開かれている、Googleの検索"wgtochina_lb"をご利用ください。
掲題の通り。
DTDにインターネットへの参照が
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">のようにあると、オフラインではファイルを取得できずにエラーとなってしまいます。DTDの中身を見たいわけでもないときには非常に残念です。
いまどきオフラインでの開発はほとんどありませんが、精神衛生上よろしくないので解決策を調べておくと、
from xml.sax import make_parser from xml.sax.handler import feature_external_ges parser = make_parser() parser.setFeature(feature_external_ges, False) f = open('some_file.xml') parser.parse(f) f.close()
feature_external_ges
をFalse
にしてあげるだけでよいようです。
EntityResolverを用いて、あらかじめダウンロードしておいたDTDを参照することでもエラーを解消できます。
from xml.sax import make_parser from xml.sax.handler import EntityResolver class MyEntityResolver(EntityResolver): def resolveEntity(self, publicId, systemId): # ローカルに保存したDTDを開く return open(systemId.split('/')[-1], 'rb') parser = make_parser() parser.setEntityResolver(MyEntityResolver()) f = open('some_file.xml') parser.parse(f) f.close()
digraph G { subgraph cluster_0 { style=filled; color=lightgrey; node [style=filled,color=white]; a0 -> a1; label = "process #1"; } subgraph cluster_1 { node [style=filled]; b0 -> b1; label = "process #2"; color=blue } start -> a0; start -> b0; a0 -> b1; a1 -> end; b1 -> end; start [shape=Mdiamond]; end [shape=Msquare]; }
start [label="はじめ" shape=Mdiamond];
function src(id) { return document.getElementById(id).innerHTML; }を変更して、グラフのソースにたっぷりと空白をつけて先に進みすぎても大丈夫なように、
function src(id) { var dot = document.getElementById(id).innerHTML; return dot + new Array(dot.length).join(" "); p}としてみると、
pip install xpinyin
from xpinyin import Pinyin p = Pinyin() print p.get_pinyin(u'个') => 'ge'