タグ

hondabinのブックマーク (1,794)

  • AWS CDKのベストプラクティスは本当にベストなのか アーキテクトが今一度考える「リソースの自動名付け」の公理

    AWS CDK Conference Japan」は AWS CDK ユーザーが集まって事例やノウハウを共有しあうイベントです。今回は、CDKv2をメインテーマに、初の大型カンファレンスが開催されました。クラスメソッド株式会社の佐藤智樹は、CDKのベストプラクティスにおける、「リソースの自動名付け」をテーマに発表しました。全2回。前半は、ベストプラクティスの詳細と、物理名を使う場合のデメリットについて。 自己紹介 佐藤智樹氏(以下、佐藤):それでは始めたいと思います。「それでも俺はCDKの作るリソースに物理名を付けたい〜CDKのベストプラクティスは当にベストなのか〜」という話をします。 正直に言うと、ユーザーグループのイベントなので、ちょっとこういう話もしていいのかなと思って応募してみたら、思っていたより参加人数がすごく、ちょっとビビっていますが、始めていきたいと思います。 (スライド

    AWS CDKのベストプラクティスは本当にベストなのか アーキテクトが今一度考える「リソースの自動名付け」の公理
    hondabin
    hondabin 2024/07/05
  • Amazon ECSのログストリームを見やすく階層的に整理できるawslogs設定 - Hatena Developer Blog

    こんにちは。SREのid:do-su-0805です。普段はid:do_su_0805として生活しています。 この記事では、Amazon ECS(以下、ECS)でコンテナを動かすとき、ログドライバーとしてawslogsを利用してAmazon CloudWatch Logs(以下、CloudWatch Logs)にログを出力する際に、awslogs-stream-prefixというパラメータには何を設定するとよいかについて考察します。 結論から言うと、このパラメータに「コンテナのイメージタグ」を入れるようにしたところ、出力されるログストリームの/区切りの階層が見やすくなり、ログが世代別に扱いやすくなったよ、というお話です。 ECS+CloudWatch Logs構成時のロググループとログストリームについて どのようなログストリームが構成されがちかを事例から考えてみる awslogs-strea

    Amazon ECSのログストリームを見やすく階層的に整理できるawslogs設定 - Hatena Developer Blog
    hondabin
    hondabin 2024/07/05
  • データベースの在庫の持ち方をビットで管理してる話 - 一休.com Developers Blog

    こんにちは、一休.comスパ(以下、「スパ」)の開発を担当しているshibataiと申します🙏 今回はスパのデータベースの在庫の持ち方で試行錯誤した話をさせていただきます。 背景 2024-03-29追記: 一休.comスパにおける在庫の特徴について 一休.comスパが扱う「在庫」は、「ある日付の特定の時間に対する空き枠」です。以降の説明では、スパ施設ごと、日付ごと、また時間ごとに増えていく「在庫」をいかに効率よく扱うかについて説明しています。 詳細については次のスレッドも参照してください! https://t.co/Y0SPmDE4yZ この記事のコメントみてると、少し我々のシステムの要件が伝わってないというかそこの説明が記事に不足しているように思った。ので以下その補足— naoya (@naoya_ito) March 29, 2024 現在の実装 スパは予約を受け付けるために在庫の

    データベースの在庫の持ち方をビットで管理してる話 - 一休.com Developers Blog
    hondabin
    hondabin 2024/06/27
  • メルコイン決済基盤における分散トランザクション管理 | メルカリエンジニアリング

    この記事は、Merpay Tech Openness Month 2023 の7日目の記事です。 はじめに こんにちは。メルコイン Payment Platform チームの @sapuri です。 メルコインではマイクロサービスアーキテクチャを採用しており、お客さまによりアプリの操作が行われると、それぞれのマイクロサービスを横断してリクエストが処理されます。 メルコインの Payment Platform は、お客さまの残高の管理や各種帳簿の作成などの決済事業のための基盤となる仕組みを提供しています。 そのなかで、Payment Service は決済トランザクションを管理するサービスとして、下位層のサービスが提供する各種決済手段を利用して、上位層のサービスが共通して利用できる決済 API を提供しています。 この記事ではマイクロサービスアーキテクチャにおける分散トランザクション管理の課

    メルコイン決済基盤における分散トランザクション管理 | メルカリエンジニアリング
    hondabin
    hondabin 2024/06/18
  • ts-morphについてまとめる

    Projectを作成する&SourceFileの作成 ts-morphの基は、Projectを作って、そのProject内でSourceFileをファイルから読み込んだり、直接作成したりする。 import { Project } from "ts-morph"; const project = new Project(); // SourceFileを作成する const sourceFile = project.createSourceFile("./hoge"); // ファイルからSourceFileを作成する const sourceFile = project.getSourceFile("./hoge.ts") // Project内の全てのファイルからSourceFileを作成する const sourceFiles = project.getSourceFiles()

    ts-morphについてまとめる
    hondabin
    hondabin 2023/10/19
  • WEB+DB PRESSと私

    「大江戸Ruby会議10」での発表資料です。 https://regional.rubykaigi.org/oedo10/

    WEB+DB PRESSと私
    hondabin
    hondabin 2023/10/16
  • DroidKaigi 2023にてパスキーについて話しました

    株式会社MIXI 開発部 MIXI M事業部の ritou です。 DroidKaigi 2023にてお話しさせていただきました。 資料も公開しました。 今回も発表内容全部書き出してみたをやってみます。 同時通訳ありだったので台はできていて、この通り話せたら良いだけだったのですが実際はそううまくいかずに普通に時間なくなりました。 それではどうぞ。 これからパスキーに関するユースケースと、それに伴うユーザーエクスペリエンスの課題について発表します。 株式会社MIXIでエンジニアとして働いています。 MIXI MというサービスでID基盤の開発に携わっており、8月にパスキー対応を行いました。 その経験も踏まえて、今日はお話をさせていただきます。 また、OpenIDファウンデーションジャパンでエバンジェリストをしています。 今日はID連携とパスキーの関係についてもお話します。 この発表を通して

    DroidKaigi 2023にてパスキーについて話しました
    hondabin
    hondabin 2023/09/17
  • これだけ読めばOK!Scalaの環境構築2023 - Lambdaカクテル

    自分は、仕事Scalaを数年間・プライベートな経験を含めると10年弱のScalaの経験がある、そこそこの熟練Scalaエンジニアだ。チームにメンバーが入ってきたり他人に勧めるたびにScalaの環境構築を教えている一方、最新の知見を反映した記事が無くて他人に勧めづらかったので、自分が書くことにした。 現在ある記事 けっこう古びている 覚えながら書かれていることが多いのでやや曖昧な箇所がある(でもありがとう!) 最新のツールが利用できておらず無駄が多い 網羅的でない 今回目指す内容 最新の知見を活用して最短距離を目指す 何もない状況から一通りのツールが揃う所を目指す Scalaの環境構築は年を追うごとに簡単になってきているので、大多数の読者は引っかからずに進めるようになっているはず。 Scalaは基的にJVMで動作する言語だ。このため環境構築にはJVMのセットアップも含まれるのだが、それに

    これだけ読めばOK!Scalaの環境構築2023 - Lambdaカクテル
    hondabin
    hondabin 2023/09/15
  • トップページ

    「karino2のあおぞらAndroid開発教室」のトップページです。 以下の再生リストのコンテンツと連動しています。 このコースは、基的には以下の二つが交互に進む感じになっています。 Androidの勉強 kotlinというプログラム言語の勉強 Androidの方には「Android側」と記述してあります。区別が曖昧なものもありますが、目安にどうぞ。 AndroidStudioを触ってみる Android側 最初の一歩、TextViewとButtonを使ってみよう! Android側 EditText、チェックボックスなどを使ってみる この辺まで終わったら、プログラム言語の方の勉強を少しする方が良い。 プログラムをkotlinで学ぶ、前篇 ここから少しプログラム言語の勉強をする。 算数で挫折した人向けのJavaScript入門を6.3までやる 「算数で挫折した人向けの、JavaScri

    hondabin
    hondabin 2023/09/07
  • 【Flutter】アプリ全体のアーキテクチャを0から考えて作り直した話

    ここ半年ほど、仕事Flutter アプリを 0 から作り直しています。 ちょうど今年の個人的なテーマを「アーキテクチャ」に据えていたこともあり[1]、またその一環として 「Clean Architecture 達人に学ぶソフトウェアの構造と設計」 (以下:クリーンアーキテクチャ)を読んでいたこともあり、この作り直しでは「アーキテクチャ」をしっかりと自分の頭で考えながら作ろうと決めて取り組んできました。 アーキテクチャについて頭を悩ませながら実装を進めること約半年、ようやくアプリが形になるとともにある程度知見も溜まってきましたので、その知見を一般化した内容をこの記事にまとめていきたいと思います。 注意 この記事は、「Flutter アプリのアーキテクチャはこれがベストプラクティス!」という類の記事ではありません。あくまで 私の目の前の要件ではこれが最適と判断した という一例の紹介になり

    【Flutter】アプリ全体のアーキテクチャを0から考えて作り直した話
    hondabin
    hondabin 2023/08/30
  • 負荷が低いのにアクセスを捌けきれない時の対応 - Carpe Diem

    概要 MongoDBCPU使用率やロードアベレージが高くないのに処理が詰まっている現象が起きました。 その時間にbatchが動いていてアクセスが急に増えることが原因と言うのは分かっているのですが、負荷的には十分余裕があり不思議な状態でした。 そこでdstatで見るポイント - Carpe Diemでも述べたように、負荷の状態から判断する基準があります。 ロードアベレージを確認する 1が高ければCPU、ディスクI/O、メモリにボトルネックがある 1が低ければTCPコネクションにボトルネックがある 今回の現象から判断するに、TCPコネクションに原因がありそうです。 原因調査 Too many open filesは出ているか ファイルディスクリプタが足りない場合はコネクション数が足りずに処理が詰まってしまいます。 そしてその場合Too many open filesというエラーが出ます。 し

    負荷が低いのにアクセスを捌けきれない時の対応 - Carpe Diem
    hondabin
    hondabin 2023/08/29
  • CookieとWeb Storageの仕様を比較する

    Cookie Set-CookieはHTTPのレスポンスヘッダーで、サーバーからユーザーエージェントへクッキーを送信するために使われる。 また、ユーザーエージェントはサーバーに送り返すことができる。 そのため、HTTP サーバーが HTTP ユーザーエージェントに状態を保存するために使用することができる。 Cookieの利用目的 セッション管理 ログイン状態や買い物時のカートの状態など パーソナライズ トラッキング Set-CookieCookieヘッダ HTTP の Set-Cookie レスポンスヘッダーは、サーバーがユーザーエージェントへ Cookie を送信するために使用します。 HTTP/2.0 200 OK Content-Type: text/html Set-Cookie: yummy_cookie=choco Set-Cookie: tasty_cookie=straw

    CookieとWeb Storageの仕様を比較する
    hondabin
    hondabin 2023/08/07
  • Feature Flagsのベストプラクティス(機能トグル)|Harness正規販売代理店(株)Digital Stacks

    実運用でのテスト、トランクベースの開発、デフォルトでのフィーチャーフラグの使用 - これらは全て、フィーチャーフラグのベストプラクティスです。今すぐ詳細を学び、あなたのフィーチャーフラグ体験を可能な限り有益なものにしましょう! これまでにも、「意外と知らないフィーチャーフラグの5つの活用例」「フィーチャーフラグを使った番環境でのテスト」「Progressive Delivery。 Canariesとフィーチャーフラグ 」など、フィーチャーフラグについて多くの記事を書いてきました。 しかし今日は、チームが成熟し、フィーチャーフラグを立てることが標準になってきたときに、よりよい結果を得られるよう、より高度なフィーチャーフラグのベストプラクティスを提供するために時間をとりたいと思います。 これらのヒントは、ソフトウェアチームが、機能トグルの実装、機能テストの拡張、アクセス制御のためのシステム動

    Feature Flagsのベストプラクティス(機能トグル)|Harness正規販売代理店(株)Digital Stacks
    hondabin
    hondabin 2023/07/27
  • こんなフィーチャーフラグは気をつけろ! - Secret Ninja Blog

    機能リリースにあたって”フィーチャーフラグ”を使って、特定のユーザにのみリリースをしたりするやり方が一般的になってきたように思う。 また、launchdarklyのようなフィーチャーフラグに特化したサービスなども出てきている。 https://launchdarkly.com/ トレジャーデータでもフィーチャーフラグを利用して顧客にサービス提供を行なっているが、今まで経験してきた中で、こんなフィーチャーフラグを作ってしまうと後々困るから気をつけようね。って話をしてみる。 ちなみにここではオペレーションの観点からフィーチャーフラグの気をつけないといけない点を挙げる。 また、下記でいうところの"Experiment"または"Permission"に当たることが多い。 Feature Toggle Types | Unleash 1 - え、PMが機能リリース後にやめちゃった。 正確なデータがあ

    こんなフィーチャーフラグは気をつけろ! - Secret Ninja Blog
    hondabin
    hondabin 2023/07/27
  • フィーチャーフラグを管理するためのOpenFeature | フューチャー技術ブログ

    はじめにTIG DXユニット真野です。 CNCF連載の2目はクラウドネイティブなフィーチャーフラグの標準とAPI、SDKを提供するOpenFeatureについてです。 フィーチャーフラグとはフィーチャーフラグとはコードを変更せずに、フラグを使って機能を有効/無効化する開発/デプロイ手法のことです。一般的なユースケースとしては、特定のユーザーに対して再起動とか再デプロイをせずに、新機能を有効化したいといった場合に役立ちます。信頼度が高くなったらより段階的に広範囲に対象を広げていくと安心ですね。この使い方だけであれば、カナリアリリースを想像しますが、他にも次のようなユースケースが考えられます。 初期から契約している特別な顧客(あるいはプレミアムプランに契約している顧客)に向けて開発した機能を提供する バグが見つかったので、該当機能を無効化してアプリの振る舞いをロールバックする 繁忙期にシステ

    フィーチャーフラグを管理するためのOpenFeature | フューチャー技術ブログ
    hondabin
    hondabin 2023/07/27
  • GitHub Copilotの全社導入とその効果 - ZOZO TECH BLOG

    はじめに こんにちは、CTO/DevRelブロックの堀江(@Horie1024)です。ZOZOではGitHub Copilotを全社へ導入しました。投稿では、GitHub Copilotの導入に際して検討した課題とその課題の解決策としてどのようなアプローチを取ったのかを紹介します。 目次 はじめに 目次 GitHub Copilotとは何か? GitHub Copilot導入の背景と目的 導入する上での課題 セキュリティ上の懸念 ライセンス侵害のリスク GitHub Copilot for Businessの利用 導入による費用対効果 試験導入による費用対効果の見積もり 試験導入の実施 対象者の選出 アンケートの設計 試験導入の実施 アンケート結果の集計 アンケート結果の考察 費用対効果の見積もり 全社導入の判断 導入決定後のGitHub Copilot利用環境の整備 社内LT会 おまけ

    GitHub Copilotの全社導入とその効果 - ZOZO TECH BLOG
    hondabin
    hondabin 2023/07/12
  • LIFULL嶌田氏の目指す「デフォルト・アクセシブル」の世界 | inquire.jp

    「アクセシビリティ」と聞いて何を思い浮かべるだろうか。身近な例としては、スマートフォンの設定にある「アクセシビリティ」の項目があるだろう。ただ、多くの人にとってそれはおまけの機能に過ぎず、自分とは関係のないものだと思っているかもしれない。 しかし、高齢者や障害者などの当事者にとっては必要な情報にアクセスするために不可欠な機能であり、アクセシビリティは死活問題や人権問題とも言える重要な問題になり得る。そのため、ウェブ業界ではWCAG(Web Content Accessibility Guidelines)というガイドラインがある。 ただし、その項目は膨大で目を通すのも一苦労という代物。重要な問題にもかかわらず取り組みづらいというのが、ウェブにおけるアクセシビリティの現状だ。 アクセシビリティという人権問題に挑む「LIFULLアクセシビリティガイドライン」 この現状を打破すべく、株式会社LI

    LIFULL嶌田氏の目指す「デフォルト・アクセシブル」の世界 | inquire.jp
    hondabin
    hondabin 2023/07/02
  • うっかり人助けが循環する「チロル堂」という空間が持つ受容性──伊藤亜紗氏と吉田田タカシ氏が語る「利他」の姿勢 | inquire.jp

    世界を見渡せば、そこには数多くの社会課題を解決するための取り組みが存在している。それらの原動力の一つに、「利他」の姿勢があるのではないだろうか。 社会に「利他」の姿勢がさらに浸透することで、どのような課題が解決されうるのか。それを紐解くカギは、「『利他』とは何か」という問いへ向き合い続けることにあるかもしれない。 一人ひとりが生き方に対する姿勢や態度を見つめ、暮らしや仕事のヒントを探るイベント「Lifestance EXPO」が2023年3月に開催された。初日は計3つのトークセッションがひらかれ、「なぜ今、『人助け』が広がっているのですか? ―ともに生きる社会をつくる、デザインと利他の幸せな関係」をテーマに、この問いを共に考え、深め合うためのセッションが設けられた。 登壇したのは「まほうのだがしやチロル堂」共同代表の吉田田タカシ氏と、東京工業大学「未来の人類研究センター」で「利他」の概念研

    うっかり人助けが循環する「チロル堂」という空間が持つ受容性──伊藤亜紗氏と吉田田タカシ氏が語る「利他」の姿勢 | inquire.jp
    hondabin
    hondabin 2023/06/15
  • TypeScript 本体のコードを読んでみよう

    みんなお世話になっている TypeScript のコードを読みたいと思ったことはないだろうか。読んだ。 一週間ぐらいかかった。完全に読み切ったとは言えないが、概要は掴んだ。 なかなかに複雑でドメイン知識を得るのが難しかったので、これから読む人向けに、登場人物や概念を整理して紹介したい。 読んだのは 2023/6/8 時点で git clone したコード。 最初に: 自分のゴール設定 複数ファイルにまたがった参照を、 TypeScript の Language Service が提供する findReferences() や findRenameLocations(), goToDefinitions() を使って、インクリメンタルに書き換えたかった。 Terser を使うと、今触ってるオブジェクトが何で、何のメンバを書き換えたかの情報が残らない。これを TypeScript のレイヤーで

    TypeScript 本体のコードを読んでみよう
    hondabin
    hondabin 2023/06/15
  • 作ってわかる! はじめてのgRPC

    gRPCは主にバックエンド、特にマイクロサービス同士の通信に多く使われる通信方式です。 しかしそれゆえに知名度が低く、「gRPCってどんな通信なんだろう?」「HTTPとは別の仕組みなの?」と思っている方もたくさんいるのではないでしょうか。 このでは、gRPCはそもそもどんなコンセプトで作られた通信方式なのかから、Goでの具体的な実装ノウハウ、AWSにデプロイするための設定までを通貫して解説することで、 「gRPC全くわからない」という人が「自分で実装して動かせそうな気がする……!」と思える段階までたどり着けるようにしました。

    作ってわかる! はじめてのgRPC
    hondabin
    hondabin 2023/06/01