kazutomoのブログ

たまーに気が向いたらなんか書きます

AIと一緒に開発をするということについて

GPT-4 のリリース以降、私たちもこの技術をどのように活用できるのかさまざまな試みをしてきました。
そして、GPT-4が提供してくれる価値は、本当に働き方をガラリと変えるほどの影響力があると感じる日々が続いています。

 

今回は、その取り組みの成果の一つとして AI と一緒に開発を進めてきたことについてお話ししたいと思います。

 

私たちは、ゲームサーバーをBaaSとして提供する Game Server Services を開発し、提供しています。

gs2.io


そのサービスの新機能として、ステートマシンをサーバーでホスティングし、クライアントからのイベントパッシングに応じてステートを変化させ、ステートごとに設定されたスクリプトを実行できる仕組みを提供したいと考えていました。

しかし、ステートマシン定義言語でメジャーなものが現状なく、それらしいものは Amazon が提供している Amazon States Language(ASL) くらいしかない状態です。
ASL を記述したことがある人ならわかると思いますが、決して扱いやすい言語とは言えません。

このような背景があり、ウマ娘登場以来ずっと作りたいと思っていた(ウマ娘のようなゲームで育成過程をサーバーサイドで管理するには、サーバーサイドでステートマシンを動かすのがいいと思ったのです)ステートマシンホスティング機能ですが、実現にはなかなか踏み切れませんでした。

GPT-4を数日触って「もしかしたらいけるかもしれない?」とおもって話しかけたのが以下の文面です。

それに対する回答がこちらでした。

初っ端から、かなりそれらしいステートマシン定義言語が出てきていることがわかります。

そして、出てきた構文に対して私はどんどんフィードバックをしていきます。

GPT-4 は的確に質問をこなし、構文を洗練させていってくれます。

時には私自身ゴールが見えていないので、GPT-4に考えさせることもしてみましたが、かなりスマートな方法を提示してきて驚きます。

 

そして、構文がある程度固まってきたところで、パーサーの実装をしてみることにしました。

最初はパースする方法のガイダンスレベルの回答しか得られていませんでしたが、具体的に「実装して」といえばしてくれました。

残念ながら1回では完璧にパースできるものが出てこなかったので、エラー内容を伝えながらこちらも洗練させていきます。

 

構文木を構築できるようになったので、パーサーでパースした結果を golang の構造体に格納するようにしたいと思いました。

ちゃんと構造体に格納できているか確認するために、テストコードを書いていたのですが途中で、実はこのテストは GPT-4 に書いてもらえるのではないかと思いました。

すると、私の書きかけのテストの続きを書いてくれました。
ただし、一部手直しが必要でした。

レートリミットに引っかかりながらなので、何度か休憩を挟みながら進めましたが、構文定義〜パーサーの実装 まで1日で終えることができました。

GPT-4登場前では信じられない速度です。

まだここから実際にサービスとして提供するまでには時間を必要とするでしょうが、ボトルネックとなっていたステートマシン定義言語とそのパーサーの実装の目処がついた今となっては「やるだけ」というところまできたと思います。

 

最後に AI と一緒に開発をする際に、活用余地があるポイントを挙げます。残念ですが、GPT-4 が出力する内容は完全ではないため、それを見極める目と手直しは必要です。万人がプログラマー無しでサービスを作れるという時代まではもう少し進歩が必要そうです。

  • 仕様検討の壁打ち相手にする
  • 実装方針の案を出してもらう
  • 未体験の実装をしてもらう(今回であれば、私は構文木を構築するANTLRを使ったことがなく、g4 の記法を知りませんでした)
  • テストコードの雛形を生成してもらう
  • バリデーターなど考えるのがめんどくさい処理の雛形を生成してもらう

この辺りは現実的なレベルで使えるところまできていると思います。

各項目を見て察していただけたかもしれませんが、プロダクションレディなコード生成はまだ期待できません。しかし、対話を重ねることで 80%~90% レベルまでは GPT-4 の出力で満たせるものを作れると思いました。

 

最後に、私たちの提供している Game Server Services がバンダイナムコエンターテイメント様にご利用いただきました。

事例紹介インタビューが以下です。あわせて見ていただけるとありがたいです。

gs2.io

iPhone Xs から iPhone SE(第二世代) に移行しておもったこと

