2025年のReact状態管理、正直どれがいいの? - Zustand, Jotai, Redux, Recoil, Valtio, XState, TanStack Query をざっくり解説
いいね : 86
タグ : react, redux, jotai, zustand, tanstackquery
Reactの状態管理ライブラリRedux Toolkit, Zustand, Jotai, Recoil, Valtio, XState, TanStack Queryを比較。Redux ToolkitはFluxパターンに基づく一元管理を簡潔な記述で実現。ZustandとJotaiはシンプルで軽量、パフォーマンス重視。RecoilはFacebook製で学習コストは高いが、大規模アプリに最適。ValtioはProxyベースで直感的、Reactとの親和性が高い。XStateは状態遷移を重視した複雑なロジックに強い。TanStack Queryはデータ取得・キャッシュに特化。
元ヤフーエンジニア社長が考える、市場価値の高いエンジニアとは
いいね : 50
タグ : 仕事, エンジニアのキャリア, 未経験エンジニア
入社半年で社内勉強会を立ち上げ、1年間継続させた話
いいね : 55
Next.js App Router: 関数宣言とアロー関数、どちらを使うべき?→どちらでもいい
いいね : 41
タグ : javascript, typescript, next.js
これからの IT 活用には「プログラミング的所作」が重要だという話
いいね : 34
タグ : プログラミング的所作
AWS資格12冠を志す貴方へ
いいね : 24
Julia の型推論によるディスパッチのパフォーマンス最適化を実装する
いいね : 13
CI/CDの基本をまとめた
いいね : 13
タグ : 初心者, cd, cicd, githubactions
【翻訳】Agentic Retrieval-Augmented Generation: A Survey on Agentic RAG
いいね : 7
タグ : rag, bedrock, anthropic, agenticrag
闘魂プログラミング: ElixirとRustで楽しむAtCoder ABC392チャレンジ
いいね : 13
タグ : rust, elixir, ポエム, 猪木, 闘魂
BedrockのTool useをLangChainツールでいい感じにする
いいね : 8
タグ : aws, bedrock, langchain, functioncalling, tooluse
Amazon BedrockのTool use機能をLangChainツールを使って効果的に利用する方法を紹介している。記事では、加算、減算、乗算、除算を行う4つのPython関数を例に、これらをBedrockで利用可能なツールとして定義する方法を解説している。LangChainの機能を活用することで、Bedrockがこれらのツールを適切に呼び出し、計算タスクを自動的に実行できるようになる。特に、関数のdocstringを基にツールを定義することで、Bedrockがツールの機能を理解し、適切な状況で利用できるようになる点が強調されている。
第3回 金融データ活用チャレンジ 振り返り (Azure OpenAIの感想)
いいね : 20
金融データ活用チャレンジでRAGシステム構築をテーマにしたコンペに参加し、好成績を収めた。Azure OpenAIのGPT-4とembeddingモデルの活用が想定され、著者はPDFテキスト化、VectorDB構築、質問応答LLM実行の3ステップでコンペに挑んだ。Azure OpenAI GPT-4は画像データのmarkdown形式テキスト化にも活用できるポテンシャルを持つ。
Power Automate for DesktopのUI要素の編集(複数の場合)
いいね : 5
タグ : powerautomatedesktop
Power Automate for Desktopで複数の同じUI要素を操作する方法について解説されている。
-
同じ名前のボタン等、複数存在するUI要素を操作する場合、Ordinal属性の
:eq()
を使う。:eq(0)
は1番目、:eq(1)
は2番目を指定する。 -
:eq()
の括弧内には変数を使用できる。変数の値をループ処理で変更することで、全てのボタンを順番にクリックできる。 -
ループ回数は「Webページからデータを取得する」アクションと「ライブWebヘルパー」を用いて、対象要素の総数(
.RowsCount
)を動的に取得できる。
M5Stack Unit ASRで始めるオフライン音声認識
いいね : 6
タグ : 音声合成, 音声認識, asr, m5stack, unitasr
M5Stack Unit ASRはオフラインで音声認識可能なデバイスで、最大300個のカスタムコマンド登録、マイク・スピーカー内蔵、UART通信対応といった特徴を持つ。M5Stack Coreと組み合わせ、Arduino IDEでサンプルコードを記述することで動作確認やカスタムコマンド設定が可能。記事ではM5Stack Unit ASRの概要、Coreとの連携方法、カスタムコマンド設定方法を解説している。AEC(アコースティックエコーキャンセレーション)によるノイズ除去機能も搭載されている。
Webアクセシビリティ用語「アクセシブルな名前(アクセシブルネーム)」の解説
いいね : 5
Webアクセシビリティ用語「アクセシブルな名前」は、支援技術がWebコンテンツを理解するための重要な要素である。これはアクセシビリティツリー上の「名前」プロパティで、要素の目的や意味を表す。 アクセシブルな名前は、表示テキスト、alt属性、label要素から取得される。これらが難しい場合は、aria-label属性やaria-labelledby属性を使用する。確認には、スクリーンリーダー、開発者ツール、Accessibility Visualizerなどを利用でき、機械的なチェックツールもあるが、最終的な妥当性は人間が確認する必要がある。
【イベントレポート】Bedrock Night 2025 〜AIエージェント祭り!〜 #jawsug_tokyo
いいね : 8
タグ : aws, 初心者向け, jaws-ug, イベントレポート, bedrock
・2025年2月14日に開催された「Bedrock Night 2025 〜AIエージェント祭り!〜」のイベントレポート。
・AIエージェントに関する内容を扱ったイベントであった。
・記事は初学者にも分かりやすい平易な表現で書かれている。
・執筆者はモブエンジニア(@mob-engineer)。
・リアルタイムで執筆しているため、誤字脱字が含まれる可能性がある。
SDKでCognitoにアクセス時に「Access Token does not have required scopes」エラーが出た
いいね : 4
タグ : go, aws, sdk, cognito, token
ReactとGoでCognitoを利用した際、「Access Token does not have required scopes」エラーが発生した。GetUser APIを使用するために必要なaws.cognito.signin.user.admin
スコープがアクセストークンに含まれていなかったことが原因だった。解決策は、Cognitoのユーザープール設定で、アプリケーションクライアントのOpenID Connectスコープにaws.cognito.signin.user.admin
を追加すること。さらに、フロントエンドの.envファイルにも同じスコープを追加する必要がある。
Amazon Bedrock Nova Reelを試してみた
いいね : 4
Amazon Bedrockの動画生成モデルNova Reelを試した記録。動画生成は高価なイメージがあったが、1秒あたり0.08USDと比較的安価。利用にはモデルアクセスリクエストが必要だが、サポートに問い合わせれば解除される。720p、24fpsの動画が生成可能。
Marp+github.dev+GitHub ActionsでLT会用スライドPDFをブラウザ上で気軽に作成
いいね : 7
タグ : github, marp, githubactions, codespaces, github.dev
LT会向けのスライド作成を支援するMarp、github.dev、GitHub Actionsの活用法を紹介。MarpはMarkdownで記述でき、豊富なテーマと簡単なソースコード挿入機能を持つ。github.devはブラウザ上でVS Code風編集が可能でGitHubとの連携も容易。GitHub ActionsでPDF変換を自動化できる。これらを組み合わせることで、場所を選ばずスライド作成・編集・共有が可能になり、共同作業も円滑になる。提供されているテンプレートリポジトリを活用すれば、すぐに使い始めることができる。
Python初心者から中級者へ!実際に使って便利だったライブラリ5選
いいね : 3
Python初心者から中級者向けに、役立つライブラリ5つを紹介している。NumPyは数値計算と配列操作に特化し、高速な演算処理が可能。Pandasはデータ分析を効率化するためのライブラリで、DataFrame形式でのデータ操作や欠損データ処理に強い。Matplotlibはデータ可視化ライブラリで、グラフや図表作成に豊富な機能を提供する。Scikit-learnは機械学習ライブラリで、幅広いアルゴリズムとデータ前処理機能を持つ。Flaskは軽量なWebアプリケーションフレームワークで、小規模プロジェクトやAPI開発に適している。
第3回金融データチャレンジ ~企業報告書に対する自動回答システムの構築への挑戦~
いいね : 3
タグ : rag, dataiku, datarobot, fdua, gpt-4o-mini
金融データチャレンジへの参加を通してRAG技術の活用を検証した。DataRobotを用いて、企業報告書からの自動回答システム構築に挑戦し、最終スコア0.14(231位/635人中)という結果を得た。DataRobotはノーコードでRAGシステムを構築できる点が優れており、特に、回答精度向上のため、企業ごとにドキュメントを分割して引用精度を高める工夫を行った。Dataikuも活用し、OCR処理などを含むロジック構築を試みたが、共通関数の利用方法が課題となった。GPT-4o-miniを用いた回答生成では、プロンプトエンジニアリングによってスコア改善を目指した。
"月月火水木金金"から休日を探し出す(Ruby正規表現リテラル)
いいね : 9
・Rubyの正規表現を用いて、文字列"月月火水木金金"から休日(土日)を見つけ出す方法を解説している。
・/(?!月|火|水|木|金)/
という否定先読みを用いた正規表現で、月~金以外の文字(つまり土日)にマッチさせる。
・String#scan
メソッドを使って、マッチした部分を配列として取得する。
・具体例として、"月月火水木金金土日"という文字列から"土日"を抽出する方法を示している。
・記事はRuby初学者の学習メモであり、Qiitaの使い方や正規表現の解説は最小限に留まっている。
Streamlit in Snowflakeでファイルアップローダが解禁されました!
いいね : 3
タグ : python, snowflake, streamlit
SnowflakeのStreamlitでファイルアップローダst.file_uploader
が利用可能になった。これは通常のStreamlitではバージョン1.20.0から実装されていた機能。2025年2月15日時点ではPublic Preview段階のため、本番環境での使用は推奨されていない。SnowsightでStreamlitアプリを作成し、st.file_uploader
を記述することで利用できる。
SnowPro Core受験を振り返る🏂❄
いいね : 3
SnowPro Core 認定試験合格のための学習方法とポイントがまとめられている。筆者は実務経験はあったものの、アーキテクチャ等の知識が不足していたため、Udemyの模擬試験と公式ドキュメントを併用して学習した。Udemy学習のコツは、(1)英語版コースの場合はブラウザの翻訳機能を活用する、(2)演習モードで1問1答形式で進めること。効果的な学習方法としては、(1)Udemyで間違えた問題を「見直す必要があるか」で分類し、解説を読んでも理解できない問題に絞って公式ドキュメントを読み込む、(2)図解で解説されている記事を参考にアーキテクチャを理解する、(3)どうしても理解できない場合は図や表を使って知識を整理する、といった方法が挙げられている。
ChatGPTにポートフォリオ作らせたら、いい感じになった件
いいね : 4
HTML/CSSの知識がほぼゼロの状態から、ChatGPTを使ってポートフォリオサイトを作成した。ChatGPTは、簡単なプロンプトで完成度の高いサイトのコードを生成した。ただし、生成されたコードは改良が必要で、ChatGPTとの対話を通して修正や機能追加を行った。最終的に、満足のいくポートフォリオサイトを公開できた。
Cloud RunにPhoenixをデプロイする
いいね : 3
タグ : elixir, phoenix, googlecloud, cloudrun
GCPのCloud RunにPhoenixアプリケーションをデプロイする方法を、IaCツールを使わずgcloud
コマンドのみで解説。MacOS環境で、ElixirとErlangのバージョン管理にasdfを使用していることが前提。記事では、具体的なローカル環境(macOS 15.2、Elixir 1.18.2-otp-27、Erlang 27.2.2、Node.js 19.3.0)を提示しつつ、Cloud Runへのデプロイ手順を説明している。
Next.jsとp5.jsを使って簡単にクソゲーをWebアプリにして公開してみる
いいね : 2
タグ : typescript, p5.js, next.js, クソアプリ, vercel
Next.jsとp5.jsで簡単にWebアプリゲームを作成する方法を紹介している。p5.jsはWebエディタで手軽に試せる。開発環境としては、WSL2(Windows/Linux)とnpm(Node.js)が必要。手順としては、create-next-appコマンドでNext.jsプロジェクトを作成するところから始まる。
AIに気付かされた、OSSやブログ記事のハードルを自分で上げていた話
いいね : 5
市場価値を高める方法をAIに相談した結果、OSS作成を提案されたが、自信がなく躊躇していた。しかし、AIとの対話を通して、既に業務効率化ツールなど多数のツールを作成済みに気づき、自分の成果を過小評価していたことに気づく。この気づきを共有するため、Qiitaに初投稿。公開記事作成へのハードルを下げ、アウトプットを増やす第一歩とした。
SharePoint の“ファイル要求”機能は 外部共有が制限された組織でも、Power Automate なら使用できる!
いいね : 2
タグ : sharepoint, powerautomate
SharePointのファイル要求機能は、外部共有設定が「最も制限が少ない」場合のみ利用可能だが、Power Automateを活用することで外部共有を制限した組織でも利用できる。
Power Automateでファイルアップロード用URLを発行するフローを作成し、ドキュメントライブラリの右クリックメニューから起動する。
フロー起動時に説明文を入力して実行すると、生成されたURLがTeamsのボットチャット等で通知される。
このURLは組織内アカウントでのサインインが必要で、外部共有はできない。
共有されたURLを開くと、SharePointのファイル要求機能が利用可能になる。
ifconfigの出力結果を理解したい
いいね : 6
タグ : network, linuxコマンド, 初学者向け
- Linuxコマンド
ifconfig
はネットワークインターフェースの設定を表示・変更するが、非推奨となっている。 - 代替として
ip
コマンドの使用が推奨される。 -
ifconfig
は、インターフェース名、IPアドレス、ネットマスク、MACアドレス、送受信パケット数などの情報を表示する。 - loopbackインターフェース
lo
は、システム内部通信用で常に127.0.0.1のIPアドレスを持つ。 - イーサネットインターフェース
eth0
(など) は、外部ネットワークとの通信用。
2/16/2025, 4:24:35 PM 時点の情報です。