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

社内ハッカソンでRaspberry Piとディープラーニングを活用した顔認証を作ったので制作過程を共有する

はじめに 先日、私が所属する、アルサーガパートナーズ株式会社で社内ハッカソンが開催されました。その時に作成した成果物と作成工程を共有したいと思います。 成果物の概要 Raspberry Piとを使用して、特定の人物がRaspberry Pi用のカメラに映し出されたら、電圧ブザーが鳴るシステムを作りました。顔の認識はOpneCVで行い、特定の人物を判定する処理はTensorflowとKerasを

TensorflowとKerasで体験するディープラーニング チュートリアル

はじめに 本記事では、Tensorflowが提供しているディープラーニングのチュートリアルを通して、ディープラーニングがどのように動作するのか、その仕組みについて解説していきます。 https://www.tensorflow.org/tutorials/quickstart/beginner?hl=ja チュートリアルでは、ディープラーニングの処理に必要なモデルの構築、ニューラルネットワークの構築、活性化関数、過学習、最適化、

キャッシュさせない!!という設定の話

こんばんは。 今日も簡単なセキュリティ関連の記事を作成してみようと思います。 今日は、「キャッシュをさせない!!」という要件を求められた時にやる事 というテーマです。 あまり「脆弱性とかどうでも良い!!キャッシュさせるのだ!!」 という要件は聞いた事はありませんが、一応そういう要件があったと仮定します。 キャッシュをしていると何が悪いのか

Next.js13 + TypeScript + jestでコンポーネントの単体テストをする

環境 ライブラリ バージョン next 13.4.2 react 18.2.0 react-dom 18.2.0 typescript 5.1.6 jest 29.6.2 jest-environment-jsdom 29.6.2 @testing-library/jest-dom 5.17.0 @testing-library/react 14.0.0 @testing-library/user-event 14.4.3 手順 1. Next.jsの環境構築 公式を参照し、TypeScriptベースで構築してください。 h

[WWDC2023] iOS17におけるScrollViewの新機能 その2 (Scroll Transitions)

iOS 17では多くの新しいScrollViewモディファイヤが追加され、アプリ開発体験を大幅に向上させることを約束している。その1では4つのモディファイアを使ってみたが、この記事では、scrollTransition(_:axis:transition:)モディファイアに焦点を当てている。スクロールトランジションは、ScrollView内の表示領域に出入りするviewを変更することができる。それでは、詳しく見ていこう

[Swift] コードレビュー方法・ベストプラクティス(その1)

コードレビューは、簡潔なコードベースを維持するために重要なだけでなく、異なるコーディングスタイル(同僚のコーディングスタイル)を学ぶ方法としても重要だと考えている。さらに、優れたコードレビューでは、PMやQAがテスト中に発見できないような問題を発見することができる。この記事は、iOSのレビューでチェックすべき項目を示すことを目的としてる、、

[Mac] Android aabファイルをリバースエンジニアリングして中身を見る

生成したaabファイルの中を確認しないといけなくなったので その時の備忘録です。 bundletoolを使ってaabファイルをapkに変換する bundletoolとは https://developer.android.com/studio/command-line/bundletool?hl=ja 手順 ターミナルで以下のコマンドを叩く //bundletoolをまだインストールしていなければ入れる brew install bundletool //aabファイルをapkファイルに変換 bundletool build-apks --mode=universal -
R

NHKが大好きな人のAstroを用いたWebページ制作

はじめに 私はNHKが大好きです! 特にドキュメント72時間という、1つの現場に72時間撮影クルーが待機してそこに偶然居合わせた一般の方々へインタビューするドキュメンタリー番組が好きで毎週観ています! 番組の観覧応募は欠かさずしていて、The Coversの10周年を記念した斉藤 和義さんのスペシャルライブに当選したときは、坂本 龍一さんが生前の最後に演奏されたCR509

エンジニア達に聞いた「覚えておくと便利なGitコマンド」

はじめに 社内のエンジニアと「どのようなGitコマンドを頻繁に利用しているのか、特に便利だと感じているコマンドは何か」について話し合う機会がありました。 そのGitコマンドの中には筆者自身も知らなかったコマンドやオプションも含まれており、とても良い機会になったと考えています。 そこで今回は、エンジニアとの会話の中であがったGitコマンドのいくつか
Git

MutableStateFlowとMutableLiveDataの違い: MVVMパターンにおける視点から

はじめに Androidアプリを作りながらMutableStateFlowとMutableLiveDataの違いについて使い分けがよくわからなかったので。自分なりに調べた結果をまとめてみます。 これらはどちらもデータの変更を監視するためのクラスですが、それぞれが持つ特性は異なります。 MutableLiveDataとは? MutableLiveDataはAndroid Jetpackライブラリの一部で、ライフサイクルに統合されたデータ保持クラス

[WWDC2023] iOS17におけるScrollViewの新機能  その1

iOS 17では多くの新しいScrollViewモディファイヤが追加され、アプリ開発体験を大幅に向上させることを約束している。その新機能を使ってみて、どのように動作するかを本記事で示す。 以下で4つのモディファイヤについて詳しく説明する。 .containerRelativeFrame(_:alignment:) .scrollTargetLayout(isEnabled:) .scrollTargetBehavior(_:) .scrollPosition(id:) もしこの記事が気に入ったら、ぜひいいねや

【Flutter】margin/paddingの設定のTips

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.

つい先日、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

【Flutter】グリッドの背景を作成する

どういうことか こういうものを作りたい。 画面いっぱいに方眼紙のようなグリッド(Grid)が広がっている。 コード Widget gridBackGround() { return Container( // 背景色の設定部分 decoration: const BoxDecoration( gradient: LinearGradient( colors: [ Colors.black, Colors.purple, Colors.pin

android AWS S3からImageUrlを発行してPush通知に画像を乗せるとクラッシュした話

発生内容 タイトルままなのですが 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