関連キーワード Java | アプリケーション開発 プログラミング言語の「Java」を、別のプログラミング言語に入れ替えようと考えたことはあるだろうか。今、代替先の有力候補だと目されているのが「Kotlin」(コトリン)だ。アプリケーション開発者の間で、いずれKotlinがJavaを圧倒するかどうかはまだ分からない。だがKotlinは、検討すべきもう一つの選択肢ではある。 モバイルOS「Android」用アプリケーションの開発者間ではいまだに、KotlinとJavaのどちらのプラットフォームを選ぶのが「正しい」のかに関して混乱がある。KotlinとJavaの機能を比べた場合、Kotlinの勝利は明らかだと私は考える。Kotlinの方がシンプルですっきりしていて、コードが少なくて済むからだ。 開発者が次のプロジェクトのためにKotlinを検討すべき5つの理由を解説する。 目次 理由1.Jav
例 次の例は、 に値を作成して追加する Queue 方法とその値を出力する方法を示しています。 using namespace System; using namespace System::Collections; void PrintValues( IEnumerable^ myCollection ); int main() { // Creates and initializes a new Queue. Queue^ myQ = gcnew Queue; myQ->Enqueue( "Hello" ); myQ->Enqueue( "World" ); myQ->Enqueue( "!" ); // Displays the properties and values of the Queue. Console::WriteLine( "myQ" ); Console::Writ
意味・対訳 (社交・宗教などの特別の目的の)集会、会合、会議、(小学校などの)朝礼(など)、集合(すること)、集まり、(米国のある州議会の)下院、(立法)議会、(部品の)組み立て、組み立て(部)品
variable, parameter, variable variable variableのニュアンス 「variable」は、数学やプログラミングにおいて「変数」を指す一般的な英単語である。これは、値が変わる可能性のある要素や項目を示す際に使用される。例えば、プログラム内で数値や文字列を格納するための場所として使われる。 variableと一緒に使われやすい単語・表現 ・define a variable(変数を定義する) ・assign a value to a variable(変数に値を割り当てる) ・variable scope(変数のスコープ) variableの例文 ・In this program, we need to define a variable to store the user's input.(このプログラムでは、ユーザーの入力を保存するために変数を定義
例 この例では、2 つのフォームを表示し、両方のフォームを閉じるとアプリケーションを終了します。 アプリケーションが開始および終了すると、各フォームの位置が記憶されます。 この例では、 メソッドと共Application.Run(context)に をApplicationContext使用して、アプリケーションの起動時に複数のフォームを表示する方法を示します。 クラス MyApplicationContext は から ApplicationContext 継承され、各フォームが閉じられると追跡され、両方が閉じられると現在のスレッドが終了します。 クラスには、ユーザーの各フォームの位置が格納されます。 フォーム位置データは、 によってUserAppDataPath決定されたAppdata.txt場所に作成されるというタイトルのファイルに格納されます。 メソッドは Main を呼び出 Ap
並行 (Concurrent) 処理を実装する方法としてスレッドは非常に強力なツールです。 スレッドを使えば同時に1つの処理しか行えない既存のプログラムに大きな修正を加えることなく、 並行処理を実装することが可能です。 またイベントとコールバックを複雑に組み合わせた非同期的なプログラムに比べて、 同期的なプログラム (例えばファイルの読み込みにコールバックが出てきたりしない普通のプログラム)は プログラムの流れを自然に書くことができ、 可読性・保守性・テスト、デバッグのしやすさの面で遥かに優れています。 スレッドを使うとプログラムをそれほど複雑・難読化にせずに並行処理が実装できます。 一方でスレッドを使った並行処理には欠点もあります。 欠点の1つは、スレッドモデルでは1つの処理に対して1つのスレッドを用意するので、 システムのスレッド数の上限で同時に行える処理の数が決まってしまう点です。
ずっと以前に住んでいた公団住宅では、水道の蛇口(水栓)がレバー式になっていて、引っ越した当初はずいぶん戸惑った。というのも、レバーを押し下げると水が出るのではなく、レバーを引き上げると水が出る仕様だったから。 アフォーダンスなどの認知科学的な考え方を持ち出すまでもなく「押せば出る」のが自然でしょ、と違和感を抱き続けていたのだが、ある日モヤモヤがスッキリ消えてしまう出来事があった。それは、 地震が起こって上からモノが落ちてきたとき水が出っぱなしにならない という理由を知ったことだった。その瞬間、私のアタマの中で何かがひっくり返り、引き上げる方式の水栓がすっかり手になじむものとなった。その後、また引っ越しをして、いまは押し下げる方式になってしまったのだが……。 さて、Visual Basic 2005(以下VB 2005)とVisual Basic 6.0(以下VB 6)はバージョン番号こそ違
RailsやDjango、LaravelなどWeb開発のフレームワークはいくつかありますが、JavaScriptだけで実装が可能なNode.jsも選択肢の1つ。Node.jsに関心がある方、初めてWeb開発をやってみようという方に、翔泳社から9月25日に発売した『入門Node.jsプログラミング』がいかがでしょうか。今回は、本書を使ってどのように学んでいけばいいのか、抜粋して紹介します。 本記事は『入門Node.jsプログラミング』の「LESSON 0 Node.jsとJavaScriptエンジンの準備」から抜粋したものです。掲載に当たり、一部を編集しています。 本書で学ぶこと 本書の目標は、Node.jsというプラットフォームで、JavaScript言語を使って、Webアプリケーションを構築する方法を学ぶことです。本書は、前章までに学んだ概念や開発スキルに基づいて進行します。 順番にレッ
例 次のコード例では、 を使用 GetStream して基になる NetworkStreamを取得します。 を取得した後、 NetworkStreamその WriteRead メソッドと メソッドを使用して を送受信します。 using TcpClient tcpClient = new TcpClient(); tcpClient.ConnectAsync("contoso.com", 5000); using NetworkStream netStream = tcpClient.GetStream(); // Send some data to the peer. byte[] sendBuffer = Encoding.UTF8.GetBytes("Is anybody there?"); netStream.Write(sendBuffer); // Receive some d
I/O バインドのニーズ (ネットワークからのデータの要求、データベースへのアクセス、ファイル システムの読み書きなど) がある場合、非同期プログラミングを利用できます。 CPU バインドのコードにも、コストのかかる計算の実行など、非同期コードに適したシナリオがあります。 C# は言語レベルで非同期プログラミング モデルを備えており、コールバックに苦労したり、非同期処理をサポートするライブラリに従ったりしなくても、非同期コードを簡単に記述できます。 C# は、タスク ベースの非同期パターン (TAP) と呼ばれるものに従います。 非同期モデルの概要 非同期プログラミングの中心になるのは Task オブジェクトと Task<T> オブジェクトであり、非同期操作をモデル化します。 これらは、async および await キーワードによってサポートされています。 ほとんどの場合、モデルは非常に
タスク並列ライブラリ (TPL: Task Parallel Library) は、System.Threading 名前空間および System.Threading.Tasks 名前空間におけるパブリック型と API のセットです。 TPL の目的は、アプリケーションに並列処理とコンカレンシーを追加するプロセスを簡略化して、開発者の生産性を高めることです。 TPL は、使用可能なすべてのプロセッサを最も効率的に使用するように、コンカレンシーの程度を動的に拡大します。 さらに TPL は、作業のパーティション分割、ThreadPool 上のスレッドのスケジュール、キャンセルのサポート、状態管理、および他の低水準の詳細を処理します。 TPL を使用すると、コードのパフォーマンスが大幅に向上し、目的を達成するためのプログラミング作業に集中できます。 .NET Framework 4 では、マル
多くのパーソナル コンピューターとワークステーションには、複数スレッドの同時実行を可能にする複数の CPU コアがあります。 ハードウェアを活用するには、コードを並列化して複数のプロセッサに負荷を分散します。 以前は、並列化には低水準のスレッドおよびロックの操作が必要でした。 Visual Studio と .NET では、ランタイム、クラス ライブラリの型、および診断ツールを提供することで、並列プログラミングのサポートを強化しています。 .NET Framework 4 に導入されたこれらの機能によって、並行開発が簡略化されます。 スレッドやスレッド プールを直接操作することなく、効率的で詳細な、拡張性のある並列コードを自然な表現方法で記述できるようになります。 .NET の並列プログラミング アーキテクチャの高度な概要を次の図に示します。 関連トピック テクノロジ 説明
.NET では、複数の操作を同時に実行するアプリケーションを記述できます。 他の操作を止める可能性がある操作は個別のスレッドで実行できます。これはマルチスレッドやフリー スレッドと呼ばれているプロセスです。 マルチスレッドを利用するアプリケーションはユーザーの入力に対する応答性が良くなります。プロセッサを集中的に利用するタスクが個別のスレッドで実行されるため、ユーザー インターフェイスの動作が妨げられません。 マルチスレッドはまた、スケーラブルなアプリケーションの開発にも便利です。ワークロードが増えたとき、スレッドを追加できるからです。 注意 アプリケーションのスレッドの動作をさらに細かく制御するには、スレッドを自分で管理します。 ただし、System.Threading.Tasks.Parallel および System.Threading.Tasks.Task クラス、Parallel
目次 はじめに 対象読者 必要な環境 新しいスレッドを作成し、実行する フォアグラウンドスレッドとバックグラウンドスレッド スレッドが終了するまで待機する スレッドの同期 競合状態 Monitor.Enter・Monitor.Exitメソッド lock・SyncLockステートメント 静的メソッドの同期 ロック専用のオブジェクト MethodImplOptions.Synchronized デッドロック まとめ 参考資料 はじめに 本稿では、.NET Frameworkにおけるマルチスレッドプログラミングについて、次のような方針で解説します。また、本稿は四部作の「パート1」です。 マルチスレッドプログラミングの基本事項を、全般的に紹介します。ただし、説明は簡潔に要点のみを押さえ、深い部分までは掘り下げません。より詳しい内容を知りたい方は、記事内に示すリンク先や、末尾の「参考資料」を参照して
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く