【日常】個人開発を始めた(APP/Web)

はじめに

個人開発を始めました。今日から。

まったく別の内容をWebとスマホアプリで。

なんで?

これらは仕事用ではなく、気分転換と技術検証のサンドボックス用として設ける予定です。

なんか欲しいサービスがある訳ではない。主に気分転換用なので、一日多くても20分くらいしか触らないでしょう。

せっかくなら誰かのためにやりたいから、アイデアだけある人は緩募。

なんかもう、全部PWAで良くな〜い?ってずっと脳内再生してる。

それはさておき

エンジニアにポートフォリオ必要って言い出した人、誰なんでしょうね?

ここ数年、Twitterとか駆け出しエンジニア界隈見てると、ポートフォリオMUSTみたいな流れをよく見ますが、未だに解せない部分があります。

もちろん成果物はあるに越したことはない。採用面接なんてアピールする場なんだから、アピールの材料を事前に用意するのは当然なわけで。

でもその面接対策が、「ポートフォリオの見せ方を上手くする」に注力し過ぎる流れになると本末転倒感。

私自身もポートフォリオ持ってなくて、正直勉強なんてローカルでぱぱっとやって要らなくなったのさっさと消して、ってタイプなので、他人に見せるためにどっかに残す(デプロイ、GitHub、ブログ等々)っていうのが非常にめんどいと思うタイプでして。。

おわりに

エンジニア流行ってエンジニア面接受ける人が増えて、採用側も書類見たり背景調べたりするのがめんどくなったから、分かりやすいポートフォリオを推薦するって流れなのですかね?(知らんけど)

【ポエム】ダークモードの意外な需要

ダークモード、開発者視点からすると、ただのバリエーションのひとつとして捉える人も多いかもしれない。

しかし人間というのは面白いもので、「他と比較して◯◯」と評価する人が多いのも事実ではないかと思う。

まさに慣れというもの。

例えば、

  • 他のアプリはダークモードにしてるから、これだけ背景白いと目が痛い(ダークモードでる前はどうやったん?)
  • 他のアプリに普通にある機能なのに、なんでこのアプリはダークモード対応してないの(もはや言いがかりやん)
  • 今の時代、色くらい好きにカスタマイズさせて(知らんがな)

など。

これらを「知らんがな」で片付けるのは簡単ですが、サービスというのは使う人がいるわけで、使う人がいるということはレビューが生まれるわけで、新規ユーザはレビューを参考にするわけで。

「サービス自体の改善」の軸と、「外向けの見栄え良くする(レビューや広告など)」の軸、サービスを改善していく方針には色んな軸とそれぞれのタイミングがあると考えると、面倒くさい反面、よりサービス開発が面白くなるのかもしれない。

【kawaii】私が思う可愛いの最終形態はカービィ

はじめに

私が思うこの世で可愛いフォルムNo1、それはカービィです。圧倒的1位です。

今回ふと、なんで私はカービィを可愛いと思うのか気になったので、AIも絡めながら考えてみたいと思います。

カービィの可愛い要素とは

まず私は、カービィを見ただけで可愛いと思っています。

つまり見た目に可愛い要因があるはずなので、見た目を分解してみます。

  • フォルム
  • 色数
  • サイズバランス
    • 体はなく1頭身
    • 目は縦長で顔の半分よりか少し小さいくらい
    • 口は小さい
    • 足は手より大きめ
    • 手は小さめ
    • 体全体は小さめ
  • 質感

見た目の印象はこんな所でしょうか。

果たしてこの内、どれが可愛いと関係しているのか。

(1) フォルム

なんとなくフォルムは可愛いにかなり寄与してそう。

ただ、よくよく考えると、↓あたりが気になる。

  • コピー能力発動時のカービィはまるくないけど可愛い
  • ほぼ同じフォルムのワドルディは私は可愛くは見えない

どうもまるいことがすべてでは無さそうだ。

(2) 色

色もなんとなく可愛いにかなり寄与してそう。

