JavaScriptで外部jsファイルを読み込む

はじめに

JavaScript内で外部jsを読み込むことは可能だが、非同期で読み込まれるので、すぐには外部jsを利用できない。window.onloadなどで利用する必要がある。

let script = document.createElement('script');
script.type = 'text/javascript';
script.src = '//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js';
document.head.appendChild(script);
if (typeof $ === 'undefined') {
    console.log('まだ使えません');
} 
script.onload = function() {
    if (typeof $ !== 'undefined') {
        alert('使えます');
    }
}

Dockerのphp:7.0-apacheにXdebugを入れてみる

今回の目的は、とりあえずEclipseからデバッグできるようにすることです。

php:7.0-apacheイメージでコンテナ作成済みの前提です。
<コンテナ作成手順>

コンテナのbashを動かす。

# docker container exec -it test_php7 /bin/bash

xdebugをインストールする。

pecl install xdebug-2.7.2

php.iniがないので作成してとりあえずの設定を入れる。xdebug.soのパスはインストール後に出てくるが、わからなければ検索して。

zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1

Dockerのphp:7-apacheにcomposerを入れてみる

php:7-apacheイメージでコンテナ作成済みの前提です。
<コンテナ作成手順>

ゲストのbashを動かしたいので下記コマンド実行。

# docker container exec -it test_php7 /bin/bash

composerをインストールする。
※本当はrootでやっちゃダメなんだけど今回は検証環境構築目的なので

# curl https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer

ライブラリをインストールしてみる。https://packagist.org/を参考にインストールするライブラリを探す。今回はPHPMailerをインストールしてみる。
※rootでやっちゃってるので警告でます

# cd /var/www/html
# composer require phpmailer/phpmailer

「composer.json」「composer.lock」「vendor」ディレクトリが自動生成される。

さくらのレンタルサーバーにGitリポジトリを作成してEclipseから使う

さくらのレンタルサーバーはスタンダード、Eclipseはoxygenを使用した。

sshでレンタルサーバーに接続する。
「Welcome to FreeBSD!」で%が表示されるのでbashに切り替える。

$ ssh xxx@xxx.sakura.ne.jp
% bash

ホームディレクトリに「repositories」ディレクトリを新規作成して、その中に各リポジトリを作成する。

$ mkdir repositories
$ cd repositories
$ mkdir project1.git
$ cd project1.git

gitは最初からインストールされているので下記コマンドでベアリポジトリを作成する。

$ git init --bare --shared

Eclipseで「Gitリポジトリ」ビューを表示して「Gitリポジトリのクローン」でウィザードを起動して、下記のような感じで入力して次へ。

ホスト xxx.sakura.ne.jp
リポジトリパス ~/repositories/project1.git/
プロトコル ssh
ユーザー xxx
パスワード password

ブランチの選択は何も出てこないが、そのまま次へ進み、cloneの宛先ディレクトリを指定して完了する。

LinuxMint18.3でL2TP/IPSecを使用したVPN接続

※UbuntuGnome16.04でも同じ手順で接続可能なのを確認済み

VPN設定画面にL2TP/IPSecを追加

Mintはリポジトリを追加してインストールする必要がある。

$ sudo -s
# add-apt-repository ppa:nm-l2tp/network-manager-l2tp
# apt update
# apt install network-manager-l2tp
# apt install network-manager-l2tp-gnome

GUIでVPN設定

「設定」の「ネットワーク接続」から追加ボタンでl2tpのVPN接続を追加する。

・接続名を入力
・ゲートウェイを入力
・ユーザー名・パスワードを入力
・IPSecを有効にしてPre-shared keyを入力
・IPSecのAdvancedからAlgorithmsを下記の通り入力
  [Phase1] aes256-sha1-modp2048,aes256-sha1-modp1536
  [Phase2] 3des-sha1-modp3072,3des-sha1-modp2048
  ※この値の調べ方は後述
・PPPのMPPE暗号を使用するをチェック
・MSCHAPv2のみ残してあとはチェック外す

Algorithmを調べる

下記のサイトを参考にike-scan.shを作成し、ike-scanをインストールしてからスクリプトを実行する。結果を解析して適宜Algorithmを入力する。
https://github.com/nm-l2tp/network-manager-l2tp/wiki/Known-Issues#querying-vpn-server-for-its-ikev1-algorithm-proposals
作成したike-scan.shはこちら

一時ファイルの削除

設定は合っているのに何故か接続できない場合は下記のコマンドで一時ファイルを削除すると接続できる場合がある。

# rm -f /etc/ipsec.d/nm-l2tp-ipsec-*.secrets

Ubuntu16.04でplymouthを変更する

1行目を実行すると、インストールされているplymouthから選択する画面が表示され、2行目を実行することでinitramfsが更新されSplash画面が変更される。

sudo update-alternatives --config default.plymouth
sudo update-initramfs -u