docker環境作成
前提
Windows11
Docker Desktop
PHP/Laravel
手順
1. docker-compose.ymlを書く
version: "x.x" services: web: build: context: . dockerfile: ./web/Dockerfile container_name: "web" restart: always volumes: - ./web/php.ini:/usr/local/etc/php/php.ini - ../src:/var/www/html/ ports: - 8080:80 depends_on: - mysql - mail mysql: image: mysql:x.x restart: always container_name: "mysql" volumes: - ./mysql/data:/var/lib/mysql command: - --sql-mode=NO_ENGINE_SUBSTITUTION environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=${DB_DATABASE} - MYSQL_USER=${DB_USERNAME} - MYSQL_PASSWORD=${DB_PASSWORD} phpmyadmin: image: phpmyadmin/phpmyadmin restart: always container_name: "phpmyadmin" volumes: - ./phpmyadmin/sessions:/sessions environment: - PMA_ARBITRARY=1 - PMA_HOST=mysql - PMA_USER=${DB_USERNAME} - PMA_PASSWORD=${DB_PASSWORD} ports: - 4040:80 depends_on: - mysql mail: image: mailhog/mailhog container_name: "mail" restart: always ports: - "8025:8025"
2. docker-composeで実行
cd path-to/ docker-compose up -d
3. コンテナに入る
docker exec -it [コンテナ名] bash
4.コンテナ内でパッケージインストールなど
composer install
php artisan key:generate
php artisan migrate:fresh --seed
Windows7でCentOSをインストール
前提条件
Rubyがインストールされてること。
1. Vagrantインストール
ここ
Download Vagrant - Vagrantからダウンロードしてインストール
2. VirtualBoxインストール
ここDownloads – Oracle VM VirtualBoxからダウンロードしてインストール
3. VirtualBoxにゲストOSをインストール
インストール
urlのところはここA list of base boxes for Vagrant - Vagrantbox.esから目的のOSのURLを取得する。
ここopscode/bento · GitHubからダウンロードしてローカルのパスを指定しても良い
> vagrant box add {title} {url}
C:\dev\Vagrant\box>vagrant box add centos https://github.com/2creatives/vagrant-centos/releases/download/v0.1.0/centos64-x86_64-20131030.box
Downloading box from URL: https://github.com/2creatives/vagrant-centos/releases/download/v0.1.0/centos64-x86_64-20131030.box
Extracting box...ate: 2590k/s, Estimated time remaining: --:--:--)
Successfully added box 'centos' with provider 'virtualbox'!
設定ファイル作成
コマンドを実行したディレクトリに[VagrantFile]という設定ファイルができる
> vagrant init {title}
起動
> vagrant up
`ssh` executable not found in any directories in the %PATH% variable. Is an
SSH client installed? Try installing Cygwin, MinGW or Git, all of which
contain an SSH client. Or use the PuTTY SSH client with the following
authentication information shown below:Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: C:~/.vagrant.d/insecure_private_key
PhoneGapでAndroidアプリを作る
Eclipseでプロジェクトを作成・設定
- ファイル > 新規 > プロジェクト > Andoroidアプリケーション・プロジェクトを
選択する
(以下、適当にウィザードを進めてプロジェクトを作る)
- 作成したプロジェクトで、以下のディレクトリを作成する
[project root]/assets/www
- cordovaのファイルをプロジェクトにコピー
ダウンロードしたcordovaに入っている以下のファイルをコピー
cordova.js => assets/www
cordova.jar => lib
xml/config.xml => res(フォルダごとコピー)
cordova.jarはlibフォルダを右クリック→ライブラリ構成でライブラリに含まれているか確認しておく
- 作成したプロジェクトの src フォルダーにあるメインの Java ファイルを編集
import org.apache.cordova.DroidGap; を追加
クラスの継承元を Activity から DroidGap に変更
protected→publicに変更
setContentView() の行を super.loadUrl("file:///android_asset/www/index.html"); に置き換え
- AndroidManifest.xmlの編集
<supports-screens android:largeScreens="true" android:normalScreens ="true" android:smallScreens="true" android:resizeable="true" android:anyDensity="true" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.BROADCAST_STICKY" />
- コンテンツのコピーと実行
Androidアプリ化したいコンテンツを[project root]/assets/wwwに入れて実行すれば完成!
HTML5/JavaScriptとPhoneGapで作るiPhoneアプリ開発入門
- 作者: 富田宏昭
- 出版社/メーカー: マイナビ
- 発売日: 2012/08/31
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 530回
- この商品を含むブログ (3件) を見る
さくらレンタルサーバーにGitをインストールする
Subversionが流行り始めたころにはすぐに飛びついた方だったが、Gitについては全然手が出てなかった。イカン。フットワークは軽い方がいいということで早速インストール。
ここはローカルではなくさくらレンタルサーバーに入れてみる。
- 前提
ソースコードディレクトリ:$HOME/local/src
インストールディレクトリ:$HOME/local
$HOME/local/srcに移動して作業。
最新は1.8.4だったので1.8.4を指定して取得する。
%wget http://git-core.googlecode.com/files/git-1.8.4.tar.gz %tar xvfz git-1.8.4.tar.gz
- インストール
解答したソースコードのディレクトリでインストールする。
問題なく終了すれば$HOME/local/binにインストールされる。
% ./configure --enable-pthreads=-pthread --prefix=$HOME/local
% gmake all install
- インストールの確認
実行確認。バージョンが表示されればOK。
git --version
- 作者: 濱野純(Junio C Hamano)
- 出版社/メーカー: 秀和システム
- 発売日: 2009/09/19
- メディア: 単行本
- 購入: 31人 クリック: 736回
- この商品を含むブログ (156件) を見る
PHPからMySQLにINSERTすると文字化けする
単純にINSERTしてみたら文字化け発生。
まずMySQLの設定を確認してみる。
MySQLのコンソールから以下のコマンドを叩く。
mysql>show variables like "char%";
するとどうでしょう。まったくutf-8になっていませんw
+--------------------------+--------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------+ | character_set_client | cp932 | | character_set_connection | cp932 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | cp932 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | C:\xampp\mysql\share\charsets\ | +--------------------------+--------------------------------+ <|| これを全部想定文字コードのUTF-8にすれば治るだろうということで MySQLの設定ファイルの項目を調べてみる。 MySQLの設定ファイルはmy.cnfとmy.iniがあり、しかも場所は色んなパスが指定されている。mysql --helpで場所が表示されるらしい。 で、[http://1000g.5qk.jp/2010/11/04/xampp%E3%81%AEmysql%E3%81%A7%E6%AD%A3%E3%81%97%E3%81%8Futf-8%E3%82%92%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B/:title]を参考に設定。 >|| # MySQL >= 5.5 用の設定 # [client]ブロックに下記の行を追加する default-character-set=utf8 # [mysqld]ブロックに下記の行を追加する character-set-server=utf8 skip-character-set-client-handshake
さっきのコマンドで文字コードが正しく設定できたか確認。
+--------------------------+--------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\xampp\mysql\share\charsets\ | +--------------------------+--------------------------------+
できた!
途中、mysql5.5以降で設定の名前が変わっていてハマった。。
- 作者: 小島まさご
- 出版社/メーカー: ソーテック社
- 発売日: 2011/11/19
- メディア: 単行本
- 購入: 1人 クリック: 10回
- この商品を含むブログ (2件) を見る
applyとは
Javascriptにはcallとapplyという特殊な関数があるらしい。
取り敢えずapplyだけメモ。
簡単に言うと
とある関数に「this」と「引数(配列)」を渡して使える
というものです。
他のブログで挙げられていた例がとてもわかりやすかったので以下引用。
1 var obj = { 2 say: 'Hello' 3 } 4 5 function hoge(arg1, arg2){ 6 alert(this.say + ', ' + arg1 + ' and ' + arg2); 7 } 8 9 hoge.apply(obj, ['Suzuki', 'Tanaka']); //Hello, Suzuki and Tanaka
- 作者: たにぐちまこと
- 出版社/メーカー: マイナビ
- 発売日: 2012/03/24
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 52回
- この商品を含むブログ (3件) を見る
配列の中から最大値を得る
配列の中から最大値を見つけるっていうのをループとか回さないでできないかなぁ
といろいろ調べてみたところ、ありました。
Math.max.applyを使えば良いみたい。
1 var ary = [3, 2, 5, 4, 1]; 2 alert(Math.max.apply(null, ary));
これを実行すると、ダイアログに配列の最大値の「5」が表示されます。
[もう少し詳しく]
Math.maxっていうのは、値を比較して大きいものを返してくれるもので
Math.max(x, y)
と書くと、xとyを比較して大きい方を返します。
で、実は引数は2個だけじゃなくて、Math.max(x, y, z, …)という風に
いくつも指定できる。
配列の内容を比較したいので、applyを使って渡せば
よい、というのが結論。
jQuery逆引きマニュアル Webデザインの現場で役立つ基本と実践
- 作者: 西畑一馬,中村享介,徳田和規
- 出版社/メーカー: インプレスジャパン
- 発売日: 2010/12/17
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 199回
- この商品を含むブログ (9件) を見る