jiikkoのブックマーク (213)

  • 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プロダクトチームブログ
    jiikko
    jiikko 2024/08/07
  • モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話

    こんにちは、Sally社 CTO の @aitaro です。 マーダーミステリーアプリ「ウズ」とマダミス制作ツール「ウズスタジオ」、マダミス情報サイト「マダミス.jp」を開発しています。 はじめに この記事ではウズの開発当初から利用していた Docker Compose をやめることにした背景についてご紹介します。 Docker Compose は各マシンの開発環境での差異を吸収するというメリットがあり、多くの開発現場で導入されていますが、Docker Composeの抱えているデメリットを勘案して、最終的に一部を残して辞める決断をしました。 Docker Composeの特徴 Docker Composeは、複数のコンテナを定義し、管理するためのツールです。ウズの開発環境では、バックエンド、フロントエンド、データベースなどをそれぞれコンテナ化して、Composeで一括管理していました。こ

    モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話
    jiikko
    jiikko 2024/06/15
  • 「詐欺電話は名指しで来るよ」という注意喚起

    [B! 詐欺] 電話番号の末尾「0110」に注意、警察装う詐欺相次ぐ…番号表示技術を悪用か 注意喚起のため、こちらに自分にかかってきた電話の手口を書く 突然の電話 「増田さんですか?」 「はい」(名前は合っていた) 「今から警視庁に来られますか?」 「無理だ」と答える 「警視庁のXXと言いますが」 「詐欺事件の捜査中、犯人の一人の自宅から、あなたの口座のカードが見つかった」 「心当たりはあるか?」 「こころあたりはない」と答える 「おそらく個人情報が盗まれて詐欺に使われたのだと思うが」 「はい」 「あなた名義の口座で4000万円ほどの取引がされていた」 「これは詐欺の被害額ということになる」 「今の段階ではあなたも詐欺集団の一員である疑いがあり、捜査しなくてはならない」 「私は無関係なのですが」 「こちらもそう思っているので、逮捕や強制捜査のようなことはしたくない」 「できる限り協力してほ

    「詐欺電話は名指しで来るよ」という注意喚起
  • 余らせたラズパイの使い道 - Qiita

    about みんなだいすきRaspberry Pi(以下ラズパイ)、せっかく買ったのに、仮想化基盤を家に用意して不要になったり、電子工作に飽きてもう使わなくなりがち… 買ったときは数千円〜1万円以上出したのにね… そんな可哀想なラズパイ、家に転がってませんか?もったいなくないですか? 僕も ラズパイ初代 ラズパイB+ ×2(マジでいらない…) ラズパイ4B(2GB) ラズパイ4B(4GB) が家に転がってます。 そこで、使い道を考えてみました。というか実際に運用しているものもあります。 使い道 Magic Mirror2 Magic Mirror2をご存知でしょうか? なんかいい感じに、「鏡よ鏡、世界で一番美しいのは誰?」的なのをすることができます。 実際にどういった使い方を想定しているかは、「スマートミラー」を検索してみればいいかな〜と。(適当でごめんなさい) 直近の自分のタスクとかをい

    余らせたラズパイの使い道 - Qiita
    jiikko
    jiikko 2024/03/22
    Switchのコンバーターにしてる https://protopedia.net/prototype/2967
  • What I learned from Software Engineering at Google | Swizec Teller

    Senior Mindset BookGet promoted, earn a bigger salary, work for top companies Start with a free chapterGet a free chapter from the Senior Engineer Mindset book and a sample audiobook chapter, followed by a Senior Mindset 101 email course. What I learned from Software Engineering at GoogleWhen I first picked up Software Engineering at Google I thought it was another one of those FAANG books full of

    What I learned from Software Engineering at Google | Swizec Teller
    jiikko
    jiikko 2021/07/21
  • あらゆるゲームでオートエイムを可能にする検出困難なチートツールが開発されてしまう、なんと家庭用ゲーム機にも対応

    オンラインゲームにおけるチート行為はゲームバランスを崩壊させてユーザー離れを引き起こす原因となることから、ゲーム開発企業はチート行為を行ったユーザーにゲームプレイ禁止措置を施したり、チート行為をAIを用いて検出したりと、さまざまなチート対策を行っています。そんな中、あらゆるFPSゲームでオートエイムを可能にし、PCだけでなくPlayStationやXboxなどの家庭用ゲーム機にも対応したチートツールが開発されました。 Cheat-maker brags of computer-vision auto-aim that works on “any game” | Ars Technica https://arstechnica.com/gaming/2021/07/cheat-maker-brags-of-computer-vision-auto-aim-that-works-on-any-

    あらゆるゲームでオートエイムを可能にする検出困難なチートツールが開発されてしまう、なんと家庭用ゲーム機にも対応
    jiikko
    jiikko 2021/07/12
  • TypeScriptプロジェクトのCIでやってること

    概要 最近退職に伴いTypeScriptプロジェクトのCI/CDの見直しを行っているので主にプルリクに対するCIを中心に何をやっているのか(やっていた&やろうとしているもの含む)紹介します。 それぞれはさらっとした紹介のみです。 ちなみに書いてから気づいたんですが殆どTS以外でもできます。 tsc, prettier, eslintです。恐らく殆どのプロジェクトでやっているかと思います。 tscは--noEmitオプションを付けて実行、eslintは--cacheと--quietオプションを付けて実行しています。 prettierは--list-differentオプションを付けると差分があった場合(=prettierが適用されていないファイルがあった場合)にエラーにしてくれます。 CIでWebpack等でバンドルしてる場合はこの辺を明示的に行わなくてもそこでコケるのでやってないケー

    TypeScriptプロジェクトのCIでやってること
    jiikko
    jiikko 2021/07/10
  • TypeScriptを雰囲気で使っていたので勉強し直したら知らなかったこと

    は同義である。JSでいうところのobjectを定義すると{ name: string }という型が暗黙的に定義されたことになる。 リテラル型 値を指定する型のこと。決まった値しか使わせたくない場合に使用する。

    TypeScriptを雰囲気で使っていたので勉強し直したら知らなかったこと
    jiikko
    jiikko 2021/06/27
  • ユーザー アカウント、認証、パスワード管理に関する 13 のベスト プラクティス2021 年版 | Google Cloud 公式ブログ

    ※この投稿は米国時間 2021 年 5 月 7 日に、Google Cloud blog に投稿されたものの抄訳です。 2021 年用に更新: この投稿には、Google のホワイトペーパー「パスワード管理のベスト プラクティス」のユーザー向けとシステム設計者向けの両方の最新情報を含む、更新されたベスト プラクティスが含まれています。 アカウント管理、認証、パスワード管理には十分な注意を払う必要があります。多くの場合、アカウント管理は開発者や製品マネージャーにとって最優先事項ではなく、盲点になりがちです。そのため、ユーザーが期待するデータ セキュリティやユーザー エクスペリエンスを提供できていないケースがよくあります。 幸い、Google Cloud には、ユーザー アカウント(ここでは、システムに対して認証を受けるすべてのユーザー、つまりお客様または内部ユーザー)の作成、安全な取り扱い、

    ユーザー アカウント、認証、パスワード管理に関する 13 のベスト プラクティス2021 年版 | Google Cloud 公式ブログ
    jiikko
    jiikko 2021/06/14
  • Develop apps for Apple platforms | Apple Developer Documentation

    Learn the basics of Xcode, SwiftUI, and UIKit to create compelling apps.

    Develop apps for Apple platforms | Apple Developer Documentation
    jiikko
    jiikko 2021/05/31
  • Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定 - メドピア開発者ブログ

    CTO室SREの@sinsokuです。 Dockerイメージのビルドを高速化するため、試行錯誤して分かった知見などをまとめて紹介します。 AWSのインフラ構成 assetsもECSから配信し、CloudFrontで /assets と /packs をキャッシュする構成になっています。 Rails on ECS デプロイ時にassetsが404になる問題 以前の記事に詳細が書かれているため、ここでは問題の紹介だけしておきます。 Rails等のassetsファイルをハッシュ付きで生成し配信するWebアプリケーションの場合、ローリングアップデートを行うと、アップデート時に404エラーが確立で発生してしまいます。 引用: メドピアのECSデプロイ方法の変遷 Dockerfile 実際のDockerfileには業務上のコード、歴史的な残骸などが含まれていたので、綺麗なDockerfileを用意しま

    Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定 - メドピア開発者ブログ
    jiikko
    jiikko 2021/05/28
  • すべての働く人におくるストレスマネジメントの基本 | knowledge / baigie

    仕事は挑戦の連続です。経験を積み、スキルが上がり、評価されるほど、難易度が高い仕事に関わるようになります。そこには必ず苦難があり、ストレスが待ち構えています。 ストレス学説の生みの親であるカナダ人生理学者のハンス・セリエ氏は、「ストレスは人生のスパイスである」という名言を残しています。確かにストレスは必ずしも悪いものではありません。 例えばパフォーマンスとストレスレベルは、逆U字の関係にあります。あるレベルまではストレスレベルの高まりに従ってパフォーマンスは向上し、あるレベルを超えるとパフォーマンスは低下します。この法則は心理学者ロバート・ヤーキーズとジョン・ドットソンの名前を取り、「ヤーキーズ・ドットソンの法則」と呼ばれています。 この法則に従えば、仕事で高いパフォーマンスを発揮したいなら、ストレスをゼロにするのではなく、適度なレベルにコントロールしなければなりません。そのために必要なの

    jiikko
    jiikko 2021/05/19
  • システム開発でよくある「ごん、お前だったのか」現象と依存関係、そして汎用性の罠の話 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

    株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 マネジメント要求定義教訓ごんおま現象依存関係ツリー思考法カオスエンジニアリングフェイルファスト技術的負債 こんにちは、羽山です。 昔話には生きる上での数多くの教訓が込められています。今回は ごんぎつね からシステム設計・開発について考えてみましょう。 ごんぎつねの話はみなさんもご存じの通り、いたずらを悔いたごんぎつねが人知れず兵十という青年に贈り物を届けるも最後まで気づかれないまま火縄銃で撃たれてしまい、最後に「ごん、お前だったのか」となる話です。 さて、 達人プログラマー という書籍には 契約による設計(Design by Contract) という考え方が解説されています。 メソッドを契約として、 要求された以上のことも以下のことも行わない という考え方

    システム開発でよくある「ごん、お前だったのか」現象と依存関係、そして汎用性の罠の話 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
    jiikko
    jiikko 2021/05/18
  • MySQLのquery review helperを作ってみた - tom__bo’s Blog

    せっかくのGWなので、おもちゃを作りました。 Query Review Helperです。 github.com 背景 最近MySQLで実行されるクエリをレビューするタスクが異常に多くなってきました。 開発者の全員がindexやjoin, partition, limit offsetなどなどのハマりどころを知っているというのが理想ではありますが、そうも行きません。 大体EXPLAINをかけてtable scanになっていないか、sortやlimit offsetで劇的に重いクエリがないか確認すれば、すぐに問題になるようなことはありませんがいくつか問題があります。 複数のサービスを横串に見ていると各サービスのテーブル設計の詳細を知らない 大きいサービスだとテーブル数やカラム数が異常に多い(数百テーブル, 各テーブルに数十カラムとFKが、、、とか) tableやcolumn, subquer

    MySQLのquery review helperを作ってみた - tom__bo’s Blog
    jiikko
    jiikko 2021/05/06
  • 「結果が出ない焦り」と向き合う方法|柴田史郎

    柴田(@4bata)です。連休なので、適用範囲は広いけどすぐに役立たないことを調べつつ、自分なりに言語化します。 やりたいこと「一定の経験や学習量を超えるまでは全く答えが見えず、ある日突然答えが見える経験」の言語化2019年の10月に、今働いている会社で管理部門全般の責任者になることが事実上決まった。2021年の5月現在、「やっと、担当範囲の全体像がつかめてきたぞ、あと少しで、施策の優先順位等をつけられるな」という手応えを感じている。ここまで1.5年。この前にやっていた人事職でも、2年ぐらい同じように試行錯誤をしていた期間があったので、個人的には焦りはなかった。ただ周囲を見渡してみると、「2年ぐらいは結果でないけどやってみるかー」というスタンスで仕事に取り組める人ばかりではない。なので、言語化してみたい。 よくある「努力と結果は比例しない」の説明。これも現実とは違う。よくある説明図。頑張っ

    「結果が出ない焦り」と向き合う方法|柴田史郎
    jiikko
    jiikko 2021/05/04
  • 【図解】https(SSL/TLS)の仕組みとシーケンス,パケット構造 〜暗号化の範囲, Encrypted Alert, ヘッダやレイヤについて~

    【図解】https(SSL/TLS)の仕組みとシーケンス,パケット構造 〜暗号化の範囲, Encrypted Alert, ヘッダやレイヤについて~
    jiikko
    jiikko 2021/05/04
  • クリーンアーキテクチャ完全に理解した

    clean_architecture.md 2020/5/31追記: 自分用のメモに書いていたつもりだったのですが、たくさんのスターを頂けてとても嬉しいです。 と同時に、書きかけで中途半端な状態のドキュメントをご覧いただくことになっており、大変心苦しく思っています。 このドキュメントを完成させるために、今後以下のような更新を予定しています。 TODO部分を埋める 書籍を基にした理論・原則パートと、実装例パートを分割 現在は4層のレイヤそれぞれごとに原則の確認→実装時の課題リスト→実装例という構成ですが、同じリポジトリへの言及箇所がバラバラになってしまう問題がありました。更新後は、実装時の課題リストを全て洗い出した後にまとめて実装を確認する構成とする予定です。 2021/1/22追記: パートの分割と、クリーンアーキテクチャという概念の定義について追記を行いました。大部分の実装例パートを中心

    クリーンアーキテクチャ完全に理解した
    jiikko
    jiikko 2021/04/27
  • Webページがブラウザに表示されるまでに何が起こるのか?

    ## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 上記で「127.0.0.1 localhost」とあるように、[IPアドレス] [ホスト名]というフォーマットで書かれます。 HOSTS.TXTが使われていた当時 ( 1970年代 ) では、わずか数百台のホストしかなかったので、ネット上の全てのホスト情報の記載が可能でした。 しかし、インターネットが普及していくにつれてHOSTS.TXTは肥大化していき、1983年には、ホスト数はおよそ数万台になりました。もはやHOSTS.TXTによる名前解決は不可能となったので、現在のようなDNS

    Webページがブラウザに表示されるまでに何が起こるのか?
    jiikko
    jiikko 2021/04/15
  • 必要だと気付いてもいなかったフロントエンド用リポジトリ7選 - Qiita

    より良いものをより早く作るのに役立つ、あまり知られていないリポジトリ。 Photo by Juan Rumimpunu on Unsplash はじめに 私たちは、汎用ツールやリソースが数回タップするだけで手に入る時代に生きています。しかも幸いなことに、そのほとんどが無料です。 新しいツールやより簡単な方法が見つかり、面倒で複雑なタスクを実行できれば、誰にとっても、特に開発者には嬉しいことです。 でも、より良く賢い方法があり、予想外の方法で時間を節約できることを知らない場合もあります。 この2年間で見つけたGitHubの素晴らしいリソースは、私をかなり助けてくれました。これらのうちいくつかは、その必要性さえ知りませんでした。 そこで、あなたもおそらく必要になるGitHubリポジトリのリストを作りました。 1. 33 JS concepts ソース 私はプログラミングをJavaで始め、その後

    必要だと気付いてもいなかったフロントエンド用リポジトリ7選 - Qiita
    jiikko
    jiikko 2021/04/14
  • SaaS系スタートアップのリアルなAWSアーキテクチャ設計

    概要 AI革命のインフラを目指すSaaS系スタートアップのFastLabel(最近資金調達しました!記事はこちら)で働いているが、今までGCPで動かしていたインフラを訳あってAWSに基盤を載せ替えることになった。 スタートアップは何よりスピードが求められるが、だからといってセキュリティやモニタリング、可用性を疎かにはできないし、大きなインフラコストに耐えられるほど体力もない。 アプリケーション要件を満たしつつ、以下を実現するアーキテクチャを設計する。 シンプルな構成・構築の容易さ スピーディな開発・適用 可用性の担保 セキュリティの担保 最低限のモニタリング 低コスト(リソース・運用) ここで紹介するアーキテクチャは実際に運用まで行っており、問題なく稼働しているし、先日AWSの方にレビューしてもらったが、「なかなかイケてる」というお言葉をもらい、特に改善点も指摘されなかった。 結論(アーキ

    SaaS系スタートアップのリアルなAWSアーキテクチャ設計
    jiikko
    jiikko 2021/04/13