プログラマ行進曲第二章

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

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

これから

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

2014年の振り返りと今後やっていきたいこと

要約

気がついたら前回ブログを書いてから半年近く経過していて、これはマズいなー、なんて思っていたので久しぶりに筆を執ってみようと思った次第。

Twitterとかでは休まず稼働していたけど、ブログでは近況も書いてないし、年末の振り返りとか年初の意気込みとかも放っておいたので、時季外れだけどそれらをやってみて文章書くのを思い出していこうというのが狙いです。

2014年(一部2015年)の振り返り

文章形式で書くと長くなってどうせ書くのに挫折するので、箇条書きで殴って書いていくスタイルにしていきます。

  1. 2014年の7月から働き始めた。

    • 実に無職期間2年超え(のはず)なので、生きるの大変。
    • この2年間、色んなことがありました…(遠い目)
    • この間に起こったことは一部ポエムにしたためたことがあるけど、オープンなインターネット上には書きたくないこと満載でした。はい。
    • Web系IT業界周りで散見されるけど、次の職場が決まっているのに「無職だ」とか言っている人たちの言動見て黒い感情がどろどろと湧いてきましたね*1
    • とりあえず今はIT企業じゃないところでHTML/CSS/JavaScriptとかWordPressで記事の更新してたりとかしてます。
  2. プログラミングは続けています。

    • だが成長遅くて泣ける…
    • とりあえず一つ「これ私が作りました」と言えるものが欲しいです。
    • できるならプログラミング分からない人でも存在意義が理解できるものを作ってみたい。
    • と思いつつ幾星霜。言うだけで形になっていないので辛い。
    • 最近は以下のことをやっている(気がする)
      • CSS設計の勉強。HTMLのお勉強も含めて。
      • JavaScriptで基本的なフロントエンド作りっぽいこと。
      • Go~
      • Webアプリケーションの作り方
      • iOSアプリの作り方(Swiftで)
  3. (仕事で)まるまる一つ全て自分の作業でサイトを作ってリリースした。

    • ごめん、嘘ついた。画像素材とかは別の人が作ったし、サイトのデザインはクライアントが要望したものだった。
    • どんなもの作ったかというと、「オンラインストアの期間限定キャンペーン用のランディングページ」です。
    • 「タブをクリックしたらそれに伴って商品画像とかリンクが切り替わる」的な挙動するページ作るの初めてだったので、何となく感慨があります。
    • 以前同様の仕事を担当していた人はjQueryでやっていたようなのですが、今回初めて要望された機能とかがあり、jQueryでやったらゴチャゴチャして死ねると思ったので、knockout.js使って解決。
    • knockout.js使うの初めてでしたが、かなり勉強になりました。オライリーのknockout.js本、マジ役に立った。
    • このknockout.js使った技術的な経験をブログかQiitaにまとめてみたいと思いながら時間だけが過ぎていく毎日です。

今後やっていきたいこと

これも箇条書きで。

  1. 何かプロダクトっぽいものを一つ出す。
    • WebアプリかiOSアプリで。
  2. SphinxのEpub3ビルダー、さっさとPRして取り込んでもらうようにする。
    • 英語辛い。
  3. epub関係のライブラリ作り。
    • epubで一攫千金目指す*2
  4. RubyHaskellを少しは書けるようにする。
  5. 低レベル・低レイヤーの技術や知識を深める
    • CとかRustとかDとか使うとか。
    • そもそもコンピューターサイエンスの知識をちゃんとやるとか
    • アルゴリズム分からない状態を解消するだとか。
  6. 自然言語処理とか機械学習だとか勉強したい。
    • でもトライしてみても特定分野の基礎学力無い人お断りな分野なので多分挫折する。
    • というかもう何回もトライしてみて挫折している。

もう書ける気がしないのでここら辺で締める。

*1:今でも湧きますけどね

*2:嘘だよ!