unhurried

コンピュータ関連ネタがほとんど、ときどき趣味も…

Mission Peak 春と夏の景色

ベイエリアでは11月頃~3月頃が雨季でこの期間はよく雨が降るのですが、それ以外の時期にはほとんど全くと言って良いほど雨が降りません。 サンノゼから少し北に行ったところにMission Peakという人気のハイキングトレイルがあり、この山は雨季に青々と成長…

React Quick Startを簡単に復習できるサンプルコード

Webアプリのアイデアがふと思い浮かんだので、開発するときにこれまで使ったことのないライブラリを導入してみようと、Reactに挑戦しています。 Reactはドキュメントが充実していて大変素晴らしいのですが、私は物覚えが悪いので一度読んでもすぐに忘れてし…

JavaScript エラー処理(独自エラー・条件分岐)

Javaで例外処理と言えば、Exceptionクラスを継承したクラスを定義して、instanceof演算子で条件分岐するのが定番です。JavaScriptの定番について調べてみたところ、大きくは下記の2パターンがあるようです。 Errorオブジェクトを継承する Errorオブジェクト…

JavaScript オブジェクト指向

私はJavaを長く使ってきたためオブジェクト指向の考え方は馴染み深いのですが、JavaScriptではを使うときにはあまり意識していませんでした。JavaScriptはクラスを定義する方法がいくつかあってややこしいので、簡単に整理してみました。 ES5以前ではclass構…

Node.js モジュール読み込み

Node.jsのモジュール読み込みではmodule.exports、exportsが利用できますが、違いがいまいち理解できていなかったので自分なりに整理してみました。 実装上の違いといった細かいことはリンク先にとても詳しく記載されていますので、今回は使い分け方に焦点を…

vim-mode-plusのキーバインドを変更する

Atomエディタプラグインのvim-mode-plusには通常のVimエディタにあるvimrcを読み込む機能がないため、Atomのキーマップ設定ファイルであるkeymap.csonに設定し、複数のコマンドを割り当てたい場合はAtomの設定ファイルであるinit.coffeeに複数コマンドを1つ…

AtomにVimキーバインドを設定する

学生の頃からVimを愛用して来ましたが、用途によってはプラグインが豊富なAtomの方が便利な場合があるので、AtomでVimキーバインドを設定する方法を調べてみました。 プラグインのインストール vim-mode-plus + ex-mode の組み合わせが推奨されています。 vi…

PlantUML クラス図

前回のシーケンス図に続いてクラス図も作成してみました。 ' コメントはシングルクオーテーションの後に記述する @startuml ' 色設定 skinparam classBorderColor black skinparam classArrowColor black skinparam noteBorderColor black skinparam classAt…

PlantUML シーケンス図

AtomでPlantUMLを編集する環境が整ったので、今回はシーケンス図のサンプルを作成しました。よく使いそうな記法を網羅するようにしていますので、記法を忘れていてもこのサンプルを修正しながら図を記述していくことができると思います。 ' コメントはシング…

PlantUML インストール方法

これまでUMLを記述するのには、仕事でも個人でもastah* communityを利用していました。astah* communityはバージョン7.0から商用利用不可となりましたが、私のUMLの用途はシステムの概要を説明するために簡単なクラス図とシーケンス図を使っていただけでした…

AWS ELB(ALB)にZone Apexドメインを設定する

Zone Apexとは? Apexは頂点、先端という意味で、wwwなどのサブドメインのつかないドメインを意味します。 example.comというドメインを保有している場合、www.example.comはZone Apexではなく、example.comはZone Apexとなります。 Zone ApexにはCNAMEを設…

Heroku Free DynoのSleepを防止する

Herokuでは月に1000時間の稼働稼働枠がもらえますが、無料プランでは30分アプリにアクセスがないとアプリがSleep状態になってしまいます。New Relicアドオンを使って定期的にリクエストを送信することでアプリがSleep状態になることを防げますので、設定手順…

まんがでわかる 7つの習慣

