おれんじりりぃぶろぐ

きっと何者にもなれないエンジニアのブログ

Karabinerの設定

自分のPCに設定しているKarabinerの設定です。 MacにWindows用のキーボードを繋いだ場合、デフォルトでWindowsロゴのキーがCommandとして認識されているみたい。

適当なバイナリファイルを作る

適当なバイナリファイルを作成する方法のメモです。 1KBのsample.binという適当なバイナリファイルを作成してみます。 dd bs=1024 count=1 if=/dev/urandom of='sample.bin' bs: 1ブロックのサイズ count: ブロック数 of: ファイル名

C#で特定の文字列を抽出する

数ヶ月に1度くらいの頻度でMatchと向き合わなければならないときが来るわけですが 毎度、1万3000年の時を超えて記憶を辿るはめになるので 次回からはそうならないようにメモしておこう。そうしよう。 "http://sample.com?id=2"からid=2を抽出したい。 using …

MacにUnityのキャッシュサーバーを導入してみる

概要 ビルド時間、Switchプラットフォーム高速化のため Unityのキャッシュサーバーを導入してLaunchAgent登録するところまでやってみました。 インストール バージョン6以上からはGithubでの管理になりました。 https://github.com/Unity-Technologies/unity…

Unityで作ったアプリで端末の電源ボタンを押してもアプリが復活する問題に遭遇した

現象 Unityで開発中のアプリにてAndroidの特定端末でタイトルの現象に遭遇しました。 アプリ起動中に電源ボタンを押してサスペンドさせても数秒後に勝手にロック画面も表示されずアプリが復活してしまうという現象です。 なんと自己主張が強いアプリです。 …

Unityを使って女の子二人を動かすまで

成果物 使用したツール MagicaVoxel blender.org - Home of the Blender project - Free and Open 3D Creation Software Unity やったこと MagicaVoxcelを使って簡単なモデリングをし、blenderでリギングを行いました。さらに、Unityにインポートしてアニメ…

Googleドキュメントにソースコードを綺麗に挿入する

いくつか試しましたが、「Code Block for Google Docs」というアドオンが良かったです。 [アドオン] -> [アドオンを取得] -> 「Code Block for Google Docs」で検索して追加できます。 使い方は、[アドオン] -> [CodeBlocks] -> [Start]から整形することがで…

UnityでGCの回数を計測する

GC.CollectionCount()を使ってGCの回数を取得することができます。 GC.CollectionCount(0)はプロセスを起動してからのGC回数を返してくれます。 https://msdn.microsoft.com/ja-jp/library/system.gc.collectioncount(v=vs.110).aspx int startGcCount = GC.…

JenkinsでHockeyAppへのアップロードを下流Jobにする

まえおき JenkinsでHockeyAppへのバイナリアップロードを別ジョブとして切り離す方法です。 Jobを切り離さない場合、ジョブが失敗した時にビルド自体が失敗したのかアップロードが失敗したのか分かりづらい、さらにビルド時間とアップロードにかかる時間が一…

UnityでSwitchのJoyConを使う

まえおき switchのJoyConをUnityで使う方法です。 基本的には以下の記事を参考にしましたが、一部ハマった箇所があるのでメモしておきます。 http://baba-s.hatenablog.com/entry/2017 環境 Mac Unity2018.1.b13 やり方 JoyConとMacをBluetoothで接続します…

Unityのマルチスレッド界隈のはなし

Unityでのマルチスレッド界隈について断片化した理解にとどまっていたので、自分なりのまとめを行ってみました。 まず非同期実装と並列プログラミングは分けて考えよう 非同期実装は順番通りに処理を実行しない、逐次処理とは対比的な処理のことである 非同…

Unityコルーチンをawaitするサンプル

概略 C#5からawait句が導入され非同期実装がとてもお手軽にできるようになりました。 awaitはTaskへ使うものと思ってしまいがちですが、一定の条件を満たせばawaitを使った非同期実装を行うことが出来ます。 実装 AwaitHelloWorld.cs using System; using Sy…

Unity2018での文字列の扱い方

概略 Unityで文字列の連結を行う方法として以下の3つのパフォーマンスを比較してみました。1000回ループし文字列を連結させた時の処理時間とGC回数を計測しました。 string(StingTest) stringBuilder(StringBuilderTest) 文字列補間(BuildInStringTest) C#6…

Unityでの並列プログラミング(Parallel、PLinq)のパフォーマンス比較

概略 .NET4.0からは、簡易に並列処理を記述することができるParallelクラス、Parallel LINQ(PLinq)の提供がはじまりました。 今回は、前半でParallクラス、PLinqの使い方を見て、後半ではUnityでの実際のパフォーマンス調査を行った結果を示します。 Paralle…

UnityにおけるAwaitAsyncを使った非同期実装について④

