2022.04.15GameProductionBasic 2022.04.15 授業内容
この記事は職業訓練校の受業の内容の要点をまとめたものです。 職業訓練校を検討されている方が居たら参考にしてください。
GameProductionBasic
流れ
ガイダンス
最近のゲーム業界について
ゲーム(電源ゲーム)をプレイする媒体
- 家庭用のゲーム機
- ゲームセンターの機体
- アーケード
- 体験型
- 太鼓、バイク、車など
- アーケード
- 携帯電話 / スマホ -> アプリゲーム
- PC
- 配信・DL
- ブラウザ
- パッケージソフト
- 1個のゲームしかできないもの
- チームラボ
媒体の歴史
- 比較的昔からある
- 家庭用ゲーム機
- ゲームセンターなどに置かれるゲーム
- パソコン・パッケージソフト
- 比較的近年登場した
☆インターネットを使用しているかしていないかで別れる
ゲーム制作の歴史
- かつてのゲーム制作
- 人員、費用、期間が大きい
- 個人でゲームを制作して、販売する...というのは困難
- 最近のゲーム制作
- 小規模なゲームなら少人数で制作できる
- 配信で販売も容易になった
ゲーム開発現場
- ファーストパーティ
- セカンドパーティ
- ファーストパーティの関連会社
- 言葉としての限定が曖昧である
- サードパーティ
- パブリッシャー
- パソコンやスマホでのサードパティ
- デベロッパー
- ゲームの開発を担当する会社
- 販売はしない
ゲームができるまで
複数人でゲームを作る場合、どのような分担(職種)があるだろう?
- テスター、バグチェック / モニター / デバッガー
- プランナー(企画、シナリオ、権利・法律関係)
- ゲームの企画、仕様など担当
- ハード制作
- ソフト制作
- 音楽制作(サウンドクリエイター、音楽、効果音、声優)
- コンポーザー
- 音楽担当
- コンポーザー
- プロデューサー
- 作品全体のリーダー的存在
- ディレクター
- 開発のリーダー
- デザイナー(グラフィック、モデラー、モーションアクター)
- グラフィッカー
- ビジュアル面の担当
- グラフィッカー
- プログラマー
- スクリプター
- プログラミング担当
- スクリプター
- 営業
- マーケティング
ゲームデザインとゲームが出来るまで
- ①プラン
- ゲームの概要を考える
- ②企画書
- ゲームの面白さを伝えるための資料を作成する
- ③プロット
- ゲーム、シナリオの流れをまとめたものを作成する
- ④仕様書
- 各開発担当が制作できるように細かな内容を記載する
- ⑤制作
- グラフィック、サウンド、プログラムなど、各担当が制作する
- ⑥テスト
- ゲームが正常に動作するかテスト、デバッグを行う
- (番外)プロモーション
- ゲームの面白さが伝わるようにPRする
スクラッチ導入
スクラッチとは
Scratch財団がマサチューセッツ工科大学メディアラボ ライフロングキンダーガーデングループ(MIT Media Lab Lifelong Kindergarten Group)と共同開発する、8〜16才のユーザーをメインターゲットにすえた無料の教育プログラミング言語及びその開発環境である。
- スクラッチ導入
アカウント登録
x, y座標への移動
- 背景の変更
- スプライトの変更
- スプライトの大きさ
- スプライトの名前
- ファイルの保存
- スプライト2体以上での作成
- コスチュームを使ったアニメーション
- 次のコスチュームにする、で繰り返し処理
- 向きで操作する
- 次のコスチュームにする、で繰り返し処理
- コスチュームの複製
- 編集
確認テスト
- ゲーム制作の途中段階で作成する、「ゲームの面白さを伝えるための資料」に当たるもの
- 企画書
- プロット
- 筋立て、構成のこと
2022.04.14 PythonProgrammingA 授業内容
この記事は職業訓練校の受業の内容の要点をまとめたものです。 職業訓練校を検討されている方が居たら参考にしてください。
PythonProgrammingA
作業環境の構築
- Visual Stadio Codeのインストール
- Python3.10.4のインストール
- Python3.10(安定版の最新)の利用
- インストール時、path~をチェック(システム権限関係?)
- ターミナルでpythonでエンター
- 拡張機能
- Python Extension Pack
- Japanese Language ~
ガイダンス
学期の目標
- プログラムの仕組みを理解できる。
- 数値計算をプログラムで記述することができる。
- 外部ライブラリを利用することができる。
年度の目標
- Python言語を使用して「自分が解決したい課題を解決できる」
教材
Pythonプログラミングをやってみよう
XML外部実体参照
書籍を読んで
www.amazon.co.jp
こちらの書籍を読んでWebアプリケーションを作る際に重要な要点を自分用としてアウトプットします。 XMLには外部実体参照という機能があり、外部ファイルの内容を取り込むことができる。
XMLデータを外部から受け取るプログラムは、外部実体参照の形でWebサーバ内部のファイルなどを不正に読み取られる可能性がある。
この攻撃をXML実体参照攻撃と呼び、XML外部実体参照ができてしまう脆弱性をXML外部実体参照脆弱性と呼ぶ。
※XML外部実体参照という用語は長いので、XXE(XML External Entity)と省略する。 XMLの外部実体参照を使うとXML中に外部のファイルを流し込むことが出来ることはXMLが元々持つ機能。
従って、XXEはXMLの機能を悪用するものであり、プログラムにコーディング上のバグがあるというものではない。 XXEはXMLの機能を悪用するものなので、外部実体参照を禁止する指定を行うことが基本となる。
PHPの場合以下のいずれかの方法でXXE対策が可能。 外部から与えられた信頼できないXMLを解析しないことでXXE対策となる。
しかし、XMLは外部とのデータ交換に用いられることも多いため、単にXMLの受け取りをやめるというのは難しい場合がある。
このため、外部とのデータ交換には、XMLの代わりにJSONを用いる方が安全である。
JSONの場合、安全でないデシリアライゼーションやXXEなどの問題は通常発生しない。
ただし、SOAPのようにプロトコルでXMLを採用している場合には、XMLをやめるわけにはいかないので、以下の外部実体参照を禁止する方法で対策する。 PHPのXML処理には、内部でlibxml2というライブラリが用いられている。
libxml2の2.9以降では、デフォルトで外部実体参照を停止する設定となっており、XXEに対して脆弱ではない。
ただし、PHP側で外部実体参照を許可する設定にしている場合は例外となる。
※メジャーなLinuxディストリビューションに関して、サポート継続中、かつ最新のパッチを適用していれば、libxml2側で外部実体参照を停止していることが確認されている。 PHPにはlibxml_disable_entity_loaderという関数が用意(PHP5.2.11以降)されていて、これを呼び出すことにより、libxml2やPHP側の処理内容に関わらず外部実体参照が禁止される。 XXEが最初に報告されたのが2002年なので、かなり古くから知られている問題だが、これまで大きく取り上げられることはなかった。
しかし、OWASP TOP10の2017年版に4番目のリスクとしてランクインしたことにより大きな注目を集めることになる。
PHPを使う限り、libxml2のバージョンアップあるいはパッチ適用に対策されるが、Java言語の場合アプリケーション側での対策が必要となるため、PHP以上に注意が必要である。XML外部実体参照(XXE)
概要
脆弱性が生まれる原因
対策
XMLの代わりにJSONを用いる
libxml2のバージョン2.9以降を用いる
libxml_disable_entity_loader(true)を呼び出す
まとめ
安全でないデシリアライゼーション
書籍を読んで
www.amazon.co.jp
こちらの書籍を読んでWebアプリケーションを作る際に重要な要点を自分用としてアウトプットします。 安全でないデータをデシリアライズすることは基本的に危険であり、避けなければならない
対策としては以下が考えられる
- シリアライズ形式ではなくJSON形式によりデータを受け渡す
- クッキーやhiddenパラメータではなくセッション変数など書き換えできない形でシリアライズ形式のデータを受け渡す
- HMACなどの改ざん検知の仕組みを導入してデータが改ざんされていないことを確認する安全でないデシリアライゼーション
概要
脆弱性が生まれる原因
対策
evalインジェクション
書籍を読んで
www.amazon.co.jp
こちらの書籍を読んでWebアプリケーションを作る際に重要な要点を自分用としてアウトプットします。 構造をもったデータの例として、プログラムのソースコードを用いるケースがある。
最近よく用いられるJSONはJavaScriptのソースコードの形式を一部切り出したものが起源ですし、その他の言語でも、ソースコード解釈実行するevalと呼ばれる機能や関数があり、各言語のソースコードをデータとして扱うことができる。
evalの利用法に問題がある場合、外部から送り込んだスクリプトを実行される場合がある。
このような攻撃をevalインジェクション攻撃と呼び、そのような攻撃を受ける脆弱性をevalインジェクション脆弱性と呼ぶ
evalインジェクションによる影響は以下の通り
- 情報漏洩
- サイト改ざん
- 不正な機能実行
- 他サイトへの攻撃(踏み台)
- 暗号通貨の採掘(マイニング) 外部から与えるパラメータを英数字に限定できれば、スクリプトの注入に必要な記号文字(セミコロンのほか、コンマ、引用符など多種)が使えなくなるので、スクリプト注入はできなくなる。 evalは強力な機能であるがゆえに、脆弱性が混入した場合の影響も甚大である。
世の中にはevalのない言語も多く存在するわけで、極力evalを使わない実装が推奨される。evalインジェクション
概要
脆弱性が生まれる原因
対策
eval(同等機能を含む)を使わない
evalの引数に外部からのパラメータを指定しない
evalを使った場合でも外部からパラメータを指定できなければ攻撃はできない。
ただし、スクリプトの注入経路はHTTPリクエスト経由だけとは限らず、ファイルやデータベース経由で注入できる場合もあるので、そのような注入経路の可能性がある場合は、この対策方法は使えない。
evalの与える外部からのパラメータを英数字に制限する
まとめ
インクルードにまつわる問題
書籍を読んで
www.amazon.co.jp [:contents] こちらの書籍を読んでWebアプリケーションを作る際に重要な要点を自分用としてアウトプットします。
インクルードにまつわる問題
外部からスクリプト一部を読み込むインクルード機能にまつわる脆弱性について
ファイルインクルード攻撃
- PHPなどのスクリプト言語には、スクリプトのソースの一部を別ファイルから読み込む機能がある
- includeなどに指定するファイル名を外部から指定できる場合
- アプリケーションが意図しないファイルを指定することにより脆弱となる場合がある
- ファイルインクルード脆弱性と呼ぶ
脆弱性が生まれる原因
- インクルードファイル名を外部から指定することができる
- インクルードすべきファイル名かどうかの妥当性チェックをしていない
対策
- 外部からファイル名を指定する仕様を避ける
- ファイル名を英数字に限定する
保険的対策
- RFI設定を禁止する
- PHP5.2.0以降ではデフォルトで禁止されているはずだが、念のため確認する
- phpinfo関数の表示からallow_url_inlude項目がoffになっていることを確認する
まとめ
PHPではファイルを動的にインクルードする手法が定石的に使わているが、 ファイル名のチェックが不十分な場合は、ファイルインクルード攻撃を許す脆弱性が混入する。 影響の大きな脆弱性なので、十分な対策が推奨される。
2022.04.13.InformationEnglishBasicIA 授業内容
この記事は職業訓練校の受業の内容の要点をまとめたものです。 職業訓練校を検討されている方が居たら参考にしてください。 [:contents]
InformationEnglishBasicIA
- IT業界はフルリモートが増えてきている
- --> Slackを使った情報共有
- 端的に短い英語でのやり取りが主流
HEADWAY
Step 1
What's your name?
- 初対面では失礼
- まず名乗ってから聞く
HelloとHi, Heyの違い
- Hi!
- 海外では目が合うと挨拶してくる
- 敵意がないと示すため
- Hi!と挨拶だけして通りすがる文化
- Hey
- 親しい間柄で使う
- Hi, there
- 複数に対して
- よく使う
- Hello
- 丁寧、初対面、目上の人
- 重い感じ
- Hi!
挨拶
- I’m~, My name~ はどっちも使う
- 西洋ではfirst name で呼び合うことも多い
- I’m~, My name~ はどっちも使う
given name
- 親によって使われた名前 後から付けられた名前
- 良く使う
~last name?
- 苗字が聞ける
英語圏にはミドルネームがある
- おじいちゃんから受け継いだり、色々ある
- 真ん中にあるわけでもない
日本では2020から公式では苗字を大文字にする
- 例: KAWASHIMA Eiji
- 日本が世界に発信する公文書の場合に使われる
- 欧米とのやり取りの場合は名前->苗字で言う(今まで通り)
Step 2
- 自分が誰かに紹介するとき
- this is ~ を使う
- he is ~ は×
- 海外は広く浅くみんなフレンドの文化
- やたらみんなに紹介しがち!いい意味で
- Hi ~ で挨拶をするとみんな友達
- this is ~ を使う
Step 3
- Nice to meet you,
- 文の途中でもいいので、最初の挨拶内にぶちこむ
- Tの発音(日本人は苦手、あまり使わない)
- 詰まるような感じ ッチュ
- Nice meeting you
- 初対面と別れる時に使う
- 使いどころを間違えないように
英語で「いいね」
- sound
- good, gread, like a plan ビジネスでも使える! ※相手には同意していると捉えられる(日本人的な言ってるけど結構ですみたいな使い方は良くない) 相槌程度ならgoodぐらいがいいか
IT関連の英語
IPパスポートに出てくる単語
- outsourcing
- 仕事を担う人やサービスを契約によって外部から調達し、企業活動に生かす経営手法
- 実装する部分を下請けに出してコストダウンを図る
- 下請け側は苦しくなりやすい
- Webライティングはほぼ外注?
- account
- 様々なサービスにログインするための「権利」
- archive
- 情報の長期的な保存
- backup -> 短期的な保存
- 情報の長期的な保存
- access
- あるメディアに接続してデータをやり取りすること
- adware
- 本来は、画面に広告を出す代わりに無料で提供されるソフトウェアのこと
- ☆現在では、コンピュータの内部の情報を利用者にわからないように無断で収集し
- outbound
- webページやwebサイトに飛ぶリンクのことを指すと捉えてよい
- architect
- 大規模なシステムや、製品の全体的な設計を行う技術者のこと
- administrator
- システム管理者
- アドミン権限
- analog
- データを連続的に変化する量で音を表す
- アナログ時計 -> 連続的に動き続ける
- デジタル
- 段階的なデータ
- デジタル時計 -> カチ、カチと動く
- データを連続的に変化する量で音を表す
- avator
- 化身、具現など
- App(エァップ)
- application software
- anti-virus software
- コンピュータウィルスを検索、除去するソフト
- 感染源
- 共有フォルダやインターネットに繋いでいるだけでも感染する可能性がある
- 感染源
- コンピュータウィルスを検索、除去するソフト
- Ethernet
- 有線LANの標準の一つ
- inbound
- 外から中に入ってくるデータ
- infrastructure
- 情報のベースとなる所
- 基礎基盤
- import
- データの取り込み
- wizard
- ソフトウェアの分野では、利用者に一つずつ質問や設定項目を提示して選択や入力を促し、対話的に処理を進める操作方式のことを指す