久々にまんがでわかるシリーズを読みました。今回はかなりブームを過ぎていますが、コヴィーの7つの習慣です。 まんがでわかる 7つの習慣作者: フランクリン・コヴィー・ジャパン出版社/メーカー: 宝島社発売日: 2013/10/11メディア: 単行本この商品を含むブ…

アメリカで購入できる胃薬

胃が弱いのでよく胃薬にお世話になります。 アメリカに来た当初は何を買えばよいかわからなかったので、定番を調べてみました。 Tums 気軽に飲める制酸剤。カルシウムの補給用途にも使える。 Zantac H2ブロッカーという胃酸分泌を抑制する薬。 日本の薬局で…

JAX-RSアプリをHerokuにデプロイする

Javaで実装したREST APIをHerokuにデプロイするときに少し迷ったため、今後のためにひな形としてサンプルアプリを作成しました。 github.com ポイント REST APIの実装にはJAX-RS(Java EE)のリファレンス実装であるJerseyを利用する。 Herokuのドキュメント…

Open ID Connect Client

Moved to http://unhrrd.blogspot.com/2017/05/open-id-connect-client.html

MongoDB Node.JS Driver コネクション管理

Java + MySQLではどのフレームワークにも当たり前にあるコネクションプールのようなコネクション管理機能ですが、Node.js + MongoDBではどのように実装するのが常套手段なのかを調べました。 ポイント MongoClient.connectは1度のみ呼び出し、databaseインス…

Callback地獄対策 (3) aa generator

今回は、Qiitaで人気のあるCallback地獄対策の記事で紹介されているaaについて調べてみました。 aaもcoと同様にGeneratorの仕組みを利用して簡単に並列・直列処理フローを記述できるようにするライブラリです。 aaはcoと比べるとthunkify/promisifyが同じラ…

シリコンバレー周辺のお土産

最近にそれなりの量のお土産を買う機会があったので、お土産に良さそうなものを調べてみました。 探す条件 多人数に配れるように個包装されている食べ物や飲み物 シリコンバレー周辺で購入できるもの カリフォルニア、アメリカ、もしくは北米地域発祥で日本…

Callback地獄対策 (2) co generator

Callback地獄対策の2つ目はcoについてまとめました。 coはGeneratorの仕組みを利用して簡単に並列・直列処理フローを記述できるようにするライブラリです。 const co = require('co'); const thunkify = require('thunkify') // callbackを引数にとる一般的…

Callback地獄対策 (1) Promise

NodeJSで非同期処理を書いていくと必ずはまるのが、Callbackで階層が深くなりすぎるいわゆるCallback地獄です。対策を調べてみたところ色々ありすぎて混乱してきてしまったので、何回かに分けて整理してみようと思います。 今回は、非同期処理を行う関数でCa…

Forever Stampでアメリカから国際郵便を送る

