ソフトウェア開発」カテゴリーアーカイブ

AppClipの設定周り

iOSアプリにはAppClipという仕組みが導入されていて、アプリをインストールすることなく簡易にアプリを体験することができる。

AppClip概要
https://developer.apple.com/jp/app-clips

AppClip(開発者向け)
https://developer.apple.com/jp/documentation/app_clips

AppClipは上記ページにも書かれているが、NFCやQRコードなどを読み込むことでカード状のハーフモーダルが立ち上がる。
このハーフモーダルから起動されたアプリは、本来のフルサイズのアプリではなく、一部の機能のみを有効にしたコンパクトなものなので、手軽に利用が可能。
さらに、基本的にはログイン不要で利用することができるということを想定されている。

フルサイズのアプリがインストールされていれば、そちらが起動するのでその場合は本来のアプリの機能すべてを利用可能になるという寸法だ。

AppStoreConnectの設定

このAppClipだが、機能の作り込みに関してはもちろんアプリ開発が必要になるのだけれど、カードを表示する部分に関してはAppStoreConnect上の設定となる。

AppClipのカードに関する設定はAppStoreConnectのアプリ情報入力ページ、中段くらいに用意されている。
カードに関しては1800×1200ピクセルというサイズ指定がされており、AppClipが一つである場合はメインページ上で設定することになるが、複数のAppClipを用いる場合は「高度な体験を編集」というリンクに従って専用ページで情報を入力する必要がある。

体験を編集する際に必要となる情報としては、カードの画像、表示タイトル、サブタイトルと、AppClipを読み込んだ際の動きに関する設定だ。

これ以外に、呼び出し用のURLやAppClipのバンドルIDなどを指定することになる。

カードの設定変更に関する注意点

AppClipの起動によって呼び出されるアプリケーションは、当然のことながらStore公開のための審査を通過する必要があるのだけれど、AppClipに関する設定はなぜか審査と無関係に反映されているように見える(2024-09現在)。

特に、AppStoreConnect設定では、現在公開中のバージョンと準備中のバージョンがあったとして、その両方からリンクされている「高度な体験を編集」画面は同じものになっているように見える。

逆を言うと、このバージョンまではこちらのカードを利用。
このバージョン以降はこちらのカードを利用と言ったことをしようとすると、リリース後に設定を変えるなどの一手間がかかるような作りになっている。

これに関しては、やはりちょっとおかしい気もするので修正が入るのではないかと思っている。

そのため、画像の差し替えなどは比較的簡単に行うことができるように見える。
ただ、これはキャッシュが効いているのかどうかわからないが、新しい画像が読み込まれるまで少し時間がかかる可能性がある。

ちょこちょこ起こる不具合

上記のようなAppStoreConnectの動きは正直言ってバグなんじゃないかと思っている。

また、最近直ったようだが、StoreConnect上のカード画像を変更しても反映されなかった不具合もフォーラム上で散見される。

ぶっちゃけAppClipどこまで使われているんだろうなー。。ってことを思うと、近い将来に「この機能無くなるんじゃないか?」と不安に駆られる面もある。

色々と新しい体験を出してくれるのはAppleのいいところでもあるんだけど、それらを無邪気に組み込んで大丈夫なんだろうか?に関しては一抹の不安が残りますよね

Apple製品発表とかとか

Appleの製品発表イベントがあり、いくつかの新製品が出てきました。

iPhone16 Pro

iPhone 16 ProとiPhone 16 Pro Max – Apple(日本)

お題目としては、AppleIntelligenceがメインでしょうか。
ただ、出荷段階では提供されず、米国で10月から提供予定で順次提供範囲を拡大だそうな。
日本語が入ってくるのはいつになるんでしょうかね。。。
これを聴くと、そんなに急がなくてもいーんじゃないかな?という気がしてきます。

それ以外だとカメラの性能強化やカメラコントロールなども変わっていますが、正直持て余している感じがしないでもないです。
使い切れるんだろうか?という疑惑ですね。

今、手持ちの13Proですら性能を引き出せている自信はありません。

ただ、Apple Intelligenceは魅力的なものであるんですよね。
一方でそれってApple Intelligenceじゃないとだめなの?は考えなければいけないことなんでしょう。

Apple Watch Series 10

Apple Watch Series 10 – Apple(日本)

ディスプレイサイズが大きくなり、睡眠時無呼吸症候群の検知。水深計と水温センサーを搭載。。。。
無呼吸はいいとして、水深計と水温センサーはどこまで求められているんだろう?

