ゼルダやってた
最初のほう。
あんまりスクリーンショット撮ってなかった。
祠さん……
ライネルさん……
まじゲーム下手なので最初はヒノックスすら怯えてて、ライネルとか全く勝てなかったけど、片手剣のライネルなら安定して倒せるようになっておもしろくなった。よくできてるなあと思った。
ゲーム内のカメラを使わないと自録りができないんだけど、そうするとフルスクリーンで撮影できないのがもったいない。
カメラ向けると喋ってるNPCも目線くれるのおもしろい。
関連エントリー
- デジタル一眼レフ (EOS) をウェブカメラ的にとして使う スクリーンキャストとカメラの同時録画 の動画を撮ったときは Mac 内蔵のカメラを使ったので、自由にカメラを動かせず難儀した。ウェブカメラが...
- Mac で外部カメラとスクリーン録画を同時にやる (カメラ+スクリーンキャスト) 前までできなかったと思うんだけど、比較的簡単にできるようになっていた。 QuickTime Player に「ファイル」→「新規画面収録」と...
- Google+ の画像自動バックアップで、一部画像がアップロードされないとき Google+ の画像自動バックアップは、デフォルトだとカメラで撮影されたものしかアップロードされない。(いつのまにかこういう仕様になってた...
- ユーチューバー活動 ちょっと前まで日記の補足として動画を用いてきて、YouTube にあげるにせよ音もなにもなくスクリーンキャストだけというのが多かったけど、動...
- 子どもに COOLPIX W100 Nikon デジタルカメラ COOLPIX W100 防水 W100PK クールピクス ピンク cho45 Nikon ★ 4.0 / 5....
macOS Sierrra にしたら ssh 時に毎回秘密鍵のパスフレーズを聞かれるようになった
Sierra になる前はキーチェーンに勝手に登録されてうまいことやってくれてた気がするけど、うまいことやってくれなくなった。
機能が削除されたわけではなくてデフォルトで無効化されたらしい。
Host * AddKeysToAgent yes UseKeychain yes
を ~/.ssh/config に追記した
関連エントリー
- ssh-keygen 最近はこう ssh-keygen -t ecdsa -b 521 最近の raspi イメージはデフォルトで弱い暗号方式を無効化してあるので...
- 最近の Raspberry Pi はデフォルトで ssh が無効 Raspbian 2016-11-25 のリリースから ssh がデフォルトで無効になっていて port 22: Connection re...
- Sierra にしたらリモートの日本語が化けるようになった 以下のような環境で日本語が化けるようになった。 macOS Sierra リモートで screen を使っている ssh host -t s...
- 最近の ssh では YAMAHA RTX1200 に接続できない no matching key exchange method found. Their offer: diffie-hellman-gro...
- Shortcut Recorder がうまく動かなかった Xcode 6.1.1 で Shortcut Recorder の 440a3d18e688142cd00fc88e4dc36ff35544...
SmooseMouse が Sierra で使えなかった
https://steelseries.com/downloads?utm_source=smoothmouse.com&utm_medium=recommendation
から ExactMouse tool というのをダウンロードして起動すると加速をきれる。
✖
✖
Ruby Sequel で生 SQL をメインに使う
Sequel はドキュメント見ると SQL そのまま書くやりかたもとクエリビルダを介すやりかたも許されていると感じるので (別に他のライブラリでも可能だろうが)、導入負荷が低くてよさそうです。結構機能はもりだくさんありますが必要なければ使わないのも許されてる感じもよさそうです。
Sequel でのクエリ発行のしかたは sequel/querying.rdoc at master · jeremyevans/sequel · GitHub を読むとだいたい網羅できるが、特に自分に重要なところだけ別途メモしておく。
モデルを使っても使わなくても SQL クエリはそのまま発行できる。複雑な JOIN も安心。
モデルを使わない場合
SQL を発行して Hash として取得できる。
dastaset = DB["SELECT * FROM foo"] dataset.all # 全インスタンス化
モデルを使う場合
任意の SQL を発行しつつあるモデルとしてインスタンス化したい場合
class Foo < Sequel::Model(:foo)
end
dataset = Foo.with_sql("SELECT * FROM foo")
dataset.all # 全インスタンス化 Sequel::Model(:foo) の :foo はテーブル名を渡す。何も渡さないとクラス名を複数形にしたものを探そうとする。が明示したほうが良いと思います。
どういうときにモデルを使うか
使いたいときに使う。単にクエリ投げたいだけならモデルはいらないし、特に JOIN がからむなら余計なことせず Hash で返ってくるのは気楽で良い。
機能的な面からいえば、DBからひいてきたインスタンスにメソッドを生やしたいというときはモデルを使ったほうが楽。既存の行を update したいときもモデルがあったほうが楽。
Sequel のモデルも若干マジカルで、DBコネクションがないとモデル定義できなかったりする。キモいけどテーブル情報を使ってアクセサを定義したりするっぽい。
関連エントリー
- Lightroom のカタログを SQLite で読んで統計を出したりする .lrcat っていったい何なのか カタログファイルの実体である lrcat は SQLite の DB ファイルそのもの。sqlite3 ...
- SQLite で LOG や SQRT を使うには SQLite にはかなり基本的な算術演算関数しかない。追加で何かしらやるためには拡張 (Run-Time Loadable Extensio...
- ユーザ由来の構造化データによるSQLインジェクション Kazuho's Weblog: The JSON SQL Injection Vulnerability について。元記事をはっちゃめっち...
- MySQL で SET 型の UPDATE 以下のようなテーブルのとき CREATE TABLE foo ( aset set('aaa', 'bbb', 'ccc') ); 空文字列...
- TF-IDFとコサイン類似度による類似エントリー機能の実装 TF-IDFによる類似エントリー機能の実装をしてみました。ほぼSQLiteですませるような構成です。 やっていることの概要 エントリーのHT...
JavaScript で MQTT するなら MQTT.js が良い
https://github.com/mqttjs/MQTT.js
- ブラウザ (MQTT over WebSocket) でも node.js でもほぼ同じ使いかたができる
- 自動でリコネクトしてくれる
- API がモダン
Eclipse Paho の JS 版を一時期使っていたが、完全に乗り換えました。
MQTT over WebSocket の場合
ドキュメントの通りだけど以下のようにする。TLS なら wss にするだけ。
const client = mqtt.connect("ws://" + location.hostname + ":" + (location.port || 80) + "/mqtt", {
username: USER,
password: PASS,
reconnectPeriod: 500
}); 関連エントリー
- RabbitMQ で MQTT over WebSocket ウェブページから JavaScript で MQTT ブローカーに送られてくるデータを取得したかったので、MQTT over WebSock...
- MQTT のトピックを prometheus に登録する MQTT のトピックを subscribe して一時的に保持し、prometheus 向けに exporter として働くデーモンを書いた。...
- センサーデータ用に RabbitMQ + MQTT をセットアップする RabbitMQ + MQTT で Pub/Sub サーバを立てることにしました。 いろいろなセンサーのグラフ化にあたって GrowthFo...
- 7年放置した mqtt_topic_exporter を Copilot とともに書きかえた mqtt_topic_exporter という mqtt ブローカーに接続して特定の topic を subscribe して promet...
- golang で websocket websocket.JSON を使った場合 JSON をやりとりする場合専用の方法がある (JSON-RPC ライクな実装を書いてみた場合)...
✖
Material Design Lite のテキストフィールドと Vue.js の相性があんまりよくない
Material Design Lite のテキストフィールドの input 要素を Vue.js で扱うとき、普通に v-model で two way binding すると、ラベル位置が更新されなくて文字が重なってしまったりする。つまりこれは Vue.js側の更新処理がMDL側に適切に伝わっていないために起こる。
MDLのソースを軽く読んだ解決として、mdl-js-textfield クラスがついている親要素に v-mdl 属性を追加し、以下のようにカスタムディレクティブを定義すると解決する。あんまり美しくないがしかたない。
静的な要素だけなら upgradeElementは必須ではないが、動的になると必須になるためついでにやっている。
Vue.directive('mdl', {
bind: function (el) {
componentHandler.upgradeElement(el);
},
update: function (el, binding, vnode) {
const textfield = el.MaterialTextfield;
if (textfield) {
Vue.nextTick(function () {
textfield.checkDisabled();
textfield.checkValidity();
textfield.checkDirty();
textfield.checkFocus();
});
}
}
});
関連エントリー
- 一瞬で開発開始するための Vue3 無トランスパイル環境 いきなりトランスパイルの環境作って常時ビルドツールを動かして開発するのがいまいち性にあわず、いまだにそういうことをしないようにしてる。小さい...
- ES2015 の iterable/iterator/generator による無限 FizzBuzz (オブジェクト指向編) ES2015 の iterable/iterator/generator による無限 FizzBuzz | tech - 氾濫原 に続いて、...
- ES2015 の iterable/iterator/generator による無限 FizzBuzz ES2015 の iterable protocol / iterator protocol だとそこそこ自然に無限リストを作れるわけなので...
- Angular JS で View を伴う Service 的なことをしたいとき、あるいは Directive に Controller をつけたいとき。 クソコード を書いたはいいが、釈然としなかった。 "View independent business logic: Services" と...
- Spring MVC で @Async と @RequestScope を共存させるには? @Async と @RequestScope を同時につかうとどうなるか @RequestScope、これは @Scope(value = ...












