タグ

ブックマーク / www.infoq.com (22)

  • C#用静的解析ツールRoslynator.Analyzersで500以上の方法によるコード改善が可能に

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    C#用静的解析ツールRoslynator.Analyzersで500以上の方法によるコード改善が可能に
    cpthgli
    cpthgli 2020/04/27
    あとで読む: "C#用静的解析ツールRoslynator.Analyzersで500以上の方法によるコード改善が可能に"
  • モナドを理解する - 迷える者への手引き

    いずれにせよ、システムの状態が時間の関数であり、そのため時間は考慮しなければならない余分な要素となります。"xの値は何?"と問い合わせることは実際できません。代わりに、"時間tにおけるxの値は何?"と問い合わせなければなりません。これではコードを判断するのが難しくなり、複雑な要素が増えます。結論としては... 状態あり: ダメ! 状態なし: グッド! 式とアクション 式とは値を持った文です。たとえば以下のコードを考えてみましょう。 x = 5 y = x + 7 x = y + 1 最初のxは値が5であるという式です。最後のxは値が13であるという式です。コードは他の式も含んでいます。たとえば真ん中の行は、x + 7が12という値であるという式です。 ほとんどのコンピュータ言語では、キーボードから読み込むコマンドは式であり、その式は値を持っています。次の文を考えてみましょう。 x = ne

    モナドを理解する - 迷える者への手引き
  • コンポーネントベースのアプリケーションのためのCSSアーキテクチャ

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    コンポーネントベースのアプリケーションのためのCSSアーキテクチャ
  • EmoPy: 表情認識のためのオープンソースツールキット

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    EmoPy: 表情認識のためのオープンソースツールキット
    cpthgli
    cpthgli 2018/12/24
  • メタプログラミングのサポートとモジュールが改善されたRust 1.30

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    メタプログラミングのサポートとモジュールが改善されたRust 1.30
    cpthgli
    cpthgli 2018/12/24
  • MicrosoftがWPF、WinForms、WinUIをオープンソース化

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    MicrosoftがWPF、WinForms、WinUIをオープンソース化
    cpthgli
    cpthgli 2018/12/20
  • Docker DesktopがKubernetesをサポート

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Docker DesktopがKubernetesをサポート
    cpthgli
    cpthgli 2018/10/18
  • Eric Evans氏はドメイン駆動設計(DDD) は未完成だと述べた

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Eric Evans氏はドメイン駆動設計(DDD) は未完成だと述べた
    cpthgli
    cpthgli 2018/10/12
  • C# 8の非同期ストリーム

    C# 8で新たに提案された機能である非同期ストリーム(Async Streams)では、結果がスカラ値でなくてはならないという制限が排除されて、非同期メソッドから複数の結果を返すことが可能になります。 この変更により、asyncパターンはより柔軟になり、データベースから遅延非同期シーケンスでデータを取得したり、あるいはデータが利用可能になった時にチャンクで返すような非同期シーケンスを使ってデータをダウンロードしたりすることが可能になります。 例: foreach await (var streamChunck in asyncStreams) { Console.WriteLine($"Received data count = {streamChunck.Count}"); } 非同期プログラミングの問題を解決するもうひとつのアプローチは、Reactive Extensions(Rx)で

    C# 8の非同期ストリーム
    cpthgli
    cpthgli 2018/10/12
  • C#のAPI設計のモデルとインターフェース

    オブジェクトグラフは到達可能な子オブジェクトから構成されます。データモデルやDTOの場合、オブジェクトグラフは一方向のツリーに似た構造になります(循環グラフもありうるが、シリアライゼーションで問題になる)。 ドメインモデル ドメインモデルは関連するデータモデルを表す、より高い次元の概念。 エンティティ “エンティティ”という言葉には多くの定義があります。質的には“データモデル”と同じ定義のものもあります。nHibernateとEntity Frameworkが人気になったので、データベースのテーブルと一対一にマッピングされるDTOを意味するようになりました。 この定義の場合、エンティティはカラムと列のマッピングを正確に説明する属性で飾られるようになります。データベースからの遅延読み込みもサポートします。 エンティティを拡張してデータモデルとしての役割を担わせることもできますが、エンティテ

    C#のAPI設計のモデルとインターフェース
    cpthgli
    cpthgli 2018/10/11
  • C# 8のデフォルトインターフェースメソッド

    この機能にうってつけのシナリオの一つが、以下に説明するロギングの例である。ILoggerインターフェースが持つ抽象メソッドはWriteLogCoreただ一つだけで、WriteErrorやWriteInformationのような他のメソッドはすべて、それぞれ別の設定でWriteLogCoreメソッドを呼び出すデフォルトメソッドとして定義されている。ILoggerの実装者は、WriteLogCoreメソッドだけを実装すればよい。 ロガー型の各実装クラスで削減されるコードの行数を考えてもらいたい。この機能は素晴らしいものにもなり得るが、危険性がないわけではない。一種の多重継承であるので、ダイヤモンド問題が起こり得る。これについては後で述べる。また、インターフェースメソッドは、状態を持たない「純粋な振る舞い」でなければならない。つまり、インターフェースは、これまで同様、フィールドを直接参照すること

    C# 8のデフォルトインターフェースメソッド
    cpthgli
    cpthgli 2018/10/11
  • C# 7.2における構造体のパフォーマンス

    「FinOps、アプリケーション単位の経済性、クラウドコストの最適化について、ロワ・ラヴホン氏語る」 このエピソードでは、Finoutの共同設立者兼CEOであるRoi Ravhon氏が、InfoQポッドキャストの共同ホストであるDaniel Bryant氏と対談し、FinOpsの出現と業界の採用について議論した。この対談では、FinOpsを採用するメリット、クラウド・コストについてもっと知りたいと考えている組織の典型的な道のり、実装を成功させるために必要な様々な文化やツールといったトピックが取り上...

    C# 7.2における構造体のパフォーマンス
    cpthgli
    cpthgli 2018/10/11
  • C# 8の小さな機能

    「FinOps、アプリケーション単位の経済性、クラウドコストの最適化について、ロワ・ラヴホン氏語る」 このエピソードでは、Finoutの共同設立者兼CEOであるRoi Ravhon氏が、InfoQポッドキャストの共同ホストであるDaniel Bryant氏と対談し、FinOpsの出現と業界の採用について議論した。この対談では、FinOpsを採用するメリット、クラウド・コストについてもっと知りたいと考えている組織の典型的な道のり、実装を成功させるために必要な様々な文化やツールといったトピックが取り上...

    C# 8の小さな機能
    cpthgli
    cpthgli 2018/09/27
  • マイクロサービスの通信手法

    モノリスからマイクロサービスに移行することで、それまでモノリスの中の暗黙的に存在していた複雑性が明らかになり、通信に関する課題が指数級数的に増加する — Michael Plöd氏は、GeeCON 2018でのプレゼンテーションでこのように述べ、マイクロサービス間の通信に関するさまざまな手法について説明した。 InnoQのプリンシパルコンサルタントであるPlödは最近、経験豊富な氏のチームが、マイクロサービスを既定のアーキテクチャとして見ていることが多い点に気付いた。分散システムは難しいシステムだ、と氏は強調する — 必要がなければ、そのためだけに苦労するのは避けるべきだ。そのような状況では、適切に構築されたモノリスの方がよい選択肢であることも少なくないのだ。 モノリスでは不十分であるためにマイクロサービスが採用されている場合は、それらは統合されていなくてはならない。これは単に技術的な問題

    マイクロサービスの通信手法
    cpthgli
    cpthgli 2018/09/21
  • Go 2ブロックをおりる

    Gophercon 2018においてRuss Cox氏は、エラー処理、ジェネリックを含むGo 2について説明し、新しい提案がどのように見えるかのプレビューを提供した。 昨年のGophercon 2017の発表で、Go 2は、多くの相互作用する並行サービスで構成された大規模システムと、多くの緩やかに調整されたエンジニアによって開発された大規模なコードベースというシステムを大規模に開発するための効率的な言語であるという全体の目標を維持しながら、言語の欠点を修正する。 Cox氏が説明したように、Go開発のアンケートで一貫して表示される3つの領域がある: パッケージ管理、エラー処理、ジェネリック InfoQのレポートでモジュールはGo 1.11で登場したが、また実験中に変更されている。モジュールはGOPATHの代わりとしてプロジェクトの依存関係を見つけるための代替手段として、共通のインポートパスプ

    Go 2ブロックをおりる
    cpthgli
    cpthgli 2018/09/13
  • Google Kubernetes Engine 1.10は一般向けに利用可能となり、エンタープライズ対応した

    AI、ML、データエンジニアリングInfoQトレンドレポート-2023年9月 今回のポッドキャストでは、InfoQ編集部のメンバーとInfoQの友人たちが、毎年恒例のトレンドレポート作成のプロセスの一環として、AI、ML、データエンジニアリングの領域における現在のトレンドについて議論する。これらのレポートは、InfoQの読者に注目すべきトピックのハイレベルな概要を提供し、また編集チームが革新的な技術に焦点を当てるのに役立つ。InfoQ.comで閲覧可能なレポートとトレンドグ...

    Google Kubernetes Engine 1.10は一般向けに利用可能となり、エンタープライズ対応した
    cpthgli
    cpthgli 2018/06/12
  • GradleがJava 10をサポートするバージョン4.7をリリース

    AI、ML、データエンジニアリングInfoQトレンドレポート-2023年9月 今回のポッドキャストでは、InfoQ編集部のメンバーとInfoQの友人たちが、毎年恒例のトレンドレポート作成のプロセスの一環として、AI、ML、データエンジニアリングの領域における現在のトレンドについて議論する。これらのレポートは、InfoQの読者に注目すべきトピックのハイレベルな概要を提供し、また編集チームが革新的な技術に焦点を当てるのに役立つ。InfoQ.comで閲覧可能なレポートとトレンドグ...

    GradleがJava 10をサポートするバージョン4.7をリリース
    cpthgli
    cpthgli 2018/06/12
  • MicrosoftがAzure SignalRサービスのプレビュー版を発表

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    MicrosoftがAzure SignalRサービスのプレビュー版を発表
    cpthgli
    cpthgli 2018/06/06
  • MediumからReact.jsとGraphQLへの移行

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    MediumからReact.jsとGraphQLへの移行
    cpthgli
    cpthgli 2018/05/23
  • Visual Studio 2017 15.7がC++17に完全準拠

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Visual Studio 2017 15.7がC++17に完全準拠
    cpthgli
    cpthgli 2018/05/17