なんとかするから、なんとかなる

エンジニア関係のことを書きます

UnityのDorpdown入門

Unityのドロップダウンをいじったときのメモ Dropdown Dropdownの要素変更の方法 Dropdown.AddOptionsにリストを追加する *ただし、自動でClearはされないので、自分でdropdown.clear()を呼ぶ。 文字サイズの変更方法 Dropdown > Template > Viewport > Con…

Unityを初めて触ったときのメモ書き

以前Unityを使って開発する機会があったためその時のメモを公開します。 Unityの基本中の基本な内容となります。 Traform Translate と Rotate Translate どれだけ動かすか Rotate どれだけ回転させるか(角度) Vector3 Unity 左手座標系 左右方向 X 上下方…

Gitでバイナリファイルを扱ってしまい容量が増えてしまったときの対策

Git

Gitの容量を軽くする術 Gitで便利ですよね。しかし、つい画像や動画も一緒にいれていまうと、リポジトリの容量がふえてしまいます。 そこで、もし画像や動画を入れてしまいリポジトリの容量が大変なことになってしまったときのTipsを紹介したいと思います。 …

自前でUITableViewCellクラスを作成する

UITableViewCellはよく使うクラスの1つだと思います。 少しiOS開発に慣れてくるとUITableViewCellをカスタマイズしたくなります。 その際の手順を簡単に紹介 UITableViewCell を継承する init(style: UITableViewCellStyle, reuseIdentifier: String?)をオ…

iOS のAutoLayout(オートレイアウト)を扱うときのTipsまとめ

AutoLayout AutoLayoutエンジン AutoLayoutエンジンは外接矩形(装飾(影など)を除いたViewで計算) Debugのテク デバッグ中に外接矩形を見るためには [Product]->[Scheme]->[EditScheme]->[Run]->[Argument]に-UIViewShowAlignmentRectsを追加 Instric Con…

iOSのPush Notification登録の流れ

iOSのプッシュ通知の登録流れが割と忘れやすいので、まとめてみる 証明書署名を申請するCSR アプリケーションをプッシュ通知に登録(APNs)する Push Notification開発証明書を発行する Provisioning Profilesを作成する。

iOSでTimelapse動画作成アプリを作ったときに利用したFrameworkおよびライブラリのまとめ

以前にTimelapse動画を作成 iOSアプリを作成したことがあったので、そのまとめです。 使用したFrameworkおよびライブラリ AVFoundation AVAsset 1つ以上のメディアデータのコレクションを集約したもの コレクションのタイトル、再生時間、本来の表示サイズな…

UILabelのフォントサイズだけを変更する

UILabelのフォントを変更する場合、次の方法がまず思い浮かぶでしょう。 var label = UILabel() lablel.font = UIFont.systemFontOfSize(20) でもこれだと、フォント自体も変わってしまう。システム以外のフォントを使っているときにフォントサイズを変更だ…

Implicit Getter Violation の修正方法

SwiftLintを使っているときに見かける"Implicit Getter Violation" 要するに、Gettterの宣言方法がスマートではないということ。 修正方法は次の通り。 // × var hoge: String { get { return "fuga" } } // ◯ var hoge: String { return "fuga" } SwiftLint…

C# DateTimeにタイムゾーンを考慮するときのまとめ

はじめに C# においてDateTimeの使い方がわからなかったため調べた際のメモ kind.unspecifiedの扱い DateTimeでkindが"unspecfied"のとき var unspecifiedTime = new ... ; // kind がunspecified ToLocalTimeをすると、unspecfiedTimeはUTCとして扱われる u…

Mac とvscodeでAzure Functionsを作りたかった

はじめに Macとvscode、C#で快適にFunctionsが作れないかを試した時のメモ。 結論 現在のところ、C#でFunctionsを作るなら.csxで作るしかなさそうです。NugetなどのPackage Managerを使って.csでFunctionsを作れなそうです。 MacでFunctionsを作るならJavaSc…

Azure Portal上でのFuncion開発にNugetを使いたい

