Baby steps to migratory bird

30歳で会社をやめてIT留学中@セブのエンジニア (卵) が、留学で体験したことや勉強記録など書いていきます

Laravel復習 ~環境構築編~ その1

Phpstormを使ったLaravel向けの環境構築手順です。

vagrant boxの確認コマンド

vagrant box list

vagrantを初期化

vagrant init (box名)

->Vagrantfileファイルが作成される。

Vagrantfileを編集

# config.vm.network "forwarded_port", guest: 80, host: 8080

のコメントアウトを外し、host番号を任意で変更する。

# config.vm.network "private_network", ip: “192.168.33.10"

のコメントアウトを外し、ip番号を任意で変更する。

最後に下記の行を追記する。

config.vm.provision "shell", run: "always", inline: "systemctl restart network.service"

プロヴィジョナー(Provisioner)

vagrantの実行と同時にスクリプトが走るように設定しておける命令。

  • タイプの設定: shell/file/etc.
  • タイミングの設定: once/always
  • 実行の設定: (key/valueの形式で記述) inline/path/ etc.
  • 複数設定: 記述順に実行
  • 上書き: 上級者向けらしい。まだ使わないかな

vagrantを立ち上げる

vagrant up
vagrant ssh

/etc/httpd/con内のhtttpd.confを編集

※sudoで実施 ドキュメントルートを下記に変更する。

DocumentRoot "/vagrant”
から
DocumentRoot "/vagrant/public”
へ

/etc/httpd/conf.d内のvagrant.confを編集

※sudoで実施

<Directory /vagrant>
から
<Directory /vagrant/public>
へ

Composerをインストール

Phpstormでプロジェクトを立ち上げる

  1. new
  2. new project
  3. composer project
  4. location欄に開発用のディレクトリを指定
  5. packageのfilter packages欄にはlaravel/laravelを指定
  6. OK
  7. 一度聞かれる質問にはNoを選択(Laravel用のディレクトリを新規構築する場合)
  8. インストールにしばらく時間がかかる。
  9. エラーなしでディレクトリが構成されたらOK

(続く)

セキュリティ関連さらっとまとめ(その2)

セッションハイジャック

コンピュータネットワーク通信に置けるセッション1を、通信当事者以外が乗っ取る攻撃方法。 例えばログイン時のセッションIDを盗難することで、アカウント乗っ取りが行われる。

SQLインジェクション

アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法のこと。

クロスサイトリクエストフォージェリ(CSRF/リクエスト強要)

Webアプリケーションの脆弱性のこと、もしくはそれを利用した攻撃のこと。 別のサイトに用意したコンテンツ上のリンクを踏ませるなどして、ネットショッピングの決済等の重要な処理を呼び出すようユーザを誘導する。

参考

いまさら聞けないセッションハイジャック

SQLインジェクションとは?Webサイトのセキュリティ対策を学ぼう

Webセキュリティのおさらい その3 CSRF・オープンリダイレクト・クリックジャッキング


  1. 一連の通信のこと。例) ログインしてからログアウトするまで

セキュリティ関連さらっとまとめ(その1)

授業で出てきたセキュリティ関連の用語をまとめてみる。

マルウェア

malicious softwareの略で、悪意のあるソフトウェアや悪質なコードの総称

マルウェアの代表例

  • ワーム

自身が独立したプログラムであり、他のPCのセキュリティホールを狙い、ネットワーク経由で自身の複製を自動的に送信する。感染力が高い

  • トロイの木馬

ギリシャ神話より。見かけ上は普通のプログラムのように偽装されているが、何かの拍子にマルウェアとして活動するファイル等のこと

  • ボット

最近ではチャットボットなど、一般的には役立つ方が有名?

元々はインターネット上で自動化されたタスクを実行するアプリケーションソフトウェアのことで、不正な目的で利用する場合には、ネットワーク接続されたコンピュータへのDoS攻撃など自動化された攻撃を行う。他にも、フィッシングやオンラインゲームでの不正など用途は多数

  • ランサムウェア

