SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
アルゴリズムとデータ構造

  2011.10.7(WEB用)
授業の概要
• コンピュータの中でさまざまの仕事をしているの
  は,その中で走っているプログラムです。

• その際に,データをどのような手順で処理すれ
  ばよいのかをまとめたのがアルゴリズムです。

• 本講義ではプログラミングの入門から始めて,
  初歩的なアルゴリズムを理解することを目標とし
  ています。
講義内容
1章: プログラミング入門
2章: プログラミングの基礎知識
3章: 条件判断
4章: ループと配列
5章: 基本的なアルゴリズム

      Ruby プログラミング
           +
  基本的なコマンド操作や情報学の知識
授業の流れについて
• ポイントを説明した後、作業をしながら覚えていくの
  で、最初はしっかり話を聞いてください。

• 講義スライドは授業後ウェブ上にアップするので、
  復習用に参照してください。

• わからないことがあれば遠慮なく、その場で聞いて
  下さい。

• KWIINS CLASS 掲示版、メールでの質問も積極的に
事前確認
• Cygwin のインストール & 設定

• Ruby のインストール

• Meadow のインストール & 設定
今日の内容
• Cygwin上でコマンド操作してみる
  (基本コマンドその1、2、3)

• ディレクトリ構造とパス

• GUIとCUI
Cygwin

                      Cygwinを起動した時
                      に出てくる画面を
プロンプト                 シェル画面、もしくは
                      コンソールと呼ぶ


                      カーソルの前の部分
                      はプロンプトと呼ば
                      れコンピューターが
                      命令を待っている
                      状態を表している

    シェル画面(コンソール)
Cygwin

←コマンド            プロンプトの横に コ
←出力              マンドを打って コン
                 ピューターに 命令
                 をしている


                 2行目はコンピュー
                 ターからの応答が
                 表示され出力と呼
                 ばれる
Cygwin基本コマンド 1
ls: ディレクトリ内のファイル・ディレクトリ名をリスト表示
 ~/02:01:10> ls




pwd: 現在いる場所(ディレクトリのパス)を表示
 ~/02:01:10> pwd
 /cygdrive/c/home
ここで一旦コンピューターの
  内部についてお話
ファイルとフォルダ
• コンピューター内に記憶されているデータは
  基本的にファイルとディレクトリ(フォルダ)の
  2種類


      ファイル    ディレクトリ


• これらはツリー構造によって階層的に整理
  されている(以下、ディレクトリ構造と呼ぶ)
Windowsのディレクトリ構造
                  E:¥                             C:¥                D:¥



          Program Files                     Doc. and Set.           Windows




Firefox               MS Office       All Users             Yumi     Fonts    Task




                                  My Documents              お気に入り   デスクトップ
Windowsのディレクトリ構造
                   E:¥                             C:¥                D:¥



           Program Files                     Doc. and Set.           Windows




 Firefox               MS Office       All Users             Yumi     Fonts    Task




                                   My Documents              お気に入り   デスクトップ




パス(Path) = C:¥Documents and Settings¥Yumi¥My Documents
ホームディレクトリ
              C:¥


                 *
              home


                 ↑
         Cygwin を起動した時に
            最初に居る場所


シェルを立ち上げた時の一番最初に居る
           ディレクトリをホームディレクトリと呼ぶ
Cygwinにおけるディレクトリ構造
                /cygdrive/c


                      *
                   home




Cygwin 内ではパスの表しかたが少し異なる

Cドライブは   /cygdrive/c と表され、
 ディレクトリ構造は ¥ ではなく / (スラッシュ) を使って表される

ホームディレクトリのパスは      /cygdrive/c/home
Cygwin基本コマンド 2
mkdir: 指定した名前でディレクトリを作成
  ~/02:01:10> mkdir abc   ← abc ディレクトリを作成


                     スペース一個分空ける

rmdir: 指定した名前のディレクトリを削除
  ~/02:01:10> rmdir abc   ← abc ディレクトリを削除

(ただし、ディレクトリの中にファイルが存在する場合は
             rmdir コマンドでは削除できないので注意)
Cygwin基本コマンド 2
mkdir: 指定した名前でディレクトリを作成
  ~/02:01:10> mkdir abc

                          引数

mkdir や rmdir のように、コマンドの後に入力する値を
引数と呼ぶ。

