2017/9/30に東京にて、OWASP World Training Tour 2017セミナーが開催されました。OWASPは、Open Web Application Security Projectの略で、セキュリティに関する診断の標準や規格などを策定している非営利組織です。
この記事では、OWASP World Traini...
phpでは、`php -l`コマンドでスクリプトにエラーがないか、構文チェックを行うことができます。
たくさんのファイルがある場合、findコマンドと組み合わせることで、指定したディレクトリ以下の全ファイルに対して、構文チェックを行えます。
下記の...
gcpの操作をcliのgcloudコマンドで行いたい場合、Linuxのシェルから実行すると成功するのに、cronで自動実行させると失敗する場合があります。
例えば、cronのスクリプトからgcloudを実行で下記のエラーが発生する場合ですが...
```language-bash
ERR...
Googleのクラウド環境であるgoogle cloud platform(gcp)では、gcloudコマンドでクラウド環境に対する操作を行うことができます。
プロジェクトの作成と課金有効化をgcloudコマンドだけで行うためには、下記の手順で作業すればよいです。
```language...
WebサーバのログにPHPMyAdminがインストールされているかスキャンしている不正なアクセスがあったのでメモ代わりに残しておきます。
以下のようにありがちなパスを片っ端にスキャンされているので、パスワードを掛けておくのは当然ですが、/phpMyAdmin...
Ubuntu Linuxで、初めて`crontab -e`コマンドを実行すると、以下のようにエディタの選択プロンプトが表示されます
```language-bash
> crontab -e
no crontab for root - using an empty one
Select an editor. To change later, run 'select-edito...
Google App Engineを使った開発を行う際、dev_appserver.pyを実行すると`No module named 'setup'`エラーが出ることがあります。
```language-bash
> dev_appserver.py app.yaml
Traceback (most recent call last):
File "C:\Users\xxx\AppData...
VisualStudio Codeでは、デフォルトでは、文字コードがUTF-8であると仮定してファイルが開かれます。
メモ帳(notepad.exe)のように、文字コードを自動認識させたい場合は、下記の設定を行えばよいです。
```language-json
{
"files.autoGuessEnc...
PHPを勉強し始めて間もない時や、PHPを使ったプロジェクトの序盤では、トライアンドエラーを迅速に行うため、一旦すべてのエラーをブラウザ画面に表示させてしまいたい場合があります。
このような場合は、下記のコードをプログラムの先頭に書いておけ...
phpでは-Sオプションを利用することで、ビルトインWebサーバを実行させる事ができます。
この環境で、ブラウザの画面ではなく、php -Sを実行したコンソールにログメッセージを出力するには、下記の処理を実行すればよいです。
```language-php
PHPのプログラムを実行するとUnexpected T_STRINGエラーが出る場合があります。
このエラーが出た場合にチェックするポイントを説明します。
## エラーが出た場所を確認する
以下のようにエラーが出るので、まずはこのエラーメッセージよりエラー...
PHPのSlim3 Frameworkでcookieを管理するためのクラスです。
stackoverflowにあったコードを元に一部改修してます。
https://stackoverflow.com/questions/35257522/slim-3-framework-cookies
```language-php
PHPのSlim3 Frameworkでは、以下のようなコードでgetリクエストが走った時のコールバック処理内で、DIコンテナへアクセスすることができます。
```language-php
$app = new \Slim\App();
// myServiceをDIコンテナを取得
$container = $app->getCont...
ThinkPadでPCの電源がシャットダウンされているときでも、USBポートからの充電を有効にするための設定方法です(Windows10が入った、ThinkPad x260で確認しています)。
スタートメニューから、Lenovo Settingsを開きます。
左のメニューより、電池...
Linuxではlogrotateコマンドでログの切り替えを行うことができますが、ログ切り替えの最小単位は1時間周期(hourly)です。
今回は、logrotateコマンドで、15分おきや1分おきなど、1時間より短い時間でのログ切り替えを行う方法を説明します。
## 作...
PHPのマイクロフレームワークであるSlim3 Frameworkでは、PimpleパッケージベースにしたDIコンテナが用意されています。
今回はSlim3で、DIコンテナからインスタンス取得時に、呼び元からコンストラクタ引数を渡す方法を説明します。
## 通常のDI...
Visual Studioでプロジェクトを作成したとき、No executable found matching command "dotnet-projectmodel-server"エラーが出ることがあります。
``` language-bash
---------------------------
Microsoft Visual Studio
----------------------...
Visual Studio 2017のインストーラをダウンロードすると、通常は1MB程度の小さなインストーラーで大半のデータをインストール中にオンラインでDLする形式になります。
複数台にインストールするなど、予めISOイメージを取得して起きオフラインでVisual ...
Windows環境で、bash for windowsやGit bashなどのbash環境を使っているとき、findコマンドでファイル検索しようとすると、以下のエラーが表示される場合があります。
``` language-bash
$ find ./ -print
FIND: 無効なスイッチです
```
これは、...
Ansibleで小さなファイルを大量にcopyタスクを使ってコピーする場合、処理に非常に時間がかかる場合があります。この場合、copyの代わりにsynchronizeのタスクに変更すると劇的に処理が早くなる場合があります。
変更前:
```language-yaml
- name: co...
Windows向けの.Net Core SDKは、https://www.microsoft.com/net/download/core#/sdkよりダウンロードできます。
.Net CoreのSDKのインストールは、1分程度で完了する小さなもので、特に再起動も要求されません。
インストーラーも下記のような感じ...
sshでパスフレーズを未設定なキーファイルを.ssh/id_rsaにおいたにもかかわらず、以下のようにパスフレーズを聞かれる場合があります。
```language-bash
> ssh 192.160.1.2
Enter passphrase for key '/home/username/.ssh/id_rsa':
```
この症...
Ansibleのplaybookを実行時、copyのタスクを実行すると下記のエラーが出る場合があります。
```language-json
fatal: [testserver]: FAILED! => {
"changed": false,
"checksum": "98583305b1e488f5c4453b8a0ca6e5bac32d0a2f",
"failed"...
AnsibleのPlaybookは、`ansible-playbook foo.yml`のような形で実行しますが、下記のようにしておくとymlファイル自体を実行可能な形式にすることが可能です。
ファイルの先頭に以下の1行を書く
```language-bash
#!/usr/bin/env ansible-playbook
`...
LinuxでメモリやCPUを多く消費していて、パフォーマンスに影響を及ぼしているプロセスを調べたいときに便利なコマンドを2つ紹介します。
```language-bash
# メモリの使用量が多い順にプロセスを表示
ps aux | sort -nrk +4 | head
# CPUの使用量が...
クラウドサーバなどリモート環境で実行されているLinuxサーバの再起動などを行った場合、いつ再起動が終わったかを知らせてほしい場合があります。
このような場合、リモートサーバがpingを許可していれば下記のコマンドで確認することができます。
``...
opensslコマンドを使って自己署名の証明書を作る時、下記のエラーが出ることがあります。
```language-bash
> openssl req -x509 -nodes -days 10000 -newkey rsa:100 -subj /DN=localhost -keyout foo.key -out foo.crt
...:rsa routines:PKEY_RSA...
VagrantでVMの管理にVirtualBoxを使用している場合、Vagrantfileの設定を変更することで、ネットワークを速くすることができます。
方法は、Vagrantfileファイルを編集し、ネットワークのドライバをvirtioというものに変更したうえで、vagrant upする...