SceneManager.Unloadを、OnTriggerEnter時に呼ぶと凍る

こんにちは。
昨夜、Unityがフリーズしてしまって、結構大変でした。

Unity 5.3.1です。

次のように実行すると、フリーズしました。

void OnTriggerEnter2D(Collider2D col2d)
{
    if (col2d.tag == "Player")
    {
        SceneManager.UnloadScene("MainMenu");
    }
}

なぜか、

  • SceneManager.LoadSceneではフリーズせず、
  • FixedUpdateUpdateのタイミングでやってもフリーズしない

です。

というわけで、次のようにしたら直りました。

続きを読む →

RectTransformのoffsetMinとoffsetMaxについて

こんにちは。

Unity 4.6で、新しいUI Systemとして、
「uGUI」が追加されました(結構前だけど)。

New UI System: Design UIs for your game or application using Unity’s powerful new component based UI framework and visual tools.

そのUIの座標の指定なのですが、
Rect Transformというものを使っていて、
結構複雑です。

ここでは、座標・サイズの指定ができるプロパティ、
「offsetMin」「offsetMax」について調べたので、紹介します。

続きを読む →

pLinkでVagrantのBoxに入ろうとしたらエラーが出た

こんにちはー!
Putty使ってますかー!!

Windowsでは、デフォルトでSSHクライアントがないので、
ぼくはPuttyを使っています。

そこで、Puttyをコマンドプロンプトとかでそのまま使えないのかなぁ
と思っていたところ、

どうやら、Puttyについてる「Plink」を使えばできるそうです。

試しに、Vagrantでやってみます。

続きを読む →

Dockerで作ったコンテナーをcommitし、Docker hubに公開するまで

事前にログイン

アカウントが必要になります。

$ docker login
...(ユーザー名、パスワード、Eメールがきかれる)

コンテナーをコミット

$ docker commit [CONTAINER_ID] [ログインしたユーザー名]/[名前(なんでもいい)]

Imageをpush!

$ docker images
...
$ docker push [ログインしたユーザー名]/[名前(さっきの)]

忘れちゃうのでメモしておく。

DockerでCentOSのコンテナを作ってgitを使うまで

Docker楽しいです!
簡単にコンテナを作れて、開発環境の構築に便利です!

gitを選んだのは、簡単にインストールができるからです。

Dockerのバージョン

$ docker -v
Docker version 1.9.1, build a34a1d5

まずCentOSのイメージをpullしてくる

$ docker pull centos
Using default tag: latest
...
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              c8a648134623        2 weeks ago         196.6 MB

docker pull [イメージ名]でイメージをpull=取得できます。
docker imagesで、pullしたイメージの一覧を取得できます。

コンテナーを作る

$ docker run -itd centos /bin/bash
...
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS        PORTS               NAMES
ccb0715533a4        centos              "/bin/bash"         3 seconds ago       Up 2 seconds                      clever_morse

docker runコマンドで、イメージからコンテナを作成し、実行できます。
オプションで、itはなんか必ず使います。dでバックグラウンドでの実行を許可します。
dを指定しないと、すぐに終了するので、docker psコマンドでは表示されず、docker ps -aで表示されるようになります。
-it -dと分けてもOKです。
コマンドの最後に、/bin/bashと書くのは、bashを実行するためです。

docker psコマンドで、実行中のコンテナの一覧を取得できます。停止したコンテナも取得するには、docker ps -aを使います。
CONTAINER IDをメモしておいてください。次使います!

centosのbashに入る

$ docker attach [CONTAINER ID 最初の一文字]
(上の例だと docker attach c)
(Enterキーを押す)
[root@CONTAINER ID /]# echo hello
hello

docker attach時のCONTAINER IDは、ここではコンテナーが1つしかないので、最初の1文字でかまいません。
コンテナーが複数あり、IDの最初の1文字がかぶっている場合は、2文字目を入力・・と、識別できるようにしましょう。

※#以降の文字がコメントだと思われて緑になってしまいますが違いますw

Git を入れる

[root@CONTAINER ID /]# yum -y update
...
[root@CONTAINER ID /]# yum -y install git
...

Complete!
[root@CONTAINER ID /]# git --version
git version 1.8.3.1
[root@CONTAINER ID /]#

コンテナーを実行したまま、さらっと抜ける

[root@CONTAINER ID /]# Ctrl+P Ctrl+Q

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS        PORTS               NAMES
ccb0715533a4        centos              "/bin/bash"         3 seconds ago       Up 2 seconds                      clever_morse

Ctrl+P Ctrl+Q で、実行したまま抜けられます。
実行したままなので、docker psに表示されます!

exitと打つと、停止されてしまいます。

コンテナー、イメージを消す方法も一応

消したくない人は飛ばしてください。

