TECH PLAY

アルサーガパートナーズ

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

121

はじめに 以前赤外線受信機を作ったので今回は送信機を作りたいと思います。 以前と同じくIRRemoteライブラリを使用します。 https://github.com/Arduino-IRremote/Arduino-IRremote また送信機には赤外線LEDを使用しますが、こちらは通常のLEDとは違うため作成の際には注意が必要です。 https://www.amazon.co.jp/VKLSVAN-VS1838B-HX1838-赤外線センサー-リモコン受光部/dp/B09NPYNSN5/ref=sr_1_5?keywords=赤外線led&qid=1695116023&am
アバター
始めに 今回業務でlaravelでフォームからのCSVインポート作業の実装を行いました。 そこまで容量がないCSVなら、時間がかからず実装できると思うのですが、 今回は最大で一万行あるCSVのデータをタイムアウトしないでインポートする必要があった為、 実装に一ヶ月程かかってしまいました。。 今後も同じような実装をするかもしれない為、記事にまとめてみました。 誰かの参考になれば幸いです。 目次 章 タイトル 備考 始めに 1 設計 インポートするCSVの情報と設計の話 2 作成 一時テーブルを作成し、CSVデータを読み込む方法 3 バリデーション処理
アバター
はじめに 本記事は、経験の浅いエンジニアを対象とした記事になります。 今回は、ユースケース分析についての紹介です。 下記観点からの理解につながれば幸いです。 What ユースケース分析ってなに? When ユースケース分析は、どのタイミングでやるのか Why なぜユースケース分析をやるのか How ユースケース分析のやり方(ユースケース分析をやってみよう!) 目次 章 タイトル 概要 1 ユースケース分析ってなに? ユースケース分析の基本的な考え方について紹介します。 2 ユースケース分析は、どのタイミングでやるのか? アプリケーション開発のどの段階
アバター
初めまして! 2023年7月にUIデザイナーからアプリ(Flutter)エンジニアになったカニチャーハンです🦀 UIデザイナーとして働いていた自分がなぜアプリエンジニアになろうと思ったのか、どうやってエンジニアになったのかを記事にしました。 未経験でアプリエンジニアになるために現在勉強中の方の参考になったら嬉しいです🙇‍♀️ この記事で書きたいこと 今までのデザイナーのキャリアを捨ててアプリ開発に挑戦した理由 アプリエンジニアになるために行ったこと 自分が目指すエンジニア像 今までのデザイナーのキャリアを捨ててアプリ開発に挑戦した理由 自分は約4年間UIデザイナーとして制作会社で
アバター
実務においてシャローコピーとディープコピーの概念を理解していなかったため、 思った通りの挙動にならなく、苦労したのでメモとして残します。 JavaScriptにおいて、オブジェクトや配列、複合データをコピーする際の 「そのデータのどこまでの層をコピーするのか」という概念について説明します。 シャローコピー シャローコピーは、データの最上位層のみを新しいメモリー空間にコピーします。 ネストされたオブジェクトや配列は、参照がコピーされるだけとなります。 これにより、シャローコピーしたオブジェクトのネストされた部分を変更すると、 元のデータまで変更されてしまいます。 以下がシャローコピーの
アバター
はじめに 赤外線受信機は↓のような1個100円もしない赤外線受信モジュールを使用することで作成することができます。 https://akizukidenshi.com/catalog/g/gI-04659/ 今回はArduinoのIRRemoteというライブラリでテレビリモコンなどから送られる信号をキャッチし、LEDを光らせるような簡易的なものを作成したので解説していこうと思います。 https://github.com/Arduino-IRremote/Arduino-IRremote (IRRemoteはインストールしておく必要があります) 回路図 赤外線受信モジュールは一
アバター
使ったもの DCモーター L293D (モータードライバ) https://www.ti.com/product/ja-jp/L293D はじめに DCモーター自体はただ単に電源を繋げば回転します。 ただarduinoのI/Oピンをそのまま使ってのモーターを動かすことはできません。 それはDCモーターを動かすには大きな電流が必要になるのですが、ArduinoのI/Oピンはだいたい20mA~40mAほどしか流せないからです。 そこでモータードライバを使用することによりモーターの回転、反転、停止、回転数制御などを簡単に行えるようになります。 L293Dの仕様 データシート  ht
アバター
使ったもの ・LACC200610 動作電圧: 4.2V〜6V https://osoyoo.store/products/micro-servo-sg90-blue-for-arduino-v2-0-robot-carmodel-lacc200610?variant=31648847560815 サーボモーターの仕組み説明 https://akizukidenshi.com/download/ds/towerpro/SG90_a.pdf (今回使ったものはSG90と仕様はほぼ同じらしいのでSG90の資料) サーボモーターの角度はPWMで制御します。 PMW Period: パ
アバター
Observableについて Observationは、プロパティの変更を追跡するためのSwiftの新機能です。 使い方としては@Observableを追加するだけで、データモデルの変更にUIが反応するようになります。 (Xcode 15 beta) import Observation @Observable class FoodTruckModel { var orders: [Order] = [] var donuts = Donut.all } このように@Observableマクロを使用して、特定のプロパティの変更を監視します。 UI更新ロジック、Obse
アバター
はじめに 先日、私が所属する、アルサーガパートナーズ株式会社で社内ハッカソンが開催されました。その時に作成した成果物と作成工程を共有したいと思います。 成果物の概要 Raspberry Piとを使用して、特定の人物がRaspberry Pi用のカメラに映し出されたら、電圧ブザーが鳴るシステムを作りました。顔の認識はOpneCVで行い、特定の人物を判定する処理はTensorflowとKerasを使用して、ディープラーニングを行いました。 外観 カメラはRasTech Raspberry Piを使用して、Raspberry Piに接続、電圧ブザーはPiezo Buzzerを
アバター
はじめに 本記事では、Tensorflowが提供しているディープラーニングのチュートリアルを通して、ディープラーニングがどのように動作するのか、その仕組みについて解説していきます。 https://www.tensorflow.org/tutorials/quickstart/beginner?hl=ja チュートリアルでは、ディープラーニングの処理に必要なモデルの構築、ニューラルネットワークの構築、活性化関数、過学習、最適化、損失関数といった、難しい内容を手軽に試すことができます。 最終的にPythonのコードを実行して、ディープラーニングを行いテストデータに対するモデルの損失(
アバター
こんばんは。 今日も簡単なセキュリティ関連の記事を作成してみようと思います。 今日は、「キャッシュをさせない!!」という要件を求められた時にやる事 というテーマです。 あまり「脆弱性とかどうでも良い!!キャッシュさせるのだ!!」 という要件は聞いた事はありませんが、一応そういう要件があったと仮定します。 キャッシュをしていると何が悪いのか プロキシサーバー等にキャッシュされている秘密情報が別人のブラウザに表示されてしまう 他人のアカウント情報がキャッシュから返されてしまう事故 同じコンピュータを使用すると、他人の情報を取得してしまう可能性があります こういった問題を回避するために
アバター
環境 ライブラリ バージョン 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
アバター
iOS 17では多くの新しいScrollViewモディファイヤが追加され、アプリ開発体験を大幅に向上させることを約束している。その1では4つのモディファイアを使ってみたが、この記事では、scrollTransition(_:axis:transition:)モディファイアに焦点を当てている。スクロールトランジションは、ScrollView内の表示領域に出入りするviewを変更することができる。それでは、詳しく見ていこう。 もしこの記事が気に入ったら、ぜひいいねやフォローをお願いします。 下記に示すのは、Lorem Picsumからランダムに画像を表示する簡単な縦ScrollViewの例
アバター
コードレビューは、簡潔なコードベースを維持するために重要なだけでなく、異なるコーディングスタイル(同僚のコーディングスタイル)を学ぶ方法としても重要だと考えている。さらに、優れたコードレビューでは、PMやQAがテスト中に発見できないような問題を発見することができる。この記事は、iOSのレビューでチェックすべき項目を示すことを目的としてる、、、(理想的な世界では)。 不要な「import」が利用されているか 不要な import を使用しているかどうかを確認してください。 ビルドが壊れることはないが、どのライブラリにどのフレームワークが含まれているかを確認した方が良い。例えば、 Fo
アバター
生成した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 -
アバター
はじめに 私はNHKが大好きです! 特にドキュメント72時間という、1つの現場に72時間撮影クルーが待機してそこに偶然居合わせた一般の方々へインタビューするドキュメンタリー番組が好きで毎週観ています! 番組の観覧応募は欠かさずしていて、The Coversの10周年を記念した斉藤 和義さんのスペシャルライブに当選したときは、坂本 龍一さんが生前の最後に演奏されたCR509スタジオで聴けたので本当にうれしかったです。 そこで、NHKの魅力を伝えられるポートフォリオを制作しようと思い立ち、NHKが提供しているAPIを探したところNHK番組表APIを見つけました。 簡易的ではありますが、N
アバター
はじめに 社内のエンジニアと「どのようなGitコマンドを頻繁に利用しているのか、特に便利だと感じているコマンドは何か」について話し合う機会がありました。 そのGitコマンドの中には筆者自身も知らなかったコマンドやオプションも含まれており、とても良い機会になったと考えています。 そこで今回は、エンジニアとの会話の中であがったGitコマンドのいくつかを記事にしたいと思います。 この記事から新人エンジニアだけでなく、既にGitに慣れ親しんでいる中堅エンジニアにも新たな発見を提供できれば嬉しいです! 便利なGitコマンド git switch git checkoutの一部の機能の代
アバター
はじめに Androidアプリを作りながらMutableStateFlowとMutableLiveDataの違いについて使い分けがよくわからなかったので。自分なりに調べた結果をまとめてみます。 これらはどちらもデータの変更を監視するためのクラスですが、それぞれが持つ特性は異なります。 MutableLiveDataとは? MutableLiveDataはAndroid Jetpackライブラリの一部で、ライフサイクルに統合されたデータ保持クラスです。LiveDataは観察可能なデータホルダークラスで、クラスがライフサイクル状態の変更を観察できるため、UIコンポーネント(アクティビ
アバター
iOS 17では多くの新しいScrollViewモディファイヤが追加され、アプリ開発体験を大幅に向上させることを約束している。その新機能を使ってみて、どのように動作するかを本記事で示す。 以下で4つのモディファイヤについて詳しく説明する。 .containerRelativeFrame(_:alignment:) .scrollTargetLayout(isEnabled:) .scrollTargetBehavior(_:) .scrollPosition(id:) もしこの記事が気に入ったら、ぜひいいねやフォローをお願いします。 それでは、始めよう! 1. .contain
アバター