BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ プログラミング に関するすべてのコンテンツ

  • フレームワークは善か悪か,その両方か?

    フレームワークとライブラリのどちらが望ましいか,という議論が起きている。Axon Fraameworkを開発するAxonIQのエバンジェリストであるFrans van Buul氏は先日、ひとつのブログ記事を執筆した。ライブラリを支持する声が多い中で,Van Buul氏は、ビジネスアプリケーションの開発にはフレームワークの利用が非常に有用だ,という考えを述べている。CQRS、DDD、イベントソーシングを基盤とするアプリケーションには,これが特に当てはまる,というのが氏の意見だ。

  • TNG-Hooks: 通常の関数でステートフルないしエフェクトフルなロジックの再利用と構成を実現

    新しいTNG-Hooksライブラリを使用すると,通常のスタンドアロン関数に対して,リモートデータベースへのクエリやスコープ外のコンテキストにあるデータへのアクセスといった,便利でステートフル,かつ効果的なロジックを加えることが可能になる。Hooksによって実現するコードの再利用と構成は,より小さく,メンテナンス性のよい,堅牢なコードベースの実現に貢献する。

  • ZipSlip,NodeJSのセキュリティ,BBSハッキングについて

    今年初め,人気の高いBowerパッケージマネージャのアーカイブ抽出機能に脆弱性が発見され,ユーザのディスクに攻撃者が任意のファイルを書き込めることが明らかになった。後に明らかになったように,この攻撃で使用されているベクタアタックは,BBS初期の時代から知られているものだ。InfoQはTal氏と話す機会を得て,ソフトウェアのセキュリティ,特にNode.jsのセキュリティについて学ぶことができた。

  • TC39はECMAScript 2019の機能セットを最終化した

    ECMA TC39パネルは最近、JavaScriptのES2019エディション(ECMAScript 2019とも呼ばれる)の機能を最終化した。ES2019は、配列、オブジェクト、文字列、シンボル、try/catchブロック、JSONの新機能または更新された機能で改善される。

  • C# の機能: Defer

    GoとSwiftでよく知られるものなのであるが、C#でも提案#1398にてDeferステートメントの希望がされている。概念について把握していない方のために解説をすると、これはfinallyブロックがコードの最後でなく最初に現れるものと説明できる。

  • C#の機能 - ポインタ演算

    ネイティブプラットフォームと相互運用する場合、ポインタ操作に関して極めて特殊なコーディングパターンが必要となることがよくある。Cで記述したシム(shim)を経由すれば可能だが、 "Operators should be exposed for System.IntPtr and System.UIntPtr"と題した提案では,C#から直接提供する方法について論じている。

  • GitHubのPRを自動生成して脆弱性を修正するDependabot

    Dependabotは,GitHub Security Advisory APIを活用することで,依存関係のトラッキングを支援し,プログラムのセキュリティを監視し,潜在的な脆弱性を解決するためのPRを自動生成することによって可能な限り簡単かつ確実な除去を実現する。

  • 共用体型のコールとビルド時間が改善されたTypeScript 3.3

    TypeScriptチームは隔月リリース周期に従って,共用体の呼び出しと複合プロジェクトのファイル追加監視のパフォーマンスを改善した,TypeScript バージョン3.3をリリースした。同時に今後6ヶ月間のロードマップも公開されている。

  • ApacheがJDK 11をサポートしたNetBeans 10.0をリリース

    Apache Software Foundationは先頃,JDK 11の拡張サポートを備えたNetBeans 10.0をリリースした。JUnit 5のサポートが追加され,PHP,JavaScript,Groovyモジュールが再統合されている。2019年中には,JDK 12とJDK 13をそれぞれサポートする2回のリリースが計画されている。

  • Swift 5ではメモリの排他アクセスが必須になる

    Swift 5では,変数がプログラムの他の部分で変更されている間,別の名称を使ってアクセスできないようにすることで,Swiftプログラムのメモリ安全性が向上している。この変更は,既存のアプリの振る舞いにも,Swiftコンパイラ自身にも重大な影響を及ぼす。

  • Very Fast Organizational Transformations(VFOT)の5原則

    Very Fast Organizational Transformations(VFOT)には,原則を持つ,タイムボックスを決める,システム全体,呼び掛ける,全員が参加する,という5つの原則がある。いずれもオープンソースないしオープンスペースの基礎をなすものとして証明された,理論ないし慣行に基づくものだ。開放的で権限付与性と透過性を備えたこれら原則を組み合わせ,包括的な変革戦略を形成することによって,変革の段階的な速度向上が実現する。

  • Facebook,仮想現実でよりリアルなイメージを実現するDeepFocusをオープンソース公開

    先日のブログ記事でFacebookは、近くのオブジェクトへのフォーカスを改善するためにAIを使用したフレームワークのDeepFocusを、オープンソースとして公開すると発表した。このテクノロジによって,まさに映画を見ているように、近接するオブジェクトをフォーカス内に、遠方のオブジェクトをフォーカス外にすることが可能になる。DeepFocusは、エンドツーエンドの畳み込みニューラルネットワークを活用して、正確な網膜ぼけ(retinal blur)をほぼリアルタイムに生成する。

  • Grady Booch、AIの未来を語る

    Grady Booch氏によると,昨今のAIシステムは,その大部分がエッジにおける信号のパターンマッチングと帰納的推論(Inductive Reasoning)に関わるものであって,真の人工知能(Artificial Intelligence)ではない。2018 QCon San Franciscoの2日目に行った基調講演 "Building the Enchanted Land" で氏は,現在のAIとは"AIコンポーネントを備えたシステムエンジニアリングの問題"である,という持論を展開した。

  • Evan You氏がVue.js 3.0をプレビュー

    VueConf Torontoにおいて,Vue.jsの作者でプロジェクトリーダのEvan You氏は,Vue.jsフレームワークの次期メジャーイテレーションとなるVue 3をプレビューした。

  • トレース,モジュール,マクロなどが改良されたRust 1.32

    Rust 1.32には,デバッグ目的でプログラム実行をトレースする時の開発者エクスペリエンスを向上するための,新たな言語機能が多数含まれている。さらに,デフォルトでシステムアロケータが使用されるようになるとともに,モジュールシステムの開発が完成して使いやすくなっている。

BT