お賃金のために日々働く

(社畜になる)覚悟はいいか?オレはできてる

Start Developing iOS Apps (Swift)をやるぞ

おはこんばんにちは。 2019年は個人開発でiOSアプリを作ることにしました。 何から始めようかと思った時にAppleの公式ドキュメントにiOSアプリ開発チュートリアルがあったので、まずはそこから始めてみようと思う。 チュートリアルに従ってアプリをぽちぽち作っても忘れる可能性が高いので、つまずいたことなどを調べながらアウトプットしていこうと思って今ブログを書いている。

参考URL

Start Developing iOS Apps (Swift)

英語しかない、と思う。 英語の勉強がてら読み進めていく所存。

Getting Started

最初に注意書きで書いてある。

IMPORTANT

This document is no longer being updated. For the latest information about Apple SDKs, visit the documentation website.

グーグル翻訳:"この文書はもう更新されていません。 Apple SDKに関する最新情報については、ドキュメントのWebサイトを参照してください。"

ということで、もう更新されないそうな。(執筆時2019年1月) 先に進めるとわかるが、例のアプリはiPhone7用として作っていく。 とりあえずiOSアプリに入門したいという僕みたいな人には良いが、 そこそこ古い情報を学んでいるという点で注意が必要である。

このレッスンにおける学習内容は以下である。

Prerequisites(前提条件)

Swiftに詳しいことを前提にしている。 僕は全然精通していないが、(上級者から言わせると舐めプであることは承知の上で)Javaなどのその他プログラミング言語でそれなりにプログラムがかけるのでググりながらなんとかなるっしょと思っている。 しかしその無根拠の自信とは裏腹にwikipediaにマルチパラダイムプログラミング言語で命令型やオブジェクト指向に加えて関数型とかいてあるので少しビビっている(関数型言語の経験があまりない)。 この記事を書いている時点ですでにレッスンを進めているが、 クラスやインスタンスがどうこうみたいな話はでてくる。 少なくともそれらがどんなものなのかはだいたいわかっている必要がありそう。 なので、まったくのプログラミング未経験者は理解するのが厳しいと思われる。

ちなみに、swiftは以下の方法で学ぶことができると参照元には書いてある。

もし、この先レッスンを進めていって、swiftについてググってもわからなそうなことがあればチャレンジしようと思う。

About the Lessons(このレッスンで作るアプリ)

In these lessons, you’ll be building a simple meal-tracking app called FoodTracker. This app shows a list of meals, including a meal name, rating, and photo. A user can add, remove, or edit a meal. To add a new meal or edit an existing one, users navigate to a different screen where they can specify a name, rating, and photo for a particular meal.

グーグル翻訳:"これらのレッスンでは、FoodTrackerという簡単な食事追跡アプリを作成します。このアプリは、食事の名前、評価、写真などの食事のリストを表示します。ユーザーは食事を追加、削除、または編集できます。新しい食事を追加したり、既存の食事を編集したりするには、ユーザーは別の画面に移動して、特定の食事の名前、評価、および写真を指定できます。"

アプリの完成図が参照元には載っている。

Get the Tools(ツールの準備)

App Storeから最新のものをインストールすればOKなはず。

IMPORTANT

The lessons were written using Xcode 8.1, iOS SDK 10, and Swift 3. Try to use these versions while working on the tutorials. If you are using a different version, your screen may look different than what is shown in the screenshots. You may also need to make changes to your code to get it to compile.

グーグル翻訳:"レッスンはXcode 8.1、iOS SDK 10、およびSwift 3を使用して書かれました。チュートリアルの作業中は、これらのバージョンを使用してみてください。別のバージョンを使用している場合、画面はスクリーンショットに表示されているものとは異なる場合があります。コードをコンパイルするためにコードを変更する必要があるかもしれません。"

と、かいてあるが、僕は現在の最新版をインストールしたので以下のバージョンで進めている。