アメリカから国際郵便(USPS Frist-Class Mail Int'l)を送るときはGlobal Forever Stampを1枚貼れば良いのですが、普段国内郵便しか使わない人にとっては、Global Forever Stampが手元にないことが多いと思います。調べてみると、国内郵便用のForever Stamp…

Google Cloud Print APIを使った印刷手順

最近はどのプリンターもインターネットに繫がっているのが当たり前になって来ています。Webサービスを作るときにバックグラウンドでプリンターに印刷ジョブを投げれたらいいなというケースがいくつかあったので、その手段の一つとしてGoogle Cloud Print API…

成田・サンフランシスコ間航空機の荷物制限

成田からアメリカへのフライトの際にできる限り多くの物を持っていこうと、成田・サンフランシスコ間を就航している航空会社の荷物制限を調べていました。どなたかの参考になるかもしれないので、載せておきます。 アメリカン航空 手荷物の制限:23kg/個、15…

理容室で使う英語

だいぶ髪が伸びてきてしまったので理容室に行ったのですが、英語でどのように注文すればよいのか悩みました。 結局色々と表現を下調べしてから行き、私の場合はこんな感じのやりとりでできましたので、参考までに紹介します。 Hi, I don't have an appointme…

H2O Wireless Voice Mail設定

北米に来てから日本で購入・アクティベートしたH2O Wirelessを活用していますが、しばらくVoice Mailの設定ができないでいました。というのも、私の場合はKDDI Mobileのマニュアルの方法では設定ができなかったのです。 色々と調べてみた結果、以下の手順で…

日本国内で購入できるアメリカ用SIM

日本国内で購入できる、アメリカ国内通信・通話SIMを調べました。(現地でも調達できるのですが、入国・帰国時の契約の手間を少なくするため) 私の場合は、日本でのアクティベーションができること、日本固定電話通話無料が決めてでH2O Wirelessを契約しま…

Vim:ファイルを関連付けられたプログラムで開く

簡単なレポートはWordなどを使わずテキスト形式でまとめてしまうことが多いです。レポートを書いているときによくあるのが、テキストに画像などのファイルを埋め込みたい(ファイルへのリンクを貼りたい)というものです。調べてみたところカーソル下のファ…

ドル決済できるクレジットカード

アメリカは少額の支払いにもカードを利用するクレジットカード社会という話をよく聞きます。日本で発行したクレジットカードもたいてい利用できるようですが、赴任等で長期滞在する場合は為替差損や手数料が気になるところです。 そこで、アメリカのクレジッ…

Winows 10 で最初に設定したこと

3年ほど使っていたノードPCですが、いよいよバッテリーがへたってきたので、新しく買い換えました。まっさらなWindows 10 環境からセットアップし直したので、初期化時のために最初に設定したことをまとめておきました。 不要なプリインストールプログラムを…

アメリカで使用できるスマートフォン

海外赴任が決まり、アメリカに1年ほど滞在することになりました。 色々と持っていくものを整理していますが、現在使っているスマートフォンがかなり年季が入っているので、 買い替えるついでに現地の通信キャリアにも対応したものにしようと思い、色々と調べ…

AngularJSでCSVファイルを出力する

管理画面などでよく見るCSVエクスポート機能ですが、たいていはサーバーサイドでCSVファイルを生成してブラウザにダウンロードさせる、という方法で実装されていると思います。 今回はクライアントサイドで編集したデータをダウンロードする必要があったため…

MVNOでの転送電話サービス

つい最近DMM mobileにMNPで乗りかえました。が、届いたSIMが翌日に読み取り不良になるという問題が起きました。すぐにSIM再発行をしたものの、到着まで電話を受け取れないのは痛いところです。 調べてみたところ、DMM mobileをはじめMVNO各社も転送電話サー…

なぜ、あなたの仕事は終わらないのか

元マイクロソフトの中島聡さんの著書「なぜ、あなたの仕事は終わらないのか」を読みました。 なぜ、あなたの仕事は終わらないのか スピードは最強の武器である作者: 中島聡出版社/メーカー: 文響社発売日: 2016/06/01メディア: 単行本(ソフトカバー)この商…

携帯各社のSIMロック解除対応まとめ

近々に海外へ行く予定があるので、今使っているスマホに海外SIMを差して使えるか調べていました。 ついでにその他キャリアについても調べたので、簡単にまとめてみます。 docomo 2011年4月-2015年4月発売機種(iPhone以外) 店頭にて3000円で解除できる 2015…

angular-datatablesの使い方

angular-datatablesの使い方(導入まで)をまとめました。 依存ライブラリをインストールする。(手動追加する場合) jQuery、DataTables、AngularJS、angular-datatablesをhtmlからリンクする。 ソート方向を表すアイコンを表示するためにDataTablesのimage…

Waltzing With Bears

In this post, I will introduce "Waltzing with Bears" (Tom DeMarco and Timothy Lister) briefly. Summary Valuable projects always have uncertainty (risks). Derivery date and cost tend to be estimated by summing up only planned tasks at the b…

アップグレード版Windows10のクリーンインストール

いくつかのWebサイトで紹介されていたので、情報を整理してみました。 まとめ インストールメディア(DVD、USBメモリ)はMicrosoftが配布しているツールで作成できる。 https://www.microsoft.com/ja-jp/software-download/windows10 一度アップグレードを実…

The Mythical Man-Month

"The Mythical Man-Month" is a famous book that may be known to any system engineers. I read this book when I was a university student, but I could realize what is written in it when I read it over again after some experience of system deve…

Where To Go お出掛け先管理システム

旅行先などで、いくつか行きたい場所の候補があるときに出てくる、 どこが一番近いのか? それぞれ行くのにどのくらいの時間がかかるのか? どの順番で行けばよいのか? といった悩みを解決するためのアプリを作りました。 Where To Go https://unhurried.gi…

マンガでわかる!マッキンゼー式ロジカルシンキング

マンガでわかる! マッキンゼー式ロジカルシンキング (まんがでわかるシリーズ)作者: 赤羽雄二,大舞キリコ,星井博文出版社/メーカー: 宝島社発売日: 2015/07/25メディア: 単行本この商品を含むブログ (2件) を見る 本書は同じシリーズの他の書籍と異なり、著…

ライブラリ手動追加時のESLintエラーを抑制する

この頃はかなり乗り遅れ感ありますが、こつこつAngularJSを試してみています。 Yeoman generator-gulp-angularで面倒な環境構築はスキップできるのですが、各ツールの動きを知らないせいで、時々はまってしまいます。 今回は手動でライブラリを追加したとき…

Windows VPS

自宅のPCがだいぶ年季入ってきたので、いっそのこと廃棄して完全クラウド化みたいなことができないかと思いつきました。 そこで、Windows系OSでリモートデスクトップが利用できるVPS、と対象を絞って各社のプランを調べてみました。 ベンダー OS 仮想コア メ…

AngularJSのminify対策(ng-annotate)

AngularJSのDI AngularJSのDI(Dependency Injection)は、コントローラーに必要なオブジェクトを注入(定義しておいた変数にセットして)くれる機能です。 このとき、変数に注入すべきオブジェクトは変数名を見て決定しています。 例えば下記のコードでは、…

Apache mod_proxyとmod_aliasの共存

TomcatでWebアプリケーションを動かすときには、クライアントとのコネクション管理や静的コンテンツ配信、セキュリティー向上といったことを目的として、前段にApacheを置くことがあります。 Apache -- (AJP or HTTP) --> Tomcat この構成での静的コンテンツ…

Handling XML with Java

In this post, I will introduce methods of handling XML files with Java. (Ones built in Java SE/EE only.) DOM (Document Object Model) http://www.w3.org/DOM/DOMTR DOM processes XML after loading it with tree data structure. You can write cod…

Bootstrap3 フォームレイアウト

Bootstrap3でフォームを作ろうとして結構はまってしまったので、 ポイントとサンプルコードをメモしておきます。 ポイント 基本はlabel.control-labelとinput.form-controlをdiv.form-groupで囲む。 inputの幅は100%になるので、制限したい場合はstyleを指定…

AngularJS + Gulp の開発環境を作る

最近はGrantよりGulpの方が人気らしいので、試してみました。 最初は一からこつこつ作っていましたが、Yeomanにgeneratorがありました…。 構築手順(というほどのものでもないけれど…) 最新のNode.jsを公式サイト(https://nodejs.org/)からダウンロードし…

まんがでわかる ドラッカーのリーダーシップ論

もしドラで有名になったドラッガーですが、宝島社のまんがでわかるシリーズでも出版されています。 今回も要約を簡単にまとめました。 まんがでわかる ドラッカーのリーダーシップ論作者: 藤屋伸二,nev出版社/メーカー: 宝島社発売日: 2014/04/14メディア: …

REST API テストツール

最近はREST APIを使うこと、作ることが多いので、テストに利用できるツールを調べてみました。 比較した機能 シナリオ登録 複数のAPIを登録して連続で呼び出す機能 変数定義 変数(定数)を定義し、API呼び出しで利用する機能 レスポンス抽出 API呼び出し時…