歩いたら休め

If the implementation is easy to explain, it may be a good idea.

【Python】駿河屋の商品一覧ページをスクレイピングするためのライブラリを作りました

アニメグッズやゲーム等、中古商品を取り扱う駿河屋の一覧ページをいい感じに取得するためのライブラリを作りました。 github.com というのも、駿河屋には新着商品チェック機能が(ひととおり探した限りでは)無く、「新着入荷した同人CDをチェックしたい」…

【Python】RプログラマーのためのPython入門

会社に優秀な後輩が入ってきて、優秀な先輩(私でゎない)の助けを得ながら、立派な分析者・Rプログラマーとして成長しつつあります。 しかし、R言語だけで全ての作業が完結できるわけではありません。手元でデータを加工・分析するための環境としては素晴ら…

【雑記】Operaの後継ブラウザVivaldiのクイックコマンドが便利だった

Operaの後継ブラウザのVivaldiがすごく出来が良くて驚いたという話です。 最初に結論だけ行っておくと、仕事場のWindowsではChromeやFirefoxから乗り換えたのですが、Macでは未だに使いづらい部分が残っていて保留中です。 vivaldi.com クイックコマンドとい…

【本】後輩が入ってきたので『Soft Skills』など読んでました

PythonのWebフレームワークであるFlaskでなんか作りたいなーと思っていた数週間放置して、ちょっとした空き時間とかに本を読んでました。「実装サボって本読めば勉強した気になれるから楽だよね」って言われたら反論できません。 ひとまずチュートリアルやっ…

【メモ】入社2年目になって後輩が入ってきたので、今考えていることをメモしておく

最近、優秀な後輩が入ってきたり、同期が何人か辞めていったりしました。 いろいろと考えるところがあったので、今の自分が考えていることをメモしておきます。 「あらゆる仕事はおそらくいつか失敗する」 毎日一枚一枚カードをめくっていくと、いつかは悪い…

【R】絶対に身につけて欲しいR術

友人が、後輩にこちらの記事を紹介していました。 www.shiningmaru.com Excelの基本的な機能や、分析の心構えが過不足なく紹介されている素晴らしい記事だと思います!しかし、私は統計用環境のR言語が大好きで、分析のほとんどの場面で、RはExcelより簡単に…

【本】1年前の自分におすすめしたい4冊の本

エンジニアリングの技術も乏しいまま、新卒で入社して1年ちょっとくらい経ち、後輩も入ってきたので、「この本を読んどいて仕事に役立ったな/もっと早く読んでおけばよかったな」という本をまとめておくコーナーです。 うちの会社では自主性を重んじられるの…

【R】Rのライブラリ作成時に困ったこと×2

R

