TECH PLAY

アルサーガパートナーズ

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

121

Containerでmargin/paddingを設定する際に楽コード量を減らせる実装について共有します! ソースコード とりあえずコード // これでも実装できるけど、下の方がスッキリ! // Container( // color: Colors.blue, // padding: const EdgeInsets.only(right: 16,left: 16), // child: const Text( // 'You have pushed the button this many times:', // ), // ), Container(
アバター
つい先日、pod installをした時に、以下のようなエラーが出た。 [!] Oh no, an error occurred. Search for existing GitHub issues similar to yours: https://github.com/CocoaPods/CocoaPods/search?q=%5BXcodeproj%5D+Unknown+object+version.&type=Issues If none exists, create a ticket, with the template displayed above, on: h
アバター
どういうことか こういうものを作りたい。 画面いっぱいに方眼紙のようなグリッド(Grid)が広がっている。 コード Widget gridBackGround() { return Container( // 背景色の設定部分 decoration: const BoxDecoration( gradient: LinearGradient( colors: [ Colors.black, Colors.purple, Colors.pin
アバター
発生内容 タイトルままなのですが AWS S3のImageUrlを使ってPush通知に乗せると UnknownHostExceptionが発生してクラッシュします。 Caused by java.net.UnknownHostException: Unable to resolve host "hogehoge.jp": No address associated with hostname at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156) at java.ne
アバター
CoreDataの後継者であるSwiftDataがついにリリースされたので、簡単なアプリで使ってみた。 SwiftDataを導入するには、6つの簡単なステップを踏む。 import SwiftData モデル作成 AppでmodelContainer作成 @Environment(\.modelContext)を宣言 @Queryを配列の変数につける モデルをcontextにinsertしてsave()を行えば完成 それでは、ひとつずつ見ていこう。 1. SwiftData移入 まずはimportしよう import SwiftData 2. モデル作成 CoreDa
アバター
はじめに 認証機能を一から作成したいと思い、Next.jsとNextAuthを使ったGithub認証機能の実装を行ったので、その手順を記事していきます。ユーザーデータ管理にPrismaを、データベースはVercelPostgresを使用しています。 ソースコード 実装したサンプルデータは下記リポジトリに格納しています。 https://github.com/MASAKi-cell/next-vecelPsotgres-app バージョン情報 今回実装したバージョン情報のです。 next.js: v13.4.1 next-auth: v4.22.1 prisma/cli
アバター
Google Play Billing Libraryを使用してアプリに課金システムを統合 Google Play Consoleを使用して課金システムを設定 課金タイプ 3つ 一時的な商品 一度購入すると消耗される商品(ゲーム内の通貨や特殊アイテムなど) 永続的な商品 一度購入すると永続的に利用できる商品(プレミアム機能のロック解除など) 定期購入 定期的に更新される購入(サブスクリプション型のサービスなど) 今回は一時的な商品 サーバーサイドで考慮すること -公開鍵の保存 アプリの公開鍵はGoogle Play Consoleから取得できます。 これをサーバーサイ
アバター
こんばんは! いきなりですが、「クリックジャッキングとその対策」について調べた件の纏めになります。 セキュリティについて興味を持ち始めた今日この頃 本日も最後まで是非お付き合いください! クリックジャッキング とは何か クリックジャッキングとは、ユーザーを騙して、ユーザーが思っているものとは別のリンクやボタンなどをクリックさせることです 引用元:mdn web docs 簡単に図を書いてみました! 図にも書いてありますが、何が起きているのかを文章で見ていきましょう ① あなたが作成したサイトがあると仮定します ② 悪意のあるユーザーが罠サイトを用意します   ここでは、iFra
アバター
Flutter/Dartで一定間隔で実行する実装を紹介します! 1秒ごとに点滅させる表示や、0.5秒おきに文字を変えるなどです。 initStateにTimber.periodicでまずは定期実行する処理内容の作成をします。 @override void initState() { // 定期実行 Timer.periodic(const Duration(seconds: 5), flash); 定期実行する処理は別途それ用のメソッドを作成して、メソッド内容に処理内容を実装します。 /// 定期実行を実行するメソッド void flash(Timer tim
アバター
Flutter/Dartで基本的な広告であるバナー広告とインタースティシャル広告を実装します! 画面下部に固定でバナー広告を ボタン10回押すたびにインタースティシャル広告を表示するような実装になります! インポート pubspec.yamlファイルにgoogle_mobile_adsのインポートを追加 dev_dependencies: flutter_test: sdk: flutter google_mobile_ads: ^2.4.0 各OSごとの設定 chatGPTからいただいたありがたい内容のまんま。 ○Androidの場合 android/app/
アバター
はじめに ページ上部に配置されたメニューバーをスクロースによって画面追従する際、通常は追従させる要素にstickyなどを付与して画面追従させるのが普通かと思います。 画面上部でついてくるこれです。 ですが、イレギュラーではありますが追従させる要素がスクロールによって画面から隠れた後、下部にその要素を配置するなどの要望があった際、window.scroll等を使うなどの方法がありますが、画面サイズによっては正常に動作しないなどの弊害があります。 今回はそんな要望が来た際に、要素の監視を行うIntersection Observer APIというものを使うことによって楽に実装できる方法
アバター
はじめに エンジニアになってから、個人ブログでさまざまな記事を書いてきましたが、そろそろリプレイスしたいと考え、Astroでシンプルなブログサイトを作成してみました。その作成手順について記事にしていきます。データ管理はmicroCMSを使用し、サイトのホスティングはVercelで構築しています。 作成したもの 作成した記事を一覧で表示するシンプルなデザインにしました。 Github 作成したサンプルデータは下記リポジトリに格納しています。 https://github.com/MASAKi-cell/astro-myBlog バージョン情報 今回使用したNodeと
アバター
本記事の主な内容 自分がエンジニアとしてこれからのキャリアを考える上で、何冊か名著と呼ばれる本や記事を読みました。 それぞれ共通して書かれていることや自分なりに考えてみて大切だと感じたポイントなどをまとめています。 主なテーマとして以下4つがあります。 1. 変化し続ける 2. ただの技術屋にならない 3. 知識のポートフォリオを構築する 4. ロードマップを作成する それぞれ見ていきます! 1.変化し続ける 常に最新の技術にふれ、自分をアップデートし続けましょう、世の中の変化のスピードが今まで以上に早くなっている現代において現状維持は後退しているのと同じになります。 stay
アバター
RoomPlanとは RoomPlanとはARKitを活用して部屋の3Dモデルを作成するAppleが提供しているSwift APIです。 このAPIはLiDARスキャナを搭載しているiPhone/iPadで使用可能なものになっており、スキャンした3DモデルはUSD/USDZファイル形式で出力することもできます。 またCinema 4D、Shapr3D、AutoCADといった各種USDZ対応ツールにエクスポートするとより細かく調整することができるので、建築やインテリアデザインにおける最初のワークフローで有効的なAPIです。 https://developer.apple.com/jp/
アバター
はじめに 長くシステム開発に携わっていると、最初は素早く開発することができたけども、今では新たな機能を付け加えるのに、多くの時間を費やすようになったという話をよく聞きます。 初めはシンプルだったソースコードも年月が過ぎていくなかで、機能追加やバグ修正、変更を行なっていくと、コードが非常に複雑化していき、開発者が修正するコストの増加やコード品質の低下につながります。設計の良くないコードや複雑化したコードは、同じ処理をするのにも余計にコードを書く必要がでてくるからです。 今回は、コードを複雑化して品質を低下させないために、普段意識しているソフトウェア設計や手法を紹介していきたいと思います
アバター
古代ギリシャのとある日 弟子: 師匠、私はFlutterについて学びたいと思っています。最近、Riverpodという言葉を聞いたことがありますが、それは何ですか? 哲学者: 弟子よ、質問ありがとう。Flutterは現代の技術で、モバイルアプリケーションを作成するためのUIフレームワークだ。Riverpodは、Flutterアプリケーションの状態管理のためのライブラリだ。 状態管理って? 弟子: なるほど!しかし、師匠。私はまだ状態管理の概念がよくわかりません。 哲学者(師匠): 状態管理は、アプリケーションのデータやUIの状態を一元的に管理し、変更があった場合に適切に反映させる方
アバター
初めまして! サーバーサイドエンジニアをしております伊藤と申します 今日は、GoogleのOAuth申請についての注意点についてまとめます 備忘録に近いです GoogleOAuth申請とは何か? Gmail, Calendar, Driveなど機密性の高いAPIを使用するアプリを作成し公開する場合 Googleによる確認を受ける必要があります 申請しなくてもアプリを使用できなくないですが、利用制限がかかりますので必ず対応していきましょう 今回は注意点だけつらつら書いていきます 業務上画像をお出しできず誠に申し訳ありません。 承認までにどれくらいかかるのか おおよそ2週間程度です
アバター
ML Kitとは 簡潔にいうとGoogleが提供しているモバイル向けの機械学習系ライブラリです。 https://developers.google.com/ml-kit?hl=ja 今回はその中の顔検証機能の使い方を簡単に説明していきます。 顔検証機能について 具体的に何ができるのというところですが 静止画やカメラを使ってリアルタイムで人物の顔の認識ができる 顔がどの方向に向いてるかや、目・口・耳・鼻の座標を取得できる 顔の表情を取得することができる 動画フレーム間で顔の追跡ができる というような感じで様々なことを行うことが可能です。 https://developers
アバター
どういうことか なんらかの住所リストとして、例えば name、address が羅列されたJSONがある。 例えばこんなの👇 spots_data.json [ { "id": 1, "name": "アルサーガパートナーズ株式会社", "address": "東京都渋谷区道玄坂1丁目12−1" } ] MapKit を使い、こちらのリストの住所の座標にピンを打つ。 JSONをデコード SpotViewModel @Published var spots: [Spot] = Bundle.main.de
アバター
はじめに Laravel と Inertia.js を使って開発をしている Web エンジニアです。最近、検索機能のテストを行う必要があったのですが、JSON から 2 つの値を同時に検証したり、or 条件で検証することができないという問題が発生しました。そこで、私が見つけたいくつかの解決方法について、この記事で紹介したいと思います。 前提条件 アカウントがありfirst_nameとlast_nameをたとえばJohnで検索するときにサーバーではfirst_nameとlast_nameをfull_nameとして部分一致検索します。 その結果を以下の JSON 構造でフロントに返し
アバター