プログラマ行進曲第二章

主にソフトウェア関連の技術をネタにした記事を執筆するためのブログ

PyConJP 2015のプロポーザル一覧を把握しやすいようにざっくり整理してみた

何でこんなことしたか?

PyConJP 2015のプロポーザル一覧ページが種類別とかレベル別にソートできない仕様で、かつabstractも含まれている関係でページが縦長になっていて、投票したくなるプロポーザルを把握できなかったから少しスクレイピングしてデータ整理(リンク付きタイトルを抽出して一覧化)してみたかったというのが理由。

つまり自分用です。なので、リンク間違い・タイトル間違いあっても勘弁して下さい。 後、Twitter見てるとチュートリアルはもう既に採用されたものが何個か決まっているみたいですけど気にしないことにしました。

以下、自分なりに整理したプロポーザルです。ソートは適当。というかしていない。

個人的に把握しやすいように整理したプロポーザル一覧

talk(初級)

  1. セカイノカオ by チーム・カオ(ja)
  2. Integrating Django with Centralised Identity Management(en)
  3. Doing Math with Python(en)
  4. Sphinxで作る貢献しやすいドキュメント翻訳の仕組み(ja)
  5. PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう(ja)
  6. Pythonで3Dデータモデリング&3Dプリント(ja)
  7. Cyber attack: About DNS DDoS, and analysis it with Python(en)
  8. データベースドライバーひと巡り(ja)
  9. Translation of Python Programs into non-English Languages for Learners without English Proficiency (en)
  10. PyCon JP を支える技術 2015(ja)
  11. with modern_peripherals: Python and Flask(en)
  12. PyCharm Essentials(en)
  13. 野球Hack!~Pythonを用いたデータ分析と可視化(ja)
  14. MinecraftをPythonで遊ぶ(ja)
  15. なぜWeb画面自動テストはうまく行かないのか(ja)
  16. 14歳からの関数型プログラミング in Python(ja)
  17. 10年続くWebサービスでも使えるOpsのためのfabric入門(ja)
  18. pythonが支える、データ駆動型コンテンツの創出(ja)
  19. Infrastructure as Code with Ansible(en)
  20. Breaking backwards compatibility: The easy way! (en)
  21. Dissecting the Stack: How things were glued together(en)
  22. Teaching Data Structures with Python(en)
  23. Python, the next Brazilian generation(en)
  24. JSONSchema with Python(ja)
  25. Python3を利用して良かったこと(ja)
  26. Mezzanine, the best CMS on Python(en)
  27. エンジニアの技術力評価は難しい? - 相互評価制度を約4年やってみたけど、わりと良い感じかもしれない -(ja)
  28. はじめてのドローン・プログラミング(ja)
  29. Web2.0せんせーが進路相談!(ja)
  30. 日本のオープンデータプラットフォームをPythonでつくる(ja)
  31. Pythonで作る俺様サウンドエフェクター(ja)
  32. Gandi CLI: Open Source command line interface to manage domain names and hosting infrastructures(en)
  33. kaa - Python製テキストエディタ(ja)
  34. tse - Pythonによるテキスト整形ユーティリティ(ja)
  35. Learning by Experience, Devploying pyxbackup(en)
  36. Kivyの基礎: アプリケーション開発の楽しさを考える(ja)
  37. Ways to avoid overfitting when developing a trading strategy(en)
  38. Pythonで作るリコメンデーションシステム(ja)
  39. DevOps ツールの選びかた・使いかた 〜ヌーラボの場合〜(ja)
  40. PyLadies Tokyo-初心者女性向けPython体験ワークショップ開催の裏側(ja)
  41. PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」(ja)
  42. Rise of the Static Site Generator(en)
  43. Better Python DevOps Security(en)
  44. Karaoke-style Read-aloud System Using Speech Recognition and Text-to-Speech Technology(en)
  45. 強くなるためのプログラミング ープログラミングに関する様々なコンテストとそのはじめ方ー(ja)
  46. 失敗と成功のあいだ:ゼロからはじめる強化学習(ja)
  47. 土木でも使えるPython☆彡(ja)
  48. ユニットテストのあれやこれや(ja)
  49. クローラーと僕(ja)
  50. PyPIデビュー 2015(ja)
  51. On SageMathCloud - Doing Mathematics and Python programming on cloud.(en)
  52. Pythonによる科学技術計算入門(ja)

