タグ

関連タグで絞り込む (207)

タグの絞り込みを解除

Javaとprogrammingに関するraimon49のブックマーク (302)

  • Value Objects と Immutable - かとじゅんの技術日誌

    おつかれさまです。そろそろ、プログラミングに関するエントリも書かなければw DDDの勉強を開始するにあたって、一番最初にEntitiesとValue Objectsに出会う。 今回は、まず先にValue Objectsと関連が深いImmutableについて、考えてみよう。なぜ、Value ObjectsかというとOODの基礎をなすからだ。基礎が弱いとその上の建造物ももろいものとなってしまう。だからValue Objectsがまず先。なーんだ、ただのJavaBeansなんでしょ、と思うと痛い目にあうよw 値を表すのがValue Objects。説明することが目的のオブジェクトである。ここに説明されているとおり。 ● Value Objects(値オブジェクト)パターン エンティティとは逆に、たとえば「色」や「量」のように、その属性だけが重要で、アイデンティティを考えることに意味のないオブジェ

    Value Objects と Immutable - かとじゅんの技術日誌
    raimon49
    raimon49 2015/01/09
    Effective Javaのやや難解な言い回しをDDDのValue Objectパターンに翻訳、Immutableな値オブジェクトとして振る舞わせるサンプルコード。
  • 隊長、Androidアプリのソースがぐちゃぐちゃであります!! - Qiita

    複数の責務をFragmentやActivityに押し込めてるのが原因です。 公式サイトに書いてあるようなこともありますが、今一度まとめてみました。 -- Activityの長さが10000行を超えました!!とても保守できません!!隊長!! 初期のAndroid開発は手探りでした。Activity、Intent等、大きな枠組みでは優れてましたが、その上の層に関してはノータッチでした。 皆Activityが単位として大きすぎるのは理解してましたが、多くの人はActivityにコードを詰め込む道を選びました。フレームワークを 使う ことに慣れすぎて、 作る ことには不慣れだったのです。 とはいえ、そんなコードはすぐ破綻します。それではまずいということで、GUIフレームワークの知見のある人達は、各々、オレオレフレームワークを内部で抱え込むことになりました。暗黒時代です。 しばらくして、開発が追いつ

    隊長、Androidアプリのソースがぐちゃぐちゃであります!! - Qiita
  • iOSエンジニアが初めてAndroid開発をやってみた第1日目のメモ - その後のその後

    当方フリーランスエンジニアですが、iOS専業でやっております。これまで幾度と無く「ちなみにAndroidの方は・・・?」「すいません、できないんです・・・」と肩身の狭い思いをしてきましたが、ついに今日第一歩目を踏み出しました。 ちなみに現在のスペックですが、 iOSアプリ開発歴4年、Android開発歴ゼロ Androidはユーザーとしても経験値ほぼゼロ(先週 Nexus5 購入して WiFi セットアップしただけ) という感じです。 実況中継的に随時追記する形で書いていきたいと思います。iOS からプログラミングの世界に入り、これから Android もやってみたい、という人も今となっては結構多いんじゃないかと思うので、どなたかの第一歩目の参考になれば幸いです。 ※(終了後に追記)あとから読んだ人には何のことかわからないかもしれませんが、記事は昼ぐらいに出だし(午前中に進めた内容。書籍

    iOSエンジニアが初めてAndroid開発をやってみた第1日目のメモ - その後のその後
    raimon49
    raimon49 2014/12/29
    まさしく異文化交流。「R.」の意味が分からないの自分も全く同じだったので凄く頷ける。
  • なごやかJavaで発表してきた - ぐるぐる~

    .NET系開発者から見たJava from bleis tift なごやかJava第一回で、「.NET系開発者から見たJava」というタイトルで発表してきました。 Javaのこの機能って.NET開発者から見てどうなの?というような内容です。 大阪から参加してくれた方の感想を載せておきます。 おかしい、終わった後の感想が「F# すごい!」だ…… #ngojava— irof@Javarista (@irof) 2014, 11月 30

    なごやかJavaで発表してきた - ぐるぐる~
    raimon49
    raimon49 2014/12/14
    それなんてusing それなんてstruct
  • InfoQ: JDK 7: java.util.Objectsに欲しい、頻繁に書かれるユーティリティメソッドは?

    あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

    InfoQ: JDK 7: java.util.Objectsに欲しい、頻繁に書かれるユーティリティメソッドは?
    raimon49
    raimon49 2014/12/08
    JDK 7からこんなのあったんだ。nullチェックの面倒まで見てくれるユーティリティメソッドjava.util.Objects.equals(arg1, arg2)を使っておけば"const".equals(string)のnull対策イディオムは不要らしい。
  • AndroidのHttpURLConnection。 - なるようになるかも

    これはAndroidじゃなくてJDKのインターフェースの設計の問題なのですが、HttpURLConnectionは入出力エラーが発生した際にIOExceptionを投げるという規定があります。 問題は、HTTPステータスコードが400番台ないし500番台のコードのボディを読もうとした際に、getInputStream()を使うと入出力エラー扱いされてIOExceptionが発生することです。 最近のRESTfulなサーバーインターフェースの設計だと、HTTPステータスコードに意味を持たつつ、レスポンスボディにコンテンツを渡すのが主流ですが、HttpURLConnectionのちょっとしたサンプルでは400 Bad Requestや401 Unauthrizedが返されることを考慮していないことが多いです。 HttpURLConnectionを格的に使おうとすると、大抵ここで躓くことになり

    AndroidのHttpURLConnection。 - なるようになるかも
  • Androidの通信処理に何使えばいいのか分からないって話。 - なるようになるかも

    特に結論はないです。当に分からないので。 ソケットレベルまで踏み込むと、途端に面倒になってどのライブラリを使っても手に負えませんし、単にGETとかPOSTとかする分には正直どれ使ってもそこまで変わらない気がしてます。 それより自己署名証明書の検証を無視して通信を行うと端末が爆発するライブラリが必要だと思います。 Apache HTTP Client みんなお馴染みDefaultHttpClient。色々なライブラリがあるけど、最終的にはここに行き着いていることが多いです。 しかし「Apache HTTP Clientとは何なのか」、という説明はあまり見ない気がします。 自分も「Apacheソフトウェア財団のトップレベルプロジェクトとして運用されている、RFCを満たす実装を目指したJava向けのHTTPインターフェース」という超ふんわりとした認識しかないです。 かなり巨大なライブラリで、全

    Androidの通信処理に何使えばいいのか分からないって話。 - なるようになるかも
    raimon49
    raimon49 2014/11/22
    確かに。
  • Shibu's Diary: iOSはなぜAndroidの半分のスペックでも快適なのか

    渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 iPhone6/6 Plusのメモリが1GBしかない理由 この記事が突っ込みどころが多いと話題になっています。初期の頃はiOSのなめらかな動きと比べたらAndroidは劣化版と言われても反論できない感じでしたが、Nexus 4/Nexus 5ともなるとだいぶ快適で乗り換えても違和感なく使えるようになりましたが、同じぐらいの快適さが得られるハードウェアを比べてみると、メモリも半分で、コア数も半分で、クロック周波数も半分で、バッテリーにやさしいハードウェアになっていることは確か。なぜそれでやっていけるのか、ということについて僕なりの理解をまとめます。元の英語記事は読んでません。 メモリ管理方式の違い Androidはマーク・アンド・スイープ方式のGCで、iOSはNSAutorele

    raimon49
    raimon49 2014/11/20
    バックグラウンドタスクの違いは確かに。
  • iOS/Android対応 Boltsを使って非同期処理を統一的に書く - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    iOS/Android対応 Boltsを使って非同期処理を統一的に書く - Qiita
    raimon49
    raimon49 2014/10/28
    Facebook SDKでもいつの間にかBolts-iOSが使われてる。
  • Google I/O アプリにおけるカンファレンスのデータの同期と GCM

    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 7 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

    Google I/O アプリにおけるカンファレンスのデータの同期と GCM
    raimon49
    raimon49 2014/10/19
    GCMメッセージ受信からのデータ同期例。
  • getter/setterとはなんだったのか - プログラマーの脳みそ

    Javaのgetter/setterのお話。 僕は当時を語るには若すぎるのだけど、過去を振り返って書いてみる。当時を知る人は誤りがあれば指摘してほしいし、情報があればコメントなりトラックバックなりして欲しい。前世紀の話というのは今となっては探すことがなかなか難しくなりつつある。 「privateな変数にpublicなアクセサを定義する」? - ネットの海の片隅で getter/setterとは何か Javaのオブジェクトにフィールドがあったとして、そのフィールドに値を設定するメソッドがsetter(せったー)、そのフィールドの値を取得するメソッドがgetter(げったー)と呼ばれる。慣習としてsetterはsetXXX(int value)といった様にsetから始まる名前をつけ、引数はひとつ。戻り値はvoid型。getterはgetXXX()といった様にgetから始まる名前をつけ、引数はな

    getter/setterとはなんだったのか - プログラマーの脳みそ
    raimon49
    raimon49 2014/10/11
    JavaBeansが出自でJava ServletやStrutsの時代には「そういうもの」として定着していた流れの整理。
  • 再考: GoF デザインパターン - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 投稿は私の主観によって書かれています。コメントは大歓迎です。もし長くなるようでしたら別途記事に投稿し、リンクを張っていただけると嬉しいです。 概要 GoFのデザインパターンは適当すぎるから、いい加減、修正されるべき。 参考までに各パターンに対するコメントを書く。 GoFのデザインパターン GoFのデザインパターンは適当であり、教科書通りに学ぶべきものではないように思う。 以下がGoFのデザインパターンの良くない原因だろう。 が出版されたのは1994年であり、Java(1995)が出てくるよりも前だった オブジェクト指向が未成熟な時代

    再考: GoF デザインパターン - Qiita
    raimon49
    raimon49 2014/10/05
    現代のプログラミングと合致しないものが多い点は同感で、新しいプログラミング言語が登場する度に「○○でGoFパターン」みたいな事やってるのは思考停止なんだと思う。
  • LL から Java に移行した人がはまりがちなこと - tokuhirom's blog

    LL から Java に移行した人がはまりがちなこと こんにちは。Java 初心者です。 Java 初心者、得に LL から Java に来た人にありがちな問題について社内向けに書いたものをオープンアンドシェアさせていただきます。 前提として、我々は Java 8 でガンガン攻めているということをご承知おきください。 また、自分がこの数ヶ月で「うわー。こうしとくべきだったのかー」と気づいたやつをドヤ顔で語っているということにもご注意ください。 【追記】 対象は中規模 B2C の場合です(中規模というのは facebook より小さいという程度の意味です) 例外を握りつぶさないようにしよう Eclipse が生成する以下のようなコードをそのまま残しているケース。 これは言うまでもなく良くないですね。デバッグが困難になります。 try { } catch (IOException e) { e

    raimon49
    raimon49 2014/10/01
    Perlとの比較から。
  • Androidソースコードレビューで指摘する事が多い項目まとめ - こやまカニ大好き

    業務でソースコードレビューを行う機会が増えたので、複数回指摘した項目や気になった実装などをまとめてみました。 こういう観点をできる人と共有できるといいなあ…。 2014/09/29 23:00 一部修正しました。 業務上ソースコードレビューの名目で仕様・デザインまで見ることになっていたためこれらを先頭に書いていましたが、わかりづらかったため最後にまとめました。 Fragment関連 FragmentとActivityの密結合 Fragmentが特定のActivityから呼ばれることを想定して書かれている場合、そのFragmentとActivityは密結合である場合が多いです。 具体的には、以下の様な実装です。 ActivityのViewを参照する Activityのメソッドを直接呼び出す なぜダメか Fragmentの利点のひとつは優れた再利用性にあります。 Fragmentが特定のAct

    Androidソースコードレビューで指摘する事が多い項目まとめ - こやまカニ大好き
    raimon49
    raimon49 2014/09/29
    なぜダメか明示されている。
  • aBeacon ~iBeacon を Android で受信する~ | ギャップロ

    6~9 byte 目までの値は、iBeacon であれば全て同じため、この値を参照することで iBeacon なのか判定することが出来ます。 aBeacon を使用する上で aBeacon を実際に使用するにあたり、考えなくてはいけないことを以下にまとめていきたいと思います。 フィルタリング onLeScan は、Beacon を検出するたびに呼ばれます。そのため、監視対象の Beacon 領域内に居続ける間は、ずっと onLeScan が呼ばれ続ける事になります。端末によっては、自動的に判断しフィルタリングしてくれるそうなのですが、そうじゃない場合には対策を立てないと、何度も何度も通知が来てしまいます。 それを回避するには、ArrayList などに検出した Beacon の情報を追加していき、onLeScan が呼ばれるごとにList 内を探査・比較し新しく発見した端末なのかを判断する

    aBeacon ~iBeacon を Android で受信する~ | ギャップロ
    raimon49
    raimon49 2014/08/22
    onLeScanで渡されるscanRecordのiBeaconフォーマットに自力対応。
  • http://www.codota.com/

    http://www.codota.com/
    raimon49
    raimon49 2014/08/18
    コードスニペット サンプル
  • JPL(ジェット推進研究所)におけるLispの顛末 | POSTD

    この記事はジェット推進研究所(JPL)におけるLispの盛衰について、私の(しかもかなり偏った)個人的見地から書きました。JPLの所員としての立場で書いているのではなく、JPLの公的な立場を代弁するものでもないことをお断りしておきます(これについては読み進めていただければ分かります)。 1988-1991 ロボット工学の時代 私は1988年にJPLに入所し、自律移動ロボットの人工知能AI)グループに配属されました。当時は今と違って政府の財源から資金が潤沢に流入していました。「AIの冬」が始まりかけていましたが、まだJPLには到達していませんでした。研究所の技術動向は最先端から数年遅れになる傾向があるようです。 当時のJPLはマーズ・ローバー・サンプル・リターン(MRSR)と呼ばれるマーズ・ローバー・ミッションの初期計画段階にありました。あの時代、宇宙ミッションはあらゆる意味で巨大でした。

    JPL(ジェット推進研究所)におけるLispの顛末 | POSTD
    raimon49
    raimon49 2014/08/15
    >私の考えでは、ソフトウェアエンジニアを交換可能なコンポーネントと見なすモデルの象徴はJavaです。
  • モバイルアプリのObserverパターン - cockscomblog?

    ReactiveCocoa勉強会関西にてObserverパターンについてお話ししましたので、以下にその内容をまとめます。 Observerパターンは、GoFの23のデザインパターンのうちの一つで、モデルが状態の変化をしビューに通知するパターンです。GUIアプリケーションの開発で多用されます。もちろんスマートフォンアプリの開発においても大変役に立つので、いくつかの例を挙げて見ていきます。 Objective-CのKey-Value Observing static void * Context = &Context; - (void)anything { [object addObserver:self forKeyPath:NSStringFromSelector(@selector(property)) options:NSKeyValueObservingOptionNew conte

    モバイルアプリのObserverパターン - cockscomblog?
    raimon49
    raimon49 2014/07/27
    java.beansパッケージのPropertyChangeSupportクラスを利用するとKVOライクな監視が出来る。Swiftにはまだ無い。
  • ListViewのデータのbindはこうする2014 - Rejasupoem

    の割に初心者にとって使うのにハードルが高いview、ListView。 ネット調べると色んなパターンで書かれた例が出てくると思います。 何も知らずにAndroid 1.6とかの時代に書かれたような出どころが不明なサンプルコードをコピペしてうまくいかなくて心が折れるみたいなことを防ぐために、インターネットに出回っているサンプルコードをパターン化して列挙しました。パターン1が一番良くなくて、パターン3あるいはパターン4にするといいと思います。 インターネットで調べててAndroid 1.6とか2系の葬式UIが出てきたら、それは昔に書かれたものでそっと閉じたほうがいいです。 Adapterとは AdapterはviewとDataSourceの橋渡しをするものです。 private void setupListView(List<User> userList) { UserAdapter ad

    ListViewのデータのbindはこうする2014 - Rejasupoem
    raimon49
    raimon49 2014/07/07
    >インターネットで調べててAndroid 1.6とか2系の葬式UIが出てきたら、それは昔に書かれたものでそっと閉じたほうがいいです。
  • 開発者は言語をいくつ覚えればいいのか?

    アップルやフェイスブック、グーグルなどの大企業は、独自のプログラミング言語を開発し、開発者が学ぶように強いている。 先週開催されたワールドワイド・デベロッパーズ・カンファレンスで、アップルは自社の新しいプログラミング言語、Swiftを発表した。これは技術系の大企業が開発した一連の新しい言語の最新版となる。こういった言語のいくつかは独自のプラットフォームでのみ使用可能なものだ。 アップルはiOS開発者用のSwift、フェイスブックはバックエンド開発向けの言語であるHackを開発した。一方、グーグルにも独自のものがある(自称Javascriptの代替となるDart、およびGoと呼ばれる新しい汎用プログラミング言語)。 これらの新言語は、開発者に問題をもたらしている。おそらく、最も顕著な問題は、同僚のアドリアナ・リーがアップルのSwiftが発表された後に発信した次の言葉に表れている。 (How

    開発者は言語をいくつ覚えればいいのか?