iPhone Xs を使い始めて約2年。バッテリーの劣化が気になり始めたので iPhone SE(第二世代)に移行しました。
2年前とはいえ、ハイエンド端末からミドルエンド端末への変更ですので、似たような境遇の人で躊躇している人もいると思って素直な感想を書きます。

 

変えてよかったところ

軽い


もともと小さくて軽いデバイスが好きなので、どんどん大きく、重くなっていく iPhone はつらかったけど、174g から 148g に減りました。

でも、もっと軽いのがいい。iPod touch(88g) の SIMスロット付が欲しいなあ。(???)

 

Apple iPod touch (32GB) - ゴールド (最新モデル)

Apple iPod touch (32GB) - ゴールド (最新モデル)

  • 発売日: 2019/05/28
  • メディア: エレクトロニクス
 

 

Touch ID が復活した

 

コロナの影響で外に出るときマスクをしているとロックが解除できなくてイライラするのがなくなった。
普段の買い物も大体 iD / QuicPay なんだけど、指を Touch ID に置いたままカードリーダーにかざせばいい状態に戻った、電源ボタンをダブルクリックして、Face ID で認証してからかざさないといけないのが若干煩わしかったのが戻った。うれしい。

ただ、後述するように、Face IDのほうがよかったシーンもあるので、注意。

 

 


FGO にフチがない

 

iPhone X がでてずいぶん経つけど、FGOはいまだに iPhone Xアスペクト比に対応してない。(たぶん、ここまで来たならしないんじゃないかな…)

iPhone SE では全画面で FGO が遊べる!

 

Fate/Grand Order Original Soundtrack III(初回仕様限定盤)

Fate/Grand Order Original Soundtrack III(初回仕様限定盤)

 

 

変えてよくなかったところ

Face ID がなくなった

 

パスワードを自動補完するときは Face ID のほうがよかった

もう画面を見ている状態では、いちいちホームボタンに指を動かすより、顔を認証して勝手に認証してくれるほうが圧倒的に便利。

ただ、Xs では画角がたりないのか顔が近いと認証に失敗するので少し離さないといけないことがあったので、その状況が頻発している場合はどっちもどっちかもしれない。

 


 

画面下部を左右スワイプでタスク切り替えができない

 

iPhone Xシリーズ/11シリーズ は、さっきまで利用していたアプリへの切り替えなどが画面下部を左右にスワイプすることでできる。

普段これを多用していたので、アプリを切り替えるのにいちいちホームボタンをダブルクリックするのは"かなり"めんどくさい

 


 

画面をタップしてスリープを解除できない

 

iPhone Xシリーズ/11シリーズ は画面をタップするとスリープを解除できる。
普段仕事中にはデスクに iPhone を置いて作業をしていて、何か通知が来てるかな? って思ったら画面をタップして確認していたiPhone SE ではホームボタンをクリックするか、持ち上げないと画面がつかない

 

 参考にしてください。

2018年 買ってよかったもの / スマートホーム & バーミキュラ

2018年も今日でおわりですね。
定番の今年かってよかったものを書いて締めたいと思います。

スマートホーム

私はもともと phillips hue を使っており、iPhoneから電気を点けたり消したり、時間のルーティンで勝手に点いたり消えたりと便利に使っていました。 

Philips Hue(ヒュー)スターターセットv3 スマートLEDライト 【Amazon Alexa、Google Home、Apple HomeKit、LINE対応】

Philips Hue(ヒュー)スターターセットv3 スマートLEDライト 【Amazon Alexa、Google Home、Apple HomeKit、LINE対応】

 

 

最近はスマートスピーカーの流行もあって、このあたりが一気に整備されていっているのを感じています。 

 

日本ではあまり実感がないかもしれませんが、この間アメリカに行ってきたときに見た光景がこちらです。

f:id:kazutomo:20181125182543j:plain


売り場の一番いい位置にスマートスピーカーが陣取っており、奥までズラッとスマートスピーカー関連のアクセサリーが並んでいます。

 

定番のアクセサリーとしては以下のものがありました。

音声コントロールだけでは限界がある。という点に各社気がつき始めたのか、最近では画面付きのデバイスも増えています。

その代表格が Google home hub でしょう。
画面がついたことで、出来ることの幅が大幅に増えました。


Everything the Google Home Hub Can Do

 

予定にあわせたルート案内を出したり、週間天気や今日一日の時間ごとの温度の変化など、音声では表現の難しいことも画面がついたことで、可能になりました。

Google home hub は日本ではまだ売っていませんが、上陸したら手に取るべき商品のひとつでしょう!

 