talk(中級)

  1. 組合せ最適化を体系的に知ってPythonで実行してみよう(ja)
  2. Sphinx autodoc: APIドキュメントの自動生成(ja)
  3. データ可視化技術の過去/現在/未来(ja)
  4. Python で作って学ぶ形態素解析(ja)
  5. Program Pepper in Python(en)
  6. Python3 WSGIアプリケーション入門(ja)
  7. Packaging最前線(ja)
  8. Tornado/Websocketを使ったモバイルゲームアプリケーションの事例紹介(ja)
  9. Web Scraping in Python(ja)
  10. Writing Fast Code(en)
  11. Pythonによる未知語・重要語キーワード抽出とその応用(ja)
  12. Tornado/ElasticSearchで実現する大量ツイートのリアルタイム関連文書判定(ja)
  13. Making Python coexist with others(en)
  14. Ansible x AWS -- Infrastructure as Code for Small Team(ja)
  15. Threads and Callbacks for Embedded Python(en)
  16. Building a Scalable Python gRPC Service using Kubernetes(en)
  17. NAO + iPadで実現するコミュニケーションロボット!tornado/websocketで実装するタブレットを使った対話ロボットアプリの事例(ja)
  18. Djangoとフロントエンドフレームワークの共存事例(ja)
  19. pandasによるデータ加工:テストのコツ・注意点やライブラリの紹介(ja)
  20. uWSGI/Dockerを利用したWebサービス運用事例(ja)
  21. How we realize SOA by Python(en)
  22. アドネットワークのデータ解析チームを支える技術(ja)
  23. Python × Bluemix でやったHack-a-thonでの超短期間認識系アプリ開発事例(ja)
  24. Introduction to Theano -- not only for deep learning(en)
  25. Data selection techniques in pandas(en)
  26. Pythonでマイクロサービス構造のWebサービスを実現する(ja)
  27. CFFI Is the Future(en)
  28. Mochiの紹介(ja)
  29. Python と型ヒント (Type Hints)(ja)
  30. 個人の写真から分かる過去と未来 ~機械学習を添えて~(ja)
  31. Introduction to nipype and creating stable NeuroImaging pipelines using it (en)
  32. Cython at rescue .(en)
  33. Machine Learning to solve grass root level problems .(en)
  34. pandas internals(en)
  35. Python and the Semantic Web: Building a Linked Data Fragment Server with Asynco and Redis(en)
  36. Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例(ja)
  37. fabricを用いたサーバーメトリクスの収集と可視化(ja)
  38. Cython による他言語の拡張(ja)
  39. 2015年決定版! 博士のPythonでハードウェアを扱う方法(ja)
  40. Scaling and Launching Python on AWS(en)
  41. Djangoのエントリポイントとアプリケーションの仕組み(ja)
  42. Pythonで作る、少し未来のオフィス(ja)
  43. Give your scripts the power of the Web! Web automation through Python(en)
  44. Let's prevent bugs by checking our types in Python(ja)
  45. Getting started with PySpark(en)
  46. Let it crash: what Python can learn from Erlang.(en)

talk(上級)

  1. Jumping the Python Ship: Better Alternatives To Python(en)

poster

  1. Sphinx-users.jp(ja)
  2. Python x Edison = New World!!(ja)
  3. ニューラルネットの実装が簡単なChainerを用いた音声からの感情識別(ja)

