2020/09/29(土) サポーターズ主催テックカンファレンス "技育展" 無駄開発部門 発表資料 技育展公式HP -> https://talent.supporterz.jp/geekten/2020/ 作ったポートフォリオ -> https://atria64.github.io/CUIPortfolio/
CUI風ポートフォリオを作ったC#/Blazorを用いたCUI風Webアプリの制作Speaker:@AtriaSoft2020/09/26 技育展(オンライン)
View Slide
スライドの撮影SNSへの投稿OKSpeaker : @AtriaSoft
• Zoomのコメントに貼れたら貼ります• 僕のTwitterアカウントでもURLを公開しています• 僕のTwitter→@AtriaSoftSpeaker : @AtriaSoft本日の発表資料
スライド枚数59枚(やばい)時間がないのでサクサク進みますSpeaker : @AtriaSoft
Who am I ?@AtriaSofthttp://atriasoft.work/Atria64• 畑 大地(a.k.a. Atria)• 公立はこだて未来大学B2– 北海道にある情報系大学!• 普段は.NET技術に触れています• C#がだいすきですSpeaker : @AtriaSoft
唐突ですがSpeaker : @AtriaSoft
みなさん“ハッカー”に憧れませんか?Speaker : @AtriaSoft
“ハッカー”の共通点文字ばっかりな画面・コマンド入力Speaker : @AtriaSoft
僕も”ハッカー”ぽくなりたい!Speaker : @AtriaSoft
作った。
作ったものSpeaker : @AtriaSoft
• PC/タブレット/スマートフォンでアクセス可能なデザイン• コマンドを打つことで情報にアクセスできる• なによりハッカーっぽい– かっこいい– 触っていて楽しい– 作っていて楽しいCUI風ポートフォリオSpeaker : @AtriaSoft
• 制作作品の絞り込み• 色変更• コンソールのクリア• コマンドのハイライト• ↑↓キーで過去の入力にアクセス• ほか色々な遊び心色々な機能Speaker : @AtriaSoft
Worksコマンド(1)→そのまま入力ですべての作品を表示するコマンドの一部紹介[works]Speaker : @AtriaSoft
Worksコマンド(2)→works {言語名} で、その言語で作られた作品のみ抽出するコマンドの一部紹介[works]Speaker : @AtriaSoft
changecolor {target} {color}でコンソールの色変更も可能コマンドの一部紹介[changecolor]Speaker : @AtriaSoft
デモhttps://atria64.github.io/CUIPortfolio/Speaker : @AtriaSoft
技育(Geek)的な話Speaker : @AtriaSoft
全体で使っている技術
Speaker : @AtriaSoftBlazorとは
BlazorSpeaker : @AtriaSoftC# でSPA開発ができる今熱いフレームワーク!• オープンソースのフレームワーク• かなり新しい技術(Blazor WebAssemblyは今年5月正式リリース)• フロントエンド、バックエンドをC#で一貫して書ける• 豊富な.NET資産を使える(多くのライブラリやNuGet)
• オープンソースのフレームワーク• かなり新しい技術(Blazor WebAssemblyは今年5月正式リリース)• フロントエンド、バックエンドをC#で一貫して書ける• 豊富な.NET資産を使える(多くのライブラリやNuGet)BlazorSpeaker : @AtriaSoftC# でSPA開発ができる今熱いフレームワーク!シングルページアプリケーション(Single Page Application)単一のWebページでアプリケーションを構成する設計構造の名称「なんかいい感じのやつ」と捉えておけばいいと思います
[特徴1] Blazorで用いる構文(Razor構文)• C#とhtml/cssの融合系• “@”を起点としてC#コードを混ぜて記述できる• 条件分岐や繰り返しはお手のもの• ラムダ式だって使えちゃう• 慣れるとめちゃくちゃ便利Speaker : @AtriaSoft
[特徴2] JavaScriptをC#から呼び出せる• "JavaScript 相互運用"• C#からJSを呼べるため複雑な処理にも耐えうる• これによりp5.jsなどのJSライブラリを呼び出せるInvoke!Speaker : @AtriaSoft
[特徴3] C#でフルスタック開発できる• “基本的に”処理部分をすべてC#で実現できる• 言語が統一されているため開発が非常に楽• Microsoft Azureとの相性が良い場合が多いYES!ALL C#!!Speaker : @AtriaSoft
全体で使っている技術Speaker : @AtriaSoft
GitHubの機能の1つ予め定義したビルド・テスト・デプロイなどを行えるGitHub ActionsSpeaker : @AtriaSoft
GitHub PagesSpeaker : @AtriaSoft• GitHubがユーザーに提供するホスティングサービス• 静的なウェブページをデプロイできる• なんと無料!(技術で遊びたい学生に優しい)
快適な作業環境を作るためにSpeaker : @AtriaSoft
Issueの管理・運用Issue Templateを用いてIssueを爆速で立てるSpeaker : @AtriaSoft
プロジェクト名/.github/ISSUE_TEMPLATEに配置することで使用できるIssue Template(1)Speaker : @AtriaSoft
Issueを立てるときにボタンから用途に合わせてテンプレートを選択できるIssue Template(2)Speaker : @AtriaSoft
Issueを立てるときに考えることを減らし開発に専念することができるIssue Template(3)Speaker : @AtriaSoft
GitHub Projectsを用いて進捗を管理するGitHub Projectsを導入し、快適な開発環境を作り出すSpeaker : @AtriaSoft
GitHubの機能の1つ進捗管理を簡単化してくれるGitHub Projects(1)Speaker : @AtriaSoft
自分が今やるべきことを可視化できる「次に何をすればよいのだろう」という迷いが消えるGitHub Projects(2)Speaker : @AtriaSoft
いろいろなものを使ったSpeaker : @AtriaSoftInvoke!
たのしいSpeaker : @AtriaSoftInvoke!
• ディレクトリ概念の追加– ls,cd,cat叩きたいよね• ジョーク機能の追加– slっていうLinuxコマンド作りたい• アニメーションの強化– 色々アニメーションさせて動かしたい!今後のCUI風ポートフォリオSpeaker : @AtriaSoft