Slide 1

Slide 1 text

#osc21do #javado !"#$%&'$%()*+,-./01123444056 789:;<=>?=@)A9B @gishi_yama 山川広人(公立千歳科学技術大学) 1

Slide 2

Slide 2 text

#osc21do #javado 公立千歳科学技術大学 情報システム工学科 専任講師 R&D: Experimental Development of ICT Systems (ex: City-Bus Tacking System) Computer in Education, Programming and Programmer's Learning :C?;D;0EFGFHFIFJ0KLCMNCOPQ

Slide 3

Slide 3 text

#osc21do #javado RSTUVWXYZ0['\]^_`$abc,0defgh0ij09klbmn1opqrso 3 2時間半の内容が60分にぎゅっと凝縮されています

Slide 4

Slide 4 text

#osc21do #javado !"#$%&'$%($0tun1r5.vw 789xyz,{+B 4

Slide 5

Slide 5 text

#osc21do #javado "... a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer's operating system in a consistent manner." -- Wikipedia (en) 一貫した方法(コマンド等)で OSへのプログラムの導入、更新、設定、削除を自動化するソフトウェアツール集 (いわゆる ports, yum, apt-get... など) 何かソフトウェアを導入したい時に(ライブラリなどの依存関係や設定も自動的に含めて) 使えるようにしてくれる !"#$%&'$%($|} 5 $ ./con„gure [様々なオプション] $ make $ make install 以後、パス通して、設定書いて... 〈私とパッケージマネージャーの出会い(2000年頃)〉 $ apt-get install hoge Debian 3.0 (Woody) 必要なものを一つ一つmakeしていた時代 ✖n 😮 えっ、何これ 気持ち悪 すごく便利!

Slide 6

Slide 6 text

#osc21do #javado ~•p|€c•xy‚ƒt„6…€w †‡|ˆtun•1‰ˆŠ‹Œv‰|1•Žƒw 7•9•1‘’./B“” 6 ※Linuxユーザーには常識的だけれども、mac/Windowsユーザはそうでもない?  (アプリストアやインストーラーが王道?)

Slide 7

Slide 7 text

#osc21do #javado •–—9˜™2”tun6šGQ›0:;<=>?=@0w 7|œ˜•œICžŸ;@M0 N;›;¡QD=PB)A9œw ¢+,£h‚0¤¥¥¦0so1 7

Slide 8

Slide 8 text

#osc21do #javado 1.(右も左も分からない初学者でも) 間違えずに、欲しいソフトウェアを設定できる 2.自分専用のリポジトリも追加して、 独自の環境も自動的に・何度も作れる 3.OSSコントリビューションの入り口にもなる !"#$%&'$%($}œ§c•¢+,-‚0¤¥¥¦¨ 8

Slide 9

Slide 9 text

#osc21do #javado パッケージマネージャーを使えば、 インストーラーの他に依存関係や設定が必要なソフトウェアであっても、 一行書くだけでインストールできる(つまり、王道の使い方) 初心者が意外と怖がったりできなかったりする PATH の設定なども自動化してくれる 「インストールしたけど command not found になります!」 「システム環境変数?パス?何書けばいいの?」(そしてTypoする) というぐらいの初学者であっても、パッケージマネージャーが設定してくれる (...ことが多い。ダメでも大体「このコマンドを追加で使え!」って言ってくれる) j47©ƒªƒ«./•1¬-®‚ƒB¯°„±9²³´µ,¶·{¸¹)‚q6 9 // Javaの環境がほしいな $ brew install java11 // goの環境がほしいな $ brew install go // visual studio code がほしいな $ brew install visual-studio-code Homebrew(Mac) // Javaの環境がほしいな > choco install jdk11 // goの環境がほしいな > choco install golang // visual studio code がほしいな > choco install VisualStudioCode Chocolatey(Windows)

Slide 10

Slide 10 text

#osc21do #javado 最新版に更新したいときも、コマンド1行でまとめてやってくれる フォントやドライバも同じコマンドでインストールできる (ダウンロード先: リポジトリを事前追加する必要があることも) 10 // インストールしたのを全部最新版にしたいな $ brew upgrade Homebrew(Mac) // インストールしたのを全部最新版にしたいな > choco upgrade all Chocolatey(Windows) // Notoフォントつかいたいな $ brew tap homebrew/cask-fonts $ brew install font-noto-sans-cjk-jp // Logicoolのマウスドライバもインストールしたいな $ brew tap homebrew/cask-drivers $ brew intall logitech-options Homebrew(Mac) Chocolatey(Windows) // Notoフォントつかいたいな > choco install Noto // Logicoolのマウスドライバもインストールしたいな > choco install logitech-options

Slide 11

Slide 11 text

#osc21do #javado 自分でリポジトリを用意することで、 独自の環境に必要なプログラムであっても、パッケージマネージャーで管理できるようになる たとえば Homebrewだと、Githubでリポジトリが簡単に作れる (追加したいプログラム用のインストール・削除スクリプトをpushするだけ) º4»«¼z,!"#$%)½¾snœ¿»,´µƒ»À—9ÁŠÂƒÃŒ6 11 // 独自に追加した沖データのプリンタドライバをインストール $ brew tap gishi-yama/homebrew-gy $ brew install oki_c332dnw

Slide 12

Slide 12 text

#osc21do #javado 自分で用意したリポジトリも含めて、コマンドリストやレシピ的なファイルを作っておけば、 新しいマシンに自動的に環境を用意できる 12 コマンドリストを作って、一度にすべて実行する Ansible などの構成管理ツールのレシピに 独自のリポジトリも追加して実行できる

Slide 13

Slide 13 text

#osc21do #javado 「このリポジトリ、まだ更新されていないな」 「このプログラム、リポジトリにないな」 というときに、リポジトリを更新・追加することでOSSに貢献できる ※パッケージマネージャによって審査の有無など異なるが、 Homebrewはハードル低め ¢40[Ä]ÅÆÇ$ÈÉÄ,ÊËÌ9ƒ•6 13

Slide 14

Slide 14 text

#osc21do #javado 14 (Homebrewの場合)コントリビューションの仕方も しっかりマニュアル化・システム化されている 指示に合わせてスクリプト書いて テストツール通して、 テスト結果と一緒に プルリクエスト これ抜けてるから 直してねという指示 コントリビューション完了!

Slide 15

Slide 15 text

#osc21do #javado 1.(右も左も分からない初学者こそ) 間違えずに、欲しいソフトウェアを設定できる 2.自分専用のリポジトリも追加して、 独自の環境も自動的に・何度も作れる 3.OSSコントリビューションの入り口にもなる 0r|Í7ÎÏBÐ!"#$%&'$%($}œ§c•¢+,-‚0¤¥¥¦¨ 15 ※Windowsの人も、Microsoftの公式パッケージマネージャ WinGet の正式版が   5月末に出たようなので、レッツトライ!