tutorial

  1. Sphinxハンズオン(ja)
  2. 【初心者向けPythonチュートリアル】Webスクレイピングに挑戦してみよう(ja)
  3. Pythonを使った機械学習入門(ja)
  4. Python x Edison x AWSではじめる IoT(ja)
  5. Effective Pandas(ja)
  6. エンジニアのためのベイズ推定入門:確率論的プログラミングのすすめ(ja)
  7. Machine Learning Bootstrap(ja)

どうやってプロポーザル一覧を整理したか?

全然高度なことしていないですが、メモ代わりに残しておきます。

  1. kimonolabsを活用して、プロポーザル一覧ページや各プロポーザル一覧のページのデータをスクレイピングしてjson化する
  2. 作ったjsonPythonで処理して、各プロポーザルの詳細ページへのリンク付きタイトルリストをmarkdown形式にするように吐き出す
  3. markdownを処理できるブログとかに貼り付ける

最初はスクレイピングも勉強がてらPythonでやってみようかと思っていましたが、該当ページのDOMの構造見てたら「面倒臭そう…」と感じてしまったのでkimonolabs使ってサボりました。が、目的は「PyConJP 2015のプロポーザル一覧を早くしやすくする」という所だったので、前処理で疲れ果てると本末転倒だからこれでいいかと思っています。

余談ですが、kimono便利なので、知らない人は活用してみるといいと思います。

思ったこと

公式ページ自体にソートっぽい機能があるといいなと思いました。

あと、投票していないので聴きたいtalkをさっさと投票しないといけないですね。

第1回 カジュアル Swift 勉強会 @ 青葉台に参加してきました

要約

第0回に引き続き、第1回目のSwift勉強会に参加してきて、発表した方がより自分のためになっただろうなあ、と思ったって話しです。

前回の話しは軽くこの記事で触れています

感想

今回は自分は発表しなかったので感想だけ。

今回も改めて思ったのは「少人数&議論多めな勉強会は得るものが多い」ということでした。

少人数であるのと議論多めにするという方針(+会場が自宅から行きやすい)が気に入っていて前回も参加したのですが、これくらいの人数だと一人一人の発言を拾った上で話しを突っ込んでいける余地があるので、気になったことを少し掘り下げられて気がしています。

個人的にこれやっておけばよかったなと思ったのは「今回も発表する。そして前回とは違い、資料はslideshareなどにアップする」ということでした。

というのも、今回の話しの中で「1.2の情報ってもう余り見かけないんですよね」とか「Swift 2以前に、1.1と1.2の違いをまず調べるのが大変」とか「本で書いてあるコードが1.2だと動かない」とかいう話しが少し出ていたので、前回の私の「市販のiOSアプリ開発本(Swift1.1)をSwift1.2で書き直した話」のスライドをアップしておけばそこから話しがもっと面白く展開できたと思うし、そもそも今回も自分で何かしら発表するようにしておけば発表駆動で勉強してきてフィードバックも得られて得るものが多かったのと思うので、次回は何かしらネタを出して発表しようと思いました。

小学生並みの感想文でしかないですが、次回も勉強会が開かれるのが楽しみです。

最近Swiftいじれていなくて、仕事の関係で主にHTML/CSS/JavaScriptをいじる時間で大半占められていますが、時間作ってSwiftいじりたいと思います。

2015年6月まとめ

はじめに

前回のまとめをまず貼る。

takuan-osho.hatenablog.com

9日前に遅まきながらまとめたエントリだが、6月文をまとめるのも23:20になってからなので未だに計画性というものが無い。