はじめに Azure Portal上でのAure Function開発において、Nugetの使い方(外部ライブラリの追加)がわからなかったのでメモ やり方 project.jsonを追加 project.jsonに使いたい外部ライブラリを記入 { "frameworks" : { "net46" : { "dependencies" : { "YOU…

Azure Functions 開発をローカルで完結させてデバッグしたい

はじめに Visual Studio2017において、Azure Functions開発をローカルで完結させようとして、はまったメモです。 AzureWebJobsStrogeにローカルを設定する AzureWebJobsStrorageの接続先を設定 TimerやQueueなどHTTPトリガー以外のFunctionsはAzureWebJobsSt…

Jenkinsを使ってiOSの自動ビルドおよびテストをする(ipa生成、テスト実行編)

はじめに 前回に引き続き、iOSの自動ビルド環境を作っていきたいと思います。 今回はBuild実行後のipaの作成方法と、Build後にテストを実行する方法です。 前回 Jenkinsを使ってiOSの自動ビルドおよびテストをする(Jenkinsビルド編) - なんとかするから、…

Jenkinsを使ってiOSの自動ビルドおよびテストをする(Jenkinsビルド編)

はじめに 前回の続きで、今回はとりあえずサンプルプロジェクトをJenkinsでビルドしてみます。 前回 Jenkinsを使ってiOSの自動ビルドおよびテストをする(Jenkins準備編) - なんとかするから、なんとかなる 必要のもの Apple Developerライセンス(Developer…

Jenkinsを使ってiOSの自動ビルドおよびテストをする(Jenkins準備編)

はじめに Jenkinsを使ってiOSの自動ビルドとテスト環境を作っていきたいと思います。 はじめはLocalのGitRepogitoryに対して自動ビルドを実行する。 そのあとipa生成とテスト。 最後に結果をslackへ通知を試してみたいと思います。 環境 macOSX Sierra Jenki…

Unite2017 参加しました その10

ゲームの見た目も盛ったら変わる!!!!ヤバい!!ポストプロセス!!入門!!!!!!!!! 【Unite 2017 Tokyo】ゲームの見た目も盛ったら変わる!!!!ヤバい!!ポストプロセス!!入門!!!!!!!!! from Unite2017Tokyo www.slideshare.net ポ…

Unite2017 参加しました その9

WebGL:ゲームプラットフォームとしてのWebと現在と未来 【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来 from Unite2017Tokyo www.slideshare.net WebGLの動機 ブラウザのプラグインを無くしたい Web Assembly(.wasm) ブラウ…

Unite2017 参加しました その8

Unityライティング最新情報 【Unite 2017 Tokyo】Unityライティング最新情報 from Unite2017Tokyo www.slideshare.net 光表現について GI Global illumination 間接光 Baked GI 事前に計算しておくGI procomputed RealTime GI リアルタイムで間接光をつくる …

Unite2017 参加しました その7

最適化をする前に覚えておきたい技術 【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術 from UnityTechnologiesJapan www.slideshare.net 最適化への手順 プロファイリング 処理ごとにかかった時間、メモリの使用状況を把握する。 まずは、Unityのpr…

Unite2017 参加しました その6

C#ジョブシステムによるモバイルゲームのパフォーマンス向上テクニック 【Unite 2017 Tokyo】C#ジョブシステムによるモバイルゲームのパフォーマンス向上テクニック from UnityTechnologiesJapan www.slideshare.net はじめに これからの方向性を示した内容…

Unite2017 参加しました その5

シェーダープログラミング入門!カスタムシェーダー、作るで! 【Unite 2017 Tokyo】シェーダープログラミング入門!カスタムシェーダー、作るで! from UnityTechnologiesJapan www.slideshare.net rendering pipeline どのようにして、Unityがレンダリング…

Unite2017 参加しました その4

バグを殲滅!Unityにおける実践テスト手法 【Unite 2017 Tokyo】バグを殲滅!Unityにおける実践テスト手法 from UnityTechnologiesJapan www.slideshare.net Unity のテストツール Unity 標準テスト環境あり Unity5.6 play mode Untiy5.5以前 edit mode 単体…

Unite2017 参加しました その3

「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術 【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術 from UnityTechnologiesJapan www.slide…

Unite2017 参加しました その2

パフォーマンス向上のためのスクリプトのベストプラクティス 【Unite 2017 Tokyo】パフォーマンス向上のためのスクリプトのベストプラクティス from UnityTechnologiesJapan www.slideshare.net C# Compiler .NET Frameworkはスタック型のマシン ソースコー…

Unite2017 参加しました

Unity最適化講座 ~スペシャリストが教えるメモリとCPU使用率の負担最小化テクニック~ 【Unite 2017 Tokyo】Unity最適化講座 ~スペシャリストが教えるメモリとCPU使用率の負担最小化テクニック~ from UnityTechnologiesJapan www.slideshare.net Transfor…

レガシーコード改善を読んで その2

本投稿の話題 既存コードを変更する際の技。今後、テストを導入できるようにするための布石となる方法。 Swiftに適応するならどうするか。 スプラウトメソッド 既存のメソッド内に、新たなメソッドを呼び出すように変更を加える方法。 新たなメソッド内だけ…

UserDefaultsを初期化する

UserDefaults を初期化するためには if let bundleId = Bundle.main.bundleIdentifier { UserDefaults.standard.removePersistentDomain(forName: bundleId) } persistentDomain(forName:)で domainNameで指定した、KeyとValueのディクショナリーが受け取れ…

iOSで使いにくいUserDefaultをなんとかする

はじめに iOSアプリにおいて、アプリを消しても値を保存しておける、UserDefaultはとても便利だと思う。 しかしながら、どうしても使いにくい部分が存在する。 例えば、UserDefaultの値を取り出すKeyがStringなところだ。 よくある使い方 // 保存する UserDe…

レガシーコード改善を読んで

クラスをテストにしやすくするには 1. クラス間の依存性を下げる。 2. 他のクラスを使用する場合、そのやりとりをプロトコルで定義することで、テスト用のモックと振替可能にする。 1. クラス間の依存性を下げる クラスをテストする上で、大変になってくるの…