できるだけ簡単にRの定型作業が終わるよう、自作のライブラリを作って、簡単に引き継ぎ作業ができる状態を作りました。 (職場の優秀な先輩が、Rのコード資産を自分だけにしか使えず、定型作業をほかの人に引き継げずに闇を抱えてしまった姿を見てしまってい…

【Python】GoogleCloudVisionAPIを使って、ホットペッパーの画像で肉々しいお店を判定できないか試してみた

上司から「飲み会のセッティングよろしく!奮発したところで!」という仕事が振られたのですが、そのセッティングや予約を後回しにしてしまい、 直前になってバタバタしてしまっています。 そして、今回の反省を踏まえ、効率よくお店候補を集める方法がない…

【本】不動産について学びたいなら、不動産投資について学ぶと良いってえらい人が言ってた

最近仕事で不動産について話を聞くことが多いのですが、彼らの言ってることが分からなくてムカつくので勉強しています。 「勉強しろ」って言うのはもちろんですが、「こうすれば継続的に情報が得られるよ」「とりあえずこの辺から掘っていくといいよ」ってこ…

【Python】不動産ニュースを自動投稿するTwitterアカウント( @fds_info )を作りました

ここ最近スクレイピングで遊んで手に入れたスキルを活かして、不動産業界のニュースを通知するTwitterアカウント不動産情報共有( @fdj_info )を作りました。 当アカウントは以下のロジックで不動産ニュースを自動通知します。1. FDJ社のニュースブログ( http…

【Python】不動産業界のニュースを知るために、 http://fdj2today.exblog.jp/ で紹介されているニュースを転載するbotを作った

こちらの記事の続きです。 kiito.hatenablog.com 不動産について学ぼうとするとき、インターネット上で信頼できる情報源があまり無く、単にニュースをチェックするだけでも一苦労します。 それは、大きなお金が動く業界であり、アフィリエイトまがいの記事が…

【Python】日本の有名Pythonistaを特定するために、Twitterをネットワーク分析してオピニオンリーダーを見つけるライブラリを作った

私はプログラミング言語の中ではPythonが好きなのですが、日本人の有名なPythonistaはほとんど知りません。 そのため、Pythonの最新情報は、R言語やデータ分析に詳しい方から(主にPyData関連を)又聞きするような形でしか追えていません。 例えばGoogleで「…

【R】テキストファイルからSQLを文字列として読み込む

R

Rを使っていると、DBに接続してSQLを投げる作業がよく発生します。 すると、大抵は、RPostgreSQLなどのDBを扱うライブラリを用いてDBに接続し、 SQLの文字列を用意し、ライブラリの関数の引数に指定するというコードを書くことになります。 ただ、SQLの文字…

【Python】Web上にあるpdfのタイトルを取得する(中間報告)

不動産のことよくわかんねーって言ってる友だちがいたので、簡単なスクレイピングのプログラムを書いて、不動産の情報収集を日々行っています。 「urlを集め、htmlの<title>タグの中身(つまりページのタイトル)と一緒に表示する」というロジックです。htmlのparse</title>…

【Python】はてなキーワードAPIを使って特徴語を抽出する

最近、スクレイピングで記事を集めることにハマっているのですが、その記事の中に含まれるトピックなり特徴語なりを簡単にチェックする方法はないかと悩んでました。 例えば、音楽ナタリーから好きなバンドの記事を集めてくる際には、関連リンクのタグを取っ…

【Python】たった12行のコードで音楽ナタリーの好きなアーティストの記事をTwitterBotに通知するライブラリを作りました

github.com こんな感じのコードを24時間ごとに動かせば、人間椅子やTHE BACK HORNの記事が更新されるたび、Twitterに通知することができます。 import natalie_to_twitter as nt tw_conf = { 'token': 'your twitter access token', 'token_secret': 'your t…

【Python】簡単に音楽ナタリーの好きなアーティストの記事を集めるためのライブラリ「nataliechecker」を作りました

音楽ナタリーは素晴らしいサイトなのですが、RSSを登録していると自分の興味のないアーティストまで流れてきてしまい、ちょっと不便に感じることがあります。 そこで、ナタリーのRSSをいい感じに整形してくれるためのライブラリを作りました。 github.com cr…

【Python】最近Twitterを見る暇がないので、Twitterのリストから最新ニュースのurlを簡単に取ってくるライブラリ(らしきもの)を作った

就職して1年も経つと多少は忙しくなってしまいます。つまり、しっかりと意識して自分自身の勉強や趣味の時間を確保する必要があります。 そのため、Twitterについても今までのようにだらだらとタイムラインを眺めるような使い方はできなくなり、 Twitter業務…

【Ruby】injectでリストに値を加えていくコードで、代わりにEnumerator::Lazyを使ってPythonのジェネレーター風の遅延評価を行う

会社のRubyistが「一つの言語を極めておくと、他の言語もゴリゴリ書けるようになるって最近Go言語書いてるPerl Mongerのオッサンが言ってた」って言ってました。 私も、Pythonをある程度書けるようになってたおかげで、RubyやR言語でも迷わずにプログラミン…

【Ruby】DBからの戻り値をdplyr風に操作するleft_outer_join関数を定義したら便利だった

最近、BigQueryに解析・レポート用にデータの紐付け&クレンジングしたテーブルを入れるプログラムを実装しています。 例えば、ある学園の生徒名簿のテーブルを考えると、こんな感じになるはずです。 生徒id 名前 年齢 1 hoshimiya 17 2 ozora 13 3 kiriya 1…

【R】データベースのマスターテーブルから、重複&データの不整合のあるidを取り出すための書き捨てコード

明らかにバッドノウハウですが、関数型プログラミングのライブラリであるpurrrのサンプルコードにある data %>% split(.$カラム名) %>% purrr::map(データフレーム操作) のコンボを上手く決められたので、せっかくなのでブログに貼り付けておきます。 github…

【雑記】deepart.ioを見てると、機械学習を使ったGlitch Artみたいなのが生まれるんじゃないかと思う

要するに今日はプログラミングをサボってWEBサービスで遊んでました。 先日、「人工知能(ディープラーニング)が画像の絵柄を真似して、別の画像に適用する」というサービスが話題になってました。 ima.goo.ne.jp 人工知能が写真を元に「特定の絵柄っぽく真…

【R】Rでchatworkにメッセージを投稿するライブラリ『rChatwork』を作りました

R

時間のかかる計算が終わったときに、Chatworkに通知させたいという需要があったので、Rからchatworkに投稿するライブラリを作りました。 github.com 英語が糞なのは気にしないでください。 Pythonistaなのでクラスベースのオブジェクト指向が理解しやすいた…

【本】『文化進化論 - ダーウィン進化論は文化を説明できるか』は理系で社会科学を研究したい人に読んでほしい

『文化進化論 - ダーウィン進化論は文化を説明できるか』という本がすごく刺激的でした。 人間に関する研究と同様、生物に関する研究も多数の関連分野があります。 ところ生物の研究では異文化間の交流ができて研究が積み重なっているのに対し、 人に関する…

【R】(☞ ´。ω゜)☞ 全てのRプログラマーはLispを学ぶべきである!

R

Lispを使って、関数型言語の機能を過不足なく勉強できそうな本が発売されていました。 はじめてのLisp関数型プログラミング――ラムダ計算からリファクタリングまで一気にわかる (Software Design plus)作者: 五味弘,272出版社/メーカー: 技術評論社発売日: 20…

【Python】chatworkのAPIを叩くライブラリpychatworkを作りました

Python3.5でchatworkAPIを叩くためのライブラリを作りました。 とりあえず動くやつ作ったので色々と適当です。 github.com こちらの本が参考になりました。 Pythonプロフェッショナルプログラミング第2版作者: ビープラウド出版社/メーカー: 秀和システム発…

【Python】chatworkAPIを叩くとき、requestsライブラリを使うと楽だった

以前、こちらの記事を参考にchatworkのAPIを叩くプログラムを書いてましたが、自分のOSXのpyenvでpycurlがうまく動作せず、pyenv上のPython3系に移行させる際に不便そうでした。 qiita.com しかし、Pythonのrequestsライブラリを使うことで、更に簡単にPOST…

【R】RでPythonの"str".isdigit()みたいな操作

R

ルールに従っているidがあって、「idの冒頭2文字が数字かどうか」をチェックしたい案件がありました。 example_ids <- c("01_orange_0001001", "09_red_0001001", "aa_purple_0002002") Pythonであれば文字列のスライスとis_digitメソッドで簡単にチェックす…

【本】ハッカーニュースでよく紹介されるという『影響力の正体』など、最近読んだ本の紹介

プログラマーは休日には手を動かしてプロダクトを作るべきだと思うのですが、日本語歴のほうが長くて慣れてるので本ばかり読んでいます。 もっと自由にプログラミングできるようになりたいと思いつつ、いろいろと後回しにしてるので良くないですね。 影響力…

【Python】不動産のドメイン知識を得るために、業界の方々が紹介しているリンク集を自動投稿するブログを作った

データ分析にはドメイン知識が必須です。 せっかく一生懸命分析しても、「あ、その結果ってそうなんだよ!でもありがたいけど、当たり前すぎて役にたたないなあ…」と言われ、がんばった成果が無駄になってしまうことも度々だとか。 売上がアップしても、その…

【R】社内勉強会でRの紹介をするときの原案

R

私のいる会社はWEBサービスで成長してきた会社なので、 社内ではエンジニア≒WEBアプリケーションエンジニアという認識の人が多いです。 前任者の先輩が強力なRプログラマーで、すごい統計解析やツールを作っていたにも関わらず、 その結果が正しく理解され運…

【本】社長が薦めてた『解決!空き家問題』を読みました

社長さんがお薦めしてた本を読んでみましたのコーナーです。 うちの会社の社長さんは、あれだけいろいろな場所を飛び回っているのに、おそらくその合間にものすごい量の勉強もしていて、新しいネタを引っ張ってアレもしたいコレもしたいと言っているすごいバ…

【Python】KING OF PRISMが素晴らしかったのでテキストマイニング環境を整えてみた

みなさんは現在放映中の映画KING OF PRISM by PrettyRhythmを観ましたか? kinpri.com 2014年に放送終了した女児向けアニメプリティーリズム・レインボーライブのスピンオフで、男性キャラにフォーカスしたストーリーが展開されています。監督を始めとする、…

【Ruby】RubyでRのdplyrっぽいメソッドチェーン

今日は、RubyでDBの戻り値を集計する部分を触っていました。 DBからの戻り値は例えばこんな感じです。ここから、各アイドルグループ(soleil, luminas)ごとに平均年齢を出したいとします。 # スターライト学園のアイドルの名簿 name_list = [ {'name' => 'ich…

【R】パイプ演算子ってdplyrやmagrittr独自の機能じゃなくて、F#が元ネタなんだね

R

Rのプログラマーは「Rって独特な言語だから、R言語独自の機能が多くて他の言語に応用が効かない」とか言いがちですが、そんなことは無いと思います。関数型言語(Scheme)の影響が強いので、ちょっと立ち位置は遠いのかもしれませんが。 例えば、以前私が「…

【R】そうです。Hadley Wickhamが僕の畏敬する天使様なのです

R

「Rのプログラマーは当たり前に思ってるけど、他の人達にとってはそうじゃないこと」をまとめておいて、 先輩や同僚から「Rって何が便利なの?使って or 勉強して得になるの?」って聞かれたときにパッと答えられるように備えておこうという記事です。 (自…

【R】『新米探偵、データ分析に挑む』を読んでいます

R

同僚のRプログラマーにおすすめのRの本は無いかと聞いたところ、 「新米探偵データ分析本→実務→(みんなのR→)advanced R」の順番に学ぶといいと聞き、新米探偵本を借りて読んでいます。 新米探偵、データ分析に挑む作者: 石田基広,shimano出版社/メーカー: …

【R】ふつうのスクリプト言語プログラマーのためのR言語入門

「他のスクリプト言語ならそれなりに触れるけど、Rって変な機能が多いから難しい」と感じている人のために、Rの独特な点、ハマりどころ、そして特にデータの集計での強力な機能やパッケージをまとめてみました。 社内のデータリソース移行の作業の中で、前任…

【画像】Excelが憎い

urasunday.com

【本】『クックパッドのデータ分析力』とかを読みました

最近読んだ本について、ざっくり紹介しておきます。 クックパッドのデータ分析力 法人向けにユーザー行動のデータを提供するたべみるというサービスのリニューアルの話です。 「少し先の未来」を予測する クックパッドのデータ分析力作者: 中村耕史出版社/メ…

【R】bigrqueryパッケージでBigQueryにデータをインサートするとき、integer型の最大値で困った

RからGoogle BigQueryを操作できるbigrqueryが便利です。クエリを投げてローカルにデータを取得する他、データソース名やテーブル名を取得したり、テーブルを削除したりもできます。 github.com また、次のようにしてinsert_upload_jobを使って、データフレ…

【R】R6ライブラリを使ってクラスを作ってChatworkのAPIを叩いてみた

R R6

Pythonでプログラミングする際、「まずコードを書いて、ある程度コードが大きくなってきたらクラスを作って整理する」ということをよくします。 R言語ではなんだかオブジェクト指向の概念が特殊で、その辺の機能を敬遠していましたが、 「普通のオブジェクト…

【Python2】弊社のコーポレートサイトが更新してたらChatworkに通知するbotを作った

私、ずっと弊社にいたのに、弊社のこと全然分かってあげられてなかった…。 「他の部署が面白いことやってるのに、社長が話してて初めて知った!」ってことが多かったので、 弊社のコーポレートサイトが更新したらChatworkに通知するbotを作りました。 Chatwo…

【雑記】森を見てから木を見るようにしたい

ここ最近、社内の分析環境のデータソースの移行(の一部)を担当してたのですが、 いろいろな要因が絡み合ってかなり遅くなってしまいました。 なんとか完了できたのですが、まだ一部データの検証ができていない部分があって、対応中の部分があります…。 い…

【R】パイプで引数のリストを展開(Pythonのfunc(*args))してパイプで渡す方法を探しています

DBに何日分かデータが入っていなかったため、DBの中身をチェックする必要がありました。 そこで、以下の日付の範囲を取る関数を作り、DBの戻り値にないものを探すようにしました。 library(dplyr) library(purrr) # 日付の範囲を取る関数 date_range <- func…

【R】RからChatworkAPIを叩いて計算終了を通知する

社内でChatworkが使われているのですが、Rの計算が終わったときに通知してくれると便利だと思い、 ChatworkのAPIを叩いて通知する関数を作ってみました。 chatworkにbotアカウントを用意し、計算終了時にメッセージを投稿させます。 こちらのコードを参考に…

【R】ファイルサーバー上のファイルの更新を定期的に確認するスクリプトを作成中

R

弊社には古より伝わったファイルサーバー上のExcelやPowerPointで色々な仕様書や必要な情報がやりとりされる文化があります。 (正直不便すぎるのでやめてほしいのですが、すぐに変更できるとは思えないし、過去の遺産もあるのでなんとか作業しなければいけ…

【Python2】Twitterの検索結果を自動でリツイートするbotを作りました

@kayourockというアカウントを運営しているのですが、 ここ1年以上、ツイートの内容も更新できないし、自分の力で音楽をdigる時間も少なくなってきてしまいました。 twitter.com 歌謡曲のようなノスタルジックなメロディーのロック/ポップスを紹介。日本なら…

【読書】(ITエンジニアの勉強をサボって)『方言学入門』を読みました

妹が言語に興味があるとかで、授業で使って面白かったという方言学入門という本を貸してくれました。 方言学入門作者: 木部暢子,竹田晃子,田中ゆかり,日高水穂,三井はるみ出版社/メーカー: 三省堂発売日: 2013/08/21メディア: 単行本この商品を含むブログ (4…