2024.12.11 エンジニア組織のリアルな失敗経験から学ぶ! 生産性向上&チーム強化Tips
2024.12.11 エンジニア組織のリアルな失敗経験から学ぶ! 生産性向上&チーム強化Tips
こちらは NewsPicksアドベントカレンダーの9日目の記事です。 はじめに こんにちは。NewsPicks エンジニアの鶴房です。 フロントエンドの刷新プロジェクトにおいて、主にインフラとバックエンドを担当しています。 今回は私が以前起こしてしまったサービス全停止の障害の原因と、その再発防止策に関して記載します。 尚、弊社ではRDBMSとしてMySQLを利用しているので、この記事はMySQLに関する内容になります。 障害事象 今年の夏頃、約30分の間、NewsPicksのほぼ全てのサービスが停止してしまいました。 ユーザーは、その間、ログインも、記事を読むことも、記事にコメントすることもできない状態でした。 アプリを開くと、エラーメッセージが表示されるだけの状態で、障害の解消までずっとその状態が続いていました。 障害の直接原因 障害の直接の引き金になったのは、タイトルにある通りALTE
コードレビューする時、自分がどんなことに気を付けているか (本当は気をつけたいか)みたいなポイントをまとめてみた。 コードレビューの目的 プロダクトの品質を担保するため 人は基本的にミスをするもの 1人で考えたものより、2人、3人集まって考えたものの方が良いことが多い 知識をチーム内でシェアするため チームでコードに関する知識を常に共有し続けることで、「この機能はAさんしか知らない」といった属人化問題を防ぐ Aさんが有休取った時に限って障害が起きたりするんですよね。分かります 他の人が書いたコードを読み、さらに分からないことは質問できる、素晴らしい学びの場だと捉える 責任をチーム内でシェアするため 何か問題が起きた時に関連するコードを書いた人間だけが責められるようなことは決してあってはならない レビュー時 (又はそのコードがデプロイされるまで)に問題に気づけなかったチーム全体の責任なので、
PHPに関する日本最大のカンファレンスである「PHPカンファレンス2024」が2024年12月22日(日)に開催されます。カンファレンス盛り上げ企画として、開催までの5カ月間にわたりPHPの技術記事の連載を企画しました。この記事をお読みの皆さんには、PHPのさまざまな技術に触れながらカンファレンス当日を楽しみにしていただければと思います。第5回目の今回は、オープンソースのツールである「PlantUML」「php-class-diagram」を使って、既存のPHPのソースコードからソフトウェア設計の把握や改善に役立つクラス図を自動生成する方法を紹介します。 複雑なシステムの課題 PHPは伝統的に、シンプルなWebサイトを迅速に立ち上げるためのツールとして威力を発揮してきました。 迅速に立ち上げられたシステムも、機能追加を繰り返しながら運用を続けていると、プログラムが複雑化して修正や機能追加を
こちらは以下のポストの続きです。 赤裸々な複数回のレイオフ体験をまとめているので、ぜひ目を通してみてください! necojackarc.hatenablog.com レイオフから約1ヶ月、Series A の FinTech 企業に Tech Lead として入社しました! 実は他にも1件、非常に魅力的なオファー*1をいただいていたのですが、エンジニア、特に『いちプレーヤー = Individual Contributor (IC)』としてのさらなる成長と円熟、人生のフェーズと企業文化およびフェーズとのマッチなどを考慮して、決断しました。 今回丁重にお断りさせていただいた会社は、実は1年前のレイオフ後から副業として関わらせてもらっています。その際も熱心に誘っていただきましたが「僕の人生のフェーズとやりたいことが合致したらフルタイムで参画したい」とお伝えしており、今回も同様の運びとなりました
この記事は、LayerX Tech Advent Calendar 2024 の7日目の記事です。 tech.layerx.co.jp こんにちは。バクラクビジネスカード開発チーム エンジニアの iwamatsu です。 何か書くことないかな〜と頭を悩ませていたところ、見たことのない不思議なデッドロックに出くわしたので、今回はそれについて書こうと思います。 実行環境 バージョン: MySQL 8.0.39 ストレージエンジン: InnoDB トランザクション分離レベル: REPEATABLE READ 発生した事象 以下のようなユーザーテーブルがあるとします。 CREATE TABLE `users` ( `id` INT NOT NULL, `name` VARCHAR(255) NOT NULL, `lucky_color` VARCHAR(255) NOT NULL, PRIMARY
(2024年12月6日 15:00更新) 本不具合の対象となった可能性のある日本のユーザーへ連絡を行いました。対象は以下の通りです。 他のユーザーのアルバムのサムネイルに、自分のアルバムのサムネイルが表示された可能性のある日本のユーザー:認証済みアカウントのバッジが付いている「LINE」という表示名のLINE公式アカウントから個別にお知らせを実施 自分のアルバムのサムネイルに、他のユーザーのアルバムのサムネイルが表示された可能性のある日本のユーザー:LINEのホームタブ上部にお知らせ情報を掲出 *本連絡のタイミングでLINEを退会されているユーザーに対しては、お問い合わせ対応などの目的の範囲で退会後も一定期間保有している連絡手段を用いて、連絡を行う予定です。当社で有効な連絡手段を保有していないユーザーには、本公表をもって、通知の代わりとさせていただきます。 (2024年12月5日 10:0
Practice RustLearn Rust by practicing, choose from a variety of coding exercises and challenges to help you improve your Rust programming skills
これはなに どうも、レバテック開発部のもりたです。 この記事は「レバテック開発部 Advent Calendar 2024」の 2 日目の記事です! 昨日の記事は、seoink さんの「TS ユーザーが初見の Haskell を写経して型への認識をすこし改めた記録」でした。学びのワクワク感が詰まっててよかったぜ...!! アドベントカレンダー2日目の本記事では、年末に(もりたが)読みたいな〜と思っている要件定義関連の書籍を23冊紹介します。要件定義の書籍ってイマイチ抽象的だったり、自分の知りたい情報とずれている気がして読むのが難しいですよね。もりたはず〜〜〜〜っとそうだったんですが、最近読み方が分かってきました。それが嬉しいので、要件定義関連書籍の読み方に悩める諸氏に向けて、要件定義の主要な論点を明示した上で書籍を紹介していきます。 扱う領域と扱わない領域 では具体的に、今回ご紹介する/紹
以下の公開計測会でやったものを個別に解説してみる。 細かいテクニックが多いのだが、それを可能な限りテキストとスクショで解説したい。使い方の解説が中心で、どういう意味があるかは解説しない。 Chrome131時点のスクリーンショットで、後で読む場合は頻繁にUIが変わっている点に注意。大事なのは意図。 宣伝: これを御社のサイトで解説する仕事をやっています。 デモのURL これに意味はなく、今日偶然見ていただけで意図はない。関係ないがエッジランナーズは最高のアニメ。 DevTools を開く F12 or 右クリックから「検証」 DevTools > Lighthouse この状態で計測 このとき、新しいプロファイルを作ったりして、可能な限り Chrome拡張が入ってない状態にすること。Chrome拡張による処理も計測に含まれてしまう。 Lighthouse レポートの読み方 点数部分にマウス
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに IT業界、IT関連のお仕事についていると能動的に情報収集しないと、障害情報などをうまく取れず、わたわた混乱することが多かったです。(今もですが・・・) 情報収集するにあたって、何を見ていいかわからないことが多かったので、今見ているサイトや参考にしているブログ等紹介できればと思います。 ※最低限に絞って記載しています。 ほかにも知りたい方は別の方の記事を読むとより良いかもです! ITニュースサイト ITmedia 個人的に一番見るサイトです。 IT関連のニュースが偏りなくまんべんなく記載されており、見やすいのでおすすめです。 G
癌治療を専門にしている医師ですが、夜寝付けなかったので、 癌になった時にまず最初に知っておいて欲しい事をかいてみました。 結論いかに早く治療を開始できるかで癌の治りやすさが変わります。 そして、あなた(患者)の頑張りで、治療開始日は大きく変化します。 今回は、知っておいて欲しい癌の知識について書いた後、癌の疑いがあると言われた時の治療開始RTAのコツについて書きます。 (RTA:リアルタイムアタック、いかに早くゲームをクリアできるかの挑戦の事) --- 知っておいて欲しい癌の知識 癌は、ひたすら増え続けるおかしな細胞人間の体は細胞で出来ていて、正常な細胞は決まった日数で細胞分裂して増えますし、決まった日数で死にます。例えば皮膚の細胞は1か月くらいで新しくなって、古い細胞は死んで垢になります。このバランスが保たれているのが通常です。 ただ、変な細胞も一定の割合で発生します。決まった日数で死な
はじめに 動画版もアルヨ~。 Cursorとは Cursor とは一言で言うと、VSCode をベースに作られた AI 搭載のコードエディタのことです。 例えば、ChatGPT、Claude、Gemini などの生成AIを利用してプログラミングするときを思い出してみてください。 このように、エディタにコードを書きながら、ブラウザで開いている AI に質問をする、という作業を繰り返し行います。しかし、エディタとブラウザを行ったり来たりするのは少し面倒ですよね。 そこで登場するのが Cursor です。Cursor は ChatGPT や Claude、Gemini などの AI が内蔵されているエディタで、AIを使ってコードの編集、エラーの解決、ターミナルの操作、タブ補完などができます。 また、VSCode をフォークして作られているので、使い方、操作感も VSCode に非常に似ています。
こんにちは、PR TIMESの開発部インターンの三宅です。PR TIMESではFAXを用いてプレスリリースの発信を行うことができます。今回、私はこれまで手動で送っていたFAXをWindows環境のC言語のCGIプログラムを作成し自動送信できる仕組みを開発しました。その内容について紹介します。 背景 PR TIMESには、「プレスリリースのFAX配信」というオプションサービスが用意されています。通常はメディアリストとして選定した各メディアにメールでプレスリリースを配信しています。そこにオプションサービスを付加することで、FAXでもリリース配信が行えるようになります。 FAXの送信はカスタマーリレーション部(CR)が手作業で送付しています。PR TIMESでのプレスリリースの配信数の増加に伴いCRの負担が増加していることが課題です。そこで、FAXの送付を自動で行えるようにするプロジェクトが立ち
以下のセクションでは、ベストプラクティスアラームを設定することをお勧めするメトリクスを一覧表示しています。各メトリクスには、ディメンション、アラームの目的、推奨しきい値、しきい値の根拠、期間の長さとデータポイントの数も表示されます。 一部のメトリクスはリストに 2 回表示されることがあります。これは、そのメトリクスのディメンションの組み合わせによって異なるアラームが推奨される場合に発生します。 アラームを発生させるデータポイント数は、アラームが ALARM 状態になるのに必要な違反データポイントの数です。評価期間数 は、アラームの評価時に考慮される期間の数です。この 2 つの数が同じ場合、期間の値がその数だけ連続してしきい値を超えた場合にのみ、アラームは ALARM 状態になります。アラームを発生させるデータポイント数が評価期間数より少ない場合、そのアラームは「N 件中 M 件」のアラーム
動画生成AIの発展により、非常に面白い方向性が生まれてきています。最新の動画生成技術と3D技術を組み合わせることで、たった1枚の絵から、3Dデータを作れるようになる可能性が出てきているんですね。これは将来のゲーム開発や映像制作のあり方を激変させる可能性があります。 ※記事配信先の設定によっては図版や動画等が正しく表示されないことがあります。その場合はASCII.jpをご覧ください 動画生成AI「Runway」新機能がきっかけ まず、この動画を見てください。Stable Diffusionを使って作成した1枚の画像を、いくつかの手順を実施することで、3Dモデルとして扱えることに成功している様子です。 こうしたことが実現できるようになったのは、動画生成AIサービス「Runway」に11月2日に追加された新機能「カメラコントロール機能(Advanced Camera Control)」のためです
PHP8.4が出ましたね 🎉 tl;dr 今日のお話は、 「jdkfxさんが用意してくれた環境がメッチャ便利で最高だったよ」という内容です。 https://github.com/jdkfx/phpdoc イントロ 最近coreへの貢献をしている人が身近(?)でも増えているし、日本人でコアなデベロッパーはすごすぎる・・なんてものを眺めていて。 うぉ〜〜俺もなんかしてぇ〜〜〜!!ってなるじゃないですか。 もともと「お世話になっているコミュニティやOSSには沢山恩返ししたいな」と思っていて、カンファレンスやOSS作者や団体に向かって個人スポンサーをやったりはしています。 ただ、自分の中では、受けている恩ってそれだけで返しきれるものでもなく。 最大の恩返しは「もっと盛り上げる!」だとも考えていて、それって「賑やかす」「開発や利用しやすさの改善に貢献する」が効きそうだな〜とも思っている訳です。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く