Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。Cをオープンソースとして公開した。CとC++言語への境界チェック導入を目的とした研究プロジェクトだ。CとC++の重大な脆弱性のひとつとして,メモリの範囲外アクセスの実行可能性がある。Database)によれば,2010年から2015年に米国で発生したセキュリティ上の脆弱性の16%は,バッファオーバーフローを原因とするものだった。システムソフトウェア(オペレーティングシステム,データベース,コンパイラ,インタプリタ,ブラウザなど)のほとんどがこの2言語で記述されていることから,現存するシステムの大半には,個人情報の搾取やシステム乗っ取りを目的とした攻撃や誤動作の対象となり得るメモリ破損の可能性がある,ということになる。Cを提案することにより,これらの問題に対処しようとしている。C言語への境界チェックの導入には2つの問題点があります。そのひとつは,実行時に境界をどこに置くべきかが明確でないことです。ふたつめは,パフォーマンスを重視するプログラムにおいて,効率的な境界チェックを行なう方法が自明ではない点です。Cのポインタ型と配列すべてに境界情報を持たせるような変更は,現実的なソリューションとして十分ではありません。C言語が使用されるシステム基盤では,ハードウェアや標準によってデータ構造が変更不可能な場合も少なくないのです。Cプログラムは既存のオペレーティングシステムや,特定のデータレイアウトを必要とするソフトウェアとも相互運用できなくてはなりません。Cを使えば,C/C++による“境界チェックの保証された”コードの記述が可能になる。Cでは,コンパイル時と実行時に両方ともチェックされるような,新しいポインタと配列型が導入されている。境界チェックを必要としない型Tへのポインタ。このポインタには,ポインタ演算を行なうことはできない。メモリアクセス時にnullであってはならない。ほとんどのポインタはこのタイプであると想定される。型Tの値を含む配列要素へのポインタ。このポインタは,算術演算に含めることができる。メモリの参照あるいは更新時にnullであってはならない。境界チェックの責任はプログラマに委ねられる。境界情報を持つポインタ。算術演算をサポートする。メモリの参照あるいは更新時にnullであってはならない。型Tとサイズ100を宣言した配列で,境界チェックの対象となる。C言語の変換規則によってarray_ptrに変換される。仕様では間接参照や配列参照,代入,加算,比較,address-of(&),checked配列型からポインタ型への変換など,ポインタ型に関するさまざまな操作に対する振る舞いを規定している。仕様では,*の使用に対して,警告あるいはエラーを報告するオプションをコンパイラに追加するように求めている。Cの仕様およびclangでの実装,LLVMでの実装である。Cをサポートするコンパイラの拡充などのコントリビューションが期待されている。C言語に境界チェックを導入する試みとしては過去にも,静的解析の利用,言語の変更を伴わないコンパイラやランタイムの拡張,プログラム検証,C言語ベースの新言語などがあった。Work”には,これらアプローチの詳細と,著者らが言語拡張を選択した理由が説明されている。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員として、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。