コマンドによっては引数を必要としなかったり、複数の
引数を必要とするものもある
練習1
                     home




               abc          xyz




mkdir コマンドを使って “abc” と “xyz” というディレクトリを作成し
ls コマンドを使ってディレクトリが作成されたか確認しなさい。

確認が出来たら、rmdir コマンドを使って”xyz”ディレクトリのみ
削除し、再び ls コマンドを使って確認しなさい。
コマンドオプション
ls: ディレクトリ内のファイル・フォルダ名をリスト表示
 ~/02:01:10> ls -a
 ./ ../ .bashrc* .emacs* .emacs.d

                    オプション
lsコマンドのあとに ”-a” を付け足して実行すると、隠しファイル
(ファイル名が . から始まるファイル)を含めて表示される。

オプションは必ずハイフン “-”を使う(引数と区別するため)。

このように コマンドとオプションを組み合わせることで、コマンドの
細かい制御を行うことが出来ます。
コマンドオプション
        オプション     オプション名        オプションの意味

 > ls    -l     long format   詳細表示をする
         -a     all           隠しファイルも表示
         -t     time          作成日時順で並び替え
         -F     File          ファイルとフォルダを区別
         -r     reverse       逆順に並び替えて表示


各コマンドのオプションはたくさんありますが、必要なものだけを
覚えておけば大丈夫です(ls コマンドでは –l や –a オプションを
よく使います)。

複数のオプションを組み合わせて実行することも可能です。
(例: ls –al)
Cygwin基本コマンド 3
cd: 指定した名前(パス)のディレクトリへ移動
  ~/02:01:10> cd abc ← abc ディレクトリ へ移動
  ~/02:01:10> cd ~/  ←ホームディレクトリに移動
  ~/02:01:10> cd ../ ←ひとつ上のディレクトリに移動


~/ や ../ は特殊なディレクトリ名になります(詳しくは来週)

現在の居場所がわからならくなったら、とりあえず cd ~/ を実行
すれば、ホームディレクトリ(/cygdrive/c/home) に戻れます
練習2
                 home

             1


                  abc




cd コマンドを使って “abc” ディレクトリに移動し、
pwd コマンドを使って現在のディレクトリを確認しなさい。

次に 同じく cd コマンドを使って “home” ディレクトリに移動し、
pwdコマンドで確認しなさい
練習3
                home




               algo2011




 Oct     Nov              Dec   Jan




上のようなディレクトリ構造を作成しなさい。
GUI と CUI
   GUI (グラフィック)             CUI (コマンド)
                     ~/02:01:10>




左は普段見慣れているGUIでhome
ディレクトリに入っている状態

右はCygwin上で同じくhome
ディレクトリに入っている状態
GUI と CUI
   GUI (グラフィック)            CUI (コマンド)
                    ~/02:01:10> pwd
                    /cygdrive/c/home




pwdコマンドを使うと、現在の自分
の居場所を表示してくれる
GUI と CUI
   GUI (グラフィック)              CUI (コマンド)
                      ~/02:01:10> pwd
                      /cygdrive/c/home
                      ~/02:01:10> ls
                      ~/02:01:10>
                               ↑
                        Homeディレクトリ内には
                        何もないので何も表示されない




lsコマンドを使うと、現在のディレクト
リの中にある別のディレクトリやファ
イル名が表示される
GUI と CUI
   GUI (グラフィック)               CUI (コマンド)
                       ~/02:01:10> pwd
                       /cygdrive/c/home
                       ~/02:01:10> ls
                       ~/02:01:10> mkdir algo2011
                                     ↑
                             新しく作成するディレクトリ名を
                             引数として渡す




mkdirコマンドを使うと、現在のディレ
クトリ内に新規のディレクトリが作成
される
GUI と CUI
    GUI (グラフィック)                 CUI (コマンド)
                          ~/02:01:10> pwd
                          /cygdrive/c/home
                          ~/02:01:10> ls
                          ~/02:01:10> mkdir algo2011
                          ~/02:01:10> ls
                          algo2011




再びlsコマンド実行
作成した”algo2011” ディレクトリ名が
表示される
GUI と CUI
    GUI (グラフィック)              CUI (コマンド)
                       ~/02:01:10> pwd
                       /cygdrive/c/home
                       ~/02:01:10> ls
                       ~/02:01:10> mkdir algo2011
                       ~/02:01:10> ls
                       algo2011
                       ~/02:01:10> cd algo2011
                                      ↑
                                  移動先のフォルダ名を
                                  引数として渡す

