Unity備忘録

はじめに これはUnity初心者のUnity初心者によるUnity初心者のために書いた、備忘録です。 ウィンドウサイズをスマホ幅にする ゲームタブの左上の所から変更可能です。 但し最初にビルドプラットフォームをPCに選択している場合は、比率を選択しても縦長になりません。その場合は「File」→「Build... 御覧になる | 御シェアする

WindowsのSourceTreeでGitHubとSSH(公開鍵)接続する

はじめに 今回はWindowsにてSourceTreeを使ってGitHubアカウントに公開鍵暗号方式でSSH接続する方法の説明です。 Linux環境では何度も設定していましたが、最近になって初めてWindowsで設定を行いました。その際に意外と沼にはまってしまう点があったので、次の機会のためにまとめておこうと思います。 鍵の作成 まず認証に使用する秘密鍵と公開鍵を作成します。 SourceTreeを起動して「ツール」→「SSHキーの作成/インポート」を押下します。 PuTTY... 御覧になる | 御シェアする

NoSQLと行・列指向型DBの技術選定

はじめに ログ分析システムを構築するにあたり、ログを格納するDBは何にすればいいのかについて考える機会がありました。 この時、慣れているからという理由だけで行指向型DB(MySQL)を採用するのは非常に危険な考え方です。もし何も知らずに安直な選択をした場合、DBの行数が増えて来た頃に1クエリ毎に1分近く処理待ち時間に耐えなければならないという未来を迎えることでしょう。そして気がついた時には後戻りが出来なくなってしまうのです。 今回はNoSQLとSQL(行・列指向型DB)の3つを比較しながら、技術選定の観点をかんたんにまとめてみました。 行指向型DB 行指向型DBとはMySQLやPostgreSQLなどの最も一般的なDBです。行単位でレコードを読み書きします。 メリット 少ないレコードへの読み込み・書き込みが速い検索しやすい デメリット レコードが多いほど読み込み(ディスクシーク)が遅くなる HDDとアクセス速度 忘れがちですが、HDDに保存されたデータへのアクセスは結構遅いです。レコードを読み取るということは、すなわち円盤の上のアームが回転して保存された磁気データを探しているということです。 つまりレコードが増えるほど回転量が増えて処理時間も長くなります。 列指向型DB 列単位でレコードを読み取る。列方向はデータ形式が同じで、同値が多いので圧縮保存される。BigQueryなどが代表的。 メリット 大量レコードでも読み込みが速い検索しやすい ※列方向に圧縮して保存するので、HDDのデータシークの観点からレコードが増えても読み込み速度が速い ※クエリは行指向と変わらないので検索しやすい デメリット 書き込みが遅い ※一行であろうと更新する際には、圧縮されたDBを展開してから更新して再度圧縮を行うため時間が掛かる NoSQL NoSQLはキーバリュー型やドキュメント型など種類が多くあります。※ここではAWSのDynamoDBなどで代表的なキーバリュー型を想定しています。 メリット 読み込み・書き込みが速い拡張性が高い ※インデックスキーを登録出来るので該当キーでの読み込みが速いです ※キーバリュー形式で様々なデータを格納出来る インデックス インデックスとは本で言う索引のようなもです。インデックスのロジックはDB毎に様々ですが、二分探索木です。 例えば1,000行のレコードがあるとして、1000番目のレコードを探索する際に頭から順番に検索するのではなく、1~500行目はここ、501行目~1000行目まではここという風にグルーピングされていればより速く検索することが出来ます。 細かい説明は割愛します。 デメリット 検索しにくい設計が難しい ※RDBMSの様な複雑な検索は出来ません。また登録出来るインデックスキーの数に限りがある。 ※どのキーで検索・ソートするのかなど、あらかじめ決めるべき項目が多いため設計が難しい まとめ 各DBの説明は以上です。どのDBを採用するかは、レコード数や検索性、用途や予算などを整理した上で、各データベースの長所と短所を比較しながら選定することになるかと思います。 以上です。 ... 御覧になる | 御シェアする

