蛇ノ目の記

技術のことも。そうでないことも。

Python

herokuのProcfileに書くgunicornのコマンドにハマった話

herokuで動かすWebアプリがどんなプロセスを使うかを定義するProcfile。 Procfileはドキュメントルートに置き、例えばFlask + gunicornを使うときには web: gunicorn app:appとする。古事記にもそう書いてある(heroku公式ドキュメントやいろいろなブログ) he…

ユニットテストで躓いたところ - mock.patch()

単純なスクリプトのユニットテストを書いていて躓くことがあったので、解決法をメモ。 例えばこんな、おみくじをするだけの簡単なスクリプトがあるとする。 import random fortunes = { 1: '凶', 2: '吉', 3: '大吉' } number = random.choice([1, 2, 3]) fo…

BokehでグラフをJavaScriptとして出力してWebページに埋め込んでみた

グラフをWebページに埋め込んで、インタラクティブなWebアプリっぽくしたい。でもJavaScriptわからない。そんなときにBokehのembed.componentsを使おう。 Bokehのバージョンは0.13.0を使っている。 bokeh.pydata.org componentsに描画するグラフのFigureオブ…

PyCon APAC 2018 Day 2

前回の更新からだいぶ時間が経ってしまった。 この一ヶ月の間にPyQブログとgihyo,jpでPyCon APAC 2018記事が公開された。 あとstapy#36とBPLL#22でPyCon APAC 2018行ってきたよ報告LTをした。stapyは帰国からの直行だったので抜群の鮮度だった思い出。 blog.…

PyCon APAC 2018 Day 1

【2018.7.2 追記】トークの発表資料への追加 シンガポールで開催されているPyCon APAC 2018にやってきた。 海外のカンファレンスは初めて、シンガポールも初上陸。 PyCon APAC ツアー 初海外カンファレンスなうえに海外経験が少ないのでPyCon JPが企画するAP…

BeautifulSoup4でコメントタグの中身を取得する方法に腹落ちするまでの話

同人音楽即売会M3の出展サークルリストから、サークル名やキーワードを抜こうとしている。何に使うかは未定だけど。 サークルリスト 2018年春 | M3 - 音系・メディアミックス同人即売会 を見てわかるように スペース, サークル名, 概要 となっている。サーク…

OverpyでOpenStreetMapのデータを取得して位置情報を可視化する話

4月末に近づいた頃にようやく今月初めての記事。あまりに書かなすぎた。 だいぶ前になるけど、OpenStreetMap(OSM)からガソリンスタンドの位置情報を取得してプロットしたデータアートめいた画像を見た。なにこれかっこいい。 Population density through the…

みんなのPython勉強会スタッフ業で長野出張してきた

startpython.connpass.com 長野で行われたみんなのPython勉強会 in 長野 #2にメンター手伝いとして参加してきた。 Web:ウェブアプリケーション、Django、Bottleなど データ解析:numpy, pandas, scikit-learnなど ハードウェア/IoT:Raspberry PI, Arduino…

みんなのPython勉強会#33に行った

startpython.connpass.com 1週間も経ってしまったけどまとめる。 大津雄一郎(リブロワークス) プログラミング『超入門書』から見るPythonと解説テクニック 本を書く人は周りに結構いて話を聞けるけど、編集する側からの話はなかなか聞けない。 単なる入門…

第85回#pyhackに行ってきた

今月もPython mini Hack-a-thonに行ってきた。 pyhack.connpass.com 先月は冬山合宿だったので通常開催は今年初。 前回の冬山合宿から手を付け始めたゼロから作るDeep Leaningの続きをやる予定だったがしばらく放置していたせいで思いの外、忘れていたので復…

雪山合宿に行ってきた話とライブに行ってきた話

#pyhackの雪山合宿に行ってきた。普段のもくもく会は常連だけど合宿は今回が初参加。 pyhack.connpass.com 長野県菅平のペンション マウンテンパパで行われた。 @terapyonの車に乗せてもらって、御徒町から出発。12時半に上田駅近くの蕎麦屋かたなやで昼食。…

SEからPythonエンジニアにジョブチェンジして早くも3ヶ月経った話

