はてなブックマークアプリ

アプリなら、
コメントが見やすい!

アプリで開く

アプリなら、コメントが見やすい!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • 国内
    • 国際
    • 経済・金融
    • IT
    • 社会
    • 文化
    • 事件・事故
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 今日の出来事
    • 生活
    • グルメ
    • 新型コロナウイルス
    • 今後の「働き方」
    • 夏の風物詩
    • ビジネス・経営
    • 雑学
    • 将棋・囲碁
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • 恋愛
    • はてな匿名ダイアリー
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • お金
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 英語
    • ビジネス・経営
    • デザイン
    • 法律
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • サッカー
    • 将棋・囲碁
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
  • おすすめ

    画像生成AI

『qiita.com』

  • 人気
  • 新着
  • すべて
  • gRPCのMock戦略 - Qiita

    3 users

    qiita.com/disc99

    はじめに API開発において、サーバとクライアントが別れて開発することは多いと思います。 しかし、そのような場合にクライアントが平行、あるいは先行して開発をすることになると、必要となるサーバが存在しないため開発がしにくくなります。 そこで出てくるのがAPIのモックサーバです。 クライアント開発時、本物のサーバの代わりにモックサーバを利用し開発を行い、サーバの開発が完了した時点で結合を行うようにします。 ここではよくあるREST APIと比較したgRPCのMockについて記載します。 REST APIのモックサーバ RESTのモックサーバはホスティングサービスから、単体のツールまで沢山あるので、ここではシンプルなjson-serverを例にしたいと思います。 json-serverによるモック json-serverを利用した開発は簡単で、レスポンスとなるjsonを定義し、json-serv

    • テクノロジー
    • 2019/09/19 08:47
    • gRPC
    • Protocol Buffers(proto3)でoptionalをどう扱うか - Qiita

      6 users

      qiita.com/disc99

      2021.4.14 追記 proto3で削除されたoptionalですがv3.15(experimentalオプションを利用する場合はv3.12)から正式に実装されたため、それ以降のバージョンを利用する場合は素直にoptionalを利用してもらうのがいいと思います! https://github.com/protocolbuffers/protobuf/releases/tag/v3.15.0 Protocol Buffersはproto3でrequiredとoptionalが削除されました。 そもそも削除された経緯に関しては、@qsonaさんのエントリーにて、分かりやすくまとめて下さっています。 そこで課題になるのが、proto3において各フィールドは全てデフォルト値を持つため、デフォルト値が設定されたフィールドが利用側から 1. 意図的にセットされたデフォルト値と同様の値 2. 存在し

      • テクノロジー
      • 2019/06/29 23:44
      • grpc
      • qiita
      • JavaでgRPC導入のためのポイント - Qiita

        13 users

        qiita.com/disc99

        gRPCとは gRPCの概要については、こちらのエントリで記載しています。 このエントリでは、gRPCの運用で気になるポイントや、Javaで実装する場合を中心にまとめていこうと思います。 開発フロー 現代的なシステムではシステム間をAPIを通じて通信することが多くなってきています。 この場合、各システムのインターフェイスは以下のいずれかのパターンで開発が進む場合が多いです。 パターン1: 手動でインターフェイスのドキュメント(仕様書等)を記述し、サーバ、クライアントの開発者でその要件を満たす実装を行う パターン2: サーバ側のコードから、インターフェイスドキュメントを自動生成し、クライアントがその要件を満たす実装を行う パターン3: 手動でインターフェイスドキュメントを記述し、各システム用にサーバとクライアントのコードを自動生成する gRPCを用いた開発では上記の3のパターンで行います。

        • テクノロジー
        • 2018/01/10 10:20
        • gRPC
        • java
        • programming
        • Google
        • あとで読む
        • JavaでTupleが欲しくなったときメモ - Qiita

          8 users

          qiita.com/disc99

          Javaでもラムダ式やStream APIなど比較的モダンな機能が取り入れられ、処理結果を2つ以上の値として返したい場合が増えてきています。 その方法として一つとして思いつくのが、他言語ではよく用意されているTupleです。 ところが、Javaには標準APIとしてTupleが用意されているないため、ちょっと調べたときのメモです。 Tupleとは タプル(tuple) タプルとは、順序付けられた複数の要素で構成される組。もとは数学の概念だが、いくつかのプログラミング言語にはタプルという名称のデータ型が用意されている。 タプル型の仕様は言語によって異なるが、複数の異なる型のデータやオブジェクトなどを格納でき、配列のように各要素に通し番号(添字)が割り振られ、これによって要素を識別するようなデータ構造を表すことが多い。また、LISPなどの関数型言語では二分木の構造になっているデータ型をタプルとい

          • テクノロジー
          • 2017/09/04 11:24
          • lombok
          • java
          • design
          • あとで読む
          • java.util.stream.Collectorの活用法 - Qiita

            9 users

            qiita.com/disc99

            Help us understand the problem. What are the problem?

            • テクノロジー
            • 2017/01/24 22:38
            • java
            • collector
            • deferred
            • Programming
            • REST APIの設計で消耗している感じたときのgRPC入門 - Qiita

              102 users

              qiita.com/disc99

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

              • テクノロジー
              • 2016/12/19 07:54
              • grpc
              • REST
              • api
              • restapi
              • 設計
              • microservices
              • あとで読む
              • SwaggerでRESTful APIの管理を楽にする - Qiita

                182 users

                qiita.com/disc99

                背景 最近は変化し続ける要件に対応するために、システムも柔軟であることが求められています。 そのため、部分的に変更やスケールの可能なシステムを構築し、API経由で連携するマイクロサービス的アーキテクチャが増えてきています。 そういった設計の中で問題になっていくのが、従来のモノリシックなアプリケーションではIDEやコンパイラなどで行っていた、機能間のインターフェイスをどう管理するかという部分です。 Swaggerとは? SwaggerとはRESTful APIのドキュメントや、サーバ、クライアントコード、エディタ、またそれらを扱うための仕様などを提供するフレームワークです。 公式サイトでは、The World's Most Popular Framework for APIsと謳っています。 その理由は、マイクロソフト、Google、IBM、SmartBearなどを大手の企業を含む「Open

                • テクノロジー
                • 2016/10/11 07:57
                • swagger
                • API
                • RESTful
                • REST
                • OpenAPI
                • 設計
                • 開発
                • documentation
                • あとで読む
                • document
                • Javaクラス名ランキング - Qiita

                  3 users

                  qiita.com/disc99

                  import org.jsoup.Jsoup; import org.jsoup.nodes.Element; import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.function.Function; import java.util.stream.IntStream; import static java.util.function.Function.identity; import static java.util.stream.Collectors.*; public class Ranking { public static void main(String[] args) { Stream.<Triple

                  • テクノロジー
                  • 2016/03/02 08:21
                  • 名前
                  • qiita
                  • java
                  • プログラミング
                  • JUnitのアサーションライブラリHamcrest,AssertJ比較 - Qiita

                    16 users

                    qiita.com/disc99

                    なぜ今アサーション? 現時点でJUnit5ではHamcrestのMatcherは提供せず、使用者が自由に選択する方針で進んでいます。 そうなった場合、標準でサポートされるassertTrueやassertEquelsなどだけでは、ちょっと頼りなく車輪の再発明になりそうなので、候補になりそうなHamcrestとAssertJのよく使いそうなメソッド比較表を作りました。 Google Truthも気になるところなので、時間があれば追加しようと思います。 尚、FESTは現時点で更新がストップしているようなので候補から除外しています。

                    • テクノロジー
                    • 2015/12/15 09:06
                    • JUnit
                    • Hamcrest
                    • java
                    • アサーション
                    • test
                    • testing
                    • 開発
                    • AssertJ
                    • 非同期や並列処理にも役立つRxJavaの使い方 - Qiita

                      38 users

                      qiita.com/disc99

                      なぜRxJava? RxJavaは様々な特性を併せ持ったライブラリですが、簡単にまとめると以下のような機能に分類されます。 List処理の抽象化・ストリーム化 Optional Future/Promise Data Binding Event Bus Android開発でRxJavaをチームに導入した話 Java 8ではStream APIやOptionalが導入されていますが、Androidや業務要件などそのAPIを使えない環境も存在します。 また、非同期や並列などそもそもJavaで扱いにくい処理を、統一されたインターフェイスで簡潔に記述できるなどのメリットも多く、その基本的な機能を試してみたので紹介します。 なお、ここに記載する内容はRxJavaの使い方が中心で、RxJava自体の概念やFRPなどについては、他にも多くの方々紹介してくださっていますので、そちらをご覧いただければと思い

                      • テクノロジー
                      • 2015/10/27 09:30
                      • RxJava
                      • Rx
                      • Java
                      • reactive
                      • reactive extensions
                      • Android
                      • qiita
                      • あとで読む
                      • Javaのテストでも使えるテーブルセットアップ用のGroovy DSL - Qiita

                        16 users

                        qiita.com/disc99

                        Help us understand the problem. What are the problem?

                        • テクノロジー
                        • 2015/08/17 10:10
                        • Groovy
                        • spock
                        • Java
                        • テスト
                        • あとで読む
                        • Javaで書くBuilderパターンのパターン - Qiita

                          85 users

                          qiita.com/disc99

                          class People { private String name; private Integer age; private String hobby; // getter,setter... String hello() { //... } } class Director { private Builder builder; Director(Builder builder) { this.builder = builder; } void construct() { builder.name("Tom"); builder.age(12); builder.hobby("BaseBall"); } } interface Builder { void name(String name); void age(Integer age); void hobby(String hobby

                          • テクノロジー
                          • 2015/02/15 17:42
                          • java
                          • デザインパターン
                          • builder
                          • lombok
                          • GoF
                          • design pattern
                          • class
                          • designpattern
                          • オブジェクト指向
                          • あとで読む
                          • DDD関連書籍メモ - Qiita

                            24 users

                            qiita.com/disc99

                            Help us understand the problem. What are the problem?

                            • テクノロジー
                            • 2015/01/06 00:56
                            • DDD
                            • programming
                            • ソフトウェア開発
                            • qiita
                            • 書籍
                            • book
                            • あとで読む
                            • まとめ
                            • Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ

                              1039 users

                              qiita.com/disc99

                              Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 Apache HTTP Server 世界中でもっとも多く使われているWebサーバ。 nginx フリーかつオープンソースのWebサーバで、処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。 Tomcat Java ServletやJSP

                              • テクノロジー
                              • 2014/11/10 08:11
                              • java
                              • ライブラリ
                              • フレームワーク
                              • framework
                              • 開発
                              • プログラミング
                              • まとめ
                              • library
                              • あとで読む
                              • Java EE
                              • JUnit実践入門 体系的に学ぶユニットテスト - Qiita

                                17 users

                                qiita.com/disc99

                                はじめに JUnit実践入門を読んだのでそのまとめ Part1 JUnit入門 なぜ、ユニットテストを行うのか? どんなプログラマであっても人間であるかぎり間違いをおかす→正しく動くか不安→不安を安心に変える ユニットテスト JUnitとは? Javaのテスティングフレームワーク。 テストの実行フレームワーク テストの期待値と実測値の検証API テストケースのフォーマット 日本語のメソッド名を使うメリット 英語で格好よくテスト内容を記述でき、それを英語表記でき、読み取れれば英語の方が望ましい。 日本語でのソフト開発なら、Javadocで出力すれば、テスト項目一覧、テストクラスのアウトライン参照でテストが把握できたり、テスト失敗時の内容が理解しやすいなどメリットが大きくなる。 ソフトウェアテストの特徴 テストにある条件下という制約があること。これは「前提条件」、「事前条件」などの使用するデー

                                • テクノロジー
                                • 2014/08/23 06:27
                                • junit
                                • テスト
                                • test
                                • java
                                • *programming
                                • Effective Javaのまとめのまとめ - Qiita

                                  37 users

                                  qiita.com/disc99

                                  はじめに Effective Java関連の記事をまとめ。 他にも見つけたら追加していこうと思います。 また、内容に誤り、問題がありましたら訂正しますので、コメントまたはプルリクエストをお願いします! Effective Javaって? JavaでプログラミングをするすべてのSE必読の書籍です。 Effective Java 第2版 Effective Javaは全Javaプログラマ必帯と言って良い名著.. Effective Java 第2版 が今月発売されるようです Java中級者以上なら読むことがマナーであると言われるJavaの必読書。 [書評]Effective Java 第2版 Javaを使う上で知っておいたほうが良い知識・注意した方がいいテクニックを紹介した本 Effective Java 第2版 数々のブログやサイトで評価されAmazonのレビューやランキングでも常に上位に存

                                  • テクノロジー
                                  • 2014/07/02 17:59
                                  • java
                                  • Effective Java
                                  • book
                                  • qiita
                                  • links
                                  • tech
                                  • Programming
                                  • IT
                                  • JUnit・JMockitチートシート - Qiita

                                    13 users

                                    qiita.com/disc99

                                    public class FourPhaseTest { @Test public void testCase() throws Exception{ // 1.初期化 Calc sut = new Calc(); int expected = 7; // 2.テスト実行 int actual = sut.add(3.4); //3.アサーション assertThat(actual, is(expected)); //4.終了処理(必要な場合) sut.shutdown(); } }

                                    • テクノロジー
                                    • 2014/03/26 09:01
                                    • JUnit
                                    • java
                                    • 177bdf6352de463fdc87

                                      58 users

                                      qiita.com/disc99

                                      経験ゼロでもできるプログラミング現場の単体テストを読んだので、そのまとめ はじめに 著者曰く、 初めて導入する単体テストの指南書 を目指した一冊。 単体テストを書いたことが無かったり、書いたことがあっても書き方の方針が定まっていない人にはおすすめの本。 逆に既にバリバリテストコードを書いてる人に、再確認的な内容になるかも。 単体テストについて基礎知識 アプリケーション開発では設計に時間がかかりすぎて、テストに時間をかけられないことがある。 致命的な障害発生する可能性がある。 とはいえすべてを想定してテストを実施することはできない。 テストケースを絞る必要がある 各テストフェーズの礎となる単体テストが重要になる 高品質なシステム ユーザーを満足させ、不安や不満をいだかせないこと システムエラー:データの破損などの心配が生まれる 応答が遅い:いらいら・二度と使わなくなる まとめてテストはダメ

                                      • テクノロジー
                                      • 2014/02/20 17:54
                                      • テスト
                                      • test
                                      • TDD
                                      • Qiita
                                      • プログラミング
                                      • 書籍
                                      • プロジェクト
                                      • programming
                                      • AWS EC2 Amazon Linux + ApacheでBasic認証 - Qiita

                                        6 users

                                        qiita.com/disc99

                                        Help us understand the problem. What are the problem?

                                        • テクノロジー
                                        • 2013/12/24 12:04
                                        • basic認証
                                        • EC2
                                        • AWS
                                        • Javaの便利ライブラリ Google Guava - Qiita

                                          90 users

                                          qiita.com/disc99

                                          What's Google Guava? Googleが開発しているOSSのjava core libraryで、Googleの多くのJavaベースのプロジェクトで使用されており、 Java 1.5 以上で使用できる。 昔、Google Collectionとして開発されていた。 Apache Commons の Lang、Collectionsなどに替わる機能を提供していて、パッケージ名を見れば大体の機能について想像がつくと思います。 com.google.common.annotations com.google.common.base com.google.common.cache com.google.common.collect com.google.common.escape com.google.common.eventbus com.google.common.hash c

                                          • テクノロジー
                                          • 2013/11/12 14:17
                                          • guava
                                          • java
                                          • google
                                          • ライブラリ
                                          • library
                                          • apache
                                          • *programming
                                          • Android
                                          • Javaのユニットテスト・ライブラリ・ツールまとめ - Qiita

                                            16 users

                                            qiita.com/disc99

                                            テストの必要性 以前のシステム開発と言えば、ウォーターフォールのような要件から設計、実装、テストのような徐々に作業を細分化し最後にテストを行う手法が主流、というかSierとかでは基本今でもこの手法が多いはず。 しかし、現在はアジャイル開発の普及にともない、TDD、BDDに代表されるようなテスト重視の開発スタイルが増加している。 その中で実際テストコードを書いてみようとすると、Javaではテストフレームワークやツール、ライブラリ等が多数あり、どれを選択すべきか悩みどころになってくる。 ここではそれらを整理するため、Javaのテストコードを書くときに必要な情報をまとめておきます。 どれを使うか・・・ 個人的には、どれを使いうかと考えた時に以下に注意している。 簡単、シンプル テストコードをするために、時間がかかり過ぎたり、可読性が低下したり、ロジックがあまり複雑になるようなものは避ける。 情報

                                            • テクノロジー
                                            • 2013/10/28 17:03
                                            • Java
                                            • JUnit
                                            • テスト
                                            • ツール
                                            • test
                                            • Tools
                                            • 開発
                                            • Node.js 自動再起動モジュール - Qiita

                                              18 users

                                              qiita.com/disc99

                                              -m MAX Only run the specified script MAX times スクリプトの起動回数制限 -l LOGFILE Logs the forever output to LOGFILE foevert本体のログ -o OUTFILE Logs stdout from child script to OUTFILE 子スクリプト標準出力のログ -e ERRFILE Logs stderr from child script to ERRFILE 子スクリプト標準エラー出力のログ -p PATH Base path for all forever related files (pid files, etc.) -c COMMAND COMMAND to execute (defaults to node) 実行するコマンド(デフォルトはnode) -a, --appe

                                              • テクノロジー
                                              • 2013/10/26 15:47
                                              • forever
                                              • node.js
                                              • pm2
                                              • node
                                              • pocket2twitter
                                              • 現場で使えるソフトウェアテスト - Qiita

                                                43 users

                                                qiita.com/disc99

                                                テストの流れ 品質目標を立てる テスト密度(目標、上限、下限値)、バク密度(目標、上限、下限値) テスト計画 ソフトウェアテストの全体計画作成 実施スケジュール、予算、体制、環境構築手順、必要ツール利用手順、成果物の様式、バージョン管理、設計書の準備 テスト作成 期待動作、パターンの洗い出し、テスト環境構築、テストデータの作成、テストケース作成、レビュー テスト実施 作成したテストケースの実行 テスト検証 結果の確認、テスト関係者以外の利害関係者との調整(設計書管理、仕様管理、修正管理)、テスト実施者の作業管理、テスト報告のとりまとめ、テスト全体報告、再テスト有無判断 再テスト 検証で再テストを判断したケースの再テスト 品質評価、判断 ・品質管理者(テストが要求品質を達成できているか判断) ・テスト管理者(主に開発リーダーなどのテストなどにおける経験によりテストの実施、人員のとりまめ) ・

                                                • テクノロジー
                                                • 2013/10/20 22:55
                                                • test
                                                • テスト
                                                • java
                                                • コーディング規約
                                                • TDD
                                                • programming
                                                • ToDo
                                                • Spring Roo入門 - Qiita

                                                  5 users

                                                  qiita.com/disc99

                                                  Spring Rooとは Springのサブプロジェクトで「コマンドラインからソースファイルを生成するRAD(Rapid Application Development)ツール。 Rooは標準で、いままで使用されてきた実績のあるフレームワークやライブラリを使用(Spring Framework、Hibernate、JPA、AspectJなど) 実行は、コマンドライン、あるいはSTSのRooシェル上で行う。 生成されたソースにはRooに関連するアノテーションが付いているが、Rooはランタイムライブラリではなく、使用を中止する場合、コマンドを実行するだけでRooの依存性を簡単に削除できる。 Spring Rooで出来るとこ Eclipse用プロジェクトとして設定ファイル生成 CRUD機能を持ったscaffold生成 DBやO/Rマッピングのセットアップ データベーススキーマからのEntity自

                                                  • テクノロジー
                                                  • 2013/09/28 18:18

                                                  このページはまだ
                                                  ブックマークされていません

                                                  このページを最初にブックマークしてみませんか?

                                                  『qiita.com』の新着エントリーを見る

                                                  キーボードショートカット一覧

                                                  j次のブックマーク

                                                  k前のブックマーク

                                                  lあとで読む

                                                  eコメント一覧を開く

                                                  oページを開く

                                                  はてなブックマーク

                                                  • 総合
                                                  • 一般
                                                  • 世の中
                                                  • 政治と経済
                                                  • 暮らし
                                                  • 学び
                                                  • テクノロジー
                                                  • エンタメ
                                                  • アニメとゲーム
                                                  • おもしろ
                                                  • アプリ・拡張機能
                                                  • 開発ブログ
                                                  • ヘルプ
                                                  • お問い合わせ

                                                  公式Twitter

                                                  • 公式アカウント
                                                  • ホットエントリー

                                                  はてなのサービス

                                                  • はてなブログ
                                                  • はてなブログPro
                                                  • 人力検索はてな
                                                  • はてなブログ タグ
                                                  • はてなニュース
                                                  • App Storeからダウンロード
                                                  • Google Playで手に入れよう
                                                  Copyright © 2005–2022 Hatena. All Rights Reserved.
                                                  設定を変更しましたx