ただ、Apple Watchの難点はやはりバッテリーなんですよね。
最大18時間ということでそれほど大きな改善はしていないように感じます。

日常用途であれば問題ないのかもしれませんが、アクティビティを重視するのであれば、ことマラソンに関してはガーミンに軍配が上がってしまいそうです。

価格は59,800から。

Forerunner 265 | スマートウォッチ | Garmin 日本

このモデルで約6万くらい。
バッテリーは13日位持ち、おすすめのワークアウトやトレーニング等を提案してくれるなど、嬉しい機能がついています。

スマートウォッチとしての一般的な機能や、健康面にフォーカスした内容であればもちろんApple Watchはいいと思うのですが、目的次第でしょうね

結局買うの?

我が家では私が購入することによって、今まで使っていた端末を子供に払い下げる運用を行っていて、長男が今の機種を狙っているのでなんだかんだでiPhoneは購入することになりそうです。

ではノーマルかProかを迷うわけですが、今やスマホの一番重要な機能はカメラだと思っていて、子供の写真を取るためであればPro一択であろうと考えています。

もちろん、別途一眼レフなどを持っていれば話は違うとは思いますが、やはり手軽に撮影できたものが美しいのが一番ですからね。

環境構築はいつも人の心を挫く

今月号のSoftware DesignはLLM特集
自分で手を動かしながらLLMを用いたアプリケーションを作ってみよう!ということなんだけど、経験上LLMに行き着くまでに挫折しそうな人が多いと感じた。

いわゆる環境構築だ

今回も紙面に環境構築のサンプルというか参考となるコマンドが載っているが、そもそもこれがなんのOS上で構築するためのコードなのかはどこにも説明されていない。

案の定、手元のWindows環境では動作しなかった。。

現場でも、環境構築の手順に関しては手順書が用意されていることが多いが、基本的にそれ通りに行くことを見たことがあまりない。

環境を構築するということは、必要となるライブラリなどを意識するうえでは大事なんだが、それを導入する、大本の環境を統一することが出来なければその先に進むことができなくなることはザラにある。

解決策の一つは、ベースとなる環境を統一してしまうことであり、やはりDockerなのではないかと思っている。

ローカル環境を汚すこともなく、共通の状態からスタートできるわけなので良いはずなんだがなかなかそういう説明をお目にかかれない。

なんとも非合理だ

もちろん、Docker上ではGUIを用いたIDEを動かすことは出来ないので開発環境としては辛いものがあるのは分かるが、せめて紙面のサンプルであればなんとかならんものかと思った。。

頭で気持ちをくじかれると、すごい徒労感が出てしまうんだよね。

iOS16 以降でデバイスの名前を取得したい

iOSアプリ開発している際に、端末を特定したい要件が入っています。

基本的にデバイスの固有情報をSwiftからUDIDやPhoneNumberを取得するのは非推奨ということで、端末固有の番号を生成するUUIDを端末特定に用いられることが多いと考えています。

ただ、今回の目的は別の外部からの情報と紐づけを行いたいので、アプリ内部で生成したUUIDでは目的を達成できないのではないかと。

そうなると、デバイス名を取得できればいいと考えているものの、Swiftでいう下記のコードはiOS16以降で実行すると

log.trace("name:\(UIDevice.current.name)")

無常にも結果は”iPhone”と返ってきました。

The entitlement for accessing the user-assigned device name instead of a generic device name
com.apple.developer.device-information.user-assigned-device-name | Apple Developer Documentation

いくつかの条件をクリアして権利を取得することができれば、デバイス名を取得することができそうだけど、正直面倒くさそう。。。

調べていると、MDM配下であれば設定値をプロファイルに追加で登録できそう

iOSアプリで端末のシリアル番号を取得する方法(MDM必須) #Swift – Qiita

ただ、ここで述べられている、「アプリ管理設定プロファイル」が、今回の案件で使っているMDMで言うところの何に当たるのかが不明。
このあたりはMDMを触っていないのでなんとも・・・。構成プロファイルとはまた別な気もするので確認かなぁ。

Claude3.5 sonet を使い始めています

GPTもいいのですが、最近はClaudeを使い始めています

Claude

日本語に関して、非常に自然な形での回答が返ってくることもいいのですが、Artifacts機能がなかなか素晴らしい。

簡単なツール作成であれば、それほど労力をかけずに作ることができるかもしれないポテンシャルを持っているように感じます。

