読者です 読者をやめる 読者になる 読者になる

かずきち。の日記

Pythonエンジニア&元東大生のつぶやき

思考の履歴〜Tweetをブログにまとめよう〜

一応、twitterをやっているけれど… いつも他人のtweetを見ていることの方が多い気がします。 積極的に書き込む気になれないのはただ自分の書きこんだことがタイムライン上を流れて消えてしまうからです。 せっかく自分が考えたこと、思ったことがあるなら後…

Conkyの設定(温度、ネットワーク、為替、株価)

topコマンドをいちいち打つのも面倒なので、きちんconkyの設定をしようと思い、設定しました。 システムモニタで背景に埋め込むと便利ですね。 スクリーンショットはこんな感じ。 Object書き方:http://conky.sourceforge.net/variables.html Settings書き方:…

crontabのcommand部分はきちんと書く

大学のサーバでcrontab設定している時は * * * * * /home/hoge/hoge.py で動きますが… 自宅のパソコンで上記のように設定するとcrontabが動かないので、いろいろ疑問でした。 パーミッションも問題ないし、なんでだろと思ったら実行プログラムの関連付けがで…

NULL文字が混在する壊れたデータを強制的に処理する

データにNULL文字が入っていたせいで、readline()をしても、そこでエラー処理されるという鬼畜プレーにハマっていたので、二度とないようにメモ。 NULL文字などが文頭に存在していたら… バイナリモードで開いて、何バイトから正常な文字列か数えてから以下の…

強固な画像認証を突破するTips

Googleのアカウント登録画面であったり、ライブのチケットの購入画面には画像認証が設置されています。 英数字のランダムの文字列が出てきて、打ってくださいってやつですね。 マクロ組んでWEBページを回っていると、やはりそこで詰まってしまいます。 自動…

pymixiで送信済みメッセージのidを抜く

さて、pythonでmixiの送信済みメッセージの重複なしでidを抜いてDBに入れるプログラムを作りましたよ。 mixiidのDBにはuserid(メールアドレス)、password(パスワード)、mixiid(ID)を格納しています。 あとはse+(mixiid)のテーブルを作って、どんどん送信済み…

正規表現でメールアドレスの不正判定

いまさら感は否めないが… 夜中に目が覚めたので、メールアドレスの不正判定を行う正規表現を作っておいた。 phpで作っていて、$emailにメールアドレスを格納してくれれば… あとはOKかNGで返してくれます。

pymixiにさらにメソッドを追加してみた

特定のコミュニティを抽出するメソッドを作成してみました。 このソースをmixi.pyの##internal class method##に追加してください。 def _get_list_community(self, u, result = None): soup = self._get_soup(u) friendDivs = soup.findAll("div", {"class"…

pymixiに追加メソッドを作ったよ

pymixiというモジュールは便利です。 Pythonでmixiが使えるようにしてくれるます。 しかし基本的なメソッドしかないので、DBと組み合わせてガンガン使おうとするとまだまだ不十分です。 今回はすでにメッセージ送信済みの人のmixiIDとニックネームを抽出して…

根こそぎHDDで番組録画をする

我が家ではスゴ録でHDDに収まらなくなった番組はDVDに焼いていますが… 記憶媒体の価格が下落しているので、外付けHDDにまるまる入れようかなって計画しています。 DVDに焼く手間と価格と比較しても、HDDにごっそり入れた方が安いみたいです。 外付けHDDは1.5…

crontab設定

何かとトラブル続きのcrontab準備。 早く使いこなさないと… 時間指定でプログラムを動かせるので夢が広がります。 編集 crontab -e 絶対パス表示 pwd プロセスの表示 top rootで/var/log ls -trl で時間順にログが表示 rm -fr ~ fはforcedのf?? alt+tabで一…

番組表をスクレイピング

端末でサーバにつなぐコマンド ssh hoge@hoge.com iEPGの取得 あとは時刻指定で自動でプログラムを走らせて、前後1週間のiEPG情報を保持しよっと。 結局crontabのコマンド勉強してないからやらないとな… #/user/local/bin/python # -*- coding: utf-8 -*- im…

iPodtouchとgoogleカレンダーの同期

