TypeScript公式サイトのQuick startをやってみた(Vue.js編)
はじめに
TypeScriptの学習として、公式サイトのQuick startから、Vue.jsをやってみました。
参考サイト
現在の状態
- JavaScript未経験。
- Vue.js未経験。
- TypeScriptは入門記事をやってみた程度。やったことは以下に記載しました。 tosyan-samoarinan.hatenablog.com
メモ
npmとは
npmはNode.jsのパッケージを管理するためのツール。 npmとはについては、以下のサイトで確認しました。 techacademy.jp
npm installの--save-devオプションはローカルインストール。 グローバルインストールとローカルインストールの違いや、 それぞれのメリット、デメリットは以下のサイトで確認しました。 arui.tech
プロジェクトの初期化
npm initはtypescript-vue-tutorialをカレントディレクトリとして実行する。 ひとまずdescription以外はEnterを押しただけ。 descriptionもtypescript vue tutorialと入力。
Create a basic projectをやってみた
できた!
Adding a componentをやってみた
できた!
感想
今回も写経はしましたが、そもそもJavaScriptもTypeScriptもVueも詳しくない状態だと、 何をやっているのか分からないことが多かったです。 webpackもよく分からず、フォルダ構成が理解できておらず、ファイルは作成したけど格納先が間違っていてうまくいかなかったり・・。 「Before you begin」で紹介されているTypeScript、Vueを先にやるべきだったと思いました。
初心者がTypeScriptに入門した
はじめに
TwitterではPythonの学習についてつぶやいていましたが、TypeScriptも触ってみています。 現時点で実施したことをまとめます。
参考にしたサイト
現在のスキル
JavaScriptの知識はありません。過去に勉強しようと試みましたが、 書き方に馴染めず挫折した記憶があります。
実施したこと
上記サイトを参考に、VSCodeでサンプルコードを写経しました。 Windowsでのnode.jsとTypeScriptのインストールは記載がありませんが、 インストーラをダウンロードして、特に何も考えずに「次へ」で進めても問題ありませんでした。
感想
昔はJavaを使用していたので、やはり型があった方が安心感があります。 Interfaceを使用する際にClassに宣言(implements)しないで使用できるのには違和感がありました。
まだTypeScriptを勉強し始めたばかりですが、JavaScriptを大規模開発向けに拡張した言語ということで、特に型に関する記事が多い印象です。 ただ個人的には早く動かせるものが作りたいので、よいサンプルを見つけて実施してみたいと思います。
AWS認定ソリューションアーキテクト アソシエイト合格
久々の更新となります。
先日、AWS認定ソリューションアーキテクト アソシエイトの試験を受けて合格しました。 求められる条件である1年間の実務経験を無視し、実機をほとんど触らずに後述の参考書を読み込むことで勉強しました。
受験理由
もともとAWS Summitに行く予定だったところ、認定者ラウンジがあることを知り、どうしても入りたかったからです。 また業務ではオンプレの仕事ばかりなので、新しいことを始めたかったからというのもあります。
前提知識
AWSの実務経験はありません。 仕事の関係上インフラ周りの仕事をしているため、ネットワークやセキュリティの基礎知識は多少ありました。
受験方法
以下の参考書をKindleで購入し、通勤時間に読んでました。
AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト
- 作者: NRIネットコム株式会社,佐々木拓郎,林晋一郎,金澤圭
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2019/04/20
- メディア: 単行本
- この商品を含むブログを見る
問題含めて三週ほどやりました。 模擬試験は一回受けました。模擬試験の結果は一応合格内でしたが理解できていない問題が多くやばいな。。と思っていました。 学習期間は一ヶ月ほどです。
試験結果
試験内容は書けませんが、なんとか合格。。と言ったところです。
AWS Summitについて
認定者ラウンジに入れたときは嬉しかったです。 また、事前にある程度知識を入れた状態でセミナーを受けれたので、楽しく参加できました。
おわりに
今どきは当たり前に使用されているAWSですが、オンプレでの構築しか経験のない私にとっては、 こんな便利なサービスがあるのか!という連続でした。 試験合格で終わることなく、今度は手を動かして覚えていきたいです。
5日目 これまでとこれから
開設したばかりのブログもすでにおろそかになっているので、 今やっていること、やりたいこと、参考にしているもの、したいものをまとめます。
python
Progate(スマホアプリ)でpython受講。
- Python | プログラミングの入門なら基礎から学べるProgate[プロゲート]
Python I~V終了。だいぶ前なのであまり覚えていない。
UdemyのPyhon入門を受講。
- 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル | Udemy
購入したのは昨年だが、始めたばかり。
2019/03/27 セクション3まで終了。
入門編のセクション9までで一旦区切ろうと思う。
機械学習
以下二つを読了。
- 機械学習エンジニアになりたい人のための本 AIを天職にする(石井 大輔)|翔泳社の本
- 60分でわかる! 機械学習&ディープラーニング 超入門:書籍案内|技術評論社
概要や実際のビジネスへの利用について。
機械学習のエッセンス
機械学習のエッセンス | SBクリエイティブ
第1,2章までは順調だったが第3章の数学で躓いている。
iPhone XSのkindleアプリで読んでるけど、固定レイアウトなので読みづらくてつらい。
サンプルで確認した上で買ったので自業自得ですが・・。
後述するリンクにもありますが、モチベーションが保てなくなるので、
まずはpythonメインに進めて、機械学習はよくお勧めされている以下2つの本を通勤中に読む程度か。
それとも機械学習のエッセンスを紙で買うか。
- やさしく学ぶ 機械学習を理解するための数学のきほん | マイナビブックス
- 「人工知能プログラミングのための数学がわかる本」 石川 聡彦[PC・理工科学書] - KADOKAWA
書いてて気づきましたが、後者がKindle Unlimitedの対象になっているので、まずはそちらを読むことにします。
(2019/4/5追記)
体系的に学んでいくより、目標に向けて集中したほうがよいと考え、
Kaggleに関する学習に特化することにしました。
(2019/4/14追記) Kaggle
チュートリアル タイタニックでsubmit
- わかった気になれるKaggle入門 - 弥生開発者ブログ by Misocaチーム
まずは参加してみる。kaggleへのハードルが下がりました。 - 【Pythonで決定木 & Random Forest】タイタニックの生存者データを分析してみた - Np-Urのデータ分析教室
実施。不明点もあるものの先に進む。 - 【Kaggle初心者入門編】タイタニック号で生き残るのは誰? データの前処理の仕方や予測モデルのコード例が分かりやすかったです。
- Kaggleに登録したら次にやること ~ これだけやれば十分闘える!Titanicの先へ行く入門 10 Kernel ~ - Qiita (2019/4/14追記)
「3. ここで差がつく! 仮説に基づいて新しい特徴量を作ってみよう」まで終了。
その他参考リンク
- 【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメのAI勉強方法 (2019年改定版) - Qiita
- 機械学習システム開発や統計分析を仕事にしたい人にオススメの書籍初級5冊&中級10冊+テーマ別9冊(2019年1月版) - 渋谷駅前で働くデータサイエンティストのブログ
- Kaggle参戦記 〜入門からExpert獲得までの半年間の記録 & お役立ち資料まとめ〜 - ML_BearのKaggleな日常
- kaggle初心者の私が3ヶ月でソロゴールドを獲得した方法 | Ad-Tech Lab Blog (2019/03/27追記)
- 機械学習初心者が約10ヶ月でメダルより大切なものを獲得できた話【kaggle Advent Calendar 17日目】 - ギークなエンジニアを目指す男
Docker
コンテナ技術入門
- コンテナ技術入門 - 仮想化との違いを知り、要素技術を触って学ぼう - エンジニアHub|Webエンジニアのキャリアを考える!
途中までブログで書いてましたが、Docker入門だと勘違いしていたことに気づき休止中。。。
今後の学習
4日目 コンテナ技術を1から勉強 その3
前回
参考1
employment.en-japan.com 前回、vagrantで仮想マシンを作成、起動し、手順の通りコンテナ作成するところまでできた。 ただ、その後はコンテナ技術の基礎知識としてOSレイヤーの話が出てきて、 Linuxにそこまで詳しくなく挫折・・。
まずはdockerの操作を覚えるため、以下のページを参考に、 前回作成した仮想マシンのdockerでnginxコンテナを動かし、画面を表示するところまで出来た。
参考2
参考3
参考4
参考1でvirtualbox + vagrantでdocker導入済みの仮想マシン(ubuntu)を構築済み。 参考2の「webサーバを立てる」でnginxのイメージを使用しコンテナを作成。ただし、これまでの手順では「http://localhost:8080」にはアクセスできない。 アクセスするには、ホストOSから仮想マシンへの通信を可能にする必要があり、今回はホストオンリーアダプターを使用するよう、 参考1に記載のVagrantfileの7行目に以下を追記した。
config.vm.network "private_network",ip: "xxx.xxx.xxx.xxx"
IPアドレスはホストOSのホストオンリーアダプターのIPアドレス帯を確認の上、 重複しないように設定。ホストOSのホストオンリーアダプターはインストール時に自動で設定されていた。
ゲストOSは既存のネットワークアダプター(NAT)が残ったまま、ホストオンリーアダプターの設定が追加されてしまったが、 参考4を見る限り、NATはデフォルトで設定が残る模様。
ひとまずはこれでnginxの「Welcome to nginx!」を表示することができた。 細かいところは、追って確認していきたい。
3日目 コンテナ技術を1から勉強 その2
先日の続き。進みが遅いので何日かかるか・・。
前回
tosyan-samoarinan.hatenablog.com
参考
前回は、以下の箇所で止まっていた。
以下のコマンドを実行時、「5a2cb0c37a20: Download complete」で止まる・・。
CID=$(sudo docker container create bash)
試しに仮想マシンを一度削除し、再作成したところ、次は止まることなく無事完了。なんだったんだろう・・。
無事コンテナを作成し、yesコマンドのCPU利用時間が30%以下で抑えられていることの確認までは出来た。 実際にコンテナを作成したコマンドや、cgcreate、cgexecのあたりがよく分かっていないので次回以降確認。 上辺の新しさに目が行きがちなものの、実際はOSレイヤーの知識が物凄く必要な気がしている。
2日目 コンテナ技術を1から勉強
下記の記事でコンテナの勉強。最近PCを買い替えて、 まだ何も入っていないので、試してみるにも色々準備が必要。
仮想マシンとコンテナについて
仮想マシンとコンテナの違いで書いてある「オーバーヘッド」と「隔離性」は、 どのような問題を解決するのかで分けられそう。
コンテナで2つのアプリケーションを実行していて、 片方のアプリが高負荷になった場合、もう片方のアプリやホストOSに問題が出てきそう。(恐らくリソース制限はあると思うが) 仮想マシンタイプも結局ホストOSのどこかでボトルネックになって、全体が遅くなることがあると思う。
事前準備
Oracle VM VirtualBox v6.0.4をインストール
ダウンロード
Downloads – Oracle VM VirtualBox
インストーラをダウンロードし、インストール。 とりあえずデフォルト設定でさくさく進む。
vagrant v2.2.3をインストール
ダウンロード
参考にしたページ
qiita.com 私のマシンはWindowsですが、vagrantコマンドの参考になりました。
Vagrantfileで仮想マシンを作成
適当な場所にフォルダを作成し、記載されているVagrantfileをコピペし、Vagrantfileを作成。
コマンドラインでVagrantfileのある格納場所まで移動し、vagrant upを実行。
仮想マシンが起動する。
vagrant up
コンテナを作る
さきほど作成した仮想マシンにログインする。
vagrant ssh
以下のコマンドを実行時、「5a2cb0c37a20: Download complete」で止まる・・。
CID=$(sudo docker container create bash)
ここからはうまくいっていないので次回。