歩いたら休め

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

【メモ】PyCon 2017で勉強になったこと、これから勉強すること

プログラミング言語PythonのカンファレンスPyCon JP 2017に参加してきました。そこで勉強になったこと、これから勉強したいことをまとめた個人的なリストです。 いろいろなセッションの内容については、既にいろいろな方が素晴らしい記事を書いているので、…

【本】エンジニアが合理的にコミュニケーションしていくために

私は、データ分析を多く取り持つ部署で仕事をしています。そのため、普段関わりのない他の部署とやり取りする必要があったり、 最近では個人情報を取り扱う際には色々とお伺いを立てる必要があります。 システム化する際には技術に詳しい先輩に協力を仰ぐ必…

【自然言語処理】電話対応のデータ分析で乱読したときのメモ

最近、電話対応のデータ分析を行っていたので、周辺分野と思える書籍や記事を乱読していました。 結論から言うと、最近のクラウド上の汎用の自然言語処理エンジン(LUISやapi.ai)を使えば、もう少し発展させてシステム化するときも汎用の検索エンジンを組み…

【LSDj】ゲームボーイでDJをする(調査・環境構築編)

世の中にはチップチューンという音楽ジャンルがあり、ゲーム機やレトロPCで音楽を作ったり、パフォーマンスしたりして楽しくやっている人たちがいます。(さらに詳しくはCHIP UNION等の専門サイトや、チップチューンのすべてを読んでください) この記事に書…

【Python】networkx + PyGraphvizで有向非巡回グラフ(Directed acyclic graph)をプロットする

昨日書いたコードで、「有向非巡回グラフ(Directed acyclic graph)をきれいにプロットする」ということが課題として残っていました。 ところが、よく考えたらDAGはワークフローエンジン等でよく使われている概念で、ワークフローエンジンで、タスクの順番…

【Python】仕事の依存関係を有向非巡回グラフ(Directed acyclic graph)として整理するツールを作りました

特にデータ分析周りの仕事で、 「プログラムを書く」前に「設計」と「プログラミング言語の選定」が必要 「プログラミング言語の選定」の前に「設計」が必要 「設計」の前に「稟議を出す」「個人情報についての取扱を調べる」が必要 … といったような、タス…

【Python】urllibでマルチバイト文字のURLのhttps通信が失敗する

サラリーマンたるもの、日々の情報収集は欠かせません。 そのため、気になる業界ニュースをチャットに通知するクローラーを実装して使っているのですが、度々未知のエラーが出てしまいます。 叩いたら粉まみれ。PCデポ決算修正の内容とは https://t.co/9HEJy…

【情報検索】文章スコアのTF-IDFとBM25についてポインタを残しておく

OSSの検索エンジンであるSolr/Luceneの勉強会に行っていました。 solr.doorkeeper.jp この中の発表『Solrで多様なランキングモデルを活用するためのプラグイン開発』で、 SimilarityにはTF-IDFとBM25の二種類あり、Solr6からはBM25がデフォルトになっている …

【本】最近読んでいる本(特に不動産関連)

最近はあまり本を読んでいませんが、一応何冊かは読んだので。 テキストマイニングを使う技術/作る技術(那須川哲哉) 最近、業務でテキストマイニングで業務支援を行う案件にアサインされており、ゴリゴリコードを書くことになりそうだったので読んでいま…

【Python】辞書のキーにデフォルト値をセットする

