並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 6303件

新着順 人気順

mysqlの検索結果161 - 200 件 / 6303件

  • メンテのいらないソフトウェア - 誰かの役に立てばいいブログ

    ソフトウェアエンジニアとして働き始めて 20 年以上になります。 元々ソフトウェアでいろいろ作りたくて就いた職業なので、結構な数のプロダクトを開発してきました。 私がメインで開発したもので OSS として出ているものでは、 yrmcds: memcached クローンで、レプリケーション機能などを持つ usocksd: SOCKS4/5 サーバー & ライブラリ transocks: アプリのネットワーク通信を透過的に SOCKS サーバーにプロキシする透過プロキシ coil v2: Kubernetes の CNI ネットワークドライバ moco: MySQL を自動運用する Kubernetes オペレーター accurate: Kubernetes 上で namespace ベースのソフトマルチテナンシーを実現するためのソフトウェア などがあります。これらのソフトウェアの多くは、現役

      メンテのいらないソフトウェア - 誰かの役に立てばいいブログ
    • 基本的なシステム構成図を理解するためのAWS基礎をまとめてみた - Qiita

      はじめに 最近、AWSのシステム構成図を見ることが多くなり、AWS上で動いているシステムのシステム構成図を理解できるようになるために個人的に知っておきたいと思ったAWSの用語・サービスをまとめてみました。 私自身も勉強がてら作成したので、わかりづらい部分も多くあると思いますが、AWSのサービス全くわからん→なんとなく雰囲気把握した、となっていただけたらと思います。 2018年10月に新しくなったAWSアーキテクチャアイコンを使用しています。 サーバ・クライアントなどの説明についてはここではしていませんが、以下の記事でとてもわかりやすくまとめてくださっています! 超絶初心者のためのサーバとクライアントの話 知っておきたい用語 リージョン AWSがサービスを提供している拠点(国と地域) リージョン同士はそれぞれ地理的に離れている(例えば日本とオレゴンとか) 日本はap-northeast-1(

        基本的なシステム構成図を理解するためのAWS基礎をまとめてみた - Qiita
      • PostgreSQL 20年史|コミッター石井達夫が振り返る変遷と進化の歴史|ハイクラス転職・求人情報サイト AMBI(アンビ)

        PostgreSQL 20年史|コミッター石井達夫が振り返る変遷と進化の歴史 世界中で使用されるRDBMSであるPostgreSQLの長い歴史には、どのような変遷があったのでしょうか。長く、PostgreSQLに関わり続ける石井達夫さんに、同ソフトウェアの進化歴史の中にあるキーワードをもとに振り返ってもらいました。 オープンソースのRDBMSであるPostgreSQLは、いまや世界中の人々が利用するソフトウェアとなりました。その歴史は長く、ルーツは30年以上も前にさかのぼります。 PostgreSQLの前身は、カリフォルニア大学バークレー校で1986年に始まったPOSTGRESプロジェクトです。その後、1994年にAndrew Yu氏とJolly Chen氏がPOSTGRESにSQL言語インタプリタを追加し、翌年にPostgres95をリリース。1996年にようやくPostgreSQLとい

          PostgreSQL 20年史|コミッター石井達夫が振り返る変遷と進化の歴史|ハイクラス転職・求人情報サイト AMBI(アンビ)
        • Dockerコンテナのpostgresqlがマルウェアに感染した件について - Qiita

          背景 Dockerコンテナを立てたらマルウェアに感染したのでサイバーセキュリティの啓蒙を兼ねてメモ書きしてみました。 注意事項 マルウェアに感染した被害の対処方法を記述しています。マルウェア自体の機能や解析の解説ではなく一般利用者ユーザーの視点から感染経路と対応方法についての記述になります。 マルウェア感染状況 症状 Dockerコンテナを稼働させたホストのロードアベレージ(CPU負荷)が常時4を超える状況になっていました。つまり400%でホストがフル回転してた訳ですな。 例えるならエヴァンゲリオン初号機が暴走してマヤちゃんがコンソール画面に向かって叫んでいるところです(違) こうなるとクラウドサービスのAWSとかだと英文で警告アラートが飛んで来ますし毎日課金されで膨大な利用料金請求が来ることになります。恐ろしい!! 状況の調査 CPUの利用状況やメモリの使用量などを調査するツール類があり

            Dockerコンテナのpostgresqlがマルウェアに感染した件について - Qiita
          • 個人開発激安 GCP (にしたい)

            とりあえず GCP で軽くサーバーとデータベース立ててみたいっつって脳死で使ってたら1日で 1800 円いって焦った。慌ててチャットサポートに聞いたらいろいろ教えてくれて安心したけど、もうちょっと調べてみためも。自分が使いそうなものしか書いてないよ。 Google Cloud Calculator めっちゃ便利。 App Engine TLDR これを app.yaml に書いておけば一番安上がり env Standard environment と Flexible environment があって、無料枠があるのは Standard だけ。他にも Flexible だと想定外の請求が来たりするらしい。なので Standard を指定しておく instance_class サーバのインスタンスの種類。F1 が一番しょぼいスペックのサーバで F1, F2 とかの "F" 系なら一日 28

              個人開発激安 GCP (にしたい)
            • Dockerで環境構築するための最低限の概念理解 - Qiita

              はじめに この記事は、Docker入門シリーズ記事3本の1本目です。 Dockerで環境構築するための最低限の概念理解 Dockerで環境構築するための最低限のコマンドを一通り実践する 【Docker Compose】設定内容を1行ずつ理解しながらLaravel環境構築(PHP-FPM、Nginx、MySQL、Redis) また、WindowsでDockerを利用する際の重要な設定に関する記事もありますのでこちらもご確認ください。 WindowsでDockerを使う時、正しくファイル配置しないと激重になるので注意 概要 この記事では、 Docker未経験者、初心者向けに Dockerでアプリケーションの開発環境を構築するために必要な 最低限の概念を解説します。 詳細な解説はかなり省いています。 Dockerとは何をするためのものか Dockerは、アプリケーションの実行環境を構築するための

                Dockerで環境構築するための最低限の概念理解 - Qiita
              • 定期的に知識をリフレッシュする - Magnolia Tech

                IT系に身を置いていると、つい新しい知識ばかりを追いかけがちになるけど、CS的な基礎知識や、Linuxのコマンドとかの(もちろんソラでコマンド10個のオプションを言える必要は、無い)も当然大事なわけです。というか、土台となる知識が無いと、新しい知識がちゃんと身につきません。 だけど、普段使わない、手を動かさない分野のスキルはどんどん忘れていきます。歳をとると加速度的に忘れていきます。 そしてヤバいのは、分かっていることと、分かっていないこと、できること、できないことの区別がつかなくなることです。 人は分かる範囲でしか物事を理解しないので、「分かっていないことを知る」という行為を行なって「分かる範囲」を広げる、または最低でも維持する営みを続けていかないとどんどん判断する時に必要な材料が狭まっていきます。 Java 1.5の知識で、Java17時代の判断はできないですよね、10倍以上違うんだか

                  定期的に知識をリフレッシュする - Magnolia Tech
                • 老舗ITサービスのモダナイズに取り組みはじめたLINEエンジニアたちの挑戦! 出前館の改善について和田卓人さんが聞いた - はてなニュース

                  新型コロナウイルスの影響下で、食の宅配などO2O(Online to Offline)サービスが好調です。なかでも有名漫才師を起用したテレビCMも話題となった出前館は、2020年8月期の連結決算で利用者数が前期比で31%増、売上高も前期比で54.6%増となりました(ただし広告展開やシステム投資などの先行投資により営業利益は赤字となっています)。 この背景に、株式会社出前館とLINE株式会社が2020年3月に締結した資本業務提携があります。LINEが出前館の経営に参画し、広告だけでなくサービスの提携も進んでいます。2020年11月には「出前館」アプリがLINEアカウントと連携し、出前館のOEMだったLINEデリマは12月にサービス統合されました。 ただしLINEでは、出前館を「LINE」アプリの関連サービスではなく、独立したO2O事業として継続的に成長させたい。そのためLINEのエンジニアを

                    老舗ITサービスのモダナイズに取り組みはじめたLINEエンジニアたちの挑戦! 出前館の改善について和田卓人さんが聞いた - はてなニュース
                  • 現代のWebアプリケーションエンジニアとして最低限の常識TODO - shimobayashiパブリック

                    古代のWebアプリケーションエンジニアなので、現代との差分を身に付けていくぞ! 個人的なスキルセットの差分を埋めるためのものなので、誰にでもマッチするものではありません。 習うより慣れろの精神で、読んで終わりじゃなくて手を動かします。 コンテナ化 done.icon The Twelve-Factor App (日本語訳) done.icon What is Amazon Elastic Container Service? - Amazon Elastic Container Service 機械翻訳がひどかったので英語版をGoogle翻訳で読むほうがマシそう メニュー1階層目だけ全部読んで、気になるところがあれば深堀りする ↑で物足りなかったらKubernetes完全ガイド 第2版 impress top gearシリーズ | 青山真也 | 工学 | Kindleストア | Amazo

                      現代のWebアプリケーションエンジニアとして最低限の常識TODO - shimobayashiパブリック
                    • 踏み台EC2を廃止してSession Manager接続に置き換えました

                      こんにちは、エウレカ SRE チームの原田です。 今年 (2021年) エウレカでは、公開鍵認証で接続するEC2の踏み台サーバを廃止し、代わりに各サーバへの接続をIAMで認証できるSSM Session Managerへのリプレースを行いました。本記事ではそのモチベーションや、実装のポイントを紹介していきたいと思います。 旧来の踏み台サーバ 旧来の踏み台サーバエウレカで長く運用されていた踏み台サーバ (Gateway) は以下のようなものでした。 各開発者は、自分の秘密鍵を使って踏み台サーバへSSHを行う ( 踏み台サーバ上には各開発者の個別ユーザーおよび公開鍵が登録されている )踏み台上では、接続が許可されているSSH対象のサーバの秘密鍵がユーザー毎に配置されており、その鍵で各サーバにSSHするMySQL / Elasticsearch / Redis など、Private Subnet

                        踏み台EC2を廃止してSession Manager接続に置き換えました
                      • Reactチュートリアル2:レビューサイトを作ろう

                        本資料について 本資料は日本大学文理学部情報科学科の開講科目「Web プログラミング」の教材として作成されました。本資料は下記のライセンスの範囲内で、当授業以外でも自由にご利用いただけます。 対象読者 本資料は、以下の教材を学習済み、もしくはそれと同等以上の知識を持っていることを前提としています。 React チュートリアル:犬画像ギャラリーを作ろう 基本情報技術者試験レベルの関係データベースの知識 本資料で学ぶこと 本資料では以下の内容を学びます。 Express と Sequelize による API サーバー開発 React と API サーバーの連携 Cross-Origin Resourcer Sharing React によるルーティング Auth0 によるユーザー認証 Heroku による API サーバーの公開 ライセンス この作品はクリエイティブ・コモンズ 表示 4.0

                          Reactチュートリアル2:レビューサイトを作ろう
                        • Rust で Web バックエンド開発をはじめる | CyberAgent Developers Blog

                          こんにちは。サイバーエージェント AI 事業本部 Dynalyst にて、ソフトウェアエンジニアをしている豊田(@helloyuki_)です。また、Rust 領域における Next Experts も務めています。 先日、CA BASE NEXT という CyberAgent が開催する20代が中心のカンファレンス[^1]に、私も一応20代ということで登壇させていただきました。 内容は Web アプリケーション開発を Rust で行った体験談を語るというものでした。実際に2018年〜2020年頃に Rust をとあるチームのアプリケーションに導入し、引き継ぎのために何をしたかという内容をお話させていただきました。 セッション自体は25分しかなく、またコード例をスライドからかなり削るなど、CG スタジオ仕様への対応が必要でした。というわけで、十分に伝えたいことを盛り込めたわけではありませんで

                            Rust で Web バックエンド開発をはじめる | CyberAgent Developers Blog
                          • RDBの作成時刻や更新時刻用カラムに関するプラクティス | おそらくはそれさえも平凡な日々

                            RDBのレコードに、作成日時や更新日時を自動で入れ込むコードを書いたりすることあると思いますが、それに対する個人的な設計指針です。ここでは、作成日時カラム名をcreated_at、更新日時をupdated_atとして説明します。 tl;dr レコード作成日時や更新日時をRDBのトリガーで埋めるのは便利なのでやると良い ただ、アプリケーションからそれらのカラムを参照することはせず別に定義した方が良い MySQLにおける時刻自動挿入 MySQL5.6.5以降であれば、以下のようにトリガーを設定すれば、レコード挿入時に作成日時と更新日時を、更新時に更新日時を、DATETIME型にも自動で埋めてくれます。いい時代になりました。(MySQLが遅すぎたという話もある) `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_

                              RDBの作成時刻や更新時刻用カラムに関するプラクティス | おそらくはそれさえも平凡な日々
                            • 四十路を過ぎてから海外大学院で理転する事にした話。|Anonymous Investor|note

                              さて、今回は題名の件について報告申し上げる次第である。 この度、自身はNational University of SingaporeのMaster of Computing(通称MComp)学科より入学オファーを頂き、2021年の1月から、正規の修士課程の生徒として学ぶ事になった。当初は現在の仕事は継続しながらパートタイム学生として修了する事を目指していたが、諸々あって会社を辞める事にした事もあり、いっその事であるし1年間位の間学生に専念して集中的に学ぶ事にした。 PythonとSQLを独学で学び始めて足掛け5年、大学院の最初の出願から足掛け3年で3度目の出願、直近2年に渡るGraduate Certificateによる社会人聴講クラスでの大学潜り込みによる外堀埋めの準備期間、と言った長期に渡る「中年からの文系からの海外大学院を利用した理転」の試みが、(卒業しないといけないのだが)まずは

                                四十路を過ぎてから海外大学院で理転する事にした話。|Anonymous Investor|note
                              • CIマニアから見たGitHub Actions(Beta)の使い所 - くりにっき

                                1ヶ月くらい使って勘所が見えてきたのでメモ メリット 1リポジトリ辺り20並列までジョブを並列実行できる ジョブ実行時はアクセストークンが勝手に設定されている マトリクステストがやりやすい 実際にGitHub Actionsに移行したプロダクト zatsu_monitor activerecord-compatible_legacy_migration index_shotgun デメリット yamlのanchorが使えない マトリクステストだとSlack通知がつらい 合わせて読みたい メリット 1リポジトリ辺り20並列までジョブを並列実行できる これに尽きる。 CircleCIにしろTravis CIにしろorganization(user) *1単位で並列数が縛られているため、例えば同じuserの他のリポジトリでジョブが詰まっていると別リポジトリではqueueが詰まってジョブが実行され

                                  CIマニアから見たGitHub Actions(Beta)の使い所 - くりにっき
                                • ★★再追記 レンタルサーバは、自由度が低くてストレスになるからやらない..

                                  ★★再追記 レンタルサーバは、自由度が低くてストレスになるからやらない。SQLでwith使いたいからMySQL8をって言ってもさくらレンタルサーバじゃ無理なんでしょ? あと同居利用者のせいで高負荷ってのも避けたい。そこを気にしない人はレンタルサーバでいいと思うよ。 あと LB $0.025/h だった。月2000円くらいか。 ★追記 LBは独自ドメイン+自動更新無料SSL証明書のためね。Cloud Storageの無味乾燥なドメインでいいなら、SSL自動かつ無料でほんとに月数円。 ------- もうねめんどくさいんだわ。もちろん以前はそうやってたよ。 PHPだのApacheだのMySQLだのインストールしたり設定ファイル置いたり、 脆弱性対応したり、SSL証明書更新したり、一応落ちてないか無料監視サービス使ったり。 でも仕事ならともかく、趣味だからこそこんなことやりたくないじゃん。 なの

                                    ★★再追記 レンタルサーバは、自由度が低くてストレスになるからやらない..
                                  • 排他制御のためだけに Redis 渋々使ってませんか?データベース単独でアドバイザリーロックできるよ!

                                    トランザクション分離レベルについての教養があったほうがこの記事の内容を理解しやすいため,必要に応じてまず以下を参照されたい。 背景 以前, Qiita で以下の記事を投稿した。今回の議題に直接的な関係はないが,関連している部分があるため引用する。 MySQL/Postgres とも, MVCC アーキテクチャの恩恵で, SELECT と UPDATE は基本的には競合しない。 単一レコードのシンプルな UPDATE でも排他ロックされ,排他ロック中のレコードへの UPDATE での変更操作は トランザクション分離レベルによらず ブロックされる。UPDATE 文に含まれる WHERE 句での検索もブロックされ,これはブロックされない SELECT による検索とは別扱いになる。 但し UPDATE 文の WHERE 句上で,更新対象をサブクエリの SELECT から自己参照している場合は例外。

                                      排他制御のためだけに Redis 渋々使ってませんか?データベース単独でアドバイザリーロックできるよ!
                                    • 初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ - Qiita

                                      なんだろう、嘘つくのやめてもらっていいですか? 大学も技術者認定機関も、いつまで古いまたは間違ったシェルとカーネルの概念を説明し続けるのでしょうか? シェルはカーネルの言葉をユーザーの言葉に翻訳したり、出力結果をユーザーに中継したり、カーネルを防御したりする層ではありません。指定したコマンドを実行するだけのプログラムです。勉強中の学生か代理執筆業者が適当な文献を調べて書いたとしか思えません。そして他人の説明を自分の言葉に置き換えるのが上手い人がおかしな説明をさらに広めています。個人サイトやオンライン学習サイト程度であれば適当なことを書いていても気にも留めませんが、大学や技術者認定機関のような正しいことを書いているに違いないと思えるような所までもが間違ったことを書いているから困ったものです。 みなさんは大学や技術者認定機関が言っていることなら正しいと思いこんでいないでしょうか? そんなことあ

                                        初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ - Qiita
                                      • A Visual Guide to SSH Tunnels: Local and Remote Port Forwarding

                                        Bridge vs. Switch: What I Learned From a Data Center TourNetworking Lab: Ethernet Broadcast DomainsNetworking Lab: L3 to L2 Segments MappingNetworking Lab: Simple VLANDon't miss new posts in the series! Subscribe to the blog updates and get deep technical write-ups on Cloud Native topics direct into your inbox. TL;DR SSH Port Forwarding as a printable cheat sheet. SSH is yet another example of an

                                          A Visual Guide to SSH Tunnels: Local and Remote Port Forwarding
                                        • クックパッドの検索反映時間を 1/288 にしたシステム改修 - クックパッド開発者ブログ

                                          こんにちは。レシピ事業部の新井(@SpicyCoffee)です。 クックパッドではこれまで、レシピを投稿してから検索結果に反映されるまで最長で 24 時間程度の時間がかかっていました。今回、この時間を 5 分程度、最長でも 10 分程度に短縮することに成功しました。本記事では、プロジェクトオーナーの立場で関わった私が代表してその開発について紹介します。 プロジェクトの目的と数値目標 本プロジェクトでは上記の「レシピを投稿してから検索結果に反映されるまでの時間短縮」が目的とされました。しかし、時間短縮といっても現状 24 時間であるものを "1 時間" にするのか、"1 分" にするのか、"1 秒" にするのかでは話が全然違います。この数値目標は設計を始めとした後の意思決定に大きく影響を与えるため、しっかりとした意図を持った状態で明確に定めておく必要がありました。 そこで、私とプロダクトオー

                                            クックパッドの検索反映時間を 1/288 にしたシステム改修 - クックパッド開発者ブログ
                                          • BPF Performance Toolsを読んだ感想 - go_vargoのブログ

                                            BPF Performance Toolsを読んだので、感想ブログです。 先に感想を言っておくと「最高」でした。 BPF Performance Toolsとは? NetflixでKernel・パフォーマンスにかかわるチューニング・アーキテクチャを専門にしているBrendan Greggさんが書いた本です。BPFのiovisorというTracing分野の第一人者でもあります。 www.brendangregg.com 2019年12月に発売したばかりなので、BPFの分野では最新の本でしょう。他の著書に有名な本として(日本語版の)「詳解システム・パフォーマンス」があります。 BPF Performance Toolsは「詳解システム・パフォーマンス」第二弾と言えるかもしれません。ちなみにページ数は880Pあり、Kindleで表示される読み終わるための平均的な時間は「27時間30分」で、大作R

                                              BPF Performance Toolsを読んだ感想 - go_vargoのブログ
                                            • 次世代SQLクライアントArctypeを触ってみる

                                              どうも、株式会社プラハCEOの松原です 先日社内のエンジニアに「このSQLクライアントがイケてそう!」と教わったので早速Arctypeを触ってみました TL;DR クエリの補完が最高 チャートやダッシュボードを通して簡単に可視化できる 操作性に優れていて、見た目が綺麗 クエリやダッシュボードごとに権限管理できる プレースホルダーを使えば非開発者ともクエリを共有しやすい 説明しよう、Arctypeとは なんかイケてるSQLクライアントです セットアップ それぐらいしか分からないので、ひとまずDBを立ち上げて実際に使ってみようと思います。こちらのmysql-employeesを使わせていただきましょう docker run -d \ --name mysql-employees \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=college \ -v $PWD/

                                                次世代SQLクライアントArctypeを触ってみる
                                              • CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意 - サーバー構築と設定 ~初心者にも分かりやすく解説~

                                                2019年9月24日に CentOS 8 がリリースされます。 RedHat Enterprise Linux 8 の情報を元に、CentOS 8 で想定される変更点をまとめました。 PHP や MySQL といったミドルウェアのバージョン変更や、 サービスの追加・削除など数多くの変更が入ることになります。 RHEL 8・CentOS 8 に PHP 7.3 をインストールする(remi 使用) 2020-07-07 CentOS 8 のリリースは2019年9月24日 CentOS 8 はリリース前の状態で、現在コミュニティによる開発が行われています。 2019年7月時点では、ベースとなる「RHEL 8」のパッチ開発と検証作業が進行中です。 前回バージョンアップ時は、「RHEL 7」の27日後に「CentOS 7」がリリースされましたが、 今回の進捗を踏まえると 2019年8月~9月 頃の

                                                  CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意 - サーバー構築と設定 ~初心者にも分かりやすく解説~
                                                • 文化祭で滞在状況記録システムを運用しました

                                                  文化祭からはや 3 ヶ月。ずっと書きたいとは思っていたんですが、すぐ定期試験がやってきたり修学旅行に行ったりしてるうちにズルズル来てしまいました。このまま年を越すわけには行かないので、重い腰を上げて書き上げてしまおうと思います。 文章力が皆無なので読みづらい箇所があったらごめんなさい。質問等ございましたらお気軽にどうぞ! 1. システム概要 感染症対策の一環として、主に各展示の同時滞在者数の抑制を目的として導入したシステムです。 文化祭への来場者全員にリストバンドを配布します。各リストバンドには個別の QR コードがプリントされており、各展示の入室時及び退室時に、展示のスタッフが Web アプリ上でスキャンを行い、来場者の入退室時間を記録します。 主な機能として以下が挙げられます。 同じ時間に同じ教室にいたのがどのリストバンドをつけていた来場者であるかが分かるため、万が一新型コロナウイルス

                                                    文化祭で滞在状況記録システムを運用しました
                                                  • 「もうさばき切れない」アクセスが激増したECプラットフォームにおける負荷対策 - BASEプロダクトチームブログ

                                                    はじめに CTOの川口 (id:dmnlk) です。 5月にオンラインmeetupをさせて頂きその中で「具体的な負荷対策に関しては開発ブログで!」と言っていた件ですが気づいたらもう9月になりかけていました。 コロナ禍においてネットショップ作成サービス「BASE」の利用者様が急増しました。 www.nikkei.com 5 月には 100 万ショップを超えるショップオーナー様にご利用していただいております。 今まで EC 事業を行っていなかった飲食店様や様々な業種の方が利用をはじめていただき、ショップオーナー様も購入者様共に短期の見通しでは想定をしていないアクセスが発生しました。 その途中でシステムとして対応しきれない面もあり、アクセス負荷によるサービスの不安定を招き皆様にはご不便や販売時間を変更していただくお願いなどをしてしまい大変申し訳ありませんでした。 現在では安定しておりますが、その

                                                      「もうさばき切れない」アクセスが激増したECプラットフォームにおける負荷対策 - BASEプロダクトチームブログ
                                                    • データサイエンティストという職業の10年間の変遷を振り返る - 渋谷駅前で働くデータサイエンティストのブログ

                                                      (Image by Gordon Johnson from Pixabay) TL;DR 今年の6月に僕自身がデータサイエンティストに転じて10年という節目の年を迎え、10月でDavenportの「データサイエンティストは21世紀で最もセクシーな職業である」HBR総説から10周年になるのを機に、この10年間のデータサイエンティストという職業の変遷を振り返ることにしました。 6月の回顧録記事でも書いた通り、僕がデータサイエンティストの仕事に就いてから今年で10年になります。最近も同じかどうかは分かりませんが、古くから「10年ひと昔」という常套句がある通りで個人的には大きな節目の年だと感じています。 一方で、今年の10月にはあまりにも有名な「データサイエンティストは21世紀で最もセクシーな職業である」HBR総説が出てから10周年を迎え、後述するようにDavenportは「今もデータサイエンティ

                                                        データサイエンティストという職業の10年間の変遷を振り返る - 渋谷駅前で働くデータサイエンティストのブログ
                                                      • MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita

                                                        この記事は、株式会社カオナビ Advent Calendar 2023 の3日目です。 はじめに 株式会社カオナビの高橋(@kunit)です。 今回は MySQL バージョンアップ(5.7 -> 8.0) で起きた問題とそれに対してどのように対処したのかを書いていこうと思います。 何が起きたのか MySQL 5.7 から 8.0 にバージョンアップをするにあたって、CI およびローカル環境でテストができるように MySQL 8.0 のイメージを作成し、それをつかって各機能の担当者にテストを開始してもらっていたのですが、以下のような事が起きました。 接続を MySQL 5.7 から 8.0 に切り替えただけでテストの時間が3倍くらいかかるようになった そこを変更するだけで3倍遅くなるってやばいぞということで報告してくれた担当者と同じテストを自分でも実施してみると再現性があり、それが以下のどの

                                                          MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita
                                                        • MySQLロックについて〜基礎編〜 を開催しました! - ANDPAD Tech Blog

                                                          こんにちは!エンジニアの福間(fkm_y)です。 先日、弊社でデータベースの技術顧問をして頂いてる三谷(mita2)さんに開発部向けのMySQLロックのデータベース勉強会を実施したのでそのレポートをお伝えします。 開催背景 弊社では三谷さんによるデータベース勉強会を定期的に開催しています。以前にもロックに関するMySQL勉強会を開催していたのですが、1年半経過しており参加していない開発メンバーのほうが多くなっていたことやプロダクトの成長によりデッドロックなどのロックに起因する問題が目立ち始めていたことから増強版のMySQLロックのデータベース勉強会を開催することになりました。 概要 データベースのロックについて ロックタイムアウトについて デッドロックについて まとめ データベースのロックについて なぜデータベースにロック機構があるのかから知ることが重要です。性能と安全性を両立するためにあ

                                                            MySQLロックについて〜基礎編〜 を開催しました! - ANDPAD Tech Blog
                                                          • 100億レコード超のDBを“障害ゼロ”でマイグレーション 新卒1年目が考えた2つのアプローチと3つの工夫

                                                            インターネットやAIを駆使しながら、領域に捉われずにさらなる挑戦を行うDeNAの取り組みを紹介する「DeNA TechCon 2023」。ここで成田氏が登壇。PocochaのDBをマイグレーションしたことについて話します。 新卒1年目が100億レコード超のDBマイグレーションをした話 成田篤基氏:発表を始めます。みなさんはじめまして。成田と申します。私は2021年にディー・エヌ・エーに新卒で入社して、現在入社から2年が経とうとしています。 私は新卒1年目で、大規模なデータベースマイグレーションを行う貴重な経験ができました。本日はそのマイグレーションプロジェクトについて、体験から得た学びをみなさんにお伝えします。題して「新卒1年目が100億レコード超のDBマイグレーションをした話」です。どうぞよろしくお願いいたします。 目次です。本日はこちらの目次に沿って発表を進めていきます。 まずは私たち

                                                              100億レコード超のDBを“障害ゼロ”でマイグレーション 新卒1年目が考えた2つのアプローチと3つの工夫
                                                            • SELECT ... FOR UPDATE同士でデッドロックさせる - かみぽわーる

                                                              最近SELECT ... FOR UPDATEでデッドロックする話を何度かしたので。 前職のときにUPDATE同士がデッドロックしてたときに、SELECT ... FOR UPDATEで排他ロックを取ってからUPDATEしてデッドロックを防ぎますってPRをレビューしてたときのことで、複数レコードの排他ロックは一瞬ですべてのレコードのロックを取れるわけではなく、ロックを取る順番が揃っていないと簡単にデッドロックしますよという話です。 https://gist.github.com/kamipo/0bb4e37d58ba18a8cefb8aa02f778231 # frozen_string_literal: true require "mysql2" def client Mysql2::Client.new( host: "localhost", username: "root", dat

                                                                SELECT ... FOR UPDATE同士でデッドロックさせる - かみぽわーる
                                                              • ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog

                                                                こんにちは、テックリードの夏です。 今年4月にCTOからテックリードに肩書が変わり、ガリガリコードを書くようになりました。 背景については、こちらをご覧ください。 www.wantedly.com 普段はプロダクト側の機能開発と、サーバ側の基盤開発を半々ぐらいの割合で仕事しています。 一口にサーバ側の基盤開発といっても定義が曖昧なのですが、基本的にはこんな感じのタスクをやっています。 インフラコストの最適化 不正なアクセスからの防御 障害の再発防止 新技術の導入やアーキテクチャの整備 今回はこのうち「新技術の導入やアーキテクチャの整備」の中で、サーバサイドをGo + Clean Architectureで再設計したことについてお話したいと思います。 背景 ミラティブは2015年春頃に開発が始まり、同年8月にサービスがリリースされ、2020年8月で5周年を迎えました。 その過程で組織やプロダ

                                                                  ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog
                                                                • GitHubは200万行規模のRailsアプリケーションであり、毎週RailsとRubyを最新版にアップデートし続けている

                                                                  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のアップデート作業

                                                                    GitHubは200万行規模のRailsアプリケーションであり、毎週RailsとRubyを最新版にアップデートし続けている
                                                                  • 詳細設計の書き方 - Qiita

                                                                    はじめに システム開発において詳細設計という工程があります。 プログラマーはこの詳細設計を確認しながら開発を行うことになります。そのため詳細設計ではシステムの構造や仕様、動作などを細かく定義することが必要になります。 詳細設計を行うことでシステム開発の方向性が明確になり、コーディングやテストをスムーズに行うことができます。 詳細設計の成果物としてはクラス図やシーケンス図、画面設計書やデータベース設計書などがあり、システムの動きや機能を具体的に表現するものです。 今回は詳細設計を作成する機会があったので、詳細設計の書き方についてまとめたいと思います。 詳細設計の目的やメリット 詳細設計の目的は、システム開発の品質や効率を向上させることです。詳細設計では、システムの仕様や動作を細かく定義することで、以下のようなメリットがあります。 開発工程でのバグや遅延を減らすことができる テスト工程での不具

                                                                      詳細設計の書き方 - Qiita
                                                                    • SQLアンチパターン簡単まとめ

                                                                      「SQLアンチパターン」について、自分の勉強がてら内容を簡単にまとめました。 「とりあえずSQLは触れてWebアプリが作れる」「シンプルなアプリを実務で作ったことがある」くらいの人が読むととても勉強になると思います。 また、「現場での良くない設計」が詳細に言語化されているので、経験豊富な人でも新たな発見があると思います。 詳しく知りたい方は是非本を買って実際に読んでみて欲しいです。 第一章 ジェイウォーク パターン 1カラムにコンマ区切りで値を入れて複数の紐付きを表現しようとする なぜダメか 検索しづらい 文字列カラムの文字数制限という暗黙の制約を受ける バリデーションかけられない 解決策 交差テーブルの作成 第二章 ナイーブツリー パターン 木構造を表現するとき、常に親のみに依存する(parent_idだけ持ってしまう) 隣接リスト なぜダメか 階層を深く掘ろうとするとそのぶんSQLをか

                                                                        SQLアンチパターン簡単まとめ
                                                                      • Python コードでアーキテクチャ図を生成できる Diagrams がめっちゃ便利! - kakakakakku blog

                                                                        「Diagrams」を使うと Python コードでアーキテクチャ図を生成できる.サポートされているアイコンセットがとても多く AWS や Google Cloud や Microsoft Azure もあれば,Kubernetes やプログラミング言語なども使える.試してみたけどめちゃくちゃ便利!まさに Diagram as Code だ✌️ diagrams.mingrammer.com セットアップ 「Diagrams」は Graphviz に依存しているため,macOS だと pip と brew ですぐにセットアップできる. $ pip install diagrams $ brew install graphviz 試してみた さっそく Examples を参考にアーキテクチャ図を作ってみた! サンプル : AWS from diagrams import Cluster, D

                                                                          Python コードでアーキテクチャ図を生成できる Diagrams がめっちゃ便利! - kakakakakku blog
                                                                        • 【2019年】CTF Web問題の攻撃手法まとめ (Web問題のwriteupぜんぶ読む) - こんとろーるしーこんとろーるぶい

                                                                          CTF Advent Calendar 2019 - Adventarの25日目の記事です。 1つ前は@ptr-yudai氏の2019年のpwn問を全部解くチャレンジ【後半戦】 - CTFするぞでした。 はじめに 対象イベント 問題数 読み方、使い方 Cross-Site Scripting(XSS) SVGファイルを利用したCSPバイパス GoogleドメインのJSONPを利用したCSPバイパス サブリソース完全性(SRI)機能を利用した入力チェックバイパス Chrome拡張機能のパスワードマネージャーKeePassの悪用 HTML likeコメントを使用したコメントアウト jQuery.getJSONのJSONP機能を使用したスクリプト実行 DOM Clobberingによるコードハイジャック Service Workerを利用したスクリプト実行 XSS Auditor機能のバイパス

                                                                            【2019年】CTF Web問題の攻撃手法まとめ (Web問題のwriteupぜんぶ読む) - こんとろーるしーこんとろーるぶい
                                                                          • 2021年サーバーサイドのエンジニアが使ってよかったもの10選 - KAYAC engineers' blog

                                                                            こんにちは! Tech KAYAC Advent Calendar 2021 7日目を担当する荒賀(@ken39arg) です。 カヤックのエンジニアブログには2008年にPHPを使ったガラケー関連の記事を書いたのが最初になります。 それから10年以上たち、ガラケーも弊社でのPHPのプロジェクトもほぼなくなり、メンバーもかなり入れ替わり、私自身も20代だったのがついに40歳になりました。そんな私にとってこのアドベントカレンダーは私は今でもここにいるよというPingのような役割になっているため、年に一度若者に混じってアドベントカレンダーに参加しております。 例年ですと、趣味のマラソンなどに関する実績も書いているのですが、昨年同様、今年も続くコロナ禍により多くの大会が中止となったためこちらに関しては特に特記すべき実績はありません。ただ2020年に走るはずだった東京マラソンは権利は移行を続けてお

                                                                              2021年サーバーサイドのエンジニアが使ってよかったもの10選 - KAYAC engineers' blog
                                                                            • Re: 結局、Go言語をやめる理由はなかった件 - Hateburo: kazeburo hatenablog

                                                                              すみません、ISUCONのアレに火がついてしまったので..。 Advent Calendarとはとくに関係がありません。 qiita.com qiita.com こちらの記事をみて、気になってしまったので interpolateParams の追加とMySQLチューニングをしてベンチマークを回してみました。 ベンチマークの環境が公開されているのは素晴らしいですね。 github.com 8vCPU/16GB Memのc5a.2xlargeなEC2のインスタンスを起動して、以下の手順にしたがってdockerとdocker-composeをインストールしました。OSはUbuntu 20.04を使いました。 docs.docker.com docs.docker.com 上記のbenchmarkのrepositoryをgit cloneし、compose build && compose upし

                                                                                Re: 結局、Go言語をやめる理由はなかった件 - Hateburo: kazeburo hatenablog
                                                                              • Amazon SQS を使ったアプリケーションを本番で運用する際に考慮すべき基本的な 5 つのこと

                                                                                Amazon SQS は可用性やスケーラビリティの高いメッセジキューサービスであり、AWS の代表的なサービスの 1 つと言えるでしょう。ところが、本番の運用に耐えられるアプリケーションにしようと思うと考えることが意外に多いものです。本エントリーでは簡単なサンプルアプリケーションをベースに、本番で運用するために考慮すべき点・注意点について見ていきます。題材として扱うのが SQS なだけで、SQS 以外を使ったアプリケーションにも応用できる内容もあるでしょう。 なお、SQS には Standard queue と FIFO queue がありますが、Standard queue を使う前提とします。 アジェンダは次のとおりです。 サンプルアプリケーション 1. ログ 2. At-least-once delivery と visibility timeout 3. デプロイ 4. 異常系 5

                                                                                  Amazon SQS を使ったアプリケーションを本番で運用する際に考慮すべき基本的な 5 つのこと
                                                                                • Macの開発環境構築を自動化する 2019年夏版

                                                                                  私は年に 1 回、自宅と職場の 2 台の Mac をクリーンインストールでアップデートするのですが、開発環境の構築をある程度自動化しています。来年のために手順を残しておくので、参考にどうぞ。 目次 これまで 事前準備 Brewfile を作成する AppStore にログインしておく パッケージをインストール 再起動 パッケージのインストール後 Brewfile に書けるパッケージの探し方 おわりに これまで 自動化を始めたのは多分 2013 年とかその頃。使っていたツールは Brewfile に始まり、Ansible を経て、去年は rcmdnk/homebrew-file を使っていました。Ansible 時代が一番長かったと思います。2019 年のクリーンインストールの時期になり、セットアップはどうしようかと調べたところ、Homebrew/homebrew-bundle が Home

                                                                                    Macの開発環境構築を自動化する 2019年夏版