やったこと

  • 色々イベントに参加した

    • 第0回カジュアルSwift勉強会
      • ちょうどネタがあったので発表した。書籍に書かれているSwift1.1のコードをSwift1.2に書き直した時の話し。
      • 主催者の方のブログ記事読むと概要が分かります。
      • 本当はちゃんと資料用意してslideshareとかに上げたかったけれど、体調悪い日が続いて当日用意したレベルだったので、slideshareに上げられる形式では作れなかったのがイタイデスね…
    • Plone Symposium Tokyo 2015
      • 仕事でWordPressとかいじっていて、「無理矢理WordPress使ってないか、これ?」と思う機会があったので参加。
      • Ploneのことはほとんど知らなかったけど、当初の印象通り、ワークフローとかをきちっとやりたい場合にはPloneが向いてそう。
      • ただ、見た目がアレだし、4だとデフォルトではレスポンシブ(というかスマホ対応)になってないみたいなので、さっさとPlone 5が正式リリースされてくれませんかね?とは思いました。
    • Go Conference 2015 summer
      • 発表全てのレベルが高くて、100人越える勉強会にはなるべく参加しないようにしていたけれど、これは参加して良かったと思いました。
      • go generateとかASTとか使いこなしたいですね。
    • 第21回Haskellもくもく会 @ 朝日ネット
      • Haskellを家だと勉強しないので強制的に勉強できる空間に行きたかったので参加。2回目。
      • 目論見通り滅茶苦茶集中してすごいH本の写経できたので参加してよかった。惜しむらくは当日寝不足で疲れてなければ途中で返る羽目にはならなかっただろうということです。
  • アニメ

    • ラブライブの劇場版見に行った。近場に映画館が出来たのでちょうどよかったので。
    • 期待してなかったからか、割とよかった。
    • 最近アニメを楽しめていないのは相変わらずだった。
  • ゲーム

    • アニメが楽しめていないのとはうってかわって(?)ゲームを最近楽しんでいる。
    • といっても最近衝動買いしたCHAOS;CHILD(Vita版)をやっているだけだが。
    • ゼノブレイド止まっているのにCHAOS;CHILDの方に時間をたっぷり割いてさっさと1週目クリアしている辺り、能動的にやるゲームより受動的にやるゲームしか出来なくなっていることがよく分かる一幕だった。
    • それはそうと、CHAOS;CHILD、アニメ化決まっているみたいだけど、あれ、アニメが放映されるより前に原作遊んでおいた方が楽しめる作品だと思いました。アニメ放映された瞬間に致命的なネタバレが4つくらいは炸裂してそう。
  • 仕事

    • Middleman使って静的サイトやってます。
    • Ruby力低すぎて、自分がやりたい制御構文とかカスタムヘルパー作るのに四苦八苦。
    • そして相変わらずHTML/CSS難しい。
    • というかこの21世紀に何で人類はCSSというあんな貧弱なものを使っているのが謎。CSS、破綻するような描き方が容易に書けるから辛すぎる。

所感

もう今年も半分が過ぎたのかと思うと大変アレな気持ちになってくる。たいして時間を上手く使えていないので、無性に焦る気持ちを抑えられない。

そんなわけで現実逃避とストレス解消にゲームしている。

これから

生き抜く。遊ぶ。生き抜く。

2015年5月まとめ

はじめに

6月も半ば過ぎてから5月まとめを書くとか、中々習慣化してないことがバレバレだけど、このまま書かなかったら書かないままこの週間が終わりになりそうなので、過ぎても思い出せることだけ書いておく

cf. 2015年4月まとめはこちら

やったこと

  • iOSアプリ作りの勉強
    • 続けてる。
    • mixiのiOSアプリ開発勉強会も続けてる。というか最後まで通い続けた。詳しくは6月まとめに書くつもり。
    • 以前言及した本の実際の所は全て終わった(残っているのはsubmitのところなので、今後割愛するかも)
    • Swift1.2で書き換えながら学んだのは地味に収穫だった(と思いたい)。

TECHNICAL MASTER はじめてのiOSアプリ開発 Swift対応版

