タグ

ブックマーク / qiita.com (269)

  • マイクロサービスの Saga パターンについて - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 以前の記事で『Microservice Patterns』について要約したが、その中の一つの Saga パターンについて、もう少し詳しく掘り下げてみる。 どういう文脈で Saga パターンを使うか? 各サービスがそれぞれの Bounded Context (整合性の境界)で自前のデータストア(Database per Service)を持っているマイクロサービスアーキテクチャで、複数サービスにまたがるワークフローのデータ整合性を維持したい。 どういう制約のもとで Saga パターンを使うか? 以下のような事情で、分散トランザクションは使

    マイクロサービスの Saga パターンについて - Qiita
  • Goでサーバー開発するときのMakefileを晒してみる - Qiita

    はじめに この記事は、Go3 Advent Calendar の4日目の記事です。 Goで開発する際にはテストの実行やlintの実施といった細々としたコマンドを Makefile にまとめることが多いと思います。 これにはコマンド入力の手間を省くのももちろんですが、チーム内でコマンド実行の方法を統一するという意味もあります。「手元でのテストはReadmeに書いてある通りに実行してね」と伝えるよりも、Makefileにまとまってる方が親切です。 ということで、何番煎じか分かりませんが今回は業務で使っている Makefile を晒してみたいと思います。 ちなみに主に以下のツールを利用しています。 パッケージ管理: dep 自動リロード: realize DB migration管理: goose Makefile 以下の物を使用しています。 setup: go get -u github.co

    Goでサーバー開発するときのMakefileを晒してみる - Qiita
  • REST APIの設計で消耗している感じたときのgRPC入門 - Qiita

    REST APIによる設計 最近のシステムは様々なデバイスやスケーラビリティを重視するため、各システムを分割し軽量なAPIで連携するマイクロサービス的なアーキテクチャスタイルが増えてきています。 そして、そのAPI連携で広く採用されているのが、REST APIです。 しかし、こうした設計を行っていくには、適切に考慮、選択しなければならないことも多くあります。 URL、パラメータ、エラーなどの設計 各言語ごとのライブラリや、サーバ、クライアントの選定、設計 認証、認可 ドキュメント管理 ユニットテスト、インテグレーションテスト、モック、Consumer-Driven Contracts 開発用ツール 絶対的スタンダードがない状況下で、こういった問題はシステムやメンバーが増えるにつれ複雑化していき、設計や管理、その仕組み作りに時間を取られ、来の目的となるべき機能開発の時間を失っていくことにな

    REST APIの設計で消耗している感じたときのgRPC入門 - Qiita
  • 納期守れない系エンジニアが遅延無しでちょっと頼りにされるまでに学習したこと - Qiita

    初めに この記事は、私が納期をまともに守れなかったころから、 遅延しなくなり後輩の遅延を手助けするまでに 学習したことや心がけていること及び失敗談を記述します。 暇つぶしに読んでいただければ幸いです。 前提:どれぐらいできなかったか ・イケると思った機能が1週間遅延して更にバグまみれ。 ・プロトタイプ版開発に時間をかけすぎて仕様変更によって結局遅延。 ・ユーザーが欲しいと思った機能が、完成とほぼ同時に不要になってしまった。 この記事の内容は、主観と経験に基づくものが多いです。筆者はよく言っても中堅エンジニア なので、記述内容が必ず参考になるとは限りません。 勉強した事 交渉&見積もり編 ・正確な工数見積もりは「不可能」である事を認識する。 実際に機能を作る前には、「だいたいどれくらいでできるのか」という事を絶対に確認されます。 その時に、過去の経験からn日でできるな…と考えても、それはたい

    納期守れない系エンジニアが遅延無しでちょっと頼りにされるまでに学習したこと - Qiita
  • オワコン大手SIerに学ぶアンチパターン - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 軽い読み物としておもしろおかしく読んでください。 はじめて社外の人の仕事を見た 今まで社内の成果物しか目にしてこなかったのですが、ふとしたきっかけで外部ベンダーが作ったシステムを移行することになりました。 会社名を見て、よく知った会社でちょっと安心しました。 「ここなら設計書とかもきちんとしてるだろう、多少古臭くても堅実にやってるんじゃないかな」って思ってました。ええ。 実態は全然違った とんでもない量のExcel設計書として渡されました。 さすがに設計が専門だけあって設計書の量はすごいなぁ。と思って読んでいるといろいろ察してきました

    オワコン大手SIerに学ぶアンチパターン - Qiita
  • バッチ処理について考える - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? TL;DR ひとくちにバッチといっても色々ある 夜間バッチをもう作るな オンラインバッチはSQL以前にDB設計がんばれ はじめに Twitterのタイムラインで以下のようなツイートが回ってきました。 バッチ処理をみんな舐めてかかったり、ショボイとか思ってる人多い印象なんだけれども、数十万~数千万件規模のデータを処理したことあるのかな。テンプレ通りのコードじゃ動かないよ?ネットににも答え載ってないよ?低レイヤも意識しないと動かないよ? 2020年1月10日 ツイートされたわだっしーさんの意図がどこにあるかは確認してないですが、極限の世界

    バッチ処理について考える - Qiita
  • [和訳] Dropboxアカウントのせいで胃潰瘍になった - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こちらのReddit投稿 (https://www.reddit.com/r/sysadmin/comments/eaphr8/a_dropbox_account_gave_me_stomach_ulcers/) の和訳記事です。番環境でやらかしかった人シリーズが盛り上がっていたので波に乗って(?)Twitterにヤバすぎる恐ろしい話が流れてきたのをすかさず和訳してみました。やらかしちゃった人というよりはやらかされちゃった人目線ですがいずれにせよそこら辺の怪談話よりよっぽど怖いです。 Dropboxのアカウントのせいで胃潰瘍になった。

    [和訳] Dropboxアカウントのせいで胃潰瘍になった - Qiita
  • RESTful API のページネーションで考えるべきこと - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ※追記:パフォーマンス比較ですが、「インデックスちゃんとはったら良くね?」との指摘がありました。その通りです。申し訳ありません。 RESTful な API を作る時のページネーションのプラクティスが Django RESTful Framework の Pagination に良くまとまっているので、 Django 以外の別の実装のためにも汎用化したい。 レスポンスの表現方法 レスポンスで次のページを示す方法には以下の方法がある。 JSON や XML のレスポンスに含める Link ヘッダに URL で指定する RFC 8288 G

    RESTful API のページネーションで考えるべきこと - Qiita
  • ソシャゲエンジニアの自分が開発に必須だなと思った知識(MySQL編) - Qiita

    この記事の目的 自分は、とある会社様の元でソシャゲAPI 開発をさせていただいています。 ソシャゲは、リリース時やイベント時などに集中アクセスされやすく、負荷軽減の知識がない状態で開発を行ってしまうと、運用時に緊急メンテ祭りになりやすいジャンルかなと思っています。 これまで培ってきた MySQL の知識ですが、脳内メモリ量の関係上、暗記できないのでメモしておこうというのが主目的です。 ここ数年ほどソシャゲ開発しかしていないため、偏っている感がある内容ですのでご注意ください。 概要 ストレージエンジンは InnoDB。メインで扱っている MySQL バージョンは 5.6。 記事の内容ですが、これらのキーワードを見て、おおよそ分かる方は読む必要はないかと思います。 インデックス系 クラスタインデックス カバリングインデックス EXPLAIN で注意するべき値 トランザクション系 MVCC

    ソシャゲエンジニアの自分が開発に必須だなと思った知識(MySQL編) - Qiita
  • Java11のSpringBootのプロジェクトからからMySQL8へ接続した時に発生した問題の解決 - Qiita

    Java11のSpringBootのプロジェクトからMySQL8へ接続した時に発生した問題の解決と、Windows10でのMySQLの操作について 環境 Windows10 MySQL 8.0.15(記述時点の最新) Scoopによるインストール1 Java11(OpenJDK11.0.11-28,11.0.2-9)でSpringBootを使用してMySQLへの接続を試した mysql.ini内の[mysqld]の編集 default-time-zone サーバー全体のデフォルトのタイムゾーン。 デフォルトのタイムゾーンを指定していないとJDBCからの接続の際にエラーが発生2する。 タイムゾーンはデフォルトではUTCからの時差の指定でないと設定できない模様で、日(JST)の場合は+9:00と設定する。 collation_server サーバー全体の照合順序。MySQL8以降デフォルトの

    Java11のSpringBootのプロジェクトからからMySQL8へ接続した時に発生した問題の解決 - Qiita
  • 【未経験でも挫折しない】40時間でAWS認定ソリューションアーキテクトアソシエイトを取得する方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? クラウドって何? 「クラウド触りたいけど、どうやったらいいのか分からない」 「色んなサービスあるけど、何が良いの?何ができるの??」 「いや、学習時間ないし・・・」 そういう方にやってみて頂きたい!! そういう想いで書いていますが、クラウドを解説しているわけではありません。 この教材で、こんな気持ちで、このやり方でやれば、資格とれるくらいの知識と経験が積めますよというものです。 方向性が決まってるのでそれなりの気持ちで挑めば、挫折することなく走り切れると思います。 (知識と経験から、自宅・業務の環境改善にも繋がればいいなくらいの軽い気持

    【未経験でも挫折しない】40時間でAWS認定ソリューションアーキテクトアソシエイトを取得する方法 - Qiita
  • SpringBootで作ったRestAPI/Webアプリのテストを書いてみた - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    SpringBootで作ったRestAPI/Webアプリのテストを書いてみた - Qiita
  • 【個人開発】Vue.jsとFirebase、Yahoo YOLP(地図)を使うとあっという間にサービス作れるんだなぁ... - Qiita

    タイトルままですが... 私は非喫煙者なんですが、ネットニュースで禁煙な店舗を探せるという某サービスが紹介されてました。 ほ〜と思ってサイトに行ってみると登録店舗が600ちょいしかありませんでした... なんじゃこりゃ?と...なら自分で作ってみようかと金曜日の夜からこの週末を使って空き時間で禁煙なお店を検索できるサービスを作ってみました、実質8時間くらいかな? こんな短時間でサービス作れちゃうご時世なんですね、ほんとに驚きです。 利用したサービスやフレームワーク 簡単にリストアップします。どれも有名ですので個別には紹介しませんが。 Vue.js : 言わずとしれたUIフレームワークです。シンプルで好きです。 Firebase : 今のところHostingのみ利用させていただいてます。 Bootstrap : 非デザイナでもそれっぽいサイトができていいですね。 Yahoo YOLP : 地

    【個人開発】Vue.jsとFirebase、Yahoo YOLP(地図)を使うとあっという間にサービス作れるんだなぁ... - Qiita
  • GCE の無料枠のサーバを立るときに、初見でハマりそうなところ - Qiita

    このスライドについて GCE の無料枠で遊ぶときに、やったほうがいいこととかを紹介します。 大体無料で運用できますが、1年間以上の長期運用をする場合はお金がかかるかもしれません。 やったこと お金をかけずに以下のことができるようにしてみました GCE のサーバインスタンスを立てた ドメイン取った HTTPS 対応した 概要 私が気づいた「気をつけたほうがいいこと」は、大まかにこんなかんじ。 最初に支払いのログの設定をする バケットとオブジェクトの命名ガイドラインに従う GCP の無料枠でなんとかなるようにする GCEのf1-microインスタンスを真にタダで使う方法 の問題 無料ドメインをとる DDNS(ieServer.net系)だと、証明書発行できない 1年間までなら無料で使えるドメインはある 有料でも、安めのドメインを買ったほうがいいかもしれない? Let's Encrypt の証明

    GCE の無料枠のサーバを立るときに、初見でハマりそうなところ - Qiita
  • Spring 4.3 キャッシュ関連の主な変更点 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Spring 4.3 キャッシュ関連の主な変更点 - Qiita
  • Spring Security 使い方メモ 基礎・仕組み - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Spring Security 使い方メモ 基礎・仕組み - Qiita
  • Goにはディレクトリ構成のスタンダードがあるらしい。 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Goにはディレクトリ構成のスタンダードがあるらしい。 - Qiita
  • Spring Batch でメタテーブルを使いたくないのに使用されてしまう時はこうする - Qiita

    たいしたネタでもない上に詳細に機構を分かっているわけでもないのですが、たいしたことじゃないことほど一度ハマるとめちゃめちゃ時間を吸われるので、情報共有しておきます。 結論 さて、このようなタイトルの記事を読む方はきっと、Stack Overflowなどを読み漁っても良い解決策が分からず、ハマり続けて悲しい気持ちになっている方だと思います。ので先に結論から申し上げると、 DataSourceをBeanから抜いてください。 それだけです。 MapJobRepositoryFactoryBean では解決できない Spring Batchはその実行状態を保存しておく機能を持っており、それが有効になっていると接続先のデータベースに勝手にテーブルを作ってなんのジョブのどのステップが実行されたかなどを管理してくれます。リカバリする時はこれを見てよい感じに再実行などしてくれるそうです。 しかしさほどやや

    Spring Batch でメタテーブルを使いたくないのに使用されてしまう時はこうする - Qiita
  • JWTを利用したSpringアプリのAPI認証 - Qiita

    APIサーバとして作っているSpringBootアプリに認証の仕組みを入れようと思い、試行錯誤した内容をまとめておきます。 spring-securityを入れればよろしくやってくれるんじゃないの?と軽く思っていたのですが、思ったより長い道のりになってしまいました。 ID/PWでtokenを発行して、tokenを元にその他のAPIを呼び出せるか制御したい というのがやりたいことです。 いろいろ調べるとJWTという技術が使えそうだと判明して、「Implementing JWT Authentication on Spring Boot APIs」というサイトを参考に実装しています。 JWT(Json Web Token)とは 以下の3つのJSONデータを.で結合してできた文字列を、URLでも安全に送れるように暗号化したものです。これをtokenとして利用します。ジョットと読むらしいです He

    JWTを利用したSpringアプリのAPI認証 - Qiita
  • エンジニアらしくポルポテストに合格してみる - Qiita

    ポルポテストとは? 何としてもこの炎は守らなくては…… 24時間耐久する入団試験ゲーム「ポルポテスト」がリアルにキツい ポルポテストは、11月25日から大阪文化館・天保山で開催される「荒木飛呂彦原画展 JOJO 冒険の波紋」を記念して実施されるスマホ用Webゲーム。同作に登場するギャング組織・パッショーネの幹部“ポルポ”がジョルノに課した、「24時間ライターの炎を消さなければ合格」という過酷な入団試験を再現したもので、実際に24時間スマートフォンを落ち着けておく必要があります。 試験は端末を垂直に縦持ちしてスタート。ルールとしては、 一定角度以上傾けると失敗 スリープ画面になると失敗 ブラウザ上で「ポルポテスト」ページから別のページに移動したら失敗 「ポルポテスト」を開いているブラウザを閉じて、再度アクセスしても失敗 「ポルポテスト」を開いているブラウザアプリがバックグラウンドにいっても失

    エンジニアらしくポルポテストに合格してみる - Qiita
    mapserver2007
    mapserver2007 2019/03/05
    NGワード参考に。