unhurried

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

加湿器の比較

冬場の乾燥が気になるので、加湿器を購入しようと、加湿方式の違いや必要な加湿量など少し調べてみました。

加湿方式の比較
加湿方式 原理 メリット デメリット
スチーム式 水をヒーターで加熱して蒸気を発生させる。 加熱により水蒸気の除菌とミネラル除去ができる。
メンテナンスが簡単。
加湿力が高い。
電気代が高い。
送風口が熱くなる。
気化式 フィルターに水を染み込ませて気化させる。 電気代が安い。 タンクやフィルターが汚れると水蒸気が清潔でなくなる。
送風ファンの音がする。
加湿力が低い。
超音波式 水に超音波を当てて水蒸気にする。 本体価格が安い。
動作音が静かである。
タンクが汚れると水蒸気が清潔でなくなる。
水蒸気の粒が大きいため、部屋が濡れることがある。
水中のミネラルが部屋に付着することがある。
ハイブリッド式 気化式+ヒーター 電気代が安い。 タンクやフィルターが汚れると水蒸気が清潔でなくなる。
本体価格が高い。
必要な加湿量の目安

鉄筋コンクリートの10畳の洋室で300~500ml/h程度

参考

Google ChromeでAdobe Flashを有効化する

ページにアクセスする度にFlashを有効化する方法

Google ChromeはデフォルトではFlashが有効化されていないため、下記の方法でページにアクセスする度に有効化する必要がある。

  • Flashが埋め込まれたWebページを表示すると「クリックして Adobe Flash Player を有効にします」というボタンが表示される。
  • このボタンをクリックするとそのページでのFlashが有効される。
常にFlashを有効化する方法

Flashを有効化していないブラウザに対してはFlashコンテンツを表示せずにエラー画面を表示するページもあり、この場合には「クリックして Adobe Flash Player を有効にします」ボタンが表示されない。この場合は下記の方法で特定のサイトでのFlashを常に有効化することができる。

  • 対象のWebページにアクセスする。
  • アドレスバーの左端にある鍵アイコン(暗号化通信の場合)または情報アイコン(その他の場合)をクリックする。
  • 「サイトの設定」を選択し「Flash」の項目で「許可」を設定する。
参考

Windowsでシェルを使う

調べてみた限りではMSYS2を利用するのが良さそうでした。セットアップ手順をまとめています。

端末で使うフォントをインストールする

端末のデフォルトフォントは読みにくいため別のフォントをインストールする。

MSYS2をインストールする

以下のURLからインストーラをダウンロードして実行する。

必要なパッケージをインストールする
pacman -Syu # パッケージを最新の状態にする
# 必要に応じてパッケージを追加する
pacman -S vim
各種設定ファイルを編集する

~/.minttyrc

BoldAsFont=no
Font=MyricaM M
FontHeight=11

Columns=90
Rows=40
CursorType=block
Scrollbar=none

Locale=ja_JP
Charset=UTF-8
Term=xterm-256color

CopyOnSelect=yes
RightClickAction=paste
BackspaceSendsBS=yes

IMECursorColour=255,0,0

~/.bashrc

# 下記部分のコメントアウトを外す
if [ -f "${HOME}/.bash_aliases" ]; then
  source "${HOME}/.bash_aliases"
fi

~/.bash_aliases

alias ls='ls --color=auto --show-control-chars --time-style=long-iso -FH'
alias ll='ls -lA'
alias la='ls -A'
alias vi='vim'
よく使うディレクトリへシンボリックリンクを作成する

msys2_shell.cmdの下記行のコメントアウトを外し、管理者権限で起動する。

rem To activate windows native symlinks uncomment next line
set MSYS=winsymlinks:nativestrict

lnコマンドでシンボリックリンクを作成する。

# 例:~/xxx -> C:\Users\xxx
ln -s /C/Users/xxx ~
参考

Angular 5 + Bootstrap 3でElectronアプリ開発

ElectronでAngular 5とBootstrap 3を使う方法をまとめました。ng-bootstrapngx-bootstrapはAngular 5には対応していないため、Bootstrap 3を動かすためにjQueryを使っています。

  • Electronをインストールする。
npm -g install electron
  • Electron用のプロジェクトを新規作成する。
npm init -y
{
  ...
  "main": "main.js",
  ...
}
  • main.js ではこの後に作成するAngularプロジェクトのビルドで生成されるindex.htmlを参照するように設定する。