某IT勉強会支援サイトとか某Python学習サービスをPythonでやっている会社に入社してから3ヶ月が過ぎた。 そういうわけでビープラウドに入社してからの話。 3時間がんばれたら3日いける。3日いけたら3週間いける。そんな言葉を入社してすぐにもらった覚えがあ…

Amazon Linux 2でPython3を有効にする

Discordのbotを動かす環境が欲しかったのでAWS EC2デビューを果たした。 設定もそこそこに、とりあえずインスタンスを立ててみた。 リージョン: 東京 AMI: amzn2-ami-hvm-2017.12.0.20171212.2-x86_64-gp2 インスタンスタイプ: t2.micro 無料枠を使って動か…

Bleachってなによ

ジャンプで連載してたやつではなく(念のため) 卍解とかもしない(念のため) 仕事で出会ったHTMLサニタイズライブラリなのだけど、日本語の情報がとても少ないのでちょっとまとめたい。 貴重な日本語の情報 www.ianlewis.org Bleachとは Bleach — Bleach 2.1.1…

正規表現でURLを処理する話 - グループ化と繰り返し-

URLを正規表現で処理するということをやった。そのメモ的なやつ。 処理の概要 処理したいURLは以下のような構成とする。 https://example.com/users/@{username}/article/{yyyy}/{mm}/{article_id}/ ユーザが入力したURLを受け取って、username と article_i…

正規表現の先読み・後読みを知った話

実に2週間ぶりの更新。転職してそろそろ2ヶ月になる頃だけど、実案件で苦戦しまくっている。今回の話もそこから出てきたネタ。 正規表現には先読みアサーション 後読みアサーション なるものがあることを知ったので、今回はそれについて書く。 公式ドキュメ…

Python入門者向けハンズオンでTAしてきた

Python入門者向けハンズオンでTAをしてきた。 普段は教えてもらうことばかりなので新鮮な体験だった。 python-nyumon.connpass.com 教える立場というと、前職で新入社員のJava研修のTAを一日だけやったことがあった程度だったので割と心配だった。Python基礎…

BPStudy#122に行ってきた - プログラミング教育について

10/20(金)に開催されたBPStudy #122に行ってきた。 bpstudy.connpass.com 今回のテーマはプログラミング教育について。二部構成でテーマはそれぞれ、子どもたちへのプログラミング教育、大人が対象のプログラミング教育だった。 第二部では評判が絶賛右肩上…

Python入門者向けハンズオン #6に向けて、という体でスクレイピングの練習をしてみた

BeautifulSoupを使って海外の歌詞サイトMetroLyricsから歌詞をスクレイピングするスクリプトを書いた。10月28日(土)に開催されるPython入門者向けハンズオン #6(#PyNyumon)でメンターをやることになっているので、その予習。 github.com こういう感じのスク…

flake8をGit pre-commit hookした

flake8でチェックするのを忘れがちなので、Git pre-commit hookした。Docs » Using Flake8 » Using Version Control Hooksにやり方が書いてあるんだけど、日本語での検索結果が少ないのでせっかくなので記事にする。 Gitで管理してるプロジェクトのルートで …

assertRaises()で嵌った話

今、テストコードを書いている。前職ではテストコードを書く文化が無かったのでこれが初めて。ユニットテストフレームワークは unittestを使っている。 これは初めてユニットテストを書いた男が数時間同じ箇所で嵌り続けたという話だ。格好悪い。 まず、asse…

spaCyのチュートリアルを始めてみた

Python もくもく会だったけど風邪っぽいので欠席して、自宅ひとりもくもく会をしていた。近頃、急に涼しくなったりしたので体調崩し気味。 今日やったのは以下の2つ。 言語処理100本ノック 1章のリファクタリング spaCy に入門 言語処理 100本ノックは3章の…

argparseを練習してみる

これまでコマンドライン引数を取得するときはsys.argvを使ってきていた。しかし先人の書いたコードを読んでみるとargparseが使われている。sys.argvでなくargparseを使う理由があるはず、ということで何が嬉しいのか考えてみた。 引数を付けないとusageを表…