概略 前回までに最新Unityにおけるマルチスレッドプログラミングについて、さらにその時直面する問題点について紹介してきました。今回は、Task、awaitを使ったマルチスレッドでの排他制御について触れていきたいと思います。 今回も特にUnityに特化した情報…

UnityにおけるAwaitAsyncを使った非同期実装について③

これまでTask、AsyncAwaitを使った非同期処理の実装、メインスレッド以外から特定の(メイン)スレッドにアクセスする方法についてみてきました。 今回は、複数の非同期に実行されるTaskをハンドリングする方法について説明します。今回もUnityに特化した情…

UnityにおけるAwaitAsyncを使った非同期実装について②

概略 前回は、最新Unityにおけるマルチスレッドプログラミングの方法についての紹介をしました。 今回はUnityでTask、awaitを使ったマルチスレッドを行う時に起きる問題について取り上げます。 Unityにおけるメインスレッド制約 using System.Threading; usi…

gasを使ったお手軽WebAPI実装

概要 超お手軽にWebAPIを作る方法です。 GASを使って、POSTしてスプレッドシートにデータを保存してそれをGETする方法です。 40秒でAPI作りなと言われた時の対応法です。 実演 POSTするとspreadsheetに保存してくれます。 curl -X POST -d "timestamp=152379…

UnityにおけるAwaitAsyncを使った非同期実装について①

概略 Unity2018.1から正式に.Net4.7、C#6への対応がなされます。 C#5からは、非同期的な実装をまるで同期的に記述できるasync/awaitというキーワードが導入されました。今回はasync/awaitを使ったUnityにおけるマルチスレッドプログラミングについて解説を行…

gasを使って特定のGoogleドライブ以下のファイル更新を通知する

概要 特定のGoogleドライブ以下のファイル更新を検知してCWで通知する方法です。 なぜgasなのか(・・?) 何と言ってもスクリプトを実行するサーバーを用意しなくて済むからです。chatworkへの通知も非常にお手軽に実装することが可能です。 Googleドライブと…

gasを使ったお手軽サーバー死活監視

概要 超お手軽にWebサーバーの死活監視をしてchatworkに通知する方法です。 なぜgasなのか(・・?) 何と言っても死活監視のスクリプトをcronするサーバーを用意しなくて済むからです。chatworkへの通知も非常にお手軽に実装することが可能です。 高度なことは…

Unity、Android、iOSのビルドトラブルシューティング

Unityを使っていて主にビルド周りでハマったことをメモとして残したいと思います。 Q. Unityはどこからダウンロードできますか? こちらからどうぞ リリース https://unity3d.com/jp/get-unity/download/archive パッチリリース https://unity3d.com/jp/unit…

『横井軍平ゲーム館』を読んでの感想

www.amazon.co.jp 3行まとめ 任天堂の発展に寄与した横井軍平氏のインタビュー本であり、任天堂や横井さんに興味がある人にオススメ すぐにゲームが作れるスキルや発想力は特に身につかない ヨコイズム 感想 本書は任天堂の発展になくてはならない人であった…

『ノンデザイナーズ・デザインブック』を読んでの感想

ノンデザイナーズ・デザインブックを読んだ読書感想文。 Amazon.jp : ノンデザイナーズ・デザインブック [フルカラー新装増補版] 概要 ~Hello Design World~ 本書はタイトル通りデザイナーではないが洒落乙なプレゼンテーションやwebページをなどを作成した…

『リーダブルコード』を読み終えての感想

リーダブルコードを読んでの読書感想文です。 Amazon.jp : リーダブルコード―より良いコードを書くためのシンプルで実践的なテクニック (オライリー・ジャパン) 概要 〜Hello Readable World !〜 この本は大きく分けて4部の構成でリーダブルで美しいコード…

JSでボタンを押すと音が鳴る実装

ボタンを押すと音声が流れるサンプルです。 HTML <input type="button" value="再生" onclick="ring()"> <audio id="tts"> <source src= "audio/sample.mp3" type="audio/mp3"> </audio> JavaScript <script type="text/javascript"> function ring(){ document.getElementById("tts").load(); document.get…

HHVMで性能テストもどきしてみた

PHP

HHVMをせっかくインストールしてみたので、今回は本当にHHVMは通常のPHPよりも速いのかの性能テストをしてみました。 環境 MacAirにVagrantで以下の環境を構築して比較を行ってみる。 ubuntu14.04 + nginx + HHVM(Hackコード) ubuntu14.04 + apache2 + php5.…

HHVMを使ってみた

PHP

HHVMをインストール、実行してみた時の備忘録。 HHVM(Hip Hop Virtual Machine)とは(?_?) ヒップホップとか名前からしてふざけている気がするけど、HHVMはFacebookが開発を行っているプロジェクト。レガシーPHPコードをHHBC(Hip Hop Byte Code)に変換してVM(…