Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Visual Studio Code の始め方〜オープンキャンプ in 南島原 2022〜

Visual Studio Code の始め方〜オープンキャンプ in 南島原 2022〜

長崎県南島原市で開催された「オープンキャンプ in 南島原 2022」で講演した時のスライドです。

Ishimoto Tatsuya

June 18, 2022
Tweet

More Decks by Ishimoto Tatsuya

Other Decks in Technology

Transcript

  1. • 本名: 石本 達也 • 日本仮想化技術 DevOpsエンジニア • 長崎出身→福岡→東京 ◦ 長崎:

    18年。福岡: 3年。東京: 8年目。 • 2012年10月 OSC福岡で初めて学生として参加し、オープンソースを知る ◦ 在籍していた学校が会場になった回がきっかけ • 2015年04月 新卒として商社系のSIerに入社 ◦ SAPの導入支援&アドオン開発を担当 • 2016年05月 オープンキャンプ in 南島原(第0回)?に参加 ◦ 毎年リアル参加していたが2020〜2021はコロナ渦でオンライン参加に • 2017年07月 ベンチャー系の人材紹介会社に入社 ◦ 大手通信会社でサービス開発プロジェクトで要件調整やマルチベンダとの折衝や調整を担当 ◦ 社内に戻りディレクション業務とRPA開発チーム立ち上げをエンジニア兼務で担当 • 2022年01月 日本仮想化技術に入社し、DevOpsエンジニアとして奮闘中 自己紹介 3
  2. いままで • 小学校〜高校までサッカーをやっていた • 練習試合や大会などで行く機会があったくらい • 学校やがまだすドーム横のグラウンド、陸上競技場など • 週末にドライブや旅行で行こうと思うような場所ではなかった •

    街や都会っぽさへの憧れの方が強かった • どちらかというと長崎市内の方に出かけてしまう • 大学生くらいになってくるとドライブなどで出かけることはあったのかも (その頃は福岡にいた ...) 南島原の印象って?(1/2) 5
  3. いま • 毎日が都会だとそれはそれで疲れる • 緑は少ない。星が見えない。いつ空見たんだろう?状態。 • 気づいたら実家をすっ飛ばして南島原に行くようになっていた • 真砂で温泉に入る •

    吉田屋さんにお酒を買いに行く • たつみで海鮮丼を食べる • 神崎さんのところのクリーニング工場に遊びに行く • 池田さんのところにそうめんを買いに行く • イベントの時は論所原でキャンプ • カレー作りやったり、力尽きるまで語りながら飲み明かしたり。最長は 28:00(AM: 4:00)? • 唐揚げ美味しい! 南島原の印象って?(2/2) 6
  4. 13

  5. エンジニアの三大美徳(2/3) 14 • 怠慢 ◦ 全体の労力を減らすために手間を惜しまな い気質。 • 短気 ◦

    コンピューターが怠慢な時に感じる怒り。 • 傲慢 ◦ 人様に対して恥ずかしくないプログラムを 書き、また保守しようとする気質。 傲慢 (Hubris) 怠慢 (Laziness) 短気 (Impatience)
  6. • 機械語 ◦ 0と1の情報 ◦ プログラムも最後は電気信号レベルの世 界 ◦ ごく稀に読める人がいると聞いたことあるく らい

    • アセンブリ言語 ◦ 低水準言語 ◦ 人間が理解しやすいようにニーモニックと いう命令語で表現 • プログラミング言語 ◦ 高水準言語 ◦ C言語 ◦ Python(裏ではC言語に翻訳) ◦ ノーコード、ローコード プログラミング言語と機械語 18 01011011010110101010101 10101010010100010101000 00101010010001010010101 000101001001010101…. function main() { print(“Hello World!”) } PSHS A,B,X,U LDA #$80 ADDA #$C0 PULS A,B,X,U,PC
  7. テキストエディタとは 23 • 文字通りテキストを編集するためのツール ◦ テキストが編集できればテキストエディタなので対象が広い • ツールによってプレーンなものからリッチなものまで様々 主なツール •

    Windowsのメモ帳 ◦ 高校の授業で初めてのプログラミングをやったときに C言語書いた • TeraPad ◦ 実はプログラム書くときにいい感じのやつがあると初めて知ったやつ • サクラエディタ ◦ 使っていた記憶はあるけど、詳しくは覚えていない • 秀丸エディタ ◦ Windowを使ってた頃に最後に使っていたやつ • Sublime Text Editor ◦ Macに変えてから使っていたやつ • Visual Studio Code ◦ 社会人になりたてくらいの頃に使い始めた
  8. IDEとは • Integrated Development Environment(統合開発環境) • 色んなものを1つにまとめたもの ◦ ソフトウェア開発は、コーディング、コンパイル、ビルド、デバッグなどの工程の繰り返し ◦

    テキストエディタ、コンパイラ、リンカ、デバッガなどのツールを使い分け • 1つにまとめた方が生産性上がるよね。というところから統合開発環境と呼ばれるものが登場した • 最近ではテストも一般的になりつつあり、ソフトウェアテストも統合されている 主なツール • Visual Studio Code • Eclipse • Xcode • Android Studio • IntelliJ IDEA 24
  9. Visual Studio Codeとは? • Visual Studio Code=VS Code • 元々はHTML5ベースのWebブラウザーで動くエディター&ツールフレームワークの開発を行なっていた

    ◦ Visual Studio Online ◦ Azure Web AppやAzure DevOpsなどのオンラインエディター ◦ Internet Explorer(IE)やMicrosoft EdgeのF12開発者ツール • ブラウザー版での成長が頭打ちになりつつも、より高みを目指していくためにデスクトップ版での提供も 必要だと判断されて開発された • 2015年04月 Build 2015(Microsoftの開発者向けカンファレンス)でプレビュー版が発表された • 「Code editing, redefined」(コードエディターの再定義)のスローガンを掲げている • 統合開発環境(IDE)とテキストエディターの中間的な位置付け • コードエディターとしてのシンプルさとコーディングとデバッグサイクルで開発者が必要とする機能を組み 合わせた新しいツールの選択肢 • オープンソースとして公開されている • 拡張APIを通じてほぼすべての機能をカスタマイズしたり拡張したりできる 25
  10. 開発サイクル • 期待した通りに動くまで繰り返す ◦ 設計(Plan) ◦ コーディング(Do) ◦ テスト(Check) ▪

    境界値テスト ▪ データ型に応じたテスト ▪ 最小値と最大値テスト ▪ 回帰テスト ▪ 成功率、カバレッジ率 ◦ 修正(Action) ▪ デバッグ 42
  11. • Software Development Life Cycle(SDLC) ◦ Planning(計画) ◦ Analysis(要件の定義) ◦

    Design(設計とプロトタイピング) ◦ Implementation(ソフトウェア開発) ◦ Testing and integration(テストと展開) ◦ Maintenance(運用と保守) ソフトウェア開発のライフ サイクル 43
  12. • アクティビティバー • エクスプローラー • 検索 • ソース管理 • 実行とデバッグ

    • 拡張機能 • リモートエクスプローラー • テスト • プライマリサイドバー • セカンダリサイドバー • パネル • ステータスバー • サイドバー 画面構成 45
  13. 少しでもリスクを減らす拡張機能の選び方 58 • なにかとお世話になることが多い拡張機能だからこそ安全に使いたい • VS Codeからインストールできるからといってすべてが安全ではない • 2021年に拡張機能を悪用したサイバー攻撃がニュースで話題になった •

    ポイント • 認証バッチが付いている • Marketplace側で検証済み • 2021年に追加された機能 • 提供元が信頼できるか • インストール数や評価、最終更新日 https://code.visualstudio.com/updates/v1_62#_verified-extension-publishers
  14. • ケースを変更してくれるもの ◦ スネークケース ◦ パスカルケース ◦ キャメルケース など •

    スペルチェックをしてくれるもの ◦ betaをbataとよくTYPO • コードの見た目を整えてくれる • 見た目に少し変化を加えたい人向け ◦ シンプルなデザインが好み 全員向け 59
  15. 迷ったらVS Codeから。まずは1つ使いこなせるエディタを • ユーザ目線だとあまり大きな違いはないが、 OSSで提供されていたり拡張機能の開発をしたい人はよりオススメ • テキストエディタと統合開発環境 (IDE)の中間的な位置付けでバランスがいい • 自分がよく使う機能の見極めとしても活用できる

    • 使っている人が多いので情報量も豊富 流行りものに手を出すのはあとで • ITの世界は特にトレンドの変化が早く新しいツールなどが出てくるが、ぐっと我慢して 1つ使えるようになってから • ブログなどでの情報が少ないので、単純にググっても情報が出てこないことが多いので挫折しがち • 使い道がわからずに使わなくなってしまう エディターって何を使えばいいの? 70
  16. • 何か作りたいものを事前に決める ◦ 特になければHTML + JavaScriptでTo Do管理を • 開発を進めながら設定や拡張機能などのセットアップを進めていく流れ •

    「◯◯ってできる?」や「△△の手順をもっと効率的にやれる方法ない?」など随時聞いてOK ◦ めんどくさいことや怠けたいことをどんどん増やしていきましょう • プログラミングを始めたいけど...あれこれ相談したいな事でもお気軽に 午後にVS Codeのハンズオンに参加される方へ 76
  17. • Youtube ショートとTikTokを見ていると2時間くらい平気で過ぎ去ってしまう ◦ 言い訳のつもりで始めた ◦ クリエイターとして毎日他の人の動画研究をしている(つもり) • デモ動画などを作成する機会が増えてきたので、練習後に作ったものたちの供養先として投稿 ◦

    10〜30秒くらいの長さ ◦ ショートカットや機能の使い方、ちょっとしたテクニックなことをメインに ◦ 月〜金で毎日投稿が目標。週末に撮り溜めを頑張っている ◦ 企画力と動画の編集力が上がってきたらもう少し長い動画にも手を出したい YoutubeとTikTokやってます 77