ワドルディとの違いに一番影響与えてそう。

(3) 色数

どうだろう。

カービィは口もあるから、ワドルディと色数は対して変わらない?

ナイトメアともぱっと見、同じくらいの色数に見える。

あまり関係ないのか?

(4) サイズバランス

これも口の有無以外、ほぼワドルディと一緒な気がするからあまり関係ないのか?

(5) 質感

上記同様、ワドルディとほぼ同じか?

全く分からないのでAIに聞いてみる

ChatGPTに聞いてみたら、以下の回答だった。

https://chatgpt.com/share/b3883f3f-e95e-40bd-881d-2361efe1f0bf

Q) なぜカービィの見た目は可愛く見えるのですか?

カービィの見た目が可愛く見える理由には、いくつかの視覚的および心理的な要因があります。以下に主な要因を挙げます。

  1. シンプルなデザイン カービィのデザインは非常にシンプルです。丸い体と小さな手足、大きな目と小さな口という構成は、視覚的にわかりやすく、覚えやすいです。このシンプルさは、親しみやすさと安心感を与えます。

  2. 丸い形状 カービィの丸い形状は、心理的に安心感を与える効果があります。丸い形は、角のない柔らかさや優しさを連想させ、人間にとって安心できる形とされています。このため、カービィは見た目だけでなく、触れたくなるような魅力を持っています。

  3. 大きな目 カービィの大きな目は、赤ちゃんや小動物に共通する特徴で、無垢さや純粋さを連想させます。人間は本能的に大きな目を持つ顔を可愛いと感じる傾向があります。これは、親としての保護本能に関連しています。

  4. パステルカラー カービィのピンク色の体や明るい色使いは、視覚的に柔らかく、優しい印象を与えます。パステルカラーは一般的に、穏やかで平和な感情を呼び起こすため、キャラクターをより魅力的に見せます。

  5. 表情の多様性 カービィは多様な表情を持っており、喜び、驚き、悲しみなど、さまざまな感情を表現します。これにより、カービィが単なるキャラクターではなく、生き生きとした存在として感じられます。感情表現が豊かであることは、キャラクターに親しみやすさを与える重要な要素です。

  6. 小さなサイズ カービィの小さなサイズも可愛さに寄与しています。小さなものは一般的に、脆弱で守ってあげたいという感情を引き起こします。カービィの小ささは、保護本能をくすぐるため、より可愛く感じられます。

これらの要素が組み合わさって、カービィは非常に可愛らしいキャラクターとして認識されています。デザインの各要素が人間の心理に働きかけることで、その魅力が引き立てられています。

整理してみると、私は以下のように解釈した。

  • シンプルなデザインにすることで親しみやすさを表現できれば可愛く見える
  • 丸い形状は心理的に安心感を与える効果があるらしい
    • 触りたくなるような印象は魅力になる
  • 人間は本能的に大きな目を持つ顔を可愛いと感じる傾向があるらしい
  • パステルカラーは一般的に、穏やかで平和な感情を呼び起こす
  • 口があるということは表情の多様性に寄与している?
  • 小さなものは一般的に、脆弱で守ってあげたいという感情を引き起こす

大きな目の観点には驚いた。イラスト物で大きな目が多いの、意味あったのか。

要約すると、「見守りたくなるような、保護本能を与えるイラストは、可愛いを表現できる」ということだろうか?

では逆にワドルディカービィほど可愛く見えない理由はなんだろうか?

一応、誤解の無いように書いておくと、ワドルディを可愛くないと言ってるのではなく、私の主観ではカービィほどの可愛さを感じないというだけである。

ワドルディについてもAIに聞いてみた

Q) では、ほぼ同じフォルムのワドルディが、カービィほど可愛く見えないのは何故でしょうか?