会社でみんなの予定をshareしようということでgoogleカレンダーを使い始めました。 iPodTouchとgoogleカレンダーが同期できれば、とっても便利ということでやってみました。 Step.1 設定→メール/連絡先/カレンダーを選択 Step.2 アカウントの追加→MicrosoftE…

K-means法で精油を分類してみた

精油と効能をデータセットを用意します。 DLしたら、Cドライブの直下に置いた状態で解析を行います。 aroma.data さて、オープンソースの統計解析システム 《R》を用いて精油を分類してみます。 まずデータセットを行列に格納します。 x あとはクラスタ数を…

3分でfacebook←twitter→mixiを連動しましょう♪

twitter、mixi、facebookって3つあると全部巡回するのは面倒です。 毎日巡回してたら時間の無駄ですね。 ということで… 今回はつぶやき、ボイス、近況報告をまとめて投稿できるように設定しましょう これを行うと、twitterでつぶやくとmixiとfacebookにも同…

DELL Studio 540 無線LANドライバ for linux

DELLのデスクトップ上でLinuxを動かすと… DELL Studio 540を購入すると同梱される無線LANアダプタが認識されないため無線LANが使えません。 4ヶ月くらいこの問題にぶち当たっていましたが、今夜解決しましたw ASUS Asus Wireless LAN PCI AdapterをLinuxでも…

aircrack

無線LANカードを使っているプロセスを確認。 sudo airmon-ng check dhclientの停止を確認し、モニタモードに移行。 sudo airmon-ng start wlan0 アクセスポイントの情報の収集。 sudo airodump-ng mon0 収集したアクセスポイント情報を元にパケットをキャプ…

Ubuntu×PS3=夢の競演

[[]]院試の勉強も飽きてきたので、前からやろうやろうと思っていたことをやってみました。 家の隅っこで放置プレーされがちなPS3。 今日はそんなPS3を生かすべく、UbuntuをPS3にインストールしてみたい思います。 ソニーがLinuxに対応させているなんて、良心…

iPodTouchとHotmailの同期

最新のiPodTouchはHotmailとの同期が簡単にできるようですが、hotmail.co.jpのドメインは自分で設定が必要でした。 以下設定 POPサーバ: pop3.live.com (Port 995) POP SSL:必要 ユーザー名:自分のWindowsLiveID パスワード:自分のWindowsLiveIDのパスワード…

Wikipediaデータベースのインポート

しばらく前というか、最近というか… 遅ればせながらクローリングという技術を身につけた。 これでGoogleのように世界中のWEBページを自動で巡回して解析ができる。 ただ調子に乗って大量にクエリを投げまくるとアクセス拒否されてしまうことがわかったw トラ…

デュアルブートの設定 - Grub error 17

もう仮想マシンでLinuxを動かすのも限界を迎えてきたので 今日は張り切ってHDDを増やしてLinuxを入れることにした。 ヨドバシカメラでSATA 500GBのハードディスクを購入。 SATAケーブルと合わせても6000円という価格。 自宅に帰りパソコンを開けて、HDDを新…

自動売買