Vimでアカウント・パスワードを管理するベストプラクティス

はじめに 複数のシステムのアカパスを管理している場合、どうしてもローカルのテキストファイルなどに管理してしまうかと思います。しかし、この方法はふとした瞬間に困ることがあります。 第一にファイルアクセスまで時間が掛かるということです。ファインダーを立ち上げ該当のテキストファイルまで移動して、クリックしてから確認という工数になります。 第二にうっかり画面共有などで他の人に見られてしまう可能性があることです。皆さんはやらないかと思いますが、自分は気をつけていても結構やってしまいます。説明やペアプロの時などに画面に映してしまい、その度に上司に注意されています。 そこで今回はVimで若干セキュリティを上げつつアカパスを管理する方法を考えてみました。 折り畳みを使う 概要 大抵のIDEや開発向けのエディタには折り畳みという機能があります。ファイルの中の一部分を折り畳むようにして一時的に非表示にする機能のことです。Vimにもfoldingという折り畳み機能があります。 下記はよく使うモーションです。 zf選択部分やカレント行を折り畳むzd折り畳みを削除するzD折り畳みを全て削除するza折り畳みを切り替えるziファイル内の折り畳みを切り替えるzj... 御覧になる | 御シェアする

Vimでブラウジング

はじめに Vimでブラウジング出来るとどんな良いことがあるのか考えてみましょう。仕事している風を装いながらスポーツニュースの速報をチェック出来たり、サクッと天気予報を確認出来たりします。 他にもコーディングをしながら調べものをする際にターミナルからブラウザなどのアプリに切り替えなくて済むようになります。一日に何十回とする面倒な作業が省略されて開発体験も改善されます。 という訳でVimでブラウジングする方法をまとめました。 テキストブラウザ w3mというテキストブラウザを利用します。普段私達が見ているWebページには画像やCSSなどの装飾が埋め込まれています。それらはChromeなどのブラウザによってパースされた後、DOMを構築したりスタイルを適応していき最終的に私達にとって見やすい形で画面に表示されています。 テキストブラウザとはWebページの文字で表現されている部分のみを抽出してターミナルに表示するブラウザのことです。w3mはその内の一つです。 $... 御覧になる | 御シェアする

PostgreSQLからMySQLに移行する方法

はじめに あるアプリケーション内のDBを別のアプリケーションに取り込みたい場合があります。同じミドルウェア同士、例えばMySQLからMySQLなどなら比較的簡単なのですが、異なるミドルウェア同士だと少し手間が掛かります。 頻繁に行う作業ではありませんがその度に調べ直したり検証するのは面倒なので、今回はPostgreSQLからMySQLにDBを移行する方法をまとめました。 概要 大まかな移行の流れは下記になります。 PostgreSQLリストアCSVエクスポートMySQLインポート 味噌はCSV形式で扱うことで汎用性を持たせている点です。 PostgreSQLリストア PostgreSQLコンテナ起動 まずはPostgreSQLコンテナを起動するところから始めていきます。Dockerfileとdocker-compose.ymlを作成します。 ※既にPostgreSQLが動いているアプリケーションがある場合は必要ありません。 FROM... 御覧になる | 御シェアする

Vimでファイル名をクリップボードにコピーするコマンド

ファイル名を手で入力している人 私です。 普段コーディングをしている時、モジュール化したファイルを読み込むためにそのファイル名を記述する事があるかと思います。「いい方法があるんだろうなー」と思いつつも、ついファイル名を素手で入力してしまいます。 しかしVimmerたるもの常に効率化のことを考えなくてはならないので、ファイル名を一々入力している方は断固改善すべきです。今回はファイル名をクリップボード及び無名レジスタにコピーするExコマンドを作りたいと思います。 ファイル名レジスタ Vimには読み取り専用のファイル名レジスタという特殊なレジスタがあります。これにはカレントバッファのファイル名が格納されています。 また様々な修飾子がありこれらを活用することでファイル名だけでなく、フルパスや相対パスも取得することが可能です。 ※下記のVim... 御覧になる | 御シェアする