心地よい大学生活を送るために

心地よい大学生活を送るためには,「継続」と「+α」が必要だと思います.

僕は大学に入るときに,「情報科学についての知識を深めて,面白いものを作るぞ!」という決意をしました.

以前にも書きましたが,その熱意が強すぎて思わぬ方向を向いてしまい,大学に入ると空回りしてしまいました.

polyomino.hatenablog.jp

心地よい大学生活を送るためには,程よい熱意を常に持ち続けることが重要だと思います. 強すぎる熱意は自分が疲れていずれ倒れてしまいます.

では,程よい熱意を持ち続けるためにはどうすればいいかというと,「継続」と「+α」です.

まず,何か大きな目標を立てます.例えば,「セキュリティのプロになる」「アプリ開発をして儲ける」 といった具合です.

次に,その目標に向けてまず自分は何ができるのかを考えます.先程の大きな目標を分割するイメージです. 可能な限り小さくしてください.先程の例ですと,「『~~~』という本を読む」や「開発環境を整える」といった具合です.

課題を小さくすることによっておのずと何をすれば良いのかが見えてくるはずです. そして,その小さな課題を「継続」して解決していくことで自分のスキルを向上させることができます.

「継続」をしていると,それが退屈に感じることがあるでしょう.

ここで「+α」が役立ちます.

僕の場合,この「+α」を「勉強会に参加する」としています. https://connpass.com/ などを探してみるといろいろな勉強会などが開催されています.

勉強会には様々な人が来ていていろいろな人から話を聞くことができます.

この話の中に,「自分が知らなかったけど面白そう」と思うものがあるかもしれません.

実際,僕は勉強会で「スクレイピング」という技術を知り,最近楽しんで勉強しています.

勉強会に参加せずとも,「+α」として,「普段あまり話さない先輩に質問する」や「一緒に開発しないかと誘う」などでも問題ありません. 普段と違うことをすると良いです.

退屈な日常に少し変化をもたらしてくれるのが「+α」です.

もし皆さんが大学生活に不安や退屈さを感じているのであれば,「継続」と「+α」をキーワードとして覚えて頂き何かを始めて欲しいです.

それでは,心地よい大学生活を.

iPhoneアプリを自分のアカウントへ引き継いだお話

概要

以前親のアカウントで出していたiPhoneアプリを自分のアカウントへ引き継いだお話を書きます.

経緯

iPhone アプリを高校生のときに作成しました.そのアプリをApp Storeに公開するためには,Apple Developer Program に登録する必要があります.
このDeveloper Programは,成人した人でないと登録することができません.*1
未成年がiPhoneアプリを提出することはできないため,親のアカウントから提出する方法があります.*2

2年前の私は,親のアカウントからアプリを提出することを選びました.

2年を経て現在,私は20歳になったので自分のアカウントを Developer Program に登録しました.
そこで,「どうやって引き継ぐん?」と思い試行錯誤しました.

自分のアカウントで出す.

同じ Xcode Project を自分のアカウントから提出する(失敗)

新しいアプリを提出するのと同じ要領で,iTunes Store へ申請します.

すると,お叱りの文が帰ってきます.

We noticed that your app provides the same feature set as other apps submitted to the App Store; it simply varies in content or language, which is considered a form of spam.

The next submission of this app may require a longer review time.

