Swift独学プログラミング プログラミング初心者のReactiveでの設計〜考え方編〜

あっ どうも子へびです。

今年は雪降らずに冬を越せるのかな?なんだか暖かい日も多く真冬コートよりハーフコートの出番が多かったかな?っと冬の話題とともに朗報が。今までiPadでしか使えなかったアプリ『play ground』のMac版がでたらしいですね。子へびもやってみようかな?iPadをこのアプリやるために買った方がいいかしら?と一時期本気で思ったぐらいなので興味津々です。ちなみにMaster松陰もオススメでした。




さてなんで子へびがこんな話をしているかもう感の良い方はお分かりですね?
そうです子へび行き詰まってます・・・。

Swiftでの言語表現能力が足りてないのかはたまた根本的にアイディアが不足しているのかまあ子へびのことなので全部なのでしょうが気分転換にこの記事を書いております。笑




とある日の会話

課題
子へびは今4つのボタンをタップするとボタンの色が変わるUIを作成しています。

子へび

アウトレットでつないでボタンの色を変えようとしてるのですがなぜだかうまくいかないです。繋げ方の手順は間違っていないと思うのですが・・・。

Master松陰

そもそもアクションボタンのアウトレットで繋ぐ方法は今回子へびが作っているリアクティブの方法では使わないよ。コードで記述するのよそれを。そしてヒントはボタンをタップされたってアクションだけにフラッグをつけて処理を行う。そしてまた次の処理を書く。

子へび

ということは・・・。日本語に訳すと『○○が○○』っとコードを書いて決して『○○が○○だから○○となり○○』のように接続詞がつかないということですか?

Master松陰

なかなか良い所にきがついたね。リアクティブの作り方はそれぞれに
役割を与えて1つの処理しか行わない。その処理を組み合わせて作っていくんだよ。

この考え方をもとにボタンタップアクションを書き上げた子へびですが、実際このアクションを1つのファイルに全て書き込んでしまった子へびを見つけて

Master松陰

全て同じファイルに持たせるわけじゃなく、view・presenter・controllerそれぞれに振り分けて処理させる必要があるね。viewが持つ必要ない処理までこれだと全て入り混んでるよ。

っと言われ分解し始めた子へびですが、ここで1つの大穴が・・・。

子へび

せっかく動いていたのにバラしたら本当にバラバラになってわけが分からなくなってしまった・・・。これでは全然情報が行き渡らないよ。

そうなんです。3つのファイルを頭に置きながらどのタイミングで何の情報がどこのファイルに必要なのかを考えながらコードを整理することが全然慣れていなくて、きっとコツを掴んだら平行処理されることに頭がついていくんでしょうが子へびにはまだその考え方が全く浸透しておりません。

子へび

バラバラになってしまった・・・。

と本当につぶやきましたよ子へび。笑

何度となく分解と再構築を経てコードをそれぞれ振り分けはできたのですが、

Master松陰

ちょっと無駄が多いコードね。もっと数行にまとめられるはずよ。

っと言われただいま次のステップに進んでいるわけなのですが、そこで

子へび

またバラバラになってしまった・・・。

っというわけです。笑
ということでただいま子へびは絶賛どハマり中です!

子へび

とほほ・・・。

バラバラになってしまった時のあの喪失感といったらたまらないですよね。笑




Swift独学プログラミング プログラミング初心者のメンターとの関係〜注意事項編〜

あっ どうも子へびです。

先日のApple Storeで学んだマインドアップをこの記事を書くのに早速試してみるとこんな結果になりました。
↓↓↓
Master松陰 しくじる メタ情報 PSYCHO-PASSが素敵すぎる Stripeを使用 Xcodeのアプデートができない

日々の中でこんなにも気になるネタがあるんだなと書き出してみるとすごく思いました。
その中で前回の記事にMaster松陰が登場しなかったことからご本人から

Master松陰

最近登場回数が少ない!

っとクレームが入ったのでMaster松陰先生ネタを。




とある日

Master松陰

くっそ〜!今日は半日も無駄にしてしまった・・・。

子へび

Master松陰たる方がどうされたんですか?

Master松陰

たった一行コードが足りなかったことに気がつかずに、わかるまでに半日を費やしてしまった!しかも前回このコード書いた時にコメントまでつけて残しておいたのにそれすら見逃してしまった!

子へび

Master松陰としたことが珍しいですね〜。でもコピペしてこなかったのですか?

Master松陰

・・・・。

子へび今回かなり強気に出ました笑。いつもMaster松陰にケアレスミスを指摘されているテンキーミスを毎回こっぴどくコピーして使用すること!っとお叱りを受けているので、つい反射的に前回のそのままコピーしてもってきたらコメントも足りないコード一行も抜け落ちることはなかったはず。っと思ってしまったのです。

もちろんMaster松陰はコピペしていますし、今回はたまたま抜け落ちてしまっただけですが日頃こっぴどく注意されていることが反射的に出てくるということはようやく身についてきたということでしょうか?笑

けど今回のようなミスMaster松陰で半日なら子へびなら1ヶ月以上きずくまでかかるかもしれません。
プログラムはコードで指示した通りに動いている。改めて身にしみる出来事です。

さて子へび上記に書いたとおり新しいwebの作成やらXcodeがアップデートできていないことやらでアプリ作りがだいぶ中断してしまってます。
やばい・・・・。お正月はまとめて取り掛からないとな。

子へび

とほほ・・・。




Swift独学プログラミング プログラミング初心者のMacを使いこなす〜エンジニアだったら編〜

あっ どうも子へびです。

