misc.log

日常茶飯事とお仕事と

APEX Legendsのスクリーンショット保存先

最近プレイしているゲームの1つが「APEX Legends」。職場の若手さんから教えてもらって、PC版でプレイしているのですがなかなか難しいです。

f:id:frontline:20190224184448j:plain
APEX Lengends / プレイ中画面

3人チーム、最大20チームが広い島で戦い、生き残ったチームが勝ちというものなのですが、どうもやはり「狙い撃ち」が苦手という根本的な弱点のため撃ち負けてしまう次第。

なんとか勝つとこんな感じです。

f:id:frontline:20190224184519j:plain
APEX Legends / 優勝時の画面
f:id:frontline:20190224184535j:plain
APEX Lengends / 優勝時の画面

ゲームプレイ中はPC版の標準設定だとF12キーでスクリーンショットがとれるのですが、ほかのゲームと違い、F12を押してもうんともすんともいいません。が、スクリーンショットはとれていて下記のフォルダに保存されます。

C:\Program Files (x86)\Origin Games\Apex\r2\screenshots

ただしこれは64bit版Windows 10の場合。おそらく32bit版だと「Program Files」となって「(x86)」がなくなると思うので確認してみてください。画像は、1920x1080サイズだとだいたい700KB前後のJPEG形式で保存されます。

Apex Legends (Original Soundtrack)

Apex Legends (Original Soundtrack)


Apex Legends: Game Guide (English Edition)

UTF-8かどうかの判定(C#)

別システムからのデータファイル取り込み処理で、文字コードが不明であった場合にどうするか、という話から、UTF-8かどうかのチェックができるのか?という話題になりました。

UTF-8の種類

UTF-8という文字コードには、BOM(Byte Order Mark)という情報があるバージョンと、無いバージョンがあります。BOMがある場合、UTF-8データの先頭を見てBOMに該当するデータパターンが入っていれば「BOM有りのUTF-8」ということで簡単に判断可能です。しかし、世の中の大半のUTF-8データはBOM無しなので、実はこの方法はたいていの場合使えません。

BOM無しUTF-8の判定

具体的な手法やロジックは追えてないのですが、stackoverflowの下記のスレッドから、CodePlexにライブラリが掲載されていることが判りました。

stackoverflow.com

こちらです。

archive.codeplex.com

CodePlexはすでにクローズされることが決まっているので、いずれはGitHubに移行されるのかもしれませんが、2019年2月時点では上記リンクからダウンロード可能です。

Utf8Checker

ファイルをダウンロードするといくつかフォルダが出てくるのですが、「sourceCode」というフォルダにソースが入っています。ファイルは古いVisual Studioなので、Visual Studio 2017などで開くとコンバーターが動きますが、そのまま変換して問題なさそうです。
ソースにはテストプロジェクト(Unicode.Tests)と、本体であるUnicodeプロジェクトがあります。実際に自分で使う場合はUnicodeプロジェクトのビルド結果(DLLファイル)を参照して、UTFCheckerクラスのインスタンスを生成して使うようです。
メソッドは大きく2つ。

  • Checkメソッド …… ファイル名を指定してファイルがUTF-8かどうかを判定する。
  • IsUtf8メソッド …… strem形式のデータを指定してUTF-8かどうかを判定する。

前者のCheckは、ファイルを開いてIsUtf8に判定を依頼するもので、実質的に動くロジックは同じです。

面白いのはテストに使っているデータ。https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt にあるものがテストプロジェクトに入っています。我々がテストをするとどうしても複雑な日本語に限定したテストをしがちですが、前述リンク先にあるファイルはいろんな言語や記号も含まれているので、他の文字コード関連テストにも使えるかもしれません。

とりあえず自分用メモということで。


[改訂新版]プログラマのための文字コード技術入門 (WEB+DB PRESS plusシリーズ)

GitLabのグループに既存プロジェクトを追加する

絶対忘れそうなのでメモ。

背景

GitLabで、複数プロジェクトをまとめられる、グループというものを作ることができます。グループは、参加するメンバーをプロジェクトごとではなくグループ単位で設定できるので、複数プロジェクトを複数メンバーで取り扱う場合などに便利な設定です。ですが、普通にグループを作成すると、そこに入れるプロジェクトは新規プロジェクトしか指定できません。新規作成プロジェクトでは事前にエクスポートしておいたプロジェクトも指定できるので、エキスポートしておけば既存プロジェクトも追加可能ですが、ちょっと面倒。というわけで、すでにあるプロジェクトをグループに入れる方法を記載しておきます。

既存プロジェクトの設定画面から実施できる

すでにあるプロジェクトをグループに入れるという作業は、GitLabでは「Transfer(トランスファー)」と呼んでいます。この作業は、既存プロジェクトのページから「Settings(設定)」→「General(一般)」で表示される一般設定の下の方、「Adanced」と書かれたところのExpandボタンを押すと出てきます。

f:id:frontline:20190212112117p:plain
GitLab、設定→一般→Advanced

Advanced設定の中でも下の方に「Transfer Project」という項目があります。

f:id:frontline:20190212112414p:plain
GitLab、Advanded設定→Transfer Project

「Select a new namespace」という項目がドロップダウンリストになっていて、すでにあるグループ、特に、自分が選べるグループなどが表示されるので、移動先のグループを選択して「Transfer Project」ボタンを押してください。

f:id:frontline:20190212112507p:plain
GitLab、Transfer Project確認

上図のようなメッセージが表示されます。「別のオーナーに委譲」という不安になるコメントが書かれていますが、グループもプロジェクトも自分が作成したものであれば特に問題ありません。ここでは、移動させるプロジェクトの名称を手打ちでテキスト入力欄に打ち込んでください。打ち終わると「Confirm」ボタンが使えるようになるので、ボタンを押しましょう。これで終わりです。


わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