リレーショナルデータベースシステムを趣味で開発している者です。 現在、開発中のシステムを並行トランザクションへ対応させることを検討しており、どのような手法があるのか調べたところ、SS2PLもしくはS2PLという手法が私と同じように自作をされている方々の中では多く採用されているようだと分かりました。 一方で、PostgreSQLやMySQLなどのプロダクションレベルで利用されているシステムではMVCCと呼ばれる手法が採用されているということも分かりました。 きっと後者の方が多くの場合で高いスループットが得られるということなのだと思うので、可能であればMVCCを採用したいのですが、あまり初学者向けの実装例も見当たらず、どうしたものかと悩んでおります。 SS2PL/S2PLとMVCCの実装の難易度・工数はどの程度違うものなのでしょうか? また、初めてリレーショナルデータベースシステムを開発する者
こんにちは。SRE/データストアチーム の飯塚です。 私たちのチームではデータベースを代理で操作したり情報を取得したりするサービスをいくつか作り、それをプロダクトチームが利用できるように gRPC 経由で提供しています。ところで、ある日突然「分散トレーシングを活用していくことになったので、あなたのチームのサービスも対応させてください」とお願いされたらどうすればよいでしょうか?私はこれまでにいろいろなカンファレンスで分散トレーシングや OpenTelemetry についての講演を聞いていたので、理念は理解した、便利そうだ、導入してみたい、と思ったことは何度かありました。しかし実際に導入しようとして SDK のドキュメントを開いてみると、理解しなければいけない(ように見える)概念や、使い方をマスターしないといけない(ように見える)API の数に圧倒されてしまい、後回しにしてしまっていました。
ガジェット全般、サイエンス、宇宙、音楽、モータースポーツetc... 電気・ネットワーク技術者。実績媒体Engadget日本版, Autoblog日本版, Forbes JAPAN他 コンピューターはプログラムコードで動作しますが、このコードは人間が記述している以上、どうしてもエラーを含んでしまうことが避けられません。 しかし、最近は大規模言語モデルを使ったGPTなどジェネレーティブAIの急速な進歩により、目的とする処理を文章として渡すだけで、AIがある程度プログラムコードを出力できるようになってきました。 そして、BioBootloaderと名乗る開発者による新しい試みでは、プログラム開発の際にどうしても必要となるデバッグ作業を、GPT-4をベースとするAIで行うことを可能にしました。このツールは、プログラムを自動修正することから、似た能力を持つアメコミヒーローにちなんで「Wolveri
高精度でリアルタイム処理も可能なAI声質変換ソフト(ボイスチェンジャー)「RVC」の記事が大変な反響を呼びました。Stable DiffusionやChatGPTなど生成系AIがメジャー化する中、世間からはそれほど大きな注目を浴びているわけではありませんが、音声AIも驚くべき速度で進化を遂げています。 AIボイチェン「RVC」の精度と学習・変換速度が革命的。コナンの蝶ネクタイ的リアルタイムボイチェンも可能(CloseBox) | テクノエッジ TechnoEdge 記事中でデモとしてお聞かせしたのは、筆者の妻の歌声を高精度に再現するもので、それはこのソフトのおそらく最大の特徴を生かしたものではありません。そこで、また実験をしてみることにしました。 今回は、ポッドキャストbackspace.fmを10年近く一緒にやっている友人であるドリキンのAIモデルをRVCで作ってみました。 backsp
僕が社内でずっと言い続けていることがあります。 それは「思考と作業は分けましょう」ということです。 よく、プレゼン資料を作るためパワーポイントを開いてフリーズしている人がいます。もしくは、文章を書くためワードを開いてフリーズしている人もいます。それは「思考と作業を同時にやろうとしている」からです。 ではなぜ、思考と作業を同時にやると効率が悪くなるのか? それは「脳サボっちゃう問題」が起こるからだと思っています。 脳というのは考えることをめんどくさがるもの。作業をやりながら思考しようとしても、脳は作業のほうにリソースを使ってしまい、思考のほうになかなか行かないのです。 パワーポイントで図を作成しているときや、ワードで文章を打ち込んでいるときは、「思考」しているように思えますが、実は脳の多くが「作業」に使われている、ということも少なくありません。 だから、なるべく脳を作業から解放してあげること
ChatGPTを使って英会話の練習ができたら良いなと思って色々と試してみました。 Chrome拡張を用いる英会話に必要なのは音声による入出力です。 「Voice Control for ChatGPT」というChrome拡張を使うことでそれが可能になります。 この拡張をインストールした状態で、ChromeでChatGPTを開くと次のような画面になります。 画面下のマイクボタンを押してからPCに向かって喋ると、音声による入力ができます。 マイクボタンの隣にあるセレクトボックスから入力の言語が指定できるので、英語に設定しましょう。 ChatGPT側からの返信も音声で読み上げられます。 設定画面から読み上げ速度の調整もできます。 これだけで、ChatGPTとの英会話が成立します。 注意点としては、こちらからの音声入力ではピリオド(.)や疑問符(?)を入れられないので、複数センテンスは入れられませ
この記事について 今回、Google CloudのBatchを利用した動画変換処理を実装したので、どのようにしたのか、どこにハマったのか(ハマっているのか)、その効果についてまとめました。端的に現状を3行でまとめると、以下のようになります。 動画変換処理にGoogle CloudのBatchを使いました GPUを利用することで処理時間を短くできました コンテナでGPUをうまく使えずシェルスクリプトとGoで作ったバイナリを活用しています(コンテナ化の知見募集中です) はじめに はじめまして。identify株式会社 CTOの@suthioです。 弊社、identify株式会社では動画素材サービスDeLMOの運営を行っています。 service.delm0.jp 簡単に言うと、動画素材を提供するサービスとなります。 課題 弊社ではGoogle Cloud Platformをインフラとして利用し
こんにちは。ミラティブのAndroidエンジニアのかねき@kanesyです。 以前の記事でも何度か紹介していますが、MirrativのAndroidアプリでは新規で作る画面には積極的にJetpack Composeを活用しています。 tech.mirrativ.stream Jetpack Composeでの開発が活発になるにつれて、Viewの多重タップや、リスト中の複数アイテムの同時タップなどの想定外の挙動に向き合う必要が出てきました。 そこで今回は、MirrativのAndroidアプリで採用したJetpack ComposeにおけるViewの多重タップや、リスト中のアイテムの複数同時タップに対する取り組みについて紹介します。 Android Viewにおける多重タップ防止 Jetpack Composeでの実装の説明に移る前に、まずは既存のAndroid Viewにおける多重タップ防
一時は一斉を風靡した複雑系がなぜ廃れてしまったのか?ということについて、Twitter上で私見をツイートしたところ、全く想定していなかった反響があったので、内容を一応メモとしてまとめておきます。 背景 Twitter上での科学哲学の議論の中で、複雑系も科学哲学的な側面を多分に持っていること、そして重要な問題を提起していたが、相対的に解けた問題や体系化できた結果がなかったので衰退した、という趣旨のツイートをしました。 以下はその衰退について来た質問に答える形で連投したツイートした内容です。このメモはそれをまとめて追記しています。 前提 自分は複雑系ブームのピークが過ぎた2000年に修士1年でした。複雑系の薄暮を学生として見つつ、別分野(システム生物学)などに取り組んだ世代です。 また複雑系研究を牽引していた金子先生や池上先生らの研究室出身ではないです。ですので以下は、そういった研究室の中から
Node.js Docker baseイメージには alpine < distroless < ubuntu+slim 構成がよさそう はじめに この記事は、DockerCon 2022 で発表された Bret Fisher の "Node.js Rocks in Docker, DockerCon 2022 Edition" を参考にしています。 base イメージの選択肢に関する話は、動画の前半一部分だけですが、他にも Node.js で Dockerfile を書く時のベストプラクティスが数多くまとまっているので、是非チェックしてみてください。 node:alpine イメージを使わない base イメージサイズを小さく保ちたい、という点で気軽に利用される事が多い alpine イメージですが、Official の README には下記の記載があります。 This variant
はじめに このブログに書かれていること 自己紹介 注意 Part3 現代の暗号 共通鍵暗号方式と鍵配送問題 鍵配送問題とは? 共通鍵暗号方式と公開鍵暗号方式の違いとメリット・デメリット RSA暗号 RSAで使われる鍵 処理手順 暗号化の手順 復号の手順 RSA暗号の数学的背景 一次不定式が自然数解を持つ理由 eとLの関係性 そもそもなぜこの式で元の平文に戻るのか?の数学的根拠 証明パート1 フェルマーの小定理 中国剰余定理 RSA暗号をPythonで 楕円曲線暗号 楕円曲線とは? 楕円曲線の式 楕円曲線における足し算の定義 楕円曲線における引き算の定義 無限遠点 楕円曲線における分配法則と交換法則 楕円曲線の加法を式で表現 点Pと点Qが異なる場合 点Pと点P 同じ点を足し合わせる場合 有限体 有限体とは? 有限体上の楕円曲線 楕円曲線暗号における鍵 ECDH鍵共有 数式ベースでの手順説明
チャット、文章生成、翻訳、コーディングなどさまざまなタスクをこなす万能型ジェネレーティブAIツールである「ChatGPT」。同じ土俵では競合は少ないものの、翻訳、要約、ライティング、コーディングなど各機能に特化して見ると、競合は多数存在する。どのような競合がいるのか、4つの特化型ジェネレーティブAIの現状を探ってみたい。 細谷 元 バークリー音大提携校で2年間ジャズ/音楽理論を学ぶ。その後、通訳・翻訳者を経て24歳で大学入学。学部では国際関係、修士では英大学院で経済・政治・哲学を専攻。国内コンサルティング会社、シンガポールの日系通信社を経てLivit参画。興味分野は、メディアテクノロジーの進化と社会変化。2014〜15年頃テックメディアの立ち上げにあたり、ドローンの可能性を模索。ドローンレース・ドバイ世界大会に選手として出場。現在、音楽制作ソフト、3Dソフト、ゲームエンジンを活用した「リア
米Twitter社が、イーロン・マスク氏の保有する「X Corp.」という名前の企業に統合され、企業としてすでに存在していないことが分かった。カリフォルニア北部地区連邦地方裁判所などで開かれている訴訟において、提出された資料から判明した。 X社はイーロン・マスク氏の持株会社「X Holdings」の子会社。ネバダ州で設立され、カリフォルニア州サンフランシスコに事務所を構える非公開企業という。4月4日付の資料で、旧Twitter社の弁護人が「Twitter社はX社に吸収合併され、もはや存在しない」と明かした。 この訴訟は、TwitterやFacebookのアカウントを停止された女性が旧Twitter社やMetaなどを相手に異議を申し立てるために提起したもの。 関連記事 Twitterの「サークル」内の投稿が外のタイムラインに表示されてしまうとの報告 Twitterの「サークル」内で投稿したツ
オウサマペンギンとコウテイペンギンの見分け方とは 先日、オライリー・ジャパンさんから『入門 モダンLinux』を頂いた。 www.oreilly.co.jp 翻訳者の1人である大岩さんとは、過去に『アルゴリズムクイックリファレンス』で関わったことがある、ぐらいの弱いつながり程度で知り合い顔するのもどうかと思うが、確かに知っている方である。 つまり、信頼できる翻訳者なので中身も信頼できる、という意味である。 実際、『アルゴリズムクイックリファレンス』では査読における的確な指摘に驚いた覚えがある。 『入門 モダンLinux』においても訳者注としてそのすごさを垣間見ることができるであろう。 さて、『入門 モダンLinux』は 前半でLinuxを使いこなす上で必要な基本知識を、後半で最新情報をまとめています。 とある通り、Webプログラマからすると雰囲気で使っているLinuxについてコンパクトに知
2023年4月11日に開催されたクラスメソッド株式会社のイベント、DevelopersIO DayOne で発表したスライドです。 「モノリスかマイクロサービスか、その選択に迷っている人へ届けたい話」をマイクロサービス導入ステップやチーム作りの観点から解説しました。
はじめに こんにちは!イノベーションセンターテクノロジー部門 GPU-K8s Projectに二週間、インターン参加させていただいた石本直也と申します。 大学院では、WebAssemblyに関するObservabilityについて研究をしています。 今回の職場体験型インターンシップでは「モダンなICTインフラを支える技術の検証・開発(クラウド, コンテナ or データ基盤領域)」をテーマとして以下のことに取り組みました。 GPU ServerのWorker Nodeとしての設定(cuda,containerd,NVIDIA Container Toolkit) K8sクラスタへのGPU Worker Node追加 Ansibleでのセッティングの自動化 参考:職場体験型インターンシップとは? ドコモが仕掛ける数多くの事業の中から厳選したポストにて、実務を体験していただきます。 業務体験を通
Cloudflare Pages FunctionsがWebAssemblyに対応。WebAssemblyでサーバレスの関数を登録可能に 大手CDNベンダのCloudflareは、サーバレスなアプリケーションの実行環境として提供している「Cloudflare Pages Functions」がWebAssemblyに対応したことを明らかにしました。 We’re excited to announce WebAssembly support for Pages Functions projects! Use the language of your choice to build server-side applications with something other than JavaScript. Read our blog to learn more:https://t.co/tTu
C10K 問題 (the C10K problem) は1999年に Dan Kegel が発表した文章、ならびにそこで提示された「問題」です。文章はその後も2000年代前半に何度か更新されているのですが、さすがに令和に読み返すと、当初の問題意識がわかりにくいところがあります。 2000年からの10年は、 ソフトウェア面では、select(2), poll(2) にかわる新しいシステムコールの実装と、それを使ったアプリケーションの普及 ハードウェア面では、x86 アーキテクチャの64ビット移行、仮想化命令の追加と、マルチコア化 さらにそこにクラウドも登場する、面白い時代でした。ここでは、それらの出来事を中心に、さらに、当時の雰囲気をつたえるような日本国内のブログやインタビュー記事をまとめることで、C10K 問題が、さまざまな側面から解決されていく流れを説明したいと思います。 書き足したいと
AWSコストをいますぐ最適化しませんか? キャッシュフロー、ユニットエコノミクス、改善しませんか? この記事では、とにかくいますぐなんとかしたい方向けの方法を金額面で大きい傾向にあるサービスごとに26個紹介します。 以下各見出し内の💰はコスト削減度、⚡はおまけでパフォーマンス改善度を指します。 (1) 💰💰💰 CloudWatch Logs: とにかくログを出さないこと、まとめること AWS料金のうち、CloudWatch Logsが上位を占める傾向にあります。保存期間が無期限だから費用がかかる...と見せかけて、実際はログ出力自体の料金が大半です。 レガシーWebアプリケーションのログは1リクエストにつき何回も何行も出力する傾向があります。フレームワーク特有の不要なログも付いてきます。勝手に出力されるログは放置せず整理して、リクエスト単位でイベントとしてまとめましょう。 参考記事
テーマや文章を入力するだけで、マインドマップを自動生成できるサービス「マインドマップAI」を、個人開発者の矢野さとるさんが4月11日に公開した。ChatGPTを活用したサービスだ。 マインドマップは、情報やアイデアを視覚的にまとめる手法。中心になるキーワードから枝分かれさせながら、キーワードを整理していく。 「マインドマップAI」にテーマと文章を入力すると、AIが内容を要約し、キーワードをピックアップしてマインドマップ化する。また、テーマだけ入力してマインドマップを自動生成することも可能。 生成したマインドマップは、画像(PNG)またはfreemind形式(.mm)でダウンロードできる。 関連記事 指定したテーマで、ChatGPTが自動作文「AI作文くん」 学生から社会人に対応 テーマや文字数を指定するだけで、それに合った作文をChatGPTで自動生成できるサービス「AI作文くん」が登場。
すべてがファイルというモデルの Linux (Unix) において、ファイル I/O (以降単に I/O と書く) を知っておいて損はない。 この記事では、基本的なファイルと関連する I/O について、対応する Linux システムコールも併せて説明する。 次回はこれらを実際に Linux 上で確認する予定。 ファイル Unix におけるファイルとは、普通「通常ファイル」のことを指し、バイトがリニアに並んだデータ (byte stream) のことである。 ファイル内のバイトは読み書きが可能で、指定されたバイトから開始する。この開始バイトはファイル内の「位置」と考えることができ、ファイルポジションまたはファイルオフセットという。 通常ファイルとは別に、スペシャルファイルというファイルとして表現されたカーネルオブジェクトがある。Linux では、スペシャルファイルとしてデバイスノード・名前付
GitHubは200万行規模のRailsアプリケーションであり、毎週RailsとRubyを最新版にアップデートし続けている 4月10日でサービス開始からちょうど15周年を迎えたGitHubは、当初からRuby on Railsを用いたモノリシックなアプリケーションとして作られてきました。現在では200万行近い規模のコードになっているそうです。 今年1月にはGtHubを利用しているデベロッパーが1億人に到達したことも発表しました。GitHubはまさに世界最大級のRailsアプリケーションだと言っていいでしょう。 そのGitHubは5年前の2018年、Railsのバージョンを3.2から5.2に上げる作業に1年半を費やし。そして二度とこのようなことにならないよう、より頻繁にアップデートを行うべき、などの教訓を得たとしていました。 そして現在、GitHubは毎週月曜日にRailsのアップデート作業
はじめに OpenAIによって開発されたChatGPTが話題になっています。特に、2023年3月14日に公開された最新モデルであるGPT-4は、これまで私達がAIに持っていた認識を根底から覆したのではないでしょうか? 私は、「普通に人間とやりとりしているのと変わらんやん…」と率直に驚きました。 エンジニアの業務の中でも、自動コーディング支援、技術的課題の壁打ち相手、ドキュメント自動生成、学習支援等さまざまな用途に活用する可能性を皆さん検証している段階です。私もその波に乗っている真っ最中です。 そこで今回は、ソースコードリーディングをChatGPTをメンターにしたら爆速にできるのではないか?という仮説を検証してみました。 そしてどうせやるなら、ソースコードリーディングのハードルの高さナンバーワン(個人調べ)の「Linuxカーネル」を題材にしてみました。 なお、使用したモデルはGPT-4です。
はじめに このブログに書かれていること 自己紹介 注意 Part1 古典暗号 2つの暗号方式 スキュタレー暗号 アルゴリズムと鍵 シーザー暗号 原理 頻度分析 アルベルティ暗号 ヴィジュネル暗号 如何にしてヴィジュネル暗号は破られたか Part2 近代暗号 エニグマ エニグマの登場 エニグマの基本構造 如何にしてエニグマは突破されたか 前提条件 必ず異なる文字に変換される性質を利用 ループを利用 まとめ 参考文献 採用情報 はじめに このブログに書かれていること 前半 古代暗号から始まる暗号の歴史 エニグマの構造と解読法について 後半(後半ブログは こちら) RSA暗号の基本 楕円曲線暗号の基本 自己紹介 こんにちは!株式会社ABEJAの @Takayoshi_ma です。今回のテックブログですが、ネタに5時間程度悩んだ挙句、暗号を取り上げることにしました!暗号化手法の解説にとどまらず、そ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く