ただ、GPTにしてもClaudeにしてもプログラムを書かせてもそれがそのまま動くということはなかなかなく、それなりに分かっている必要が出てしまいます。

Artifacts上で構築させたWebアプリケーションも、そもそもプレビューがエラーとなってしまうことも多々あり、GPTでは作成したコードの実行方法も教えてくれたのですがClaudeは聞かないと答えてくれません。

そして、往々にしてうまくいかないことも。。。
ただ、このあたりはすでにここまでできているのであればあと一歩。
壁を超えてくる日も近そうです。

WindowsとGPTが統合されて、ローカル環境のセットアップを含めて実行してくれるような未来も来るかもしれないと考えると、いよいよ持ってAI全盛期になりそうですね。

一方で、開発者に取って考えてみるとこれが開発の作業になってしまうと、楽ではあるものの開発者冥利に尽きるシーンに出くわすことが少なくなる。

さらに、とりあえずまずはAIに聞いてみると言うのは、スピードで考えれば良いことなのかもしれませんが、頭の中で論理立ててロジックを考えていくという訓練する場を減らすことにつながってしまう。
ローレベルの開発者がスキルアップをするシーンが奪われていくのではないかと要らぬ心配をしてしまいます。

それでも、使うメリットは高いと言わざるを得ないところが難しいですね。
良い付き合いができればいいと思うのですが。

そこはかと漂うIT使いこなしてない感

仕事で、Webアプリケーションのパフォーマンスを改善する必要があり調査しています。
基本的にはChromeのDeveloperToolsでNetworkタブで計測。
複数のLambdaで構築したAPIを呼び出していたりするので、処理時間の長いLambda関数に関してコードを見ながら短縮の余地がないかを探していました。

ただ、これって基本的にパフォーマンスが悪いという原因をバックエンドに求めていることになるんですよね。

私自身がフロントエンドよりもバックエンドの方が理解しているというのもあり、実際にバックエンド側でそれなりの時間がかかっているという予想は立っていたので今回のケースにおいてはそれでも良いのかもしれませんが、手順としてはちゃんと事実を知る必要がある。

では、どうすればいいのか?というと、もう少しDeveloperToolsの機能を使いこなしましょうね、ってことだと思う。

Lighthouse機能とか、しっかり使ったことなかったなぁ

AIにしても普通のToolにしても、特定の機能で頑張っているのではなくて、ちゃんと新しく追加された機能だったり、本来の手順としての使い方だったりということをもう少し勉強するべきなんだろうと改めて思った。

永遠にまだまだだな

久々にBuildに参加してみようかと

毎年のことですが、Microsoftの開発者向けイベント、Buildが月末に開催予定との案内が来ました

Microsoft Events – Microsoft Build Japan

セッション情報も公開されていましたが。。。

PowerPoint プレゼンテーション (microsoft.com)

思ったよりも数が少ない印象でした。

どう考えても今年のメインテーマとしてはAIであると思っているし、OpenAIを要するMicrosoftとしてはCopilotなりAzure AI なりで盛りだくさん!かと思ったら、そもそもセッション数が少なかった。

うーん、こんなモノだったかな?

いずれにしても、少しAzure関連の情報からは離れてしまっていたので、ざっくりと全体を聴きつつ、Copilotも見ていきたいです。

恥ずかしながら、ベータ版で触ったのみで有償化されてから触っていないんですよね。
試しにものづくりしてみたいと思ったときに、やっぱり試してみたいわけで。
お話を聞いてみて、判断していきたいところです。

Qiita Engineer Fest 2024が始まるよ

Qiita Engineer Festa 2024(キータ・エンジニア・フェスタ 2024) – Qiita

というわけで、Qiitaがイベントを行います。

年末に行われるアドベントカレンダー企画に近いのかな?と思ってみてみると。。。

Qiita Engineer Festa 2024 の記事投稿キャンペーンに紐づけて19記事投稿すると、「Qiitaオリジナルグッズ」を必ずプレゼント!38記事投稿すると更に特別な「Qiitaオリジナルグッズセット」を必ずプレゼント!

いや、どんだけ書かせるんだ!

まぁ、記事の文字数とかそういう制限はないみたいなので、極端な話、適当に落ちている話題で記事を書いても達成はできなくはないけれど、そういうことじゃないよねって気もする。

Organization対抗戦は、私が所属している会社では大っぴらにはやっていないので対象外。