ケンタッキーフライドチキンにて”ケンタ丼”っていう商品があるのご存知ですか?限定的な店舗での取り扱いですがもし見つけたら是非食べてみてください。なるほど!っと納得のいく商品なのでみつけたら是非お試しあれ。




iosのバージョンアップにともないMacの仕様がちょっと変わって頻繁に使うサイトを子へびの見やすいように並べようと思ったら・・・

子へび

あれ?ホットメールのPWなんだっけ?

そうなんです!子へび通常hotmail(初めて作った1号フリーメール)を愛用していてほとんどhotmail対応なのですが、通常ログイン状態を維持しているのであまりに久しぶりのログイン画面から対応にまさかのPWが思い出せない・・・。

子へび

嘘でしょーーー!しかもPW設定が昔すぎてどこにもメモってない

他のPWは全部管理してあるのにこのhotmailだけは管理してなかった。仕方なくパスワード再設定の手順を踏むと最近のoutlookはセキュリティーが厳しく何度申請しても本人確認ができないのでとはじかれまくり。

これを聞いたMaster松陰は

Master松陰

エンジニアならメインメールをフリーメールにしないで自分のドメインのメールアドレス使わないと!

と言われメール設定やら全てのPWの管理Macの中の整理整頓これをまずできるようになる必要があると言われて、Macを使いこなすのために一つ伝授をしてくれました。

Master松陰

いいまず子へび”Ctrl+Z”っと”Ctrl+X”は絶対だよ!

子へび

コントロールゼットとコントロールエックス・・・。なんか戦闘者の変身用語みたいだ!


もちろんMaster松陰にはこんな発言はできませんが子へびの覚え方です笑
注意 子へびのMacはCtrlとCommandが入れ替わってます。

このボタン操作により何が出てくるかというとCtrl+XはFinderの検索画面が登場します。これを使わない人はいないと思うので忘れてはなりません。そしてCtrl+ZはCotediterというアプリが登場します。これは俗にゆうメモ帳機能で、忘れがちなコードの書き方とかメモっておけばわざわざサイトに毎度検索しなくてもすぐにコードを書き出せて便利っという代物です。これでMaster松陰は言語が変わってもCodeを書くスピードが落ちることはないと豪語しておりました。そしてこのメモアプリの最大の魅力が閲覧履歴(書き出した履歴)が全てコピペできるという点だそうです。確かにないかも?っと気になる方は是非お試しあれ。

追記 Master松陰からまったがはいりました!子へびの説明は間違っているとのこと

Masters松陰

Ctrl+X は Clipy っていうClipboardを強化したアプリで
Ctrl+Z は Alfred っていうMacをキーボードでコントロールできるあぷりよ
どっちもインストールして、キーをアプリで割り当ててるから、アプリをインストールしていないノーマルのままのMACじゃ使えないよ。Clipy はコードを書くときには必須よ
よく使う、短いコードのスニペット(Snippet)を登録しておくと開発スピードが断然速くなるのよ。

とのことなのでご注意ください。

その他子へびは脱フリーメールをすることやら自分の見やすいように閲覧サイトを整理するやら(お気に入りのBOXって意外とぐちゃぐちゃだったりしませんか?これをカテゴリー毎にこの機会に整理整頓したい・・・)全てのパスワードの管理やら全てきれいにしてアプリづくりにとりかかりたい子へびです。

子へび

この整理ができたらきっとMaster松陰に『そうやって気がまわらないからプログラムだって動かないだよ!』っとは言われないはず・・・。思い出しても怒

年末の大掃除ならぬMacBook Airの整理整頓。頑張りたいと思います!

子へび

一度忘れてしまったPWどうして思いだせないんだろ???




Swift 独学プログラミング プログラミング初心者のUIの構想〜CoCoaでインストールしたサンプルを使用した場合編〜

あっ どうも子へびです。

今日のタイトル何か長いな 笑。うまく題名をまとめられなかった子へびです。子へびの大好き広告シリーズですが、先日居酒屋の店名が『腹八分目』というお店を見つけました。お腹いっぱいじゃなくて健康を考えて腹八分目で飲みを終了してほしいとのことなんでしょうか?お店の名前の由来が気になります。




子へびは今CoCoaでインストールしたVBRRollingPitというUITabberが気に入って使ってみようと思っていたのですがそこでMaster松陰から待ったが入りました。

Master松陰

子へびまさかそのまま使おうと思ってるの?もしくはそのまま使い出せるとでも思っているの?

子へび

??? これはもうフレームワークができあがっているからそのまま使おうかと・・・。

Master松陰

人が作ったフレームワークがそのまま自分が使いたいように使えることはほぼない。まずはそのフレームワークのサンプルをダウンロードして自分のやりたいことができるか色々設定してみるんだよ。そうするとどこに制約がかかっているのか、もしくは実現できないことはなんなのかがわかるでしょ?そしてそのフレームワークのコードを読まざるをえない。まずはそこから始めるんだよ!そしてやっぱり使えなかったなんてことしょっちゅうあるからまずは色々試してみないと!

子へび

なるほど。そんなこと思ってもみなかった。綺麗に動いているからそのまま自分のコードに取り込めると思っていました。

っということで、ダウンロードしてきたサンプルコードに色々追加して現在実験中です。けどこの作業もまた子へびとってはまた時間を費やしております。構図を考えているのでちょっと実践に近くなっては来たんですがね〜。

っと話がそれてしまいましたが、初心者組のみなさんこんなMaster松陰のアドバイスとっても役に立つと思うのでご参考に。そしてこんな時改めてメンターの存在が大切なんだと気づかされる出来事でした。