Developers Summit2023 Summer #devsumi での発表資料です https://event.shoeisha.jp/devsumi/20230727/session/4471/ #devsumiC
![これから学ぶ人のための ソフトウェアアーキテクチャ入門: Software architecture is a tool to enhance our humanity](https://cdn-ak-scissors.b.st-hatena.com/image/square/64656eb16ee50648455353a1807773bea0dde5d1/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fe3e0e0091a104703a0a3a57e2a5d3f01%2Fslide_0.jpg%3F26502552)
概要 前提 規約 コンテナはエフェメラル(短命:ephemeral)であること .dockerignoreを有効活用する 不要なパッケージのインストールを避ける コンテナ毎に1つのプロセスだけ実行 レイヤーの数を最小に 複数行の引数はアルファベット順、改行すること Docker network 概要 bridge none host overlay ipvlan macvlan Docker Volume 概要 bind mount volume tmpfs mount Dockerfileを扱う まずはDockerfileを作成する! FROM:ベースイメージを作成 RUN: 任意のコマンドを実行する WORKDIR: ワークディレクトリを追加する レイヤーの確認 コンテナの生成と停止 imageを作成 runでコンテナを起動 stopでコンテナを停止 pruneでDockerのお掃除
イントロ YouTubeを見てて、ふとしたきっかけでプログラミング初心者の自分でもアプリが作れるんじゃないかと思い、3週間で完成させた話を共有しようと思います! これからプログラミングを頑張ってみたい人や、既にエンジニアだけどchatGPTが本当に開発に役立つのかどうかを知りたい人のお役に立てれば幸いです。 今の時代なら誰でもアプリが簡単に作れます! 自己紹介 自分は3ヶ月前までプログラミングなんて全く触れたことがない人間でした。 しかし、最近流行りのAI、chatGPTに関して色々と話を聞いてみると、「もしかしたら自分もchatGPTを使えばアプリが作れるんじゃないか!?」と思うようになってきました。 LINEの「AIチャットくん」なんかもchatGPTを利用して一日で作られたらしいですね。 でもあれは元々アプリ開発経験のある人たちが作ったものなので、「本当にプログラミング初心者でもch
バックエンドエンジニアの徳富(@yannKazu1)です。先日、メドピアのメインサービスであるmedpeer.jpで使われているデータベースエンジンを、MySQLからAurora MySQLへと移行しました。今回はその移行のプロセスについて詳しくお話しします。 移行したデータベースの簡単なインフラ構成 移行方針 今回移行するデータベースは複数のアプリケーションから参照されており、ダウンタイムによるユーザー影響が大きいため、移行方針の検討の段階で重視したのは、ダウンタイムの最小化でした。これを達成するために、DNSのCNAMEレコードと、Auroraのリードレプリカを活用し、移行させることにしました。 DNSのCNAMEレコードの使用 データベースエンドポイントをアプリケーションに直接記述する代わりに、DNSのCNAMEレコードを利用して間接的に参照するようにしました。これにより、データベー
ChatGPTを業務に組み込むためのハンズオン 2023/06/26 一般公開用 デジタル庁 Fact&Data Unit 大杉直也 ↑マイナンバー交付数のダッシュボードを作っているところです 「Microsoft でテストされたアイデアのうち、改善を示すメトリクスを実際に改善できたのは3分の1にすぎない」 (Microsoft社 元Vice President) 「もしあなたが実験主導のチームにいるなら、70%の仕事が捨てられることに慣れてください。それに応じてプロセスを構築しましょう」(Slack社 Director) A/Bテスト実践ガイド p14より 一方で 「アイデアの価値を見積もることは難しい。このケースでは、年間1億ドルの価値ある単純な変更が何か月も遅れていた。」(同著 p5より) こともあります 午前中のアイデアソンで出たアイデアはちゃんと検証するまで価値があるかは不明です
こんにちは佐々木です。 AWSを利用していると気になるのが、AWSの利用料です。個々のサービス・リソースは機能に比べて充分に安いものの、利用しているうちにそれなりの金額に積み上がってくることが多いです。その対策として、AWSにはさまざまなコスト削減方法があり、即効性がある対策はSavings Plansやリザーブドインスタンスです。これらは一定期間の利用を宣言することにより、割引を受けることができます。今日はこの割引プランについての説明と、AWS Organizations適用時の効率的な利用料削減方法を紹介します。 リザーブドインスタンスとSavings Plans リザーブドインスタンスとSavings Plansは、どちらもEC2などのコンピュートリソースの利用料を節約するための料金プランです。リザーブドインスタンスとSavings Plansの違いは何でしょうか?リザーブドインスタ
堀場 隆文 アマゾン ウェブ サービス ジャパン株式会社 プロフェッショナルサービス本部 コンサルタント AWSのマネージドな認証サービスを利用してユーザー認証をサーバレスで構築してみませんか?システムに欠かせない機能の1つがユーザー認証です。開発者は様々な製品やサービスを組み合わせてユーザー認証機能を実装します。本セッションではユーザー認証で議論に上がりやすい開発者の関心事をとりあげ、 Cognito等のAWSのマネージドな認証サービスとALB、API Gatewayなどのアプリケーション構築で利用するAWSサービスを例に挙げユーザー認証の実現方法を説明します。 AWS の詳細については http://aws.amazon.com/jp/ をご覧ください。
その後に続く 2 つのコンポーネントが Amazon Cognito を構成します。これらは、ユーザーのアクセスニーズに応じて、独立して動作することも、連携して動作することもできます。 ユーザープール アプリまたは API のユーザーを認証および承認する場合は、ユーザープールを作成します。ユーザープールは、セルフサービスと管理者主導の両方によるユーザー作成、管理、認証を行うユーザーディレクトリです。ユーザープールは、独立したディレクトリや OIDC ID プロバイダー (IdP) でも、従業員や顧客のアイデンティティを提供するサードパーティプロバイダーの中間サービスプロバイダー (SP) でもかまいません。SAML 2.0 およびユーザープール IdPs を持つ OIDC の組織のワークフォース ID に対して、アプリケーションで Single Sign-On (SSO) を提供できます。
ゲームソリューション部の新屋です。 前回はID+パスワード認証をやってみたので、次はパスワードレス(Eメール, SMS)認証を試します。 前回同様、初学者向けの記事です。10分ほどで動作確認できます。 Eメール認証 Authentication → Passwordless Eメールを有効化 Applications → (有効にしたいアプリケーション)→ Connections Eメールを有効化 Branding → Universal Login → Login Customize Login Page を有効化 Default Templates から Lock(passwordless) を選択 これだけです。サンプルアプリケーションなどからログインを施行します。 メールアドレス入力後、コード入力画面が現れました。 届いているメールのコードを入力すればログインできます。 ちなみにこ
みなさま、認可の設計に苦しんでいるでしょうか?私は苦しんでいます。苦しまなかった瞬間などありません。昔「アプリケーションにおける権限設計の課題」を執筆しましたが、あれから3年以上が経ちます。 当時は認可の設計に関する情報がうまくまとまっている記事などほとんど無く、調べに調べて得たナレッジを書き記したのが上記の記事です。3年以上経ちますが、苦悩が今も特に変わっていないことが驚きです。 ただし、世の中的には認可のライブラリであったりサービスというのは少しずつ増えてきている印象があります(Auth0の OpenFGA であったりOsoの Oso Cloud 、Asertoの Topaz )。 認可の設計に関する記事も少しずつ増えている印象があり、その中でも本記事で紹介したいのがAuthorization Academyです。 これは認可サービスである Oso Cloud やOSSのライブラリ o
はじめに 社内インフラの運用担当者にとってソフトウェアのバージョンアップは地味な割に大変な業務です。 特に社内のオンプレサーバで動いているようなソフトウェアの場合、バージョンアップに伴う諸々の調整をそのソフトウェアを利用している各部署と行う必要があります。 そんなときに「今は忙しいからバージョンアップを先送りしてほしい」「このバージョンはスキップしてもよいのでは?」なんて声が各部署から聞こえてきます。バージョンアップの価値を各部署に理解してもらうのは大変です。 この文章はそんな時になぜバージョンアップしなければならないのかを上司や各部署のマネージャに伝えるために書きます。 ソフトウェアの有効期限は2-5年 まず、第一に、ソフトウェアというものは無限に使えるわけではなく、一定の有効期限があり、それを過ぎると徐々に動かなくなってきます。俗にいう「何もしてないのに動かなくなった問題」です。 なぜ
本動画の資料はこちら https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_Amazon%20Neptune_0730_v1.pdf 近年注目を集めているグラフデータベースについて、 Amazon Neptuneの便利機能や簡単なクエリの実行結果を交えながらご紹介します。 【動画の対象者】 ・グラフデータベースに興味を持っている方 ・Amazon Neptuneに興味を持っている方 【スピーカー】 木村達也 アマゾン ウェブ サービス ジャパン合同会社 シニアソリューションアーキテクト 【目次】 00:00 AWS Black Belt Online セミナーとは 02:05 アジェンダ 02:40 グラフデータベースとは 11:13 Amazon Neptuneの概要 19:16 グラフデータベー
Terraformを書いていると動的にAmazon リソースネーム (ARN)を記述したり、今実行しているリージョンを変数名やAWSの何かのリソース名に定義したくなることがあります。 その場合、data ブロックで特定のタイプを使用することによって必要な情報を簡単に取得できます。 実際に自分がよく使うのは表題に挙げたリージョンやアカウントIDなど限られた項目のみですが、せっかくなので公式に記載されているデータタイプを一通り確認してみました。 データタイプ一覧 各データタイプを宣言して、それぞれoutputブロックで出力して確認していきたいと思います。 aws_region現在、Terraformを実行しているリージョン(providerブロックで指定したリージョン)を取得できます。 # ソースコード data "aws_region" "now" {} output "aws_region
はじめに 私のチームは、リモートワーク中心の開発チームです。 そのチームに新人が配属された時に、私のチームで行っている新人育成のプラクティスのうち、比較的ユニーク(だと思っている)プラクティスを抜粋して紹介します。 少しでも参考になれば幸いです。 リモートワークの知見を説明 新人に対して、チームで行っているリモートワークを快適に行うための知見を紹介しています。 特に、「今から通話いいですか」をすっ飛ばしてビデオ通話を開始する文化であることを共有します。 詳細は以下を参照ください。 インセプションデッキの説明 インセプションデッキとは、プロダクトづくりに関わるメンバーが各々の意見を持ち寄って共通認識をつくり出すための大事な質問に対してメンバー皆で議論して決めた回答です。 詳細は以下を参照ください。 インセプションデッキ | Agile Studio 私のチームでは、以下のテンプレートを利用し
Go1.21 が 2023年8月9日(JST) にリリースされ、そのリリースノートやブログが公開されています。この記事では前回の Go1.20 New Features に引き続き、Go1.21 の新機能の中から気になった機能を解説していきます。 spec Go1.20 までは、メジャーリリースの一番最初のバージョンの末尾にパッチバージョンが付いておらず、次のバージョンからはパッチバージョンが付くようになっていました。 例えば Go1.20 の最初のバージョンは go1.20 で、次のバージョンからは go1.20.1, go1.20.2, ... のようにパッチバージョンがついていました。 Go1.21 からは、一番最初のバージョンが go1.21.0 のようにパッチバージョンの .0 が付くようになります。 import している package を初期化する順序が Spec に明記さ
はじめに 今携わっているプロジェクトで凄腕エンジニアさんと一緒に開発をさせていただいているのですが、その凄腕エンジニアさんから教えていただいた例外の話がとても勉強になり、 さらにこの例外の話を他のプロジェクトのエンジニアさんに伝えたところ、反応が良く、とても勉強になりました!という声をいただけたので、アウトプットしていきたいと思います。 (この記事の中で凄腕エンジニアさんのことはTさんと呼ぶことにします。) ※【凄腕エンジニアさんから学んだ例外の話】の補足 というQiita記事を書きました。 この記事を読み終わった後に疑問が残った人などは補足資料として読んでいただけると嬉しいです。 例外の考え方の源 Tさんの例外の考え方は http://diveintopython3-ja.rdy.jp/your-first-python-program.html#exceptions ↑こちらのPyth
Slackで動くChatGPTのチャットボットを作りたい 本記事では、Slackで下記仕様を実現できるChatGPTのチャットボットをGoogle Apps Script(GAS)でサクッと作成していきます。 botが所属するSlackのチャンネル内でメンションされると、スレッドで返信する botとのダイレクトメッセージの場合は、メンション無しでもスレッドで返信する botが参加しているスレッド内でのメッセージには、メンション無しでも(スレッド内の会話内容を読み取った上で)返信する また、下記項目も自由に設定することができます。何でも明るく回答してくれる社内のアイドル的なbotを作ってみるのも良いかもしれません。 botのアイコン、振る舞い(人格・役割など)の設定 gpt-3.5-turboやgpt-3.5-turbo-16kなどのGPTモデル設定 今回のbotは、非エンジニアの方でも作成
注意:今回の記事で載せているコードは読者に具体的なコードのイメージを持たせる目的で書いている。それ故に、実際にブラウザ上で実行しても動作しない点には注意してほしい。より専門的ににGraphQLとRESTの違いを学びたいならLogRocketの記事とApolloの記事を参考に。 はじめに 今回の記事では、Web APIの開発に重宝されるRESTとGraphQLの違いを解説する。 対象とする読者 これからREST、またはGraphQLを実務で積極的に活用したいひと 両者の違いがわからないひと 個人開発等でWeb APIをつくるひと タイトルを見てなんとなく気になったひと APIとは RESTとGraphQLの議論に入る前に、まずはAPIについて説明する必要がある。 Wikipediaによると、API(Application Programming Interface)は以下のように定義されてい
2023/5/23開催「オブザーバビリティ最前線 〜 事例LTから学ぶ、オブザーバビリティの成熟度〜」
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く