Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

Javaと懇切丁寧に関するshigiryouのブックマーク (6)

  • Javaで関数ポインタのようなことがしたい場合どうするか

    かつのりさんの「OpenJDKに言語機能を追加するプロジェクト」 がインスパイア元。 JavaにはC言語の関数ポインタやjavascriptの関数オブジェクトのような構文がありません。 メソッドそのものを指し示す機能というものがないのですね。 ではコールバックしたい場合などはどうするのでしょうか? Javaではinterfaceを使います。 Javaのinterfaceはさながら実装を持たない完全な抽象クラスといった様相ですが、 型安全で継承可能な関数ポインタという側面があると私は考えています。 C言語での関数ポインタは int (*p) (int num); といったように、「戻り値の型 (*ポインタ名) (引数);」形式で宣言します。 C言語では引数と戻り値が合致していればよい、という程度に型安全です。 引数と戻り値の合致だけなので、根的に設計の違う関数でも型さえあれば代入可能なわけ

  • Java 非同期 I/O のデザインパターン (クライアント編) - #9 Backyard

    New I/O の非同期処理を実装する時にいつも使うパターンの個人的設計まとめ。非同期 I/O はアプリ要件によって設計を柔軟に変える必要があるので定石というわけではありませんし、安全に組み替えるにはそれなりの知識が必要です。 この記事が説明のベースにしているサンプルソースは My Design Pattern for Asyncronous I/O · GitHub に置いてあります。 非同期 I/O といえば 1 つのスレッドで複数のソケット I/O を管理する方法です。 非同期 I/O を生かした設計というものは必ず Producer/Consumer 型、イベント駆動型設計となります。これはパフォーマンスと引き換えにオブジェクト指向の汎用設計化を低下させ、特定の困難なバグを生む余地を増やします。個人的には C10K 問題を想定する必要がない程度 (同時に扱うソケット数が 1000

    Java 非同期 I/O のデザインパターン (クライアント編) - #9 Backyard
  • MVCとかMVVMの前の自分まとめ - メモを揉め

    MVC、MVVMに関する記事を色々読んでいると、 それなりに理解したつもりになっても、いざ具体的な事になるといまいちピンと来ない。 今感じている事、 大規模な開発を経験したことが無いから、必要性が実感できてない サンプルを見てもいまいちメリットが分からない オブジェクト指向も分かったような気になっているだけで、実はあまり分かってないという気がする View→HTML、Model→ロジックとデータ、みたいな単純な対応関係で覚えても捉えどころがない フレームワークを使っていくうちにコンセプトが理解できるということはあると思うので、とりあえずは手を動かしていきたいのですが、そのとりあえずが分からないのでなんとも気持ちが悪い感じです。 Backbone.jsをドットインストールで触ってみると、スゴイ便利そう。 確かに便利っぽいけどどういう使い方をすればいいのかよく分からない。 むしろ何が分からない

  • 雑把の UI アーキテクチャー史(MVCからMVVMへ) | プログラマーズ雑記帳

    Web の場合は View と Controller の違いははっきりしてます。 View は html ページとその作成を担当します。 CGI は アドレスとパラメーター(アドレスの ? の後など)を受け取り、処理を行います。 その受け取り部分が Controller です。 Model と View ではなく、なぜ MVC としたのでしょうか ? 『 GoF 』 では Controller を分ける利点をいくつか挙げられています。 キーボードの応答を変えたり、メニューからの呼び出しに変更するとき、表示方法を変更しなくていい。 入力イベントを無視するといったことをコントローラーのインスタンスの入れ替えで可能。 その他にも "View を入れ替えれば、 PC アプリ、 Web アプリでも使えるように" という理由もあります。 ちょっと無理そうな話ですが、例えば、 PC アプリが次のような

  • Android再入門 - Twitterクライアントを作ってみよう - OAuth認証 - Qiita

    はじめに ここでは、AndroidアプリでTwitterのOAuth認証をするところまでを作ります。 OAuth認証画面を作る まずは、MainActivityはそのままにしてOAuth認証する画面を作りましょう。中央に一つ認証を開始するためのボタンを置いた画面レイアウトを作ります。 レイアウトファイルを作る res/layout/activity_main.xml をコピペ(Ctrl+C 続けざまに Ctrl+V)して「activity_twitter_oauth.xml」という名前を付けます。 レイアウトファイルの名前はHogeActivityであればactivity_hoge.xmlという名前をつけることが慣例です。あとで、TwitterOAuthActivityというアクティビティを作るので今回は「activity_twitter_oauth.xml」というファイル名にします。 a

    Android再入門 - Twitterクライアントを作ってみよう - OAuth認証 - Qiita
  • じっくり学ぶ Java講座 [初心者向け・入門] | みるくあいらんどっ!

    「じっくり学ぶ Java講座」は、初心者向けの Java入門講座サイトです。多くのサンプルコードを目にすることでじっくり着実に Javaプログラミングの基を勉強します。 更新履歴 第01章: はじめに はじめに ウェブサイトの目標とターゲット 学習の心構え おすすめ書籍 おおまかな構成 第02章: Java概論と開発環境の構築 Javaとは 開発環境の構築 開発環境メモ 第03章: はじめての Javaプログラム ハローワールド 読みやすいソースコードを書こう 第04章: 基型と基型変数、演算子とキャスト、Math.randomメソッドと自作ライブラリ 基型と基型変数 演算子と基型のキャスト Math.randomメソッドと自作ライブラリ 第05章: 条件分岐 if文 switch文 第06章: 繰り返し for文 while文 do while文 gotoは使えない 第07

    じっくり学ぶ Java講座 [初心者向け・入門] | みるくあいらんどっ!
  • 1