「でも、スマートスピーカーから操作するには専用のデバイスがいるんでしょ?そういうの高いじゃん?」

わかります。勢いがあるだけではだめで、気軽に導入して良さをすぐに体感できないと駄目ですよね。
それを助けるアイテムとして、今年買った中で満足度が高かったのが Nature Remo です。

 

スマートリモコン Nature Remo 【Remo-1W2】

スマートリモコン Nature Remo 【Remo-1W2】

 

 

これはいわゆる学習リモコンですが、スマホスマートスピーカーとの連携が前提となった商品です。
しかも、ボタンをひとつずつ学習するのではなく、プリセットがある場合はそちらを使うこともできます。

たとえば、我が家で使っているダイキンのエアコンを学習させた結果がこちら。

f:id:kazutomo:20181231155029p:plain

 

スライドバーで温度を調整したり、運転モード(冷房・暖房・除湿)の切り替えなどもスマホらしいUIで操作できます。

このUIで操作をすると、ワンテンポ遅れてピピッと音がしてエアコンがリモコン操作を受け付けているのがわかります。

 

一つ残念なのが、擬似的なサーモスタットですので、Google home からは現在の状態が取れないためか、オフラインになってしまいます。

f:id:kazutomo:20181231155115p:plain

本当はここで温度調節ができると home hub UI からも操作できていいのでしょうね。

Google home の話が続きましたが、Alexa スキルを入れれば Amazon Echo から「テレビをつけて」と言えばテレビの電源を入れてくれるようになりますし、「エアコンをつけて」でエアコンの操作もできます。

バーミキュラ

話をガラッとかえて、次に買ってよかったものはバーミキュラライスポットです。

 1年ほど前に家電量販店で見たときは「保温機能ない炊飯器とかネーワ」だったのですが、それから私の生活環境も変わりました。

まず、大きな変化がゆるキャン△に影響されてキャンプを始めたことです。

今では隔週くらいでどこかにキャンプに行っているのでそんなでもありませんが、慣れるまではごはんをうまく炊くのが難しかったです。
そこで、始めたのが家でご飯を炊くのにもキャンプと同じように炊こう。でした。

ユニフレーム(UNIFLAME) ライスクッカーミニDX 660331

ユニフレーム(UNIFLAME) ライスクッカーミニDX 660331

 
ソト(SOTO) レギュレーターストーブ ST-310 シルバー

ソト(SOTO) レギュレーターストーブ ST-310 シルバー

 

これのいいところは 10分ほどでご飯を炊くことができて、蒸らし時間をいれても15分後にはごはんが食べられるということです。

炊飯器のように1時間かかるようではおかずを作っている横でご飯を炊くには長すぎて、事前に炊いたり保温しておかないといけないということに繋がります。

それが、15分で炊けるとなった途端に「どうせ毎食炊きたてのご飯を食べるんだし、保温なんていらなくない?」に変わったわけです。

 

そして、保温してないご飯が美味しいこともあり、もう保温したご飯を食べようとは思わなくなりました。
保温するくらいなら、炊きたてご飯をラップでくるんで冷凍しておいて、レンチンした方が美味しいです。

そこで再評価したのがバーミキュラライスポットでした。
炊飯には炊飯器と同じように1時間近くかかるため、先ほどの保温いらない理屈には当てはまらないのですが、炊き上がったご飯はずば抜けておいしいです。

とはいえ、我が家では炊飯には相変わらず15分で炊ける方法を使っており、もっぱらバーミキュラは無水調理などを使ったおかず作りで活躍しています。

Vermicular Recipe Book 01「Everyday Vermicular」 (素材本来のおいしさに気がつくレシピブック)

Vermicular Recipe Book 01「Everyday Vermicular」 (素材本来のおいしさに気がつくレシピブック)

 

 カレーライスや、煮込みハンバーグなど色々なおかずを具材を入れて電源を入れて放置するだけで作れるのはかなり満足度高いです。

もちろん、味もすごいですよ。カレーライスとか特に野菜の味がでることで市販のカレールーを使ってるとは思えないくらい別の味になります。

 

うちでは時々コストコ仕入れてきた肉の塊を BONIQ を使ってローストビーフにしていました。

 しかしお湯が適温になるまでの待ち時間が結構あり低温調理の終わる時間の見込みが立てにくかったり、肉を入れたジップロックが中に入った空気で浮いてくるのを抑えなければならない。など、微妙に手間がかかっていたのも、バーミキュラライスポットだと焼き目を付けるところから低温調理に入るところまでシームレスに繋がってかなり楽になりました。

 

