並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 3195件

新着順 人気順

terraformの検索結果81 - 120 件 / 3195件

  • 実はDDDってしっくりこないんです - タオルケット体操

    DDD失敗パターン集 DDDという方法論それ自体に対する僕の立場はあんま好きじゃない寄りのフラット(といいつつほぼ忘れかけている)なんですが、過去何度もDDDでプロジェクトが爆死するのをみたり、爆破してしまったり……というのを見てきたので供養したいとおもいます。 メンバーの大半がDDDを知らない 「えっ!? ドメイン駆動を知らずにDDDを?」 「出来らぁっ!」 DDDを知らずにDDDをする、という前提がすでに禅問答じみてる気がしますが、たぶん一番よく見かける失敗パターンなんじゃあないでしょうか。 どういうことかというと、オニオンとかレイヤードとかクリーンなアーキテクチャのモジュールの命名ルールと構造を採用(採用できているとは言っていない)しただけの状態です。 私見ですが、アーキテクチャというのはメンバー全員がそれを理解できていない限り*1即破綻します。 理解できない人はどこに処理を書いてい

      実はDDDってしっくりこないんです - タオルケット体操
    • 『なっとく!関数型プログラミング』は読者の理解度の進捗を先読みして作り込まれた”プログラミング入門”の良書 - Magnolia Tech

      なっとく!関数型プログラミング 作者:Michał Płachta翔泳社Amazon 良い、買おう、読もう、(コードを)書こう、以上! めっちゃ良いですよ、この本 中盤のプリミティブじゃやりづらい→直積→直和→二つ合わせてADT→値を取り出すためのパターンマッチの解説の流れの疾走感がいいですね— magnoliak🍧 (@magnolia_k_) 2023年8月6日 『なっとく!関数型プログラミング』は、2022年に出版された『Grokking Functional Programming』の邦訳版で、主にScalaを題材として関数型プログラミングを学んでいくための入門書("Grokking"は、完全に理解する、という意味)。あくまで関数型プログラミングの考え方、コードの書き方、良い設計の指針の解説が主眼に置かれているので、Scalaの言語機能の入門書ではない。Scalaの言語仕様を網羅

        『なっとく!関数型プログラミング』は読者の理解度の進捗を先読みして作り込まれた”プログラミング入門”の良書 - Magnolia Tech
      • dpinfo.html

        目次 はじめに Abstract Classパターン Abstract ClassパターンRuby版 (by 助田雅紀さん) Balkingパターン Before/Afterパターン Futureパターン FutureパターンRuby版 (by 助田雅紀さん) Generation Gapパターン Hook Operationパターン Hook OperationパターンRuby版 (by 助田雅紀さん) Immutableパターン Marker Interfaceパターン Monostateパターン MonostateパターンRuby版 (by 助田雅紀さん) MonostateパターンPerl版 (by 宮川さん) Null Objectパターン Null ObjectパターンとSingletonパターン Producer-Consumerパターン Sharableパターン Singl

        • PHPで動くファミコンエミュレータを作った | 長谷川智希 @tomzoh blog

          TL;DR PHPで動くファミコンエミュレータを作った php-terminal-nes-emulator画面描画は点字を使って文字出力コントローラは標準入力からfread() 経緯 2016年の2月にPHPで動くゲームボーイのエミュレータ、php-terminal-gameboy-emulator に衝撃を受けて、その実装の解説を勉強会やカンファレンスでトークしたりSoftware Design誌に書いたりしました。(*1) カンファレンスでのトークでは時間の都合もあって全体のごく一部しか話が出来ないのですが、Software Design誌では誌面をたっぷり頂いてCPU、メモリアクセス、画面表示とphp-terminal-gameboy-emulator のほぼ全域を解説出来たので満足し、その熱は落ち着いていました。 そんな中、9月に開催されたbuilderscon tokyo 201

            PHPで動くファミコンエミュレータを作った | 長谷川智希 @tomzoh blog
          • Infrastructure-as-Code-is-very-tired

            ChatGPT関連情報の追い方、個人・業務での使い方、サービスへの組み込み方、 ABEJAでの取り組み4例、ここ2週間のトピックなど行けるところまで

              Infrastructure-as-Code-is-very-tired
            • ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か[DDD] - little hands' lab

              DDD連載記事 背景・前提 なぜDDD初心者はググリ出してすぐに心がくじけてしまうのかの記事で、 ネット上の文献で紹介されるアーキテクチャが様々なものとなっているのです。IDDDではヘキサゴナルアーキテクチャというものが掲げられていましたが、それを進化させたオニオンアーキテクチャ、クリーンアーキテクチャなどの有名な亜種が存在します。 これが実装に着手する際に非常に大きな混乱を呼ぶのです。文脈の理解、採用するアーキテクチャの選定に時間を取られることでしょう。 と書きました。こちらに対して、私が「一番とっつきやすい」と考えるアーキテクチャを紹介します。 前提としてですが、完全に個人的な経験に基づく私見になります。 DDDの理論の中で、アーキテクチャに関しては「エリック・エヴァンスのドメイン駆動開発」(以下原典)と実践ドメイン駆動開発(以下IDDD)とでも異なったものが紹介されており、唯一の正解

                ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か[DDD] - little hands' lab
              • 【Vue.js】Web API通信のデザインパターン (個人的ベストプラクティス) - Qiita

                はじめに Vue.jsを使用したアプリケーションでのWeb API呼び出しのデザインパターンについて調べてみました。 しかし検索して出てくるチュートリアルやサンプルは、コンポーネント内でaxiosをインスタンス化していたり、Vuexの中でaxiosを使用するというサンプルがほとんどでした。 しかし実際のプロダクトでこれをしてしまうと コンポーネント内でAPIアクセスの直書きによって単体テストが困難に Vuex(actions)の肥大化(使い回さない処理はStoreに記述しないほうがいいとする文献もある) API通信部分をPureJSでモジュール化しても依存度がイマイチ下がらない(コンポーネントでモジュールをインポートするため)。 などなど問題になることが多そうでした。 ある日、Jorge氏が投稿した「Vue API calls in a smart way」という記事にたどり着きました。

                  【Vue.js】Web API通信のデザインパターン (個人的ベストプラクティス) - Qiita
                • AWSでバッチ処理を実装する際の選択肢とサービス比較

                  処理が複雑でジョブの依存関係を定義したい場合は、AWS Batch 単体で制御するか、より複雑な場合は Step Functions を用いて Lambda、ECS(Fargate)、AWS Batch(Fargate) を組み合わせる。 AWSにおけるバッチ処理の選択肢 ざっくりとした選択肢は下記。 Lambda ECS(Fargate) AWS Batch(Fargate) これらのサービスに実際は SQS や Step Functions を組み合わせることもあるので選択肢はさらに広がる。 ちなみに、SQS + Fargate(常時起動でポーリング) という構成や、SQS + Lambda + Fargate(都度実行) という構成は、AWS Batch が Fargate に対応した現在は特にメリットがないので取り扱わない。 2021/5/2 追記 「常時リクエストがくるユースケー

                    AWSでバッチ処理を実装する際の選択肢とサービス比較
                  • マイクロソフト、マイクロサービス開発を容易にする「Dapr」をオープンソースで公開。サービス間呼び出し、ステート管理、サービス間メッセージングなど提供

                    マイクロソフトは、マイクロサービスアプリケーションの開発を容易にするためのフレームワーク「Dapr」をオープンソースとして公開しました。現在アルファ版となっており、多くの開発者の協力を求めています。 マイクロサービスアプリケーションは、「マイクロサービス」あるいは単に「サービス」と呼ばれる、それぞれがアプリケーションを構成するための機能を提供する多数のプログラムが疎結合によって連係することで実現されます。 それぞれのサービスはWebサーバのようにステートレスなものもあれば、データベースサーバのように状態をつねに保持するステートフルなものもあります。 また、それぞれ異なるプログラミング言語で開発されたサービスがお互いを呼び出し、メッセージをやりとりする必要があります。 Daprは、こうしたマイクロサービスアプリケーションの開発を容易にするため、プログラミング言語に依存せず、サービス間の呼び出

                      マイクロソフト、マイクロサービス開発を容易にする「Dapr」をオープンソースで公開。サービス間呼び出し、ステート管理、サービス間メッセージングなど提供
                    • 6年ぶりぐらいにクラウド使った結果、Kubernetes以外のマネージドサービスとか基本要らなくない?となった話 - データエンジニアの酩酊日記

                      ここ半年ぐらい、かなり久々にクラウド使ってアプリやバッチの基盤作ったりしてきて、色々と思ったことを書き捨てる。 「ちょっと検証してみた」程度のものも含めれば、AWSとGCPは一通り主要なマネージドサービスを触ったし、実際に複数のアプリやらバッチやらをマネージドサービス上で本番稼働させて今も運用してるけど、結局DB以外は基本全部Kubernetesに乗せるのが一番楽だと強く思うようになった。 Kubernetesは学習コストや運用コストがそれなりに高く付くから安易に採用するのはどうなのか、みたいな論調もあるし、つい半年前までは自分もそう思ってた。サーバレスなマネージドサービスが色々出てきているのに、なんでわざわざKubernetesクラスタなんていう設計、運用に手間のかかるクラスタリングサーバーを立てて管理しないとならんのかと。 だけど、実際にいくつかのマネージドサービス使ってアプリやバッチ

                        6年ぶりぐらいにクラウド使った結果、Kubernetes以外のマネージドサービスとか基本要らなくない?となった話 - データエンジニアの酩酊日記
                      • 「それ、どこに出しても恥ずかしくないTerraformコードになってるか?」 / Terraform AWS Best Practices

                        2021年9月30日AWS Dev Day Online Japanの登壇資料 動画はこちら: https://www.youtube.com/watch?v=0IQ4IScqQws

                          「それ、どこに出しても恥ずかしくないTerraformコードになってるか?」 / Terraform AWS Best Practices
                        • AWSの主要サービスをローカルでエミュレート、「LocalStack」が1.0に到達

                          LocalStackを利用することで実際のAWSにアクセスすることなくローカルの環境で開発やテストを行えるようになるため、迅速な開発サイクルの実現やAWSの利用コスト削減などが期待できます。 LocalStackはオープンソースですが、無料で使える「Community」版では基本的なAPI群が利用可能、月額28ドルからの有償となる「Pro」版では全てのAPIが利用可能。さらに上位の「Team」版と「Enterprise」版も用意されています。 AWSの主要サービスをエミュレート LocalStackでエミュレートできるAWSのサービスは、Amazon S3、SQS、SNS、DynamoDB、Route53、AWS Lambdaなどをはじめとする80以上の主要なサービスです。 AWS Command Line Interface(AWS CLI)、AWS Cloud Development

                            AWSの主要サービスをローカルでエミュレート、「LocalStack」が1.0に到達
                          • 私は Infrastructure as Code をわかっていなかった - メソッド屋のブログ

                            私はここ1週間ほど、同僚の David の一言で Infrastructure as Code について頭が大混乱状態でした。 それは次の一言です。 Chef や Puppet は大体の部分は Infrastructure as Code じゃないよね。ARM (Azure Resource Manager) はそうだけど。 ただ、Chef-Provisioning は Infrastructure as Code だよね。 もう頭が大混乱です。なんとなく言わんとしていることはわかりますが、私は今まで Chef とか、Puppet とか、Ansible とかで やっているようなことが、Infrastructure as Code と思い込んでいましたが、何か間違っていたのでしょうか?そういえば、 Chef はConfiguration Management Toolと紹介されていたなとか頭

                              私は Infrastructure as Code をわかっていなかった - メソッド屋のブログ
                            • GraphQLの全体像とWebApp開発のこれから - Qiita

                              TL;DR GraphQLはクライアント側とサーバー側の双方の複雑化を解決するために利用されてる フロントエンドにとってGraphQLはHTTP上で動く信頼できる唯一のリソースとして振る舞う フロントエンドの状態管理のベストプラクティスとしてのApollo Client クライアントファーストなAPI, GraphQLはWeb APIのベストプラクティスになり得る クラシックアプリケーションを改修することなくGraphQLとモダンフロントエンドで今どきのアプリを作れる はじめに GraphQLは非常に良く出来たソフトウェア(の仕様)ですが、複数の側面を持つことからすぐに理解することが難しくまだ日本ではあまり受け入れられていない印象があります。GraphQLを端的に何と言われると "全てのフロントエンドのためのAPI BFF" なのですが、それだけで理解出来る人はなかなか居ないように思います

                                GraphQLの全体像とWebApp開発のこれから - Qiita
                              • AWSでAZ障害が起きたので困ったことを書いておく - なんかかきたい

                                前にも似たようなこと書いたなと思ったけどもう一年半も前のことになるのか t-cyrill.hatenablog.jp ご存知の通り昨日 2021/02/19 23:20頃 AWSにて東京リージョンの一つ apne-az1 にて大規模な障害が発生。多くのAWSを利用していたサービスで影響があった。 そんな私はいつものように アラストリリィ アサルトリリィ ラストバレット というゲームを呑気にプレイしていたのだけど、23:25 から緊急メンテに入ってしまった。 どうしたんだろうと思っていたら、社内SlackにてAWSを利用しているサービスがたまに応答しなくなる、Elasticacheが切り替わったなどなどの報告が入り、もしかすると面倒ごとかなと思いながら対応することになった。 起きていたこと 既にAWSからも公開されていることであるが、今回は2019年8月に起きた障害と類似するタイプの障害だっ

                                  AWSでAZ障害が起きたので困ったことを書いておく - なんかかきたい
                                • インフラ自動化の落とし穴と宣言的アーキテクチャ

                                  2020/07/14 Cybozu Tech Meetup #3

                                    インフラ自動化の落とし穴と宣言的アーキテクチャ
                                  • 実践! Typescript で DDD - マイクロサービス設計のすすめ - Leverages Tech Blog

                                    対象読者 マイクロサービス化を検討しており、実際に作る場合の構成を参考にしたい。 ドメイン駆動設計について、基本的な用語の知識がある。 TypeScript を多少触ったことがある。理解がある。 はじめに こんにちは。エンジニアの吉村です。 現在、弊社が運営する teratail というサービスに携わっており、CakePHP で動作しているモノリシックな既存サービスをマイクロサービスに移行するというプロジェクトを進行中です。 この記事では、実務を通して得た知見として、マイクロサービス化によりどんな恩恵があるのか、具体的にどのような構成で実装をしているのかについてご紹介します。 TL;DR マイクロサービスのバックエンドサービスの実装に焦点を絞って、ドメイン駆動設計 + オニオンアーキテクチャをベースに設計をしました。 本記事では、具体的に「ユーザ新規登録処理」の実装をする場合を例にとり、実

                                      実践! Typescript で DDD - マイクロサービス設計のすすめ - Leverages Tech Blog
                                    • バックエンド Web API に管理画面/管理機能を追加するアーキテクチャパターン - valid,invalid

                                      プレゼンテーションレイヤ、いわゆるフロントエンドがクライアントサイドで実装・実行されるアーキテクチャ (注 1) において、管理画面/管理機能をあとから追加する際にどのような実装パターンがあるのかを整理してみます。 注 1: Presentation Domain Separation の実践の中でも、物理的にプレゼンテーションロジックとドメインロジックを分離しているアーキテクチャです。 用語の整理 プレゼンテーションレイヤ 三層アーキテクチャにおける、システムの利用者へユーザインターフェイスを提供する層です。本記事では"フロントエンド"とほぼ同義で使います。 OSI 参照モデルの第六層ではないです。 バックエンド Web API とは プレゼンテーションを持たない Web API (HTTP プロトコルを用いてネットワーク越しに呼び出すアプリケーション) とします。 プレゼンテーションレ

                                        バックエンド Web API に管理画面/管理機能を追加するアーキテクチャパターン - valid,invalid
                                      • Vagrant Cloud by HashiCorp

                                        Official Ubuntu Server 14.04 LTS (Trusty Tahr) builds (End of standard support)

                                        • 事実上最後のJSON仕様「RFC 8259」と「ECMA-404 2nd Editon」公開。UTF-8エンコード必須に

                                          RESTful APIのデータフォーマットなどで広く使われているJSON。IETFはJSON仕様「RFC 8259」を発表。従来の仕様をブラッシュアップしつつECMAの仕様との統一も実現した、事実上最後のJSON仕様になると見られる。 IETFからJSON(ジェイソン)の仕様を示した「RFC 8259」(The JavaScript Object Notation (JSON) Data Interchange Format)が公開されました。 IETFにおけるJSON仕様は、これまで「RFC 7159」が参照されていましたが、RFC 8259の公開によりRFC 7159は廃止(Obsolete)となりました。 RFC 8259は、多数の実装と十分な運用実績を積み重ねたインターネット標準「STD 90」としても参照されます。 ECMAとの統一を実現。事実上最後のJSON仕様になると見られる

                                            事実上最後のJSON仕様「RFC 8259」と「ECMA-404 2nd Editon」公開。UTF-8エンコード必須に
                                          • 現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング

                                            オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだの Hatena の件。基本的には同意。ただちょっと切り口が違うので自分の意見を言っておく。ただ、このテーマで何度か書こうとして失敗していて、今回も成功しているとはいえない。 宣言的プログラミングの時代 現代の主流は「宣言的プログラミング」であると思っている。これはリソースの宣言と、その状態遷移の手続きや振る舞いの付与が中心にある。 宣言型プログラミング - Wikipedia その代表的な例がフロントエンドの React と、バックエンドの k8s で、どちらも時系列に基づいた状態の宣言と、フレームワーク側による状態遷移処理、 Reconcillation(調停) が基礎にある。 フロントエンドとバックエンドという両極端な世界で、この変化が起きたのがこの時代を反映したものであると思う。 例えば、jQuer

                                              現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング
                                            • 「Amazonでさえサーバレスやマイクロサービスを理解できない」とDHH氏が主張する一方で、「進化可能なアーキテクチャこそ重要」とAmazonのVogels博士

                                              Ruby on Railsの作者として知られるDavid Heinemeier Hansson(DHH)氏が自身のブログに5月4日付けで投稿した記事「Even Amazon can't make sense of serverless or microservices」(Amazonでさえサーバレスやマイクロサービスを理解できない)が話題になっています。 これはAmazon Prime Videoの技術部門が3月に自社ブログに投稿した記事「Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%」(Prime Videoの音声映像監視サービスにおけるスケールアップと90%のコスト削減の実現)で紹介された、AWS Lambdaのサーバレスで作られたPrime Videoの監視サービス

                                                「Amazonでさえサーバレスやマイクロサービスを理解できない」とDHH氏が主張する一方で、「進化可能なアーキテクチャこそ重要」とAmazonのVogels博士
                                              • 2019年のDevOps/MLOpsエンジニアの標準的スキルセット - Qiita

                                                ちなみに、IT業界全体のシェアとしてはMicrosoftのAzureの方がGCPを上回っていますが、Web業界においてIaaSにAzureを採用している企業さんは2019年時点ではまだまだ少ないので、現状ではとりあえずAzureへのキャッチアップは後回しにしておいて問題ないと思われます。 クラウドアーキテクチャ設計 前述したAWSやGCPの各種マネージドサービスを適切に組み合わせてアーキテクチャ設計を行い、それを構成図に落とし込める能力は必須となります。 いわゆる「アーキテクト」という職種の担当領域でもありますが、「サービスを安定稼働させたまま、バリューをユーザに迅速に届ける」ためには、自動化のしづらい構成が採用されてしまったり、無駄な機能が開発されてしまったり、アンマネージドなツールやサービスが使用されて管理工数が肥大化したりしないように、アーキテクチャ設計の段階からDevOpsエンジニ

                                                  2019年のDevOps/MLOpsエンジニアの標準的スキルセット - Qiita
                                                • Terraform + GitHub + CircleCI + Atlasを利用してAWSの操作を自動化した - Glide Note

                                                  TL;DR Terraform + GitHub + CircleCI + Atlas を用いてAWSの操作を自動化した 各ツールの役割は下記のような感じ Terraform => インフラへの変更ツール GitHub => .tfファイルのバージョン管理 CircleCI => CI、Terraformをawsに対して実行 Atlas => インフラの状態を記録するterraform.tfstateの管理 インフラの継続的デリバリー - naoyaのはてなダイアリーにて、言及されていた範囲(Route53の変更、Chefの適用)をAWSの操作全体に拡大した 背景 今までの問題点 AWSの各種操作がブラウザからポチポチ業… 手作業なので誤操作に気づきにくい。事故りやすい インフラの実構成がバージョン管理出来ていない ちなみにRoute53に関してはroadworkerを用いてコードで管理済

                                                  • 実践マイクロサービス ─ コンポーネント分割やトラブル回避の考え方をLINEの導入事例に学ぶ - エンジニアHub|若手Webエンジニアのキャリアを考える!

                                                    実践マイクロサービス ─ コンポーネント分割やトラブル回避の考え方をLINEの導入事例に学ぶ マイクロサービスとは、小さいサービス同士をつないで連携し、ひとつのサービスを構成する手法のことです。そのメリット・デメリットなどマイクロサービスの本質と、LINEでの導入事例から実運用とトラブル回避について、LINE Shopチームの佐藤春旗さんが解説します。 はじめまして、佐藤春旗です。 前職でソーシャルサービスやOSの開発を経て、2013年にLINEに入社。スタンプショップやLINE Payの開発に参加したのち、現在はスタンプショップなどを担当するLINE Shopのチームに所属し、マネージャーを務めています。 本稿では、マイクロサービスを軸に、2つのテーマを取り上げていきます。 1つ目は、マイクロサービスの概要解説です。あわせて、実際に運用して見えたメリット・デメリットを紹介しながら、マイク

                                                      実践マイクロサービス ─ コンポーネント分割やトラブル回避の考え方をLINEの導入事例に学ぶ - エンジニアHub|若手Webエンジニアのキャリアを考える!
                                                    • 「Pulumi AI」発表。自然言語でAWS、Azure、Cloudflare、Kubernetes、Datadogなど130以上のインフラやサービスのInfra-as-Codeを自動生成

                                                      「Pulumi AI」発表。自然言語でAWS、Azure、Cloudflare、Kubernetes、Datadogなど130以上のインフラやサービスのInfra-as-Codeを自動生成 クラウドをはじめとするITインフラの構成をコードで定義する、いわゆるInfrastructure as Codeツール「Pulumi」を提供するPulumi社は、自然言語からインフラ構成コードを自動生成する「Pulumi AI」を含む、AIを活用した新サービス群「Pulumi Insights」を発表しました。 Exciting news! Pulumi Insights - intelligence for cloud infrastructure – is here. We’ve tapped into the power of generative AI and GPT-4 to automate

                                                        「Pulumi AI」発表。自然言語でAWS、Azure、Cloudflare、Kubernetes、Datadogなど130以上のインフラやサービスのInfra-as-Codeを自動生成
                                                      • CacooはなぜKubernetesによるmicroservicesへの道を選んだのか? | ヌーラボ

                                                        こんにちは。Cacoo チームの木村(@cohhei)です。Cacoo チームでは、 Kubernetes によるアーキテクチャの microservices 化に取り組んでいます。今回は私たち Cacoo チームが microservices 化によって解決しようとしている課題と取り組みの内容、その成果についてご紹介します。 この記事では以下の内容を含みます。 Cacoo の開発チームがどんな課題を抱えていたか 何故 microservices の道を選んだか どんな技術を選んだか microservices 化してどうだったか 現状の課題 課題:古いフレームワークとモノリシックなアプリケーション Cacoo は2009年にベータ版がリリースされた歴史のあるプロダクトで、モノリシックなアプリケーション上ですべての機能が実行されていました。 そのため、それぞれのコードの依存関係を十分に理解

                                                          CacooはなぜKubernetesによるmicroservicesへの道を選んだのか? | ヌーラボ
                                                        • 安く早く開発するための個人開発アーキテクチャ

                                                          はじめに 最近趣味で個人開発をしながらアーキテクチャの検討を行なっていたのですが、自分なりにいい感じの結論に辿り着いたので今回はそのアーキテクチャの紹介しようと思います! インフラ、バックエンド、フロントエンドの各セクションに自分が使用しているテンプレートのリポジトリのリンクを載せてあるので興味のある方は参考にしてください。 また今回紹介するアーキテクチャはあくまで一例なので、間違いや不備などがあればご指摘いただければ幸いです。 前提条件 個人開発で使用するアーキテクチャを考える上で、自分の中でいくつか前提条件があります。 ランニングコストを抑える いくつか前提条件がある中で、個人的に一番重要な要素になります。 バズるサービスを作りたいという気持ちはありますが、そのためにいくらでもコストをかけられるかと言われるとそうではありません。むしろ個人開発となると、抑えられるコストはできる限り抑えた

                                                            安く早く開発するための個人開発アーキテクチャ
                                                          • スタートアップのためのコンテナ入門 – AWS Fargate 編 | Amazon Web Services

                                                            AWS Startup ブログ スタートアップのためのコンテナ入門 – AWS Fargate 編 こんにちは、スタートアップ ソリューションアーキテクトの松田 (@mats16k) です。 前回「スタートアップのためのコンテナ入門 – 導入編」という記事を公開致しましたが、今回はスタートアップ企業に特におすすめな AWS Fargate についてご紹介します。 前回もお話しましたが、「そろそろコンテナやった方がいいか?」「なんとなく使い始めたけれどこれでいいのか?」「コンテナ自体は分かったけど、サービスでの利用に踏み切れていない」といった漠然とした課題感をお持ちの方は「スタートアップのためのコンテナ入門 – 導入編」から目を通して頂ければと思います。 ※ 本記事は Amazon ECS を前提に書かれております。(執筆時点では Amazon EKS に未対応であったためです。)Amazo

                                                              スタートアップのためのコンテナ入門 – AWS Fargate 編 | Amazon Web Services
                                                            • DevOps スタータキットの公開 - メソッド屋のブログ

                                                              DevOps の概要、プラクティス、そしてそれに関するリソースを整理して自ら学習しやすいようにしてみました。DevOps の考え方、プラクティス毎に、ビデオとそこで使っているPPTを公開しますのでお楽しみください。 channel9.msdn.com docs.com docs.com 1. DevOps の歴史 DevOps を学ぶときに、海外と比べると日本の商習慣が異なるので、向こうで話されているDevOps の概要を聞いてもピンと来ないかもしれません。そこで、DevOps の歴史を7分程度で学べる動画を作成しました。 これで、DevOps が生まれきた背景が学べると思います。 docs.com 2. DevOps の概要 DevOps の歴史を知るとと、DevOps の概要がよりわかりやすいかもしれません。次のビデオをご覧ください。 docs.com DevOps プラクティス ビデ

                                                                DevOps スタータキットの公開 - メソッド屋のブログ
                                                              • マイクロサービスに次に来るかもしれない言葉について - arclamp

                                                                2021年9月18日に開催されたXP祭り2021で「マイクロサービスに至る歴史とこれから」という講演をしました。資料は次の通りです。本来は75分ぐらいかかるのを45分で話そうとして、余裕で時間オーバーしてすみませんでした。 テクノロジーとテクニックによる進化の流れ テクノロジーやテクニックは、ITの改善サイクルを向上させるために進化を続けています。「技術そのもの」であるところのテクノロジーに対して、テクニックというのは「人による技術の活かし方」を示します。なので、基本的にはテクノロジーが生まれ、それを使いこなしたテクニックが登場することになります。 テクノロジーとテクニックの進化の歴史現在、進化中のテクノロジーであるCloud NativeやServerlessを前提としたテクニックを示す用語、つまり、マイクロサービスに次に来るかもしれない言葉というのは、時間軸からすると再来年ぐらいに出て

                                                                  マイクロサービスに次に来るかもしれない言葉について - arclamp
                                                                • 監視について思うとこ - y-ohgi's blog

                                                                  TL;DR 監視はユーザーにサービスを提供できているかを観測するための行為 SLI/SLOを定めて、SLOを守れるようにモニタリングする ダッシュボードは定常的に表示しておくものと障害時に活用するものを作ると良い アラートはレベル分けして人間が対応しなければならないものだけ人間へ通知する 監視とは サービスを健全に動作させ続けるために監視を行います。 「健全に動作している」の定義はサービスによって異なり、ユーザーにWebページを見せることができることだったり、バッチが正常に終了することだったりします。 最終的にユーザーに正常にサービスを提供できていることを観測するために行うことに変わりはありません。 さてユーザーにサービスを提供するために何を監視しましょうか? クラウド前提であれば個人的にリソースベース(CPU/Memory)より、 SLI/SLOをベース に監視する事が望ましいと考えてい

                                                                    監視について思うとこ - y-ohgi's blog
                                                                  • 「オブジェクト指向神話からの脱却」という特集をWEB+DB PRESSで書きました - きしだのHatena

                                                                    「オブジェクト指向神話からの脱却」というあおり気味タイトルの特集をWEB+DB PRESS vol.132で書きました。 12/24発売!クリスマスプレゼントです WEB+DB PRESS Vol.132 作者:きしだ なおき,加藤 尋樹,斉藤 洸紀,牟田 裕太郎,吉澤 政洋,朝日 リナ,鈴木 僚太(うひょ),川島 義隆,五十嵐 進士,末永 恭正,佐藤 雄太,吉井 健文,牧 大輔,西山 和広,吉田 花春,古川 雅大,岡林 大,池澤 春菜,和田卓人,日高 正博,はまちや2,竹原技術評論社Amazon 大まかには、「オブジェクト」でソフトウェアをぜんぶ考えるということに無理があったので、パーツそれぞれ適したやりかたでやっていこうぜ!という内容です。 ソフトウェアを切り出したときのパーツとしてのオブジェクトの特性が同質であるという暗黙の前提があって、だから「オブジェクトの話をすればソフトウェア開

                                                                      「オブジェクト指向神話からの脱却」という特集をWEB+DB PRESSで書きました - きしだのHatena
                                                                    • ソフトウェア設計のトレードオフと誤り

                                                                      「プログラムを設計するときに行った技術的な判断や選択が、後日大きな制約となる」これはプログラマなら誰しも経験したことのあることでしょう。本書は、そんなプログラミングにおける各種の設計上の選択について、トレードオフの内容やそれがどのような誤りを招きうるのかという点を踏まえて紹介する書籍です。 コードの重複、エラーや例外処理、柔軟性と複雑性のバランスのようなコードレベルの選択から、APIの設計、時刻の扱い、データローカリティのようなシステム寄りの話題、またライブラリの選択、分散システムの一貫性と原子性、バージョニングのようなより抽象度の高い内容まで、さまざまなシチュエーションにおけるトレードオフの実態と、その失敗例をとり上げます。 本書は日々のプログラミングにおける解決策のヒントを得るだけでなく、より幅広い設計上の知見を広める上でも役に立つでしょう。 正誤表 ここで紹介する正誤表には、書籍発行

                                                                        ソフトウェア設計のトレードオフと誤り
                                                                      • 「Pragmatic Terraform on AWS」が神本だったので紹介する - Qiita

                                                                        はじめに Pragmatic Terraform on AWS、控えめにいって神本です。 AWSの知識がある程度ある人が、IaC入門するのに最適すぎる。 今週中にやり終わりそうなので、金曜あたりにレポ書きます。 — nari@エンタメ系エンジニア (@fukubaka0825) June 1, 2019 予定より、ちょっと遅くなってしまいましたが、宣言通り書評書いていこうと思います。。 ただただ「Pragmatic Terraform on AWS」を褒めちぎるだけの記事になってしまうことをご了承ください。。 こんな人にオススメ AWSの知識がある程度あって、IaC(Infratecture as Code)に入門してみたい人 他のIaCのツール(CloudFormationとか)を使っていてterraform使ってみたい人 AWSもIaCも全くわからん、、だとちょっと進めるのが辛いかもし

                                                                          「Pragmatic Terraform on AWS」が神本だったので紹介する - Qiita
                                                                        • 保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より | gihyo.jp

                                                                          保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発⁠⁠、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より 今回、Software Design 2022年3月号 第2特集「そろそろはじめるテスト駆動開発 JavaScriptでテストファーストに挑戦」の第1章「保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像」を本サイトに掲載します。第2章以降については、本誌『Software Design 2022年3月号』電子版(Gihyo Digital Publishing、Amazon Kindle)をご購読いただければ幸いです。 第1章では、混同されることの多い自動テスト関係の概念を、自動テスト、テストファースト、テスト駆動開発の3つの段階に分け、それぞれの効果や注意点を説明します。ソフ

                                                                            保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より | gihyo.jp
                                                                          • ソフトウェア設計原則は変更容易性に通ず - Shin x Blog

                                                                            色々な原則や方法論はあれど、つまるところいかに変更容易性を確保するかと言う話に帰結するのでは。極論すれは、正しく動いていて変更する必要が無ければどのような作りになっていても構わない。一方、Web アプリケーションを稼働し続ける上で全く変更しなくて良いということもない。— Masashi Shinbara (@shin1x1) 2021年5月30日 ソフトウェア設計、開発には多くの原則や方法論がある。例えば、DRY 原則や SOLID 原則、デザインパターンにレイヤードアーキテクチャ、クリーンアーキテクチャなどある。さらに DDD にも多くの原則や方法論が含まれている。これらを変更容易性を高めるための手段として原則や方法論を捉えるというのが本エントリの論旨である。 原則や方法論の捉え方 変更容易性 本質的な変更と副次的な変更 外部変更容易性と内部変更容易性 原則を適用する指針 さいごに 原則

                                                                              ソフトウェア設計原則は変更容易性に通ず - Shin x Blog
                                                                            • Developers.IO 2018 で「API 設計」の話をしてきた #cmdevio2018 | DevelopersIO

                                                                              緊張すると声がアムロ・レイになる都元です。 ここからしばらく、キャッチコピーの迷走期が始まりますのでよろしくお付き合いください。 さて、去る 10/5 (金) 秋葉原 UDX にて開催された Developers.IO 2018、その中で 「クラスメソッドにおける Web API エンジニアリリングの基本的な考え方と標準定義」 という仰々しいタイトルで1講座持たせていただきました。 スライド 話したかったことと、話したこと 本セッションで話したかったことはだいぶ多岐にわたり、当然 40 分では話しきれないので、当初は次の 2 テーマに絞ってお話しようと考えてスライドを作っていました。 アプリケーション動作ログガイドライン RESTful / リソース指向 API 設計 しかし実際にスライドを作ってみると、それぞれで 40 分の規模となってしまい…。 ログの話は断腸の思いで見送りとさせていた

                                                                                Developers.IO 2018 で「API 設計」の話をしてきた #cmdevio2018 | DevelopersIO
                                                                              • モダンなソフトウェア設計の書籍 - kawasima

                                                                                型駆動設計から始まるフォーマルなアプローチもカバーしているが、フォーマルな方法の簡単な紹介も含まれているもの。

                                                                                  モダンなソフトウェア設計の書籍 - kawasima
                                                                                • HashiCorp社が出したVaultとはどういうものなのか - 理系学生日記

                                                                                  HashiCorp 社から、新たなソフトウェアである Vault by HashiCorp がリリースされました。 - HashiCorp Blog: Vault この Vault について、Getting Started を一通り実施した後に Docs の一部を確認してみたので、簡単にその内容をまとめてみます。 Vault とは何なのか Vault を一言で言うと、機密情報(Secret) を管理するツールです。 これだけ IT が広がっている現在、機密情報の範囲も広がり続けており、データベースにアクセスするためのユーザ/パスワードや、連携するシステムの API キー等、多岐に渡ります。こういった情報、おまえのところのシステムではどう管理してた?XML に生で書いてる、あるよねそういうの。jdbc.properties に直書き、うんうんわかるわかる。ちょっとがんばったら crypt で

                                                                                    HashiCorp社が出したVaultとはどういうものなのか - 理系学生日記