読者です 読者をやめる 読者になる 読者になる

歩いたら休め

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

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

というバズりそうなタイトルですが、「人工知能」とか「機械学習」のことはあまり書きません。 私も詳しくないので。 そういうのを期待している人は、こっちを読みましょう。 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という記事の中で、次のような宣言を行っています…

【Python】はてなブログのOAuth認証でブログを自動投稿するスクリプトを書いた

不動産関連のニュースを自動でスクレイピングで集めていたのですが、 Python2から3に移行する際にOAuth認証に移行しようとして、ずっと面倒でサボっていました。 Rubyでは、既にgemの形で実装している方がいました。記事の内容も素晴らしかったし、コードも…

【Python】PyPIに『pychatwork』を公開しました

以前練習で作ったライブラリを、仕事でも後輩のタスクで使うようになった(らしい)ので、PyPIに公開してインストールできるようにしました。 pypi.python.org 登録手順など、こちらのページを本当に助けられました。ありがとうございます。 qiita.com テス…

【Python】データサイエンティストのためのPython開発記事紹介

後輩が数値計算を使う、簡単なバッチ処理をPythonで書き始めました。 一応私もPythonの知識ならそれなりにあるのでいろいろ教えられることは(まだ)あります。 そのための予行練習としていろいろまとめておきます。 正直、自分よりもっと数値計算やプログラ…

【Python】pip installで突如UnicodeDecodeErrorが出始めたので対処した

Github上にアップした自作のPythonモジュールをインストールしようとしたところ、UnicodeDecodeErrorが出てしまいました。 $ pip install --upgrade git+https://github.com/takeshi0406/twlist_to_urllist Exception: Traceback (most recent call last): F…

【Python】Rubyの配列やハッシュのメソッドをPythonで再現する

友だちが「Rubyはいろいろなメソッドがあって柔軟だから、 そっちに慣れちゃうとPython書くときちょっと困るんだよね」と言っていました。 たしかに、Rubyは「配列やハッシュに対してこんな機能があればいいな」と感じたとき、 そのデータ型のリファレンスを…

【Elixir】ElixirのWebフレームワーク、Phoenixをインストールだけしてみた

Elixirという関数型言語が流行り始めているような雰囲気を感じています。 ErlangのVM上で動く並列処理に強い言語で、(詳しく知らないのですが)Prologの影響が強くいまいち使いづらいErlangに対して、 Rubyっぽい見た目で使いやすくした言語と聞いています…

【Ruby】open-uriでhttp=>httpsのリダイレクトを行う

Rubyでスクレイピングしていたところ、PCサイトからスマホサイトにリダイレクトするところで次のようなエラーが出てしまいました。 どうやらRubyのopen-uriではhttpからhttpsへのリダイレクトが禁止されているようです。 kiito.hatenablog.com open-uri.rb:2…

【Ruby】HTMLをYAMLに変換して他サイトの改修をチェックする (ver2)

「スクレイピングで他サイトの改修をチェックして自社サイトの参考にしよう」という上司の無茶振り要望に応えてあげようキャンペーン第二弾です。 kiito.hatenablog.com 前回のコードを回して、一応改修箇所は検知できていたようですが、正直全然使い物にな…

【メモ】自分だけが仕様を理解してコーディングしているのがつらすぎる

最近、会社でプログラミングをしていてつらさしか感じません。 1人1人が独立してタスクを進めているため、仕様や実装の詳細を自分しかきちんと把握してません。 そのため、周囲と比べてスキルや経験に乏しい自分にとっては荷が重いと感じることがあります。 …

【Python】Selenium + PhantomJSでPythonからブラウザ画面のスクリーンショットを撮る

WEBサイトの改修を検知するプログラムがそれなりにうまくいきそうなのですが、改修があったときにyamlの文字列を見てもピンと来ません。 kiito.hatenablog.com というわけで、PythonからSeleniumを介してPhantomJSを動作させ、 スクリーンショットを撮ること…

【R】weblioの住宅用語辞典をスクレイピングして住宅関連の単語のcsvを作る

自然言語処理をやっている人はよく辞書の整備が大変だと言います。 そんな話をしていたところ、「自分が詳しくない分野の言葉を知るときはweblio辞書が便利だよ」という知見を教えてもらいました。 www.weblio.jp しかし、私は怠惰なプログラマーなので、ス…

【PyCon】『メタプログラミングPython』を復習して言語の理解を深めよう

PythonのカンファレンスであるPyConJP2016に一般参加してきました。 様々な発表や催しがあったのですが、特に素晴らしかったのが@tell_kさんの『メタプログラミングPython』という発表です。その名の通りオライリーの「メタプログラミングRuby」の内容に沿っ…

