u-ryo's blog

various information for coding...

Author: U-ryo

AuthType None

| Comments

さっき同僚に聞かれて調べました。 apacheにおけるBasic認証/Form認証等を 子ディレクトリにおいては無効にしたい場合、 .htaccessに、

1
Satisfy Any

と書けば良い、という説が諸所にあったのですが、 ちゃんとキャンセルするには、

1
2
AuthType None
Require all granted

とすべき、みたいです。 「AuthType None」だけだと、 「No authentication done but request not allowed without authentication for /~u-ryo/test/test/. Authentication not configured?」と言われて500 Internal Server Errorになってしまいます。

親ディレクトリではIP制限とBasic認証を同時にかけて、 子ディレクトリではIP制限だけ、 且つBasic認証のポップアップは出ないように (IP制限で弾かれれば即403)、 という要件だったので、

1
2
3
4
5
6
AuthType Basic
AuthName test
AuthUserFile password.txt
require valid-user
Allow from 127.0.0.1
Satisfy Any

1
2
3
4
5
6
AuthType None
Require all granted
Order deny,allow
Allow from 127.0.0.1
Deny from all
Satisfy All

といった感じで解決しました。

Koding

| Comments

今はコード書くのもブラウザでやるんですね。 Kodingで開発環境が、shellまで含めて、ブラウザで完結するなんて。 Cloud9も試してみましたが、 無料で使える範囲では、Kodingの方が良かったですぼくにとっては。

  • メモリが1GB(Cloud9では512MB)
  • ディスク容量も若干多い(Cloud9は1GB)
  • Grainを動かしてみたんですが、どちらでもOutOfMemoryErrorになったものの、Kodingではswapon出来た(Cloud9ではnot permittedと言われる)

なるほど、これでChromebookでもバリバリ開発が出来るわけですか。 今や、ブラウザ上で画像編集や動画編集まで出来るとは。 (Chromebook購入後に、究極のPCへ変貌させるWebサービスたちが完璧過ぎ!) かなり置いてけぼりを食らっている感じです。

尚、この投稿は、Koding上で開いたworkspaceにgit cloneして環境を作り、付属のエディタで書いて、 grainwして生成しています。

Zaim

| Comments

最近、家計簿アプリ「Zaim」がマイブームです。

銀行口座連携くらいでは驚かなかったんですけど、 OCRによる「レシート読み取り」がここまで出来るとは、 思っていませんでした。 セブンイレブン、ローソン等のコンビニ系レシートなら、 ほぼ一発で完璧に読み取ってくれます。 日付、内訳は勿論、店名も「セブンイレブン○○店」まで。 電話番号を読み取って、 それをインターネットで検索してるんですね。 なるほど。

当初はMoney Forwardを使っていたんですが、 レシートの内訳も管理したくて、 より利用者の多いZaimに乗り換えました。

zaimの銀行連携について、 セキュリティの不安を提起する尤もな向きもあるようです。 そうですね、確かに。 Zaim側が生パスワード、保持してないと出来ない仕組ですから、 彼ら、持っちゃってますよね。 でも、便利なのでつい... 本当は、「自分でCSV落として食わせてね」だったと思いますけど、 それじゃぁここまで広がらなかったのでしょう。

それより、OCRがここまで進化していたとは。 おかげで、溜まりに溜まっていたレシートを、 うん百枚単位で片付けられました。 でも、こういうのってスマホを持ってないと気付かないものですね。

Created My Blog by Grain

| Comments

Blog、はじめました

非常に遅まきながら、blogを作ってみました。

きしださんの2014-02-25(火) コミュニティに入るか入らないかでエンジニアとしての幸福度がかわるを見まして、 なるほどそうだなぁと思い、 そのためには発信していかなきゃ、 ということで、 始めました。

blog環境は世に数多あれど、 editorで書きたい、 dataを手元に置いておきたい、 ということから、 Qiitaやはてぶ等ではなく、 Github Pagesを用いました。 Github Pagesというのがあってblogに使える、 というのも今回初めて知りました。 この場合の世の趨勢は「Github Pages + Jekyll」、 ただ数が多くなると重くなるということで、 最近は「Github Pages + Hugo」に乗り換える人が多いようですが、 Java屋さんとしては、 Gradleで行けるGrainというのがあるというのを知り、 それを使ってみました。 わかってしまえば、結構簡単に入ります。

  1. まず、https://github.com で自分のGithub Pages repository(必ず「ユーザーID.github.io」という名前)を作成します。 中身は空で構いません。

  2. それから、GrainのOctopress用テーマを持ってきます。 これがGrainを含んでおり、また現状唯一のblog用のテーマです。 https://github.com/sysgears/grain-theme-octopress/releases で適宜最新版を確認してみて下さい。

    1
    
    $ wget -O - https://github.com/sysgears/grain-theme-octopress/archive/v0.4.5.tar.gz|tar xvfz -
    

  3. この状態で、プレビュー出来ます。

    1
    2
    
    $ cd grain-theme-octopress-0.4.5
    $ ./gradlew
    
    とすると、 http://localhost:4000/ でプレビューできます。 (本当は「./grainw 」でプレビューなんですがうまく行きませんでした)

  4. 新しい記事を作成するには、以下のようにします。

    1
    
    $ ./grainw create-post 'Any blog post title'
    
    すると、 「./content/blog/yyyy-mm-dd-上で指定したタイトル.markdown」

というfileが出来ます。それを編集します。

  1. Github Pagesにデプロイするには、 SiteConfig.groovy という設定ファイルの中に、 github のURLを書きます。 私の場合は、↓こうでした。

    1
    
    gh_pages_url = 'git@github.com:u-ryo/u-ryo.github.io.git'
    
    sshでgithubにアップロード出来るように、 https://github.com/settings/ssh で手元のマシンのssh public keyを登録しておきます。

  2. そうしておいてから、

    1
    
    $ ./grainw gendeploy
    
    とすると、私(ユーザーID:u-ryo)の場合は、 http://u-ryo.github.io/ でblogが見られる、という塩梅です。

  3. タイトル等このblogの設定は、 SiteConfig.groovy の中身を適宜変更すれば良いです。

...というようなことを、これから少しずつ発信していきたいと思います。

はまった点

  • grain-theme-octopress をgit cloneするとうまく行かず(./grainw generateで止まりました)、tar.gzファイルを落として展開するとうまく行った(./grainw generateが通った)
  • 記事ヘッダの「author:」で、文字列はシングルクォートないしダブルクオーテーションで囲む必要がある(groovyで処理するので、「文字列」にしておかないと後でエラーになります)
  • emacsのバックアップファイル(拡張子の最後に「~」が付くもの)もblogファイルと見做されてしまうため、消す必要がある(また、書いている途中だと「.#〜」というロックファイルが出来るが、これがあるとプレビューが立ち上がらない)