ワドルディカービィほど可愛く見えない理由には、いくつかの視覚的および心理的な違いが影響しています。以下に主な理由を挙げます。

  1. 色の違い カービィは明るいピンク色で、これが親しみやすさや優しさを感じさせる要因となっています。一方、ワドルディはオレンジ色で、カービィほど柔らかい印象を与えません。ピンクは多くの人にとって「かわいい」と感じられる色ですが、オレンジはそれほど「かわいい」と感じられないことがあります。

  2. 表情の違い カービィは表情が非常に豊かで、さまざまな感情を表現します。これに対して、ワドルディの表情は比較的シンプルで、感情表現が少ないです。感情豊かなキャラクターは親しみやすさやかわいらしさを増す傾向があります。

  3. 目のデザイン カービィの目は大きくて丸い形をしており、無垢で純粋な印象を与えます。一方、ワドルディの目は小さく、黒い点のように見えます。この違いが、キャラクターのかわいらしさに大きな影響を与えています。大きな目は可愛さの重要な要素であり、目が小さいと可愛さが減少することがあります。

  4. 口の有無 カービィには口があり、これがキャラクターの表情や感情表現に寄与しています。ワドルディは口が見えないことが多く、これにより感情の表現が制限され、キャラクターが少し無表情に見えることがあります。口がないと感情の伝わり方が少なくなり、可愛さが減少することがあります。

  5. デザインの細部 カービィのデザインには、頬の赤い部分や、体の丸みなど、可愛らしさを強調する細部が多く含まれています。ワドルディのデザインはシンプルで、そうした細部が少ないため、カービィほどの可愛らしさを感じにくいです。

  6. キャラクターの役割と認知度 カービィは主人公として、物語の中心で活躍するキャラクターです。一方、ワドルディはしばしば敵キャラクターや背景キャラクターとして登場します。主人公キャラクターはプレイヤーに親しみを持たれやすく、自然とかわいさを感じることが多いです。ワドルディは敵キャラクターとしてのイメージが強く、それがかわいさに影響している可能性があります。

これらの要因が組み合わさって、ワドルディカービィほど可愛く見えないという結果になります。デザインの細部や色、感情表現の違いが、キャラクターのかわいらしさに大きく影響しているのです。

つまり、親しみやすく、それにより可愛さを押し出すためには、以下が重要と言うことか?

  • 可愛いとされる色を使う
  • 表情の豊かさを表現する
  • 大きな目にする
  • 丸みを帯びさせて触れたくなるような印象を与える
  • 良い奴という印象を宣伝する

さいごに

適当に始めた考察が、割と私のような陰キャに響く結論となって面白かったです。

  • 可愛いとされる色を使う
    • 髪色や服に気をつける陰キャになれば良いのか
  • 表情の豊かさを表現する
    • 陰キャも感情表現すれば良いのか
  • 大きな目にする
    • これは人間としては後回し
  • 丸みを帯びさせて触れたくなるような印象を与える
    • 丸みに限らず、触れたくなる(親しみやすくなる)印象として、清潔感はやっぱ大事か
  • 良い奴という印象を宣伝する
    • 友達欲しければ一匹狼より愛想大事

ぐぬぬって感じだ。

【日常】明日誕生日なんだが?

はじめに

誕生日なんだが?

溜まりに溜まった事務作業

やってないわけじゃない。日々やってるんだが、途中で他に興味が湧いて全部はやれてないだけだ(典型例)。

おわりに

午前中は通院、午後は溜まりに溜まった事務作業を片付ける。

そのために日曜日は外食をセッティングしてモチベ上げる。

バックオフィスで良い人いたらさっさと雇いたい。

【小ネタ】@react-native-picker/picker v2.6.0以降のtips

はじめに

@react-native-picker/pickerはReact Native向けのパッケージで、クロスプラットフォームなピッカーを提供してくれます。

github.com

こんな感じで簡単に使えて便利です。

<Picker
  ref={pickerRef}
  selectedValue={selectedLanguage}
  onValueChange={(itemValue, itemIndex) =>
    setSelectedLanguage(itemValue)
  }>
  <Picker.Item label="Java" value="java" />
  <Picker.Item label="JavaScript" value="js" />