まずはコンテナーを止めて、消しましょう。
docker rmで、コンテナーを削除します。

$ docker stop [CONTAINER IDの一文字目]
..
$ docker rm [CONTAINER IDの一文字目]
..
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS          PORTS               NAMES

(表示されない)


`docker stop`で、コンテナーを安全に停止させます。
どっちみち後で消すので、`docker kill`でもいいです。

イメージも消しちゃえ!
`docker rmi`で、イメージを削除します。


$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              c8a648134623        2 weeks ago         196.6 MB
$ docker rmi [IMAGE IDの一文字目]
..
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

(消えた)

まとめ

どうでしょう!簡単にコンテナーを作成できて、簡単に削除できます。
使い捨てのテスト環境とかの構築にも使えます。

最後までお読みいただき、ありがとうございました!

環境変数の編集に、「Rapid Environment Editor」を使っています

Windows での環境変数の編集に、

「Rapid Environment Editor」というアプリを使っています。

これがすごく便利です!

ダウンロード

Download - Rapid Environment Editor
Rapid Environment Editor - freeware Windows environment variables editor

便利なところ

  • Pathとかをセミコロンでつなぐのではなく、ノード表示をしてくれるからわかりやすい!
  • 存在しないパスがあったら、赤く表示してくれる!

rapid2

こんな感じです。

システム環境変数を編集するときは・・

ただ単に実行すると、
rapid3

左側、「システム環境変数」を編集できません。

画像の中にもありますが、「Restart as administor」をクリックすると、

アプリが再起動され、選択できるようになります。

Windows 10にしたけど不安定だから戻した【5回目まで】

画像: Microsoft より

Windows 10 にしたいなぁ。

新しいデザインとか、Cortanaとか、通知センターとか、
とにかくすべての新機能が、Windows ファンとして魅力です。

それで、アップグレードを何度もしていますが、何度も失敗しています。

今回もまたアップグレードし、失敗しました。これが5回目ですよ・・・。

今までの経緯

回数 日付 手段 結果 Windows 10にはなったか
1回目 2015/7/29 手動 ×
2回目 2015/9 自動 ×
3回目 2015/11 自動 × ×
4回目 2016/1/9 自動 × ×
5回目 2016/1/10 自動 ×

1回目

アップグレード後、1日はできたが、「INTERNAL_POWER_ERROR」 というブルースクリーンで再起動ループに・・・
どうやらググると、GPU のドライバが対応していないのせいらしいです。
BIOS で GPU をオフにしたら直ったけど、これじゃ重いし・・ということでWindows 8.1 へ戻しました。

2回目

やっとぼくのパソコンにもあの通知が来ましたー。
時間ないし、このままやっても 1 回めと変わらないだろうと思ったので、
ダウンロードだけして、あとでアップグレードしようとしたら、
「同意する」を押すとなんか始まってしまった。予想通り、1回目と同じ内容で失敗。

EVENT: 2015/11 Sony製Vaio Win8 プリインストールモデル アップグレード方法の公開

3回目

Vaio Updateを「OS Upgrade Mode」にしようとしたら、非対応とのことでした・・。
Sonyのウェブサイトには対応と書いてあるのに・・。
「ドライバが最新だから、Upgrade Mode にしなくてもいいということなのかな」と思ってやったら、
なぜかアップグレード途中で自動的に「以前のWindowsを復元しています」となり、引き返されてしまいました。

4回目

いろいろとして、「OS Upgrade Mode」にはなりました。
準備は万全!ということでアップグレードしましたが、
途中「76% (設定を構成しています 4%)」のところで1時間ほどフリーズ・・
ハードディスクアクセスランプが点灯していないので、 強制終了したら、Win8.1が復元されました。
Windows Updateによる、エラーは、「C1900101-4000D」。

5回目

ウイルスバスターをアンインストールし、
USB端子にささっているのを全部抜いたら、 2時間30分でWin10になりました。
1回めはウイルスバスターを入れてうまくいき、USB端子には何もささっていなかったことから、
4回めの原因は USB端子についていたデバイスだとわかりました。
しかし、Win10を使っている最中、 4回目で止まった時のように、
いきなりフリーズし、ハードディスクアクセスランプが消灯しました。
強制終了して、再度起動しましたが、15 分ほどでフリーズ・・。
また、ずっと繰り返していると、
ブルースクリーン「KERNEL_SECURITY_CHECK_FAILURE」が発生しました。
もう疲れたからWin8.1にもどしました。

なぜこんなにしくるのであろうか

アプリの入れすぎ

大量にアプリを入れています。
そのため、設定の引き継ぎなどがうまくいかないのかな・・と予想しています。
これは、↓の、リフレッシュしてどうなるかで検証したいです。

PC が、スタートメニューとの別れを惜しんでいる

