タグ

ブックマーク / kiito.hatenablog.com (8)

  • 【Python】asyncioの代替ライブラリtrioを調べてみた - 歩いたら休め

    この記事はPython その2 Advent Calendar 2018の遅れてきた15日目の記事です。 最近、クローリング用のプログラムのasyncioを使った並行処理のプログラミングをしており、「asyncioのベストプラクティス」という趣旨の記事を書こうと思っていたのですが、自分自身感覚を掴めておらず、「あれ?これってasyncioのAPI自体も微妙なのでは?」「そもそもasyncioのドキュメントのドキュメントを読んでも、どの機能をどう組み合わせて使えばいいか分からない」と思ってしまっていて記事を書きかねていました。 ただ、知人から「trioというライブラリのAPI設計が素晴らしい」と薦めて頂いたのと、あまりにも待たせてしまうのも申し訳ないのでひとまず「調べてみた」レベルでアウトプットを出します。 私はまだ並列/並行/非同期処理に詳しいわけではないので、大きな思い違いをしている可能

    【Python】asyncioの代替ライブラリtrioを調べてみた - 歩いたら休め
  • 【Python】はてなキーワードAPIを使って特徴語を抽出する - 歩いたら休め

    最近、スクレイピングで記事を集めることにハマっているのですが、その記事の中に含まれるトピックなり特徴語なりを簡単にチェックする方法はないかと悩んでました。 例えば、音楽ナタリーから好きなバンドの記事を集めてくる際には、関連リンクのタグを取ってきてアーティスト名を取ってきて、「これは興味のある/ない記事だ」という判別を行っていましたが、この方法はナタリーのサイトでしか使えないし、少しhtmlのタグの名前が変わっちゃうだけで使えなくなります。 頭のいい人ならここから「自然言語処理だ!」「機械学習だ!」「トピックモデルだ!」となると思うのですが、彼らは人生の9割と辞書と学習データの整備に費やしている印象があるので、週末きちんと遊びたい私は別の方法がないか探していました。 そこで、 APIを使って特徴語を抽出する 抽出した特徴語や、そのカテゴリから簡単なルールベースで判別する という方法でうまくい

    【Python】はてなキーワードAPIを使って特徴語を抽出する - 歩いたら休め
  • 【Elixir】ElixirのWebフレームワーク、Phoenixをインストールだけしてみた - 歩いたら休め

    Elixirという関数型言語が流行り始めているような雰囲気を感じています。 ErlangのVM上で動く並列処理に強い言語で、(詳しく知らないのですが)Prologの影響が強くいまいち使いづらいErlangに対して、 Rubyっぽい見た目で使いやすくした言語と聞いています。 R言語をたまに使っている身としては、dplyrやtidyrと同じくF#のパイプライン演算子が使える言語として気になっていました。 仕事Rubyを書いていても、「ここはパイプを使いたいなあ…でも無理やり実装してもRubyのオブジェクト指向の世界観に合わないし」と 悩んでいたのでいろいろ試してみたいです。 この間プログラミングElixirが出て、今読みながらいろいろと遊んでみたいです。 プログラムの書き方だけでなく、ドキュメントの文化や、テストコードの書き方まで紹介されており、 かなり実用的で楽しいだと感じています。 プ

    【Elixir】ElixirのWebフレームワーク、Phoenixをインストールだけしてみた - 歩いたら休め
  • 【R】転職ドラフトのデータをスクレイピングして分析(集計)する - 歩いたら休め

    お久しぶりです。 最近上司と「機械学習とかその辺の技術が発展したら、真っ先に自動化されて仕事なくなるのはハンパなエンジニアと中間管理職だよね〜」という話をして危機感を募らせている @takeshi0406 です。 WEBエンジニアにはご存じの方も多いと思いますが、転職ドラフトというWEBサービスがあります。 job-draft.jp このサービスは、次のような理念や問題感から始まった作られたものだそうです。素晴らしいです。 企業による公開競争入札。 これなら、自由競争でのリアルな相対価値がわかるようになる。 エンジニアだからこそ、より明確に。 誰が評価され、誰が評価されないのか。 自分の価値向上には、これから何をすべきなのか。 私も「友達を紹介してオライリー・ジャパンのをGETしよう!」の文言につられて、友だちを3人紹介した上で登録したのですが、レジュメを丁寧に読んでダメ出ししてもらえ(

    【R】転職ドラフトのデータをスクレイピングして分析(集計)する - 歩いたら休め
  • 【Python】RプログラマーのためのPython入門 - 歩いたら休め

    会社に優秀な後輩が入ってきて、優秀な先輩(私でゎない)の助けを得ながら、立派な分析者・Rプログラマーとして成長しつつあります。 しかし、R言語だけで全ての作業が完結できるわけではありません。手元でデータを加工・分析するための環境としては素晴らしいのですが、大規模な計算では遅かったり(パフォーマンスを上げるにしても工夫が必要だったり)、クラスベースのオブジェクト指向が無いため、プログラムが大きくなるにつれて関数の整理が難しかったり、言語としてつらい面も多いです。 また、データ分析して作ったモデルをサービスに乗せる際には別の言語を使う必要があると思います。一応、shinyというWEBアプリを作るためのライブラリもあるものの、「社外向けのサービスでバリバリ使ってるぜ!」という話は聞いたことがありません。 というわけで、R言語メインのプログラマーが、一歩進んでスクリプト言語(Python)が抵抗な

    【Python】RプログラマーのためのPython入門 - 歩いたら休め
  • 【R】Rで関数型プログラミング - 歩いたら休め

    最近Rを使っていて、dplyrなどの強力なパッケージで気軽にデータの成形ができることに感動しています。 先輩に渡してもらったコードの中で、tidyr::spreadにデータフレームをパイプ%>%で渡し、 データの成形を一気に終わらせていて、こいつはただごとではないと感じました。 その後、今日の仕事時間の半分はRで遊んでました。 もうPythonのpandasなんかでデータの集計なんてできません。 qiita.com ただ、私はPythonユーザーなので、リストっぽいものは全部リストっぽく操作できる統一的な世界観に慣れてしまっているため、 Rの無駄に高機能な関数を使って操作することに慣れません。 毎回「こんな関数ないかなー」と調べたり、「さっきも同じようなコード書いたよなあ」と思ったり、 強い関数を使っている分、多くの関数を知らないと意味が分からないコードになってしまいがちです。 ところで、

    【R】Rで関数型プログラミング - 歩いたら休め
  • 【R】絶対に身につけて欲しいR術 - 歩いたら休め

    友人が、後輩にこちらの記事を紹介していました。 www.shiningmaru.com Excelの基的な機能や、分析の心構えが過不足なく紹介されている素晴らしい記事だと思います!しかし、私は統計用環境のR言語が大好きで、分析のほとんどの場面で、RはExcelより簡単に記述できると思っています。 というわけで、「もしRで同じ内容の記事を書くとどうなるのか」というパロディーを書いてみることにしました。 クライアントとかと接しながらいつも思うのですが、Rすら出来ない人多すぎ。あなたたちが作った適当なフォーマットと手打ちのExcelで苦労するの誰だと思ってるの。そこで今回は私の「社会人であればこんくらいは最低限出来てよ」というフラストレーションをぶつけた「これだけ最低限知ってろ、R編」です。 これくらい出来ないと人間ではない。獣(ケダモノ)である。 Rで出来ること あるべきフォーマット/作って

    【R】絶対に身につけて欲しいR術 - 歩いたら休め
    ishideo
    ishideo 2018/03/18
  • 【R】ふつうのスクリプト言語プログラマーのためのR言語入門 - 歩いたら休め

    「他のスクリプト言語ならそれなりに触れるけど、Rって変な機能が多いから難しい」と感じている人のために、Rの独特な点、ハマりどころ、そして特にデータの集計での強力な機能やパッケージをまとめてみました。 社内のデータリソース移行の作業の中で、前任者が(良い意味でも悪い意味でも)すごいRプログラマーだったのと、DBからのデータの取得からデータの整形・確認が一気に行えるという理由で久しぶりにRを触りました。 (先輩!僕が「%>%ってなんですか?」みたいな質問すると、チャットでgithubのリンクを貼られたり、AdvancedRを薦められたりするの、めっちゃ困りました!) 数年前Rを使っていたときは、 Rのプログラムってよくわからないなあ…、後から自分のコード見ても意味が読み取れないよ… Pythonでpandasとかmatplotlibってパッケージを使えばRっぽいことができるの?じゃあそっち使お

    【R】ふつうのスクリプト言語プログラマーのためのR言語入門 - 歩いたら休め
  • 1