次に”algo2011”ディレクトリ中へ
cd コマンドで移動する
GUI と CUI
   GUI (グラフィック)          CUI (コマンド)
                  ~/02:01:10> pwd
                  /cygdrive/c/home
                  ~/02:01:10> ls
                  ~/02:01:10> mkdir algo2011
                  ~/02:01:10> ls
                  algo2011
                  ~/02:01:10> cd algo2011
                  ~/02:01:10> pwd
                  /cygdrive/c/home/algo2011


pwdでパスを確認
GUI と CUI
   GUI (グラフィック)               CUI (コマンド)
                       ~/02:01:10> pwd
                       /cygdrive/c/home
                       ~/02:01:10> ls
                       ~/02:01:10> mkdir algo2011
                       ~/02:01:10> ls
                       algo2011
                       ~/02:01:10> cd algo2011
                       ~/02:01:10> pwd
                       /cygdrive/c/home/algo2011
                       ~/02:01:10> mkdir Oct Nov Dec Jan
mkdirでディレクトリを作成

Contenu connexe

Tendances

Webサーバ勉強会_#1_108-114:ログとか
Webサーバ勉強会_#1_108-114:ログとかWebサーバ勉強会_#1_108-114:ログとか
Webサーバ勉強会_#1_108-114:ログとかDai Utsui
 
Jailが起動しないので調査してみた
Jailが起動しないので調査してみたJailが起動しないので調査してみた
Jailが起動しないので調査してみたToshinori Hayashi
 
はじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvpsはじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvpsAtsuhiro Takiguchi
 
菩薩でもわかる!Rで動かすExcelアドインの作り方
 菩薩でもわかる!Rで動かすExcelアドインの作り方  菩薩でもわかる!Rで動かすExcelアドインの作り方
菩薩でもわかる!Rで動かすExcelアドインの作り方 Nagi Teramo
 
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜHUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜbasicinc_dev
 
20120516 第7回ウフィカ社内ハンズオン Git基礎
20120516 第7回ウフィカ社内ハンズオン Git基礎20120516 第7回ウフィカ社内ハンズオン Git基礎
20120516 第7回ウフィカ社内ハンズオン Git基礎Makoto Yamazaki
 
【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例Hirokazu Yatsunami
 
アラートメールの運用
アラートメールの運用アラートメールの運用
アラートメールの運用Ryo Miyake
 
CMS時代のバックアップノウハウを身につけよう!
CMS時代のバックアップノウハウを身につけよう!CMS時代のバックアップノウハウを身につけよう!
CMS時代のバックアップノウハウを身につけよう!Takashi Uemura
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西Masahide Yamamoto
 
TensorFlowの導入
TensorFlowの導入TensorFlowの導入
TensorFlowの導入yuf yufkky
 
iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults)
iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults)iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults)
iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults)聡 大久保
 
Ubuntuで始めるコンテナ技術入門
Ubuntuで始めるコンテナ技術入門Ubuntuで始めるコンテナ技術入門
Ubuntuで始めるコンテナ技術入門Takenori Matsumoto
 
OpenIndiana vWire Demo (Japanese)
OpenIndiana vWire Demo (Japanese)OpenIndiana vWire Demo (Japanese)
OpenIndiana vWire Demo (Japanese)Shoji Haraguchi
 
バックアップに一番いいファイルシステムを頼む
バックアップに一番いいファイルシステムを頼むバックアップに一番いいファイルシステムを頼む
バックアップに一番いいファイルシステムを頼むKenichiro MATOHARA
 

Tendances (20)

Webサーバ勉強会_#1_108-114:ログとか
Webサーバ勉強会_#1_108-114:ログとかWebサーバ勉強会_#1_108-114:ログとか
Webサーバ勉強会_#1_108-114:ログとか
 
Jailが起動しないので調査してみた
Jailが起動しないので調査してみたJailが起動しないので調査してみた
Jailが起動しないので調査してみた
 
01 php7
01   php701   php7
01 php7
 
はじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvpsはじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvps
 
菩薩でもわかる!Rで動かすExcelアドインの作り方
 菩薩でもわかる!Rで動かすExcelアドインの作り方  菩薩でもわかる!Rで動かすExcelアドインの作り方