No 項目 バージョン
1 Xcode 10.1
2 iOS SDK 12.1
3 Swift 4.2

今の所若干XcodeのUIに差異があるものの、大きな問題はない。 これまでの経験上、注意書きにあるように一旦バージョンを合わせたほうが変なところで躓くことを避けれるのでいいと思う。

Getting Startedはこんなところかな! それじゃあiOSアプリ入門やってくぞ。

各章へのリンク

Building the UI編

Start Developing iOS Appsをやるぞ〜Build a Basic UI〜ブログ執筆中

Start Developing iOS Appsをやるぞ〜Connect the UI to Code〜進行中


  1. 参照元にはswift3について記載があったが、最新のswift4.2へのリンクにした。

情報処理安全確保支援士に合格したのでどんな勉強したか書く

平成29年度秋の情報処理安全確保支援士試験を受験し、合格できた。 うれぴい。 しかし正直まったく安全確保支援できる気がしない。

会社の方針により受験することになった。 断りたかったが所詮俺たちは給料と引き換えに会社に魂を捧げた身ゆえ受験することに。 とてもやる気がでなかったがなんとか合格。 午後Ⅱがたしか62点ギリギリでわろた。

せっかくなので、どんな勉強したか書く。 勉強法にお悩みの方は参考にして下さい。 前提として僕の取得資格は以下。

なので、情報処理試験は全然初めてではなく、 大体の勘所はつかめていたと思う。 勉強期間は大体1ヶ月くらい。 仕事しながらなので、割としんどかった。

今学生で、SIer等のトラディショナルIT企業に就職する予定の人は 是非在学中に情報処理試験を取っておくことをおすすめする。 応用や高度だと合格祝い金みたいなのが出る会社もあるけど、 社会人になってから帰宅後や休日に資格の勉強をするのはやっぱりしんどい。(とてもしんどい)

午前Ⅰ対策(いる人は)

残念なことに午前Ⅰ免除の期間が過ぎていたので受験することに。 過去問を2回分くらい解いてみて、大体8割とれたのであまり勉強しなかった。 過去問は情報処理試験のサイトにある。

午前Ⅰ、Ⅱは4択なのであまり解説は不要だが、 午後Ⅰ、Ⅱの対策の時にある程度解説付きの過去問問題集があったほうが良い。 僕は定番の過去問題集を買った。

平成30年度【春期】情報処理安全確保支援士パーフェクトラーニング過去問題集

平成30年度【春期】情報処理安全確保支援士パーフェクトラーニング過去問題集

午前Ⅱ

僕は午前Ⅱの勉強がもっとも大事だと思っている。 もっとも技術的に深堀されるのは午後Ⅰだと思うが、 その回答を導くための土台は午前Ⅱの範囲をどれだけきちんと理解しているか、である。 なので午前Ⅱの内容を正確に理解することがとても重要。 この問題はこれ、みたいな一問一答形式で記憶するのではなく、 どうゆう理由でその回答になっているか、 対象の技術がどんな仕組みで動いているか、 をきちんと理解してきたい。 なので、参考書をひとまず一周して理解を深め、 そのあと過去問等を解いてあやしい部分があったら参考書を読んで確認すると良い。 参考書に載っていなければ(結構ある)Webで調べて理解するのも大切。

 

実際は紙媒体で買ってしまったが、kindleのほうがどこでも読めてよかったかも。 

ざっと一周参考書を読んだ後は問題集を解いて、各ジャンルごとに理解できているか確認した。 間違った箇所は復習も忘れずに。 ↓みたいなテーマ別になっている問題集だとどの分野が苦手なのかわかりやすいのでおすすめ。

2018 情報処理安全確保支援士「専門知識+午後問題」の重点対策 (専門分野シリーズ)

2018 情報処理安全確保支援士「専門知識+午後問題」の重点対策 (専門分野シリーズ)

午後Ⅰ