'use strict';

const { app, BrowserWindow, protocol } = require('electron');
const path = require('path');
const url = require('url');

var mainWindow = null;

app.on('window-all-closed', function() {
  if (process.platform != 'darwin')
    app.quit();
});

app.on('ready', function() {
  mainWindow = new BrowserWindow({ width: 800, height: 600 });
  mainWindow.loadURL('file://' + __dirname + '/angular/dist/index.html');

  mainWindow.webContents.openDevTools();

  mainWindow.on('closed', function() {
    mainWindow = null;
  });
});
  • Angular用のプロジェクトを作成してBootstrapとjQueryをインストールする。
npm install -g @angular/cli@latest
ng new angular
cd angular
npm install bootstrap --save
npm install jquery --save
npm install @types/jquery --save-dev
{
  ...
  "styles": [
    "../node_modules/bootstrap/dist/css/bootstrap.min.css",
    "styles.css"
  ],
  "scripts": [
    "../node_modules/bootstrap/dist/js/bootstrap.min.js"
  ],
  ...
}
  • angular/src/index.html にbaseパスを指定する。
    • baseパスを指定しない場合、Electronは相対パスをルートからの相対パスを解釈してしまうため。
...
<head>
  <base href="./">
...
  • angular/src/index.htmlでJQueryを読み込む。
    • Electronの問題でBootstrapと同じ方法では読み込めない。
...
<script>
window.jQuery = window.$ = require('../node_modules/jquery/dist/jquery.min.js');
...
  • Angularビルド後にelectronコマンドを実行するとアプリを起動できる。
ng build
electron ../
その他
  • Angular 5をangular-cliでインストールした状態ではnpm依存関係の警告が出ますが、これは今後のアップデートで解消されると思います。
my-app@0.0.0 C:\Users\tkykt\home\git\electron-angular-bootstrap
+-- UNMET PEER DEPENDENCY @angular/compiler@5.0.1
+-- UNMET PEER DEPENDENCY @angular/core@5.0.1
`-- bootstrap@3.3.7

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.1.3
npm WARN codelyzer@3.2.2 requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <5.0.0 but none was installed.
npm WARN codelyzer@3.2.2 requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <5.0.0 but none was installed.
参考

各銀行ATMでの硬貨預け入れ条件

私は普段は財布をポケットに入れているのであまり小銭を持ち歩きたくないのですが、現金でしか支払えないお店もあるので、どうしても小銭が溜まってしまうことがあります。そこで銀行のATMで簡単に硬貨を預け入れできないかと思い、各銀行(長野県内)の対応状況を調べてみました。

ゆうちょ銀行
  • 平日7:00~21:00 土日祝9:00~17:00
  • 一度の預け入れで計100枚まで
八十二銀行
みずほ銀行
三井住友銀行
  • 窓口に併設されたATMのみ

  • 平日8:45~18:00のみ

  • 一度の預け入れで計100枚まで

りそな銀行
  • 一部の店舗・機械のみ

  • 平日8:45~18:00のみ

長野ろうきん
  • 情報なし
長野銀行
  • 情報なし
松本信用金庫
  • 情報なし

SwaggerCodegenでAPIモックを作る

API仕様を定義するフォーマットとしてデファクトスタンダートとなりつつあるSwaggerを利用してAPIモックを作ろうとしたときにはまったところがありましたので、メモしておきます。

手順(Node.js)

(1) SwaggerCodegenをダウンロードする。

# Mavenリポジトリからjarファイルをダウンロードする。
wget http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.3/swagger-codegen-cli-2.2.3.jar -O swagger-codegen-cli.jar
# helpを表示してみる。
java -jar swagger-codegen-cli.jar help

(2) Swaggerファイルからモック用のコードを生成する。

# -i Swaggerファイル
# -o 出力先ディレクトリ
java -jar swagger-codegen-cli-2.2.3.jar generate -i activation3.yaml -l nodejs-server -o nodejs
node nodejs\index.js
はまったところ
APIを呼び出したときに下記のエラーが出力される
Error: Cannot resolve the configured swagger-router handler: xxx
    at swaggerRouter ...
  • 私の場合の原因はコード生成時に変数名として利用される以下の項目にマルチバイト文字が使われていたためでした。
    • operationId
    • tags

参考