そうなのか~
タブレットモード、使うからさ、Windows 10 にさせてよ・・。
(ありえないですね。はい)

これからどうしよう・・

2016年7月までしか、Windows 10にできません。
今考えているのは、以下の感じで、コストの低い順に並べました。

  1. PC をリフレッシュしてからアップグレード(いろんなアプリが入っているため)
  2. リカバリーしてからアップグレード
  3. クリーンインストール

Ubuntu とか使ってもいいかと思いましたが、
Office が使いたいのや、Unity(ゲームの方)、Visual Studio 等があるため、
Windows は手放せません。

追記: 2016/04/02

文章が恥ずかしかったので、修正しました。

WordPressでリンクをカードっぽく表示してくれる「Pz-LinkCard」がすごい便利!

アイキャッチ画像: Flickr から

参考になったサイトとかを「リンク」にして投稿するのですが、

もうちょっといいデザインないかなーと。

oEmbed連携とかあるけれど、対応しているサイトが少なかったりする中、

この、「Pz-LinkCard」を見つけました!!

WordPressでリンクをカード形式で表示する Pz-LinkCard
リンクをカード形式で表示させるWordPressプラグイン「Pz-LinkCard」を公式プラグインディレクト…

はてなブログみたいなかんじです!

インストール方法

WordPressの管理ページで、プラグイン→新規追加。

Pz-LinkCardで検索!

更新も2週間前と結構活発!
更新も2週間前と結構活発!

インストールして有効化。

試してみよう

投稿を新規追加して、

と書くと・・

Google
世界中のあらゆる情報を検索するためのツールを提供しています。さまざまな検索機能を活用して、お探しの情報を見つけてください。

※デフォルトと少しデザインが違います。ということでデザイン変更!

デザインを変えてみた

シンプルなデザインにしてみました。

17

18

変更を保存を押すと、変わります。

まとめ

こんな感じで、すごく便利なので、

皆さん使ってみてください!!

GulpでTaskに引数を使う

Gulpで、タスクをより便利にしたいとき、引数が使いたくなります。
こんな感じです。

gulp build --dev

これは、npmのモジュール、「minimist」を使うとできます。

npm i minimist
var minimist = require("minimist");
gulp.task("build", function() {
  var env = minimist(process.argv.slice(2));
  if (env.dev) {
    // --devが入っているとき
  } else {
    // 通常時
  }
});

–と-の違い

次のようなコマンドにしてみます

gulp build -dev

--dev ではなくて、 -dev を使ってみました。

こうするとどうでしょう。 env 変数の中を見てみます。

d、e、v オプションに分かれている
d、e、v オプションに分かれている

d、e、vに分かれています。つまり、

gulp build -d -e -v

とやったのと同じになるらしいです(今知った)!

ちなみに --dev でやると・・

devオプションになっています!!

参考

JavaScript - gulp.jsのコマンドライン引数で、環境別にminify条件を切り替える - Qiita
フロントエンド開発効率化のため、この度初めてタスクランナーを使ってみました。最近はGruntよりgulpの方が盛り上がってるようなのでgulpを選択。javascriptの開発をし...

Visual Studio Code で便利なショートカット!

こんばんは。

Visual Studio Code 使ってますかー!!

GitとTypeScriptの補完をプラグインなしでやってくれて便利です!

さて、今回はよく使っているショートカットキーと

デフォルトにないけどよく使うショートカットキーを紹介します!

(ぼくはWindowsなのでCtrlになりますがMacだとCommandキーなのかな?)

デフォルトにあるショートカットキー

Ctrl + Shift + P

コマンドパレットを開きます。超便利です。

Ctrl + Tab (エディタで)

workbench.action.quickOpenNavigateNext らしいです。

VSCodeにはタブはありませんが、作業中のファイルを切り替えてくれます。

Ctrl + Shift + Tab (エディタで)

Ctrl + Tabの逆バージョン

Ctrl + Shift + F (どこでも)

フォルダーを開いているとき、すべてのファイルから検索ができます!!

デフォルトにないから追加するショートカットキー

設定の方法

Ctrl + Shift + P でコマンドパレットを開き、Preferences: Open Keyboard Settings
keybindings.jsonに、次のような形式でキーバインドを書きます。

{
  "key": "バインドするキー(例: ctrl+alt+o)",
  "command": "コマンド 左側のファイルの下の方にずらっと。"
}

Open Recent Folder

コマンドは workbench.action.openRecent です。過去に開いたフォルダーを表示してくれます。

ぼくは Ctrl + Alt + O にバインドしています。

KeyBindを設定する

workbench.action.openGlobalKeybindings です。KeyBindを設定してくれる画面になります。

最後に

VSCodeは、こんな感じで自分風にアレンジがすぐにできるので、ぜひ使ってみてください!!