並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 23 件 / 23件

新着順 人気順

sqlの検索結果1 - 23 件 / 23件

  • 大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』 - ZOZO TECH BLOG

    こんにちは。MA部の田島です。 弊社では開発ガイドラインというものを用いて、システムの品質を担保しています。今回私がテックリードを務めているということもあり、バッチアプリケーションを開発するためのガイドラインを作成しました。本記事では「開発ガイドライン」と「バッチ開発ガイドライン」を紹介します。 バッチアプリケーション開発に限定したTipsはまとまっているものが多くないため参考にしていただければと思います。 開発ガイドラインについての紹介 冒頭でも紹介した通り弊社では、開発ガイドラインというものを用いてシステムの品質を担保しています。バッチ開発ガイドラインを紹介する前に、まず開発ガイドラインを紹介します。 開発ガイドラインの種類 開発ガイドラインは現在、以下の種類が存在します。 共通 Android iOS Frontend Backend Infra API Batch DB(Datab

      大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』 - ZOZO TECH BLOG
    • 働いてみないとわかりにくいIT業界の構造 SI系・プロダクト系それぞれで異なる“求められる能力”と“キャリアパス”

      働いてみないとわかりにくいIT業界の構造 SI系・プロダクト系それぞれで異なる“求められる能力”と“キャリアパス” 総工費4億円のラボから生中継!CTOが語る、これからのエンジニアに求められる技術 #1/3 ウイングアーク1st・CTO 島澤甲氏 島澤甲氏:みなさんこんにちは。私はウイングアークでCTOをしている、島澤と申します。このセッションでは、これから技術者を目指されているみなさんに対してなにかヒントになるようなものを伝えられたらいいかなと思っています。 (スライドを示して)まずウイングアークですが、私たちは、帳票やBIと呼ばれるところでトップシェアを占めています。今日は、「このセッションは会社の宣伝をしなくてもいいよね」という話をしたら「別にかまわん」ということだったので、会社の宣伝はもうしません。気になる方はちょっとホームページを見てもらえればと思います。業績などもありますが、順

        働いてみないとわかりにくいIT業界の構造 SI系・プロダクト系それぞれで異なる“求められる能力”と“キャリアパス”
      • 2024年度のサイバーエージェント新卒社内研修で「データベースの歴史」の話をしました | CyberAgent Developers Blog

        こんにちは。 AI事業本部の協業リテールメディアdivでバックエンドエンジニアをしている yassun7010 といいます。 先日、 AI 事業本部の新人研修で「データアプリケーション」の講師を同じチームの 千葉 と担当しました。 今回の記事では、主に私が担当した「データベースの歴史」の章の講義資料を公開し、資料を作成する際に考えていたこと・伝えたかったことを話します。 「データベースの歴史」で説明されている内容は、AI事業本部の新卒研修で毎年取り上げられているものです。こういった研修の資料は、同じテーマであっても講師をする人の好みが反映されやすく、今年の資料も先人が作られた昨年の資料を参考にしつつ、私が好きな話題を多く取り入れたものに仕上がりました。 SlideShare でも公開しています。 今年の構成は、データベースを RDS・NoSQL・NewSQL として分け、下記のような構成を

          2024年度のサイバーエージェント新卒社内研修で「データベースの歴史」の話をしました | CyberAgent Developers Blog
        • クラウド時代のデータベースを理解するために①

          最近、分散データベースとかNewSQLとかサーバレスなデータベースとか色々聞きますよね。 でも、専門ではない人たちにとって、「何が違うの?」「自分たちに必要なDBはどれなの?」という点が分かりづらいと思います。 私も良く聞かれます。 AuroraはNewSQLですか? NewSQLってサーバレスなんですか? スケールできないDBとか聞きますけど、リードレプリカ増やせますよね? などなど。この辺に基本的なところから答えられるように、順を追って解説していきましょう。 「コンピュートとストレージは別であれ」 と神が言うと、コンピュートとストレージは分離された。 と言うのは冗談ですが、まずはここからスタートしましょう。 クラウド以前のデータベースを使っていた人にはお馴染みのように、それまでデータベースは大きな1つの箱でした。 過去に私は下図でデータベース(厳密にはRDBMS)のコンポーネントを解説

            クラウド時代のデータベースを理解するために①
          • 【2024年度】エンジニア向け研修資料まとめ - Qiita

            はじめに 本記事では無料で公開されている企業のエンジニア向け研修資料をまとめました。 近年では、多くの企業が新人向けの研修資料を公開しています。これらの資料は内容が充実しており、初心者から中級者まで幅広いレベルの学びを得ることができます。さらに、資料の作り方も参考になるため、勉強会で発表する人や企業の研修担当者にとっても貴重な情報源となっています。 本記事では様々な企業のエンジニア向け研修資料をまとめましたので、ぜひ参考にしてみてください! 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 この記事の主な対象者 有名企業の研修資料を幅広く確認したい方 エンジニアとして初級から中級レベルの方 独学で学んでいる方 今後研修資料

              【2024年度】エンジニア向け研修資料まとめ - Qiita
            • エンジニアのための十徳ナイフ「DevToys」がバージョン2になってクロスプラットフォームやCLI対応しさらに便利すぎる - Qiita

              はじめに 以前紹介させていただき、2022年Qiitaのいいねランキング18位、ストックランキング20位を記録したこちらの記事の続編です! DevToysはリリース後しばらく定期的なバージョンアップが続けられていましたが、去年の7月からぱったりとアップデートが止まっている状態でした。 リポジトリや作者のXを見るとバージョン2の開発を行っているようで、今か今かと待ち続けていましたが数日前リリース予告のポストを見つけて、今日ついにプレリリースされました! ということで早速紹介していきます! DevToysとは DevToysは「開発者のためのスイスアーミーナイフ」の紹介文の通り、開発時によく使うツールを十徳ナイフのようにまとめたアプリとなっています。 JSONの整形とかエンコードデコードetc... プログラミングや保守運用の調査でやりがちな作業をいちいち変換サイトを探したり、エディター拡張機

                エンジニアのための十徳ナイフ「DevToys」がバージョン2になってクロスプラットフォームやCLI対応しさらに便利すぎる - Qiita
              • MySQL/Aurora/TiDBロック入門 – 第1回トランザクション分離レベル|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                MySQL/Aurora/TiDBロック入門 – 第1回トランザクション分離レベル MySQL InnoDB および AWS Aurora や PingCAP TiDB におけるロックの仕組みやトランザクションの動作を全11回のシリーズで解説します! 最初はベースとして重要な MySQL 8.0 InnoDB 前提でユーザー視点でのロックの仕組みを学び、後半第10回以降では MySQL 互換 DB として人気の高い AWS Aurora や PingCAP TiDB と MySQL InnoDB との違いについて学びます。 1回目の今回はロック機構と切っても切り離せないトランザクションとその分離レベルについて、実際に挙動を確かめながら解説します。ライブ感のある説明も理解に役立ちますので、解説動画も付けてみました。合わせてご覧ください! ★ 第1回 トランザクション分離レベル ★ 第2回 ロ

                  MySQL/Aurora/TiDBロック入門 – 第1回トランザクション分離レベル|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                • explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ

                  はじめに こんにちは、バックエンドエンジニアのSakiです!バックエンドでPHPを書いたり、PHPという言語そのもののメンテナーもしています。 この度、注文データダウンロードAppのパフォーマンスをアップさせるため、とても入念にデータベースまわりの処理を見直しました。その中でも特に速度に関わってくる「index」についての考え方をまとめたいと思います。 この記事はMySQL(InnoDB)についての記事であり、他のRDBについては当てはまらない場合もあるということにご注意ください。 indexとは何か、おさらい ご存知の方ももちろん多いと思いますが、indexについておさらいさせてください。 indexとは辞書でいうところの目次に相当するもので、目的のデータをいち早く検索するために重要なものです。もし辞書に目次が存在しなかった場合、目的の情報を探すのにとても苦労するだろうというのは想像しや

                    explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ
                  • すべてのコードやライブラリ自体が技術的負債である / 高利率な技術と低利率な技術 - Lambdaカクテル

                    技術的負債という言葉がある。もともとは、「楽するために導入したが、メンテにコストがかかるようになってしまった技術や構成」くらいの意味合いで使われているように思う。しかし、そもそも全部が負債ではないか、というのがこのメモの趣旨である。 負債 同僚とSlackで会話していると、「けっきょくどの言語を利用しても負債になるときはなるし、大抵負債になる」といった話になった。言われてみればそうで、基本的にコードというものは書いたそばから負債になっていく。去年書いたコードのことも思い出せない。 そんな中で思ったのだが、そもそも、負債になるコードと負債にならないコードとがあったり、技術が「負債化する」のではなく、コードや技術そのものが負債なのではないか。そして、どの言語で書こうが負債からは逃れることができない。負債にならないコードは存在しない。ゆえに、コードや技術は無ければ無いほど良い、ということになる。

                      すべてのコードやライブラリ自体が技術的負債である / 高利率な技術と低利率な技術 - Lambdaカクテル
                    • 身近なBtoCサービスを支えるアーキテクチャ大解剖 技術選定のポイントと今後の展望 - Findy Tools

                      公開日 2024/06/18更新日 2024/06/18身近なBtoCサービスを支えるアーキテクチャ大解剖 技術選定のポイントと今後の展望 多くのIT企業では、ユーザーに対してより高品質で安定した体験を提供するために、システムアーキテクチャを進化させ続けています。 本特集では、日常生活の中で多くのユーザーに利用されているサービスのアーキテクチャ設計に携わるエンジニアの方々から、技術選定の背景や意図、そして現在のアーキテクチャの課題から未来への展望まで、詳しく伺いました。この記事を通じて、各企業のエンジニアたちがどのように技術的な課題を克服し、システムの柔軟性と効率を高めているのか、知見を得ていただければ幸いです。 ※ご紹介は企業名のアルファベット順となっております アソビュー株式会社 アソビュー株式会社では「遊び」という領域に対し、マーケットプレイス型EC「アソビュー!」やD2C型SaaS

                        身近なBtoCサービスを支えるアーキテクチャ大解剖 技術選定のポイントと今後の展望 - Findy Tools
                      • PostgreSQLを生成AIの情報源として使える高速ベクトルデータベース化拡張「Pgvectorscale」がオープンソースで公開。Pgvectorをさらに高性能化

                        PostgreSQLのマネージドサービスなどを提供しているTimescaleは、PostgreSQLで高速なベクトルデータベース機能を実現する拡張機能「Pgvectorcale」をオープンソースとして公開したことを発表しました。 大規模言語モデルを用いた生成AIの注目度が高まる中で、文章や画像、音声といったデータの特徴を数値で表現するベクトル化(もしくはエンベディング)により、大規模言語モデルで扱えるようにすることへの注目も高まってきています。 ベクトルデータベースは、このベクトル化された膨大なデータの保存や類似度の検索などが可能です。 例えば、RAG(Retrieval Augmented Generation)と呼ばれる手法により大規模言語モデルの回答に外部のデータベースから取得したデータを組み込むことができます。こうした場面でベクトルデータベースが活用されます。 高速ベクトルデータベ

                          PostgreSQLを生成AIの情報源として使える高速ベクトルデータベース化拡張「Pgvectorscale」がオープンソースで公開。Pgvectorをさらに高性能化
                        • MySQL8.0でSELECT COUNT(*)が低速になる動作は8.0.37で解消されていた! - CyberAgent SRG #ca_srg

                          メディア統括本部 サービスリライアビリティグループ(SRG)の鬼海雄太(@fat47)です。 #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。 本記事は、MySQ

                            MySQL8.0でSELECT COUNT(*)が低速になる動作は8.0.37で解消されていた! - CyberAgent SRG #ca_srg
                          • Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表

                            Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表 式言語とは一般に、プログラミング言語の一部やネットワークなどの構成ファイル、テンプレートファイルなどの中で、簡易な式やロジック、ポリシーなどを記述する際に使われる言語のことです。 こうした用途では、さまざまなプラットフォームに対応する移植性、起動時やプログラムの実行中に評価されることがあることから高速に評価が完了すること、安全に評価が実行できること、用途に応じて拡張しやすいこと、などが求められます。 CELは超高速に評価、ポータブル、サブセットサポート CELは正にこうした要件に対応した式言語となっており、Googleは次のような特徴があるとしています。 ナノ秒からマイクロ秒程度の高速な評価に最適化されている C++、Java、Goでサポートされるスタックによるポータブ

                              Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表
                            • RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応)

                              結論 お手軽モノリスならAutoIncrementが効率的だしこれでいいよ アプリケーション側で主キーを生成したい場合はLUIDを作る必要があるよ。GUIDで大は小を兼ねよう 主キーでGUIDを使うならULIDよりもUUIDv7がおすすめだよ ただし分散されているエンジンによってはUUIDv4の方が効率的になる場合もあるよ 主キーは原則公開しない方がいいよ UUIDv7やULIDはユニーク性を持ったInstant(timestamp)としても使えるよ 分散されたシステムでは厳密な時系列性を担保することはできないよ、あきらめてロックをかけつつ連番を一か所で生成しよう RDBのPrimary Key(主キー)とは? MySQL、PostgresQLなどのRDBでは各レコードを識別するために一意な値を必要とします。これをPrimary Key(主キー)と呼びます。別のカラムにUNIQUEなInd

                                RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応)
                              • UUIDv7 in 31 languages

                                UUIDv7 is a 128-bit unique identifier like it's older siblings, such as the widely used UUIDv4. But unlike v4, UUIDv7 is time-sortable with 1 ms precision. By combining the timestamp and the random parts, UUIDv7 becomes an excellent choice for record identifiers in databases, including distributed ones. Let's briefly explore the UUIDv7 structure and move on to the zero-dependency implementations i

                                  UUIDv7 in 31 languages
                                • エンジニア以外でもSQLを使いこなす社内勉強会の取り組み - Qiita

                                  概要 CBcloudでは、各部署のKPIをモニターし、業務改善に必要なデータを可視化するために、Metabaseを活用しています。データに基づいた意思決定を迅速に行い、業務効率を高めることができます。 しかし、データの抽出や可視化においては、エンジニアのサポートが必要とされる場面が多く、迅速に対応することが難しい場面も多々あります。そこで、私たちはエンジニア以外の社員が自ら必要なデータを抽出できるようになることを目指し社内でSQL勉強会を開催したいな〜と思っていたところ、社内からGASやSQL学びたい!という声が!!! ということでSQL勉強会を @aipacommander と共に開催する事になりました!開催は発起人のパートナーズサクセス本部I.A氏を中心に進めてもらっています。いつもありがとうございます! 前提 CBcloudは物流ラストワンマイルの配送プラットフォーム「ピックゴー」を

                                    エンジニア以外でもSQLを使いこなす社内勉強会の取り組み - Qiita
                                  • 運用終了したページがSQLインジェクション攻撃を受けた事案についてまとめてみた - piyolog

                                    2024年5月24日、積水ハウスは同社が運用する住宅購入者向けの会員制Webサイトがサイバー攻撃を受け、顧客情報などが流出したと公表しました。ここでは関連する情報をまとめます。 被害ページは運用終了から13年公開継続 不正アクセスの被害にあったのは、積水ハウスが戸建てやマンションの住宅購入者向けに提供している会員制サイト「積水ハウスNetオーナーズクラブ」。同サイト上で過去に使用していたページが残っており、このページが攻撃を受け登録者の情報などが流出した。 攻撃を受けたページは2008年から2011年の4年間、フォトギャラリーとして使用していたもの。当該ページの状況について、同社の広報担当者は当該ページへの動線は存在しないこと、検索エンジンにも引っかからないことより、URLを直接入力しないと接続できない状況にあったと取材に説明。アクセス自体が可能な状態と認識はあったが、使用していないことか

                                      運用終了したページがSQLインジェクション攻撃を受けた事案についてまとめてみた - piyolog
                                    • Software Design 2024年5月号 連載「レガシーシステム攻略のプロセス」第1回 ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計 - ZOZO TECH BLOG

                                      はじめに 技術評論社様より発刊されているSoftware Designの2024年5月号より「レガシーシステム攻略のプロセス」と題した全8回の連載が始まりました。 本連載では、ZOZOTOWNリプレイスプロジェクトについて紹介します。2017年に始まったリプレイスプロジェクトにおいて、ZOZO がどのような意図で、どのように取り組んできたのか、読者のみなさんに有益な情報をお伝えしていければと思いますので、ご期待ください。第1回目のテーマは、「ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計」です。 目次 はじめに 目次 ZOZOTOWNリプレイスの背景、目的 背景 目的 柔軟なシステム 開発生産性 技術のモダン化 採用強化 ZOZOTOWNリプレイスの歴史とアーキテクチャの変遷 アーキテクチャの変遷 2004年〜2017年:オンプレミス(リプレイス前) 2017年〜20

                                        Software Design 2024年5月号 連載「レガシーシステム攻略のプロセス」第1回 ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計 - ZOZO TECH BLOG
                                      • 2024年度 サイバーエージェント新卒社内研修の「データモデリング」の資料公開 | CyberAgent Developers Blog

                                        協業リテールメディアdivでデータエンジニアをしている千葉です。 本日は、先日弊社内で実施をしたAI事業本部 新人研修の一部である「データモデリング」について記載をします。 同じく講師として登壇をした yassun7010 も「データベースの歴史」について、ブログとして公開をしているため、合わせて見ていただけると嬉しいです。 ※今回の記事作成に合わせて一部加筆修正をしています。 基幹系と情報系 今回の研修では、データモデリングを扱うシステムを 基幹系 情報系 に分けて説明をしています。 というのも基幹系と情報系では、そもそもデータの扱われ方やシステムの特性が異なります。 基幹系システムではOLTPと呼ばれる処理システムになっており、オンラインでかつリアルタイムにデータを追加更新します。そのため、重要となってくるのが多くのトランザクション(処理数)を正確にさばくことです。代表例としては銀行の

                                          2024年度 サイバーエージェント新卒社内研修の「データモデリング」の資料公開 | CyberAgent Developers Blog
                                        • [小ネタ] SQLの GROUP BY / ORDER BY には数字 (1, 2...) を指定しよう - Qiita

                                          -------------------------------------------------------- -- users テーブルについて、部署・役職・作成日ごとに件数を集計する -- (MySQL用) -------------------------------------------------------- SELECT u.department_code `部署コード`, u.role_code `役職コード`, DATE_FORMAT(u.created_at, '%Y-%m-%d') `作成日`, COUNT(*) `人数` FROM users u GROUP BY u.department_code, u.role_code, DATE_FORMAT(u.created_at, '%Y-%m-%d') ORDER BY u.department_code ASC

                                            [小ネタ] SQLの GROUP BY / ORDER BY には数字 (1, 2...) を指定しよう - Qiita
                                          • メルカリ ハロの技術スタックとその選定理由 | メルカリエンジニアリング

                                            こんにちは。メルカリ ハロのSoftware Engineer (Engineering Head)の@napoliです。連載:Mercari Hallo, world! -メルカリ ハロ 開発の裏側-の2回目を担当させていただきます。 2024年3月上旬にメルカリ ハロという新しいサービスが公開されました。メルカリ ハロは好きな時間に最短1時間から働ける「空き時間おしごとアプリ」です。 この記事ではメルカリ ハロを作るにあたり、どういった技術スタックやアーキテクチャを選定したのか、さらにその背景と意思決定をご紹介したいと思います。 この記事で得られること メルカリ ハロで採用されている技術スタックやアーキテクチャの全体像 その意思決定の理由とプロセス これから新規サービスを立ち上げるうえでのヒント 主な技術スタック メルカリ ハロで利用されている主な技術スタックは以下のとおりです。 バッ

                                              メルカリ ハロの技術スタックとその選定理由 | メルカリエンジニアリング
                                            • 大規模サービスのローンチに向け、パフォーマンスチューニングした話 #go #aws

                                              背景 こんにちは!Hanoi Dev Centerでバックエンドエンジニアをしているminhquangです。この記事では、私がAI事業本部のある新規プロダクト開発に参画した際に経験したパフォーマンスチューニングについて話したいと思います。 皆さんはサービスのローンチ(サービスを世の中に初めて出すリリース)をやったことがありますか。サービスローンチするときに、リクエストのスパイクや、ユーザー数の増加によるサーバー負荷増加など、様々な未知な課題が存在します。 私のチームでは数百万人の利用が見込まれるサービスにおいて、18000RPSを実現するべく負荷試験とパフォーマンスチューニングを実施しました。 本記事では、上記のサービス要件を満たすために私たちが取り組んだ負荷試験やパフォーマンスチューニングについて説明しつつ、これらの経験から得られた学びを共有したいと思います。 前提 技術スタック サーバ

                                                大規模サービスのローンチに向け、パフォーマンスチューニングした話 #go #aws
                                              • 社内文書検索&QAシステムの RAG ではないところ - Algomatic Tech Blog

                                                こんにちは。NEO(x) 機械学習エンジニアの宮脇(@catshun_)です。 RAG システムの開発、いざ業務に統合するとなると結構大変ですよね。 構築してみたがユーザ数が伸びず、、なんてことはよくあると思います。 実際こんな記事も話題になりましたね。 本記事では、コラムとして RAG システムの設計で考慮したい点を自戒を込めて記述したいと思います。 誤っている記述等もあると思いますが、本記事を読んだ方の議論のネタになってくれれば幸いです。 また Retrieval-based LM の技術的な話は、以下で触れておりますので併せてご覧ください。 RAG とは RAG (Retrieval-Augmented Generation) とは、社内文書・長期記憶に該当する対話履歴・API 仕様書などの 外部知識資源 を、言語モデルが扱えるよう入力系列に挿入する手法です。もともと Lewis+'

                                                  社内文書検索&QAシステムの RAG ではないところ - Algomatic Tech Blog
                                                1