package main import ( f "fmt" // 任意の文字をつけるとプログラム内ではその文字で代用できる(今の場合はf) _ "github.com/wdpress/gosample" // 使わないパッケージには - をつける . "strings" // . をつけるとパッケージ名を省略できる ) func main() {…
gihyo.jp 作成したいプログラムをすぐに実行したい場合はターミナルで go run hello.go 単にコンパイルする場合は go build hello.go で、hello という実行形式のバイナリファイルが生成される。 その後 ./hello で実行できる。 コードの整形は go fmt hello…
参考 【Unity】 ECS まとめ(前編) - エフアンダーバー 【Unity】ECSで配列を格納する Dynamic Buffers - テラシュールブログ Interface IBufferElementData | Package Manager UI website
保存と復元を可能にするためにシリアライズ可能である必要があるので必ず[Serializable]をつける。 共有のために同一性判定が必要なため、 参照型を含む場合にはSystem.IEquatable<T>の実装とGetHashCodeのオーバーライドが必須 (現在のバージョンEntities0.8.0</t>…
public async Task LeaveAsync() { await room.RemoveAsync(this.Context); Broadcast(room).OnLeave(self); }
参考 gRPC + IL2CPP for Unity fails to build · Issue #22485 · grpc/grpc · GitHub grpc unity iOS: crash at Grpc.Core.Internal.PlatformApis.GetUnityRuntimePlatform on start up · Issue #19262 · grpc/grpc · GitHub
注意 Macのlocalhost != iPhoneのlocalhost MacにおけるlocalhostはiPhoneにおけるlocalhostではない。 つまり、Macでlocalhostで立ち上げて、それをiPhoneからlocalhostで参照することはできない。 ファイアーウォールを解除する 参考 iOS 実機から MacBook…
Bitcode...コンパイルしたiOSのプログラムの中間形式 .NETでいうILのようなもの 参考 NJF Wiki - xpwiki : iOSではBitcodeという仕組みがあり、うまく使うと便利なのですが、コンパイル時にエラーが出てしまうことがあります。 [iOS/Bitcodeをオフにする] ht…
はじめに gRPCを用いてUnityで作成したプロジェクトをiOS向けにビルドすると、お馴染みの linker command failed with exit code 1 (use -v to see invocation) というエラーと共に、 **/Libraries/Plugins/Grpc.Core/runtimes/ios/libgrpc_csharp_ext.a(grp…
原因 原因は不明 解決法 Assets/ 以下でAssembly Definitionを作成し、その直後に削除する。 FinderでAssetsフォルダ内にある、先ほど削除したAssemblyに対応するcsprojファイルを削除する。
はじめに 何の前触れもなく次のようなエラーが出ることがありました。 MonoScript is registered as both Editor and Runtime script! エラーの原因 Unityの内部では、どのスクリプトがエディタスクリプトで、どのスクリプトがランタイムスクリプトであるか…
環境 Unity 2019.3.6f1 MessaePack for C# v2.1.90 Entities v0.8.0 エラーの内容 MessagePack for C# とEntitiesをInstallすると次のようにエラーが出ます。 PrecompiledAssemblyException: Multiple precompiled assemblies with the same name System. Ru…
// gRPCのchannelを作成する // Insecure の場合はポート番号80がデフォルト // Secure の場合はポート番号443がデフォルト this.channel = new Channel("localhost:12345", ChannelCredentials.Insecure);
はじめに 送受信に使うカスタムオブジェクトを定義 自分で定義したクラスを送受信で使いたい場合は次のようにし、共有用のディレクトリに入れる。 [MessagePackObject] public class Player { [Key(0)] public string Name { get; set; } [Key(1)] public Ve…
127.0.0.1 自分自身を表す特別なIPアドレス 同一ホスト内でしか通信を行わない localhost localhostというのはこの127.0.0.1を表す定数 localhost:xxxx のようにすると、localhostのxxxx番ポートを表す。 参考 127.0.0.1とlocalhostと0.0.0.0の違い - Qiita
環境 macOS Catalina 10.15.3 Unity 2019.3.4f1 Visual Studio for Mac Community 8.4.8 環境構築 フォルダ作成 全体のプロジェクトを入れるためのフォルダを作成する。 ここではMagicOnionSampleとする Unityプロジェクト作成 MagicOnionSampleフォルダの中…
環境 macOS Catalina 10.15.3 Unity 2019.3.4f1 Jet Brains Rider 2019.3.4 環境構築 はじめに 全体のプロジェクトを入れるためのフォルダを作成する。 ここではMagicOnionSampleとする Unityプロジェクト作成 MagicOnionSampleフォルダの中にUnityのプロジ…
環境 macOS Catalina 10.15.3 Unity 2019.3.5f1 Jet Brains Rider 2019.3.4 環境構築 フォルダ作成 全体のプロジェクトを入れるためのフォルダを作成する。 ここではMagicOnionSampleとする Unityプロジェクト作成 MagicOnionSampleフォルダの中にUnityのプ…
~/.zshenvファイルに以下のような文を追加することを考える export $GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin この時、=の前後にはスペースを空けてはならない。
go run <file> : プログラムをすぐに実行 go build <file> : コンパイル go fmt <file> : コードを自動で整形 godoc : packageのドキュメントを表示</file></file></file>
Goroutine Channel package main import "fmt" func sum(s []int, c chan int) { sum := 0 for _, v := range s { sum += v } c <- sum // send sum to c } func main() { s := []int{7, 2, 8, -9, 4, 0} c := make(chan int) go sum(s[:len(s)/2], c) go su…
メソッド package main import ( "fmt" "math" ) type Vertex struct { X, Y float64 } func (v Vertex) Abs() float64 { return math.Sqrt(v.X*v.X + v.Y*v.Y) } func main() { v := Vertex{3, 4} fmt.Println(v.Abs()) // 5 x := Vertex{5, 12} fmt.Printl…
pointer package main import "fmt" func main() { i, j := 42, 930 p := &i // iを指すポインタpを宣言 fmt.Println(*p) // 42 *p = 21 // iの値を書き換える fmt.Println(i) // 21 p = &j // pの指す変数をjに変更 *p = *p / 30 // pを通してjの値を書き換…
for package main import "fmt" func main() { sum1 := 0 for i := 0; i < 10; i++ { sum1 += i } fmt.Println(sum1) // 45 sum2 := 1 for sum2 < 1000 { sum2 += sum2 } fmt.Println(sum2) // 1024 } 無限ループ package main func main() { for { } } if p…
標準出力 package main import ( "fmt" "math/rand" "time" ) func main() { fmt.Println("Hello, World") // Hello, World fmt.Println("My favorite number is", rand.Intn(100)) // My favorite number is 81 fmt.Println("The time is", time.Now()) // …
コマンドで以下のように打ち込むことにより、実行の結果をファイルに書き込むことができる。 ./program > hello.txt また、入力を受け取るような実行ファイルの場合、 ./foo < boo.txt のようにすることにより、boo.txtから入力を受け取ることができる。 ま…
標準出力 // helloと改行を出力するプログラム int main() { std::cout << "hello"s; } int main() { std::cout << "aaa"s << "bbb"s << "ccc"s; } 出力結果はaaabbbccc 文字列の結合 int main() { std::cout << "hello"s + "world"s; } 出力結果はhelloworl…
Makefileという名前のファイルを作成 Makefile内に次のように記述する program : 事前用件 [TAB] レシピ 例えば program : source [TAB] cat source > program 事前用件の数を増やすこともできる source : source01 source02 source03 cat source01 source02…