並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 6303件

新着順 人気順

mysqlの検索結果281 - 320 件 / 6303件

  • ERDをPlantUML形式で自動生成するツールを作った - くりにっき

    PlantUML + ERDでPlantERDです github.com モチベーション PlantERDの特徴 使い方 出力するテーブル数の制限について 技術的に頑張ったこと テストのこと Foreign keyで隣接している別のテーブルを探す方法 複数DB対応のつらみ 追記:2019/12/13 9:45 モチベーション 既存プロダクトへの不満が一番大きいです。 https://github.com/voormedia/rails-erd は出力が画像なので取り回ししづらい そもそもRails前提なので他言語とかでは使えない https://github.com/schemaspy/schemaspy も悪くなさそうなんだけどここまでリッチじゃなくていい テーブル数個の小規模アプリならいいんだけど、中規模以上のアプリで使うと人間が読むに耐えないERDが生成されて精神が崩壊する 僕は初め

      ERDをPlantUML形式で自動生成するツールを作った - くりにっき
    • Docker Composeの環境変数ではなくsecretsで秘密情報を扱う - Qiita

      概要 Dockerの本番環境で秘密情報を使う際に、環境変数を使うことは推奨されてません。 秘密情報を扱うには、コンテナオーケストレーションのsecret supportを使うことが推奨されてます。 Docker Composeには秘密情報を扱うために、secretsがあります。(Docker ComposeのsecretsはDocker Swarmと併用することが前提の機能です) 環境変数で秘密情報を扱う時の問題点 秘密情報を扱う時に、よくある方法として、環境変数を使う方法があります。 (この記事において、秘密情報とはパスワード、APIキーを想定します。) しかし、Dockerのドキュメントhttps://docs.docker.com/get-started/07_multi_container/ には While using env vars to set connection set

        Docker Composeの環境変数ではなくsecretsで秘密情報を扱う - Qiita
      • 会社の支給PCがMacBook Pro M1なので、新しく開発環境を構築した話 - 食べチョク開発者ブログ

        こんにちは。 今年の年始からジョインした遠藤です。 さて、入社したところ会社支給のMacBook ProがM1チップのものでした。 はい、現状は開発環境で苦労するとか色々噂を聞くやつです。 実際に試したのですが、 現状の開発環境構築スクリプト、手順書が一切使えない VitualBox, Vagrantは利用不可 Dockerは利用可能ではあるが、一部イメージが対応されてない 古いパッケージは動かす手段がない などなど、通常ではぶつからない問題にぶつかります。 食べチョクでは、 Ruby Node.js MySQL Redis ElasticSearch Kibana を利用しています。 この辺りをメインに話つつ、Intel版とこんな風に違うのかっていう辺りの雰囲気を感じ取っていただければと思います。 どこに開発環境を構築するか まず、どこで開発環境を構築するかを考えてみたいと思います。 ロ

          会社の支給PCがMacBook Pro M1なので、新しく開発環境を構築した話 - 食べチョク開発者ブログ
        • レガシーエンジニアによるDocker入門 - Qiita

          初めに この記事は技術進化が5年前くらいで止まっている環境で働く私が、モダンな技術に触れる為に学習したことを記録したものです。 暇潰しに読んでいただければ幸いです 本記事では、 Windows10 Home + WSL2の環境に、Dockerをインストール Golang + GitがインストールされているコンテナをDockerfileで立ち上げる VSCodeからコンテナに接続してHello World の3つを行います。 Dockerとは? DockerはOracleVM等と同様、仮想環境を提供するソフトウェアです。OracleVMのようにOS全体を仮想化せず、OSの一部とアプリケーションの実行環境をまとめたコンテナと呼ばれる仮想環境を提供します。 コンテナはDockerfileというテキストファイルを元に作成され、Dockerfileが同一であれば、どのOSでも同一の環境を作ることがで

            レガシーエンジニアによるDocker入門 - Qiita
          • オープンソースのWebアプリケーション分析ツール「Cube.js」

            「Cube.js」は、npmやyarnでインストールできるオープンソースのWebアプリケーション用分析ツールです。RDBだけでなく、AWS AthenaやGoogle BigQueryなどのサーバーレスクエリエンジンと連携するように設計されています。機能が非常に豊富なので、今回は初期セットアップに的を絞ってご紹介します。 ◆ オープンソースのWebアプリケーション分析ツール「Cube.js」 https://cube.dev/ 紹介 「Cube.js」は、GUIも完備した高機能なWebアプリケーション分析ツールです。 インストール $ npm install -g cubejs-cli # or $ yarn global add cubejs-cli npmまたはyarnでインストールします。 $ cubejs create <プロジェクト名> -d <データベースタイプ> (データベー

              オープンソースのWebアプリケーション分析ツール「Cube.js」
            • Docker でロードバランサ・アプリケーションサーバ・DBサーバの環境構築 - A Memorandum

              はじめに Nginx でロードバランサを構成する Webサーバ1号機の作成 Webサーバ2号機の作成 ロードバランサの作成 ロードバランサとWebサーバの起動 Web アプリケーションの準備 Docker でアプリケーションをビルドする DBサーバの準備 ロードバランサとアプリケーションサーバの起動 まとめ はじめに 前回は Docker のインストールからイメージビルド・コンテナ起動・Compose までの流れをみてきました。 blog1.mammb.com 今回は以下のような、一般的な Web アプリケーションの開発環境を構築していきます。 前回の記事とあわせて、Docker の活用方法を理解いただければと思います。 Nginx でロードバランサを構成する 最初に、単純な Web サーバを Nginx でロードバランシングする環境を作成して動作を見てみます。 このような構成となります。

                Docker でロードバランサ・アプリケーションサーバ・DBサーバの環境構築 - A Memorandum
              • OracleからPostgreSQLに乗り換えたい人に送る何か - なからなLife

                Calendar for PostgreSQL | Advent Calendar 2021 - Qiita の10日目の記事です。 思い当たる節がある人は、今の見積もりの数倍の時間と予算を確保してからキックオフして欲しい。 多分、そのまま走ると誰か倒れるから。。。 で終わりにするわけにはいかないので、いくつか書きます。 もちろん、SQLがDBMSによって「方言」があるので、使える構文、関数名が違うってのは当然あるのですが、それ以外のところを中心に。 PostgreSQLのサーバーサイドエンコーディングはShiftJISをサポートしていない 今どき、新規で立てるデータベースはUTF8を選ぶよねーキャハハ、と思っても、何世代もバージョンアップしてきたOracleや、塩漬けされたOracleなんかは、ShiftJISを使っているところも多いのではないでしょうか。 自分で文字コードマッピングの処

                  OracleからPostgreSQLに乗り換えたい人に送る何か - なからなLife
                • Prisma で本物のDBMSを使って自動テストを書く - mizdra's blog

                  DBMS に依存するロジックのテストを書く時、主に2つの手法があると思います。 Repository 層などを mock する Service 層のテストをする時は、その下位の Repository 層を mock して、DBMS に依存しない形にしてからテストする レイヤードなアプリケーションで適用できる手法 テスト実行時も DBMS を裏で動かして、それを使う 本番と同じスキーマを持つ DBMS に対して、実際に insert したり select してテストする DBMS は docker-compose upとかで事前に立ち上げておく 双方にそれぞれ良さがあって、プロダクトによってどっちでやるか変わってくると思います。 この記事では 2 の手法を Prisma でどうやるかについて紹介します。 前提 実際のテストコードの例 テストヘルパーを作る 別解: ヘルパーを自動生成する je

                    Prisma で本物のDBMSを使って自動テストを書く - mizdra's blog
                  • 日本語の問いをChatGPTでSQLに変換、実行する「Chat2Query」を搭載。MySQL互換のTiDB Cloud

                    日本語の問いをChatGPTでSQLに変換、実行する「Chat2Query」を搭載。MySQL互換のTiDB Cloud MySQL互換のオープンソースデータベース「TiDB」(タイデービー)を提供しているPingCAP社は、日本語を含む自然言語の問いをChatGPTを用いてSQL文に変換し、実行する「Chat2Query」機能を、クラウド上でTiDBのマネージドサービスを提供する「TiDB Cloud」にβ版として搭載したことを発表しました(日本語のプレスリリース) Introducing #Chat2Query, our AI-powered natural language querying tool that will release you from tedious manual SQL writing and change the way of #DataExploration

                      日本語の問いをChatGPTでSQLに変換、実行する「Chat2Query」を搭載。MySQL互換のTiDB Cloud
                    • 解決法の「とっかかり」をなんとなく把握しておくことが大事だという話

                      この記事で書きたいことは、以下のような内容です。 ・昔SEの先輩に、「技術の詳細に通じていなくても、「そういう技術、そういう解決法がある」ということを把握しているだけで十分役立つ」と教わりました ・エンジニアの能力を測る尺度の一つとして、「課題」「問題」に対するアプローチをどれだけ思いつけるか、というものがあると思います ・「こういうやり方があった筈だ」「こういうアプローチが出来る筈だ」ということがなんとなくでも分かっていれば、それをとっかかりに調べることが出来ます ・その「そういう解決法があるということはなんとなく分かる」という状態を広げる為に、基盤技術に関する知識が重要です ・これは、生成AIに色々聞けるようになった今でも変わらないというか、むしろ昔以上に「とっかかり」の重要性が増しているような気がします ・「引き出しを増やす」という視点での勉強と、それを活かす為の基礎の重要性を、新人

                        解決法の「とっかかり」をなんとなく把握しておくことが大事だという話
                      • LambdaからRDS/RDBを利用する際に意識したいポイント5選 | DevelopersIO

                        こちらの記事はRDS ProxyがGAされる前に執筆した記事です。現在はLambdaからRDSを利用する場合、間にRDS Proxyを挟むという選択肢が増えているので、まずはRDS Proxyを使う/使わないの検討をお願いします。以後で紹介しているトピックの一部はRDS Proxy利用時は考え方が変わってきます。 CX事業本部@大阪の岩田です。私が現在関わっているプロジェクトではLambda × RDSというアーキテクチャを採用して開発を進めています。開発を進める中でLambda × RDS(RDB)という構成についてある程度ノウハウが貯まってきたので、注意したいポイントやオススメの設定をTIPS的に紹介していきます。 環境 以後の説明では以下の環境の一部もしくは組み合わせを利用しています。具体的なコードやSQLの例はプログラミング言語やDBエンジンに依存しますが、根底の考え方はどの言語、

                          LambdaからRDS/RDBを利用する際に意識したいポイント5選 | DevelopersIO
                        • Zendesk、DynamoDBからMySQLとS3へ移行し、コストを80%以上削減

                          垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。

                            Zendesk、DynamoDBからMySQLとS3へ移行し、コストを80%以上削減
                          • 「青銀行の勘定系をFirebase前提で構築できるか?」 - たなかこういちの開発ノート

                            Firebaseについて、事前知識 Firebaseとは、以下のような機能群を「Serverless」の文脈でバンドルしたものである。「Serverless」として、これらの統合管理コンソールの出来栄えが秀逸。 - Firestore ... Document-oriented KVS - Cloud Functions ... AWSのLambda - Cloud Storage ... AWSのS3 - Hosting ... Web Assetsのデプロイ先の提供、CDN展開サポート - Authentication ... ユーザー管理・統合認証サービスの提供 - Cloud Messaging ... iOS/Android/Web(JS)クライアントアプリへの統合プッシュ通知サービス - その他 いうまでもなく「Serverless」とは「サーバー運用・管理レス」の意味。まさに

                              「青銀行の勘定系をFirebase前提で構築できるか?」 - たなかこういちの開発ノート
                            • データ基盤チーム0人で運用は回るのか?! 前人未踏チャレンジ・クックパッドデータ基盤のすべて2020 - クックパッド開発者ブログ

                              技術部データ基盤グループの青木です。 ここ1、2年はなぜか成り行きでBFFをでっちあげたり、 成り行きでiOSアプリリニューアルのPMをしたりしていたので あまりデータ基盤の仕事をしていなかったのですが、 今年は久しぶりに本業に戻れたのでその話をします。 突然の1人チーム、そして0人へ…… 今年のデータ基盤チームは消滅の危機から始まりました。 間違いなく去年末は5人のチームだったと思うのですが、 メンバーがイギリスへグローバルのデータ基盤チームを作りに行ったり、 山へ検索システムを直しに行ったり、川へレシピ事業の分析業務をやりに行ったり、 海へ広告のエンジニアリングをしに行ったりするのをホイホイと気前よく全部聞いていたら、 なんと4月から1人だけのチームになってしまいました。 事はそれで終わりません。 恐ろしいことに10月にはわたし自身も育休に入ることになったので、 10月はデータ基盤が0

                                データ基盤チーム0人で運用は回るのか?! 前人未踏チャレンジ・クックパッドデータ基盤のすべて2020 - クックパッド開発者ブログ
                              • アマゾンがついにOracle DBを「全廃」、成功のポイントは社内失業対策

                                米アマゾン・ドット・コム(Amazon.com)がついに米オラクル(Oracle)に「勝利宣言」をした。アマゾンは2019年10月15日(米国時間)、社内からOracle Database(DB)を「全廃」したと発表したのだ。最盛期には約7500ものOracle DBが存在し、eコマースや物流、決済、受発注、広告、動画・音楽配信などのバックエンドで長年使われてきた。それらはほぼすべて姿を消したという。 Oracle DBからの移行先は、アマゾンがクラウドサービスAmazon Web Services(AWS)で提供するDBサービスだ。今後はMySQLやPostgreSQLと互換性のある分散型リレーショナルDB(RDB)サービスのAmazon Auroraをはじめ、NoSQLのDBサービスであるAmazon DynamoDB、データウエアハウス(DWH)のサービスであるAmazon Reds

                                  アマゾンがついにOracle DBを「全廃」、成功のポイントは社内失業対策
                                • 【レポート】インフラエンジニアは働かない~AWSのフルマネージドサービスでメンテフリーになるまで~ #AWSSummit | DevelopersIO

                                  DA事業本部の春田です。 AWS Summit Online絶賛開催中!ということで、本記事では「CUS-60: インフラエンジニアは働かない~AWSのフルマネージドサービスでメンテフリーになるまで~」の内容についてまとめていきます。 セッション情報 株式会社カプコン システム開発部 中村 一樹 氏 株式会社カプコン システム開発部 中島 淳平 氏 DL数500万を超える大型タイトル、モンスターハンターライダーズ。 メンテフリー、省コスト、最先端、をテーマにしたカプコン史上最大のインフラアーキテクチャはどの様に設計され、どう運用されているのか。コンテナって実際どうなの、Kubernetes?ECS?RDBMSを使わずしてサービスを提供することは可能?大量アクセスにより生成されるログを安全に回収するにはどうする?実際に運用してみた経験や事例を踏まえて、カプコンの考えるクラウドネイティブ時代の

                                    【レポート】インフラエンジニアは働かない~AWSのフルマネージドサービスでメンテフリーになるまで~ #AWSSummit | DevelopersIO
                                  • “LLM for SRE“の世界探索 - ゆううきブログ

                                    ChatGPTが登場した当初、対話や要約、翻訳、コード生成などの典型的な言語タスクができても、SREやAIOpsの研究開発にはあまり関係ないのではないかと正直思っていた。AIOpsでは典型的にはいわゆるObservabilityデータ(メトリクス、ログ、トレースなど)が入力となるため、自然言語ではなく数値のデータを解析することが求められる。自然言語のタスクを研究対象としていなかったため、AIOpsとChatGPTに強い関係性は見いだせなかった*1。 しかし、自分で大規模言語モデル(Large Language Model: LLM)を日常的に使用したり、表題にあるようにSREのためのLLM(LLM for SRE, LLM4SRE)に関する論文を読むうちに、LLMのテキスト生成器としての性質よりもその優れた推論機械としての性質に注目するようになった。特にSREの障害診断は、人間の専門家が推

                                      “LLM for SRE“の世界探索 - ゆううきブログ
                                    • DBスキーマ変更管理ツール sqldef を試してみた - Qiita

                                      1. sqldef とは sqldef は "The easiest idempotent MySQL/PostgreSQL/SQLite3/SQL Server schema management by SQL." と謳っているDBスキーマ変更管理ツールです。 通常の開発において DDL 文を管理する場合、環境を1から作るように CREATE TABLE 文など新規作成 DDL 文を準備すると共に、既に作成済みの環境でテーブルを変更するために ALTER TABLE 文など差分適用 DDL 文を準備する必要があります。この2種類の DDL 文を二重管理しないといけないというのは DBA にとっては頭の悩ましい問題でした。(差分適用 DDL 文のみ準備し、1から環境を作る場合も全ての変更を適用するという手もありますが…) sqldef を利用すると、変更適用先 DB の現在の状況と新規作成

                                        DBスキーマ変更管理ツール sqldef を試してみた - Qiita
                                      • いまさらDocker入門(AWS FargateでRails環境をつくる - その1) - 虎の穴開発室ブログ

                                        こんにちは、虎の穴ラボNSSです。 今まで私は、サーバーレスの勉強の一環として、AWS Lambdaを使ったWebアプリケーションの作成方法を、本ブログやとらラボの同人誌等で紹介してきました。 しかし、サーバーレスに関するサービスはAWS Lambdaだけではなく、他にもたくさんあります。 その中で今回は、AWS Fargate(以下Fargate)を使って、2020年5月時点の最新Rails開発環境をFargateで作って見たいと思います。 ...と思っていたのですが、Fargateを利用するには、いくつか前提となる知識が必要になることがわかりました。 前提となる知識は、 コンテナ・Dockerの知識 Amazon ECR、ECSの知識 Fargateの知識 などです。 全てを説明すると長くなってしまうので、何回かに分けて説明していきたいと思います。 何回になるかわかりませんが、最終的に

                                          いまさらDocker入門(AWS FargateでRails環境をつくる - その1) - 虎の穴開発室ブログ
                                        • Go の sql.DB がコネクションプールを管理する仕組み

                                          Go の database/sql パッケージ の DB 構造体 は、データベースへのコネクションプールを管理し、かつスレッドセーフ (goroutine セーフと言ったほうが良いのだろうか…?) にそれらの接続を使用できることを保証している。 ドキュメント にも次のように書かれている。 DB is a database handle representing a pool of zero or more underlying connections. It’s safe for concurrent use by multiple goroutines. こちらの基本的な実装内容と、動作を制御するパラメータについて調べてみた。 基礎知識のおさらい database/sql パッケージはデータストアの実装によらない一般的な SQL のインタフェースを提供している。具体的なデータストアへの接

                                            Go の sql.DB がコネクションプールを管理する仕組み
                                          • どのレイヤー(層)でトランザクションを実装すべきか

                                            このように、層ごとに関心事の分離を行うことで、保守性の高い(変更容易性や再利用性等)アプリケーションを実現できます。 しかし、「トランザクション」においてはどうでしょうか。 トランザクションはビジネス領域においても、技術領域においても関心事がある内容です。 そういう曖昧なものは「ひとまず usecase 層に入れてしまえ」という方針になりがちです。 ですが、DB 固有の知識を usecase 層の関心事にしてしまっては、関心事の分離をするメリットが得られません。 そのため、関心事の分離を実現しつつトランザクション実装をする方法を模索してみました。 前提 1. クリーンアーキテクチャを採用している(オニオンアーキテクチャやレイヤードアーキテクチャも含む) そもそもビジネス知識と技術知識を分離していないアーキテクチャを採用している場合、メリットは得られません。 そのため、オニオンアーキテクチャ

                                              どのレイヤー(層)でトランザクションを実装すべきか
                                            • Windows 10 + WSL 2 でDocker環境を構築する(Docker Desktop有料化対策) - ecbeing labs(イーシービーイング・ラボ)

                                              はじめに こんにちは、アーキテクトの小林です。 Docker Desktopが有料化することになりましたね。 従業員が251人以上もしくは売上約11億円以上の企業でDocker Desktopを利用する場合に、今後は有料プランが必要ということになりました。 個人的には、これだけのツールがこれまで無料で利用できたことが不思議でしたし、有料化によって母体の経営が安定化してプロダクトの健全な成長とサポートが得られるのであれば、歓迎すべきことかなと思っています。 でも...一応無料で使いつづける抜け道を見つけておきたいと思ってしまうのはエンジニアの性なのでしょうか。こういう小さな障壁をきっかけに週末にやる気が沸いてしまったので、超絶便利だったDocker Desktopに頼らずにWindows 10にDockerの環境を整えてみました。 環境を構築するにあたって、ちょっとしたつまづきもありましたの

                                                Windows 10 + WSL 2 でDocker環境を構築する(Docker Desktop有料化対策) - ecbeing labs(イーシービーイング・ラボ)
                                              • STORESってMongoDBを使ってるらしいけど正直どうなの? - STORES Product Blog

                                                STORESのECサービスを開発している@morihirokです。 STORES ECはRuby on Railsで開発されているWebアプリケーションですが、データベースにはMySQLやPostgreSQLといったリレーショナルデータベースではなく、MongoDBを採用しております。 この記事ではカジュアル面談等で必ず聞かれる「MongoDBって正直どうなの?」といったところを、ストレートにお伝えできればと思います。 なぜMongoDBを採用しているのか そもそもなぜMongoDBを採用しているのか。それは考古学になるのでフィールドワークが必要です。筆者も開発に携わるようになったのは2018年の終わり頃からなので、まずは一緒にSTORES ECの歴史について紐解いていきましょう。 STORES EC(旧STORES.jp)は、heyグループとなるずっと前の2012年、会社名がブラケットだ

                                                  STORESってMongoDBを使ってるらしいけど正直どうなの? - STORES Product Blog
                                                • Linux Performance

                                                  static, benchmarking, tuning: sar, perf-tools, bcc/BPF: bpftrace, BPF book: Images license: creative commons Attribution-ShareAlike 4.0. This page links to various Linux performance material I've created, including the tools maps on the right. These use a large font size to suit slide decks. You can also print them out for your office wall. They show: Linux observability tools, Linux static perfor

                                                  • MySQLのコネクションハンドリングとスケーリング | Yakst

                                                    MySQLのコネクションハンドリングの内部構造、スケール限界、そして最大コネクション数のチューニングなどについてご紹介します 免責事項 この記事はGeir Hoydalsvik氏によるMySQL Server Blogの投稿「MySQL Connection Handling and Scaling」(2019/3/19)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 この投稿では、MySQLのコネクション、ユーザースレッドおよびスケーリングについて取り扱います。MySQLがどのように動作するかをよりよく理解することで、アプリケーション開発者やシステム管理者が、トレードオフを踏まえた良い選択をできることでしょう。本記事ではコミュニティー版でコネクションがどのように動作するかについて述べますが、一方でスレッドプール、リソースグループ、あるいはコネクション多重化といった関

                                                    • WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました! - Qiita

                                                      WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました!MySQLSQLPostgreSQLDatabaseQiitaEngineerFesta2022 TL; DR MySQL/Postgres とも, MVCC アーキテクチャの恩恵で, SELECT と UPDATE は基本的には競合しない。 単一レコードのシンプルな UPDATE でも排他ロックされ,排他ロック中のレコードへの UPDATE での変更操作は トランザクション分離レベルによらず ブロックされる。UPDATE 文に含まれる WHERE 句での検索もブロックされ,これはブロックされない SELECT による検索とは別扱いになる。 但し UPDATE 文の WHERE 句上で,更新対象をサブクエリの SELECT から自己参照している場合は例外。トランザクション分離

                                                        WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました! - Qiita
                                                      • GitHub - docker/awesome-compose: Awesome Docker Compose samples

                                                        Icon indicates Sample is compatible with Docker Dev Environments in Docker Desktop version 4.10 or later. Icon indicates Sample is compatible with Docker+Wasm. ASP.NET / MS-SQL - Sample ASP.NET core application with MS SQL server database. Elasticsearch / Logstash / Kibana - Sample Elasticsearch, Logstash, and Kibana stack. Go / NGINX / MySQL - Sample Go application with an Nginx proxy and a MySQL

                                                          GitHub - docker/awesome-compose: Awesome Docker Compose samples
                                                        • Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run

                                                          KOBA789 です。みなさん DBMS は好きですか。私は好きです。 最近、自作 DBMS をずっと作っていて、ようやく最低限の機能ができたので公開をしました。 (とはいえコードを書いていたのは正味2日ほど。設計と勉強に2週間かかった) github.com この記事ではこれを作った目的と、そのちょっとした詳細についてご紹介します。 目的 Disk-Oriented DBMS の学習に適している Rust で書かれた実装が欲しかった、というのが理由です。 DBMS の勉強に適している実装というのは意外と多くありません。 MySQL や PostgreSQL といった有名な実装は実用的である一方でコード量は非常に多く、また細かな最適化によって教科書的なアルゴリズムと実際のコードの差が大きくなっているため、初学者にとっては構造を把握しづらくなっています。 教科書的な実装の Disk-Orie

                                                            Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run
                                                          • GoodBye Linux : the next OS

                                                            The server operating system has not changed in 50 yearsOur current server operating systems have not changed in 50 years and do not reflect modern day concerns for managing servers and cyber-security.Still built for multiple users to run multiple programs, leaving large spaces open for targeted cyber attacks. The future is unikernelsA unikernel is an application that has been boiled down to a smal

                                                              GoodBye Linux : the next OS
                                                            • Rails appをRubyコードの改善だけで50%以上高速にした話 - Money Forward Developers Blog

                                                              この記事は Money Forward Engineering 2 Advent Calendar 2022 18日目の投稿です。 こんにちは。マネーフォワード関西開発拠点でマネーフォワード クラウド会計Plus (以下会計Plus)のエンジニアをしているぽっけです。 この記事では、私が行った高速化について紹介します。 私は最近Railsアプリケーションの高速化を行っており、ある画面のレスポンスタイムを50%以上削減しました。そしてこの改善はRubyレベルの変更のみで達成しました。 この記事での「Rubyレベルの変更のみ」は、MySQLやRedis、Web APIなどへのアクセスには全く手を入れず、Rubyのプロセスが消費する時間のみを変更した、ということを意図しています。 MySQLなどへのアクセスは通常ボトルネックになりがちな箇所です。今回そこに手を入れずに高速化を達成できたのは、1つ

                                                                Rails appをRubyコードの改善だけで50%以上高速にした話 - Money Forward Developers Blog
                                                              • データベースをリファクタリングしたお話 - BASEプロダクトチームブログ

                                                                基盤チーム所属の沖中( @okinaka )です。 「リファクタリング」という言葉、エンジニアのみなさんならご存知でしょう。 システムの振る舞いを変えずに内部を改善することを指す言葉です。 一般的に、コードの修正を指すことがほとんどですが、今回はデータベース設計のリファクタリングについてお話ししたいと思います。 絶版になってしまいましたが、データベース・リファクタリング という書籍に様々な手法が紹介されていて参考になります。英語で良ければ 原書 はまだ入手可能ですね。 データベース・リファクタリング 作者:スコット W アンブラー,ピラモド・サダラージ発売日: 2008/03/26メディア: 単行本 Refactoring Databases: Evolutionary Database Design (Addison-Wesley Signature Series (Fowler)) (

                                                                  データベースをリファクタリングしたお話 - BASEプロダクトチームブログ
                                                                • なぜリモートでも完全にペアプロで開発するのか? XPのプラクティスをどこまでも徹底するユーザベースの挑戦を恐れない開発文化 - はてなニュース

                                                                  ステイホーム期間が続き、開発者がオフィスで顔を突き合わせることも少なくなっています。そんなリモートワークが既定となった状況下でも、ユーザベースのB2B SaaS事業では開発に関わる全てを徹底してペアプログラミングで行っています。 その根幹には、XP(eXtreme Programming)のプロセスを推進することで開発効率を向上させる意図があり、それが多種多様なプログラミング言語やマイクロフロントエンドといった目新しい技術を恐れることなく積極的に採用する開発文化を生み、ひいてはシェアドリーダーシップによる自己組織化されたチームのあり方につながっています。 わずか10人程度だったエンジニア組織を4年で10倍の規模に拡大し、さらに組織と事業の成長を目指すCTOの林尚之さん、スペシャリストとしてFellowの肩書を持つ板倉大輔さん、入社2年目のエンジニア片山景太さんの3人にお話をうかがいました。

                                                                    なぜリモートでも完全にペアプロで開発するのか? XPのプラクティスをどこまでも徹底するユーザベースの挑戦を恐れない開発文化 - はてなニュース
                                                                  • 書き込みがあるワークロードにおける ZOZOTOWN マルチクラウド構想とその検討停止について - Qiita

                                                                    この記事はZOZOテクノロジーズ #1 Advent Calendar 2019 23日目の記事です。 昨日の記事は弊チームの inductor による「GKEの内部負荷分散機能を使ってInternal Load Balancerを構築する」でした。面倒で困っているのでGCP様にはなんとかして欲しいものです さて本記事では、残念ながら本番運用には至らなかったのですが、私がここ暫くMLOps業の裏でやっていた「書き込みがあるワークロードにおける ZOZOTOWN マルチクラウド構想」の検討結果について供養のつもりで記そうと思います。 なお、今年は弊社では全部で5つのAdvent Calendarが公開されています。 ZOZOテクノロジーズ #1 Advent Calendar 2019 ZOZOテクノロジーズ #2 Advent Calendar 2019 ZOZOテクノロジーズ #3 Ad

                                                                      書き込みがあるワークロードにおける ZOZOTOWN マルチクラウド構想とその検討停止について - Qiita
                                                                    • アーキテクトがチェックすべきオープンソースのWebサービス一覧

                                                                      実装の参考の当たり 前口上: オープンソースの実装を読もう 普段Web開発をしているとこの書き方は普通か、実装の方向性はよさそうか不安になることがあります。そういった際、同じリポジトリの既存実装や会社の他のリポジトリ、技術ブログや本、過去の経験、他のメンバーの意見などを参考にしつつ当たりをつけるわけですが、リファレンスが増えるに越したことはないです。 有名な言語、フレームワークではオープンソースのWebサービスがGitHub、GitLab上などにあがっていることがあり、参考になります。 それぞれライセンスがあり、とりわけGPL汚染などは要注意ですが、収集した一覧が溜まってきたのでまとめておきます。ある程度有名なものメインでスクリプト言語+Go。 Ruby Ruby on Railsは有名なので採用しているWebサービスが多数あります。 Redmine イシュー、プロジェクト管理ソフトのRe

                                                                        アーキテクトがチェックすべきオープンソースのWebサービス一覧
                                                                      • Redis Explained

                                                                        Redis Explained InfographicWhat is Redis?Redis (“REmote DIctionary Service”) is an open-source key-value database server. The most accurate description of Redis is that it's a data structure server. This specific nature of Redis has led to much of its popularity and adoption amongst developers. 👋🏾You are reading Architecture Notes! Crave some byte-sized bites of this? Join me on Twitter. If it's

                                                                          Redis Explained
                                                                        • 次世代データベース TiDB の検証とその評価 [DeNA インフラ SRE] | BLOG - DeNA Engineering

                                                                          ※こちらは先日実施された DeNA インフラエンジニア / SRE MEETUP で話した内容を Blog 記事化したものです! こんにちは!IT基盤部の熊谷です。IT基盤部にて大規模ゲームのインフラを見ている 新卒2年目のインフラエンジニアです。この記事では “DeNA でのデータベース運用とそのツラミ” と、“TiDB導入への検証・検討” をご紹介させていただきます。 データベースの最適解 DeNA のデータベース構成は最適解を求めて改良を積み重ねてきました。最初期の構成、(便宜上、第1世代と呼びます) では VM Instance 上に MySQL を構築し管理する MySQL on EC2 構成。続く第2世代では、マネージドサービスを駆使した Aurora MySQL 構成。この2世代の中で生じた “ツラミ” を解消する次の世代、言わば 第3世代に該当する新しいデータベース構成を現

                                                                            次世代データベース TiDB の検証とその評価 [DeNA インフラ SRE] | BLOG - DeNA Engineering
                                                                          • 踏み台にはECSコンテナを。~ログイン有無を検知して自動停止させる~ - NRIネットコムBlog

                                                                            こんにちは、後藤です。今回はAWS構成における踏み台についての記事です。 データベースなどのインターネットに繋げたくないリソースに踏み台リソース経由でアクセスさせることは、セキュリティ設計としてよくある構成だと思います。 今回はその踏み台リソースに「ユーザーログイン有無を検知して自動停止する」ロジックを組み込んだ方法を共有します。 また、一般的によく用いられるのはEC2だと思いますが、今回はECS on Fargate(以降はFargateと略)を使います。しかも自動停止ロジックにLambdaを使いません!!コンテナの中で完結させます。 踏み台を設計する時に気になること そもそも踏み台について設計する際に何が気になるのでしょうか。それはOS管理負担と自動停止です。 踏み台にEC2を用いるとOSパッチ適用などの運用コストが発生します。業務系サーバでないのに心労が重なるのはなるべく避けたいとこ

                                                                              踏み台にはECSコンテナを。~ログイン有無を検知して自動停止させる~ - NRIネットコムBlog
                                                                            • Python初心者から2年間で読んだ中でオススメの技術書35冊を読むべき順番に並べた - 仮想サーファーの日常

                                                                              Pythonの学習を始めて3年間でたくさんの技術書を読んできましたが、自分の技術力のレベルによって読みたい本が変わってしまうので、どの技術書を読めばいいのかがわからなくて本選びに相当な時間をかけたと思います。 今回は、これからプログラミング言語Pythonを学習しようとしている方、Pythonの基礎は勉強したけどもっと踏み込んで学びたい方向けに、ぼくが読んだPythonの技術書の中でこれは読んでよかった!という本を読みたい順番に紹介していきます。 この記事の対象読者 未経験からPythonを学習しようとしていて、どの技術書で学習を進めるべきか悩んでいる方 Pythonは少し学習したことあるけど、実践的なWebアプリケーションを開発するときに参考になる技術書を知りたい方 Pythonを活用したWebアプリケーションエンジニアになるために必要な知識やスキルを知りたい方 Pythonエンジニアと

                                                                                Python初心者から2年間で読んだ中でオススメの技術書35冊を読むべき順番に並べた - 仮想サーファーの日常
                                                                              • 業務で使うツール(iTerm2,SequelPro,Chrome)をShellScriptでハイパーテクニックする - ハイパーマッスルエンジニア

                                                                                業務で使うツール(iTerm2,SequelPro,Chrome)を ShellScriptでハイパーテクニックする はじめに この記事は今年イチ!お勧めしたいテクニック by ゆめみ feat.やめ太郎 Advent Calendar 2019の20日目の記事です。 今年は「お勧めテクニック」ということで、業務効率化ッ!!を盾に業務時間の30%はShellScript遊びに当てている私にピッタリな企画ですね、ありがとうございます。 今回は業務でよく使うツールを、ShellScriptでハイパーテクニックする方法をいくつかご紹介。 今回紹介するコードは全部Githubにあげているので実際に試したい人はどうぞ。 ハイパーテクニックする対象 GoogleChrome iTerm2 SequelPro GoogleChrome ブラウザに移動せずTerminalで自在にタブ移動する Web開発を

                                                                                  業務で使うツール(iTerm2,SequelPro,Chrome)をShellScriptでハイパーテクニックする - ハイパーマッスルエンジニア
                                                                                • スタートアップの小規模Webサービスのリアルな技術スタック - Qiita

                                                                                  はじめに プレースホルダというスタートアップのWebエンジニア兼マネージャーのAkahoriです。 弊社はエンジニアは10人以上いるものの、Webエンジニアは私含め3人ほどです。 3人のWebチームで、どのような理由で、どのような技術を使っているか、苦労している点などを共有します。 サービス概要 先月、リトルスパークというサービスをリリースしました。 子ども向けの、オンラインでの習い事プラットフォームで、先生と生徒をマッチングしています。 技術的にはいくつかの特徴を持ち、今回サンプルとして解説します。 授業はライブ授業のみで、お互いにZoomで行います。 ZoomのIDは弊社で管理し、先生側、生徒側、双方が参加ボタン1つで参加できるようになっています。 コース登録(審査有り)や日程登録、プロフィール更新などは全て先生が行うため、その仕組みがあります。 言語・フレームワーク・ライブラリ サー

                                                                                    スタートアップの小規模Webサービスのリアルな技術スタック - Qiita