菩薩でもわかる!Rで動かすExcelアドインの作り方
 
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜHUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
 
20120516 第7回ウフィカ社内ハンズオン Git基礎
20120516 第7回ウフィカ社内ハンズオン Git基礎20120516 第7回ウフィカ社内ハンズオン Git基礎
20120516 第7回ウフィカ社内ハンズオン Git基礎
 
【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例
 
Nginx lua
Nginx luaNginx lua
Nginx lua
 
アラートメールの運用
アラートメールの運用アラートメールの運用
アラートメールの運用
 
Slub data structure
Slub data structureSlub data structure
Slub data structure
 
CMS時代のバックアップノウハウを身につけよう!
CMS時代のバックアップノウハウを身につけよう!CMS時代のバックアップノウハウを身につけよう!
CMS時代のバックアップノウハウを身につけよう!
 
fluentd
fluentdfluentd
fluentd
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 
Nio2
Nio2Nio2
Nio2
 
TensorFlowの導入
TensorFlowの導入TensorFlowの導入
TensorFlowの導入
 
iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults)
iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults)iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults)
iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults)
 
Ubuntuで始めるコンテナ技術入門
Ubuntuで始めるコンテナ技術入門Ubuntuで始めるコンテナ技術入門
Ubuntuで始めるコンテナ技術入門
 
OpenIndiana vWire Demo (Japanese)
OpenIndiana vWire Demo (Japanese)OpenIndiana vWire Demo (Japanese)
OpenIndiana vWire Demo (Japanese)
 
バックアップに一番いいファイルシステムを頼む
バックアップに一番いいファイルシステムを頼むバックアップに一番いいファイルシステムを頼む
バックアップに一番いいファイルシステムを頼む
 

En vedette

競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系tmaehara
 
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]hixi365
 
5分で分か(った気にな)る人工知能入門
5分で分か(った気にな)る人工知能入門5分で分か(った気にな)る人工知能入門
5分で分か(った気にな)る人工知能入門尚行 坂井
 
iosアプリ開発〜学習が開花して理解したこと〜
iosアプリ開発〜学習が開花して理解したこと〜iosアプリ開発〜学習が開花して理解したこと〜
iosアプリ開発〜学習が開花して理解したこと〜Naoki Numajiri
 
ディープラーニングが活かすIoT
ディープラーニングが活かすIoTディープラーニングが活かすIoT
ディープラーニングが活かすIoTPreferred Networks
 