それでは、よいお年を。

例え話をしないC言語のポインタの説明 のマネ

givemegohan.pigboat.jp

に触発されたエントリです。
読んでてなんかしっくりこないなあ。と思ったので、私なりに書いてみようと思います。

メモリとは

ポインタを理解するためには、上のエントリの通りまずはメモリを知る必要があります。

メモリとは一時的な記憶領域で、ハードディスクやSSDとは違い電源を切ると消えてしまう性質があります。
その代わり、ハードディスクやSSDよりも高速に読み書きが出来る。という特徴があります。

パソコンやスマートフォンでは、ハードディスクやSSDのような記憶領域から必要なデータを読み込んで配置してプログラムを実行するのに使用します。

f:id:kazutomo:20180201152119p:plain

コンピュータは 0/1 で処理される。とよく言われます。
一般的なメモリでは通電しているか、していないかで 0/1 を表現します。

単位として バイト/ビット という単語を聞いたことがあると思いますが
上の図で言うと、0/1 ひとつひとつを表現するために必要なデータサイズを 1ビット と呼びます。
そして、8ビットあつまると、1バイトと表現します。

メモリは4GBや8GBといった単位でコンピュータに内蔵されていますが、
4GBの場合は 4,294,967,296 バイト = 34,359,738,368 ビットのデータを保持出来る。ということになります。

メモリにデータを配置する場合や読み出す場合は メモリアドレス=メモリ上の住所 を指定してアクセスすることになります。
メモリは一次元的に続くデータ領域で、1バイト目を0番地。2バイト目を1番地 というように呼びます。

コンピュータが実行するプログラムデータや、プログラムが動作するために必要な一直なデータなどは全てこのメモリのどこかに配置されて実行されることになります。

ポインタとは

ポインタとは、ずばり メモリアドレス のことです。
例えば、プログラムで 1バイトのデータを保持する data という領域を確保したとしましょう。

これがメモリのどこに確保されるのかは実装方法により、スタック領域やヒープ領域といった場所から確保されますが、今回の趣旨からは外れるので詳しくは語りません。
とりあえずメモリのどこかに1バイトの空間が確保されます。

そして、data というデータを確保したメモリアドレスが data のポインタということになります。

たとえば、data は メモリアドレス1番地に配置されて 3 という数値を格納したとすると以下の図のようになります。

f:id:kazutomo:20180201153351p:plain

この場合、C 言語的に言えば data(dataの中身) は 3 であり、&data(データのポインタ) は 1になります。

なぜポインタを使うのか

たとえば、data を受け取って data を 1増やした値を返すプログラムがあったとしましょう。

uint8 addOne(uint8 data) {
  return data + 1;
}

プログラム的に書くとこんな感じです。

この程度のプログラムの場合、近代的なコンパイラを使用すると最適化されてこのようなことは起こらないと思いますが、原始的に考えると

uint8 data = 3;
data = addOne(data);

というプログラムを書いた場合、3を設定した data と addOne の中の data は別のメモリアドレスが割り当てられ、addOne の中の data には 3を設定した data の内容がコピーされて実行されます。

今回 data のサイズは1バイトという非常に小さいデータだったので、それほど気にする必要は無いでしょうが、もっと大きなデータだった場合、データをコピーするのにかかる時間が勿体ないです。

最終的に 3を代入した data が 4 になってほしいわけですので、ここでポインタを使用します。

void addOne(uint8* data) {
  *data += 1;
}

uint8 data = 3;
addOne(&data);

こうすると、addOne は data のメモリアドレスを受け取って、
*data(dataポインタが示すメモリの中身)に1を加算する。ということになり、
メモリの内容をコピーせずに同じ処理を実行出来ました。

 

このように基本的にはポインタは例外の無いC言語で戻り値はエラーコードに使用し、関数の副作用は引数で受け取ったポインタの実体に対して行うために使われることが多かったです。

 

iPhoneX を修理に出すために iPhone7 に戻って感じた iPhoneX の真価

iPhoneX を落としてしまって、画面にヒビが入ったので Apple Store に行きました。

どうせ交換ですぐ終わるでしょ。と思ってたら、店舗内で修理するので3時間待ってくれ。と言われたんですね。
てっきり数分で新品が出てきて帰れると思ったので、その後予定を入れており 仕方なく修理は諦めて帰ることにし、郵送で修理に出すことにしました。

