リレーショナルデータベースシステムを趣味で開発している者です。 現在、開発中のシステムを並行トランザクションへ対応させることを検討しており、どのような手法があるのか調べたところ、SS2PLもしくはS2PLという手法が私と同じように自作をされている方々の中では多く採用されているようだと分かりました。 一方で、PostgreSQLやMySQLなどのプロダクションレベルで利用されているシステムではMVCCと呼ばれる手法が採用されているということも分かりました。 きっと後者の方が多くの場合で高いスループットが得られるということなのだと思うので、可能であればMVCCを採用したいのですが、あまり初学者向けの実装例も見当たらず、どうしたものかと悩んでおります。 SS2PL/S2PLとMVCCの実装の難易度・工数はどの程度違うものなのでしょうか? また、初めてリレーショナルデータベースシステムを開発する者
今回も誰も興味ないシリーズなので今まで書いてこなかったのですが、Semantic Versioningに関して幻想を抱いている人がいる可能性があり、そういう方にどうしても現実を知っておいて欲しかったので書きました。3行要約(と可能なら余談)だけでも読んでいただけると幸いです。 3行要約 Semantic Versioning 2.0.0にはバージョン"比較"の定義はあるが、バージョン"制約"(>= 2.1.3みたいなやつ)の定義がない その結果、同じsemver準拠ライブラリでも制約の解釈が異なり結果が真逆になる というかそもそもsemver使ってるエコシステムが少なすぎる 背景 セキュリティアドバイザリでは特定のバージョンが脆弱であることを示すためにバージョン制約が使われることが多いです。例えば >=1.2.0 <1.2.6みたいなやつです。この場合、1.2.5は脆弱だが1.2.6は修正
カリフォルニア州クパティーノ Appleは本日、Apple Musicにドルビーアトモスによる空間オーディオを導入することによって、サブスクリプションの登録者に業界最高レベルの音質を提供することを発表しました。空間オーディオは、アーティストがファンに向けて、真の多次元サウンドと鮮明さを備えた臨場感あふれるオーディオ体験を作り出す機会をもたらします。さらに、Apple Musicのサブスクリプションの登録者は、アーティストがスタジオで制作したままのロスレスオーディオで、7,500万を超える楽曲を聴くことができるようになります。これらの新機能は、Apple Musicのサブスクリプションの登録者に来月から追加費用なしで提供されます。 「Apple Musicは、音質の面でかつてない大きな進歩を遂げることになります。ドルビーアトモスで曲を聴くのは、まるで魔法のようです。音楽が周囲のあらゆる方向か
GitHub、Rails 6がリリースされてからわずか9日で移行を完了。短期間で問題なく移行できた理由とは? 2019年8月17日、Ruby言語によるWebアプリケーションフレームワークの「Rails 6」がリリースされました。 Rails 6は、Railsアプリケーションでのメールやリッチテキストなどを扱いやすくした新機能に加えて、マルチデータベース対応、パラレルテスト機能なども追加されています。 参考:Rails 6.0正式版がリリース。Action Textでリッチテキスト対応、Action Mailboxでメール処理、マルチデータベース、パラレルテストなど新機能 GitHubはRails 6の正式リリースから約9日で、同社の本番システムをRails 6に問題なくアップグレードしたことをブログ「Running GitHub on Rails 6.0」で報告しています。 On Augu
Volta とは Voltaとは、JavaScript ツールマネージャーです。 タイトルでは Node.js のバージョン管理としていますが、 npm・yarn のバージョン管理も行うことができます。 公式サイトでは、「The Hassle-Free JavaScript Tool Manager(手間のかからない JavaScript ツールマネージャー)」と紹介されています。 チームの Node.js のバージョン管理を Volta に統一したところ非常に DX が上がり、Volta の恩恵を感じています。 この記事では、開発者の Volta 人口を増やすべく Volta の紹介と使用方法について解説していきたいと思います。 なかなか詳しく解説している日本語のソースはないので、公式ドキュメントを読んで適宜和訳しています。 公式ドキュメントを読むのがめんどくさいという人に読んでいただい
※おすすめの基準には上記「導入の手軽さ」「学習の手軽さ」「パッケージ依存関係の解決」以外に、「対象OSとの相性」「検索による情報の見つかりやすさ」を考慮しています。詳しくは後述します 筆者の主観が入りますが、概ね以下のフローチャートのように選択すると良いかと思います (詳しくは後述します) なお、実用上ハマりやすいプロキシ環境での使用方法についても、以下の記事に別途まとめました 必要知識 ここから先は、Pythonのパッケージ管理が何をやっているかを解説します。 「御託はいいから早く使いたい!」という方は、「3種類の方法比較」の項目まで飛んでください まず、一般的に「パッケージ管理」と呼ばれている要素を、以下の4つの機能に分割して考える必要があります。 A. インタプリタ切替 (Pythonのバージョンを切り替える) B. パッケージ切替 (パッケージのバージョンを切り替える) C. パッ
B! 81 0 0 0 v8.10.1みたいなバージョン番号をソートしようとするとき、 単にsortコマンドとか使うとv8.2.1とv8.10.1で真ん中の2と10の1だけを 見て思ったのと逆にソートされてしまいます。 かといって単純に-nで数字として全体を見ることもできないのでちょっと工夫が必要です。 sortコマンド 区切ってソート sort -V git tagでの表示 sortコマンド v1.2.1 v1.10.1 v2.2.1 v2.2.2 v2.2.10 v10.2.1 みたいな内容のversions.txtというフィアルの中身をソートしたいとき、 期待するのは上の形になることです。 これをそのままsortコマンドとかに入れると $ sort versions.txt v1.10.1 v1.2.1 v10.2.1 v2.2.1 v2.2.10 v2.2.2 となります。 このま
End-of-life (EOL) and support information is often hard to track, or very badly presented. endoflife.date documents EOL dates and support lifecycles for various products. endoflife.date aggregates data from various sources and presents it in an understandable and succinct manner. It also makes the data available using an easily accessible API and has iCalendar support. endoflife.date currently tra
こんにちは。ECプラットフォーム部のMA(マーケティングオートメーション)アプリケーションチームで、社内向けのマーケティング運用ツールを開発している長澤(@snagasawa_)です。 先日、日本時間の2020年7月18日にVue 3.0のRelease Candidate(v3.0.0-rc.1)がリリースされ、今後は最終リリースまで主要なAPIのbreaking changeは想定していないとのアナウンスがされました。アナウンスを受け、現在社内ツールで進めているOptions APIからComposition APIへの移行で得られたTipsについて紹介します。 この記事では公開時点でのVue 3.0 betaへのアップグレードの方法と、Vue + TypeScriptでのOptions APIからComposition APIへの移行のTipsについてまとめました。Vue 3.0への
The Gopher character is based on the Go mascot designed by Renee French. TIGの辻です。 Go 1.17連載の5日目の記事です。本記事ではGo1.17の go get に関するアップデートの詳細をお伝えします。 go get に関する変更点サマリ モジュール外からの go get におけるコマンドインストール時に、警告を出力する go get の -insecure フラグは使えなくなった、代わりに環境変数 GOINSECURE を使う モジュール外からの go get におけるコマンドインストール時に、警告を出力するgo get 時の警告Go1.16のリリースノートでも、コマンドのインストールで go get を使うのは非推奨、とお知らせがありましたが、Go1.17では、モジュール外からコマンドのバイナリを go
レッドハットの森若です。 最近は以前より減ってきた気がするのですが、購入前にRHELに含まれるパッケージのバージョン番号だけをお問いあわせされるケースがあります。多くの場合中間に複数の人がいるため質問の本来の意図はよくわかりません。 今回はまずRHELに含まれるパッケージのバージョン確認方法を紹介して、次にバージョンの確認にはあまり意味がないことを説明します。 パッケージバージョンの確認方法 カスタマーポータル内の以下ページから、rpmパッケージを検索することができます。 https://access.redhat.com/downloads/content/package-browser RPMパッケージ検索 パッケージ名を入力して検索し、アーキテクチャをクリックすると、最新パッケージと、それが提供される製品がまとまったページが表示されます。バージョンを選択することで、過去に出荷されたパ
Haikuは米国時間2021年7月25日、Haiku R1/ベータ3をリリースした。ダウンロードページに並ぶミラーサイトやBitTorrentからダウンロードできる。なお、HaikuはQEMUやVMWare、Virtual Boxでも動作可能。R1/ベータ2利用者はpkgmanコマンドでアップグレードできる。 Haiku R1/ベータ3のデスクトップ Haiku R1/ベータ3はインストール時に、パーティションを操作するDriveSetupの修正に代表されるインストール工程の容易化や、無線LAN、オーディオ、USB、NVIDIA GPU(GeForce 6200~GeForce Go 6400)などハードウェアサポートの改良が加わった。また、HaikuのWebブラウザーであるWebPositiveの安定性向上や、ソフトウェア更新時のネットワーク再開機能、Python 3の既定化に始まるソフ
昔作った notify-issues-to-slackの依存モジュールはdepのままで管理していたが、勉強がてらGo Modulesに移行することにした。 参考にした資料 Go 1.13 に向けて知っておきたい Go Modules とそれを取り巻くエコシステム - blog.syfm Go Modulesについてざっくり知ることができてよかった Modules · golang/go Wiki · GitHub ざっくり知った上でちゃんと理解するために公式ドキュメントを読む depからgo modulesへの移行と、移行時にTravis CI & GoReleaserでハマる(かもしれない)ポイント · horizoon 移行手順で参考にした Goモジュールでツールもバージョン管理する - Plan 9とGo言語のブログ ツールも含めてgo.modに入れていく手順で参考にした やったこと
米Googleは5月24日(現地時間)、昨年11月に発表したGoogleフォトの容量無制限無料バックアップの5月末の終了に向けて、改めてその詳細と新たなツールについて説明した。 6月1日より前にアップロードしたコンテンツには影響ない(既報) 6月1日より前に「高品質」でアップロード、バックアップした写真や動画は、ストレージにカウントされないままだ。Googleフォトを使い続けるなら、5月末までにバックアップを完了させれば、その分はカウントされない。 ストレージの持続時間見積もりツール(既報) ユーザーは持続時間見積もりツールで、あとどのくらい現在のプランで写真、動画、その他のコンテンツをGoogleアカウントにバックアップできるかを予測できる。 Googleフォトアプリに保存したコンテンツの管理ツール(新情報) Googleフォトアプリに新たに「ストレージを管理」ツールを追加する。このツー
はじめに この記事は、Linux Advent Calendar 2019 - Qiitaの8日目です。 この記事では、今使っているLinux Kernelがどんなkernelなのか、どんな設定で動いているのかを確認する方法を紹介します。 Linux Kernelは様々な用途に使われています。 そのため、ひとくちにLinux Kernelと言っても、動作はシステムによって全然違います。 現状を把握する手段を知ることで、効率的にKernelのコードリーディングやより良い設定を探す一助になれば幸いです。 また、コメント大歓迎ですので、なんでもお気づきのことがありましたらぜひお気軽にお願いします。 この記事で書くこと Linux Kernelの素性を確認する方法 Linux Kernelの設定値を確認する方法 この記事で書かないこと 各プロセスや各ユーザなどに対する設定(ulimitやniceや
データプラットフォームグループ Livesense Brain チームの富士谷です。 機械学習基盤 Livesense Brain の開発・運用を行っています。 ここでは、Livesense Brain で開発するシステムのバージョニングの見直しと、 GitHub Actions を使ったタグ・リリース作成の自動化について紹介したいと思います。 はじめに Livesense Brain では、開発するシステムのほとんどをコンテナ化しており、大きく「アプリケーション」と「コンポーネント」の2つに分けて開発しています。 「アプリケーション」は、例えば「マッハバイト向けのレコメンド」といった、特定の事業部向けにデータやサービスを提供するコンテナイメージを指します。 また、全社向けのA/Bテスト基盤(Brain Optimizer)も「アプリケーション」に位置づけています。 一方、「コンポーネント
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く