駆けだし技術のシマオカズ報告書

Unityのゲーム開発とアプリ開発、セキュリティ,WEB系のことなど

Ubuntu14.04にDockerをインストールしてみた

久しぶりの更新です。ちょっといろいろとかなり忙しかったので全く更新できなかった。

インターン先の会社でDockerを使うことになったので、自分のUbuntu14.04の環境での導入方法をメモ。

 

Dockerって何?って方は以下を参照。

www.atmarkit.co.jp

 

以下の二つを参考にインストール。

qiita.com

tracpath.com

 

 

 

wget -q0- https://get.docker.com/ | sh

 

https://get.docker.comを実際に見ればわかるが、シェルスクリプトが書かれていて、

apt-get update

apt-get install -y -q docker-engine

などが行われている。

 

以下で動作テストしてみる。

 

docker run hello-world

 

 

 

もし以下のようなエラーが出たらdockerが動いていないので、

docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.

以下でdockerを動かしてあげる。

 

/etc/init.d/docker restart

 

 

以下のようなのが出れば成功である。

 

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world

4276590986f6: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:a7d7a8c072a36adb60f5dc932dd5caba8831ab53cbf016bcdd6772b3fbe8c362
Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com

For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/

root@pt1311-ThinkPad-X230:/etc/default# exit
exit
pt1311@pt1311-ThinkPad-X230:/etc/default$ docker run hello-world

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com

For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/

 

 

次にdockerを動かすためにdockerグループに自分のユーザーを追加する。

 

sudo usermod -aG docker [追加したいユーザー名]

 

 

以下のコマンドで、Ubuntuのコンテナを作る。Ubuntu14.04が作られるはず。

docker run -i -t ubuntu /bin/bash

 

 

以下のようにシェルが立ち上がってログインできれば成功。自分の環境ではifconfigやら基本的なコマンドが入っていなかった。

 

root@<コンテナID>:/#

 

 

次回はDockerfileやら書くかもしれません。

オープンソースカンファレンス2015 Tokyo/Fallに行ってきた(1日目)

本日の24日に(投稿日だともう過ぎてる)、オープンソースカンファレンス2015 Tokyo/Fall に行ってきました。

会場は明星大学日野キャンパスです。

www.ospn.jp

 

以下、会場の様子を少し紹介。

ちなみに友達何人か誘ったけど、誰も興味なくて乗ってくれなかったせいか一人で行きました・・(ぼっち)

 

こちらは[html5j]さんからの出展。

f:id:Shimaokazu:20151025014852j:plain

f:id:Shimaokazu:20151025014919j:plain

こちらは最近流行りのHTML5。右側はHTML5のカメラのAPIで、映像を取得して表示している様子。

よく見ると写っている人間の周りに、火のような赤いものを纏っているように表示している。

自分も現在WEB系の会社にインターンで勤めているので、是非勉強しなければ。

 

 

こちらは、[株式会社アドックインターナショナル]さんによる出展。

f:id:Shimaokazu:20151025014938j:plain

OpenStackやSDN技術で、インフラ構築の実験をしているそうです。
写真は、Raspberry PiにOpenStackを入れたもの。

最近、ネットワークでSDNやらOpenFlowなどが出てきたが、正直いまいちよくわかっていないので、こちらも抑えておかなかれば。

やる事多すぎてきついです・・・

 

 

 

 

他にもいろいろと面白いブースがたくさんありましたが、多くなるのでこちらで割愛。

 

お次は個人的に特に面白かった講義をご紹介。

[Spark Streamingで作るつぶやき、つぶやきビックデーターのクローン]という講義。

 

こちらはApache Sparkを利用して、Twitterから特定のキーワードに関連するツイートを拾って、それらから一番トレンド(一番流行っているツイート)のものを抜き出して、Web上に表示するというサービス。

 

つまりは、某放送教会の[つぶやきビッグデータ]のことである。(ほとんどどこの放送局か言っている)

そして、これを作ってみようという講義。また構築の仕方を説明していただきました。

 

ちなみにApache Sparkは自分でも正直よくわかっていないが、大規模データーを分散処理するためのアプリケーションである。(だいたいあってるはず)

これは、ビックデーター等の解析に使うもの。

 

