ターミナルで利用可能なテキストエディタの slap を導入

Sublime に似ていて、ターミナルで利用できるといううたい文句に興味をもって slap を導入した。node.js で開発されており、 npm でインストールする。

npm install -g slap

起動は slap 起動させたときの画面は次のようになる。終了させるには C-q を押す。キーバイディングは slap.ini に書かれている。

PHP: UTF-8 の電子メールアドレスのバリデーション

Symfony 2.5 で採用された EmailValidator は UTF-8 のメールアドレスに対応しており、次のような日本語が含まれる場合にも有効なメールアドレスとして判定する。ただし、この記事を書いた時点(2014年8月)では不正なバイト列が含まれる場合にも通してしまうので、mb_check_encoding や preg_match などを使ってエンコーディングの妥当性をチェックする必要がある。

UTF-8 のメールアドレスを送信するには SMTPUTF8 をサポートするメールサーバーが必要である。Postfix は2014年7月にリリースされたバージョン 2.12 で SMTPUTF8 をサポートするようになった。

require_once 'vendor/autoload.php';

use Egulias\EmailValidator\EmailValidator;

$email = "甲斐@黒川.日本";
$email2 = "甲斐\x80@黒川.日本";
$validator = new EmailValidator;

var_dump(
    true === $validator->isValid($email),
    true === $validator->isValid($email2)
);

UTF-8 のメールアドレスを利用する場合、ラテン文字とまぎらわしい文字を混在させた国際化ドメインによるフィッシング対策が必要になる。Gmail の仕様では、UTR#39 の「Highly Restrictive」を採用している。具体的なまぎらわしい文字の例はITmedia の記事を参照。Gmail のエイリアスでも UTF-8 に対応しており、「example+テスト@gmail.com」のような文字列が使える。

Backbone.js: Backbone.Modal プラグインを使う

github よりダウンロードして、examples のコードを試した。

<html>
<head>
  <script type="text/javascript" src="examples/vendor/jquery-1.9.1.js"></script>
  <script type="text/javascript" src="examples/vendor/underscore.js"></script>
  <script type="text/javascript" src="examples/vendor/backbone.js"></script>

  <link type="text/css" rel="stylesheet" href="examples/vendor/backbone.modal.css">
  <link type="text/css" rel="stylesheet" href="examples/vendor/backbone.modal.theme.css">
  <script type="text/javascript" src="examples/vendor/backbone.modal.js"></script>
</head>
<body>

<a href="#" class="open">モーダルを開く</a>

 <div class="app"></div>
<script type="text/template" id="modal-template">
<div class="bbm-modal__topbar">
  <h3 class="bbm-modal__title">タイトル</h3>
</div>
<div class="bbm-modal__section">
ボディ
</div>
<div class="bbm-modal__bottombar">
  <a href="#" class="bbm-button">閉じる</a>
</div>
</script>

<script>
jQuery(function($) {

var Modal = Backbone.Modal.extend({
  template: _.template($('#modal-template').html()),
  cancelEl: '.bbm-button'
});

$('.open').on('click', function(){
  var modalView = new Modal();
  $('.app').html(modalView.render().el);
});

});
</script>
</body>
</html>

格安 SIM プランを調べた

現在、AU の Wi-Fi WALKER DATA08W に契約しているが、ルーターをあまり使わなくなってきているので、別の契約にするか検討している。 ソフトバンクの au ケータイに切り替えて au スマートバリューにすれば、ルーターを使わない月の基本料は372円で2015年5月までは0円になるそうだが、au のケータイに切り替えると基本通信費用が増えてしまうので、逡巡している。

興味を引いた SIM サービスを挙げる。

料金プランが素直でわかりやすさという点で U-Mobile がよいのではないと思う。1GB、3GB、5GB、7GB のプランが示されており、通信データの増加に応じて費用がどれだけ増えてゆくのかを計算しやすい。SIM プランではないが、AU の新料金プランでは10GB、13GB のプランがある。ほかの SIM サービスでは需要が多いデータ容量のプランに絞っているので、わかりやすくなる反面、プランにないデータ容量になると、ほかのサービスを検討しなければならなくなる。また、多くのサービスが規定量超過のときの追加チャージの費用が割高になっているのに対して、U-mobile は 1GB 800円と基本料金とほとんど変わらない。

次に関心を引いたのは KDDI の通信回線を利用する mineo。居住地域の au のサービスエリアを調べると 4G LTE 対応は終わっているのでサービスは利用可能である。

ほかに興味を引いたのは公衆無線 LAN サービスの w2 300 も利用可能な BIC SIM。地元の駅前を調べると、いろいろなお店が w2 300 を提供していた。

SIM サービスを契約する場合、自分でモバイルルーターを用意する必要があるので、候補を調べると、最大12時間の連続通信ができる Aterm MR03LN の評判がよいようだ。最新の格安スマートフォンを購入してテザリングを利用する選択肢もある。

JavaScript: イベントマシンのライブラリを使う

javascript-state-machine を試してみた。

var stm = require('javascript-state-machine');

var fsm = stm.create({
  initial: 'green',
  events: [
    { name: 'warn',  from: 'green',  to: 'yellow' },
    { name: 'panic', from: 'yellow', to: 'red'    },
    { name: 'calm',  from: 'red',    to: 'yellow' },
    { name: 'clear', from: 'yellow', to: 'green'  }
]});

console.log('green' === fsm.current);
console.log(true === fsm.is('green'));
console.log(true === fsm.can('warn'));

fsm.warn();

console.log('yellow' === fsm.current);
console.log(true === fsm.is('yellow'));
console.log(true === fsm.can('panic'));
アーカイブ ランダム ホーム 次のページ ページ 1 / 367