TECH PLAY

アルサーガパートナーズ

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

121

初めに GitHubではリポジトリを別のユーザーやOrganizationに移行することができます。最近、リポジトリを別のOrganizationに移行する機会があったので、移行手順について記載していきます。 GitHubリポジトリ移行時の流れ GitHubリポジトリ移行時の大まかな流れは以下の通りです。今回の記事では主に2~4までの手順を記載して行きます。 必要に応じてwikiやReadmeの更新 バックアップ作業 Gihubリポジトリの移行 GitリモートURL・サブモジュールの設定の更新 必要に応じてGitHubリポジトリと連携しているサービス(AWSやSlack等)の
アバター
はじめに 実務で役に立ったサイトや書籍をまとめていくだけの記事です。 コミュニケーション エンジニアの質問の仕方 https://qiita.com/seki_uk/items/4001423b3cd3db0dada7 マネジメントにおける心理的安全性について https://speakerdeck.com/lighttiger2505/wu-zi-jue-nimenbanoxin-li-de-an-quan-xing-woduo-tuteitajing-yan-karade-taxue-bi エンジニアの劣等感との付き合い方 https://qiita.com/k
アバター
はじめに Dockerのversionを18から20にアップグレードしたところ、SDK for JavaScript v3でS3へアップロードする際に、InvalidChunkSizeErrorのエラーが発生したため、その解消方法について記事にしていきます。 InvalidChunkSizeError: Only the last chunk is allowed to have a size less than 8192 bytes Only the last chunk is allowed to have a size less than 8192 bytes バージョンは以
アバター
はじめに Neetcodeのロードマップの内、1~17問をコードとともに解説していきます。Neetcodeとは就職・転職の面接を受ける際に出題データ構造とアルゴリズムに関わる問題をまとめたサイトで、アリゴリズム問題をどの順番で解いていくのが良いかというロードマップを提供してくれています。 https://neetcode.io/roadmap 計算量オーダーについて https://qiita.com/asksaito/items/59e0d48408f1eab081b5 アルゴリズムにおける計算量とは、アルゴリズムが問題を解くために必要とする時間やメモリの量を指し、主に2つの
アバター
初めに 今回は、Amazon SNSとAmazon SQSのファンアウトイベント通知について試してみたいと思います。 ファンアウト(Fan-out)イベント通知について ファンアウトイベント通知とは、1つのイベント(通知)を複数のシステム(またはサービス)に並列/非同期処理通知する設計パターンのことを指します。 その方法の一つとして、Amazon SNS (Simple Notification Service)とAmazon SQS (Simple Queue Service)を連携させることで実現することができます。例えば、ECサイトでの新しい注文のイベントが発生した際に、
アバター
事象 DynamoDB のデータを Zero-ETL を利用して Redshift に連携し QuickSight で分析しようとしたところ、「サポートされていないデータ型」のため取り込まれませんでした。 原因 DynamoDBの「DynamoDB JSON」データをRedshiftに連携させると、SUPER型としてマッピングされ、QuickSightはSUPER型に対応しておらず、取り込みに失敗していました。 対策 マテリアライズドビューによる構造化 JSON 内の要素をそれぞれ抽出し、Redshift 上の適切なデータ型にキャストし、マテリアライズドビューを作成しま
アバター
事象 Aurora PostgreSQL と Amazon Redshift のゼロ ETL 統合によるデータ同期中、一部テーブルで以下のエラーメッセージが出力し、初回レプリケーションが失敗しました。 Replicating initial data for table "<schema>"."<table>" failed. Column '<column>' length XXXX is longer than in the table YYYY. Check the data that might be causing issues. I
アバター
はじめに 2024 年 10 月 15 日、以下 2 つの発表がありました。 Amazon Aurora PostgreSQL と Amazon Redshift のゼロ ETL 統合が一般提供開始 Amazon Aurora PostgreSQL zero-ETL integration with Amazon Redshift now generally available - AWS Amazon DynamoDB と Amazon Redshift のゼロ ETL 統合が一般提供開始 AWS announces general availability of Amaz
アバター
はじめに 今回は、これまでのプロジェクトの経験を通して、システム運用の観点から学んだこと大切だと思ったことについて記事にしていきたいと思います。 初期段階で設計思想を統一する プロジェクトの機能やサービスごとに設計思想が異なっている合、何らかの追加要望や修正が発生すると、サービスごとに変更する箇所を洗い出し方針を考える必要があります。設計の違いによって確認範囲が膨大になり、考慮漏れによる追加実装が発生するリスクも高まります。 ある機能のデータ取得処理がAサービスではREST API、BサービスではGraphQLで実装されている AサービスとBサービスでStoreの処理や取得方
アバター
はじめに プログラマやドキュメント作成者にとって、図は複雑な概念を説明する上で欠かせないツールです。しかし、図の作成は煩雑で時間がかかるものです。Microsoftが開発した「mermAId」というVS Code拡張機能を使うことで、一瞬でMermaidを作ることができるようになります。というわけで、実際に実務で使ってみたので、その使い方をご紹介したいと思います。 Mermaidとは 紛らわしいのですが、Mermaidはテキストベースでフローチャートやシーケンス図などを描けるJavaScriptライブラリです。一方、mermAIdはそのMermaid記法をCopilotを使って自
アバター
はじめに Google Drive APIについて調べていたところ、使用制限の箇所で指数バックオフアルゴリズムに関する記述がありました。 https://developers.google.com/workspace/drive/labels/limits?hl=ja 自分が初めてエンジニアになった頃に、あるエンジニアがAngulerのRxJSを使用して指数バックオフを作成していたことがあり、その時はあまり理解できていなかったので、改めて調べてみることにしました。 Exponential Backoff(指数関数バックオフ)とは 指数バックオフとは、通信に失敗した際に、待ち時間
アバター
これはなに? 社内の新入社員向けに書いた、先輩や生成AIに対してどのような質問をすればよいかをまとめた記事になります。 原則 大雑把なものから細かいものへと順番に現状を説明しましょう。 いきなり細かい話をしてもなかなか理解されません。特に質問が苦手だと思う人は、大雑把すぎるくらいの話から始めてください。ちょうどマトリョーシカを開けるかのごとく、大きな話から小さな話をするように心がけましょう。 こちらが一言話しかけた際には相手の表情や返事を確認しましょう。よく分かっていなさそうであれば、話の細かさが合っていないか、話の切り口を間違えています。あるいは話しかけた相手が忙しいパターン
アバター
従来どおりのことをやっていては教育にならない時代 2025年を迎え、世は生成AI時代となり、様々なツールが出ています。それに比べて、開発現場の教育環境はあまりそれに見合ったアップデートがされていないような気がします。今や「TODOアプリを作って動かしてみよう」のようなお題では、生成AIを使えばすぐにできてしまいます。従来通りのことをやっていては、通用しない時代と言えるでしょう。じゃあどうすれば良いのか、実際にやってみたことを含めて共有したいと思います。 ゴールを明確にする 結局どうなってもらいたいのか、というのを伝えるのは大切なことです。現場で使えるような人材になってほしい…で
アバター
はじめに 業務中に毎回、SQLクエリを叩く作業があり、PCのログイン時に処理が実行され、結果が自動で表示されたら便利だと思ったので、色々と調べて実行してみることにしました。今回はLaunchAgentという方法を使用して、実装していきたいと思います。 Launch Agentについて LaunchAgentはmacOSのlaunchdで管理されるプロセスの一種です。ユーザーがログインしたときにロードされる為、この仕組を利用してユーザーログイン時にスクリプトを実行が可能となります。 https://developer.apple.com/library/archive/docum
アバター
こんにちは、アルサーガパートナーズの門司です。先日、Databricksの「認定データエンジニアアソシエイト」資格を取得しましたので、その経験を共有させていただきます。 受験のきっかけ 当社がDatabricksとパートナーシップを結んだことを受けて、社内で資格取得を推進する動きがありました。私はサーバーサイドエンジニアをしていますが、データエンジニアリングにも興味があったため、Databricksが行っている2日間の研修を受け試験を受けました。 試験結果 結果はなんとか合格!合格ラインが71点と言われていたのですが、71.6点という、ギリギリ合格でした(笑) 試験終了直後に合否
アバター
はじめに YoutubeでElectronを使用してマークダウンを実装するという動画を見かけ、丁度実務でElectronを触り始めたので、動画を参考にしながら色々と実装してみることにしました。 https://www.youtube.com/watch?v=t8ane4BDyC8&list=WL&index=48&t=4821s バックエンドのDB操作はTypeORMを使用し、フロント側はReactとJotaiを使用してます。主にバックエンド側のElectron × TypeORMで実装した内容について共有して行きたいと思います。今回実装した内容は以下リポジ
アバター
はじめに Laravelは、その直感的なAPI開発機能で広く利用されています。しかし、APIのテストにおいて、標準のアサーションだけでは十分に対応できない場合もあります。私もLaravelを使った開発において、APIテストでAssertableJsonを頻繁に使用していますが、時折「もう少し柔軟にテストできれば」と感じることがありました。 この記事では、Laravel 8以降導入されたAssertableJsonの機能を活用し、特にwhereメソッドにClosureを渡すことで、APIテストをより柔軟に行う方法をご紹介します。 AssertableJsonの基本的な使い方 まず
アバター
はじめに LaravelのEloquentモデルでは、データベースクエリを簡単に作成できます。特に「スコープ」を使用することで、特定の条件に基づいたクエリを簡潔に再利用することができますが、クエリをより柔軟にカスタマイズしたい場合には、カスタムクエリビルダーを使用する方法があります。本記事では、Laravelでカスタムクエリビルダーを作成し、それを使って柔軟なクエリを実現する方法を紹介します。 1. カスタムクエリビルダーとは カスタムクエリビルダーは、LaravelのEloquentクエリビルダーを拡張して、独自のメソッドを追加するものです。これにより、特定のモデルに対して、再
アバター
🔖 概要 Jestを使ってモック化するときに一部をモックしたい場合に手こずったので経過と共にメモ。 ※ React(Next.js)&TypeScriptを使用 【🏃 お急ぎ便 🏃】 やりたいことは 準備 と テスト項目に、自分なりの答えは 結論 に記載。 🌏 環境 React: 18 Next.js: 13.5.6 Jest: 29.7.0 📦 準備 以下2つのコンポーネント ButtonGroup.tsx と Button.tsx を使用。 ButtonGroupのテストをするために子コンポーネントであるButtonをモック化したりしなかったりする。 ./c
アバター
始めに。 今回業務で、バックエンド側の言語としてFastAPIを使用しました。 これまでLaravelがメインだったため、 Pythonのことからよくわからず、苦戦しました。 そこで、今回は今更人に聞けないけど、 自分でまだわかっていない用語を深掘りしていきたいと思います。 これまでがPHPだったので、折角なので二つを比較しながらまとめてみようと思います。 自分がわからないのはFastAPIの用語だと思っていたけど、 ほぼほぼPythonの用語がわかっていなさそうなことがわかりました。 不勉強すぎる。 今回の基本用語達。 dict 私にはあまり馴染みがない用語だったのですが、
アバター