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

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

何度かリリースを経験して

下で今のgit hashがわかるらしい。 git rev-parse HEAD 問題が起これば色々直して行く方法はある。 www.atlassian.com あと、リリース時には操作コンソール、ログ確認、topコマンドによる確認。の3つをしながら行う方がいい。

課題もらっちゃった。。

SQL

これについて解いていこうと思っている。 何か処理したレコード群を、既存のテーブルにon duplicateでinsertする課題。 1. バルクinsert 2. tsvに一旦出力して、ローカルload dataとリモートload data 3. tsvに一旦出力して、csv engineでtableに見せかけて…

Webのアクセスピーク時の負荷を測るにはSiegeってものがあるらしい。

Webの最後の負荷テストの時に色々ツールがあると便利だ思った。 他のテストもツールを組み合わせるといい感じに成形できそう。 qiita.com 以下は今のレスポンスタイムを確かめる方法。 $ curl -kL http://google.com -o /dev/null -w "%{time_total}\n" 2> /…

SQLの集約化した後の合計値

SQL

こんな感じでまとめられる。 SELECT sum(conversions.value)*count(DISTINCT conversions.id)/count(*) as conversion_value FROM links LEFT OUTER JOIN stats ON links.id = stats.parent_id LEFT OUTER JOIN conversions ON links.id = conversions.link_…

Atomのjson整形とGoogleAnalyticsについて

AtomのJsonデータをブラウザからコピーして、整形するときに使える。 loumo.jp また、ブログにはGoogleAnalyticsという便利ツールがあるらしい。 junichi-manga.com dev.classmethod.jp はじめてのアナリティクス API V4: インストール済みアプリケーション…

git pullしてCompressing objects: 100% (16/16), done.のような表示が出たら...

Git

gitを使っていて、なんかpullが重いとか思ったら巨大なファイルを圧縮してpullしているようなinfoが… 以下のサイトが役に立ちそうと思いました。 まあ、.gitignoreを再適用して別ブランチにpushしたら何事もなかったように動くんやけど、、、 Git - メインテ…

pythonのリスト内辞書のソートについて(JSON)

以下のような場合はこのようにソートできる。 >>>terms = [{'hoge':1}, {'hoge':3}, {'hoge':2}] >>>sorted(terms,key=lambda x:x['hoge'],reverse=True) [['hoge': 3}, {'hoge': 2}, {'hoge': 1}] jsonの値などをソートするときに有効。 nemupm.hatenablog.…

SolrのadminのAPIの話

Solrのadminについて、curlしてreloadすることがあると思う。 その時は $ curl "http://localhost:8983/solr/admin/cores?action=RELOAD&core=core0" とかすればいい。するともう一回、solrにデータを投入できる。 CoreAdmin API - Apache Solr Reference Gu…

Gitをpushして失敗した時と.gitignoreを後で追加した時

Git

Gitをpushして失敗した時は、以下をすると直っていく $ git log $ git revert commitnumber あと、gitしてignoreを後で追加した時 git rm -r --cached . git add . qiita.com

ファイル内の文字列探索

現在のディレクトリ以下のファイルの文字列を探索する方法。 $ find . -type f -name "*.html" | xargs grep ' 探索したい文字列' -n find コマンド | コマンドの使い方(Linux) | hydroculのメモ

Gitの取り消し作業

Git

Git でローカルの変更を元に戻すには $ git checkout ファイル名 特定のファイルではなく、全て元に戻したい場合は $ git checkout . git pull の取り消し git reset --hard HEAD^ tnakamura.hatenablog.com tm.root-n.com

入力した行の全消し(ターミナル)

Ctr+uとCtr+kで全消しができる。 あと、iterm2ではshift + Ctr + Hでクリップボードが発動。 bacchi.me

unicodeの"__mod__"について

__mod__は数値の場合、割り算のあまりとなっているが、文字列にも存在したので、調べて見た。 %は%sや%dなど、文字列のフォーマットとして使われているところからきているのか、 >>> print '%s'.__mod__('kokoko') kokoko のように使うっぽい。 qiita.com

MultiValueFieldがドキュメント見てもわからなかった。

Form fields | Django documentation | Django 上のドキュメント見てもよくわからなかったので、探しているといい感じに解説しているサイトがあった。 coderwall.com どうやら、1つのinputに対して、二つのformを取得できるようにカスタマイズできるらしい。

Solr6の使い方

以下のようにしてスタート。 $ bin/solr start -p 8984 qiita.com

バックグラウンドで動かす方法(runserver)

python runserverを開発環境のバックで回していたい時。 $ nohup python apps/manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 < /dev/null & $ jobs $ ps aux | grep runserver $ %1 $ kill %1 これでいける。disownもあるけど、こっちの方がログアウト…

curlについて

man curlでもいいが便利だったので、サイトを転載。 qiita.com

Solrのポート(8983)がない時の対処法

$ java -jar start.jar -Djetty.port=8982(8983以外) stackoverflow.com

正規表現(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…