初級ガイド

技術ブログ

ライセンス周りメモ

開発に使うツール・ソフト群のライセンス周りを調べる。

2017/06/14現在

名前 区分 ライセンスページ
webpack MIT ライセンス
Vue.js MIT ライセンス
Firebase - 利用規約

// TODO 増えたら追記する

Macメモ

背景

WindowsユーザーがMacを快適に使うための設定をまとめる。備忘録。

キーバインド・ショートカット

  • かな英変換[USキーボードの場合]
    かな英変換のキーバインドを変更してカタカナを候補から外すと快適。JISキーボードなら直接変換するためのキーがある。
  • CommandとCapsのキーバインドを入れ替え
    キーバインドの変更方法:「システム環境設定」→「キーボード」→「修飾キー(右下あたりにある)」でCommandとCapsの設定を入れ替える。
    Winでのコピペ(Ctrl+C Ctrl+V)がMacでは(Command+C Command+V)であるなどCtrl代わりにCommandキーを使うため、WinキーボードにおけるCtrlの位置にCommandのキーバインドを設定すると慣れ親しんだ操作感になる。
  • ショートカット
    Tab + Command:アクティブウィンドウの切り替えが便利。
  • ツール
    ランチャーアプリ Alfred が便利。

その他

  • コマンドプロンプト
    Macでは「ターミナル」という名前。
  • 改行コードの違い
    Windowsでは改行コードとして「¥(円マーク)」と「\(バックスラッシュ)」が同一のものとして扱われるが、Macではそれぞれ別モノ扱いで「\(バックスラッシュ)」のみが改行コードとして認識される。Macで「\(バックスラッシュ)」を入力するには「Option + ¥」。

備忘録 - 8パズル

8パズルを幅優先探索+メモ化で実装した。

幅優先探索

Queueを使って実装した。

いくつか種類があり、用途に応じて使い分ければ良さそう。実行速度や消費メモリの差は要調査。

addで入れてpollで引き出す。終了判定にpeekを使う。

メモ化

グローバル変数にハッシュマップを用意して探索空間の状態を保存する。
次の空間を探索する前にハッシュマップに保存されていないか確認して、すでに保存されていたらその探索を破棄する。

HashMap<String, String> map = new HashMap<String, String>();
ArrayList<Integer> array = new ArrayList<>();

//memo check
String s = array.toString();
if(map.containsKey(s))
 continue;

//memo resist
map.put(s,array.indexOf(9));

参考・その他

スライディングパズルはA*で解くのが一般的らしい。
他の工夫として、ゴールから逆順に辿る処理を通常の探索と交互に挟んでいくことで高速化できるとのこと。

15パズル - Wikipedia

メモ化 - Wikipedia

A* - Wikipedia

www.geocities.jp

デザインメモ - mdl / bootstrap

photoshopvip.net

getmdl.io

Firebase + webpack + Vue を使った開発デモ

中間報告(17/05/06)

フロント開発環境を整えようと奮闘しているところです。 来週もおおむねそのような活動をしていきます。