似てるアプリが出てるってそれワシのアプリや... (´・ω・`)

とまぁ,自分が作ったアプリでも違うアカウントから提出することはNGみたいです.

アプリの譲渡を利用する(成功)

レビュアーさんに「これ僕が2年前作ったアプリでオカンのアカウントから出してるねん(英語)」と送ると,「ここレビューの場所やからサポートに連絡して(英語)」と返ってきました.

僕は翌日,iTunes Connect Support へ連絡をしました.

iTunes Connect Supportさんへ
僕の作ったアプリをオカンのアカウントから自分のアカウントへ移行したいねんけどどうしたらいい? アプリの譲渡もできないんやけど... ちなみに僕のアカウントは ***@***.*** やで (英語)

すると,3日後(土日を挟んだ)Appleのサポートから日本語で返信が返ってきました.

AAA様

この度は App Store Developer Support へお問い合わせいただき、誠にありがとうございます。

AAA様が成人されたのでアカウントの名前をご自身の名前に変更したいとのご要望ですが、一度作成されたアカウント名を別人に変更する事は出来ません。しかし、AAA様の Apple ID: ***@***.*** を確認したところ、すでにAAA様のお名前のアカウントが存在しております。

もし Apple ID: ----@---.--- のアカウントにて公開しているアプリケーションを Apple ID: ***@***.*** のアカウントへ移行されたい場合は、下記のガイドに沿ってアプリケーションの譲渡を行ってください。条件を満たしている場合は譲渡が可能でございます。

https://help.apple.com/itunes-connect/developer/?lang=ja#/deved688524f

また、Apple ID: ----@---.--- のアカウントの有効期限が切れていたため、アプリケーションの譲渡を可能にするため特別に本日より一週間アカウントを有効にさせていただきました。この一週間以内にアプリケーションの譲渡を行っていただけますよう、お願い致します。

ご不明な点、質問等ございましたらお気軽にお問い合わせください。

サンキュー Apple

"特別" にアプリの譲渡を認めてもらえたけど,本来は親のアカウントが有効な期間に自分への譲渡を行わないといけないのかもしれない.

アカウントが有効であれば,譲渡が可能みたい.

もし,親のアカウントで出そうかなと考えている人がいれば気をつけて.
(あまりいないと思うけど)

*1:2017年10月16日現在,日本の場合20歳

*2:これは2年前にAppleのサポートから電話で教えて貰った情報だから変わっているかも

日本科学未来館へ行ってきたよ

ということで,日本科学未来館へ行ってきました!

行く前のイメージとしては”デカい地球のディスプレイがあるとこ”ぐらいで,事前調査無しで行ってきました.

いざ行ってみると,なかなか考えさせられる展示の多い博物館でした.

この科学館には,小さな子供が体験できるような仕掛けが多く施されています.そのため,子供向けの施設と思われるかもしれません. しかし,決してそのようなことはなく大学生の僕が行っても楽しい施設でした.

なので少し僕の気になった展示を紹介します.

技術革新の原動力

私達が普段何気なく利用している製品には,多くの科学技術が利用されていて,その科学技術を作り出した人が必ずどこかにいる. そのような人になるためにはどうすれば良いのかという展示でした.

技術革新の手法

  • むすびつける
  • くみあわせる
  • ひらめく
  • みならう
  • きりかえる

という手法によって日々多くの技術が生み出されています.

ポスト・イット® のが開発された話 や 生体模倣技術 についての解説がありました. 技術革新と聞いて多くの人がはじめにイメージする 「ひらめく」 以外にも技術革新には種類があるということを再認識させられました.

「生命らしさ」を求めて

有名な石黒先生が監修されたアンドロイドが展示されていました. f:id:Polyomino:20170827231509j:plain:h300

見た目が人間にとても似ているけど,どこか少し違和感を感じる.この違和感がなくなれば,このロボットと人間の違いはなんだろう. 考えて行動するかどうかなのか?人工知能を組み合わせればどうなの?

と,改めて自分とは何か, 人間とは何かを考えさせられました. 僕の結論として,この曖昧な境界線を受け入れることによってこの問題は解決するのかなという結論に至りました.

こちら、国際宇宙ステーション(ISS)

単純に宇宙が好きっていうだけです. f:id:Polyomino:20170827234647j:plain 「きぼう」の中をがどうなっているのか見学できます!宇宙食や実験装置(のレプリカ)などが展示されていました.やはり,地上とは環境が大きく違うため,専用のものを開発する必要があるのだなと思いました.この宇宙食一つ,実験装置一つとっても多くの人が考えて作り出したものなので,細かな配慮が至るところにされていました.また,この展示のまわりには宇宙飛行士のサインがたくさん書かれていてとても感慨深いです.ここ以外にも,スロープの途中に宇宙飛行士の顔写真とサインがありました.

f:id:Polyomino:20170827234220j:plain:w300
油井さんのサインもありました!

とまぁ,見学を通していろいろ考えさせられました. ぜひ,一度訪れてみてください.

今日はこのへんで, 明日からまたインターン頑張ります.

インターン開始前日

いよいよ明日からインターンがはじまります.

まだ,口止め書類 誓約書をまだ記入していないのでここに自由に書けるので少し書きますね.

今日は明日へ備えて移動の日でした.

私のインターン先は東京都にあります. そのため,私のような都外に住んでいる人は今日ホテル入りしました.

事前にslackが作られていてお互いの連絡ができる状態であったので,連絡を取り合い晩御飯を一緒に食べました.

今回のインターン先は,得意分野が別々の人を集めているのかと思うほど別々でした.

とはいっても私を含めて3人しか知らないのでなんとも言えないですけど….

では,明日からインターン頑張ってきます.

傲慢な大学生がインターンシップへ行くことになった話

某社に3週間ほどインターンシップへ行くことになりました.

"この会社に就職したい" や "インターンシップへ行くと単位がもらえる"ということはなく, ただ,実際の現場を知りたいという理由で応募しました.

私は昨年 某企業(二社)へインターンシップの申し込みをしました. 当時の私は,大学へ入学したばかりで授業がつまらないと思っていました. それもそのはず,中学や高校では情報の授業は少なく自分で勉強していた人としていなかった人とで大きな差があるからです.

私は「自分で勉強していた人」であったため,授業がつまらなく感じていました. そこで当時の私は 大学の授業 = 簡単 という錯覚を抱いてしまったわけです.

調子に乗った私は学部1年生でインターンシップへ応募しました.

当然ながら,学部1年生を受け入れてくれる企業は(私が応募した中では)ありませんでした. 学部1年生で,十分な能力を持っている人は少なく,私も今思い返すと恥ずかしくなるぐらい知識がありませんでした. 簡単なiPhoneアプリを作ったことがあるだけ,簡単なWebサイトを作ったことがあるだけ,TCP/IPが何なのかよく理解していない,かと言って何か情報系の資格があるわけでもない.

こんな学部生の使いみちは,いわゆるIT土方ぐらい(いや,それも怪しい)しかありません.こうして僕のイケイケな夏休み計画という幻想が消えました.

そこから,自らを鍛える夏休みが始まりました.

まず,自分に足りないものは何なのかを考えました.
技術,経験,知識...etc

何もかもが不足していました.

iPhoneアプリはかなり講師の方に教えてもらいながら作っていました.Webサイトは同級生に助けられながら作っていました.

だからまず,何か自分の力だけで作ってみようと考えました.私は非常に臆病なので,ここで新規の分野に挑戦できなかったです.iPhoneアプリもしくはWebサイトどちらかを自力で作ろうと考えました.

どうせなら,誰もが僕のつくったものを見ることができたら良いよねと考え,結果 Webサイトを自力で作ることにしました.そして,サーバーを借りHTML/CSS/JavaScriptを書きGoogle Analyticsをつけ ウェブサイトを公開しました.

決して手の込んだウェブサイトというわけでは無かったのですが,凄まじい達成感を得ました.

秋学期になり,自分の知らないことの授業が増え大学へのイメージは大きく変わりました.

授業でわからなかったところは自分で調べ,そのときあった周辺の情報も一緒に勉強しました. このときから,自分の傲慢さに気づき本当に何も知らないことを自覚しました.

そして今年になり,インターンシップへの申込みの時期になりました.知らないことが多すぎる自分がインターンシップへ行っていいのか? と考えどの会社へも申し込みをせず6月を終えました.

多くの企業が申し込みを締め切っていく様子を眺めながら,本当にこれでいいのか?という葛藤が始まります.そんな時 某企業のインターン募集広告が目に入ります.

APIを叩いて申し込み方法を見つけよう!」

こんな感じだった気がします.

私は,この問題が解けたら申し込んで,解けなければ諦めようという結論に至りました. APIを素直に叩くだけでちゃんとレスポンスが返って来ました.

その後,数回APIを叩くと申し込みフォームのURLが返ってくるようになり,そこから申し込みました.

面接を経てインターンへの参加許可通知を受け取りました.この時,非常にうれしい反面 技術,経験,知識が不十分な私が参加して良いのか不安になったのを覚えています.

これからの3週間,自分なりに精一杯努力しようと思います.インターンを通して技術,経験,知識すべてにおいて成長したいです.

ブログを始めた

以前は自分でサーバーを借りてそこでブログを運営していたけど,学習の課程でサーバー移転した.

そのとき,データベースをうまく移行できなかったから自分のサーバー以外にもバックアップとして記事を保存しておいた方がいいと感じた.

だから,ここに記事を保存していく.

自分のサーバーで安定した運営ができそうならこのブログは消すかも.

まっちゃ139勉強会に参加してきたよ

この記事は blog.polyomino.jp で掲載していた内容のコピーです.

2017年4月23日に行われたまっちゃ139勉強会に参加してきました.

今回の勉強会では『プロが教える情報セキュリティの鉄則ーー守り・防ぐ・戦う科学』を執筆された日本マイクロソフトの香山さんのお話がありました.

お話の内容は Active Directory や 情報セキュリティ についてでした.

香山さんは,初めに Active Directory について知っていいるのか会場全体に投げかけられました.参加者の80%程度が既に知っているという状況でした.

ここで私は,「もしかして,参加したらまずかったのでは?」と思いました.しかし,「そもそも Active Directory とは?」というところから始まり,Active Directory を知らない(使わない)人にも役立つ話もあったので,参加して良かったという感じです.

ではここからは内容 (発表の内容と後で調べた内容を混ぜて書いているから執筆の過程で間違いがあるかも)

Active Directory とは?

Active Directory (アクティブディレクトリ) とはマイクロソフトによって開発されたディレクトリ・サービス・システムであり、Windows 2000 Serverから導入された、ユーザとコンピュータリソースを管理するコンポーネント群の総称である。(Wikipediaより)

香山さんは Why What How で整理して説明されていました.

Active Directory を Why What How で整理

  • Why ビジネス上の目標
    • 組織の情報資産を安全に共有し生産性を高めたい,そのために適切なアクセス制御をしたい
  • What 実現内容(テーマ)
    • 社員(あるいは職員,メンバー)であることを確認すること
  • How 実施方法(やり方)
    • 組織内のユーザーを一元的にディレクトリに登録し,ユーザーIDと本人しか知らない・持たない情報をもとに本人を確認し,その人の権限・役割に応じて情報にアクセスできるようにする
    • クライアント端末の構成は組織のルールが徹底できるようにする.

(以上香山さんのスライドから引用)

電話で例えるならこんな感じ.今まで電話帳をそれぞれの電話で管理していたけど,新しいメンバーが追加されたらすべての電話に追加しないといけない.もし,電話の親機が一つで その他は子機ならば,電話帳一つで管理できるよね.もし新しいメンバーが追加されても,その電話帳に一つユーザーを追加すれば簡単にできる.
という具合です.

大雑把にいうと「ユーザーの管理をまとめてしてしまおう」っていう感じです.

Active Directoryを使うと何が良いのか

Active Directory に参加するためには,各パソコンでドメイン参加処理が必要です.そのため,ドメイン参加していないパソコン(持ち込みPCなど)を見分けることができます.

また,アカウントの管理も容易にすることができます.Wi-Fi のパスワードによって,アクセスの許可/拒否などをしている場合,退職した社員がそのネットワークにアクセスする可能性もあります.Active Directoryによって管理していれば,退職した社員の管理も容易です.

ここからはセキュリティの話

情報セキュリティとは

情報セキュリティとは,「機密性」「完全性」「可用性」のことです. - 機密性(Confidential)
許可されていない人に情報を公開しない - 完全性(Integrity)
情報の正確さ及び完全さを保護する - 可用性(Availability)
許可されている人が要求したときにアクセス及び利用が可能

もととなった英単語の意味も知っておきましょうとのこと. - Confidential
〈人が〉信任の厚い,腹心の. - Integrity
高潔,誠実,清廉.

(weblioより)

多くの会社は,セキュリティの対策として,入り口対策(侵入されないようにする)と出口対策(万が一侵入されても情報が漏洩しないようにする)という対策を取っているそうです.言い換えると,入り口でも出口でもない領域は見過ごされる傾向があります.

当然,内部で感染が拡大しないようにする対策も重要です.

メールについて

近年,メールの誤送信が度々話題になります.

これを防ぐ方法として次のような方法があります. - 送信の遅延設定をする. - 添付ファイルをやめる.

Outlookでは,"配信時間の指定"という設定ができるそうです.これは,送信ボタンを押したタイミングでは送信されず,その指定時間後に送信されるというものです.多くの場合,送信直後に気づくので,この設定をしていると安心です.

添付ファイルをやめるというのは,代わりにクラウドを用いるという意味です.添付ファイルの場合,送信後に気づいても削除することができません.一方,クラウドを用いると 送信後公開してはいけないファイルだと気づいた場合,クラウドから削除することによって被害を最小限におさることができます.

多層防御という考え方

一つ防御に頼るのではなく,いくつもの防御を準備しておく方が望ましいです.

宮城県女川町の街づくりに見る多層防御

巨大な防波堤 vs 街全体の構造設計

巨大な防波堤を作る案 と 漁港施設,公園,市街地(商業地),居住地というように段々と標高が高くなるようにするという案が出ていたそうです.

次回どの程度の津波が来るのかわからないため,どれぐらい巨大な防波堤を作ると完全に防ぐことができるのかわかりません.一方,街全体として津波に強い設計にすると「粘り強い」構造となります.

情報セキュリティに置き換えて考えてみます.一つの(大きな)防御に頼りっきりとなると,その壁が突破されると甚大な被害になります.

何を守るのか,何が一番重要なのかを考え,全体としてそれを守る設計をすることでより強いセキュリティを作り出すことができます.

意外に使われていないセキュリティ機能

自分が少し退席した間にパソコンを操作される可能性があります.重要な情報を盗み見られるかもしれないし,罠が仕掛けられるかもしれません.これを防ぐためには,スクリーンロックという方法があります.

Windowsキー と L キー を同時に押すことでスクリーンロックをすることができます.

まとめ

ここまで様々な話を聞いてきた私ですが,まとめでなるほどなと思ったことをおっしゃっていたので,引用させていただきます.

  • セキュリティの事故の事例は科学的にアプローチするための検証材料であり,もぐらたたき的な対策のための材料にしてはいけない
    • 禁止を中心とした対策は,根本原因に向き合っていない可能性が高く特に注意が必要

とある攻撃が行われて その対策が必要となったとき,その攻撃に対する対策のみで完璧というわけではありません.次に同じ攻撃が来るとは限りません.そのため,その攻撃から次どのような方法を用いて来るのか攻撃者の立場になって考え,攻撃を受けても問題が無いようにしていく必要があると感じました.

お礼

学生の交通費として皆様にカンパをいただきました.ありがとうございます.