今春色々と話題になったやつ -> ランサムウエアの感染トップはやはり「WannaCry」

ransam (= 身代金)の名前の通り、感染したコンピュータへの利用者のアクセスを制限した上で、マルウェアの作者が被害者へ「制限を解除して欲しければ身代金を支払え」と要求してくる。

DoS/DDoS攻撃

DoS攻撃はDenial of Service attackの略 ウェブサービスを稼働しているサーバやネットワークに対して、過剰な負荷をかけたり脆弱性をついたりするすることでサービスを妨害する攻撃のこと

DDoS攻撃はDistributed Denial of Service attackの略 DoS攻撃を大量のマシンを用いて行う方法。防ぐのがとても難しいらしい

明日書く↓

セッションハイジャック

SQLインジェクション

クロスサイトリクエストフォージェリ(CSRF)

参考

ウイルス、トロイの木馬、ワーム、その他のマルウェアって実際どう違うのかご存知ですか?

Dos攻撃とDDos攻撃の違いと対策についてまとめてみた

Git操作(ブランチ編)

今あるブランチの確認

git branch

ブランチを切る

git branch (新規ブランチ名)


任意のブランチへ移動

git checkout  (ブランチ名)


ブランチを作った上で、移動

git checkout -b (新規ブランチ名)

ブランチを消す

git branch -d (ブランチ名)


随時追加予定

人狼ゲームの配役割り振り@Python勉強中

 最近自分の中で人狼ゲームが熱いので(まだ観戦のみだけど)、
プログラミングの勉強もかねて配役を割り振るパートを書いてみた。



たぶんリストの要素を追加・削除するようにすれば、わざわざ場合分けごとのリストを用意しなくて済むはずなので、そこは勉強して直す予定。。

インデント、どこいった。。

#coding:utf-8
import random

#プレイヤー人数。後で、プレイヤー数に制限をつけ、それ以外だとアラームを表示するようにする。
players = input('プレイヤー数を入力してください:') 

#配役用のリスト
role_list_all = ['村人', '人狼', '占い師']
role_list_vj = ['村人', '人狼']
role_list_vf = ['村人', '占い師']
role_list_jf = ['人狼', '占い師']
role_list_v = ['村人']
role_list_j = ['人狼']
role_list_f = ['占い師']

i = 1
v = 0
j = 0
f = 0

#場合分けで、人狼2人、占い師1人、他は村人になるように指定。
while i <= players:
if v == players - 3 and j < 2 and f == 0:
n = random.choice(role_list_jf)
print(str(i) + 'は' + n + 'です')
elif v == players -3 and j < 2 and f == 1:
n = random.choice(role_list_j)
print(str(i) + 'は' + n + 'です')
elif v == players -3 and j == 2 and f == 0:
n = random.choice(role_list_f)
print(str(i) + 'は' + n + 'です')
elif j == 2 and f == 1:
n = random.choice(role_list_v)
print(str(i) + 'は' + n + 'です')
elif j < 2 and f == 1:
n = random.choice(role_list_vj)
print(str(i) + 'は' + n + 'です')
else:
n = random.choice(role_list_all)
print(str(i) + 'は' + n + 'です')

if n == '村人':
v += 1

if n == '人狼':
j += 1

if n == '占い師':
f += 1

i += 1

 

print('全員の役職が決まりました')

VRメガネをポチってみた。

以前ゲーセンでVRのゲームを体験して以来、自宅でも出来ないかなーっと思い続けてきて、ついにポチッってしまったのがこちら。

 

 

続きを読む

【随時追加】プログラミング初心者がPythonを学ぶ際のオススメサイト

プログラミング初心者の自分がPythonを学ぶ際に利用したサイトのメモです。

 

<自分で試した編>

 

Schoo

 

schoo.jp

続きを読む