【Python】他サイトの改修頻度をチェックするためにHTMLをYAML(っぽい何か)に変換するためのコマンドラインツールを書きました

上司から「サイトがマメに更新されてると、Googleの検索エンジンからの評価が上がるらしいんだけどさぁ、 他サイトの更新頻度をチェックしたり簡単に比較する方法ない?」というふんわりした話題がありました。 単純に考えると、サイトのHTMLを定期的にスク…

【Ruby】PythonプログラマーがRubyを触って感じたこと

Pythonプログラマーというか、元々Python(ときどきR、C言語)で数値シミュレーションをしていた学生が、就職してRubyでWeb開発を行うにあたって勉強したことを書き連ねていくだけの記事です。 もし自分と同じような立場の人(これから後輩としてもどんどん…

【本】『ウェブマーケティングという茶番』『やりなおし!地理の教科書』など読みました

技術書っぽくないやつですが、昨日2冊読みました。 ウェブマーケティングという茶番 タイトルに惹かれて買いました。リスティング広告やSEOなどの広告代理店の話です。 胡散臭いと思われているこの業界を変えるため、同業者を敵に回す覚悟で、業界の実態を暴…

【本】仕様化やレビューについて勉強しています

最近、2つ理由からレビューの仕方や、仕様化のプロセスについて勉強しています。 自分自身がプログラムを書いている間、ドメイン知識が足りず、手が止まっている時間や周囲に確認することが多い。 (半ば非公式に)分析用のRプログラムのコードをレビューす…

【MySQL】DBに入れた検索クエリテーブルから、キーワードの順序に関係なく抽出する

MySQLのデータベースに検索クエリが保存されており、その中から検索クエリを取得したいとします。 具体的には「検索連動広告にガンガン新規キーワードの組み合わせを登録したい」「葉隠れ構造を崩したくないから、同じキーワードの組み合わせを別のキャンペ…

【シェルスクリプト】git管理下のファイルの行末のスペースを消す

あまりに「末尾に空白がある」ってレビューで返されてしまうので、今のディレクトリ配下の行末のスペースを消すようにした。 vimでファイル閉じるときにできるのかもしれんけどまあいいや。 git ls-files | xargs sed -i -e 's/ *$//'

【雑記】メンター業務をがんばってたら最強の後輩が産まれてしまった

今年、いわゆるデータサイエンティスト的なスキルの後輩が入ってきて、私がメンターの役割を任されました(正確にはメンターになるはずのメンバーが抜けてしまい、早いタイミングで私が引き継ぎました)。 彼は、今時珍しく(?)、数学的な能力と、その手法を…

【本】『人』も『プログラム』も両方動かさなくっちゃあならないってのがエンジニアのつらいところだな

最近いろいろ読みました。 人を動かす 有名なやつですね。SOFT SKILLSで薦められていたのと、同期の優秀なマーケッター(仕事の進め方がうまい)がコレ系の本が好きなので読みました。 「相手に重要感をもたせることが大事」「相手の自尊心を傷つけると、反…

【雑記】就職してからプログラミングが楽しくない

完全に糞みたいな記事です。自分の考えをまとめるために書いてるだけです。 若手向けの社内のちょっとした技術研修で、「自分の苦手分野の目標を立てて好きなもの作っていいよ」というふわっとしたお題を出されて、チーム組んで設計してAWS上に実装している…

【AWS】AWSの構築・ネットワークで学んだこと

AWS

いろいろあって、AWSでEC2のインスタンス立てて、APIサーバーはプライベートのサブネットに立てて…という設定作業をしています。 多分知っている人からすると一瞬で終わるような作業ばかりなのですが、私は始めてやる作業なので詰まってばかりで困っています…

【雑記】会社に入ってわからんかったこと

社内のゆるふわ技術勉強会で発表することになったので、 最初は「入社2年目の新卒エンジニアが困ったこと」という内容にするつもりだったのですが、 愚痴っぽい内容になりすぎたのでやめました。 といってももったいないので、(一応)匿名ブログに書いてお…

【本】なぜエンジニアは生きづらいのか

最近のお仕事がグダグダで、「あ、今おれ上司に信用されてないな」って思うことが多いのでいろいろ読みました。 うまくいかないときは、自分の考え方や進む方向が間違っていて、どこかから別の考え方を取り入れる必要があるというのが持論です。あと、Mac Bo…

【Coconut】Python互換の関数型言語Coconutはパイプ演算子が使えるよ

日頃RとPythonを使っていると、「ああ、Pythonでもパイプ演算子が使えればいいのに」「purrrライブラリみたいにラムダ式が簡単に書ければいいのに」「Pythonのジェネレーター(遅延評価するリストのようなもの)をパイプで渡せると超楽しそう」と思うことは…

【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…