並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 91件

新着順 人気順

sqlの検索結果1 - 40 件 / 91件

  • 「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita

    Webサービスのフォームに住所を入力するとき、丁目や番地などを入れる欄について、数字やハイフンを全角で書かなければいけない「全角縛り」をやっているフォームをよく見ます。半角文字を入力してしまってエラーになったり、咄嗟に変換方法を思い出せなかったり、全角と半角の見分けが付きづらかったり、「全角縛り」であることが明示されていなかったり、「ハイフン」としてどの文字を使うべきかわからなかったり……と、鬱陶しさを感じることが多くあります。 「住所は全角のみ」(数字やハイフンも絶対に半角を受け付けない)という仕様がどういう経緯で生まれて、どう広まっていったのかが気になってる。いま存在しているのは過去の仕様や慣習の踏襲として理解できても、そもそもなぜそれらが生まれたのかが理解できない。 https://t.co/ZLz0Pw9GOK — ymrl (@ymrl) July 29, 2024 これについて

      「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita
    • Looker Studioの魅力と便利な使い方を紹介します - yasuhisa's blog

      初めて使ったBIツールはLooker Studioのid:syou6162です。これまでTableau / Looker(≠ Looker Studio) / Metabase / Redash / Connected Sheetsなど色々なBIツールを触ってきましたが、不満は色々ありつつも個人的に一番しっくりきて愛着があるのはLooker Studioです。このエントリでは、その魅力と便利な使い方や注意点について書きます。例によって、社内勉強会向けの内容を外向けに公開しているため、内容の網羅性などは特に担保していないことにご注意ください。 Looker Studioの魅力 利用のハードルが限りなく低い & Google Workspaceとの連携が便利 複雑過ぎることができないので、諦めが付けやすい ちゃんとBIツールになっている Looker Studioの便利な使い方 多様なデータソ

        Looker Studioの魅力と便利な使い方を紹介します - yasuhisa's blog
      • 独力でWebサービスを開発・構築できるフルスタックエンジニアへのロードマップ─幅広いスキルを「Udemy夏のビッグセール」で学ぶ! - はてなニュース

        Webで新規サービスを立ち上げる際に、UIからインフラ周りまで一人で面倒を見られるエンジニアは、少人数のスタートアップでなくとも非常に頼れる存在です。どんな課題に直面しても技術力で乗り越える、そんなスキルフルなエンジニアに憧れる方も多いでしょう。 この記事では、フロントエンドのプログラミング(JavaScript周辺)からサーバーサイド、インフラ、さらに開発手法まで、Web開発で必要になるさまざまなレイヤーのフルスタックなスキルの現在地と、関連するUdemyの講座を紹介します。 株式会社ヘンリーでVPoEを務める松木雅幸(@songmu)さんの執筆です。 フルスタックエンジニアに必要なスキル さまざまな講座でまとめて学習してみよう Udemyでは夏のビッグセールを開催中! ※この記事は、株式会社ベネッセコーポレーションによるタイアップ広告です。記事末に、はてなブックマークした方にAmazo

          独力でWebサービスを開発・構築できるフルスタックエンジニアへのロードマップ─幅広いスキルを「Udemy夏のビッグセール」で学ぶ! - はてなニュース
        • 【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識

          概要 4年ほどProductionで使っていたリッチテキストエディタ(Quill on Nuxt.js v2)をTiptap on Next.jsに移行しました。 既存のQuillエディタの使い勝手をTiptapで再現しつつ、改善できるところは改善しつつ、既存の4年分のリッチテキストデータが正しく編集できるようにしなければいけませんでした。 本記事では移行の具体的なプロセスを解説しようと思っていたのですが、リッチテキストエディタは前提知識があまりに多いため、前提となる知識や考え方を解説しているだけでそこそこのボリュームになりました。そこで、一旦考え方や前提知識をまとめた、という体で公開します。 本記事を読んでから各ライブラリのDocsを読んだりカスタマイズを始めたら、少しハードルが下がっていることかと思います。 対象読者の例 リッチテキストエディタに興味がある リッチテキストエディタの開発

            【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識
          • NATゲートウェイの通信内容を調査して対策し、コストを約60%削減した話 - ZOZO TECH BLOG

            はじめに こんにちは。WEARバックエンド部SREブロックの春日です。普段はWEARというサービスのSREとして開発・運用に携わっています。本記事では、約60%のコスト削減に成功したNATゲートウェイの通信内容の調査方法と通信量の削減方法についてご紹介します。 目次 はじめに 目次 背景 コストの把握 NATゲートウェイの通信内容の把握 CloudWatchメトリクスでの確認 VPCフローログでの確認 リゾルバーでのクエリログでの確認 調査結果をもとにNATゲートウェイ経由での通信量を削減する AWSサービスとの通信 Datadogとの通信 WEARのAPIとの通信 ECRパブリックリポジトリとの通信 結果 まとめ 背景 ZOZOではより効果的な成長を目指してコストの最適化を進めています。コストの増大はサービスの拡大を鈍化させる原因となるため、常に最適な状態に保つことが必要です。WEARで

              NATゲートウェイの通信内容を調査して対策し、コストを約60%削減した話 - ZOZO TECH BLOG
            • テストを書く方針と原則の備忘録 - Qiita

              こんにちは。サーバエンジニアのnsym-mです。普段はGoでバックエンドの開発などをしています。 最近テストに関する書籍や記事などを色々読み漁ったので、現時点での自分のテストについての考え方を備忘録として残しておきます。 今回の話はWebフロントエンドやiOS/Androidなどでも適用できる汎用的な考え方として記載していますが、ベースの文脈はバックエンド開発になりますのでそのつもりで読んでいただけますと幸いです なお、本記事では主にGoogle、『単体テストの考え方/使い方』、@t_wadaさんの発表されている考え方(いわゆる古典学派)に倣っています。 用語整理 よく使われるテストスコープ 単体テスト(ユニットテスト) 人によって定義に差がある 統合テスト(インテグレーションテスト) 結合テスト(E2Eテスト) 単体テストの定義がブレることから、スコープではなく実行時間で判断するテストサ

                テストを書く方針と原則の備忘録 - Qiita
              • 生成AIのRAG構成を大手3社(AWS、Azure、Google Cloud)で徹底比較してみた - G-gen Tech Blog

                G-gen の堂原と又吉です。当記事では、Amazon Web Services(AWS)、Microsoft Azure、Google Cloud(旧称 GCP)が提供するフルマネージドな RAG サービスの比較を行います。 はじめに 当記事について RAG とは 3社比較 前提条件 機能比較 料金シミュレーション 想定シナリオ AWS Azure Google Cloud 総評 AWS Azure Google Cloud 詳細の解説 Knowledge bases for Amazon Bedrock(AWS)の詳細 構成図 プロダクト一覧 Knowledge bases for Amazon Bedrock Amazon S3 Amazon OpenSearch Service できること 検索 対応データソース 料金 概要 基盤モデル利用料金 ベクトルデータベース料金 Azure

                  生成AIのRAG構成を大手3社(AWS、Azure、Google Cloud)で徹底比較してみた - G-gen Tech Blog
                • データ詰め替え戦略 - kawasima

                  このSpring Bootを使ったクリーンアーキテクチャの例は、データの詰め替え過剰にみえる。 https://www.baeldung.com/spring-boot-clean-architecture これだけのモデルと詰め替えが必要なのだろうか? 『Get Your Hands Dirty on Clean Architecture 』にこのマッピング戦略(詰め替え戦略)が書かれている No Mapping (レイヤ間でモデルを共有し、詰め替えをしない) 2-way Mapping (各レイヤで独自のモデルを持ち、レイヤを跨ぐ呼び出しは上位レイヤが詰め替えの責務を負う) Full Mapping (各レイヤで独自のモデルを持ち、レイヤを跨ぐ呼び出しには専用のモデルを使う) またこの戦略のどれを選ぶかの基準は『Balancing Coupling in Software Design

                    データ詰め替え戦略 - kawasima
                  • 今日から始める「システム監視」。大量トラフィックのシステムを安定して運用する知見をアソビューのSREに学ぶ - Findy Tools

                    公開日 2024/08/16更新日 2024/08/15今日から始める「システム監視」。大量トラフィックのシステムを安定して運用する知見をアソビューのSREに学ぶ はじめにアソビュー株式会社では、アソビュー!という電子チケットを販売するサイトを運営しています。 システムを安定稼働させるためには、日常的にシステムの状態を監視して、問題があれば調整するというプロセスを繰り返すことが必要不可欠です。本記事では、アソビュー株式会社において、どのような体制でこの安定稼働を実現しているかということを書くことによって、同じようにシステムを安定稼働させたいと日々考えておられる方々を想定読者として、そのノウハウを共有しようと思います。 安定稼働をするために必要な要素 人間の健康管理のために必要なことシステムを安定稼働するために必要なことというのは、人間が健康に生きていくためにやっておいたほうがいいことと共通

                      今日から始める「システム監視」。大量トラフィックのシステムを安定して運用する知見をアソビューのSREに学ぶ - Findy Tools
                    • MySQL 8.0アップグレード後に性能劣化したクエリ: セミジョイン編 - inSmartBank

                      データベースアップグレード後の性能劣化、イヤですよね。 去る2023年某日、弊社ではAmazon Aurora MySQL 互換エディション 2 (MySQL 5.7 互換) から Aurora MySQL 互換エディション 3 (MySQL 8.0 互換) にアップグレードしました。当時の背景やアップグレードに関する知見は以下の記事をぜひ読んでみてください。 blog.smartbank.co.jp ソフトウェアバージョンアップをするとき、旧バージョンが抱えていた問題の解決などの恩恵を我々は期待します。しかし時には予期せぬデグレーションに遭遇することもあります。我々のMySQL 8.0へのアップグレード前後においてもいくつかの問題に遭遇しました。 本記事ではそんな問題の一つ、MySQL 8.0のオプティマイザが選択したセミジョイン最適化が性能劣化を引き起こした事例と解決方法について紹介し

                        MySQL 8.0アップグレード後に性能劣化したクエリ: セミジョイン編 - inSmartBank
                      • GitHub、コードの脆弱性を自動的に見つけてCopilotが修正案まで示す「Copilot Autofix」正式サービスに

                        GitHubは、コードをスキャンして脆弱性を自動的検出し、コードの修正案を示してくれる「Copilot Autofix」機能を正式サービスとして提供開始すると発表しました。 コード分析エンジン「CodeQL」でコードスキャン Copilot Autofixは、GitHubが開発したコード分析エンジンである「CodeQL」を用いてコードをスキャンし、クロスサイトスクリプティングやSQLインジェクションなどを含むさまざまな脆弱性を検出します。 検出された脆弱性に対しては、Copilotがその説明と修正コードの提案を行い、開発者に提示します。 開発者は提示された内容を確認した上で「Create PR with fix」ボタンを押すと、提示されたコードの変更を含むプルリクエストが作成されます。プルリクエストがマージされれば修正完了です。 Copilot Autofixは過去のコードに対しても適用で

                          GitHub、コードの脆弱性を自動的に見つけてCopilotが修正案まで示す「Copilot Autofix」正式サービスに
                        • 【t-wada】自動テストの「嘘」をなくし、望ましい比率に近づける方法【Developer eXperience Day 2024 レポート】 | レバテックラボ(レバテックLAB)

                          TOPコラムテック最前線レポート【t-wada】自動テストの「嘘」をなくし、望ましい比率に近づける方法【Developer eXperience Day 2024 レポート】 【t-wada】自動テストの「嘘」をなくし、望ましい比率に近づける方法【Developer eXperience Day 2024 レポート】 2024年8月8日 プログラマ、テスト駆動開発者 和田 卓人 学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒。執筆活動や講演、ハンズオンイベントなどを通じてテスト駆動開発を広めようと努力している。『プログラマが知るべき97のこと』(オライリージャパン、2010)監修。『SQLアンチパターン』(オライリージャパン、2013)監訳。『テスト駆動開発』(オーム社、2017)翻訳。『事業をエンジニアリングする技術者たち』(ラムダノート、2022)編者。テストライブ

                            【t-wada】自動テストの「嘘」をなくし、望ましい比率に近づける方法【Developer eXperience Day 2024 レポート】 | レバテックラボ(レバテックLAB)
                          • PostgreSQL Row Level Security (RLS) を使って顧客データ保護の安全性を高めている件 - Techouse Developers Blog

                            はじめに 初めまして、株式会社Techouseエンジニアインターンの sakaidubz と申します。本日は私の携わっているプロダクトであるクラウドハウス労務で利用している RLS (Row Level Security) の技術について紹介します。 Techouse では、重要技術として RLS を多用しています。 通常 PostgreSQL の運用時には利用しないものであるため Techouse の開発メンバーとしてジョインしたみなさんが手慣れるまでに少し苦労をされているようです。 そこでこの場を借りて解説してみようと思い立ちました。 クラウドハウス労務について RLS について紹介する前に、私が開発しているクラウドハウス労務について紹介します。 クラウドハウス労務は人事労務における複雑な業務の電子化を推進するセミオーダー型・クラウド業務支援サービスです。各種手続きや年末調整といった法

                              PostgreSQL Row Level Security (RLS) を使って顧客データ保護の安全性を高めている件 - Techouse Developers Blog
                            • Building a highly-available web service without a database

                              If you’ve ever built a web service or a web app, you know the drill: pick a database, pick a web service framework (and in today’s day and age, pick a front-end framework, but let’s not get into that). This has been the case for several decades now, and people don’t stop to question if this is still the best way to build a web app. Many things have changed in the last decade: Disk is a lot faster

                                Building a highly-available web service without a database
                              • RAGを専門用語に強くする手法「Golden-Retriever」

                                株式会社ナレッジセンスは、生成AIやRAGを使ったプロダクトを、エンタープライズ向けに開発提供しているスタートアップです。本記事では、RAGの性能を高めるための「Golden-Retriever」という手法について、ざっくり理解します。 この記事は何 この記事は、RAGシステムを専門用語に強くするための手法「Golden-Retriever」の論文[1]について、日本語で簡単にまとめたものです。 今回も「そもそもRAGとは?」については、知っている前提で進みます。確認する場合は以下の記事もご参考下さい。 本題 ざっくりサマリー Golden-Retrieverは、RAG(Retrieval Augmented Generation)を、業界特有の用語・社内用語を含むような質問に強くするための手法です。カリフォルニア大学の研究者らによって2024年8月に提案されました。 従来のRAGシステム

                                  RAGを専門用語に強くする手法「Golden-Retriever」
                                • データベースに接続するテストの仕組みを整備して、運用して、反省したこと - Qiita

                                  はじめに この記事の内容 この記事は上記記事で作成したデータベースに接続するテストの仕組みを運用した際に発生した問題点とそれに対する分析、解決策の案をまとめた記事です。 データベースに接続するテストの詳細な内容は上記記事を参照していただければと思うのですが、作った仕組みの概要としては データベースに接続するJUnitTestをCIで実行するしくみ です。 これによって私が開発しているプロダクトのテストの仕組みの全体像は以下のようになりました。 CIで実行されるJUnitTest(Javaプロセスのみ)の実行基盤 CIで実行されるJUnitTest(データベースにアクセスする)の実行基盤 機能開発時に開発者が作成し協力会社の打鍵者の方に依頼するファンクショナルテスト これは自動E2Eテスト等でカバーできるものも含まれており、そういった仕組みも整備しなければいけないという課題認識があります。

                                    データベースに接続するテストの仕組みを整備して、運用して、反省したこと - Qiita
                                  • Netflixが大規模ワークフローの管理システム「Maestro」をオープンソース化

                                    Netflixが自社製ワークフローオーケストレーター「Maestro」をオープンソース化しました。MaestroはNetflix社内で現役稼働しており、データパイプラインや機械学習パイプラインといった大規模ワークフローの管理に使われているそうです。 Maestro: Netflix’s Workflow Orchestrator | by Netflix Technology Blog | Jul, 2024 | Netflix TechBlog https://netflixtechblog.com/maestro-netflixs-workflow-orchestrator-ee13a06f9c78 Netflixは「ユーザーが次に視聴する作品の予測」などを目的に機械学習を活用しており、記事作成時点では何千もの機械学習ワークフローインスタンスを起動し、平均して1日当たり50万のジョブを

                                      Netflixが大規模ワークフローの管理システム「Maestro」をオープンソース化
                                    • AWSのDMSやブルー/グリーンデプロイを使ってMySQL8.0へ移行した話 - BASEプロダクトチームブログ

                                      はじめに Data Strategyチーム(以下、DSチーム)でDWHやBIツールの運用をしている@shota.imazekiと不正検知やAWS基盤運用をしている@tawamuraです。 Aurora MySQL v2(MySQL5.7互換)が2024/10/31に標準サポート終了となるため、DSチームでは2024年6月にAurora MySQL v3(MySQL8.0互換)へのアップグレードを実施しました。 その際に得られた課題や知見について紹介していきます。主にAWS DMSやAmazon RDS ブルー/グリーンデプロイを用いたアップグレード方法の話になります。 DSチームのインフラ構成 DSチームはBASEの機械学習基盤を構築・運用しており、APIなどを介してプロダクト側へ機械学習モデルの推論結果などを返しています。学習・推論のために使うプロダクト側のデータはDMSを用いて、DS環

                                        AWSのDMSやブルー/グリーンデプロイを使ってMySQL8.0へ移行した話 - BASEプロダクトチームブログ
                                      • 望ましい自動テストとは|どのようなテストが開発生産性と開発者体験を共に高めるのか|Tech Team Journal

                                        自動テストの重要性が広く認知されるようになった一方、自動テストの活用に課題を抱える組織も依然として多く見受けられます。 本記事では『Developer eXperience Day 2024』(主催:日本CTO協会)における和田卓人氏によるセッション「望ましい自動テストとは:どのようなテストが開発生産性と開発者体験を共に高めるのか」の内容をお届けします。 和田卓人氏 執筆活動や講演、ハンズオンイベントなどを通じて自動テストやテスト駆動開発を広めようと努力している。 『プログラマが知るべき97のこと』(オライリージャパン、2010)監修。『SQLアンチパターン』(オライリージャパン、2013)監訳。『テスト駆動開発』(オーム社、2017)翻訳。『事業をエンジニアリングする技術者たち』(ラムダノート、2022)編者。 なぜ自動化テストを書くのか 和田 卓人です。インターネット上ではt-wada

                                          望ましい自動テストとは|どのようなテストが開発生産性と開発者体験を共に高めるのか|Tech Team Journal
                                        • PHPコア開発者になって半年経ったので、php-srcでの活動を振り返る - Qiita

                                          こんにちは!PHPとCを主に書いています、Sakiです。日中はBASE株式会社さんでお仕事させていただいています。早朝と夜間にphp-srcでの活動をしています。PHP8.4のリリースマネージャーもやってます。 2024年からありがたいことにPHPコア開発者として採用していただき、半年とちょっとになりました。ちょうど一区切りということで、これまでの活動を簡単にまとめたいと思います。細かいものや、最終的に成果が出なかった(議論がまとまらなかったなど)ものは除外しています。 2023年、コア開発者になる前 実は私はphp-srcどころかOSSの経歴がかなり短いです。 はじめてのコントリビュート PHP8.1から、PDO MySQLでmysqlndをドライバとして使用し、PDO::ATTR_EMULATE_PREPARESがtrueの場合、PHPのネイティブタイプで値が返される、というように仕様

                                            PHPコア開発者になって半年経ったので、php-srcでの活動を振り返る - Qiita
                                          • SEOにおいて、AIよりも大きな地殻変動が人知れず起こっている - ブログ - 株式会社JADE

                                            JADEファウンダーの長山です。 今回は、7/25に開催したセミナー「AIを超える大転換に気づいてますか? SEOツールの新たな地殻変動」を記事化しました。セミナーにご参加いただいた方は振り返りがてら、ご参加いただけなかった方はキャッチアップしながら読んでいただけると嬉しいです! 【目次】 AIブームはSEOに「革命的」な影響をもたらしたか SEOの地殻変動をもたらした2つのツールとは URL Inspection API Search Console BigQuery Export 2つのツールを使いこなすにはハードルもある マーケターが検索データに向き合うために開発された「Amethyst (アメジスト)」 AIブームはSEOに「革命的」な影響をもたらしたか ここ2年ほど、SEOに関する議論は、生成AI、特に大規模言語モデル (LLM - Large Language Model) が

                                              SEOにおいて、AIよりも大きな地殻変動が人知れず起こっている - ブログ - 株式会社JADE
                                            • TiDBには面白い仕様/機能が色々あるという話 - pospomeのプログラミング日記

                                              TiDBを触ってみて個人的に面白いと思ったものを雑にまとめます。 TiDBのことはある程度知っている人向けの話です。 HTAP(TiFlash) リソース制御機能 Stale Read Follower Read プッシュダウン レコードTTL コメント構文 sync-diff-inspector ローカルPCでTiDBを起動する まとめ HTAP(TiFlash) TiDBといえば、HTAPが有名だと思う。 https://docs.pingcap.com/ja/tidb/stable/explore-htap https://docs.pingcap.com/ja/tidbcloud/tiflash-overview TiDBが苦手とするOLAPを高速に処理するために、 TiFlashという列指向NoSQLを外付けし、 OLAP系のクエリをそこに対して実行するという、 なんとも力技感が

                                                TiDBには面白い仕様/機能が色々あるという話 - pospomeのプログラミング日記
                                              • ウォーターフォールを見直して自チームに最適化した開発フローを構築する - カンムテックブログ

                                                エンジニアの佐野です。バンドルカードではポチっとチャージという後払いの機能を利用する際に年齢確認が必須となりました。通信キャリアや銀行との連携等によって年齢確認ができるようになっています*1。今回はこの機能の開発を題材に普段開発でどのようなことを考えて開発し、本機能の開発ではどのようなフローを構築して進めていったかを書きます。 少し概要を書くと、本件についてはウォーターフォールモデル "のような" 開発フローで行いました。事業上の理由でビッグバンリリースが必要でした。要件をしっかり決めてステップバイステップで開発を行いすべての機能を同時にリリースする...案件の性質を考えるとウォーターフォールが開発フローの候補の1つだと思っていたためです。ただそのまま一般的に思われているウォーターフォールを導入するのではなく、その欠点や面倒な点を解消しつつ、認識齟齬なしに設計と実装を行い、納期を死守しつつ

                                                  ウォーターフォールを見直して自チームに最適化した開発フローを構築する - カンムテックブログ
                                                • プロ御用達の無償SQLクライアント「A5:SQL Mk-2」も生成AI対応、ベータテストが開始/OpenAIの「ChatGPT」とGoogleの「Gemini」が利用可能、割と実用的【やじうまの杜】

                                                    プロ御用達の無償SQLクライアント「A5:SQL Mk-2」も生成AI対応、ベータテストが開始/OpenAIの「ChatGPT」とGoogleの「Gemini」が利用可能、割と実用的【やじうまの杜】
                                                  • postgres.new: In-browser Postgres with an AI interface

                                                    Introducing postgres.new, the in-browser Postgres sandbox with AI assistance. With postgres.new, you can instantly spin up an unlimited number of Postgres databases that run directly in your browser (and soon, deploy them to S3). Each database is paired with a large language model (LLM) which opens the door to some interesting use cases: Drag-and-drop CSV import (generate table on the fly) Generat

                                                      postgres.new: In-browser Postgres with an AI interface
                                                    • RAGを作って学ぶCloudflareスタック

                                                      生成AIをよりよくする手法の一つにRAG = Retrieval-Augmented Generationがあります。これは単純な仕組みから作ることができて、効果的で面白いです。そして、Cloudflare Workersを中心としたCloudflareスタックで実現できます。やってみると、Cloudflareを使ったアプリケーション作成に必要なエッセンスをいくつも体験できることが分かりました。そこ今回は、シンプルなRAGアプリを作りつつ、Cloudflareスタックを学んでみましょう。 リポジトリ 今回扱うコードや関連する例は以下のリポジトリでみれます。 CloudflareスタックでRAGを作るとは? RAGの実装方法を説明します。いくつかありますが、簡単な方法にします。 LLMと会話をするにはsystem、userというロールで以下のようなパラメータを渡します。 app.get('/

                                                        RAGを作って学ぶCloudflareスタック
                                                      • BunはNodeより速いのか? Misskeyで検証 | gihyo.jp

                                                        本連載では分散型マイクロブログ用ソフトウェアMisskeyの開発に関する紹介と、関連するWeb技術について解説を行っています。 今回はNode.js互換のJavaScriptランタイム、Bunのパフォーマンスについて、Misskeyのコードベースを用いて検証を行います。 Bunとは Bunは、Node.js(以下Node)互換である後発のJavaScriptランタイムです。 JavaScriptエンジンにNodeで採用されているV8ではなくJavaScriptCoreを採用しているほか、TypeScriptを事前コンパイルなしに実行することもできます。 肉まんのようなマスコットキャラクターが特徴です。 モチベーション そんなBunの公式サイトではNodeよりも大幅に性能上のアドバンテージがあるように紹介されていますが、こうした競合ソフトウェアとの一方的な比較は得てして限られた条件での有利な

                                                          BunはNodeより速いのか? Misskeyで検証 | gihyo.jp
                                                        • Google Cloud の CDC サービスを活用した請求フローの構築 - Repro Tech Blog

                                                          はじめに こんにちは。新規事業のプロダクトマネジメントを担当している taison です。 先日、顧客への請求金額を算出するために日々実行しているデータフローを刷新しました。 その際に Datastream という Google Cloud が提供する CDC サービスを活用したことで、構築・運用が楽になったのでご紹介します。 なお今回は開発にご協力いただいている 株式会社 Rabee の abyssparanoia さんの提案・検証があって実現したので、ここで感謝させていただきます。 全体像 それまではとある BI ツールを活用して、請求根拠となるデータを各内容にあわせて出力するデータフローを組んでいました。 下図のように、プロダクトの RDB(アプリケーションデータ)そのものに直接接続し、BI ツールで生成したクエリを定期的に実行することで要件を満たしていました。 ただ、おかげ様で事業

                                                            Google Cloud の CDC サービスを活用した請求フローの構築 - Repro Tech Blog
                                                          • 日本CTO協会主催の新卒合同研修に参加して圧倒的な学びを得た話 - Tabelog Tech Blog

                                                            はじめまして。食べログ開発本部ウェブ開発2部 新卒1年目の濱口(machida4)です。 私は2024年の5月末から7月末までの約2ヶ月間、一般社団法人 日本CTO協会が主催する新卒合同研修に参加しました。 本記事では、新卒合同研修の各講義の内容と、そこから自分が学んだことについてご紹介します。 目次 参加の経緯 新卒合同研修について 第1回:キャリア戦略・フォロワーシップとマネジメント(講師: 日本CTO協会/株式会社LayerX) 第3回:BtoB SaaS開発基礎(講師: 株式会社アンチパターン) 第4回:インテリアコーディネートで学ぶアジャイル開発(講師: 株式会社メンバーズ) 第5回:BigQueryで始めるデータ分析入門&生成AIを活用した分析効率化(講師: グーグル・クラウド・ジャパン合同会社) 第6回:AWSの基礎から学ぶWebアプリケーション構築入門(講師: アマゾンウェ

                                                              日本CTO協会主催の新卒合同研修に参加して圧倒的な学びを得た話 - Tabelog Tech Blog
                                                            • Go で実 DB を使ったテストをしてみた - Repro Tech Blog

                                                              はじめに こんにちは。Repro で新規事業の開発をしている冨永です。 我々のチームでは主に、ユーザーのイベント集計を定期的にバッチ処理するフローで Go を採用しています。 Go で RDB など外部依存のあるコンポーネントを扱うテストをする際 interface などで抽象化しモックすることが多かったのですが、実際にその部分の挙動が確かめられないという不安がありました。 そこで今回は testfixtures というライブラリを使って実際に DB アクセスするテストを書いてみたのでその紹介です。 きっかけ まずはチーム内でテストに関する共通認識を作るためワークショップを実施しました。 各々の『知りたいこと』『教えたいこと』『議論したいこと』を話し合った結果、以下のような話題が上がりました。 今回は特に『外部依存のあるコンポーネントでテストが書き辛い』というトピックが盛り上がり、その中で

                                                                Go で実 DB を使ったテストをしてみた - Repro Tech Blog
                                                              • プロダクト開発でsqlcを採用した話

                                                                はじめに toB向けの0->1のGoのバックエンドAPIの開発でsqlcを採用しました。 使い始めてから1年半くらい経ったので感想を書いてみようと思います。他の人のブログでよく言及されている点については同じことを書くことになるので書きません。 使っていたsqlcのバージョンは1.18~1.26です。 sqlcを採用した理由 sqlcに限らずバックエンドAPIの開発の技術選定をする上で技術的な要件は無かったです。開発効率や開発速度を高めることができる技術選定を求められていました。 バックエンドAPIの開発のリードエンジニアは私だったので、私が使い慣れているツールをなるべく使い、技術検証や使い方を調べる時間を極力減らし開発効率と開発速度を上げようとしていました。ただ、全て私が知っているツールだと私の開発のモチベーションが上がらなかったので、Product Ownerに相談してORMのみ使ったこ

                                                                  プロダクト開発でsqlcを採用した話
                                                                • 社内利用浸透しきったLookerを1ヶ月でLookerStudioに移行した話

                                                                  こんにちは!ゲンシュンです。 Looker解約することになり、LookerStudioへの移行対応をした話を書きます! 背景 Lookerはプロダクト部ビジネス部も満遍なく利用しきっていますが、円安関連でコスト高騰してキツイな〜という状況でもありました。解約意思決定が自分に伝達されたのが6月下旬、移行対応に即アサインされ、そこから諸々準備し、8月頭でのLookerStudio利用開始までわずか1ヶ月という短期決戦プロジェクト開幕です。 各部門の業務フローにゴリゴリ組み込まれているぐらい利用浸透してて、DWH↔Lookerの設計周りもかなりいい感じに出来てて、こんなに愛した俺達のLookerがコスト理由だけで移行せざるを得ないのは、ぶっっっっちゃけモヤモヤが大きかったです。が、やりきればうんびゃくまん以上の凄まじいコスト改善が出来るので、これは凄い事業インパクトだ!やり切るしか無い!やろう!

                                                                    社内利用浸透しきったLookerを1ヶ月でLookerStudioに移行した話
                                                                  • 3フェーズに分けて振り返る atama plus データアーキテクチャ変遷 - Findy Tools

                                                                    公開日 2024/07/29更新日 2024/07/313フェーズに分けて振り返る atama plus データアーキテクチャ変遷 こんにちは、atama plus株式会社でEngineering Managerや、SRE、データ基盤などplatform系チームのオーナーをしております、前田( @kzk_maeda)と申します。 atama plusでは「教育に、人に、社会に、次の可能性を。」をミッションに、全国の生徒さんに新しい学習体験を届けるため奮闘しています。 その手段として、AIを用いてパーソナライズされた学習体験を提供しております。その実現のためには生徒さんの学習データを如何に活用していくかは非常に重要な要素です。他にも、データに基づいた意思決定、コンテンツ改善のための指標トラッキング、顧客コミュニケーションなど、様々なところでデータを活用する動きがあり、年々その需要と活用幅は広

                                                                      3フェーズに分けて振り返る atama plus データアーキテクチャ変遷 - Findy Tools
                                                                    • SRE NEXT 2024(のアンドパッドブース)に参加したエンジニアがいまオススメするソフトウェアやサービスとは? - ANDPAD Tech Blog

                                                                      こんにちは。SREチームの吉澤です。 アンドパッドは、8/3(土)〜4(日)に開催されたSRE NEXT 2024にゴールドスポンサーとして協賛し、企業ブースとスポンサーLTに参加させていただきました! スポンサーLTでは、SREチームリーダーの角井さんが「アンドパッドのマルチプロダクト戦略を支えるSRE」というタイトルで発表しました。このLTについては、昨日公開された1本目のイベントレポートをぜひご覧ください。 tech.andpad.co.jp 2本目のイベントレポート(この記事)では、アンドパッドブースの様子と、来場者アンケートの集計結果をご紹介します。アンドパッドブースの来場者という範囲に限定されてしまいますが、SRE NEXT 2024に参加したエンジニアがいまオススメするソフトウェアやサービスの傾向が、集計結果から見えてきました。 アンドパッドブースの様子 アンケート項目 アン

                                                                        SRE NEXT 2024(のアンドパッドブース)に参加したエンジニアがいまオススメするソフトウェアやサービスとは? - ANDPAD Tech Blog
                                                                      • Build your own SQLite, Part 1: Listing tables

                                                                        As developers, we use databases all the time. But how do they work? In this series, we'll try to answer that question by building our own SQLite-compatible database from scratch. Source code examples will be provided in Rust, but you are encouraged to follow along using your language of choice, as we won't be relying on many language-specific features or libraries. As an introduction, we'll implem

                                                                          Build your own SQLite, Part 1: Listing tables
                                                                        • 更新可能なデータレイクを構築するテーブルフォーマットApache Hudiについて - Repro Tech Blog

                                                                          Reproでチーフアーキテクトを担当しているjoker1007です。 今回、社内のデータストレージの将来的な選択肢の一つとしてApache Hudiというテーブルデータフォーマットについて調査と実データでの検証を実施しました。 この記事では2回に分けて、そもそもhudiってどんなフォーマットなのか、どういうデータで検証してどんな結果が得られたのかについて紹介します。 ということで第1回は、hudiそのものについての紹介をしていきます。 この記事はhudi-0.14.1を利用して検証した時のものです。また社内向けに書いた資料の手直しであるため丁寧語でないことに御留意ください。 Hudiとは何か、その目的 hudiは更新可能なデータレイクを構築するためのテーブルフォーマットである。 ストリーミングによるデータインサートや、upsert, deleteをサポートする。 通常、データ分析に向いたデ

                                                                            更新可能なデータレイクを構築するテーブルフォーマットApache Hudiについて - Repro Tech Blog
                                                                          • Cloudflare D1 を使った日本語の全文検索を実装する

                                                                            最近、SQL アンチパターンという本を読んでいたら、MySQL、 PostgreSQL、SQLite などのデータベースでも拡張機能を利用することで全文検索を実装できることを知りました。[1] SQLite で構築されている Cloudflare D1 についても調べてみたところ、制限はあるものの全文検索の拡張機能が使えるということがわかりました。 Export is not supported for virtual tables, including databases with virtual tables. D1 supports virtual tables for full-text search using SQLite’s FTS5 module. 今回は個人ブログの全文検索 API を D1 を利用して実装してみたので、その方法について書きたいと思います。 作成した AP

                                                                              Cloudflare D1 を使った日本語の全文検索を実装する
                                                                            • 綺麗なコードを書くためのコードレビューチェックリスト - Qiita

                                                                              綺麗なコードを書くためのコードレビューチェックリスト PR出す前にこの観点は必要だよねリストまとめ 1. 設計と仕様の整合性 コードが既存のシステム設計に一致しているか確認します。 例えば、MVCアーキテクチャを採用している場合、モデル、ビュー、コントローラーが適切に分離されているかをチェックします。 機能要件 コードが仕様書に記載された機能を正しく実装しているか確認 テストケースを使って期待される動作を検証すると効果的 非機能要件 パフォーマンス、セキュリティ、拡張性などの非機能要件も満たしているかをチェックし YAGNI(You Aren't Gonna Need It)の原則 必要な機能だけを実装し、将来の要求に備えて無駄な機能を追加しない。これはコードの複雑さを減らし、保守性を高めます。 オブジェクト指向設計の原則 単一責任の原則 (Single Responsibility Pr

                                                                                綺麗なコードを書くためのコードレビューチェックリスト - Qiita
                                                                              • 6万5000人以上の開発者に「好きな言語」「好きなOS」「好きな開発環境」「好きなAI」を聞いた年次調査「2024 Stack Overflow Developer Survey」の結果が公開される

                                                                                開発者のためのコミュニティ「Stack Overflow」が実施した年次調査「2024 Stack Overflow Developer Survey」の結果が公開されました。6万5000人を超える開発者が、コーディングやAI、使用および学習したいと考えるテクノロジーやツール、職場での体験などについて回答しています。 2024 Stack Overflow Developer Survey https://survey.stackoverflow.co/2024/ まず、回答者の最終学歴は以下の通りで、41%が学士号を、25.6%が修士号を取得しています。Stack Overflowは「開発者の66%が学士または修士の学位を持っているが、学校でコードを学んだ開発者は49%に過ぎない」とも指摘しています。 コードを学習するために最も優先する選択肢を問うた項目では、「その他のオンラインリソース

                                                                                  6万5000人以上の開発者に「好きな言語」「好きなOS」「好きな開発環境」「好きなAI」を聞いた年次調査「2024 Stack Overflow Developer Survey」の結果が公開される
                                                                                • 外部ファイルをExcelに読み込む際の作業を効率化するPower Queryの活用

                                                                                  ExcelにCSVやテキストファイルなどを読み込むときに使うPower Queryは、Excelの一部として出荷されるものの、Excelとは大きく異なる仕組みを持つ。このため、Power Queryは、Excelにテーブルを作り、処理の結果を入れることができるが、そのテーブルにExcelの式を入れることは不可能だった。 しかし、PowerQueryで文字列としてExcelの数式を入れておき、テーブルが読み込まれたあとに、これを数式に変換することで、数式の入ったテーブルを作ることが可能になる。 そもそもPower Queryとは? Excel自体については、ほとんどの読者が知っていると思うが、Power Queryについては解説をしたことがないので、あらためて簡単に紹介しておこう。 Power Queryとは、Excelに付属するETL(「Extract, transform, load」

                                                                                    外部ファイルをExcelに読み込む際の作業を効率化するPower Queryの活用