TECHNICAL MASTER はじめてのiOSアプリ開発 Swift対応版

  • Sphinx関連

    • Sphinx Tea Nightに久しぶりに参加した。
    • たまたま運がよかったのか、「SphinxのbuilderはVisitorパターンを使ってる」「build時に出来るdoctreeの内部構造を知りたいときはdocutilsのpseudo xmlの設定が使えるかも」という情報が得られて非常に満足度が高かった。
    • Sphinxに割く時間増やしていきたい…
      • 現状色々できてない。
  • 仕事

    • Ruby周り、よく分からないです。
    • HTML、CSSムズカシイデス。
  • アニメ
    • 楽しく見たい…

      所感

  • 4月に比べると後々に活かせる活動内容じゃなかった気がする(詳しく覚えていないので不明)

これから

6月まとめは6月中にやる。

ということをGoCon参加後の今日に書くのも何というかアレですね。

2015年4月まとめ

はじめに

先月から始めた月報を今回もやっていきます。

というかそういうことしないとアウトプットしようともしてないというダメな感じ。

やったこと

  • iOSアプリ作りのお勉強
    • 先月に引き続き、Objective-CでもSwiftでもやっている。
    • Objective-CmixiのiOSアプリ開発勉強会というのは変わらず。Swiftスタンフォード大学のSwiftで作るiOSアプリ講座に加えて、本でも勉強を始めた。この項目最後に該当の本を貼っておく。
    • 特に本で集中的にSwiftで書いてみたら段々iOSアプリの作り方が分かってきた気がする。特にSwift1.2になって、本の1.1用コードを自力で直しつつやってみたらCocoaPodsの使い方も含めて何となく分かってきた。
    • そしてCocoaPodsへの恨みが溜まってきた。
    • SwiftによるiOSアプリ開発、SwiftXcodeCocoa touchフレームワークとCocoaPodsを初めとしたエコシステム群の地雷全てを回避できるように動いていって初めてスタートラインになるって気が最近している。

TECHNICAL MASTER はじめてのiOSアプリ開発 Swift対応版

TECHNICAL MASTER はじめてのiOSアプリ開発 Swift対応版

  • ゼノブレイドを買った

    • New 3DSを買って一緒に。
    • とかく評判がいいのでとうとう買った。自分への誕生日プレゼント代わり。
    • まだ楽しさをそこまで実感できていないので、少しずつ進めていきたい。
  • gitの勉強してる

    • 仕事で多分これから同僚に対して教える機会が多くなりそうなのでgit力付けないと死ぬ。
    • というのは主要な動機ではないけれど、純粋にバージョン管理がどんな仕組みで動いているのか興味があって、普段(嫌に思いつつも)よく使っていて内部の仕組みに関する資料も豊富なgitを例にして勉強してる。
    • その一環として、自分の技術力向上のためにgitを自分で実装し始めたりしてる。ただ、中々時間が取れなくてまだ全然できてない。
    • 早いところadd, commitくらいできるようになりたい。がindex treeの実装で頭悩ましてる。まず仕様よく分からんし、今までバイナリ扱う機会ほとんど無くて勘所分からん…
  • Pythonに関して。

    • 最近ほとんどいじれてない気がする。
    • 最近Goの方がよくいじっている気がする。
    • 少しアレだなと思いつつ、いいネタが無くて未だにWebアプリ一つも作れてないのは変わらない。
  • 運動に関して

    • 最近空手も稽古日数少なくなっていて本格的にヤバい。
    • ストレスによる間食が増えていて俺の体重がヤバい。
    • なので少しIngressを軽く再開し始めた。
  • 仕事に関して

    • 察しろ。
    • というより書いていいことどれくらいあるのか分からんから書けないというのが正直なところ。
    • はい。
  • アニメに関して

    • 今期だけなのか、それとも年なのか、最近アニメ見ていても前ほど楽しめていない自分を感じている。
    • 将来が気になってアニメに入れ込めないのかも。
    • いずれにしてもあんまりよろしくない傾向な気がしている。

所感

時間の使い方を上手くやらないと死ぬし、運動しないと数年後死にそう。

