サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
パリ五輪
omiyan.hatenadiary.org
ASCIIの文字列でないものが含まれていますというエラーです。 実行ファイルのの先頭に # coding:utf-8 を書くと直ります。
viを使っていると置換コマンドを使う場合があります。 基本的な使い方は以下のような場合です。 例えばよく使うパターンとして、ファイル内の「置換前テキスト」を「置換後テキスト」に変換する場合のコマンドは次のようになります。(ファイル全文で、確認が毎回入ります。) :%s/{置換前テキスト}/{置換後テキスト}/gc オプション説明 :sでコマンドラインモードの「substitude」に移ります。 substitudeとは代入とかいう意味です。(後述参考) %を付ける場合は、開いているファイルの内容すべてを対象とします。 gはマッチしたテキストすべてを置換します。 cは置換前に、実行してよいか毎回確認するオプションです。 例1:カーソルのある行の最初の一番目に見つかった文字列を置き換える場合 :s/{置換前テキスト}/{置換後テキスト} 例2:カーソルのある行で見つかったすべての文字列を置き換
やたら運営しているサイトが重いなと思っていて、人気が出てきたのかしらとおもったら、 Baiduさんのクローラー(Baiduspider+)さんが、ものすごい勢いでアクセスしていらっしゃる。 クローラーさんからのアクセスだけで3,000円以上使ってるかも。。。ガーン。 給料日までお昼は菓子パンかも。 これを機にNginxとrobots.txtを使って、クローラーのアクセス制限を行うことにしました。 俺のロードバランサとウェブ間の転送量が半端ないわけない 最近の外側のロードバランサと内側のウェブサーバの転送量が半端ない。 人気が出てきたのかな。うぷぷぷ、と思ったら全くのKAN-CHI-GUY! 検索クローラーばっかりに人気が出てきてる!毎秒アクセスご苦労様です。。 うーん検索エンジンに載せてもらえるのはありがたいんだけど、ちょっと頻度が多すぎる。 少しはお行儀良くお願いしたいところ。 クラウド
Twitterのステータス情報などをpythonのurllib2やらで取得し、MySQLに登録するときに起きる日本語の文字化けを修正するテクニック。 SQLAlchemyを使った場合、MySQLにデータを挿入またはデータを更新する場合に、日本語が文字化けするときがある。その場合にとる方法は次の通り データベース接続の設定 接続パラメータに文字コード(charset)をUTF8に指定する。 sqlalchemy.url = mysql://username:password@host:port/database?charset=utf8 テーブルをセットするときにutf8等にセットすることも有効 参照:crazy()for(;;)you(); これが一番大事! その他 他に考えられるのは次のようなもの。 SQLAlchemy:create_engine インスタンス作成時にエンコーディングを
テーブルに関わるエラー MySQL5.5(または5.1)のmysqldumpを使う場合で、たまにテーブルが壊れていて、正常にバックアップできない場合があります。 次のような場合です。 # mysqldump -u root -p db_name | gzip > /home/data/20110709.dump.gz Enter password: mysqldump: Couldn't execute 'SELECT /*!40001 SQL_NO_CACHE */ * FROM `table_name`': invalid table assigned (1024) mysqldumpでの解決方法 このような場合、壊れているテーブルだけ除外して、mysqldumpすると、正しくダンプされます。 実際の方法は、以下のオプションを使います。 --ignore-table=db_name.t
ソースからインストールしたpython2.6で、Djangoのsyncdb等を使おうとすると、 sqlite3が読み込めないとエラーが発生します。 % python manage.py syncdb raise ImproperlyConfigured, "Error loading %s module: %s" % (module, exc) django.core.exceptions.ImproperlyConfigured: Error loading sqlite3 module: No module named _sqlite3 通常のコマンドラインからも確認してみます。 % python Python 2.6.6 (r266:84292, Jan 3 2011, 14:20:44) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linu
Pythonで整数や、整数が入っている変数を割り算(除算)すると、小数点以下が切り捨てになる。 >>> 12/26 0 このような感じ。 これを解決する場合、2つの簡単な方法がある。 float定義をする。 割られる方または割る方にfloatと指定しておく。 >>> float(12)/26 0.46153846153846156 となり小数点以下も切り下げにならずに済む。 1.0をかけておく。 割られる方または割る方に1.0をかけておく。 主旨はfloat定義と同じだけど、あらかじめ1.0をかけておくことによって、 これは小数点以下の割り算の可能性があると指定しておく。 >>> 12*1.0/26 0.46153846153846156 小技だけど、結構重宝するので備忘録。 みんなのPython 作者: 柴田淳出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/08/22メ
「さくらのVPS」を借りたら、最低限やっておかなくていけない初期設定を10個ほど整理しました。 VPSはバーチャル・プライベート・サーバ (Virtual private server)の略で、仮想サーバをレンタルできるサービスです。 さくらインターネットが提供する「さくらのVPS」は、アカウント設定後は、CentOS5.5がインストールされていて、すぐ使い始めることが可能です。 自分はrackspaceなどのクラウドサーバを別で管理しているのですが、インスタンスの作り方がさくらの場合、インスタンスの独立性が高く、インスタンスの雛形をつくったりして、コピーするようなことができないようです。 ですので、サーバ導入時に、必要な設定を行わなければなりません。 初期設定をそのまま使うには、セキュリティ上のリスクが残っている部分がありますので、私が使っている場合にいつも行っている設定を10ほど抜き出
# yum --enablerepo=remi,epel update mysql* Loaded plugins: downloadonly Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package mysql.x86_64 0:5.1.54-1.el5.remi set to be updated --> Processing Dependency: mysql-libs = 5.1.54-1.el5.remi for package: mysql --> Processing Dependency: libmysqlclient_r.so.16(libmysqlclient_16)(64bit) for package: mysql --> Processin
データベースを視覚的に把握できるphpMyAdminはとても便利です。 この最新版であるphpMyAdminの3.3.9系統をさくらのVPSにいれてみました。 インストールの条件は次のとおりです。 OS:CentOS5.5 MySQL:5.1(ソースからインストール済) PHP5.3.4(remiパッケージインストール済) phpMyAdmin3.3.9(remiパッケージインストール済) spawn-fcgi1.6.3(パッケージインストール済) つまづきやすいポイントは次の3つです。 nginxの設定方法 phpMyAdminプログラムの場所 phpMyAdmin設定ファイルの場所 さっそく見ていきましょう。 nginxの設定方法 nginxはspawn-fcgiを経由して、phpMyAdminを動作させます。 なお通常パッケージでのインストールは、Apacheでの動作を前提にユーザ権
Djangoを使っていて、たまにsyncdb(モデルをデータベースに更新させる作業)をすると、応答がなくなる時があります。 MySQLは更新等のバイナリログを残していて、リストア(復旧)しやすいように設計されています。 バックアップ(スナップショット)をどこかの時点でとっておいて、そのあとの流れをバイナリログ等で補完するような運用が考えられます。 一方、更新が多いサービスは、このバイナリログを放置しておくと、データ容量が大きくなりすぎてしまいます。 今回は、この設定を変更して、適切なディスク容量を使えるようにしたいと思います。 応答がなくなるコマンド例(注:すぐデータベースのステータスを確認しましょう。) #python ./manage.py syncdb データベースの容量確認 その場合は利用しているデータベース(MySQL)のステータスを確認してみましょう。 データベースサーバに接続
NginxはApacheより処理速度が早いとされて、昨今人気が出てきている。 NginxとApacheの速度比較を検討するとともに、速度と機能の等価交換について 検討したい。 まずは、ここに簡潔でいいデータがある。 参考:mod_php(Apache)とspawn-fcgi(nginx)でのパフォーマンス比較 本サイトが見れなかったので、キャッシュから一部引用させてもらう。 Host名は抽象化して掲載。 1接続で100アクセス:Apache VS NGINX Apache まずはWebスタックの大御所「Apache」 Apache ab -c 1 -n 100 -H "Host: xxx.xxx" http://xxx.xxx:82/ This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0 Copyri
Pythonはデフォルトのエンコーディングを指定しないと、UnicodeEncodeErrorが発生する場合があります。 今回はその解決方法について記載します。4つ環境を用意してみました。 エラー例 # python Python 2.6.6 (r266:84292, Jan 3 2011, 14:20:44) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> s = u'てすと' >>> str(s) Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'asci
CentOS5.5に用意されているPHPは5.1なので、phpMyadmin等のプログラムの最新版が利用できません。 よってPHPのバージョンを5.3に今回はあげます。 今回epelのレポジトリが壊れていたりして、苦戦したので、後の人のために顛末を書いておきます。 では早速とりかかりましょう。 既存のPHPがyum等でインストールされている場合は、 #yum remove php等をして削除しておきます。 まずはRPMのパッケージREMIを追加します。 wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm rpm -Uvh remi-release
このたび震災に被災された方々、本当に大変でしたね。とても辛かった経験だったと思います。無念の思いお察しします。 そして、まだこの瞬間も地震の影響は終っていないものだと思われます。 わたしもぽっかりと心に穴があいてしまったように、ここ半月近くがあっという間に過ぎてしまいました。 しかし、このままではいけないと思い、再びブログを書いています。 原発の影響と朝の東京 もはや人災である福島県の原発の影響は、都内にも出ています。 計画停電のために、毎朝、東京駅は、薄暗い電灯で彩られます。 日頃見慣れていない風景で、一見、不気味かも知れません。 これを「優しい東京」と形容した人は素晴らしいです。 原発の心配があるのに、表面上、だれも混乱していないし、もくもくと通勤をしています。 それは、みんな信じているからです。 地震も原発事故も乗りきれると。 放射能の雨が降ろうが、水道に放射性物質が混在してようが、
Djangoを使っているときに、独自のSQLを流し込みたい場合があります。 そのようなときはpython manage.py syncdbのときに 次のようなディレクトリに配置したSQLを実行してくれます。 は作成中のアプリ名です。models.py等が配置されているとします。 その配下にsqlというディレクトリを作成して、modelname(models.pyで定義したテーブル名)を ファイルにつけて、sqlという拡張子で保存しておきます。 <appname>/sql/<modelname>.sql Djangoはsyncdbでモデルを作成するときにここも実行してくれます。 ポイントは実際のモデル名が大文字を含んでいたとしても、配置するファイル名、パスは小文字を用いることです。 これで初期データを大量に投入したいときや、ストレージエンジンを変更する場合等も対応できます。
rpmレポジトリを更新します。 # rpm -ivh http://packages.groonga.org/centos/groonga-repository-1.0.0-0.noarch.rpm # yum update追加されたものを見てみましょう。 # yum list | grep MySQL MySQL-client.x86_64 5.5.8-1.rhel5 groonga MySQL-client-community.x86_64 5.1.53-1.rhel5 groonga MySQL-devel.x86_64 5.5.8-1.rhel5 groonga MySQL-devel-community.x86_64 5.1.53-1.rhel5 groonga MySQL-embedded.x86_64 5.5.8-1.rhel5 groonga MySQL-embedded-
このページを最初にブックマークしてみませんか?
『ドラあり!*ドラゴンに挑むアリの物語 ** Python使いの日々』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く