で、数日後に iPhoneX を集荷に来るので、iPhone7 に戻して半日経ったのですが、体感したのは iPhoneX は想像以上に良くなってた。ということ。

タスク切り替え超便利

こちらのツイートにあるように、iPhoneX は画面下部をスワイプすることでタスク切り替えができるんです。
これによって、ホームボタンをダブルクリックして起動するタスクメニューは殆ど使いませんでした。
※ ちなみに、iPhoneX のタスクメニューは画面下部を長押しなのでテンポが悪いという理由もあります

よくニュース記事とかで印象的な部分をコピーしてLINEやSlackで送信する。ということをするので、タスク切り替えがスマートだと捗るんですよね。

FaceIDはなんだかんだ言って便利

寝起きで死んだような顔をしてるときやあくびをしながらだと認証が通らないFaceIDですが、それでもやっぱり便利と感じることがあります。

たとえば、手を洗った直後に TouchID は通らないことです。
指に水滴が付いていると認証が通らないので、頑張って指の水分を拭き取ってから認証したりするのは顔認証し直すのに比べたらちょっとアホらしい感じがします。

次に、復元直後でローカルのデータストアにパスワード情報がないからだと思いますが、iCloudキーチェーンからパスワード情報を取り出すときに指紋認証を求められるのも、いちいち指をホームボタンに運ぶのにモヤッとします。

バッテリーの持ちが段違い

iPhoneX になって画面上部のバッテリー残量にパーセント表示が出来なくなったのが困るなあ。と思ってたんですが、
使い始めてみると、バッテリーメニューで 使用時間 と スタンバイ 時間が1日で数時間しか変わらない超ヘビーユーザな私でも、20%を切りました。というダイアログは出張時にテザリングしまくったときとかゲームをしまくってる時しか見ませんでした。

だいたい毎朝1時間ほどかけてSNSやニュースを確認したり、いくつかのゲームのルーチンワークをこなしてから仕事を始めるんですが、このときiPhone7では20%ほど消費しているのに対して、iPhoneX では 10% ほどしか消費しません。

 

iPhone7 に戻したときは、iPhone7 の方が軽いし、このまま iPhone7 で定住する可能性あるなあ。とおもってたのですが、意外にももう iPhone7 には戻れない体になっていたようです。

余談ですが、Webから配送修理依頼を出すと Apple Pay 用のウォレットが初期化されるようですので注意してください。
私は Apple Store を出てすぐに配送修理依頼を出したせいで、帰りに Suica 消え去ってる上に、あたらしく登録し直すことも出来ずに久しぶりに紙の切符を買う羽目になりました。

2017年放送アニメおすすめ10選

早いもので、今年もあと数日を残すのみとなりました。

アニメの方も今クールの放送が次々と終わっていき、そろそろ2017年の総括をしてもいい時期だと思いましたので、
私が見てきたアニメの中からおすすめ10選をご紹介したいと思います。

★★★☆☆

サクラダリセット

咲良田という町が舞台で、この町にいると誰もが何かしら特殊な能力を持っている。でも咲良田をでると能力は無くなり、能力があった記憶もなくなる。という設定。

主人公は「一度見たものを忘れない」という能力を持っており、ヒロインは「最大3日前までセーブした時間に時間を巻き戻せる」という能力を持っている。

この能力の組み合わせにより、ヒロインがリセットをしても、主人公はリセット前の記憶を持っている状態となるため、それを使って未来を変えていく。というのが主軸となる。

台詞回しがいちいち中二病くさいのが鼻につくし、中盤までは設定の掘り下げばかりで話のゴールが見えてこないのでちょっと辛いのですが、中盤あたりから面白くなってくるタイプの話でした。

 wwwsp.sagrada-anime.com

 ナナマルサンバツ

クイズを題材としたアニメです。

ヒロインの声優が棒読みと不名誉な形で話題になってしまったのですが、ほんとに棒読みです。

ですが、作品としては面白いので声優の棒読みだけで評価されないのはちょっと可哀想です。

とくに物語としてひねったところは無く、少年マンガらしい王道スポ根ものですが安定した面白さがありました。

7o3x.com

ゲーマーズ!

いつもの感じのラノベ原作アニメなんでしょう?という感じで見ていたのですが、いい意味で裏切られました。

