タブ文字で grep する
test(タブ文字) みたいなのを grep したい場合。
ターミナル
$ grep "test(タブ文字)" /path/to/file
のように入力したいが、普通に入力するとシェルがタブ文字を奪う。 bash, zsh の場合は ctrl-v を入力してからタブを打つと入力される。
ただし、これはメモなどからコピペするときに苦労する。
[:space:] の利用
空白文字もマッチしてしまうけど、それでもよければ [[:space:]]
でタブ文字もマッチする。
これならメモなどからコピペできる。
$ grep "test[[:space:]]" /path/to/file
$'\t'
$ grep "test$'\t'" /path/to/file
はうまくマッチしなかった。
$ grep test$'\t' /path/to/file
であればマッチする。
どんなふうに展開されるか追っていけば使えるかもしれないが、よくわかっていない。
Zendesk で独自ドメインのサポートアドレスを使用する設定の SPF レコードチェックでエラーが出た
Zendesk のサポートアドレスに独自ドメインを使用する場合は SPF レコードに mail.zendesk.com を指定すると、メールから Zendesk という文字が消えるので顧客は Zendesk を意識せずにサポートを受けることができる。
自社のメールドメインを使用してメールをZendeskから代理送信する方法
設定しようとしたドメインでは、Google Apps のドメインの所有チェックの認証コードも TXT レコードに入れていたので、以下のように設定した。
"v=spf1 +include:_spf.google.com +include:mail.zendesk.com -all" "google-site-verification=XXXXXXXXXXXXXXXXX"
しかし、上記では Zendesk のチェックを通らなかった。
いくつかの SPF レコードのチェッカをためしたところ allgoogle-site-verification という引数は駄目だというようなメッセージが出ていたので、 試しに all の後ろに空白文字を入れたら通った。
"v=spf1 +include:_spf.google.com +include:mail.zendesk.com -all " "google-site-verification=XXXXXXXXXXXXXXXXX"
正しい対処では無い気がする。
シェルスクリプトで find の結果で回すときに空白文字が含まれるファイル名が含まれる場合の対処
IFS を改行のみにしておくとよい。
IFS=$'\n' for file in $(find /path/to/directory -name "*.txt"); do echo "$file" done
SimpleSAMLphp で開発用の SAML ID Provider を立てる
SAML によるシングルサインオンに対応したアプリを作るときに、開発環境としてお手軽に試せる ID Provider があると便利なので、SimpleSAMLphp でタダで作る。
OneLogin のアカウントを持っている場合は、 "SAML Test Connector (IdP)" を使えば簡単に作れる。
確認環境
- CentOS 6.5
- PHP 5.3.3
- SimpleSAMLphp 1.13.2
- onelogin/java-saml 1.1.2
インストール
simpleSAMLphp Installation and Configuration を参考にインストールする。
ダウンロードした SimpleSAMLphp のアーカイブを /var/simplesamlphp に展開し、Apache の設定で
Alias /simplesaml /var/simplesamlphp/www
PHP などが正しくインストールされていれば http://hostname/simplesaml/ で以下の様な画面が見える。
設定
admin ユーザのログインパスワード
// config/config.php
'auth.adminpassword' => 'test',
Web 画面でログインできるか確認する。
saml20-idp モジュールを有効化
// config/config.php
'enable.saml20-idp' => true,
Web 画面の設定タブの "SAML 2.0 IdP" が有効化されているか確認する。
認証方法を設定する(exampleauth)
### 有効化 $ touch modules/exampleauth/enable
ID = suer
、パスワード = test
でログインできるようにしておく。
// config/authsources.php <?php $config = array( 'example-userpass' => array( 'exampleauth:UserPass', 'suer:test' => array( 'uid' => array('suer'), 'eduPersonAffiliation' => array('member', 'employee'), ), ),
自己証明書を作成
$ mkdir -p cert $ cd cert $ openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out server.crt -keyout server.pem
設定は
// metadata/saml20-idp-hosted.php 'privatekey' => 'server.pem', 'certificate' => 'server.crt',
Service Provider の準備
ここでは確認のため、 GitHub - onelogin/java-saml: Java SAML toolkit の Sample アプリを使う。
$ git clone https://github.com/onelogin/java-saml.git $ cd java-saml $ mvn package -Dmaven.test.skip=true $ cd sample $ mvn jetty:run
Service Provider の登録
// metadata/saml20-sp-remote.php $metadata['http://localhost:8080/index.jsp'] = array( 'AssertionConsumerService' => 'http://localhost:8080/consume.jsp', 'SingleLogoutService' => '', 'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress', 'simplesaml.nameidattribute' => 'uid', 'simplesaml.attributes' => FALSE, );
http://localhost:8080/index.jsp や http://localhost:8080/consume.jsp は java-saml のサンプルアプリのアドレス。
Service Provider に登録する情報
Web ページの "連携" タブ > SAML 2.0 IdP メタデータの表示から確認
- ID Provider の URL: md:SingleSignOnService#Location の値(http://xxxxxx/xxxxxx/saml2/idp/SSOService.php)
- 証明書: ds:X509Certificate の値 をコピーするか、同ページからダウンロードすることもできる
java-saml のサンプルアプリに ID Provider を設定する
修正するのは以下の2箇所。
// src/main/webapp/index.jsp accSettings.setIdpSsoTargetUrl("ID Provider の URL");
// src/main/webapp/consume.jsp String certificateS = "証明書の内容";
確認
$ mvn jetty:run
ブラウザで http://localhost:8080/ にアクセスして、 SimpleSAMLphp 経由でシングルサインオンできれば成功。
一度目はログイン画面が表示される。
ログインに成功した場合もしくは既にログイン済みの場合、consume.jsp 転送されて ID が表示される。
Atom の Markdown Preview の中国語フォントを日本語フォントにする
環境
Atom 1.1.0
GitHub.com のスタイルに変更
- Packages > Settings View > Open (もしくは ctrl+ ,)
- packages タブから markdown-preview を検索して Settings ボタンをクリック
- Use GitHub.com style をチェック
プレビューのフォントを変更
- Packages > Settings View > Open (もしくは ctrl+ ,)
- Themes タブを開き your stylesheet をクリック
- style.less が開くので末尾に以下を追加
.markdown-preview, .markdown-preview[data-use-github-style] { font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }