概要 RDB(リレーショナルデータベース)を運用していると、複数のトランザクションが同じデータに同時アクセスしようとする場合に「デッドロック」が発生することがあります。デッドロックとは、あるトランザクションが必要とするリソースが別のトランザクションによってロックされ、さらにそのトランザクションも他のリソースのロック解除を待っているため、互いに進行できなくなってしまう状態を指します。
概要 RDB(リレーショナルデータベース)を運用していると、複数のトランザクションが同じデータに同時アクセスしようとする場合に「デッドロック」が発生することがあります。デッドロックとは、あるトランザクションが必要とするリソースが別のトランザクションによってロックされ、さらにそのトランザクションも他のリソースのロック解除を待っているため、互いに進行できなくなってしまう状態を指します。
誰かから方針を共有された時、なんだか納得できなくてモヤッとすることがある。そういう時に共有した側もされた側も不幸にならないためのお作法的な動き方があると思っていて、雑にまとめておきたい。 1. 初手でファイティングポーズを取らない 納得できないこと ≒ 背景がわからないことに対する不快感はすごくて、つい"強い"言葉を使ってしまいがち 相手も人間なので、そういった態度や口調は鏡のように反射してくる。そうすると物事を前に進めにくくなってしまう 一見して不合理な方針だと感じたとしても、その裏にはそれなりに込み入った背景がありタフな議論が積み重ねられていることも多い まずは深呼吸して初手でファイティングポーズを取りそうになるのを抑えて、「取りまとめありがとう」って感じで相手へのリスペクトを示すとよい 2. 何に納得できないか深掘りする 納得できない時、意外と自分でも何が問題なのかはっきりとわかって
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに エンジニアのみなさま、日々の学習本当にお疲れ様です! また本記事まで足を運んでいただき本当に感謝です。 最後まで読んでもらえると幸いです。 システム設計はエンジニアにとって重要なスキルですが、いざ学習しようとすると幅広い知識と実践的なスキルが求められるため、独学ではハードルが高く感じられることも多いです。今回は、システム設計を学ぶためのオープンソースプロジェクト 「system-design-primer」 を紹介します。system-design-primerを活用することで、システム設計の基礎から応用まで体系的に学べるとの
プロファイルでできることは環境の設定だけです。シェルの設定は実際にはできないことはないのですが、やっても無意味なことになるのでできないとします。無意味なことになるというのは新しく起動したシェルにはプロファイルで行うシェルの設定は反映されないということです。環境の設定とは、特定のシェルに依存しない初期化処理のことで、その一つが環境変数の設定です。環境変数は OS の機能であってシェルの機能ではありません。環境の設定には、他に stty コマンドによる端末の設定や umask コマンドによる umask の設定などがありますが、プロファイルで設定することはあまりありません。 rc ファイルでは環境の設定とシェルの設定の両方ができます。シェルの設定、例えばプロンプト文字列の設定やシェルの機能を有効にしたり補完スクリプトの読み込みなどは rc ファイルに書きます。つまり、ほとんどのことは rc フ
※月単価80万円を基準に、7ヶ月分の工数として560万円相当と換算しています。 最初に こんにちは! 普段はIT企業でWebエンジニアとして働いています。 現在はフリーランスとして活動し、Ruby(Ruby on Rails)、TypeScript(Next.js, React)、Pythonなどを使って、フロントエンドとバックエンドの両方に携わっています。 将来はソフトウェアエンジニアとしてアーキテクチャ・設計について自ら意思決定した上、プロジェクトを推進する事が出来るようになりたいです。 そのためさらにスキルを磨いていきたいと思っており、日々技術に対して情熱を持って仕事に取り組んでいます。 以前Qiitaで 退職して560万円相当の工数をかけてお金を稼ぐサービスを開発した という事でBizRankというビジネス書籍を紹介するサービスを開発しました。 今回はその後としてのお話になります。
IPoEの普及によって、日本の家庭のインターネット回線は 確実にIPv6化が進行している 家庭用のインターネット常時接続サービスでIPoE(IP over Ethernet)が簡単に利用できるようになった。IPoEでは、簡単に言えば、自宅が1つのサブネットワークになる。そもそもIP over Ethernetとはイーサネットを流れているIPと同じということである。 実際、ルーターにはIPv6グローバルネットワークアドレスが割り当てられ、そこから自動割り当てられたWindowsマシンのIPv6アドレスもインターネットでそのまま通用するグローバルアドレスである。 そういうわけで、あらためてIPv6とまともに付き合う必要が出てきた。今回は、IPv6の基本の「キ」としてざっくりとした解説をする。 まずは基本となるIPv6アドレスについて まずはIPv6アドレスについてだ。IPv6アドレスは128b
マネジメントを4年くらいやっている間に、何人かにEngineering managerや採用のリードなどの役割をお願いして担ってもらってきた。何か新しい役割をお願いする時に整理して伝えている項目を雑にまとめておきたい。 以下のようなGoogle docsを作って共有し、30分のミーティングで直接伝えて考えてもらうようにしている。タイトルは「◯◯さんにxxをお願いしたい」みたいな感じ。項目や内容は相手によって適宜変えてる。 これは何 「◯◯さんにxxをお願いして一緒にやっていきたいと考えています」みたいな感じでストレートにお願いしたい役割を書く 「命令ではなく、なぜお願いしたいか、何をお願いしたいかなど◯◯さんに意思決定する材料を渡すためのdocsです」のようにまだあくまで提案ですよということも書く なぜ今お願いしたいか プロダクトや組織の状況も踏まえて、"今"お願いしたい理由を書く その役
「パスキー」って何? Webサイトにログインする際に「パスキー」の設定を推奨されることはないだろうか? よく分からないため、[後で]をクリックして設定をパスしたり、途中まで設定して不安になって止めたりしている人も多いと思う。そこで、「パスキー」とはどういったものなのか、仕組みや設定方法などについて解説する。 Googleアカウントにログインする際、「ログインをシンプルに」という画面が表示され、「パスキー」の利用を推奨されたことはないだろうか(一度、パスワードを忘れて、再設定後にGoogleアカウントにログインする際などに表示されることが多い)。 このパスキーとはどういったものなのだろうか? よく分からないため、[後で]をクリックして設定をパスしたり、途中まで設定して不安になって止めたりしている人も多いのではないだろうか。 本稿では、このパスキーの仕組みや設定方法、運用上の注意点などについて
中途採用で面接の時にはサービスに積極的に携わりたいと言っていたのに、いざ入社すると受け身姿勢な仕事になってしまい、積極的にサービス向上には関わらなかったり、自分自身から問題意識を持てないと周りからは思われてしまうケースがあります。 仮説としては、 1.前職がクライアントワークだったり、与えられる仕事に対してアクティブに関わるというよりは、受け身的に仕事をする姿勢が板についてしまっている中途採用のケース 2.どうやったらサービスに興味を持ったら良いかわからないケース。当人はやってるつもりだけど周りからできているとは見なされない。考え方が足りないとか、考える方法がわからないとか、考えてる量が圧倒的に少ないようなケース などが考えられます。一定、そこそこの規模のサービスになったりすると、自分自身が関与しているドメインが狭く見えてしまったり、もしくは大きなレバレッジを生み出す余裕がないと思ってしま
「ソフトウェアの「詳細設計書」とはなんなのか」というブログ記事を読んで考えたこと。設計に関するプロセスとドキュメンテーションの関係性についての考えの整理。SI屋的な視点で。 2024/8/18追記:文中にあった雑な文系disが不愉快というご指摘を受けました。ご指摘の通りだと思いましたので訂正しています。大変失礼しました。 「詳細設計書」とはなんなのか nowokay.hatenablog.com こちらの記事では詳細設計書とは以下のようなものであると整理されている。 表現を変えたコーディング(の一種) 机上プロトタイプ(の一種) 分析資料 保守(のための)資料 (水平作業の場合の)作業指示書 (委託している場合の)契約資料 上記以外で考えられるのは次のようなものがあるだろう 利害関係者が要求している たとえば受託開発において発注者が要求している場合 ほかには連携している相手先システム側から
クロスプラットフォームのワークスペースアプリ「Notion」を提供するNotion Labsは2024年7月10日(米国時間)に公式ブログで、NotionのブラウザバージョンのデータキャッシュにWebAssembly(WASM)実装の「SQLite3 WASM/JS」(以後、WASM版SQLite3)を採用した事例を紹介する記事を公開した。 2021年ごろ、WindowsおよびmacOS版のNotionデスクトップアプリにおけるパフォーマンス向上を目的にSQLiteを採用した同社は、ネイティブのモバイルアプリでもSQLiteを採用してきた。そして、ブラウザ版アプリには、WASM版SQLite3を採用したという。 Notion Labsは「WASM版SQLite3を採用することで、全ての最新ブラウザでページ間の遷移のパフォーマンスを20%改善できた。インターネット接続など外部要因によりAPI
流行の話題が似たり寄ったりな生成AIなのホンマつまんねー。 AIが高品質の絵描けます!楽曲作れます!って最初は「スゲー」って思ってたけど、使ってみると検索ワード入れて虹エロ絵ググって漁ってる感覚と同じなんだよ。いい加減飽きた。 それよかさっさとクラウドアーキテクチャ管理とかアプリケーションのテスト管理とかできるようにして楽させてよ。Copilotにコード貼り付けてプロンプト生成すんのめんどくせーんだよ。 つまんなくなったなと決定的に感じたのは、今年の頭に行ったデブサミ。 似たり寄ったりな生成AIの活用話ばっかり。過去一つまんなかった。いつもは面白くて夢中で聞いてたんだけど、今年は途中で帰った。本当につまらなかった。 なんていうか、生成AIのプロンプトエンジニアリングとかの話って、人材マネジメント的な話と根本はおんなじ感じがするんだよな。いかにて優秀な新人AI君を働かせるか?的な。 でも、ビ
情報を発信する人のところに情報が集まることを日々実感しているので、Linuxのメモリ管理に特に詳しいわけではないのですが最近遭遇した問題について自分の理解を書いておきます。ざっと調べても同じことを書いている人を見つけられなかったので、公開には意義があると考えています。識者の方がフィードバックをくださると嬉しいです。 ※ AIの出力をベースに書いているのでいつもと少し文体が違います。 背景 要約 調査 再現の難しさ Goアプリケーションの調査 pprofによる分析 GCログの調査 Linuxの調査 Goランタイムの調査 GoのGCとTHP khugepagedの問題 Goランタイムにおける回避策 回避策の削除 max_ptes_noneのデフォルト値について MADV_NOHUGEPAGEをやめた理由 調査内容まとめ 解決策 検証 C言語 Go言語 まとめ 背景 Go言語で書かれたOSSのア
記事:平凡社 パレスチナ・イスラエル問題に関するオンラインセミナー「パレスチナ連続講座」に登壇する東京経済大学教授の早尾貴紀さん 書籍情報はこちら 《前編はこちらから》 ホロコーストを経験したユダヤ人とイスラエル 「ホロコーストを経験したユダヤ人が、どうしてジェノサイドをする側になるのか」という質問をよく受けます。そのことについて、2023年に日本でも公開された『6月0日 アイヒマンが処刑された日』という映画を例にお話しします。ナチスの戦犯アドルフ・アイヒマンは1960年に逮捕され、62年にイスラエルで処刑されました。映画ではその死体を焼却する炉を作る過程が描かれます。映画に登場する鉄工所の社長、作業員、臨時に雇われた少年工は、それぞれ、「イスラエル国民」を構成する3階層のユダヤ人グループに属しています。 1つめのグループは、イスラエルの建国運動を中心的に担った人たちです。ヨーロッパ出身で
『(ある程度は読めるが)喋れない、聞けない』から、『TOEIC 815点(リスニング420点)まで、5時間x10か月=1500時間』 大学受験で英語が得意科目だったのははるか昔。喋れない、聞けないから脱却の必要があり、10ヶ月の猛勉強で、さほど苦労なく英語で世間話ができて、ニュースやTEDなら比較的楽に聞けるようになった。日常的に字幕なしの海外のYOUTUBEを見ているし、世界一人気があるというポッドキャスト『The Joe Rogan Experience』も、まだら状の理解ながら、テキストなしで楽しめるようになった。 僕の勉強量と成果のバランスが良いのかどうか、自信はない。勉強時間も、平均したら、一日5時間を大きくは超えないとは思うが、サボり気味だった期間もあり不正確である。 それだけの時間をかけたら、そりゃ、それぐらいにはなるわな、と思う方もいるだろう。 が、『TOEIC 815点』
VOYAGE GROUP Techlog Advent Calendar 2020 13日目 ディメンショナル・モデリングとは ディメンショナル・モデリング Wikipediaには以下のような説明がある。 Dimensional Modeling (DM) is a data structure technique optimized for data storage in a Data warehouse. データウェアハウスにデータを格納するために、最適化されたデータ構造の手法。 背景 情報システムは2つの大きなカテゴリに分類される。1つはビジネスプロセスの実行支援する業務システム、もう1つはビジネスプロセスを分析支援する分析システム。それぞれ根本的に異なる目的があるため、異なる原則に基づき設計が進化してきた。 業務システムの目的は、ビジネスプロセスで発生した重要な事実や行動を記録する
はじめに こんにちは、Google Cloudのオブザーバビリティ/SRE担当者です。出張中で発売日にきちんとした記事が書けなかったのですが、去る2月24日に私が翻訳しました『効率的なGo―データ指向によるGoアプリケーションの性能最適化』という書籍がオライリー・ジャパン社より出版されました。書店ならびに各社オンラインストアでご購入いただけます。 www.oreilly.co.jp 効率的なGo ―データ指向によるGoアプリケーションの性能最適化 作者:Bartłomiej Płotkaオーム社Amazon 電子書籍版はオライリー・ジャパンのサイトにPDFおよびEPUBでの提供がありますので、そちらよりご確認ください。 『効率的なGo』をなぜ翻訳しようと思ったのか 私は業務において、SREやオブザーバビリティに関わる各種プラクティスの啓蒙や、それらの各種製品(Google Cloudのプロ
データ基盤チームに所属しているデータエンジニアの吉田(id:syou6162)です。10X社内のデータマネジメントの仕事をしています。 最近、社内でディメンショナルモデリング勉強会を行なったですが、なぜ勉強会を行なったのか、どのように行なったのか、勉強会を行なった結果何が得られたかについてまとめます。 ディメンショナルモデリング勉強会開催の背景 勉強会の進め方やスコープ 勉強会の参加者 勉強会で学んだ内容 Four-Step Dimensional Design Process キーの設計について 複数スタースキーマを適切に利用し、ファントラップを避ける コンフォームドディメンション まとめ: 勉強会で得られたもの ディメンショナルモデリング勉強会開催の背景 前回のエントリにまとめた通り、10Xのデータマネジメントの課題の中でも「データウェアハウジングとビジネスインテリジェンス」は優先度が
本記事は、機械学習が初めての方でも「『評価指標』が何となくわかった気になること」をゴールとします。 機械学習における評価指標とは、「どんなモデルを良しとするかのモノサシ」です。 評価指標は、ビジネスと機械学習の成果を結び付けるとても大切な概念です。 しかし、横文字や数式が出てきて、理解を諦めてしまう方も多い気がします。 しかし、「評価指標」をちゃんと理解しておかないと「精度9割なのに全く使えない」なんてモデルができてしまうこともあります。 これを避けるため、文系・ビジネスサイド・機械学習初めてのような方を念頭に、機械学習の「評価指標」をなるべく丁寧に解説したいと思います。 長いので先に要約すると、こんな感じです。 目次 これだけ理解すれば大丈夫 前提知識 具体的な評価指標と使用場面 要約 正答率 適合率 再現率 F値・重み付けF値(応用編) 実際使える一覧表 (関連エントリ) これだけ理解
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く