プログラマ行進曲第二章

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

何度目か分からないiOSプログラミングへの再入門をまた始めたという話

前回の記事で、前職の同僚にiOSプログラミングを教え始めたという話をしました。

takuan-osho.hatenablog.com

今のところゆるゆると続いていて、私もiOSプログラミングはそこまで深くやったことはないので、教えるついでに自分も再入門しなおし始めました。

以前にもこのブログで何回か言及した記憶はあるのですが、私、iOSプログラミングに入門しては挫折するということを繰り返していて、「今だと10回は超えないが、両手で数えるくらいは入門しては挫折している」という状態です。

今度の再入門がどれくらい続くかは不透明ですが、仕事とは全く関係ない分野だからこそ飽きが来にくいということと、今回は前職の同僚と一緒に勉強しているということもあり、以前よりかは続けられるのではないかと目論んでいます。

前職の同僚に教える際に教材として使っている書籍はこちらです。

本気ではじめるiPhoneアプリ作り Xcode 10.x対応 (Informatics&IDEA)

本気ではじめるiPhoneアプリ作り Xcode 10.x対応 (Informatics&IDEA)

以前iOSプログラミングに入門したときに使っていた書籍の最新バージョンです。

前に使った時に分かりやすいと思ったことと、応用を見据えた事項を抜き出して構成している書籍だったので好印象だったことから選びました。特にWeb APIを利用したアプリ作りを入れているのが好印象でした。

他人にプログラミングを教えていると「ここで詰まると思っていたのに、別のこの場所の方が分かりづらくて詰まるものなのか」とか意外な発見があって、自分も勉強になってます。

次回はこの教えた経験をもとに、(iOS)プログラミング初心者が詰まった事項をコードを交えて少し紹介する記事を書ければいいなと思ってます。

第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いじりたいと思います。

iOSプログラミングの勉強をしているのですが、こっそりと…

今やっている勉強メモとか貼り付けておきます。

上記リンク先はQiitaの限定共有です。勉強しているネタ元は以下の書籍。

iOS Programming: The Big Nerd Ranch Guide (4th Edition) (Big Nerd Ranch Guides)

iOS Programming: The Big Nerd Ranch Guide (4th Edition) (Big Nerd Ranch Guides)

なんで限定共有でやっているかというと…

  • 勉強途中で書き途中だから
  • それ以上に本の中身の記述をそのまま書いている箇所が多いため、公開で投稿してるとアウトだと思っているから

じゃあ何で今回記事にしているかというと、今はこういうこと勉強してます!というアピールしたいから。

なので、ある程度時間が経過したらリンクをサクッと削除すると思います。

こうやってブログ更新しておかないと勉強しているのに何もやってないように外からは見えるだろうからです。

無職は辛い!!仕事したい!!

ヤフー vs クラスメソッド「iOS 炎の7番勝負」に参加してきた

表題の通りです。

http://connpass.com/event/5159/

これに参加してきました。

今日の内にブログ更新したいので全く内容が無い感じになってしまいますが、イベントの内容は以下の方の参加記事を読むとまとまっていていいと思います。

簡単に感想でも書くとすると

  • 対決形式が予想以上に面白かった
    • 面白いと思った時にボタン連打するのが割と一体感を高めていて良かったと思う。
    • でも、今後同形式のイベントするときには今回のようなアプリだとJavaScript等でチートできそうな気がしたので、そこら辺のケアは必要な感じがしました。
  • 一つの発表が5分だけだったので、そこはちょっと物足りなく感じました。
    • 私は初心者なのでまだいいですが、少しでもツッコんでiOSに取り組んでいる人には物ないようだったのかも足りないないようだったのかも?
    • でもiBeaconは全く触ったことなかったので発表自体楽しかった。他は色んなところでちょくちょく名前を目にする機会多かったので。
  • iBeaconの発表をしていた人が両者とも内定者とのことでしたが、どちらも社員と間違えるほどの発表クオリティで素晴らしかったですね。

ヤフーさん、クラスメソッドさん、面白いイベントありがとうございました。

幾度となくiOSプログラミングに挑戦してその度に挫折して思うこと

アプリ作ってリリースするまでの道のり遠すぎだろ

もうこの一言ですむんですが、それだけだとブログ書いている意味がないので日付が変わる前にザラっと書くのに挑戦してみます。

去年の年末近くの記事にも書きましたが、下に載せる本を使ってまたiOSプログラミングを再開したんですね。

もう何度目の挑戦になるのかよく分からないんですが、挑戦した数は多分5回くらいは超えていると思います。

で、毎回その度に挫折するわけです。

そもそも目標を持って新しいことを始めた後、その目標を達成すること自体が難しいと言えば難しいし稀なことなのかもしれませんが、それにしたって躓きすぎだろうと前から思っていたわけですよ。

今回は上の書籍に書いてあるコードを写経してビルドして動かす、という手順で勉強しているんですが、iOSプログラミング(というかスマホ関連のプログラミング)の躓きがどういった原因で発生するのか、何となく考えたことがあるのでアウトプットして頭の中を整理したくなりました。

考えた原因を列挙

日付が変わる前に更新しよう、そういう制限かけたので尻切れトンボにならないように、思いついた原因だけザッと列挙してみます。

  • Objective-Cが分かっただけではアプリの形にならない
    • 多分最大の原因
    • 初心者はObjective-Cにだけ躓くのではなくて「Xcodeの使い方」「イベント駆動の概念」「iOSプログラミングする際のお作法」といった複数の箇所で躓く
    • で、初心者は初心者だからこれらの躓きの違いが区別できず、頭の中で整理がつかないことが多い(少なくとも私は)
  • 「実現したいこと」と「自分に可能なこと」のバランスを取って実装するのが難しい
    • サンプルコードは理解できて自分で書けても、自分がやりたいことを実現するにはどうしたらいいか分からなかったり、あるいは実現したいことが壮大すぎて自分の実装力では実現できない事態に陥る
    • 別にiOSとかスマートフォン関係のプログラミングに限らない事だと思うが、参入者多いから挙げておく
  • プログラミング != アプリリリース
    • 中途半端にプログラミングを知っている人の場合(私とか)、内部のプログラミングに凝り出して、アプリを完成させることよりもコードを書く方に目がいってしまう
    • …と書いたが、別にこれ、スマホの話しに限らないですね。
  • もはや世の中には便利なアプリがたくさん既に存在する
    • いざ自分で作ろうと思ったら、だいたい自分の欲しいものは既にアプリが出てたりしたり。
    • よりニッチなものとかシンプルなものを作れば需要がある場合もあるが、その場合「不必要なものを捨てる・省く力」が必要なので、初心者が実践するには厳しい場合が多い

…別にiOSとかスマートフォン特有の原因じゃなくてどこでも出てくる話ばっかりになってしまいましたが、とりあえず罠が多いということですよ!

残り1分切ったのでココまでにします!