写真は、講義中に撮ったもの。

システムに必要なライブラリやら、アプリケーションやらの構成を示している。

f:id:Shimaokazu:20151025015027j:plain

ちなみにこのシステムの名前はMikasaというそうです(笑)。

某超能力やら魔術の作品の中で出てきそうな名前。

 

まあ講義していただいた方の講義内容からしても、それらしいネタのものが結構出ていました。

 

作り方はこちらにて紹介しています。

qiita.com

 

以下をクリックすれば、Twitter上で[2015年秋季のアニメ]で、多くツイートされている作品ほど円状で大きくタイトルが表示されます。(ちなみに5分事に変動)

マイクロ つぶやきビッグデータKAI

f:id:Shimaokazu:20151025015043p:plain

 

深夜の01:09で開いた時の様子です。

 

 

 

 

以下は、本日の収穫品全部。

ほとんどがブースごとに無料で配布しているものですが、一部左の本三冊に関しては500円で購入。

f:id:Shimaokazu:20151025015056j:plain

スタンプラリーも回って限定品のペンケースも手に入れました。

f:id:Shimaokazu:20151025015117j:plain

 

ステッカーだけでも結構集めました。PCにどれを貼ろうか楽しみ。

f:id:Shimaokazu:20151025015128j:plain

 

 

 

明日も行きます。(というか深夜に投稿しているので、今日の10時に参加。起きれるか心配・・・)

明日に関しては後輩を誘うことに成功したので、後輩を連れてきます。

久しぶりの投稿。Unityの3Dゲームを更新

最近、いろいろあってブログの方に気にかけている暇がありませんでした。

Unityの方もなかなか触れてなかったせいか、あまり開発の方が進んでいません。

 

一応以前のサンプルよりも進めたので公開します。

今回はUnity Web Playerのプラグインが入っていない人の事を考慮して、WebGL版で公開しています。

 

ちなみに変更点は以下です。

・敵のHPを0にしたら、1秒後に敵が消滅

 

はい、たったのこれだけです。[ダメージ処理]を書いただけです。

すみません、全然開発進んでいませんでした・・・

時間があれば徐々に進めていきます。

(以下のURLをクリックすればゲームがプレイできます。)

https://www.googledrive.com/host/0B4E4zGRUNQADSXN4bm9rWkxoQVU/index.html

 

以前のバージョンも操作方法を載せていなかったので、操作方法も載せておきます。

 

・[移動] W/S/A/D

通常では走りますが、[Shift]キーを押しながらだと歩きます。

 

・[ジャンプ]:Spaceキー

・[しゃがむ]:Cキー

・[視点変更]:Qキー

Qを押しながらマウスを動かすと視点を動かせます。

 

・[抜刀/納刀]:H

・[攻撃(剣を振る)]:左クリック

Hキーで剣を装備した状態でないと攻撃は出来ません。

 

ちなみにジャンプして空中にいる状態で左クリック(攻撃)を押すと、着地と同時に剣を振る動作をしてしまいます。

これはプログラムが、”左クリックを検知して、地面にいる状態なら剣を振る"というふうにしてしまっているからです。

このバグは、めんどくさいのでまだ直していません。いずれ新バージョンを出す時に修正しておきます。

 

また、Ruby on Railsもやっているのですが、そちらの記事も更新していきます。

 

 

 

 

 

 

Ruby on Railsを使ってWEBアプリケーション構築に挑戦(その0.5 エピソード紹介)

まずはLinuxをインストールしなければいけませんが、ここではサーバー用途として有名なCentOSを使っていきます。

 

まずはテキトーなサーバーマシンを調達。自分の場合は昔使っていた8年ぐらい前の古いパソコンからWindowsを消して使いました。

 

ちなみにCentOSのバージョンは7.1を使います。6.5に慣れ過ぎてしまったせいか、7系統はあまり使ったことがありません。(あまりどころが全くといっていいほど触れなかった)

そのCentOS7.0を触れなかった自分のエピソードを一つ紹介。

 

自分がCentOSに最初に触れたのは大学一年生の時です。

一年ながら特別に研究室に入れてもらい、先輩からいろいろとサーバーの扱いなどを教わっていました。

