サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
参議院選挙2025
qiita.com/opengl-8080
Kotlin のコードを書いててよくわからなかったところや、ハマったところとかのメモ。 今後適宜追記していくかも。 基本的な文法とかは、 @k5n さんが以下の翻訳記事を書かれているのでそちらを参照ください。 30分で覚えるKotlin文法 - Qiita Kotlin文法 - 基本 - Qiita Kotlin とは JetBrains というチェコの会社が開発したプログラミング言語。 JetBrains は、 IntelliJ IDEA を開発している会社でもある。 JVM 上で動作する。 静的型付け言語。 オープンソース(Apache License 2)。 環境 OS Windows 7 Java 1.8.0_74 Hello World JDK のインストールは割愛。 コンパイラをインストールする GitHub の Release からコンパイラを落とせる。 kotlin-com
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
【Date and Time API】Java 8徹底再入門【ラムダ式ハンズオン】(大阪,7/11) - connpass で Date and Time API について学んだので復習。 ラムダはハンズオン形式で実際に手を動かせていたけれど、 Date and Time API の方は講義形式だったので、話を聞いて気になったところとかを実際に触ってみる。 要点整理 Date and Time API (JSR310)は ISO 8601 をモデリングして作られたもの。 ISO 8601 は、コンピュータ間でデータのやりとりをする際の、日付と時刻の書式に関する国際規格。 ISO 8601 について知らないと、 Date and Time API を正しく扱えないことがある。 といっても、 ISO 8601 について知っておくべきことは、そんなに多くない。 発表スライドに挙げられている表記法
Eclipse に体が馴染んでしまった人が、頑張って IntelliJ IDEA の使い方を勉強したときのメモ。 IntelliJ IDEA とは JetBrains という会社が開発している IDE。 Eclipse, NetBeans の競合。 環境 OS Windows 7 IntelliJ IDEA IntelliJ IDEA Community Edition 2016.1.1 JDK 8 インストール フリーで OSS な Community 版と、有償の Ultimate 版がある。 今回は Community 版で。 Hello World プロジェクトを作る 起動したら [Welcome to IntelliJ IDEA] というウィンドウが表示される。 とりあえず [Create New Project] を選択する。 [New Project] というウィンドウが表示
コア API と、具体的な Excel ライブラリとの連携を実装したモジュールを依存関係に追加する。 Jxls のコア API は、具体的な Excel ライブラリには依存しない形になっている。 Jxls は Apache POI と Java Excel API の2つのライブラリをサポートしている。 ロギング API に Slf4j を使って、具体的な実装に logback を使う、みたいな感じ。 テンプレート テンプレートは Excel で作成する。 ${...} という形式の式言語で、変数の埋め込みなどを宣言できる。 Apache の JEXL という式言語用のライブラリを使っているらしい。 式言語による動的な埋め込みは、 XLS Area という特定の領域内でのみ有効になる。 XLS Area を定義するための方法の一つとして、 Excel のセルコメントを使った方法が用意されて
昨日のDDD(ドメイン駆動設計)勉強会in仙台は、4名の参加者でした。前半は「オブジェクト指向エクササイズ」の説明、後半はレガシーコードをオブジェクト指向エクササイズで書き換えてみる演習を行いました。用意したレガシーコードはこちら https://t.co/xdXEl43mrH — Takehiro Inoue (@i_takehiro) March 18, 2016 なんか面白そうなのが流れてきたので、やってみた。 でき上がったコードは GitHub に上げています。 まずはソースを読む ソースは こちら に上げられている。 クラス図にすると、以下のような感じ(分かりやすいように日本語にしてる)。 いい感じで気持ち悪いですね! 「飲み物」クラスと「自動販売機」クラスがある。 どうやら、「自動販売機」にお金を投入して「飲み物」を購入するプログラムを想定しているらしい。 これらを使うクライア
Java 8 で、 Oracle の JVM を前提とした話です。 Java のメモリ管理 これを知っておかないと、 OOME が起こっても、メモリ内で何が起こっていて、どこを調査すべきで、どのように対処したらいいのかが判断できない。 なので、まずは、そもそも Java がどうやってメモリを管理しているのかを知る。 しかし、実際調べてみたら予想通りというかなんというか、量が多くなってしまった。 なので、個々の用語の説明は末尾の 用語集 に押し込めたので、ここではざっくりとした概要だけ記載する。 メモリの構造 超ざっくりとした、メモリ構造を表した図。 おおきく、ヒープ(Heap)領域とネイティブ(Native)領域の2つの領域がある。 ヒープは Java プログラムが使う領域で、プログラム上で生成したオブジェクトは、このヒープ領域に配置される。 一方、ネイティブ領域は JVM が動くのに必要
JUnit5 の Alpha 版が公開されてたので、関西DDDに補欠になってしまった悲しみを紛らわすために使い方を調べた。 ※Alpha 版なので、今後変更されるかもしれません。 JUnit5 とは 言わずと知れた JUnit の次期バージョン。 Java 8 以上のみをサポートするようになり、 JUnit4 からは大きく変わっている。 でも、テストメソッドとか基本的な考えは変わっていない。 2016/02/06 現在、 Alpha 版が公開されている。 Hello World Gradle で使う方法(Maven でもいけるらしい)。 ビルドファイル buildscript { repositories { maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } } dependencies { cl
org.junit.ComparisonFailure: expected:<"[H]oge"> but was:<"[h]oge"> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at sample.assertj.MainTest.test(MainTest.java:10) (以下略) 説明
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事は、 Java EE Advent Calendar 2015 - Qiita の 17 日目の記事です。 昨日は @glory_of さんの JAX-RSでJSONのやりとり - シュンツのつまづき日記 でした。 明日は @aforarsh さんです。 Java EE とは Java Platform, Enterprise Edition の略で、企業向けの業務システムなどを作るために必要となる仕様をまとめたエディションです。 とは言っても、別に企業向けのシステムしか作ってはいけないわけではなく、遊びで使っても全然問題ないわ
この記事は、Java Advent Calendar 2015 の 14 日目の記事です。 昨日は @skrb さんの JRE をカスタマイズ - jlink でした。 明日は @yukung さんです。 最近存在を知ったので、使い方を調べてみました。 最後に +α も用意してますので、よければ見てやってください。 環境 OS Windows 7 64bit SP1 Java 1.8.0_65 Byteman とは Byteman - JBoss Community 読みは、たぶん「ばいとまん」。 Java プログラムの任意の場所に任意のコードを差し込むことができるライブラリ(ツール)。 予め差し込むことも、動いているプログラムに後から差し込むこともできる。 今動いているプログラムを停止させることなく中の動作を検証できるので、再起動やデバッガで動作を止めたりできない環境の検証とかに使えるか
目指せ、脱バッチファイル。 環境 Windows 7 SP1 PowerShell とは マイクロソフトが開発した CUI のシェル。.NET 上で動作する。 コマンドプロンプトよりはるかに高機能で、 Windows の管理がコマンドだけでできるようになる。 バージョン Windows 7 以降は標準で搭載されているが、 OS のバージョンが上がるごとに PowerShell のバージョンも異なっている。 一応手動でアップデートが可能だが、デフォルトのバージョンしか利用できないケースも多いと思うので、 OS と PowerShell のバージョンの関係は頭に入れておいたほうがいいかもしれない。 OS 標準の PowerShell のバージョン
環境構築 コード Bean Validation とは バリデーション(入力チェック)用のフレームワーク。 入力チェックは様々なレイヤに分散されやすい。 例えば、桁数やフォーマットのような形式チェックはプレゼンテーションレイヤに、マスタの存在や他のデータとの関連が正しいかなどのビジネスロジックのチェックはそれより深いレイヤなどに分かれたりすることがある。 こういった分散されやすい入力チェックを、一箇所にまとめまられるようにしようという目標のもと作られたものらしい。 入力チェックのルール(制約)はアノテーションで定義する。 null チェックなどの汎用的なものはあらかじめ定義されている。もし標準のアノテーションでは足りない場合は、独自にアノテーションやバリデーションロジックを定義することもできる。 この仕様は、単体で利用するよりかは他のフレームワーク(JPA, JAX-RS, JSF など)
package sample.junit; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import de.bechte.junit.runners.context.HierarchicalContextRunner; import mockit.Mocked; import mockit.NonStrictExpectations; import mockit.Verifications; // ★runner に HierarchicalContextRunner.class を指定 @RunWith(Hierarch
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 環境構築 コード 環境 OS Windows 7 AP サーバー GlassFish 4.1 Open Source Edition (一部 Wildfly 9.0.1 使用) Java 1.8.0_60 DB サーバー MySQL 5.5.28, for Win64 (x86) JTA とは Java Transaction API の略。 Java で トランザクションマネージャ を扱うための各種 API を定義した仕様。 トランザクションマネージャとは、分散トランザクションの管理を行うサービス(ミドルウェア)で、 Java EE
環境構築 JPA の基本的な話 JPQL の話 Criteria API の話 コード マッピング方法だけを確認しやすいようにした一覧を作成しました。 JPA マッピングカタログ - Qiita はじめに オブジェクト指向で考えられたドメインモデルと、正規化などを考慮して考えられたリレーショナルデータベースのテーブルでは、データの持たせ方に違いが生まれる。 この違いをインピーダンスミスマッチと言う。 インピーダンスミスマッチを解決するには、データベースから取得したレコードをオブジェクトにマッピングする処理が必要になる(さらに、永続化するときは逆変換が必要)。 オブジェクトとテーブルの構造が1対1で対応していれば、この変換はそこまで大変ではない。 しかし、そうでない場合、変換を自力で実装するのは非常に骨が折れる。 O/R マッパーはこの変換を自動でやってくれるフレームワークで、 JPA では
posted articles:Java:72%JavaScript:12%gradle:11%JavaEE:7%glassfish:6%
高校の教科で最も面白い物理を、 JavaFX で振り返る。 力学をプログラミングする実装はよく見るけど、オブジェクト指向を意識した実装はあまり見ない気がするので、その辺も意識しつつ。。。 ソースは GitHub に上げてます。 #まずは世界を作る 物理を学ぶ前に、まずは物理学の対象であるこの世界をモデリングし、実装しておく。 ##モデリング まず、「世界」がある。 「世界」には、「物体」がたくさん含まれる。 また、「世界」には「物理法則」が存在する。 「物理法則」は1つに統一されるかもしれないけど、まだ分からないのでとりあえず複数ある前提で進める。 物理学における重要な概念として、「時間」がある。 「時間」は「世界」に含まれるというよりかは、「時間」が「世界」を支配している気がするので、こんな感じで。 このモデルが表す「世界」の時間経過をシーケンス図にしてみる。 「時間」が「世界」に時間経
簡単な HTTP サーバーを実装することで HTTP を学ぶ。 ローカルの HTML ファイルをブラウザから開けるようになるのを目指す。 実装はこちら 免責事項 あくまで車輪の再発明による HTTP および HTTP サーバーのローレベルなところを勉強するのが目的です。 セキュリティなどの考慮は一切していないので、ここの実装を使ったらいろいろ問題が発生すること必至です(ディレクトリトラバーサルとか)。 ここでの実装を利用したことで発生する問題に対して、当方は一切責任を負えませんのであしからず(利用するとは思えないけど)。 まずはソケット通信から HTTP は TCP/IP の上で動作するプロトコルなので、まずはソケット通信から始める。 package gl8080.http; import java.io.BufferedReader; import java.io.InputStream
Ehcache とは キャッシュ機能を提供する Java のライブラリ。読みは「いーえいちきゃっしゅ」。 Java におけるキャッシュライブラリのデファクトスタンダードらしく、 JSR-107(JCache) の実装でもある(ただし、ver2 を JCache として利用する場合は追加モジュールが必要になるそうです1)。 オープンソースで、ライセンスは Apache ライセンス ver 2。 元は Greg Luck という人が開発していたが、後に Terracotta, Inc. という会社がプロジェクトを買収し、以後はこの会社が開発を進めている。 Terracotta, Inc. は Software AG という会社の子会社で、 Terracotta BigMemory というデータストアの製品を開発している。 このため Ehcache は Terracotta BigMemory
環境構築 マッピングの話 JPQL の話 Criteria API の話 コード JPA とは Java Persistence API の略。 O/R マッパー。 データベースアクセスに関する多くの処理が抽象化されていて、オブジェクトの世界にデータベースの話が入り込まないように設計されている印象。 それゆえに、クラスとテーブルを1対1で対応させたり、生 SQL を直接記述したりといった実装をしていた人には取っ付きにくいフレームワークだと思う。 しかし、「エリック・エヴァンスのドメイン駆動設計」の5章、6章で紹介されているようなパターン(Entity, Value Object, Repository, Aggregate)を守ろうとすると、 JPA の持つ機能は結構重要になると思っている(特にテーブルとのマッピング)。 Hello World プロジェクトの作成 コンテキストルートが j
環境構築 コード #CDI とは Contexts and Dependency Injection の略。 Java EE 7 には ver 1.1 が含まれている。 JSR は 346。 DI (依存性の注入)に加えて、管理しているインスタンスのスコープの管理まで行ってくれる。 ##CDI 誕生の経緯と JBoss Seam の変遷 CDI は、 JBoss が提供していた独自フレームワークである Seam が前身となっている。 Seam は日本語で「継ぎ目」という意味。 Java EE 5 の頃の JSF と EJB をシームレスに連携させることを目的に作られたのが、この Seam というフレームワーク。 この Seam の中で、 DI やコンテキストの管理を担っていたコアの部分が抽出され、 JSR として標準化されたものが CDI 1.0 (JSR299)になる。 参照実装は We
次のページ
このページを最初にブックマークしてみませんか?
『@opengl-8080のマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く