ソフトウェア開発の技術記事まとめ
@AkiraTakasaki /
- Vimのコマンドはオペレータとモーションを組み合わせて考える
- オペレータはd/c/yで操作内容、モーションはw/b/$で移動範囲、テキストオブジェクトはiw/i"/i(で対象範囲を指定
- cwは特別な挙動があるためオペレータ+モーションの一般ルールとは異なる点に注意が必要
@しろいろ いぬ /
- git worktreeで10本のAIセッションを並列化する際のポート衝突やコンテナ管理の問題を解決した
- slot番号を.gitに保存してポートを自動割り当て、container_nameを環境変数化してコンテナ名を動的に設定
- slotレジストリを.gitに保存することで複数人チームでの運用でもローカルで独立して番号を管理できる
@KyosukeTakahagi /
- AWSサーバーレス構成とReactを活用したリアルタイム共有お絵描きアプリが作成された
- DynamoDBで接続管理と描画履歴を保存、API GatewayとLambdaでWebSocket通信を処理
- DynamoDBの最小権限ポリシーを設定する際はリソースARNを正確に指定する必要がある
@mo__mo /
- レプリケーション・シャーディング・分散SQLが分散DBの主要な設計手法として紹介されている
- レプリケーションはデータのコピーを複数場所に保つ、シャーディングはデータを分けて持つ、分散SQLは複数ノードにまたがるSQLを扱う
- 分割キーの選定や、処理の振り分け、障害時のデータ整合性の判断が設計の重要ポイントとなる
@maskot1977 /
- Pythonでマクロ経済変数の因果関係を分析した結果が公開された
- グレンジャー因果性とVARモデルを用いて8カ国の経済データを分析、因果関係ペア数の変化が明らかに
- 経済指標の変化に応じた分析手法の見直しが必要で、古いモデルは現代では通用しない
@songchong /
- 業務システムの純正連携機能は56件中54件に記述があり、APIだけでは繋がらない
- 純正連携はベンダーが用意した連携一覧と、API/CSVの手段が相手ごとに異なる
- 連携先の項目名やコードの違いにより変換が必要で、iPaaS選定時は対応サービス一覧を確認するべき
@f-segawa /
- データ移動ポリシー(DMP)を設定して内部ステージへのアンロードを制限できる
- COPY_INTO_INTERNAL_STAGEタイプのルールで行数制限を設定し、ENFORCE_RULESとALERT_RULESでブロック・アラートを分離可能
- 列レベルのタグではDMPが適用されず、テーブルレベルに設定する必要があることが確認された
@shige7ga /
- RailsのフラッシュメッセージをStimulusで3秒後に自動で消す方法を解説
- Stimulus Controllerを作成して登録し、setTimeoutで要素を削除する
- Controllerの登録を忘れるとStimulusが動かないことに注意
@faable01 /
- isLoadingとisErrorの組み合わせを避けるために判別可能なユニオン型を使う方法を紹介
- 状態を1つの型にまとめ、statusフィールドで分岐し、progressやurlなどのプロパティを状態ごとに定義
- switch文で分岐した後にnever型を使うことで、状態の網羅漏れをコンパイルエラーで防げる
@tanahiro2010 /
- フロントエンド開発でAPI呼び出しを専用クライアントに分離し、Routerのloaderでデータ取得を管理した
- APIクライアントの設計、TanStack Routerのloader使用、ソート処理をhooksに分離
- 画面側の責務を減らすことで可読性と保守性を向上させる意識が重要だ
@やよい /
- SVGでメッシュグラデーションを近似するためのアルゴリズムと実装方法が提案されている
- feDisplacementMapによる変位マップとBernsteinレイヤー方式による双三次補間が使われている
- 変位マップの作成時にパッチサイズのバッファを考慮し、パッチ間の隙間を防ぐ処理が必要である
@masu /
- pandasとpolarsはデータの持ち方と処理のさせ方が異なるため、用途に応じて使い分けるべきである
- numpy配列 vs Arrow配列、即時評価 vs 遅延評価、シングルスレッド vs マルチスレッド
- 文字列カラムのメモリ効率はpyarrowを導入することで改善可能だが、処理のさせ方の差はpandasでは埋められない
@YN_net /
- config_converterでCiscoのコンフィグからNetwork Sketcher用のコマンドを生成し、構成図を作成する手順が説明されている
- 空のマスターファイルを作成してconfig_converterのコマンドを反映し、L1/L2/L3構成図とデバイスファイルを生成する
- 生成されたコマンドの反映で一部のコマンドが失敗する可能性があり、手動修正が必要な点に注意する
@早々(WW)のフリーランス /
- Pythonのstr.join()は文字列が主語でリストやイテラブルを引数に受け取る
- リストやタプル、ジェネレータなどイテラブルを結合できる仕組みと、型ごとのメソッド重複を避ける設計
- リストにjoinメソッドを実装するとイテラブルごとに同じ処理を繰り返す必要があるため、文字列側に集約されている
@bababa /
- Ansibleでネットワーク自動化を実施し、設定をコード化した
- ios_configモジュールでコマンドを直接実行、ios_vlansモジュールでVLAN設定、ios_l3_interfacesでIPアドレス設定
- 設定変更時に通信断を防ぐため管理用NWセグメントを別途作成する必要がある
@phykm /
- エントロピー関数の形状が相転移の特徴を決定する
- エンタルピーとエントロピーがアファイン結合で表され、体積も同様の関係を持つ。三重点ではエントロピーが一次関数になる
- 相転移の境界ではエントロピー関数の接平面が複数の点で接し、その傾きが示強変数を示す
@RyoWakabayashi /
- Llamex Luna版はNxなしでAtomVMに動作する純Elixirの推論経路を実装している
- Backend.AtomVMはBackend.Listに22演算を委譲し、NxとEXLAの依存を排除した構成で動作する
- MIX_ENV=atomvmで依存リストを空にし、PackBEAMの--pruneで不要モジュールを除外する手順が必要である
@yo-hirota-gxp /
- テスト自動化の実装を手探りで進めた過程を紹介
- Playwright MCPとPythonテストコードの使い分け、再利用可能な関数の設計、失敗時の対応ルール
- 1ケースから始め、失敗内容をルールとして残すことで運用負荷を下げる手法が有効だった
@sewiihidekikudo /
- BrunoでPostmanのコレクションをプレーンテキストの.bruファイルで管理し、Cursorのターミナルから自動実行できる
- .bruファイルはGitでバージョン管理可能で、testsブロックにアサーションを記述し、bru CLIで自動実行できる
- .bruファイルのseq値とファイル名の連番を一致させないと実行順序が混乱するので、リネームや並び替え時はGUIで確認する必要がある
@ihiratch /
- Filteringは過去の観測から現在の状態を推定し、Smoothingは未来の観測も使って過去の状態を推定し直す
- Filteringはp(x_t|y_{1:t})を計算し、Smoothingはp(x_t|y_{1:T})を計算する。予測ステップとベイズ更新、後ろ向きの尤度計算が主な手順
- SmoothingはFilteringより19%高い推定精度を示し、信用区間も狭くなるが、両者のアンサンブルでさらに精度向上が可能である。