蛇ノ目の記

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

Python

Notebookを見やすくするCSSを書いた

sora tob sakana東名阪ツアー大阪公演に遠征した@大阪 どういうわけかWiFiが入らない梅田のスタバで書いている。なにが悲しくてスタバでテザリングしないといけないのか…。 World Fragment Tourからの初披露は「タイムトラベルして」 pic.twitter.com/fg0Fc9…

ダウンロードリンクからCSVをスクレイピングしてDataFrameにする - Spotify Charts編

少し前にこのブログでも取り上げたSpotify Charts。各国のヒットチャート・バイラルチャートが公開されている見ていて飽きないWebサービス。 Spotify ChartsではチャートをCSV形式でダウンロードできる。そのCSVをスクレイピングしてDataFrameにしてみる。つ…

PyCon mini Sapporo 2019で登壇した - Simple-Spotify: Pythonでシンプルに楽曲データを扱うライブラリ

5月11日に札幌で開催されたPyCon mini Sapporo 2019で登壇した。 PyCon mini Sapporo 2019 札幌市産業13:35A 「Simple-Spotify: Pythonでシンプルに楽曲データを扱うライブラリ」by @NaoY_py 横山 直敬 氏#pyconsap pic.twitter.com/vprg2vF3xS— PyCon mini …

みんなのPython勉強会#44を企画・登壇した - 正規表現の話

4/10に開催されたみんなのPython勉強会#44(stapy)を企画・登壇した。 平成が終わる前に書かないと、と思いつつここまで先延ばしにしてしまった。でもまだ平成なのでギリギリセーフということでどうかひとつ。 startpython.connpass.com 平成最後のstapyとい…

pyhack冬山合宿に行ってきた - SpotifyチャートにTF-IDFを使ってみた話(概要編)

1/19(金)~1/21(日)にかけてpyhack冬山合宿に行ってきた。 気づいたらもう3月。記事を書くのがかなり遅れてしまった。 雪国。宿に到着。 #pyhack pic.twitter.com/lPQQ65bvVJ— nao_y (@NaoY_py) 2019年1月18日 pyhack.connpass.com @takanoryによるTogetterま…

SpotifyのAPIを使ってみた

最近Spotifyを契約し始めたのだけど、Spotifyには曲やアルバム、プレイリスト、アーティストの情報を取得したりできるAPIがあるとのことなので試してみた。 Spotipyというラッパーライブラリがあるようだけど、今回はそれを使わずにrequestsを使ってAPIを使…

Djangoのtemplateでdefaultdictを使えない件について

BeProud Advent Calender 2018 9日目の記事です。 adventar.org 案件でDjangoを使っていたときにdefaultdictがtemplateにレンダリングできないことに気づいたので検証してみた。 案件で使っているバージョンは1.9.3。 おしながき Django 1.9.3でdefaultdict…

Dockerコンテナ上でPythonスクリプトを動かしてみる

仕事でDjango製のWebアプリのテスト環境をDockerで作る、という試みをやったのでその入り口になる話を書いてみる。 Docker Hubを探せばPython3.7のイメージはあるけど、ここではUbuntu16.04のイメージを使う。 Ubuntu 16.04のイメージにPython3.7をインスト…

PythonでQRコードを生成してXMLに変換する

PythonでQRコードを生成してXMLに変換する話。 qrcodeというパッケージを使う。 pypi.org 8月半ばに作ったWebアプリでXMLに変換したQRコードを使っている。 nao-y.hatenablog.com QRコードのSVGを生成する話は以下のブログが詳しい。 tokibito.hatenablog.co…

Python3.7でDiscord.pyを動かすときの躓きどころと対策

近頃、またDiscord botを作っている。 Python.3.7に上げたことによってDiscord.pyが動かないという現象に見舞われたので対策をメモ。 発生したエラー このissueと同様のエラーが発生した。 github.com 対策 This library does not support 3.7. This error i…

Software Design2018年9月号にて「データ分析にPythonが選ばれる理由」を執筆しました

Software Design9月号にて「データ分析にPythonが選ばれる理由」という記事を執筆しました!scikit-learn付属データセットの分析を体験する内容になっています。発売は明日8/18です。https://t.co/3CfMfMd3Qi pic.twitter.com/Ib4KUxPXP0— NaoY.py (@NaoY_py…

tagmineをリリースしました-酷暑のイベントの緊急時に役立つWebアプリ

tagmineをリリースしました。 夏コミ会場の暑さで倒れたときの医療処置に役立つ情報をQRコードに埋め込めるWebアプリtagmineを公開しました! https://t.co/MfxT9eCKuk #夏コミ— NaoY.py (@NaoY_py) 2018年8月7日 tagmineとは 熱中症などで倒れたとき、医療…

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 今回のテーマはプログラミング教育について。二部構成でテーマはそれぞれ、子どもたちへのプログラミング教育、大人が対象のプログラミング教育だった。 第二部では評判が絶賛右肩上…