アルサーガパートナーズ の技術ブログ

[WWDC2023] SwiftDataを使ってみた。

CoreDataの後継者であるSwiftDataがついにリリースされたので、簡単なアプリで使ってみた。 SwiftDataを導入するには、6つの簡単なステップを踏む。 import SwiftData モデル作成 AppでmodelContainer作成 @Environment(\.modelContext)を宣言 @Queryを配列の変数につける モデルをcontextにinsertしてsave()を行えば完成 それでは、ひとつずつ見ていこう。 1. SwiftData移入 まずはimportしよう import SwiftData 2.

Next.js × NextAuth × Prisma × VercelPostgresで構築するモダン認証機能システム

はじめに 認証機能を一から作成したいと思い、Next.jsとNextAuthを使ったGithub認証機能の実装を行ったので、その手順を記事していきます。ユーザーデータ管理にPrismaを、データベースはVercelPostgresを使用しています。 ソースコード 実装したサンプルデータは下記リポジトリに格納しています。 https://github.com/MASAKi-cell/next-vecelPsotgres-app バージョン情報 今回実装したバージョ

Google Play Billing Libraryを使用してアプリに課金システムを統合

Google Play Billing Libraryを使用してアプリに課金システムを統合 Google Play Consoleを使用して課金システムを設定 課金タイプ 3つ 一時的な商品 一度購入すると消耗される商品(ゲーム内の通貨や特殊アイテムなど) 永続的な商品 一度購入すると永続的に利用できる商品(プレミアム機能のロック解除など) 定期購入 定期的に更新される購入(サブスクリプション型のサービスなど

クリックジャッキングとその対策について調べた件

こんばんは! いきなりですが、「クリックジャッキングとその対策」について調べた件の纏めになります。 セキュリティについて興味を持ち始めた今日この頃 本日も最後まで是非お付き合いください! クリックジャッキング とは何か クリックジャッキングとは、ユーザーを騙して、ユーザーが思っているものとは別のリンクやボタンなどをクリックさせることです 引

Flutterで定期実行を行う

Flutter/Dartで一定間隔で実行する実装を紹介します! 1秒ごとに点滅させる表示や、0.5秒おきに文字を変えるなどです。 initStateにTimber.periodicでまずは定期実行する処理内容の作成をします。 @override void initState() { // 定期実行 Timer.periodic(const Duration(seconds: 5), flash); 定期実行する処理は別途それ用のメソッドを作成して、メソッド内容に処理内容を実装します。 /// 定期実行を

Flutterでバナー広告とインタースティシャル広告を実装する

Flutter/Dartで基本的な広告であるバナー広告とインタースティシャル広告を実装します! 画面下部に固定でバナー広告を ボタン10回押すたびにインタースティシャル広告を表示するような実装になります! インポート pubspec.yamlファイルにgoogle_mobile_adsのインポートを追加 dev_dependencies: flutter_test: sdk: flutter google_mobile_ads: ^2.4.0 各OSごとの設定 chatGPTからいただいたありがたい

Intersection Observer APIを使ってスクロール後に下部メニューを表示させる

はじめに ページ上部に配置されたメニューバーをスクロースによって画面追従する際、通常は追従させる要素にstickyなどを付与して画面追従させるのが普通かと思います。 画面上部でついてくるこれです。 ですが、イレギュラーではありますが追従させる要素がスクロールによって画面から隠れた後、下部にその要素を配置するなどの要望があった際、window.scroll等を使

Astro × microCMS × Vercelで構築するモダンブログの作り方 完全ガイド

はじめに エンジニアになってから、個人ブログでさまざまな記事を書いてきましたが、そろそろリプレイスしたいと考え、Astroでシンプルなブログサイトを作成してみました。その作成手順について記事にしていきます。データ管理はmicroCMSを使用し、サイトのホスティングはVercelで構築しています。 作成したもの 作成した記事を一覧で表示するシンプルなデザインにし

名著から学ぶエンジニアとして生きていく上で大切なこと

本記事の主な内容 自分がエンジニアとしてこれからのキャリアを考える上で、何冊か名著と呼ばれる本や記事を読みました。 それぞれ共通して書かれていることや自分なりに考えてみて大切だと感じたポイントなどをまとめています。 主なテーマとして以下4つがあります。 1. 変化し続ける 2. ただの技術屋にならない 3. 知識のポートフォリオを構築する 4. ロード

SwiftUIでRoomPlan使ってみた!

RoomPlanとは RoomPlanとはARKitを活用して部屋の3Dモデルを作成するAppleが提供しているSwift APIです。 このAPIはLiDARスキャナを搭載しているiPhone/iPadで使用可能なものになっており、スキャンした3DモデルはUSD/USDZファイル形式で出力することもできます。 またCinema 4D、Shapr3D、AutoCADといった各種USDZ対応ツールにエクスポートするとより細かく調整することができるので、建築や
API

読みやすいコードを書くためのガイドライン

はじめに 長くシステム開発に携わっていると、最初は素早く開発することができたけども、今では新たな機能を付け加えるのに、多くの時間を費やすようになったという話をよく聞きます。 初めはシンプルだったソースコードも年月が過ぎていくなかで、機能追加やバグ修正、変更を行なっていくと、コードが非常に複雑化していき、開発者が修正するコストの増加やコ

ギリシャの哲学者と弟子が語る、FlutterのRiverpod入門・実践

古代ギリシャのとある日 弟子: 師匠、私はFlutterについて学びたいと思っています。最近、Riverpodという言葉を聞いたことがありますが、それは何ですか? 哲学者: 弟子よ、質問ありがとう。Flutterは現代の技術で、モバイルアプリケーションを作成するためのUIフレームワークだ。Riverpodは、Flutterアプリケーションの状態管理のためのライブラリだ。 状態管理って? 弟子:

Google OAuth申請の注意点

初めまして! サーバーサイドエンジニアをしております伊藤と申します 今日は、GoogleのOAuth申請についての注意点についてまとめます 備忘録に近いです GoogleOAuth申請とは何か? Gmail, Calendar, Driveなど機密性の高いAPIを使用するアプリを作成し公開する場合 Googleによる確認を受ける必要があります 申請しなくてもアプリを使用できなくないですが、利用制限がかかります

android ML Kitでリアルタイム顔検証やってみた

ML Kitとは 簡潔にいうとGoogleが提供しているモバイル向けの機械学習系ライブラリです。 https://developers.google.com/ml-kit?hl=ja 今回はその中の顔検証機能の使い方を簡単に説明していきます。 顔検証機能について 具体的に何ができるのというところですが 静止画やカメラを使ってリアルタイムで人物の顔の認識ができる 顔がどの方向に向いてるかや、目・口・耳・鼻の座標を

【SwiftUI】あらかじめ作成したリストからマップ上にピンを打つ

どういうことか なんらかの住所リストとして、例えば name、address が羅列されたJSONがある。 例えばこんなの👇 spots_data.json [ { "id": 1, "name": "アルサーガパートナーズ株式会社", "address": "東京都渋谷区道玄坂1丁目12−1" } ] MapKit を使い、こちらのリストの住所の座標にピンを打つ。 JSONをデコード SpotViewModel @Published var spots: [Spot] = Bundle.main.de