</Picker>

上記githubのREADMEより引用

使用上の注意点

去年の11月に、v2.6.0がリリースされました。このバージョン以降、valueに数値を渡しても、onValueChangeがstring型に変換して値を返すようになってます。

このあたりのissueや、このあたりのPRコメント(v2.6.0リリース時のPR)でもこの事象について言及されてます。

この挙動の何がまずいかというと、数値を渡したから数値で返ってくるだろうと予想してonValueChangeで以下のように厳密等価演算子で何か処理を書いてた場合に、比較結果がfalseになってしまいます。

onValueChange={(selectedValue) => {
  if (selectedValue === 10) {  // "10" === 10の比較となってしまう
    console.log("'id = 10' is selected")
  }
}}

最後に

これから@react-native-picker/pickerを使い始める方、あるいはv2.6.0以前のバージョンを既に使っていてバージョンアップされる方は、十分に注意して挙動を確認しながら開発して頂ければと思います。

【無】Docker x vscodeの組み合わせあれこれ

Dockerは大きく、実行環境用のコンテナと開発環境用のコンテナに分けられると思う。もちろん他にもアイデア次第で使い方色々あるのだろうが、今回はこの2つで考えてみる。

Dockerは、Dockerfile等にCMDやENTRYPOINTで指定したコマンドを実行し、コマンドが終了したらDockerも終了する。

そうなると、Dockerとvscodeを組み合わせて使うには、どういった方法がベストなのだろうか。

例えば、先述した実行環境用のコンテナとは、CMDにnpm run start等を指定するものを想定している。Reactアプリ等がDocker内で起動するでしょう。

このコンテナにvscodeを接続して開発する場合、Reactアプリを再起動したいとなった場合に、Dockerも終了し、結果vscodeの接続も切れ、再接続の手間がかかってしまうと思う。

一方で、先述した開発環境用のコンテナとは、CMDに永遠に終わらないコマンドを指定したり、ttyのみ指定したりするDockerを想定している。

この場合、vscodeをDockerに接続し、アプリの実行自体はDocker内ターミナルでnpm run start等行う形となる。

これなら、アプリ再起動したい場合もDocker内で完結する話となり、vscodeの再接続の手間がなくなる。

しかし今度は、本番環境にコンテナをデプロイしたい場合に、本番環境向けのDockerfileは実行環境用のDockerとして作成、開発環境向けのDockerfileは、開発環境用のDockerfileという形になり、せっかく同じ環境を用意できるDockerなのに開発環境と本番環境でDockerfileの内容が違う構成となってしまう。

override TBD

【アイデア】振り返り、忘却のためのサービスが欲しくなってきた

  • なんか思いついてたけど忘れた
  • 勉強したけど使ってなかったから忘れた
  • 今すぐやる必要ないけど、後で時間できたらやりたいな

みたいな感情、多くの方が感じたことあるのではないでしょうか?

これらの対策として、メモる、をしてる人が多いのかなと思ってます。

でもメモって、メモるだけじゃ意味がなくて、振り返る作業も必要なんですよね。

学生の頃で言うと、綺麗にノート取っても見直さなきゃ意味がない、と揶揄されるようなあれですね。

個人的に、メモる作業はそこまで面倒ではないですが、振り返る作業が面倒です。忘れてほったらかしにしちゃうんですよね。

そして思い出すのは1ヶ月後とか。

だったら、振り返る作業を無くせるようなサービスがあれば良いのにな、と。

そしてイメージしたのが、まるで同棲してる(あるいは頻繁に会ってる)友達かのように、「そういえばあれ、どうなった?」とか、「どうせもうお前あれ忘れてるんだろ?」とか、喋ってくれるやつが居たら良いかもな、と。

そんなサービスあればぜひ私に使わせてください。

この程度の機能であればAI活用する必要性はないですが、音声でメモ、音声でリアクションしてくれるサービス、今の御時世なら簡単に作れそうですね。