個人的にもっとも難関なのは午後Ⅰのような気がしている。 前述したが試験中でもっとも技術的に深堀されるような気がする。 午前Ⅱの内容をしっかり理解できているかどうかで午後Ⅰの問題がスムーズに解けるかが別れる。

午後Ⅱ

過去問を1、2年分くらい解いたはず。 もはや午前Ⅱの知識がしっかり定着し、午後Ⅰの問題が解けていればあとは国語の問題だと言える。 読むだけでしんどい。 そもそも1回過去問をとくだけでもしんどいので、勉強は計画的にやったほうがいい。 平日の帰宅後に午後Ⅱを解くなんて僕の体力では無理だったので土日に解いた。 正直せっかくの休日を受験勉強みたいに十何時間もやってられないので、 せいぜい3時間くらいだと見積もった方がいい。 なので休日でも1日午後Ⅱ問題を1回解くのが限界くらいかな。

  あと、午後では総合力が試されるので、 可能なかぎり知っている単語を増やした方が良いと思っている。 問題文にでてくる単語の意味がわからず、どうしようもなくなるのを避けることができる。 というので通勤用にこれを買った。

さっきも言ったが、よく考えれば午前Ⅱ対策の本をkinldeで買えばスマートだったし、この本も不要だったように思う。 まあでもそのへんは好みかな。 ただ、参考書は一冊よりも複数のほうが知識が偏らなくて良さそう。 そこらへんはお財布と相談で。

午後Ⅱの過去問をたくさんこなすのは正直しんどい。 おすすめは午後Ⅰの問題をたくさんこなすことだ。 午後Ⅰは技術的な内容は深堀されるし、ある程度国語力もいるわりに、Ⅰ問あたり大体30分くらいで解けるので量をこなすのに良い。 本当に終盤になってくるとちゃんと問題を解くのすらめんどくさく時間がなくなってくる。 そんな時は過去問題集を使って①問題を見て、②ちょっと考えて、③解説を見る、を繰り返すのがおすすめ。 そうすると情報処理試験でどんな回答を作るのが良いのかパターンが見えてくる。 記述式でどんな回答を作れば良いかで迷う人なんかには良いかもしれない。

スケジュール

No 内容
1 第1週 参考書を読む
2 第2週 問題集を解き、理解があやしい部分を参考書・Webで復習
3 第3週 午前Ⅱ、午後Ⅰの過去問を解く
4 第4週 平日は午後Ⅰ、休日は午後Ⅱの過去問を解く

大体こんな感じだったかな。

さいごに

最終的にはモチベーションとの戦いになるのが情報処理試験である。 勉強していると、

こんなのを覚えたからなんだっていうんだ。。。 そもそも資格取っても給料増えないしあんま意味なくない。。。? おっぱい。。。 などと考えてしまい、勉強がすすまず 結局当日の朝になって受験しても受かる気がしないし、 ていうか今日休日なんだけど、で受験会場に行かないまでがテンプレである。

就活のため、評価のため、合格祝い金のためなど、 資格合格の先に目指すものはそれぞれだと思うけど みんなモチベーションを保って頑張ろうな!!!!

 

ExcelのA1セル選択保存は必要なマナーなのか

事の発端は、新人君がExcelを保存する時はA1セルを選択しておくのがマナーと教えられているという旨のツイートをタイムラインで見かけたことだ。

僕もお客様に納品する場合は一番先頭のシートで保存するようにはしていたが、A1セルを選択するまでは気をつけていなかった。 これって社内の業務で使用するだけのExcelファイルを保存するときもやっぱりA1セルを選択してから保存するんかな。 別の会社に勤める友人は、もうA1セル選択保存が癖付いているらしい。

仮に紙媒体で納品するとして、そりゃあたしかに表紙を上にして納品するよなっていうので、一番最初のシートが開いた状態で保存するのは納得していた。 でもA1セルにカーソルがあるかなんて、そこまで細かく気にする人もいるんだと思った。 社内業務で使うやつではやらないけど、納品用のファイルは今度からA1セルを選択して保存するようにしよ。