長期売買、短期売買による移動平均線の期間の選択 単純移動平均線、指数平滑化移動平均等の選択売買注文関数 通貨ペア選択関数 注文内容(買い/売り/検討) ロット数(10万通貨以上) 成り行きレート(注文時の現在レート) 損切り幅、利食い幅(%表示/自動決済/追…

ごみ箱を空にする

アクセス権がなくてごみ箱を空にできないときは… /.local/share/Trash/files rm -rf * もちろんsudo suでrootになってからコマンド

mixiOpenID

一度くらい使ってみたいと思っていたmixi OpenIDのユーザ認証を使ってみた。 http://cyprus.ex.nii.ac.jp/~kazukichi/booktube/ 今までAuthに比べて認証セッションを簡単に維持できるのでとても楽だ。 毎週金曜日は応用プロジェクトのTAなので、暇を持て余し…

自然言語処理で人名を除く名詞をぶち抜く

自然言語処理で人名を除く名詞のみを引っ張ってみた。 川島なお美の結婚記事から名詞を抜いた。 これでブログ分析で注目キーワードのランキングが作ってみよう。 Pythonをサーバ上でリアルタイムに動かす方法でも探すか。 import MeCab m = MeCab.Tagger('-O…

LinuxでMySQLダンプファイルの取り込み方

mysql xxxdb sql -u tanaka -p xxxdbはデータベース名 xxxdb.sqlはダンプファイル名 大事なのは ①ダンプファイルの置き場所をホームディレクトリにすること ②ダンプファイルの中身をUTF-8にエンコードしておくこと くだらないことなのに無駄に悩んでしまった…

インデックスの魔術

MySQLでレコード数1000以下の場合シーケンシャルで検索した方が早いけれど… それ以上の場合はインデックスを付与した方がいいみたいだ。 検索時間が0.01秒と0.80秒で80倍の差が出るのはかなり大きい。 10万のレコードを扱うと3600時間の検索時間が45時間に圧…

PS3とパソコンを有線接続

そうえいば、PS3をネット接続していなかったことに気づき、夜中にせこせことPS3とパソコンをLAN接続してみた。 PS3の20GBは無線で接続できないので若干設定がめんどくさいようなw インターネット…ルータ…(無線LAN)…PC…(有線LAN)…PS3 いろいろ検索してみ…

テーブル名の約束

テーブル名は数字onlyはだめ… if re.search(row[0],all) == None : all = all+str(row[0])+"&&" sql3 = "drop table "+str(row[0]) print "delete" print sql3 cur.execute(sql3) 各ユーザ特徴ベクトルのテーブル 全ユーザ特徴ベクトルの行列テーブルを生成 …

ジョブ制御

idleの多重起動…-n コマンドで動かすのが大事らしい idle -n py/**.py& 計算時間を出す…time topで実行ファイルがわかる ~/mecab-0.97$ ./src/mecab -d ~/mecab_final

TSVのロード方法

//テーブルの作成 create table terrestrial(program_id int,date DATE,channel int,title CHAR(255),description CHAR(255),otherinfo CHAR(255),genre CHAR(255),start_time TIME,duration int,end_time TIME,tvokoku_genre1 CHAR(255),tvokoku_genre2 CHA…

最新スレッドの検出

$fname = ".php";$show = 0; for($i = 1000;$i > 0; $i--){ if(file_exists("log/".$i.$fname)){ $file = fopen("log/".$i.$fname, "r") or die(); $count = 0; while($array = fgetcsv($file, 10000, "<>")){ if($array[7] != null && $count == 1 && $show…

Pythonで形態素分析

import MeCab m = MeCab.Tagger('-Ochasen') print m.parse ("明日は晴れです。") n = m.parseToNode('明日は晴れです。') n = n.next while n: print n.surface print n.feature n = n.next

Ubuntuにmecabをインストールする

MeCab本家 http://mecab.sourceforge.net/ ダウンロード http://sourceforge.net/project/showfiles.php?group_id=177856 からmecab、mecab-ipadic、mecab-pythonをダウンロードする。 mecab-0.97.tar.gzを解凍する。 # tar zxvf mecab-0.97.tar.gz 展開した…

CSV→MySQL コマンドライン

//一時的なスーパユーザ sudo su //ファイルを検索 locate tv //mysqlに接続 mysql -u root -p //tvデータベースのテーブル表示 show tables from tv; //使うデータベースの選択 use tv; //テーブル作成 create table program(service_id int,event_id int,f…

date型、time型、datetime型の変換

//datetime型の列を追加 ALTER TABLE program ADD start datetime; //datetime型の列を追加 ALTER TABLE program ADD end datetime; //Pythonにて…Nullになってしまうものが存在 import MySQLdb print connect = MySQLdb.connect(db="tv", host="localhost",…

MySQL権限の操作

//ディレクトリの権限変更→これで解決 chmod -R 777 /var/lib/mysql //mysqlの権限表示 show grant //mysqlの権限変更 grant all on tv.* to root@localhost -> identified by 'パスワード'; http://sasuke.main.jp/sql.html

検索履歴の判別

検索の範囲について要検討

Linux

python script で一行ずつ入れていくダンプファイルをインポートすればいい sudo suでroot権限sudo aptitude install sshapt-getapt-cache search mysql|grep python >>> import MySQLdb>>> Con=MySQLdb.Connect(host='localhost', db='tv', user='root', pa…