タグ

ブックマーク / blog.n-z.jp (6)

  • Ruby の文字リテラルについて - @znz blog

    Ruby には ?a で 1 文字のみの文字列を返す文字リテラルというものがあります。 Ruby を 1.9 以降から使い始めた人には 'a' などの文字列リテラルとの使い分けや String#chr の存在意義などがわからないと思ったので、知っている範囲で歴史的経緯を説明してみたいと思います。 Ruby 1.8 以前と Ruby 1.9 以降の違い マルチエンコーディング対応が入る前の文字リテラルは1バイト文字用のリテラルで、多バイト文字は使えませんでした。 コントロールやメタは昔から使えました。 以降の実行例も含めて、実行例は 2.0 以降も同じなので、省略しています。 1.8.6 以前は未確認ですが、1.8.7 とほぼ同じはずです。 $ rbenv each ruby -ve 'p ?a' ruby 1.8.7 (2013-12-22 patchlevel 375) [x86_64-

    peketamin
    peketamin 2017/09/11
  • letsencrypt をメールサーバーにも導入して自動化するまで - @znz blog

    Ubuntu 12.04.5 LTS で letsencrypt 0.4.2 を使って apache2 と postfix と dovecot の証明書の自動更新を設定してみました。 対象環境 Ubuntu 12.04.5 LTS (amd64) letsencrypt 0.4.2 apache2-mpm-prefork 2.2.22-1ubuntu1.10 postfix 2.9.6-1~12.04.3 dovecot-imapd 1:2.0.19-0ubuntu2.2 python 2.7.3-0ubuntu2.2 git 1:1.7.9.5-1ubuntu0.2 事前知識 https://letsencrypt.jp/ や Qiita の記事 などを見て事前に予備知識を得た上で、 Getting Started などで最新情報を確認しました。 Let’s Encrypt 証明書の自動

    peketamin
    peketamin 2017/04/12
  • hamlからslimへの移行でひっかかったこと - @znz blog

    haml より slim の方が速いらしいという話を良く見かけるので、 haml から少しずつ slim に移行しようとして、 haml2slim で変換してみたらひっかかりまくりました。 インデントがない haml は生成される HTML がインデントされていてみやすいのですが、 slim は不要なスペースは入れずにコンパクトな HTML が生成されるようで、 単純に比較できなくて困りましたが、 https://github.com/slim-template/slim#default-options で設定できるようだったので、以下のように設定しました。 config/initializers/slim.rb: if Rails.env.development? Slim::Engine.set_default_options pretty: true end 1.9 hash sty

    peketamin
    peketamin 2017/04/02
  • ansible使いのためのYAML入門 - @znz blog

    ansible の設定ファイルは YAML なのですが、 ansible の説明では YAML 由来のいろんな書き方についてはあまり説明がないので、 ansible の設定ファイルを書く時に知っておくと便利な YAML の知識についてまとめてみました。 YAML のバージョン The Official YAML Web Site によると YAML の仕様としては YAML 1.2 (3rd Edition) まで存在するようですが、 ansible は PyYaml を使っていて、 libyaml binding なので 対応している YAML のバージョンは YAML 1.1 (2nd Edition) になります。 コレクション 参考: 2.1. Collections 配列 - で列挙すると配列になります。 YAML は空白に敏感なので、 -foo のように書くとエラーになります。

    peketamin
    peketamin 2014/06/22
  • 第3回 コンテナ型仮想化の情報交換会@大阪 (コンテナ型VMや関連するカーネル等の技術が話題の勉強会)に参加した - @znz blog

    第3回 コンテナ型仮想化の情報交換会@大阪 (コンテナ型VMや関連するカーネル等の技術が話題の勉強会) に参加してきました。 全体の感想 全体的には LXCDocker に限らず、 Hyper-V 上での FreeBSD jail の話や Vagrant や CircleCI (LXC を使っている) などの話もあって、面白かったです。 会場 ちょっと早めに出発して、梅田から難波橋を通って堺筋を通って会場まで歩いていきました。 場所もわかりやすくて交差点の名前と目的地のビルの名前をちゃんとチェックしていれば迷わずにたどり着けました。 会場無線 LAN があったのですが、 最初に接続した MacBook Air は問題なく繋がっていたのですが、 後から追加でつなごうとした iPod touch は無線 LAN 自体は繋がっているのに APIPA の IP アドレスになっていて、 DHC

    peketamin
    peketamin 2014/04/13
  • installコマンドでコマンド数を減らす - @znz blog

    mkdir とか touch とか chown とか chmod とか個別に実行しなくても install コマンドだけでまとめて出来るという話です。 問題例 Dockerfile の RUN などが典型的な例ですが、他でも例えば mkdir -p /home/foo/.ssh; chown foo /home/foo/.ssh; chmod 0700 /home/foo/.ssh のようなことをすることがあると思います。 特に Dockerfile の場合は RUN ごとにイメージがたまっていくこともあって、 ; や && でつなげて単独の RUN にまとめて書くことも多いと思います。 install でディレクトリを作る たとえば mkdir -p /home/foo/.ssh chown foo /home/foo/.ssh chgrp users /home/foo/.ssh ch

    peketamin
    peketamin 2014/02/15
    ななななな
  • 1