その時触っていたのはCentOS6.5で、ようやく扱い方が少しずつわかってきた所でしたが、ある日に先輩から7.0が出ると言われたので、試しに7.0を導入してみたのでした。

 

その時、初めて触った感想は・・・

 

とにかくやりにくい。まずいろいろとコマンドが変わっている・・・

サービスの起動には、例えばApacheを起動するとしたら

/etc/init.d/httpd start

これが

systemctl start httpd.service

に変わっている。

他にも[ifconfig]が[ip addr show]になっていたり、いろいろとコマンドが変わってしまい、ようやく6.5に慣れてきた所で新しいコマンドが出てきたので混乱。

更には従来のInitからSystemdというものにシステム管理が変わり、勉強することが更に増えてしまって嫌になる。

先輩からは「もういろんなディストリビューションがSystemdに移行していくから勉強した方がいい」と言われたものの、研究室の皆は新技術の移行に付いて行けず、誰も7.0を勉強しようとはしなかった・・・

「別にいっか、めんどくせえ」とそのままCentOS6.5を触って2年経ったある日のこと・・・

 

徐々に6.5の完全更新期限が迫っており、更にはUbuntuまでもがSystemdを導入。

焦るに焦る旧世代の技術にへばりつく人達(自分も)が、研究室にはびこっていた・・・

そんな時期に後輩が研究室に入ってきて、さっそくCentOSの入れ方やら扱いを教える事に。

バージョンを選ぶときに後輩は、6.5ではなくあえて7.0をインストール。

自分「俺、7.0はあまり出来ないから教えられないかもよ?」
後輩「まあ、とりあえず挑戦してみようかなと思います」

 

まあどうせ6.5を入れな直すことになるかもなと思った数か月後・・・

 

後輩「自分、結構7.0に慣れちゃいましたね」

なんだと・・・と焦る自分。
このままでは後輩に抜かされ、先輩の威厳とやらが失われる・・
新時代に移れず、このままでは旧世代に取り残されてしまうと思った自分は、急きょ7.0系統を導入することを決めたのでした。

※急きょと言うか、半年ぐらい経ってます。

Ruby on Railsを使ってWEBアプリケーション構築に挑戦(その0)

諸事情で、WEB関連の技術を勉強しなくてはいけなくなったため、Ruby on Raisを使ってWEBアプリケーションを作ってみたいと思います。

 

ちなみに自分はRuby on Raisを使った事が無い全くの初心者です。

それでもRaisを使おうと思ったのは、ここ最近のWEBアプリケーションはPHPよりもRuby on Raisの方が普及してきているというお話を聞いたからです。

新技術に乗り遅れないようにやってみようと思いました。

 

WEBアプリケーションの構築ですが、最初はLinuxでのサーバー構築から始めていきます。

その後に最低限必要なアプリケーションを入れていき、サーバーの設定やセキュリティなどの対策等にも触れられればなと思います。

 

現在開発をしていたUnityの3Dゲームですが、開発を一時的に休止したいと思います。それでも開発ペースが遅くなるだけで、完璧にやめるわけでなく、Unityの方もボチボチゆっくりとやっていきます。

 

 

10/04 追記

上記での書いたように全くの初めから開発環境を構築していくので、Ruby on Rails自体に触れるのは結構後の方になります。

動かすサーバーのOSはCentOS7を導入します。

 

 

 

ブログ初投稿

はじめまして初投稿になります。

現在、大学生でUnityでのゲーム開発、各種プログラミング言語を使用してのいろんな開発等をやっています。

 

このブログでは自分で作ってきたアプリケーションや、そのソースコード等も公開していく技術ブログです。

その他気づいたことなども記事にしていきます。

 

以下試しに作ったサンプルの3Dアクションゲームです。

https://www.googledrive.com/host/0B4E4zGRUNQADQVJ3bTNwLVVJWXc/Desktop.html

 

攻撃モーションやモンスターのAI等は実装していますが、まだダメージ処理やUI等の作成はしていません。

徐々に機能追加予定です。

 

 

追記:10/23

WebGL版の新バージョンを公開しました。

ダメージ処理だけ追加しています。

https://www.googledrive.com/host/0B4E4zGRUNQADSXN4bm9rWkxoQVU/index.html