残るはスポンサー企業テーマになるわけですが、今のところ5つの企業がスポンサードしているよう。
ちょっと気になるのはCodeAGIというもの。

CodeAGIで実際にコードを自動生成してレビューを投稿しよう! – Qiita

今どきめずらしく、クライアントアプリっぽい。
そして、いたるところにデザイナーではなくエンジニアが作ったっぽい資料感がたまらない。

記事連投とかはちょっと続く気がしないけれど、CodeAGIというものは少し触ってみても面白いかな、と思った。

新卒研修で教えることはなにか

Qiita見ていたら、毎年のことではあるけれど新卒研修に関する記事が

【2024年度】エンジニア向け研修資料まとめ #エンジニア – Qiita

リクルートやサイボウズなど、大手のベンダーはさすがの充実度である。

ただ、これだけの研修を用意できるのはもちろん素晴らしいのだけれど、その研修をこなすことができるだけの下地を持った新卒がいるということが一番素晴らしいとは思っている。

結局のところ、入社前段階で何をやっていたのか。
どこまで研鑽を積んできたのか?ということになるのではないだろうか。

正直言って、文系出身者や大学までプログラミングやってませんでした!みたいな人がこの研修を受けてどこまでついていくことができるのだろうか。
ついていくことができたとした場合、それはそれですごい地頭にだろう。

それでも、本当にこの内容を理解できているのだろうか。。。?
少なくとも講習だけで頭に入るとはとても思えないのだけど、それは所詮私程度の頭ということになるのかもしれない。

結局のところ、息子を見ていても中学・高校時代から情報系の授業が体系として組み込まれている現代において、新人研修の中身自体ももっと若手に作らせないと行けないのではないかとすら思えてくる。

根本的に前提が違うのかもしれない

そう考えると合点がいくわけだが、同時に、自分自身に対して若干寂しさを感じてしまうものですね。

そうは言っても、まだ10年以上は働かなければならないわけで、新卒研修の資料を見ながら、「新卒に教えている内容、わかんないんだけど」という気持ちを抑えながら勉強していくしかないわけです。

頑張らねば

ソフトウェアアーキテクチャに関して

たまたまですが、イベントにいくつか参加しました
ここのところ、登録はすれどもなかなか参加できなかったりしていたのでちょっと久しぶりです

ソフトウェアアーキテクチャメトリクス – Forkwell Library #44

ソフトウェアアーキテクチャメトリクス – Forkwell Library #44 – connpass

https://amzn.to/3IgDAGe

毎度おなじみのForkwellさんによるイベント。今回は「ソフトウェアアーキテクチャメトリクス」という本の訳者さんが登壇。

オライリー本なので、なんとなくタイトルからアーキテクチャに対しての何かしらのメトリクスを取得するための手法だとかがまとまっているのかな?と思っていたのですが、そうではないよう。

10人のアーキテクトが思い思いに話をしている内容であって、訳者の方いわく「エッセイ」だと。
なるほど。

オライリー本は、時々そんな感じのエッセイ本を出しますよね。

言ってしまうと、まだ話をまとめるには時期尚早ということなのかもしれないな、と思った。

NECグループAWS活用の裏側大公開|Well-Architectedフレームワークとコミュニティ

NECグループAWS活用の裏側大公開|Well-Architectedフレームワークとコミュニティ – connpass

こちらはAWSに焦点を当てたもの。
でも、よくよく考えて見るとこちらもアーキテクトの選択で何を重要視するのか?だったり、選択したアーキが正しかったのかを振り返るという観点では通じるものがあるかもしれないな?と思った。

AWSの資格試験では基本的にUdemyを中心に勉強をすることが多いのですが、存在は知っていてもちゃんとWell-Architectedフレームワークを読んだことないな、と思いました。

落ち着いて考えてみると、一度それを頭に読み込んでから資格勉強したほうがいいのでは。。。と今更ながらに思ったわけです。

AWS Well-Architected – 安全で効率的なクラウドアプリケーション (amazon.com)

このあたりの資料はそれなりの頻度で更新されていきます。
そもそものAWSサービス自体が追加されていくので結構たいへんですよね。。。

イベントでは、どうやってこれらのレビューをやっていくのかとかも話されていたので興味深かったです。
一方で、自社でそこまで回していくのは、それなりに規模がないと厳しいような気もしましたが、そのあたりはしっかりと学んでいないものの言い訳なのかも。

うーん、勉強しないとですね