とはいえ、githubみたいな表だった所に足跡は残せてないけど、3月よりかは後に残る作業をたくさん出来た気がする。

これから

iOSアプリに関しては5月くらいから何か自作のものを作ることを目標にしておく。少しは作り方分かってきたので。

最近読了した本のことについて軽く書いてみる

言いたいこと

ちょっとはプログラマの端くれとして最近読んだ技術書的な本の書評をブログにしたためたいと思いつつ、無駄に書評をかっこつけて書きたくなってきていつも無駄に時間をかけて結局お蔵入りすることが多いので、お蔵入りしないように適当に本のリンクと一言紹介だけで終わらせようという記事をかくことで精神安定を図ろうとする記事です。

無駄に長い。

ちなみに読んだ本、流し身じゃなくてちゃんと手を動かしたり一通り読み通したものを対象にしてます。

読んだ本 1冊目

はじめよう!  要件定義 ~ビギナーからベテランまで

はじめよう! 要件定義 ~ビギナーからベテランまで

読んだ理由

  • 仕事で要件定義っぽいことをすることになったけど、今まで経験無かったから。
  • こちらに代表されるような書評を読んで、ちょうどいいレベルの書籍だと思ったので。

感想

  • 「要件定義初めてやるけどかなり不安」という私にピッタリな分量&内容でちょうどよかった。
  • 特に分量がこれだけコンパクトで読み通しやすいのに結構内容が含められているのがよかったですね。

ちょうどこの本の読者を対象にしたワークショップをたまたま発見したのでそこに参加してもう少し勘所をおさえて実戦に活かしたいところです。

読んだ本 2冊目

Amazon Web Services 基礎からのネットワーク&サーバー構築

Amazon Web Services 基礎からのネットワーク&サーバー構築

読んだ理由

  • この書評読んで興味を持ったから。
  • AWSまともに使えない。
  • それ以前にネットワークとかサーバー構築でかなり基本的なところが抜けていると自覚していたので。

感想

  • 実際のネットワークの繋がり方をこれっぽっちも理解してないレベルだったので勉強にはなった。
  • ただ、AWSのことは大して理解が深まるわけではないのは当初の予想通り。
  • あくまで私みたいな初心者向け。AWSのことを深く知りたい場合は他の情報源を当たるしかないと思います。
  • とはいえ、「ネットワークのことを何も分かってない初心者がAWSを使ってどんなものなのかの触りを理解していく」ということは十分に達成できる書籍だと思うので、そういう場合には向いているかと。

穴が空きまくっている領域を少し埋めることが出来たので、次は『ハイパフォーマンスブラウザネットワーキング』とかを読んでおかないといけない気がする今日この頃。

ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化

ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化

ただ、実際のプロダクトとかWebサービス構築に繋がるように手を動かして作っていくことと上手くバランス取ってやらないと、いつまで経っても成長がないのでどんな風に進めようか悩んでいるのが最近です。

2015年3月まとめ

はじめに

「今年はもう少しブログ更新したい」とか思いながら前回の更新から1ヶ月以上経過してしまいました。

で、何かいいネタ無いかなと思っていたら、id:yosida95氏の2015年2月まとめのブログ記事をたまたま読んで、「この形式なら俺でも何とか出来そう」と思ったので手を出してみた次第です。

なので、章立てから何もかも全て上記記事のパクリです。吉田氏にお礼の念を飛ばしておきます。

やったこと

今年入ってからやったことをまとめようとすると書くのに時間かかって記事挙げられなくなると思うので今月のみを箇条書きで。

所感

1ヶ月単位で振り返ろうとしても記録取っていないと中々忘れてしまうものだなあと反省。そして頭脳労働だけじゃなくて身体を鍛える方にもう少しパラメータを割り振る必要があるかなと思う昨今です。何せ体力少ないので。

これから

前から書いていてまだ実現していない「これが私のプロダクトです」と言えるような何かを作る方向の作業に絞って行動したいなと思ってます。