iOSアプリの開発を始めた。2週間でやったこととかメモ

はじめに

2週間前ぐらいからiOSの勉強を始めた。自分にしては珍しくいいペースで覚えていけたので、やったこととかメモ。

やったこと

XCodeSwiftについて本を読む

今まで本を読まずにネットで調べながらやることが多かったけど、今回は本を読みながら始めることにした。

Swift2, Xcode7対応の書籍を調べて、amazonで目次見て決めた。 プログラミング初心者向けの本が多かったので個人的にこの本一択だった。

ほんきで学ぶSwift+iOSアプリ開発入門 Swift2,Xcode7,iOS9対応

ほんきで学ぶSwift+iOSアプリ開発入門 Swift2,Xcode7,iOS9対応

混んでいる病院の待ち時間があったので、その時にCHAPTER3まで読んだ。 2時間ぐらいで一通り目を通して大体の雰囲気を把握。

普段パソコンの前だとこんなペースで技術書を読めることは無かったから、パソコンが良くなかったのかもしれない。 説明も簡潔で分かりやすかったのもあるけど、技術書を読む力もついてきたのかな。

帰宅してからオプショナルのところだけ、SwiftのPlayGroundを触ってみた。

CHAPTER5の日記アプリを作る

CHAPTER4の電卓アプリはとばして、CHAPTER5の日記アプリ作ってみる。

つまったところ
  • 実機デバッグするときの認証の場所が本やネットに載っている場所と違っていて結構探した。
    • 設定 > 一般 > デバイス管理 > メールアドレス > 信頼
  • AutoLayoutまわりで本の内容と全く違う動きをした。
    • 「ResolveAutoLayout Issues」->「UpdateFrames」をすると大きくレイアウトが崩れた。
    • 何が問題なのかさっぱりわからないのでぼくの操作が単純に間違っていたのかもしれない。
    • 仕方ないので「Update Frames」をせずに続けた。自分のAutoLayoutへの理解が浅すぎた
  • CocoaPodsのインストールで $ sudo gem install cocoa pods 叩いても pod コマンドがなかった。$ rbenv rehash してないだけだと気づくのにちょっと時間かかった

Realmを使いはじめるあたりのところで、ちょっと何か書ける気がしてきたのでチュートリアルを中断

J!NS MEMEのアプリを作る

研究でJ!NS MEMEを使うので、JINS MEME Advent Calendar 2015 - Qiita で参考になりそうな記事を見ながらアプリを作っていく

1. JINSMEME - SwiftでJINS MEMEアプリ開発 - Qiita を見ながらセンサーデータを取得

f:id:nwpct1:20160107173222p:plain

2. shoya140/MEMELogger-iOS-developers · GitHub のコードを読みながらJ!NS MEMEのペアリング周りを実装

3. わからないことはその都度調べながら、研究で使うためのアプリを作った

f:id:nwpct1:20160107173406j:plain

ハマりまくってたAutoLayoutも少し思い通りに設定出来るようになってきた(まだ理解は全然浅い)。 Androidの勉強を始めた時と違って、作るものが明確に決まっていたのも良かったのかもしれない。

その他

  • XVim入れた
    • いい感じに動いてくれるけどちょっと重くなった気がする
  • iPad対応もしてみた
    • といっても設定でDeployment InfoのDevicesをiPhoneからUniversalに変えたらいい感じになった
  • Dashにドキュメントを追加
    • SwiftのドキュメントはDashの設定から普通にいける
    • XCodeiOSは、XCodeの設定 > Downloads からダウンロードして、Dashの設定で追加
  • アプリアイコンを設定

振り返り

12月の半ばぐらいからSwift2, XCode7の書籍が出ていたので始めるタイミングとしてもちょうど良かったのかもしれない。XCode7から無料で実機デバッグが出来るのもかなり助かった。

このペースで新しいことも覚えていきたい。

あけましておめでとうございます。振り返りと2016年の目標

あけましておめでとうございます。

f:id:nwpct1:20180101081915j:plain

2015年は東京に行く機会が増えて、知り合いも増えて楽しく過ごせたかな。お世話になりました。

2015年やってよかったこと

2016年の目標

今年で学生が終わるので、学生のうちにしかできないことをやりたい。

  • 就職先をちゃんと考えて選ぶ
  • 教授とこまめにコミュニケーションをとる
  • 本とか出したい
  • 学生のうちに釣り、カメラ、登山、ドライブ、旅行を楽しむ
  • Ameba owndで始めた趣味ブログ を更新続ける
  • みんなが院試に使う時間を英会話の勉強に使う
  • Github 100 stars

おわりに

充実した1年でした。今年もよろしくお願いします。

SELinuxの設定でやったことメモ

SELinuxでPermission Deniedされるたびに、毎回ググり直してるので参考にしたサイトとか手順をメモ。

原因の確認

tail -f /var/log/audit/audit.log を見ながら、アクセスしてみてSELinuxが弾いているか確認

SELinux動作状態の確認

  • getenforce : 動作状態を確認
  • setenforce : 変更

enforcing SELinux機能、アクセス制御が有効

permissive SElinuxは警告を出力するが、アクセス制限は無効

disabled SElinux機能、アクセス制御が無効

参考

audit2allowによるpolicyの作成

参考: SELinux policy for nginx and GitLab unix socket in Fedora 19

$ getenforce
Enforcing
$ setenforce 0
$ getenforce
Permissive
$ grep nginx /var/log/audit/audit.log | audit2allow -M nginx
$ semodule -i nginx.pp
$ setenforce 1
$ getenforce
Enforcing

繋がるか確認。通った

SELinuxシステム管理 ―セキュアOSの基礎と運用

SELinuxシステム管理 ―セキュアOSの基礎と運用