Macでbrewからredisをインストールしてポートを変更して起動する
brewでredisをインストールする
$ brew install redis
ポート番号変更する場合は下記の項目を変更
$ vim /usr/local/etc/redis.conf port 6379
一時的に起動するときは
$ redis-server /usr/local/etc/redis.conf
ログイン時にいつも起動したい場合は
$ ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents $ cd ~/Library/LaunchAgents $ launchctl unload homebrew.mxcl.redis.plist $ launchctl load homebrew.mxcl.redis.plist
Jenkinsを別ユーザとしてサービスを起動する
セキュリティや権限の関係でデフォルトのjenkinsユーザ以外で
Jenkinsサービスを実行したい場合の手順
/etc/sysconfig/jenkinsを変更して
JENKINS_USERに新しく実行したいJenkinsユーザ名を指定(ここではcustom_jenkins_user)
$ sudo vim /etc/sysconfig/jenkins #JENKINS_HOME="/var/lib/jenkins" JENKINS_HOME="/home/custom_jenkins_user/jenkins_home" #JENKINS_USER="jenkins" JENKINS_USER="custom_jenkins_user"
一時ファイルとログファイルの所有権も新しいJenkinsユーザ名に変更
$ sudo chown custom_jenkins_user: -R /var/log/jenkins/ $ sudo chown custom_jenkins_user: -R /var/cache/jenkins/
Jenkinsのjobがすでにあるときは
下記のようにして引き継げる
$ sudo cp -ipav /var/lib/jenkins/ /home/custom_jenkins_user/jenkins_home/ $ sudo chown custom_jenkins_user: -R /home/custom_jenkins_user/jenkins_home/
VirtualboxでネットワークアダプタのMACアドレスを振り直した際に通信できなくなってしまったときの再設定方法(Linuxの場合)
Virtualboxで.ovaファイルインポート時など
ネットワークアダプタのMACアドレスを振り直した後
通信できなくなってしまったときの再設定方法。
以下Linuxの場合の手順。
もともと使っていた設定ファイルをコピーする
$ cd /etc/sysconfig/network-scripts/ $ cp -ipav ifcfg-eth0 ifcfg-eth2 $ cp -ipav ifcfg-eth1 ifcfg-eth3
それぞれ該当するデバイス名と対応するMACアドレスに設定する
$ vim ifcfg-eth2
DEVICE=eth2
HWADDR=XX:XX:XX:XX:XX:XX
$ vim ifcfg-eth3
DEVICE=eth3
HWADDR=XX:XX:XX:XX:XX:XX
MySQL5.6でUNIX_TIMESTAMPをミリ秒単位まで取得したいとき
MySQL5.6でUNIX_TIMESTAMPをミリ秒単位まで取得したいとき
mysql> select ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000); +------------------------------------------+ | ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) | +------------------------------------------+ | 1450618305656 | +------------------------------------------+
順を追っていくと
今の時刻を小数点以下4位まで取得
mysql> SELECT CURTIME( 4 ); +---------------+ | CURTIME( 4 ) | +---------------+ | 22:30:51.9985 | +---------------+
小数点以下4位まで含むUNIXタイムスタンプにする
mysql> select UNIX_TIMESTAMP(CURTIME(4)); +----------------------------+ | UNIX_TIMESTAMP(CURTIME(4)) | +----------------------------+ | 1450618337.4908 | +----------------------------+
で1000倍してROUND()四捨五入してミリ秒単位までの
UNIXタイムスタンプが得られる
iOSのSafariでSSLのページ中のlocation.hrefのURLがSSLになっていない時の対処法
iPhoneなどのSafariでhttps://foo.bar/にアクセスしているのに
http://foo.bar/のようにURLがhttp://になってしまう際の対処法
console.log(location.href);// http://foo.bar/のようにURLがhttp://で始まってしまう
若干無理やりですが、正規表現でhttp:で始まっている文字列をhttps:に置換することで回避できます。
console.log( location.href.replace(/^http:/i, 'https:') );// https://foo.bar/
余談ですがこのときlocation.protocolはちゃんとhttps:って返してきます。…謎。
console.log(location.protocol); // "https:"
MySQLのsql文でサブクエリをつかったupdateでERROR 1093
たとえばこういう最大の値をもつレコードだけ+1したいというとき
update table_001 set col_01=col_01+1 where col_01 = ( select max(col_01) from table_001 );
ERROR 1093 (HY000): You can't specify target table ’table_001' for update in FROM clause
エラーの理由
http://dev.mysql.com/doc/refman/5.6/ja/subquery-errors.html
サブクエリのfrom句のところをさらにサブクエリにしてテンポラリテーブルにしてしまえば大丈夫
update table_001 set col_01=col_01+1 where col_01 = ( select max(col_01) from (select * from table_001) );
あるいは結合してしまうことでも対処可能
update table_001,( select max(col_01) as col_01_max from table_001 ) set col_01=col_01+1 where col_01 = col_01_max;