タグ

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

タグの絞り込みを解除

Javaとjavaに関するteracy_junkのブックマーク (535)

  • JJUG CCC 2017 Springで論理削除フラグをどうにかするための話をしてきました 【FOLIOスポンサー】 - itohiro73’s blog

    JJUG CCC 2017 Springで、「データ履歴管理のためのテンポラルデータモデルとReladomoの紹介」という話をしてきました。 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 from Hiroshi Ito 今回の登壇は、株式会社FOLIOのスポンサーセッションです!FOLIOについてはこちらの入社エントリー記事もご参考ください。Toggetterは下のリンクから。 togetter.com 世の中のみなさんが「論理削除フラグ」を使いたくなるモチベーションとしては、実は「削除」ではなく別のビジネスロジックを実装したいだけであることがほとんどだと思います。 たとえば論理削除フラグという名の死亡フラグ - @ledsun blogというエントリを参考にさせていただくと、下記のような要件の例があります。 ・社員が退職(・転

    JJUG CCC 2017 Springで論理削除フラグをどうにかするための話をしてきました 【FOLIOスポンサー】 - itohiro73’s blog
    teracy_junk
    teracy_junk 2017/05/23
    『今回のセッションでは「スナップショットデータモデル」、「トランザクション時間データモデル」、「有効時間データモデル」、「バイテンポラルデータモデル」という4種類のモデルを紹介しました』
  • Javaで実装して学ぶOAuth 2.0!

    JJUG CCC 2017 Springでの発表資料です。

    Javaで実装して学ぶOAuth 2.0!
  • Java Day Tokyo 2017で #Java三銃士 のパネルディスカッションに出てきました #JavaDayTokyo - CLOVER🍀

    グランドプリンスホテル新高輪 国際館パミールで開催された、Java Day Tokyo 2017に参加してきました。 Java Day Tokyo 2017|日オラクル Java Day Tokyoには去年初めて参加したのですが、今年は…なぜかよくわからない事態になりました。 見たセッション 今回は、こちらのセッションを見てきました。 D1-KY 「Java Day Tokyo 2017 基調講演」 Cloud、Reactive、Microservices、Java EE 8/9といろいろ出てきましたが、去年からすでに見たことがある図が 割と見受けられたり、Reactive、Microservicesの話を出したのにJava EE 8はあんまりそのあたり関係ない みたいな感じでけっこうバラバラな印象を受けました。 Java EE 8が7月ってホントですか? なお、このセッションで1番驚い

    Java Day Tokyo 2017で #Java三銃士 のパネルディスカッションに出てきました #JavaDayTokyo - CLOVER🍀
  • 【Javaの仕様が決まるとき】JSRの歩き方(基本編)

    はじめに Javaでのプログラミング、特にJava EEを用いたコーディングとかをしていると、 僕は「あれこれってどういう仕様なんだろう」ってなることが結構あります。 僕「なんか良い無いですか?」 某氏「JSR読め」 ほほーそっか。仕様そのもの読んじゃえば間違いはないよな、と。 だがしかし、読み方がよく分からない!っていうか仕様ってどうやって決まってるの? Java公開されてるの? …とかそういう僕はレベルだったので、これを期に、Javaの仕様である(定義間違ってたら教えて下さい) JSRあるの読み方を調べてまとめてみようかなというお話です。 調べたっていうレベルですので、間違ってたり表現が適切で無い場合は、 どこかでご指摘ください。 基的な用語 ・JSR Java Specification Request。Java仕様要求。つまりJavaの仕様です。 ・JCP Java標準化機関J

    【Javaの仕様が決まるとき】JSRの歩き方(基本編)
  • 最近のProject Jigsaw の流れ:コミュニティ投票でNo (Public Review Ballot) - unnamed

    Java の新たなバージョンである JDK 9 のリリースが約 2 ヶ月後に控えているが、最大の目玉と言っても過言はない Project Jigsaw がコミュニティから No を突きつけられた。この最近の流れを、極力意見を混ぜずに事実を淡々と紹介する。 Project Jigsaw とは 乱暴に言うと Java の新しい分割の仕方としてモジュールを導入しようという取組 詳細は手前味噌ですが以下のスライド参考 Prepare for Java 9 #jjug from Yuji Kubota 前提 Java の機能は JSR (Java Specification Request) が JCP (Java Community Process) で承認されて初めて導入される Project Jigsaw も例外ではなく JSR 376: Java Platform Module System

    最近のProject Jigsaw の流れ:コミュニティ投票でNo (Public Review Ballot) - unnamed
  • Android で複数非同期処理のシーケンス制御をライブラリに依存せず Pure Java で実装しなければならない場合の一案 - sho5nn’s blog

    もし、 Android 開発において、ライブラリに依存せず Pure Java を前提とし、複数の非同期処理をシーケンス制御する必要が出てきた場合に、どう解決すればよいか、の問題に対する一案を残した記録文章です。 背景 直近の仕事で、 Android 向け社内ライブラリの開発に携わっていたのですが、いくつかの社内事情があり、そのライブラリが依存するライブラリは appcompat-v7 のみという制約がありました。 あまり詳しくは書けないですが、そのライブラリは SSO を実現する機能を備えていて、いくつかのログインシーケンス制御があり、そのシーケンス中にあるそれぞれのステップが非同期処理で実行され、前の非同期処理の結果を元に次の非同期処理を行うような処理を実装する必要がありました。 最近のトレンドに習えば、 RxJava ライブラリなどを使用して精神的安定を維持しつつ開発・保守したいとこ

    Android で複数非同期処理のシーケンス制御をライブラリに依存せず Pure Java で実装しなければならない場合の一案 - sho5nn’s blog
    teracy_junk
    teracy_junk 2017/05/08
    『その状態のまま開発した場合は言わずもがな、先行き怪しく最悪死人も待ったなしなのでどうにかしないとその先は地獄だぞという気持ち』本物の地獄だ
  • JavaでWeb開発してた僕がAndroidアプリ開発案件に入る時に何を予習したのか - Qiita

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

    JavaでWeb開発してた僕がAndroidアプリ開発案件に入る時に何を予習したのか - Qiita
  • how to get a linkedhashmap value using index?

  • DateTimeFormatter (ThreeTen backport 1.7.3-SNAPSHOT API)

    teracy_junk
    teracy_junk 2017/04/27
    なるほど、'012345'を' 1:23:45'とパースする場合は"ppH:mm:ss"と指定しろ、と(ofPattern(String)の項の最後の方)
  • Arrays.asList() は単なる配列のラッパを返すだけなので、要素の追加も削除もできません - A Memorandum

    いつまでたっても間違いが無くなりません。 以下のようにListの初期化で多用するArrays.asList()。 List<String> stooges = Arrays.asList("Larry", "Moe", "Curly"); Arrays.asList() が返すインスタンスは、java.util.Arrays$ArrayList であって、java.util.ArrayList ではありません。 Arrays.asList() の実装は以下のようになっています。 public class Arrays { public static <T> List<T> asList(T... a) { return new ArrayList<>(a); } } 分かりにくいですが、ここでインスタンス化される ArrayList は Arrays の内部クラスで以下のクラスです。 pu

    Arrays.asList() は単なる配列のラッパを返すだけなので、要素の追加も削除もできません - A Memorandum
  • DIコンテナのインジェクション方法の使い分けについて - 日々常々

    DIコンテナを使う時にどのインジェクションを使うかって話です。 たぶん誰かがどこかで同じようなことを書いているだろうけれど、気にせず書くよ。 「他の誰かが書いている」なんてのを書かない理由にしてると何も書けなくなるし。 コンテナ DIコンテナのこと。 コンテナ管理 インスタンスのライフサイクルをコンテナが管理していること。雑に言えば、使う側で new しないってこと。 インジェクション Dependency Injectionのこと。 Short Answer コンストラクタインジェクションを使いましょう。使い分けなくていいです。 3種類のインジェクション インジェクションには3種類ありますね。他あっても知らない。 フィールドインジェクション セッターインジェクション コンストラクタインジェクション フィールドインジェクション 一番よく見るかな。 class Hoge { @Inject

    DIコンテナのインジェクション方法の使い分けについて - 日々常々
    teracy_junk
    teracy_junk 2017/04/17
    普段AndroidでDIするとき、Fragmentだけフィールドインジェクション使ってて、それ以外はコンストラクタ略を使ってるんだけど、なんとなく気持ち悪さ感じてる
  • Android OSSライブラリのCI環境をセットアップする - k4zy no blog

    ほぼ初めてAndroid向けのCI環境をセットアップしたので、試行錯誤した作業手順を書いておこうと思う。 今回セットしたCIの内容は、JVMテストとカバレッジの計測で作業手順は以下のようになった。 DockerfileでCI環境を定義 Dockerfileとcloudbuild.yamlを含むレポジトリをgithubに作成 Google Container Registory(GCR)にプロジェクトを作成 レポジトリにpushするとGCR上でビルド&ホストされる wercker.ymlをライブラリのレポジトリに追加 werckerにプロジェクトを作成 pushすると自動でCIが走るようになる jacocoをセットアップ coverallsにプロジェクトを作成 coveralls-gradle-pluginを導入し、coverallsのAPIキーをwerckerに設定 wercker.yml

    Android OSSライブラリのCI環境をセットアップする - k4zy no blog
  • 数字から始まるドメインでAndroidのパッケージ名を作ろうとしてハマった

    Androidのパッケージ名を変更しようとしたら、以前は簡単にできたのにできなくて困っていた。 仕方がないので放置していたんだけど、さっき、たまたまたどり着いた情報によりその原因が判明した。 数字から始まるドメインはパッケージ名に使ってはいけないらしい。 (Javaの人には常識なのでしょうか?) Naming a Package (The Java™ Tutorials > Learning the Java Language > Packages) 例えば、 1example.com というドメインからパッケージ名を作ると com.1example になるけどこれは不可。 こういう時は、パッケージ名を com._1example のようにアンダースコアを付けてあげれば良いとのこと。 試したらうまくいった。

    数字から始まるドメインでAndroidのパッケージ名を作ろうとしてハマった
    teracy_junk
    teracy_junk 2017/03/30
    同じく、その昔ハイフンを含むドメインからパッケージ名を作るときにハマったわw
  • 会計ソフトを作る上で避けては通れない和暦の話 - freee Developers Hub

    エンジニアの大橋 @_tohashi です。会計freeeで確定申告や記帳機能などの開発を担当しています。 Webに限らず、日向けのアプリケーションにおける特有の要素として和暦があります。プロダクトによっては最初から和暦を扱わずに西暦に統一してしまうという手もありますが、弊社のプロダクトのように会計や労務管理に関わるものの場合、決算書上の表記など和暦が必要とされる場面は多々あるため避けて通ることはできません。記事ではUIや実装における和暦の扱いについてご紹介したいと思います。 和暦の範囲 そもそも「和暦」とはどこからどこまでの期間を指すのでしょうか。Wikipediaによれば 和暦(われき)は、元号とそれに続く年数によって年を表現する、日独自の紀年法である。邦暦(ほうれき)とも。また「和暦」は、西暦に対する表現としても使用されることが多い。 この手法自体は東アジアで広く行われてきたが

    会計ソフトを作る上で避けては通れない和暦の話 - freee Developers Hub
    teracy_junk
    teracy_junk 2017/03/22
    やっぱりJavaつよい/『ちなみに僕は昭和64年生まれなのですが、たまにこういう悲しい目に合います』悲しい
  • Mockitoの新機能を使ったモダンげな使い方 - 愛と勇気と缶ビール

    Javaのmock用ライブラリは探せば色々あるが、一番よく使われてそう(自分調べ)ってことでMockitoを使っている。 http://mockito.org/ Mockitoはそのロゴからいっても「モキート」「モッキート」と読むのが正しいのだろうけど、心の中ではいつでも「モック伊藤」「モック伊藤」と呼んでしまう。 それはさておき、Mockitoについて日語で書かれた記事は「mock()でモックしてverify()でベリファイするんやで〜」くらいで留まっているものが多そうに見受けられたので、新し目の機能を使ってこういう風に書くのもよさげかな、とここに記しておく。 参考: Mockito (Mockito 2.0.33-beta API) mock()ではなく@Mock, spy()ではなく@Spyをつかう 以下のようにmock()メソッドを使ってmockを作ることも出来るのだが、 MyS

    Mockitoの新機能を使ったモダンげな使い方 - 愛と勇気と缶ビール
  • 【Java】ジェネリックス型の不変、共変、反変とは何か - The King's Museum

    今回はジェネリックスの不変、共変、反変について書いてみた。 当は Effective Java 「項目25:配列よりリストを使う」の予定だったんだけど、不変、共変、反変あたりの話がでてきて、 ここらへんは以前からまとめておきたかったし、ちょうどよいと思って記事にした。 不変、共変、反変 不変、共変、反変とはそれぞれ、ジェネリクスの性質を指す用語です。 話を具体的にするため、例として List<E> と、Object、String を使って説明します。 Java の Object、String には以下のような関係があります。 Object は String のスーパータイプである この時、Object と String に対してパラメータ化された型である List<Object> と List<String> の関係性はどうなるでしょうか? 可能性として、以下のような組み合わせを考えるこ

    【Java】ジェネリックス型の不変、共変、反変とは何か - The King's Museum
  • メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ...バグだらけのWebアプリケーションを使ってバグを理解する - Qiita

    概要 Webアプリケーションの開発や保守をしていると、いろいろなバグに遭遇します。メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ等々、バグは様々です。こういったバグは、実際にコードを書いて、実行・再現させてツールで解析してみると理解が深まります。 ということで、いろいろなバグを実装したWebアプリケーションをつくってみました。現時点では、以下を簡単に再現できます。 メモリリーク (Javaヒープ領域) メモリリーク (Permanent領域) メモリリーク (Cヒープ領域) デッドロック (Java) デッドロック (SQL) 完了しないプロセスの待機 無限ループ リダイレクトループ JVMクラッシュ ネットワークソケットリーク データベースコネクションリーク ファイルディスクリプタリーク XSS SQLインジェクション ExceptionInInitializerErr

    メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ...バグだらけのWebアプリケーションを使ってバグを理解する - Qiita
  • Androidで非同期処理 - Qiita

    はじめに Androidで通信処理(APIアクセスなど)を行うには、別スレッドを用いて非同期で行う必要があります。そうしないと例外が吐かれます。ここでは、こうした非同期処理を実装する際にハマったことなどから、色々まとめたいと思います。 さっさとベストな方法を教えろ!という方は,一番下まで飛ばせばよろしいかと思います. ここで使うクラス android.os.AsyncTask java.util.concurrent.CountDownLatch 大事なのはこの2つです。 AsyncTaskとは Androidで非同期処理させる際によく用いられます。UIスレッドからの分離など、面倒くさいことは勝手にやってくれるので、楽に処理を書けます。なお、以下の点に従う必要があります。 ジェネリックなクラスなので、Params,Progless,Resultは必要な型に置き換える。 実行時はexecut

    Androidで非同期処理 - Qiita
  • 何かの時にスッと使える力技 - Reflection 編 - Qiita

    リフレクションとは リフレクションとは Java の標準ライブラリに含まれている、クラスのメタ情報を取り扱うための API 群で、java.lang.reflectパッケージにまとめられています。 リフレクションを使うことで、クラスに定義されているコンストラクタやメソッド、フィールドの一覧を読み取ったり、そこからメソッドを呼び出したりフィールドの値を取り出したりということができます。通常であれば、リフレクションを使わずとも直接インスタンスを作ってメソッドを呼び出す手続きで事足りますが、リフレクションでは不可視なメソッドにアクセスしたり、finalなフィールドを変更したりというチート技ができるようになります。 リフレクションでできること すべての型には、.classというリテラルがあります。String.classとすると、Stringクラスに関する情報を持ったClassクラスが得られます。

    何かの時にスッと使える力技 - Reflection 編 - Qiita
    teracy_junk
    teracy_junk 2017/02/01
    みんな大好き黒魔術
  • これだけは覚えたい、ユニットテストを書くための4つのデザイン - Qiita

    もうちょっと規約的なものを「JavaでのUT作成基準を整理してみた」にもまとめてみました。 はじめに 去年、ブログの方に「ふつうのユニットテストのための7つのルール」という記事を書いたのですが、思ったより反響がありました。 あの記事で書いたのはあくまで原理・原則で、それを実現するためにはいくつかのテクニックが必要です。 特に、ああいうルールを作って「ユニットテストを書く事」を厳守するようにしても、 適切なテクニックを知らなければメンテが困難だったり、品質に寄与しなかったり、実行性能が悪いゴミが量産される可能性があります。 じゃあ、どうすれば良いかというと「最初からユニットテストが書きやすいように元のコードを設計する」ということです。 そう。まず身に付けるべきは「テストコードの書き方」では無く「テスト対象コード」すなわち「プロダクトコードの書き方」なのです。 また、ここで言ってる「最初から」

    これだけは覚えたい、ユニットテストを書くための4つのデザイン - Qiita