ビットの海

ゆるふわアラサーエンジニアしゃぜのブログ

ふわっとOpenResty

前提

  • brewがつかえる環境

導入

$ brew install openresty/brew/openresty

設定

$ cd /usr/local/opt/openresty
$ mkdir conf
$ mkdir lua

サンプル配置

/usr/local/opt/openresty/conf/nginx.conf

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    charset UTF-8;
    server {
        listen       80;
        server_name  localhost;

        location / {
                default_type 'text/html';
                content_by_lua_file /usr/local/opt/openresty/lua/hello.lua;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}

/usr/local/opt/openresty/lua/hello.lua

ngx.say("こんにちは世界")

起動と停止

# 起動
sudo /usr/local/opt/openresty/bin/openresty -c /usr/local/opt/openresty/conf/nginx.conf

# 停止
sudo /usr/local/opt/openresty/bin/openresty -s stop

起動してhttp://localhostにアクセスしてみよう!

Oracle JDBC Driverについて淡々とまとめる

おことわり

  • 2018年7月現在の情報
  • 11gR2以降

まとめ

oracle version jar file JDK Certified download link
11g R2 (11.2.0.4), (11.2.0.3), (11.2.0.2.0), (11.2.0.1.0) drivers ojdbc5.jar For use with JDK1.5 link
11g R2 (11.2.0.4), (11.2.0.3), (11.2.0.2.0), (11.2.0.1.0) drivers ojdbc6.jar Certified with JDK8, JDK7, and JDK6 link
12c R1(12.1.0.1) drivers ojdbc6.jar For use with JDK6 link
12c R1(12.1.0.1) drivers ojdbc7.jar Certified with JDK7 and JDK8 link
12c R1(12.1.0.2) drivers ojdbc6.jar For use with JDK6 link
12c R1(12.1.0.2) drivers ojdbc7.jar Certified with JDK7 and JDK8 link
12c R2(12.2.0.1) drivers ojdbc8.jar Certified with JDK 8 link

メモ

  • ojdbc6.jarという同じ名前でも中身が異なる(ややこしい)

関連

ffmpegでSSIM見てみるテスト

いつも忘れるのでメモ

いわゆる画像の類似度の話。SSIM自体はぐぐればいくらでも出るので、ぐぐってくれ。

前提

ffmpeg導入

brew install ffmpeg
ffmpeg -version
ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 8.0.0 (clang-800.0.42.1)

SSIMで画像比較

ffmpeg -i foo1.jpg -i foo2.jpg -filter_complex ssim -an -f null -

(こんなんでる)
SSIM Y:0.931980 (11.673612) U:0.746034 (5.952242) V:0.874818 (9.024588) All:0.850944 (8.266503)

補足

  • ちなみにSSIMは0.90以上が目安と言われている。(動画と静止画ではまた基準が異なる)。

JIMAの電子化文書の画像圧縮ガイドライン https://www.jiima.or.jp/pdf/5_JIIMA_guideline.pdf

Macでsqlplus使えるようにするメモ

Oracleのサイトからzipをダウンロードする

要OracleAccount。。。

これをやったときの最新版は、12.2.0.1.0-2

解凍して適当な場所に配置

unzip ~/Downloads/instantclient-sqlplus-macos.x64-12.2.0.1.0-2.zip -d /usr/local/sqlplus/
unzip ~/Downloads/instantclient-basic-macos.x64-12.2.0.1.0-2.zip -d /usr/local/sqlplus/

pathを通す

.bashrcに下記を追加

export ORACLE_HOME=/usr/local/sqlplus/instantclient_12_2
export PATH=$ORACLE_HOME:$PATH
export DYLD_LIBRARY_PATH=/usr/local/sqlplus/instantclient_12_2

いじょー

JenkinsでPipeline script from SCMを使うとSandboxをoffできないのでとりあえずのquick hack

[JENKINS-44558] P4Groovy works with "Pipeline script from SCM" without disabling sandbox - Jenkins JIRA

Jenkinsfile を書く前に知っておくべきこと (セキュリティ制約編) - あらしおブログ

上記にかかれているように、今のところ、「Pipeline script from SCM」を使うと「Use Groovy Sandbox」がoffできず非常に不便である。めんどくさい。

groovyはgit管理したいので、当面以下のようなquick hack(Definitionを「Pipeline script from SCM」じゃなくて、ただの「pipleline script」状態で記述)。

node {
    git url: 'https://example.com/foobar.git',
    branch: 'master', 
    credentialsId: 'xyz'
    load 'scripts/FooBarExecute.groovy'
}

Jenkinsに登録してあるgitのcredentialsIdが使えるのがポイント。(IDはJenkinsのCredentialsメニューを見よう)。また。loadすることにより、実行される。

FooBarExecute.groovyは普通のpipelineのお作法で書けば良い。

Happy Jenkins !

apt用proxyをrepositoryによっては使いたくないとき

少しハマったので、メモがてら。

社内のdebリポジトリとかがある環境(例えば、http://192.168.1.1/aptとかとする)で、例えば/etc/apt/sources.listに以下のような記述をしたとする。

/etc/apt/sources.list

deb http://192.168.1.1/apt/ ./
deb http://jp.archive.ubuntu.com/ubuntu/ xenial main universe multiverse
deb http://jp.archive.ubuntu.com/ubuntu/ xenial-security main universe multiverse
deb http://jp.archive.ubuntu.com/ubuntu/ xenial-updates main universe multiverse

この状態で外のjp.arhive.ubuntu.comにアクセスするために、下記のようにProxyを設定すると、困ったことに192.168.1.1との通信でもproxyを使おうとしてしまう。まぁ、当たり前なんだけど。

/etc/apt/apt.conf

Acquire::http::proxy "http://myproxy.local";

そんな時は"DIRECT"指定ができるらしく、Proxy使いたくないリポジトリはDIRECTとして書いてあげれば良いらしい。

/etc/apt/apt.conf

Acquire::http::proxy::192.168.1.1 "DIRECT";
Acquire::http::proxy "http://myproxy.local";

べんりー

参考

networking - acquire::http::proxy for only specified repositories - Ask Ubuntu