BLOGakisuteが主に技術的なネタを書き溜めるブログです。Layoutするときにfalseにする必要があるものということで皆様記憶されているかと思うのですが、具体的にこのプロパティは何をやっているのかが個人的に全く謎でした。それが今日一つ謎が解けましたのでここに共有させていただきたいと思います。8以上で確認しています)。プロパティから直接操作することが可能になります。Layoutが導入される以前のiOSの世界と同じ状態です。Constraintsが自動的にシステムによってviewに挿入されます。(Required)になります。view.centerの値を直接書き換えても一切無視されるようになります。Constraintsが設定されていない場合、viewのframeはCGRect.zeroになります。Maskとか入っているのでてっきりAutoresizingの仕組みに影響している用に見えますが、実際には全く関係ありません。Constraintsが挿入されてしまいます。Constraintsを挿入するか否かを決めるフラグとして覚えると良いでしょう。Layoutを混載させるときに非常に役立ちます。Layoutに任せるというような荒業が自由自在に可能になります。具体例を見てみましょう。以下の様なニュースを表示する画面を作ってみようと思います。layoutに任せたいというようなケースがあるかと思います。Layoutで作ってみましょう。Warningが発生してしまいます。)")これは先程のUIView.translatesAutoresizingMaskIntoConstraintsについての説明を元にすると以下のように解釈できます。Constraintsが自動的に設定されている。Constraintsが設定されている。これはimageViewを横幅いっぱいに表示するため。自動的に設定されたConstraintsと衝突してしまう。結果としてwarningが発生する。これを回避してやるにはいくつか方法があります。"H:|[imageView]-(0@999)-|"のように設定することで、右側ないし下側のpriorityを999に下げる。することによってUIView.translatesAutoresizingMaskIntoConstraintsによって設定されるConstraintsのpriorityが勝つためワーニングは発生しなくなる。view.width=imageView.widthとなるようにConstraintsを付与する。9以降であればNSLayoutAnchorを使って簡単に設定ができます。Layoutをより自由自在に混載させることが可能になると思います。最近いまさらながらマインクラフトに大ハマリしておりまして。きっかけは友人のマルチプレイサーバーでプレイしたことだったのですが、やっぱり皆で遊ぶゲームは面白いなと再確認している次第です。Beastと呼ばれるオールインワンのランチャーアプリが登場しており、こいつがMODの導入や管理も全て一発でやってくれるため面倒やストレスが一切なく楽しめます。遊んでいたのですが、友人が他のゲームにハマってしまったためマインクラフトのサーバーを立てなくなってしまいました。そこで私のほうで自分でマインクラフトのサーバーを立ててやろうと思い立ちまして早速今週末チャレンジしてみました。ちなみに私インフラに関しては大の苦手で、サーバーをゼロから構築するのは初めてだったりします。大昔新卒の頃にSIerの仕事でちょっと触ったりとか、その後の仕事でちょっと触ったりとかした程度。́・_・`)前置きはこのぐらいにして早速やってみましょう。ホスティングサービスを選定パッと思いつくところだとさくらVPSとAWSが有名ですが、今回は友人のおすすめでConoHaというVPSホスティングサービスを選んでみました。ほとんどさくらVPSと大差ないように見えたのですが、ConoHaのほうがさくらVPSと違い初期費用がかからないらしいです。新しいもの好きですしせっかくなのでConoHaを選択。サーバーのスペック等は以下のようにしました。7.2に3コア2GBメモリで月1750円。マインクラフトのサーバであればこのぐらいの性能で大丈夫なはず。サーバーを起動してsshまで構築したらすぐにインスタンスが起動します。IPが1インスタンスに割り当てられるようで、この点固定IPを用意したりするのが何かと面倒なAWSに比べて楽でした。管理画面もすっきりまとまっていて使いやすく好印象です。キーペアもその場で同時にすぐ作成してくれて手間がかかりません。適当に設定してログイン。root@を付け忘れてssh接続要求に失敗するみたいなよくあるお約束のミスをしましたが、特に問題なくログインできました。サブドメインを用意してDNSを設定してやります。htmlファイルをホスティングできるようにします。7.2に対するインストール自体はこちらのページに従えばすぐにできます。http://nginx.org/en/linux_packages.html後は以下のビギナーズガイドに従って設定を行えば良いのですが、基本的には最初から全て必要そうな設定は用意されているので、/usr/share/nginx/html以下のindex.htmlを適当に編集してやるだけでオッケーです。http://nginx.org/en/docs/beginners_guide.htmlfirewalldを設定するしかしながらnginxを立ち上げただけでは外からアクセスしてもつながりません。これはCentOS(に限らないですが、ほとんどのLinuxのディストリビューションについて)は何らかのファイアウォールがデフォルトで入っているためです。7ではiptablesではなくfirewalldというやつが使われているらしいので、そちらを設定することにしました。http://urashita.com/archives/963http://www.unix-power.net/centos7/firewalld.htmlhttpサービスをpublicゾーンの設定に追加するだけで簡単に外からアクセスできるようになります。iptablesより簡単でいいですね。JavaをインストールするマインクラフトはJavaで動作するので最新版のJavaが必要です。Javaのほうが速そうなのでそちらを使うことにしました。以下のページで紹介されているとおりにすれば簡単にインストールできるかと思います。https://www.digitalocean.com/community/tutorials/how-to-install-java-on-centos-and-fedoraminecraft-serverを立てるいよいよ本題のminecraft-serverです。Serverボタンを押すだけでzip形式で最初から用意されたサーバーセットアップ一式がダウンロードできますので、ダウンロードURLをコピーしておいてサーバー側からwgetして取得しunzipするだけで準備完了です。http://www.feed-the-beast.com/serversunzipして展開した中身のServerStart.batをServerStart.shにして中身を適当に書き換えてやり(主にJVMの起動オプションからヒープに割り当てる量を調整するなど)実行すれば簡単にサーバが立ち上がります。普通に立ち上げるとシェルを専有されてしまうので、screenなど経由でServerStart.shを実行するようにすればいいでしょう。http://www.minecraftforum.net/forums/support/server-support/server-administration/1897274-how-to-use-screen-on-your-linux-minecraft-serverあとはサーバーコマンドで自分をopにでも追加しておけば良いと思います。コマンドを実行すればopを付与できます。その他必要に応じてminecraft-serverの設定ファイルを操作したりgameruleを調整すれば良いと思います。最後に先ほど設定したfirewalldにminecraftサービスを追加して、外からアクセスできるようにすればおしまいです。minecraftはhttpと違ってデフォルトでサービスが用意されていないので、自分でサービスを追加する必要があります。サービスの追加は/etc/firewalld/servicesにxml設定ファイルを追加すればよいです。サンプル代わりにデフォルトのサービスのxml設定ファイルが/usr/lib/firewalld/services以下に配置されているので適当なものをコピーして改造して使えばよいです。minecraftはtcp/udpの25565がデフォルトポートなのでここを開くように設定してfirewalldを再起動すれば外から繋がるようになるかと思います。その他の設定ログローテーションを設定しておかないとディスクがログで溢れて死ぬかと思ったんですが、最初からnginxについてはログローテーションが設定されているため気にしなくてOKです。minecraft-serverについてはどうなるかわかりませんので、必要に応じてlogrotateを設定して対応したほうが良いと思います。https://genchan.net/server/4907まとめいろいろ調べながらで時間がかかりましたが、3時間ほどでゼロ知識の状態からでもマインクラフトのマルチプレイサーバーを立てることができました。現在のところ無事快適に遊べています\(^o^)/こういう自分の趣味嗜好のために技術を勉強すると非常に捗るのでオススメですね。遅くなることがあるタイトルのとおりですが、本日発見してひどくパフォーマンスに影響が出たため注意喚起を兼ねて共有いたします。8以前とは異なり大変画像の取得が遅くなることがあるようです。https://forums.developer.apple.com/thread/17888実際に私の環境では目に見えて遅くなりました。Instruments経由で計測したところ最大で10倍ほど差が出ているように見えました。imageNamed:inBundle:compatibleWithTraitCollection:]を使用したほうがパフォーマンスへの悪影響が少ないとの情報があります。Collectionを検索するのに無駄なパワーを使っているように見えたのでパフォーマンスがタイトな箇所では自分で非同期ロードするなりキャッシュするなりして補ってあげたほうが良い気がします。こちらからは以上です。Androidアプリエンジニアやってます。原因を調べるのにずいぶんと苦戦したので備忘録を作ります。調べたのですが、これよりよくまとまっているドキュメントを現状発見できませんでしたので、2019/06/08現在では上記のドキュメントを参照するのがベストだと思います。操作が優れているか否か」を評価点に挙げます。今回の記事は久しぶりの誰得記事です。こちらで紹介されている手法を用いるにはプライベートAPIを操作する必要があるため、おそらく審査に通りません。じこせきにんでお願いします。プロパティを使うことで簡単にアニメーションを実装させることができます。サンプルを書いてみます。Accessから秘密鍵を書き出すときに、「エラーが発生しました。項目を読み込めません。Accessのお世話になることが多いです。複数台のMacで開発を行っている場合は、証明書を認証するための秘密鍵を複数台のMacにインストールする必要があります。今年は2019年となりました。12月7日担当のakisuteです。最近フォント周りについて深く掘り下げる機会がありましたので、その際のメモを残しておこうと思います。地点では存在しないタイトルの通りですが一応補足しておきます。