主要登場人物が5人のラブコメものなんですが、アンジャッシュのコントのように会話がかみ合わないことから関係がもつれ続ける。というのが意外な展開でした。

www.gamers-anime.com

★★★★☆

異世界食堂

基本的に私はストーリーものが好きなのですが、日常ものでもときどき刺さるものがあります。

本作は名前の通り、なぜか異世界の各地に主人公が営む食堂の入り口の扉が出現してしまった。という設定です。

異世界人からすれば、食堂のメニューは見たことが無い料理であり、さらに異世界の食事より工夫が凝らされた美食である。ということになっています。

毎話いろいろな異世界の住人が食堂への扉をみつけて、食堂に迷い込み、おいしいものを食べて帰って行きます。

ただそれだけの話なので、肩肘張らずに気軽に見ることが出来ます。

isekai-shokudo.com

幼女戦記

転生もので、第一次世界大戦(風)の時代に幼女として転生した主人公。

記憶はばっちり残っているので、幼女だけど戦術に長けた軍師様として活躍します。

中盤まではかなり良かったんですが、尻すぼみだったかなあ。という印象だったので、

評価は低めになっていますが、中盤までの面白さはピカイチだったので、おすすめです。

youjo-senki.jp

幼女戦記(1) (角川コミックス・エース)

幼女戦記(1) (角川コミックス・エース)

 

3月のライオン (二期)

将棋を取り扱った作品です。史上5人目の中学生プロ棋士が主人公で、プロになってしばらく経ったところから物語が始まっています。

そのため、主人公の過去について、読み手の知らない情報がたくさんあることを武器としたストーリーが描かれます。

この作品は、将棋を軸に扱っているのですが、そこから生まれるストーリーの大半は人間ドラマであり、スポ根とは少々異なります。

基本的にジメッとした人間ドラマが続きますので、苦手な人は苦手かもしれません。詩のような話が見たい。という場合はおすすめです。

3lion-anime.com

十二大戦

干支をモチーフとした12人によるバトルロワイヤルもの。

それぞれのキャラクターに特徴的な能力やバックグラウンドがあり、

バトルロワイヤルものとしてはバトルはあっさりめでキャラクターのバックグラウンドを軸に話が展開する。

最終回の手前まではわりといい感じだったんだけど、最終回がなんだこれ?って感じだったのが残念。そこまでの流れはおすすめです。

12taisen.com

十二大戦

十二大戦

 

★★★★★

昭和元禄落語心中(二期)

タイトル通り、落語家の人生を描いた作品です。

これは二期通してひとつの作品だととらえてこのおすすめ度です。

rakugo-shinju-anime.jp

昭和元禄落語心中(1) (ITANコミックス)

昭和元禄落語心中(1) (ITANコミックス)

 

ボールルームへようこそ

社交ダンススポ根ものという珍しいジャンルです。

この手の作品の主人公は、読み手とスタートラインを合わせるため、

遅れて習い始めるけど、短期間で成果を上げていく。というものが多いですが、本作もその部類です。

ダンステクニックによる成長。というよりは人間性の成長に軸を置いており、苦悩しながらも成長していく姿は応援したくなります。

ballroom-official.jp

メイドインアビス

こちらは、過去に別途エントリを書きました(ネタバレ無し)ので、そちらを見てもらうとして。

アビスと呼ばれる大穴を冒険するファンタジー作品です。

ハードモードにレベル1で特攻するような無謀さと、それによる予想不能な展開が見物です。

miabyss.com

kazutomo.hatenablog.com

 

来年も面白い作品に出会えるといいな!

iPhoneX を買ったらまず設定したい色域設定

iPhoneXを買ったんですけど、OLEDが黄色いんですよね…。

truecolorを切ると良くなるんですけど、OLEDは同じ色を出し続けると焼き付くので、
それを回避するために環境光にあわせて色を変えるというアプローチをとってるわけなので、それは生かしたいですよね。

 では、どうするか?というと、色覚異常対応の機能を使います。

f:id:kazutomo:20171105003804p:plain

f:id:kazutomo:20171105003816p:plain

f:id:kazutomo:20171105003830p:plain

f:id:kazutomo:20171105003856p:plain

f:id:kazutomo:20171105003907p:plain

ここで、青みを付けることで黄色っぽく見えるのを修正することができます。

スタンドに置くだけで充電できる無接点充電器が2000円強で買えるので、デスクにおいてみてはどうでしょう?