はじめに こんにちは、webエンジニアの@an_sonyです。 最近、障害対応の振り返りをしていた時に「ポストモーテム」という手法を初めて知りました。これまで「どうやったら良い振り返りができるのか?」と悩んでいた自分にとって目から鱗の知識ばかりでしたので、整理のためにまとめてみます。 ポストモーテムとは? SRE サイトリライアビリティエンジニアリング1によると、インシデントとそのインパクト、その緩和や解消のために行われたアクション、根本原因(群)、インシデントの再発を避けるためのフォローアップのアクションを記録するために書かれるドキュメントを指します。 言い換えると、失敗(障害)から学び、再発防止策を決める活動です。 障害報告書との違い 障害報告書と内容が似ていますが、ポストモーテムは読者と目的が違います。 障害報告書は、障害発生によって不利益が生じたユーザーに対して、その説明をするため
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに こんにちは。主に XにてAI駆動開発について発信している熊井悠 です! さて今回の記事ではAI駆動開発の組織を1年ほど運営してきた経験を踏まえて失敗や学びを共有したいと思います。 補足:AI駆動開発 AI駆動開発とは AIソリューション(CursorやWindsurfなど)を利用したシステム開発の通称です。最近は書籍も増えており一般化しつつある用語ではあります。 主に2024年の春頃からAI駆動開発組織として受託開発プロジェクトを中心にシステム開発に取り組んできました。1人での開発ではなくAIコードエディタ(Cursor)を開
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? AI搭載エディタCursorを色々と試しているのですが、これが非常に興味深いです。 普段の開発業務はもちろん、少し工夫することで、要件定義のような上流工程も大幅に効率化できるのではないか?という気づきがありました。 本日はその試みについて、私が行った具体的なプロセスと合わせて共有できればと思います。 概要 不動産テック業界に限らず、SaaS開発などに携わっていると、日々さまざまな要望が寄せられますよね。 「ここにこんな機能を追加したい」「あの画面のここをこう変更してほしい」といった具合です。 そして、それらを適切に実現するためには、まず
はじめに こんにちは、イノベーションセンター テクノロジー部門の小倉 (@Mahito) です。 普段は Engineer Empowerment Project のリーダーとして、エンジニアのはたらく環境を良くする取り組みや NTT Tech Conference や勉強会などのエンジニアが楽しく働くための取り組みをしています。 今回は社内で行った TechNight というイベントで発表した YAML の文法についての話を記事にしたものです。 もともとの発表は、YAML の記法について調べてるうちに「YAML こんなこと出来るのか」となったのでまとめたものでした。 YAML とは 公式サイト (The official YAML Web Site) ではこう書かれています。 YAML is a human friendly data serialization standard for
こんにちは!タレントマネジメントプロダクト開発本部の horiyu です。 SmartHRでは、Cursor、Visual Studio CodeのAgent Mode、Clineなど様々なAI開発支援ツールの活用に積極的に取り組んでいます。 本記事では、社内で開催したCursor勉強会の内容を紹介します。 Cursorの活用については下記の記事でも紹介していますので、ぜひご覧ください。 tech.smarthr.jp 資料 以下の資料は、主に社内のエンジニア数名と新卒の方々、希望してくださった方々向けに開催したCurosr勉強会のものです。 フィードバックをいただいたのち、社内のエンジニア全体向けに実施させていただく予定です。 実際のハンズオンの内容も盛り込んでいますので、ぜひお手元で試しながら読み進めてください。 補足説明 実際のハンズオンでは社外に公開できない画面共有のデモがいくつか
競技プログラミング AtCoder では、コンテストでよく使うアルゴリズムをライブラリにした AtCoder Library (ACL) を公開していて、特に C++ ならコンテスト内で利用できます。 私は Ruby を使っているため直接は利用できず、ライブラリを模写する必要がありました。その過程で学んだアルゴリズムを整理してまとめます。 今回は disjoint set union (DSU) です。 union-find や素集合データ構造の名称のほうが一般的なようです。グラフでのイメージがしやすく、アルゴリズムも読みやすく、勉強していて楽しかった記憶があります。(ACLの模写で最初に選びました) AtCoder Library の dsu ソースコード ドキュメント 参考文献 Zvi Galil and Giuseppe F. Italiano, Data structures an
有向グラフにおいて 「お互いに行き来できる ⟺ \iff⟺ 同じグループ」を満たすように頂点をグループ分けすることを強連結成分分解と言います。 例えば図において頂点 aaa から ccc ,ccc から aaa はそれぞれ矢印をたどっていけるので同じグループ(強連結成分)に属します。一方,頂点 ddd から ccc へのパスは存在しないので,ccc と ddd は異なる強連結成分に属します。 図の場合,強連結成分分解は {{a,b,c},{d,e},{f},{g}}\{\{a,b,c\},\{d,e\},\{f\},\{g\}\}{{a,b,c},{d,e},{f},{g}} となります。 前提知識として深さ優先探索が必要です。→深さ優先探索と幅優先探索 適当な頂点から深さ優先探索を行う,その際各頂点 vvv に対して頂点 vvv から進めなくなった順番 t(v)t(v)t(v) を
Cline、良いですよね。Zennでも散々擦られているように、結局万能ではないのですが、AIの未来というものがかなり身近になった感じがします。 そこで起こるのが、「結局どれ使えばええねん」問題。WindsurfとCursorの具体的な機能比較がなかなか無かったり、VSCode系が語られがちすぎて他(JetBrains系やVimなど)のエディタ環境でのAIエコシステムというのもなかなか情報がありません。 それで色々リサーチしてみたので、備忘録がてらに記事を書いてみました(ほぼ自分用なので、内容の濃淡がすごいのは御愛嬌...)。 全部は自分で触れておらず、RedditやXでの評判も参考にしています。多くは無料トライアルなどもあるので、試してみてください! VSCode系 コーディングAIの開発競争の場はVSCodeの拡張機能がメインストリームになっています。 Github Copilot, C
次世代AIエージェントの必須規格「MCP」をやさしく学ぶ 「MCP(Model Context Protocol)」は、AIエージェントが様々なツールやサービスとシームレスに連携するための共通言語。この革新的な規格によって、AIは検索やファイル作成、データ分析など多彩な機能を、まるで「ドラえもんの道具箱」のように自在に活用できるようになります。 本記事では、注目を集め始めているMCPの基本から実用例まで、技術的な詳細を噛み砕いて解説します。AIの可能性を広げる新たな扉、MCPの世界へようこそ。 今なら助成金活用で最大75%OFFと大変お得にご利用いただける、AI・ChatGPT活用研修サービスがご好評をいただいています。ご興味のある方は以下のリンクから、助成金の活用方法やサービス内容が分かる資料をダウンロードいただけます。 ⇒AI・ChatGPT活用研修サービスの紹介資料ダウンロードはこち
ご来店ありがとうございます。新刊発売予定のお知らせです。 2025年4月18日(金)、遠藤侑介著『型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語』の発売を予定しています。なお、2025年4月16日(水)から開催されるRubyKaigi 2025会場のBOOKSTOREにて、著者サイン会に合わせた先行発売を予定しています(紙書籍のみ。部数には限りがあります)。ジュンク堂池袋本店様でも4月16日から販売していただける予定です。 『型システムのしくみ』について 多くのプログラミング言語では、さまざまな場面で「型」が登場します。特に静的型付き言語では、プログラムを実行せずに潜在的な問題をあぶり出す「型検査」の有用性が広く知られるようになりました。最近では動的型付き言語でも、型ヒントや静的解析ツールとして、この機能を部分的に取り入れる動きがあります。 型検査の背
Googleは2025年3月17日(米国時間)、オープンソース開発者が自分のプロジェクトに関連する脆弱(ぜいじゃく)性情報にアクセスできる無料ツール「OSV-Scanner」の最新版「OSV-Scanner V2.0.0」の提供を開始した。 OSV Scanner V2.0.0では、2025年1月にオープンソース化した「OSV-SCALIBR」(ソフトウェア構成分析支援ライブラリ)の機能を初めて統合し、複数の新機能が追加されている。 「開発者やセキュリティチームが脆弱性管理をシンプルかつ効率的にすることを目標に、OSV-Scannerに新機能を多数追加した。幅広いフォーマットやエコシステムをサポートする、より包括的な脆弱性スキャナーおよび脆弱性修正ツールに進化した」と、Googleは述べている。 OSV-Scanner V2.0.0の新機能 OSV-SCALIBRによる依存関係抽出の強化
こんにちは、イノベーションセンターの加藤です。この記事では、大規模言語モデル(LLM)にJSONやソースコードを正しく出力させるための生成手法であるStructured Generationについて紹介します。 Structured Generationとは パーサーを用いた制約手法 正則言語とは 正則言語のStructured Generation 文脈自由言語とは 字句解析について 正則言語+文脈自由言語のStructured Generation まとめ Structured Generationとは 大規模言語モデル(LLM)はよくチャットボットとしての活用が目立ちますが、LLMの入出力を外部のプログラムに繋ぎ込むことでより高度な自然言語処理システムを作ることができます。 例えばOpenAIのCode Interpreter1はLLMをPythonの実行環境と接続することで、ユーザ
本ページの情報は2007年9月時点のものです。 記載の資料は資料公開当時のもので、現在は公開されていないものも含みます。 領域あふれの問題の検出については、ロジックが複雑に入り組んでいる場合、ソースコードから見いだすのは容易でない。そのような場合、デバッガ等のツールの下で対象のプログラムを動かして、問題を見つけ出すことになる。 スタックおよびヒープにおけるあふれを検出するためのコンパイラのオプションやデバッグ・ツールがいくつか存在する。 次にその主なものを紹介する。 あふれの検出等に使うことのできるデバッグ・ツール ヒープにおける領域あふれやダブルフリー等の問題を検出できるツールをふたつ紹介する。ひとつは独立したツール、もうひとつは統合開発環境の中の機能である。 (1) Valgrind [GNU/Linux] ヒープデバッガを中心とした GNU/Linux 専用のツールスイートである。割
本ページの情報は2007年9月時点のものです。 記載の資料は資料公開当時のもので、現在は公開されていないものも含みます。 近年、オペレーティングシステムには、バッファオーバーフロー等の攻撃を失敗に終わらせるためのいくつかの防御機能が備わりつつある。それは、主に次の3つである スタック保護 関数リターンアドレス書き変えを検出し、それ以上の実行を止める メモリ空間レイアウトのランダマイズ メモリ上の特定の位置を狙ってのアドレスワードの不正書き変えや、侵害コードへのジャンプといった操作を失敗させる データ実行防止 万一侵害コードへのジャンプが行われたとしてもデータ領域に置かれた機械語コードを実行させない スタック保護 近年Cコンパイラも進歩し、関数をコンパイルして生成される機械語コードの中に、領域あふれによってスタック上の関数リターンアドレスが改変されていることを検知する機械語コードを挿入できる
WIPで新しい開発手法 WIP(Work-in-progress):仕掛り作業という意味 WIPという文字が付いていると、その作業はまだ終了しておらず、作業中であるとわかる。 一つの作業においても作業が様々あるので、それを細分化して書いておく。 例)進行中のチケットの状態 【WIP】#12345 ○○機能の新規追加 [✔] ○○.php にformを作成する [✔] ○○テーブルを作成する [ ] formをカスタマイズする [ ] formの挙動を確認する [ ] CSSの適応 [ ] テスト レビューワー(コードチェック)はWIPの状態を見ることで、その作業がどこまで進行しているかがわかり、タイトルの【WIP】が外れていたらその作業は完了(レビュー待ち)というように一目でわかるようになる。 プロジェクト管理において、今あるチケットがどういう状態なのか「見える化」することができるようにな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く