Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プログラミングじゃない技術講座 その2
Search
stonriver
October 28, 2017
0
150
プログラミングじゃない技術講座 その2
その2だよ!
stonriver
October 28, 2017
Tweet
Share
More Decks by stonriver
See All by stonriver
中規模イベントに急造で変なネットワークを構築する
strvworks
1
750
並行処理入門 -Goで遊ぶ-
strvworks
0
220
ターミナル雑記
strvworks
2
1.2k
お手軽金盾体験
strvworks
1
690
Kosen_LT_ONLINEのおしらせ
strvworks
0
72
Minecraft概論
strvworks
0
300
日本列島の移動速度に関する考察
strvworks
1
120
PythonにおけるGUIフレームワークのはなし
strvworks
0
310
快適な読書環境のご提案
strvworks
0
110
Featured
See All Featured
KATA
mclloyd
29
14k
GraphQLとの向き合い方2022年版
quramy
44
13k
Gamification - CAS2011
davidbonilla
80
5.1k
Unsuck your backbone
ammeep
669
57k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Optimizing for Happiness
mojombo
376
70k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
97
Navigating Team Friction
lara
183
15k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
Transcript
プログラミングじゃない 技術講座 その2
実習室環境
授業でいつも利用して いる苫小牧高専の実習 室ですが、どんな構造 で成り立っているかご 存知ですか? ー実習室環境ー
ー実習室環境ー ︙ 学生用PC (Windows) jocalc (Linux) 相互通信 (SSH接続) サーバー クライアント
SSH接続については後述しま すが、超簡単に言うと、 「サーバーの画面情報を送っ てもらって表示する事で、遠 隔で別PCから作業できる」 ものです。 ー実習室環境ー
つまり、jocalcに保存されている 全ユーザーの情報に、TeraTermで SSH接続を行いアクセスしていま す。 つまり、WindowsPCでコンパイル をしたつもりの時、実際に動作し ているのは通信先のjocalcです。 ー実習室環境ー
では突然ですが、 実習室のような環境を皆さんのPC の中に一から構築してみましょ う。 ー実習室環境ー
趣旨でも述べましたが、実習室 の環境は「最低限度の開発環 境」的なきらいがあるので、あ の環境を作れば最低限の環境構 築技術が身につくと思われま す。 ー実習室環境ー
では、実習室環境を構 築する大まかな手順を 説明します。 ー実習室環境ー
1.仮想マシン作成 2.OSインストール 3.サーバー準備 4.各種ソフトセットアップ 5.接続 たったこれだけ!! ー実習室環境ー
1.仮想マシン作成
前提知識
仮想マシンとは? ー前提知識ー 仮想機械(かそうきかい、仮想 マシン、バーチャルマシン)と は、コンピュータの動作をエ ミュレートするソフトウェアや フレームワークである。 引用元:wikipedia 何言ってんの? 何言ってんの?
ー前提知識ー ※だいぶ省略してるし正確ではないよ! 正確で詳細な知識はそのうち習うかも? 通常のPC OS(Operating System) Hard Ware ハードはOS が動く場所
を提供 し、OSは ハードを制 御すること でPC全体が 成り立って います。
ー前提知識ー ※だいぶ省略してるし正確ではないよ! 正確で詳細な知識はそのうち習うかも? 仮想マシン 通常のPC 既に構築さ れているPC の上でソフ トウェアが ハードウェ
アのふりを すること で、その上 でOSを動か します。 仮想マシンソフトウェア 仮想OS
仮想マシンについて簡単に理解 していただけましたか? 今回は仮想マシンソフトウェア に、Oracle社開発のvirtualbox を利用します。 ー前提知識ー
作業!!
はじめにvirtualboxインストー ラをダウンロードページからダ ウンロードしてきます。 各自自分のPCに合ったものを選 択してください。わからない場 合質問してください。 ー作業ー
ダウンロードが終わったら、イ ンストーラを起動してインス トール完了まで進めてくださ い。ここでは特に注意点等あり ません。 ー作業ー
仮想マシンについて簡単に理解 していただけましたか? 今回は仮想マシンソフトウェア に、Oracle社開発のvirtualbox を利用します。 ー前提知識ー
これで仮想マシンを動かすこと はできますが、その上に仮想で 動かすOSを載せなければいけま せん。 ー前提知識ー
OSとは? ー前提知識ー OSとは、コンピュータ運用のた めに、ソフトウェアの中でも中 核的位置づけのシステムソフト ウェアである。通常、OSメー カーが組み上げたコンピュータ プログラムの集合として、作成 され提供されている。 by
うぃきぺでぃあ
〜要するに〜 僕らが作るようなソフトは、比較 的触りやすくされているOSとお話 をすれば良くて、OSに話を通して おけばOSがハードの制御はなんと かしてくれる。 OSはソフトウェアのリーダー。 ※説明は省略しry ー前提知識ー
皆さんご存知の通り、OSにはい くつか種類があります。 代表的なものを挙げると、 ー前提知識ー
面白いことに、代表的なOS たちは歴史的に深い深い関 係があるのでちょっと紹介 します。 ー前提知識ー
ー前提知識ー だいぶ変化しているけど、 実はみんな親戚
ー前提知識ー 誰だお前 誰だお前 Windowsだけは出自が異な り、Microsoft開発のMS-DOS というOSが原型です。
源流が異なることもあり、windowsと linuxは大きく異なる特徴を持ってい ます。 windowsは「誰でも使える」ことを目 標に開発されてきたため、「簡易性」 と引き換えに「自由度」が失われてい ます。また、詰め込み過ぎで重いで す。 ー前提知識ー
「管理や構築を複雑なツールに頼るシ ステムはエンドユーザにとって害にな るだろう。「複雑なシステムを隠そう とすれば、その結局もっと複雑なシス テムになってしまうのが落ちだ」。中 身を隠すための抽象化レイヤーは決し て良いものではない。その代わりに、 隠さないで済むように中身を設計すべ きなのだ。」 ーある格言ー
UNIX系とWindows、どちらが良いとは 一概に言い切れませんが、少なくとも 使い慣れた時どちらがエンジニアに とって有意に働くかというとUNIX系だ と思われます。 ただし、ゲーム制作や画像編集など、 一部の分野においてはWindowsが必要 となる事もあるため、適材適所です。 ー前提知識ー
今回の実習室環境構築プロ ジェクトでは、Linuxを利用 します。 ー前提知識ー
Linux 簡易解説
OSにも種類がありました が、Linuxはそれ単体で数え 切れないほどの種類があり ます。その種類のことを ディストリビューション (ディストロ)といいます。 ー前提知識ー
ではこちらも、代表的なものを 紹介していきます。 今から紹介するものの中から好 きなディストロを選んでもらう ので、それなりに聞いておいて ください。自分の推しのディス トロを是非発見してください。 ー前提知識ー
Linuxには系統があり、系統ご とに特徴が大きく違います。 ですので、系統ごとに紹介しま す。 ー前提知識ー
Debian系統
Debian系統の本流です。理想的なオープ ンソースの宣言をしており、古くから存 在している安定的なディストリビュー ションです。サーバーOS等にも利用され ます。次に紹介するubuntu等に比べると LinuxらしいLinuxです。 Debian
Debianから派生したディストロです。 ユーザーに優しいディストロとして評価 されており、Linuxにして直感的なGUIを 備えています。開発者向けというより は、誰にでも使いやすいLinuxといった 印象があります。ちょっと重い。 ubuntu
Ubuntuから派生したディストロで す。Ubuntuをさらにユーザーフレンド リーに改良したようなディストロです。 基本的にはUbuntuと同じなのでは。 見た目の好みでしょうか。 Linux Mint
超Mac OSリスペクトなディストロです。 これもUbuntu派生で、中身はUbuntuとそ こまで変わらない印象です。操作感が独 特でしたが、Macと同じものなのでしょ うか。見た目はやはり綺麗です。 Elementary OS
またまたUbuntu派生です。こちらは WindowsリスペクトなOSとなっておりま す。もう書くことが特にありません。 見た目ですね。 Zorin OS
・ユーザーフレンドリーを掲げているディスト ロが多く、初心者でもとっつきやすい。 ・そもそも開発者向けとかではないため、初期状 態の環境が開発に弱い(何も入っていないなら まだしも、半端なものが入っていたりして処理 が面倒) ・綺麗な見た目の環境を簡単に使いたい場合おす すめ。 ー前提知識ー Debian系統まとめ
RedHat系統
RedHat系統の本流です。RedHat社が開発 しており、サーバーOSとして有名です。 5万円くらいする有料Linuxです。手厚い サポートが受けられます。非常に安定し ていますが、最新技術を取り入れる開発 に使うものではありません。 redhat
redhatのクローンです。無料で使えます が、redhat社のサポートはありません。 redhatと同じく、使えるソフトを古く安 定したバージョンにしているため安定性 抜群ですが、更新されていく技術にはお いて行かれがち。サーバーOS。 CentOS
先進版CentOSと言った所でしょうか。最 新のソフトがどんどん取り入れられるた め、開発環境にはそれなりに向いている と思います。初心者にも優しいわかりや すい設計です。ここで安定と認められた ソフトがCentOSに降りていきます。 fedora
・どれもRedHat社が大きく関わったディストロ。 ・サーバーといったらCentOS(企業ならRedHat)と いうイメージがある程度には安定性がある。 ・fedoraはCentOSやredhatの実験所と言った一面 があるが、他の系統と比較すれば十分安定して いる。開発環境構築には向いていると思われ る。 ー前提知識ー RedHat系統まとめ
何にも属さぬ 独立者
僕の推しです。インストール時はほぼ何 も入っていないという脅威のディストロ です。GUI画面表示から無線LAN設定構築 まで全てを自分の手で行う必要がありま す。補助なしでは初心者にはきついディ ストロですが、 ArchLinux
ある程度理解して、全てを自分の手で構 築するのはとても楽しいです。また、強 固なユーザーコミュニティが存在し、エ ンドユーザ向けであるにもかかわらず大 量の情報が手に入ります。常に凄まじい 速度で最新バージョンのソフトを取り入 れており、無敵の開発環境を築けます。 (個人の意見です) 一方でうまく使わないと安定性が損なわ れるため、サーバーなどには一般には向
かないと言われています。
さて、各々で好きなディストロ を選んでみてください。 全員が選択し終えたら仮想環境 セットアップに移ります。 ー前提知識ー
おわり