最近Pythonで自然言語処理をしていて、複数のライブラリを利用していると、どうしてもリストや辞書のややこしい変換が増えてきます。 categories = ['サーバル', 'かばん', 'サーバル'] lines = [ ['ここ', 'は', 'さばんな', 'ちほー'], ['食べ', 'ない', '…

【Haskell】optparse-genericを使ってコマンドラインツールを作るまで

Haskellは優れた型システムによって見通しの良いプログラミングができるものの、アプリケーションを作る際にはどうしても敷居が高く感じてしまっていました。 というのも、PythonやRubyなどのスクリプト言語では豊富なパッケージの組み合わせで小さなプログ…

【Haskell】vim上でHaskellの構文チェックを行う

今まで完全に教養としてHaskellを勉強していた(Pythonの型注釈に必要な感覚を養いたい、内部状態の少ないコードを書きたい)のですが、「この問題はHaskellなら上手く解けるんじゃないか」というものを思いついたので、初めて自分の頭で考えたコードをHaske…

【アルゴリズム】検索エンジンで重要なトップnソートについてまとめておく

検索エンジンやレコメンドエンジンを昔実装していた先輩から、飲み会で レコメンドエンジンって、要するに検索エンジンの特殊なもの 検索エンジンに重要なアルゴリズムはトップnソート 実際に利用した性能評価も重要 という話を聞きました。 ところが、私は…

【Python3.6】はてなブログに投稿するためのライブラリをPyPIに公開しました

以前書いたスクリプトを書き直して、PyPIからインストールできるようにしました。 github.com pypi.python.org

【Python3.6】AWS Lambdaでツイッターを検索して自動リツイートする

先程の記事に引き続き、AWS LambdaでPython3.6が使えるようになったので、過去にPython2.7で書いたバッチ処理のレガシーコードをLambdaに移行しています。 まずは、下の記事で書いた「ツイッターを検索した結果を自動リツイートする」コードを移行します。今…

【Python3.6】AWS Lambdaを再現するDocker Imageのdocker-lambdaを使ってみた

この間AWS LambdaでPython 3.6がサポートされたので、レンタルサーバーで動かしているTwitterの自動投稿やクローラーを移行しようと画策しています。 AWS LambdaがPython3.6に対応したので使ってみた | Developers.IO 外部ライブラリ(twitterライブラリやB…

【本】プログラマーは『ものづくりの数学のすすめ』を読んで、のんびり数学を勉強しよう

『ものづくりの数学のすすめ 技術革新をリードする現代数学活用法』を読んでみたところ、とても面白かったのでおすすめしますという記事です。 そもそも私がこの本を読んだのは、 著者の方のツイートを見かけて「面白い立場の方だな」と思ったこと 最近私が…

【ニュース】「ブロックチェーン技術と不動産」について、有識者に質問してきてほしい

最近、「bitFlyerと積水ハウスがブロックチェーン技術を利用した不動産情報管理システムの構築を開始する」といったニュースが話題になっています。 jp.techcrunch.com 「ブロックチェーンを不動産に適用するとイケるんじゃないか」ということは以前から言わ…

【R】「20代のエンジニアの間で本当にPHPは廃れたのか?」を集計する

前回の記事で、転職ドラフトのデータをスクレイピングし、簡単な分析を行いました。 kiito.hatenablog.com ただし、こちらの記事の時点では、転職ドラフトは終わっておらず、中途半端なデータの状態のまま集計していました。 特に最終日に多くの指名が入って…

【R】転職ドラフトのデータをスクレイピングして分析(集計)する

お久しぶりです。 最近上司と「機械学習とかその辺の技術が発展したら、真っ先に自動化されて仕事なくなるのはハンパなエンジニアと中間管理職だよね〜」という話をして危機感を募らせている @takeshi0406 です。 WEBエンジニアにはご存じの方も多いと思いま…

【雑記】Haskell(で|と)数学を割と真面目に勉強しようと思います

Python3の型注釈が目指す世界をきちんと理解したいと思い、 2年越しくらいですごいHaskellたのしく学ぼう!をようやく読み終わりました。 型クラスの話あたりから、動的型言語(まともに書ける言語がPython, Ruby, R)にとっては感覚をつかみにくかったのです…

【R】Yコンビネータ(不動点コンビネータ)をRで写経する

R

最近関数型言語(主にHaskell)で遊んでいます。 その中「ラムダ式の中で再帰を行うことができる」Yコンビネータという概念が出てきたのですが、ちょっと理解できなかったので、Rで実装してみたという記事です。 Pythonによる実装は以下の記事に詳しく解説さ…

【雑記】データエンジニア・サバイバルガイド

この間、久しぶりにある優秀な先輩に会い、いろいろと話をする機会がありました。 以前短い期間でしたが一緒に仕事をする機会があり、その際に基本的な統計プログラミングや仕事で気をつけるべき点(闇)についていろいろ教えていただいた方です。「お前はも…

【雑記】なぜ「人工知能」という言葉が使われてしまうのか

というバズりそうなタイトルですが、「人工知能」とか「機械学習」のことはあまり書きません。 私も詳しくないので。 そういうのを期待している人は、こっちを読みましょう。 bohemia.hatenablog.com ある会のとき、上司が同僚2人の成果について「人工知能」…

【R/Python】rChatworkとpychatworkをチャットワークAPIのバージョンアップに対応させました

RとPythonのチャットワーク用ライブラリを、APIのバージョンアップに早めに対応しました。 ライブラリの実装練習に作った割に、なんだかんだ自分でいろいろと利用しているのでビックリです。 help.chatwork.com v1からv2への移行期間として、下記の停止日ま…

【雑記】『フリーカルチャーをつくるためのガイドブック』で色々勉強になったけど結論はない

先日、市役所に書類を取りに行くついでに寄ったブックオフで、気になるタイトルの本を買いました。 それが『フリーカルチャーをつくるためのガイドブック』です。 フリーカルチャーをつくるためのガイドブック クリエイティブ・コモンズによる創造の循環作者…

【Python】Web集客や、データ処理の最新ニュースを自動投稿するブログを作りました

実際には、ここ1年くらいSlackに通知していたものを、「ログ残んないしざっと見るとき不便だな」と思ってたので、はてなブログに自動投稿するように作りました。 TumblrやBloggerとか、JekillとかPelicanとかでS3に静的ページを作ることも考えたのですが、既…

【本】プログラマーのための『贈与論』

最近、面白い本をいくつか見つけて読んでいました。 特にモースの『贈与論』に関係あるところで。とはいえ、まだまとまった文章は書けるほど消化できていないので、簡単に紹介していくだけにします。 本書『贈与論』Essais sur le donは、フランスの文化人類…

【自動要約】海外のニュースを自動で要約して翻訳して、自動でまとめてくれるプログラムを書ければいいなあ

海外のニュースを簡単に通知できないか試そう(試したい)という記事です。 国内の業界ニュースは当然追っているにせよ、海外に面白い動きがあるのに、全然把握できていないことは多々あります。 とはいえ、私は英語が得意ではないため、自分の興味のあるニ…

【R Advent Calendar】Rプログラマーのための関数型プログラミングの学び方

R Advent Calendar 2016の5日目です。よろしくお願いします。 最近、R界隈ではHadley Wickham氏が中心となって開発しているtidyverseと呼ばれるライブラリ群が流行っています。 彼がWelcome to the Tidyverseという記事の中で、次のような宣言を行っています…