ついでに、ほかにもそういうExcelのマナーってあるのかなと思って調べたらNeverまとめがあった。

matome.naver.jp

気になったのは以下。

不要なシートは削除する

これはやる。納品の時は。

枠線の非表示

これもやる。納品の時は。

倍率をシートで統一

めんどくさいのでやったことない。今度から納品の時は気をつけよう。

セル結合はなるべくしない

これに関しては、セルの選択とかフィルターとかうまいことかけれなくなるから思考停止セル結合は本気でやめてほしい。

社外に送信する場合には不要なメタデータは削除する

履歴とかちゃんと消さないと、見られるとまずいときもあるしね。

なんか他にもいろいろあったけど、何言ってるのかよくわからないのもあったので、僕のExcel力もまだまだなんだなと思った。 あと、全然関係ないけど、Excelの印刷時文字切れってあれほんとなんとかならないのかな。

アディオス

Windows Server 2016 Technical Preview 5をインストールした

Windows Server 2016が2016年10月中旬ごろから一般提供されるそうなので、新機能とか触ってみたくてインストールした。 Windows10もそうだけど、普段諸事情によりWindows7の画面を見慣れている身としては画面がかっちょよくて感動しました。

必要なやつ

使用したISOイメージ

  • Windows Server 2016 Technical Preview 5

ダウンロードした時のファイル名は以下。

14300.1000.160324-1723.RS1_RELEASE_SVC_SERVER_OEMRET_X64FRE_EN-US.ISO

環境

VirtualBoxVMを作成してインストールした。 作成したVMは以下の通り。 VirtualBoxのバージョンは5.1.6。

No 項目
1 メモリ 1024MB(※1)
2 ハードディスク 40GB
3 タイプ Microsoft Windows
4 バージョン Other Windows (64-bit)

(※1)512MBだとエラーになった。詳しくは以下参照。

インストール手順

丁寧に作ったけど、言われるがままに進めるだけで特別難しいことはない。

1. 起動

言語とか選択して[Next]をクリック。 f:id:salary-warrior:20161009163217p:plain

2. セットアップ画面

もちろん[Install now]をクリック。 f:id:salary-warrior:20161009163538p:plain

3. プロダクトキー入力画面

[I don't have a product key]をクリック。 f:id:salary-warrior:20161009163719p:plain

4. インストールする種類の選択

GUIも見たいので、Desktop版を選択した。 f:id:salary-warrior:20161009163735p:plain

5. ライセンスの同意画面

[I accept the license terms]のチェックボックスにチェックをいれ[Next]を押す。 f:id:salary-warrior:20161009164321p:plain

6. インストール先の選択画面

[Next]を押す。 f:id:salary-warrior:20161009164347p:plain

7. インストール中

f:id:salary-warrior:20161009164408p:plain

8. Administratorのパスワード設定

これでインストール完了。 f:id:salary-warrior:20161009164438p:plain

9. ログイン

お? f:id:salary-warrior:20161009164522p:plain

おお〜!!(・∀・)カッチョイイ!! f:id:salary-warrior:20161009164545p:plain

【番外編】エラー

最初うきうきでインストール始めたら、4.の後で以下のエラーがでた。 "Windows cannot find the Microsoft Software License Terms. Make sure the installation sources are valid and restart the installation." f:id:salary-warrior:20161009164945p:plain

こちらいわく

You can hit these errors when you did not assign enough memory to the virtual machine or accepted the default.

というわけで、VMに割り当てるメモリが少ないらしい。 メモリを512MBから1024MBにあげて再チャレンジしたらいけた。

おわりに

無事インストールできた。 動かしてみる環境はできたので、新機能を触っていこうと思う。 特にDockerらへんにずっと興味はあったけど手を出せずにいたので、この機会に一緒に勉強したい。

アディオス