人工知能の概論の概論と セキュリティへの応用(的な~(改)
人工知能の概論の概論とセキュリティへの応用(的な~(改)人工知能の概論の概論とセキュリティへの応用(的な~(改)
人工知能の概論の概論と セキュリティへの応用(的な~(改)Typhon 666
 
ディープラーニングの最新動向
ディープラーニングの最新動向ディープラーニングの最新動向
ディープラーニングの最新動向Preferred Networks
 

En vedette (8)

アルゴリズムとデータ構造(初歩)
アルゴリズムとデータ構造(初歩)アルゴリズムとデータ構造(初歩)
アルゴリズムとデータ構造(初歩)
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系
 
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]
 
5分で分か(った気にな)る人工知能入門
5分で分か(った気にな)る人工知能入門5分で分か(った気にな)る人工知能入門
5分で分か(った気にな)る人工知能入門
 
iosアプリ開発〜学習が開花して理解したこと〜
iosアプリ開発〜学習が開花して理解したこと〜iosアプリ開発〜学習が開花して理解したこと〜
iosアプリ開発〜学習が開花して理解したこと〜
 
ディープラーニングが活かすIoT
ディープラーニングが活かすIoTディープラーニングが活かすIoT
ディープラーニングが活かすIoT
 
人工知能の概論の概論と セキュリティへの応用(的な~(改)
人工知能の概論の概論とセキュリティへの応用(的な~(改)人工知能の概論の概論とセキュリティへの応用(的な~(改)
人工知能の概論の概論と セキュリティへの応用(的な~(改)
 
ディープラーニングの最新動向
ディープラーニングの最新動向ディープラーニングの最新動向
ディープラーニングの最新動向
 

Similaire à 2011年10月7日

Docker実践入門
Docker実践入門Docker実践入門
Docker実践入門hiro nemu
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspecTsuyoshi Yamada
 
Docker handson
Docker handsonDocker handson
Docker handsonkoda3
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Yuichi Ito
 
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Naoki Nagazumi
 
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法Masahito Zembutsu
 
Dockerハンズオン
DockerハンズオンDockerハンズオン
DockerハンズオンKazuyuki Mori
 
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作アシアル株式会社
 
Newcomer2020 Docker研修
Newcomer2020 Docker研修Newcomer2020 Docker研修
Newcomer2020 Docker研修Suguru Yazawa
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Masahiro Nagano
 
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションDocker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションMasahito Zembutsu
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Masahito Zembutsu
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作Yuki Okamoto
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもんMasahito Zembutsu
 
黒い画面入門
黒い画面入門黒い画面入門
黒い画面入門Komhiro
 

Similaire à 2011年10月7日 (20)

Docker社内勉強会
Docker社内勉強会Docker社内勉強会
Docker社内勉強会
 
Docker実践入門
Docker実践入門Docker実践入門
Docker実践入門
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspec
 
Docker やってみた
Docker やってみたDocker やってみた
Docker やってみた
 
Dockerと継続的インテグレーション
Dockerと継続的インテグレーションDockerと継続的インテグレーション
Dockerと継続的インテグレーション
 
Docker handson
Docker handsonDocker handson
Docker handson
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
 
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
 
Cross Platform Make
Cross Platform MakeCross Platform Make
Cross Platform Make
 
Dockerハンズオン
DockerハンズオンDockerハンズオン
Dockerハンズオン
 
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
 
Newcomer2020 Docker研修
Newcomer2020 Docker研修Newcomer2020 Docker研修
Newcomer2020 Docker研修
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションDocker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
 
黒い画面入門
黒い画面入門黒い画面入門
黒い画面入門
 

Plus de nukaemon

2012年1月20日
2012年1月20日2012年1月20日
2012年1月20日nukaemon
 
2012年1月13日
2012年1月13日2012年1月13日
2012年1月13日nukaemon
 
2011年12月16日
2011年12月16日2011年12月16日
2011年12月16日nukaemon
 
2011年12月9日
2011年12月9日2011年12月9日
2011年12月9日nukaemon
 
2011年12月2日
2011年12月2日2011年12月2日
2011年12月2日nukaemon
 
2011年11月25日
2011年11月25日2011年11月25日
2011年11月25日nukaemon
 
2011年11月18日
2011年11月18日2011年11月18日
2011年11月18日nukaemon
 
2011年11月11日
2011年11月11日2011年11月11日
2011年11月11日nukaemon
 
2011年10月28日
2011年10月28日2011年10月28日
2011年10月28日nukaemon
 
2011年10月21日
2011年10月21日2011年10月21日
2011年10月21日nukaemon
 
2011年10月14日
2011年10月14日2011年10月14日
2011年10月14日nukaemon
 

Plus de nukaemon (11)

2012年1月20日
2012年1月20日2012年1月20日
2012年1月20日
 
2012年1月13日
2012年1月13日2012年1月13日
2012年1月13日
 
2011年12月16日
2011年12月16日2011年12月16日
2011年12月16日
 
2011年12月9日
2011年12月9日2011年12月9日
2011年12月9日
 
2011年12月2日
2011年12月2日2011年12月2日
2011年12月2日
 
2011年11月25日
2011年11月25日2011年11月25日
2011年11月25日
 
2011年11月18日
2011年11月18日2011年11月18日
2011年11月18日
 
2011年11月11日
2011年11月11日2011年11月11日
2011年11月11日
 
2011年10月28日
2011年10月28日2011年10月28日
2011年10月28日
 
2011年10月21日
2011年10月21日2011年10月21日
2011年10月21日
 
2011年10月14日
2011年10月14日2011年10月14日
2011年10月14日
 

2011年10月7日

  • 2. 授業の概要 • コンピュータの中でさまざまの仕事をしているの は,その中で走っているプログラムです。 • その際に,データをどのような手順で処理すれ ばよいのかをまとめたのがアルゴリズムです。 • 本講義ではプログラミングの入門から始めて, 初歩的なアルゴリズムを理解することを目標とし ています。
  • 3. 講義内容 1章: プログラミング入門 2章: プログラミングの基礎知識 3章: 条件判断 4章: ループと配列 5章: 基本的なアルゴリズム Ruby プログラミング + 基本的なコマンド操作や情報学の知識
  • 4. 授業の流れについて • ポイントを説明した後、作業をしながら覚えていくの で、最初はしっかり話を聞いてください。 • 講義スライドは授業後ウェブ上にアップするので、 復習用に参照してください。 • わからないことがあれば遠慮なく、その場で聞いて 下さい。 • KWIINS CLASS 掲示版、メールでの質問も積極的に
  • 5. 事前確認 • Cygwin のインストール & 設定 • Ruby のインストール • Meadow のインストール & 設定
  • 6. 今日の内容 • Cygwin上でコマンド操作してみる (基本コマンドその1、2、3) • ディレクトリ構造とパス • GUIとCUI
  • 7. Cygwin Cygwinを起動した時 に出てくる画面を プロンプト シェル画面、もしくは コンソールと呼ぶ カーソルの前の部分 はプロンプトと呼ば れコンピューターが 命令を待っている 状態を表している シェル画面(コンソール)
  • 8. Cygwin ←コマンド プロンプトの横に コ ←出力 マンドを打って コン ピューターに 命令 をしている 2行目はコンピュー ターからの応答が 表示され出力と呼 ばれる
  • 9. Cygwin基本コマンド 1 ls: ディレクトリ内のファイル・ディレクトリ名をリスト表示 ~/02:01:10> ls pwd: 現在いる場所(ディレクトリのパス)を表示 ~/02:01:10> pwd /cygdrive/c/home
  • 11. ファイルとフォルダ • コンピューター内に記憶されているデータは 基本的にファイルとディレクトリ(フォルダ)の 2種類 ファイル ディレクトリ • これらはツリー構造によって階層的に整理 されている(以下、ディレクトリ構造と呼ぶ)
  • 12. Windowsのディレクトリ構造 E:¥ C:¥ D:¥ Program Files Doc. and Set. Windows Firefox MS Office All Users Yumi Fonts Task My Documents お気に入り デスクトップ
  • 13. Windowsのディレクトリ構造 E:¥ C:¥ D:¥ Program Files Doc. and Set. Windows Firefox MS Office All Users Yumi Fonts Task My Documents お気に入り デスクトップ パス(Path) = C:¥Documents and Settings¥Yumi¥My Documents
  • 14. ホームディレクトリ C:¥ * home ↑ Cygwin を起動した時に 最初に居る場所 シェルを立ち上げた時の一番最初に居る ディレクトリをホームディレクトリと呼ぶ
  • 15. Cygwinにおけるディレクトリ構造 /cygdrive/c * home Cygwin 内ではパスの表しかたが少し異なる Cドライブは /cygdrive/c と表され、 ディレクトリ構造は ¥ ではなく / (スラッシュ) を使って表される ホームディレクトリのパスは /cygdrive/c/home
  • 16. Cygwin基本コマンド 2 mkdir: 指定した名前でディレクトリを作成 ~/02:01:10> mkdir abc ← abc ディレクトリを作成 スペース一個分空ける rmdir: 指定した名前のディレクトリを削除 ~/02:01:10> rmdir abc ← abc ディレクトリを削除 (ただし、ディレクトリの中にファイルが存在する場合は rmdir コマンドでは削除できないので注意)
  • 17. Cygwin基本コマンド 2 mkdir: 指定した名前でディレクトリを作成 ~/02:01:10> mkdir abc 引数 mkdir や rmdir のように、コマンドの後に入力する値を 引数と呼ぶ。 コマンドによっては引数を必要としなかったり、複数の 引数を必要とするものもある
  • 18. 練習1 home abc xyz mkdir コマンドを使って “abc” と “xyz” というディレクトリを作成し ls コマンドを使ってディレクトリが作成されたか確認しなさい。 確認が出来たら、rmdir コマンドを使って”xyz”ディレクトリのみ 削除し、再び ls コマンドを使って確認しなさい。
  • 19. コマンドオプション ls: ディレクトリ内のファイル・フォルダ名をリスト表示 ~/02:01:10> ls -a ./ ../ .bashrc* .emacs* .emacs.d オプション lsコマンドのあとに ”-a” を付け足して実行すると、隠しファイル (ファイル名が . から始まるファイル)を含めて表示される。 オプションは必ずハイフン “-”を使う(引数と区別するため)。 このように コマンドとオプションを組み合わせることで、コマンドの 細かい制御を行うことが出来ます。
  • 20. コマンドオプション オプション オプション名 オプションの意味 > ls -l long format 詳細表示をする -a all 隠しファイルも表示 -t time 作成日時順で並び替え -F File ファイルとフォルダを区別 -r reverse 逆順に並び替えて表示 各コマンドのオプションはたくさんありますが、必要なものだけを 覚えておけば大丈夫です(ls コマンドでは –l や –a オプションを よく使います)。 複数のオプションを組み合わせて実行することも可能です。 (例: ls –al)
  • 21. Cygwin基本コマンド 3 cd: 指定した名前(パス)のディレクトリへ移動 ~/02:01:10> cd abc ← abc ディレクトリ へ移動 ~/02:01:10> cd ~/ ←ホームディレクトリに移動 ~/02:01:10> cd ../ ←ひとつ上のディレクトリに移動 ~/ や ../ は特殊なディレクトリ名になります(詳しくは来週) 現在の居場所がわからならくなったら、とりあえず cd ~/ を実行 すれば、ホームディレクトリ(/cygdrive/c/home) に戻れます
  • 22. 練習2 home 1 abc cd コマンドを使って “abc” ディレクトリに移動し、 pwd コマンドを使って現在のディレクトリを確認しなさい。 次に 同じく cd コマンドを使って “home” ディレクトリに移動し、 pwdコマンドで確認しなさい
  • 23. 練習3 home algo2011 Oct Nov Dec Jan 上のようなディレクトリ構造を作成しなさい。
  • 24. GUI と CUI GUI (グラフィック) CUI (コマンド) ~/02:01:10> 左は普段見慣れているGUIでhome ディレクトリに入っている状態 右はCygwin上で同じくhome ディレクトリに入っている状態
  • 25. GUI と CUI GUI (グラフィック) CUI (コマンド) ~/02:01:10> pwd /cygdrive/c/home pwdコマンドを使うと、現在の自分 の居場所を表示してくれる
  • 26. GUI と CUI GUI (グラフィック) CUI (コマンド) ~/02:01:10> pwd /cygdrive/c/home ~/02:01:10> ls ~/02:01:10> ↑ Homeディレクトリ内には 何もないので何も表示されない lsコマンドを使うと、現在のディレクト リの中にある別のディレクトリやファ イル名が表示される
  • 27. GUI と CUI GUI (グラフィック) CUI (コマンド) ~/02:01:10> pwd /cygdrive/c/home ~/02:01:10> ls ~/02:01:10> mkdir algo2011 ↑ 新しく作成するディレクトリ名を 引数として渡す mkdirコマンドを使うと、現在のディレ クトリ内に新規のディレクトリが作成 される
  • 28. GUI と CUI GUI (グラフィック) CUI (コマンド) ~/02:01:10> pwd /cygdrive/c/home ~/02:01:10> ls ~/02:01:10> mkdir algo2011 ~/02:01:10> ls algo2011 再びlsコマンド実行 作成した”algo2011” ディレクトリ名が 表示される
  • 29. GUI と CUI GUI (グラフィック) CUI (コマンド) ~/02:01:10> pwd /cygdrive/c/home ~/02:01:10> ls ~/02:01:10> mkdir algo2011 ~/02:01:10> ls algo2011 ~/02:01:10> cd algo2011 ↑ 移動先のフォルダ名を 引数として渡す 次に”algo2011”ディレクトリ中へ cd コマンドで移動する
  • 30. GUI と CUI GUI (グラフィック) CUI (コマンド) ~/02:01:10> pwd /cygdrive/c/home ~/02:01:10> ls ~/02:01:10> mkdir algo2011 ~/02:01:10> ls algo2011 ~/02:01:10> cd algo2011 ~/02:01:10> pwd /cygdrive/c/home/algo2011 pwdでパスを確認
  • 31. GUI と CUI GUI (グラフィック) CUI (コマンド) ~/02:01:10> pwd /cygdrive/c/home ~/02:01:10> ls ~/02:01:10> mkdir algo2011 ~/02:01:10> ls algo2011 ~/02:01:10> cd algo2011 ~/02:01:10> pwd /cygdrive/c/home/algo2011 ~/02:01:10> mkdir Oct Nov Dec Jan mkdirでディレクトリを作成