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

日に日に分からんことが増えていく…

プログラマー初心者としての日々を学んでいることを記録していく。

正規表現(sub, match)

pythonの正規表現でcompileしたのちにsubすると対象正規表現を一括で置換してくれる。 以下はアルファベット大文字の後に"_“を入れる変換。「(?!^)…」は…にマッチしたときにマッチしない。ただし、先頭を除く。 import re UPPER_RE = re.compile('(?!^)([A-Z…

サイドバーの情報をターミナルに出力する

Webのサイドバーの情報をスクレイピングする必要があったので、作ってみた。 requests、beautifulsoupとStackoverflowから拝借。。 import requests from bs4 import BeautifulSoup import pprint class MyPrettyPrinter(pprint.PrettyPrinter): def format(…

django1.6でmigrateができなかったので

makemigrationsからのmigrateが1.8とかのようにできないため、python-MySQLをpipインストールしてゴニョゴニョするのが鉄板らしい。 python manage.py syncdb Django のチュートリアルをやってみるよ (1) - co3k.org

MySQLのDATETIMEにNULLが入力されない場合について

csvをインポートしてmysqlのtableに入れた際、エラーが出た。 どうもsql_mode = STRICT_ALL_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATEの設定がかかっているらしい。 テストデータの際はDATETIMEだけ適当な日付を入力すればいいのかも。 fanblogs.jp あと、新たに…

DictCursorについて(MySQL-python)

DictCursorはCursorと違って、dictをreturnするらしい。 なので、 import MySQLdb.cursors from django.db import connection conn = connection.connection cur = conn.cursor(MySQLdb.cursors.DictCursor) の場合は、DictCursorを引き継いだdjangoのcursor…

python manage.py muigrateしてもDBが変わらない。

以下のように記載されている場合migrationが反映されず、 規定のDBにてmodel.pyが管理される。 class Items(models.Model): name = models.TextField(blank=True, null=True) class Meta: managed = False db_table = 'items_catalog' atsuya046.hatenablog.…

%のエスケープとstaticmethod

%のエスケープめんどくさくなっていた。 a = 'My name is 100%% %s .' しないとダメらしい stackoverflow.com staticmethodは何かと便利らしい。 hideharaaws.hatenablog.com

djangoのローカル開発環境を作るためのsqlのDB登録方法

ただ、utf-8で行うだけ。create tableを本番と合わしたいなら確認すればいい。 mysql> show variables like "chara%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------…

workon(mkvirtualenv)について

qiita.com

Apacheのサーバについて

djangoにてrunserverは自動更新するが、apacheはされない。 $ ps aux | grep python $ ps aux | grep httpd $ sudo /usr/local/apache24/bin/apachectl help $ sudo /usr/local/apache24/bin/apachectl graceful すると変更が反映される。 apache勉強しない…

SQLのdump,loadの話(付録:データ型)

SQL

dumpとはメモリやDISKのデータをファイル形式に出力することらしい。 # dump $ mysqldump -u username -ppassword database_name | gzip > dumpfile.sql.gz # load $ zcat dumpfile.sql.gz | mysql -u username -ppassword database_name qiita.com あとはデ…

git-flow(homebrewにて追加)について

git flowを使い管理していく時の便利だったサイト。 $ git flow init $ git checkout -b feature/other origin/feature/other ---> remoteよりfeatureを引っ張ってくる rfs.jp qiita.com qiita.com brew.sh centOSにもmacにも入れれるHomebrewも合わせて書い…

Failed cleaning build dir for cryptographyについて

pipでcryptographyをインストールしようとした時に起こったエラー。 stackoverflowにあった。 $ pip install cryptography Failed cleaning build dir for cryptography !! stackoverflow.com

Gitの使い方(grepで情報の抽出)+開発のtutor

Git

git grepで情報の抽出 $ git log --grep hoge Gitの開発Tutor naokirin.hatenablog.com

Pythonの多重継承の話

多重継承の話。引数に関して、左から右にオブジェクトを読んでいくが、 その子オブジェクトに関しても記述があった。今日はきついのでいつか解釈しよう。 class First(object): def __init__(self): print "first" class Second(First): def __init__(self):…

Pythonでコレータについてまとめてあった

@decoratorについてまとめてありものがあったので、転載した。 d.hatena.ne.jp d.hatena.ne.jp d.hatena.ne.jp

Linuxの-neや-eqの意味についてまとめてた

便利なサイトがあったため、転載。 shellscript.sunone.me

Dockerやら「png、jpgの違い」やら

paiza.hatenablog.com www.gizmodo.jp

ssh-agentの使い方とVim、Gitの習慣(pushとpull以外の確認)

qiita.com qiita.com gitの習慣 $ git status →Gitのbranchや状況の確認 $ git branch →branchを確認する $ git log →Gitの変更履歴の確認 $ git fetch →Gitのpullしたときにどう変化するか確認 $ git diff →Gitの前回との変更点の確認(commitの前) $ git …

これ便利 $変数(シェル)

kajitiluna.hatenablog.com

日本語漢字から読み仮名変換

まずはjanomeのインストール ailaby.com その後、以下のコードを実行すればtxtファイルを 漢字, その読み(例: 「金閣寺, キンカクジ」)と変換できる。 # coding:utf-8 import os import sys import codecs import tempfile import shutil import signal tr…

形態素解析について(アプリやその内容)

bita.jp

Curlコマンド便利ツール

pythonのsocketやsubprocessを勉強していくにあたり、curlでアクセスすることが重要だったので載せる。 qiita.com

Linuxのサーバ負荷や使用率を調査する

DiskのIOを確認するとき便利(fioなど) nbisco.hatenablog.com tasuku.hatenablog.jp ついでにメモリも www.math.kobe-u.ac.jp コマンド集(CPU、メモリ、DISK) easyramble.com

tsv処理高速化の並列処理

この前のマルチプロセスバージョン kidnohr.hatenadiary.com kidnohr.hatenadiary.com #!/usr/bin/env python3 # coding:utf-8 import signal import sys import os import glob import logging import logging.handlers import datetime import click impor…

高速化tsv読み取り(単一プロセス)

以前紹介した、大量の高速化tsvをpickle、structの二つでバイナリかしたデータを書き換えた。 Python3を用いている。 kidnohr.hatenadiary.com 高速化の余地はまだまだあるが、現状進捗状況まで。。 ポイントは以下のようになる。 一時ディレクトリを作成す…

pip install Pillowができなかった話

ただ、pillowが何かわかっていないが必要だったので $ pip install Pillow しようとしたところ、 ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting の表示が出た。解決法は以下のStackOverflowに乗っていた。 stack…

大量行のtsvファイル作成について更新

前回まで 前回まで作成したものに訂正を加えた。主な修正点は以下になる。 ランダム処理を一回にし、一番範囲の広いintの結果を再利用する。 処理について長かったので、各処理を分ける。 例外処理について、ログを取るようにする。 シグナルの例外処理の独…

Djangoの大量のモデル作成方法

概要 model.pyのクラス名とクラス変数をそれぞれcsvファイルにする。 $ python mkmodel_django.py models/クラス名.csvをする。 完成。 csvファイルの作成 クラス名.cvs オブジェクト名 オブジェクトの説明 備考 OBJECT_NAME 説明〜 備考〜 OBJECT_NAME.csv …

画面キャプチャした画像編集アプリ

evernote.com gyazo.com めちゃ便利! あと、Cmd + shift + G でMacのFinderで色々探せる。 この下はpythonのデバック! import pdb; pdb.set_trace()

githubの初回登録時、鍵の登録をする。(忘れてた)

Git

以下のサイトを参考にした。あとはgithubにプロジェクトを作成して。 monsat.hatenablog.com $ pbcopy < ~/.ssh/id_rsa.pub →クリップボードに貼り付ける。settingに登録する。add $ ssh -T git@github.com →確認する $ git clone git@~~~ →github接続(ここ…

VBAによるtsvファイルのExcel変換(Mac編)

FileFormat numbers in Mac Excel These are the main file formats in Windows Excel 2007-2016: 51 = xlOpenXMLWorkbook (without macro's in 2007-2016, xlsx) 52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2016, xlsm) 50 = xl…

Pythonで一億行のtsvファイルを作成する(高速化)

以下の課題に対して、コードを作成した。ちなみにargparseはまどろっこしいので、Clickを使用している。 百万行のファイルでおよそ39秒かかった。ここからの改善のしようがわからない。 1億行のrowを持つtsvファイルを出力するプログラムを作成せよ。 カラム…

git cloneのブランチ指定とSQL集約とline_profiler(バラバラ)

git cloneのブランチ指定 $ git clone -b ブランチ名 https://リポジトリのアドレス $ git commit -a -m "任意のコメント" //コミット (-aオプションは変更を自動検出してくれる) $ git branch //今いるブランチを確認 $ git checkout ブランチ名 *ブランチ…

SQLの複製

SQL

sqldump→CREATE構文→ファイル反映 この流れ

日本語のURLのスクレイピング方法(Python2.7)

Python2.7の日本語スクレイピング方法があったので、使ってみた。 qiita.com 引数は読み込み用のcsvファイルを使用する。(1列目はURL) openをcloseする必要がある気がする。 # coding:utf-8 import requests from bs4 import BeautifulSoup import csv impo…

改行の削除とテーブルの結合(SQL)

SQL

改行の削除(SQL) UPDATE TAB_A SET COL01 = REPLACE(REPLACE(COL01 , CHAR(13), ""), CHAR(10) , "") ; テーブルの結合 SELECT * FROM TAB_A INNER JOIN TAB_B ON TAB_B.columnb = TAB_A.columna;

signedとtsvについて

SQL

ただ、わからなかったことを書いていく signed データ型の修飾子らしい。intやlongの上に省略されているが、signed int となることで、 符号つき…負の値も扱えるということらしい。 tsv これはcsvがカンマだとしたら、tsvはtabで区切られているファイルらし…

Basic認証を通したURLのテキスト取得

Python2にてrequestsとbs4使用する あるcsvファイルからurlを取得し、別のcsvファイルにGetしたhtml結果を出力する。 .find("a")でも、.aでも取得可能らしい。

Pythonの規約保持とプロジェクト管理(Atom)

atom.io atom.io 今日の収穫。。あと、Invisibleはチェックすべき!

LibreOfficeやSequel

SQL

GUIにて管理できる。

API繰り返し出力

#bin/sh for i in `seq 0 N`; do curl "http://~~?l=100&o=${i}" | jq .result.classify_list[] | jq -r "to_entries | [.[].value] | @csv" >> output.csv done

JSON API→CSVにて

jqを用いてAPI取得から curl 'url名' | jq .項目名1.項目名2[] | jq -r "to_entries | [.[].value] | @csv" >> test.csv これでいける!

CentOS7 仮想環境構築

CentOS7(minimal)をインストールした USB挿入 $ su # diskutil list # diskutil unmountDisk /dev/disk4 $ cd ~ $ ls $ cd Downloads/ $ ls $ sudo dd if=./CentOS-7-x86_64-Minimal-1511.iso of=/dev/disk2 bs=4028 $ sudo dd if=./CentOS-7-x86_64-Minimal…