サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
masatoshitada.hatenadiary.jp
このご時世により、4月〜6月までの新人研修はオンラインで実施していました。講師だけでなく、受講者さんもご自宅からオンラインで研修に参加する形です。 使っていたツールとしては、主に下記の3つです。 Zoom Slack 自作の進捗管理アプリ(これは長くなるので別記事↓で!) その他 また、ツール以外にも僕が心がけていたことなどをまとめておこうと思います。 別記事↓ masatoshitada.hatenadiary.jp Zoom 研修の配信ではZoomを利用していました。主な用途としては、講師の画面を共有することによる講義の配信です。 正直、画面共有とブレイクアウトルームの機能さえあれば、Zoom以外でもいいと思います。 ブレイクアウトルーム 演習やディスカッションは、ブレイクアウトルーム機能で数人のチームで進めてもらっていました。 ブレイクアウトルームにすると、講師の声が受講者さんに届か
著者の1人である @kencharos さんから献本いただきました!ありがたく読ませていただきます! #minjava pic.twitter.com/ukzkfIiRx1— Masatoshi Tada (@suke_masa) 2020年3月9日 ザッとですが読んだので、感想を書こうと思います! この本の対象者 ある程度はJavaの経験がある人向けですね。Java 8くらいまでの知識はあるけどそこから知識をアップデートしたいという人が、全体像をザックリ掴むにはうってつけの本です。あくまで全体像なので、あとは気になった内容は自分で調べればいいと思います。そのための情報源(各種リンクなど)も記載されています。 ご自分で勉強して最新のJavaを追っている方でも、この本はとても役に立つと思います。この本がカバーしている範囲はとても広いので、そういった方でも勉強になる部分は多いのではないでしょう
この記事は、英語に関するポエムです。 これまで3年くらい英語の勉強を続けてきて、海外カンファレンスでLTしたり、TOEICで900点近いスコアをコンスタントに出せるようになってきたので、これまで勉強したことをまとめておこうと思います。 エンジニアにとっての英語の必要性 英語に限らず、語学は一般に4つのスキルに分けられます。 Reading (読む) Writing (書く) Listening (聞く) Speaking (話す) 今のエンジニアの方々にとって、ほぼ必須なのは1.でしょう。現代のITは進化が速いため、日本語の書籍やドキュメントなどは数が減っているように感じます。なので、公式のドキュメントを読んだり、GitHubのIssueを読んだり、Stack Overflowを読んだりすることは日常茶飯事でしょう。 そこから一歩進んでいる方は、2.も必要になるでしょう。GitHubのIs
Pivotalが毎年開催しているカンファレンスSpringOne Platformに、今年も参加してきました。一昨年・昨年に続き、三回目の参加になります。 今年は初の試みとして、カンファレンス前夜祭でのLTにチャレンジしてきましたので、そのことについて書こうと思います。 経緯 SpringOneの前夜祭では、LTが恒例行事になっています。このLTは公募制で、事前にCfPを出しての選考があります。 僕は今回で3回目のSpringOne参加になるので、今年は是非LTにチャレンジしたいなと思っていました。 そう思っていた矢先、SpringOne参加者へのメールでLTへのCfP開始のお知らせが来たので、これはCfPを出すしかないなと思った次第です。 ただ、そのメールが来たのが8/20で、締め切りが9/2というなかなかのハードスケジュール😅 ネタを何するか? CfPを書くに当たり、問題は2つありま
登壇してきた Spring Bootの本当の理解ポイント #jjug from Masatoshi Tada www.slideshare.net 今回で8回連続8回目の登壇になりました。今後も記録を伸ばしていきたいです。 スライドもかなり多くの方々に読んでいただけているようで、現時点で4100viewsを超えています。 アンケートの結果はこちら。ご満足いただけたようで何より。 何故この内容にしたか 最近、Java EE研修のお客様はめっきり減り😅、ほぼSpringの研修ばかりやっています。 その中で実感しているのは、Spring BootでSpringに初めて触れたという方が多いと言うことです。 Spring BootはSpringの面倒な部分を隠蔽するので、一見便利なのですが、その面倒な部分を理解していないと、カスタマイズやトラブルシュートが出来ません。 また、世の中の「Spring
ただいま、Java SE 8研修の開発中です。 Java SE 8では、文字列の連結がやりやすいAPIが追加されています。 例えば、配列の各要素をカンマで区切って、1つの文字列に連結するプログラムは、Java SE 7までならこんな感じだったと思います。 出力は「aaa,bbb,ccc」となります。 StringBuilder使ってappend()して。 また、カンマをappend()する際は、最後の要素の時はカンマを付けないという条件分岐が必要です。 これが、Java SE 8で追加されたString.join()メソッドを使うと、こうなります。 8行で書いてたコードが1行になりました。かなり簡単ですね。 もう少し複雑な例を考えます。 配列の各要素を連結するとともに、各要素に [ ] というプレフィックス・サフィックスを付けます。また、配列の要素数が0の場合、空文字にします。 Java
第1章 : マイクロサービス (未発見) 第2章 : 進化的アーキテクト (未発見) 第3章 : サービスのモデル化方法 Msa reading chap3 第4章 : 統合 前半 Msa読書会#3前半 後半 第三回マイクロサービスアーキテクチャ読書会(後半) 第5章 : モノリスの分割 モノリスの分割 // Speaker Deck
この記事は? Java EE Advent Calendar 2016 - Qiitaの12日目です。 昨日の記事は@yyYankさんの「どうすんのJava EE - Javaプログラマのはしくれダイアリー」でした。明日は@n_agetsuさんです。 Thymeleafは、Javaで作られたテンプレートエンジンです。JSPの代替技術として近年注目されていて、JJUG CCCなどで話を聞いていても、利用事例が増えているように感じます。 ブログ情報も多く、検索すると「チートシート」のようなブログがいっぱい出てきます。 ただ、Thymeleafは多機能なのでチートシートもボリュームがあり、Thymeleafを初めて学習する人にはちょっと重たいなあ・・・と感じていました。 そこで今回は、JSPから移行したい方が、まず最初に理解すべき必要最低限の項目をまとめました。 アジェンダ 環境準備 4つの記法
昨日のJJUG CCC 2016 Fallで発表してきました。ありがたいことに、CCC登壇は6回連続6回目になります。 speakerdeck.com 朝イチ10時から、かつ基調講演の裏番組にもかかわらず、120名くらいの部屋がほぼ満席となりました。 ご参加いただいた皆様、そして運営されていたJJUG幹事やボランティアスタッフの皆様、本当にありがとうございました。 また、感想ブログや全セッションのスライドは、こちらにまとまっています。 GitHub - jjug-ccc/slides-articles-2016fall: JJUG CCC 2016 Fallの発表資料およびブログ記事まとめ 発表内容 Maven Webフレームワーク・DIコンテナ・ORマッパー リフレクションとアノテーション Logback この発表をしようと思った理由 僕は研修トレーナーが仕事なので、毎年春には新人研修を
今年になって、Java EEの学習環境がガラッと変わりました。 2016年も半分以上過ぎてしましましたが(笑)、今からJava EE 7を勉強するにはどうすべきか、改めて書きたいと思います。 1. まずは作りながら学ぶ 以下3冊のいずれか1つで、Webアプリを作りながらJava EEの概要を理解しましょう。本屋さんで軽く立ち読みして、ご自分に合いそうな本を1つ選んでください。 www.shuwasystem.co.jp www.shuwasystem.co.jp www.shoeisha.co.jp これらの本は、いずれもWebアプリを作りながらJava EEの基本を学ぶ、チュートリアルのような形式です。 「わかりやすいJava EE」と「パーフェクトマスター」は、サーブレット・JSPの学習が終わったJava初心者の方向けです。ただし、RESTful Webサービスを作る技術「JAX-RS
https://www.amazon.co.jp/パーフェクト-Java-EE-井上-誠一郎/dp/4774183164www.amazon.co.jpgihyo.jp 著者の1人である@kikutaro_さんから献本いただきました。ありがとうございます! これまでのJava EE書籍の課題 まずは、Java EEの最新バージョンである「Java EE 7」対応の日本語書籍が少ないことでした。 なので、下記のEE 5本やEE 6本で勉強した後は、ブログ情報を検索したり、海外の英語情報に頼るしかありませんでした。 https://www.amazon.co.jp/マスタリングJavaEE5-第2版-DVD付-Programmer’s-SELECTION/dp/4798120545 https://www.amazon.co.jp/Beginning-6%7EGlassFish-3で始めるエン
やりたいこと Thymeleafのビューで、java.time.LocalDateなどJava SE 8で入った日時クラス(Date and Time API)を使いたい。 Date and Time APIについてはこちらをどうぞ。 Java日付時刻APIメモ(Hishidama's Java8 Date and Time API Memo) (蓮沼さんの資料は何故か見つからなかった・・・) Thymeleafの拡張機能を追加 Thymeleafには、Date and Time APIを利用するための拡張機能があります。 https://github.com/thymeleaf/thymeleaf-extras-java8time 本体に入っていないのは恐らく、Thymeleaf本体はJava SE 6でコンパイルされているからだと思われます。 thymeleaf/CONTRIBUTIN
先日、Payara 4.1.1.162がリリースされました! その組み込みサーバー版であるPayara Micro 4.1.1.162には、「Uber JAR」というSpring BootやWildFly Swarmのような単体で実行可能なJARを作る機能が追加されました。 Payara 4.1.1.162 がリリースされました - GlassFish Japan 従来のPayara Microでは、一旦アプリケーションを普通にWARにして、Payara Micro起動→WARをデプロイする必要がありました。 今回の新機能により、本当に単体で実行可能なJARを作れるように 手順は蓮沼さんのブログに書かれてある通りなのですが、自分でもやってみてあまりに簡単で感動したので、このブログにも書くことにしました。 手順 普通にWebアプリケーションを作る 本当に普通に作ってください。pom.xmlの
なぜ受験しようと思ったか 僕の仕事は研修講師(主にプログラミング)なので、色々と調べ物をする時にどうしても英語の仕様書・書籍・ブログ記事などを読む必要が出てきます。やはり、ITの本場はアメリカです。 なので、もっとリーディング力を高めたいと思ったのがきっかけです。 勉強前の英語レベルは? 中学までは英語は得意科目でしたが、高校になるとマークシート形式ならなんとか、という感じでした(センター試験だと8〜9割くらい)。でも、記述式はまったくダメでした。 10年くらい前、まだ大学生の頃、試しにTOEICを受けたことがありましたが、たしか440〜450点だったと思います。 結果は? Listening Reading Total 395 430 825 勉強法は? 僕の勉強法はいたってシンプルで、市販書籍でインプットとアウトプットをひたすら繰り返すのみです。 勉強時間は、主に通勤時間と土日です。家
この記事について このブログは、Java EE Advent Calendar 2015 - Qiitaの25日目(最終日)です。 昨日はhondaYoshitakaさんの「Java - JAX-RSによるExcel/CSV/PDFファイルダウンロード - Qiita」でした。 MVC 1.0はJava EE 8から アクションベースMVCと言えば、Java EE 8で導入される「MVC 1.0」ですね。 MVC 1.0の詳細については、今年のGlassFish勉強会の資料をご覧ください。 Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新 EE 8は2017年上半期リリース予定ですので、現在のEE 7ではMVC 1.0は使えません。 MVC 1.0の参照実装「Ozark」は既にGitHub・Maven上で公開されていますが、まだ策定途中のため仕様が
2016年9月26日、Seasar2のサポートが終了します。 Seasar2から卒業しよう - DJ HIGAYASUWO (元ひがやすを) 僕自身、大好きなフレームワークです。 EclipseプラグインのDoltengなど、開発環境までそろったしっかりそろっているフレームワークって、今でもなかなか無いのではと思います。 仕事の方でも、「Struts 1もSeasar2も開発が終了してしまったので、Java EEやSpringに移行したいと考えています」とご相談いただくことが多いです。 しかし、まずは冷静になる必要があります。 Seasarプロジェクトのすべてが開発終了する訳ではない 「Seasar2」という言葉は、DIコンテナ「S2Container」を指すこともあれば、「S2Container + S2JDBC + SAStruts」を指すこともあれば、Seasarプロジェクト全体(h
技術書を読んでいると、どうしても分からなかったり、読み進めたくても全然進まなかったりします。 それは、その本の説明が悪いのであって、決して貴方の能力の問題ではありません。 どんな説明が分かりやすいかは十人十色です。 尊敬する人に進められた本で…
表題の件を調べていて、ほぼJava EEのJTAと同じかと思いきや、NESTEDというJTAには無いものがあったのでまとめました。 @Transactionalとは? メソッドに付加すると、メソッドの開始がトランザクションの開始、メソッドの終了がトランザクションの終了になります。 メソッド内で非チェック例外(RuntimeException及びそのサブクラス)が発生した場合はロールバックされます。 チェック例外の場合はロールバックされません。 具体的なコードで説明します。 実際にDBにアクセスするTxTestRepositoryクラス(以下「リポジトリ」)があり、それを呼び出しているTxTestService1(以下「サービス1」)とTxTestService2(以下「サービス2」)があります。 そして、サービス1はサービス2も呼び出しているとします。 @Repository public
JJUG CCC 2015 Fallが近づいてきました。 今回、僕は2時間のJava EEハンズオンを担当することになりました。 ■脱Struts&独自フレームワーク!今からでも遅くないJava EE Web開発入門ハンズオン! http://www.java-users.jp/?page_id=2064#M-1 このハンズオンは、StrutsなどのWebフレームワークは経験があるけど、Java EEは初めてという方を対象にしていますので、「Java EEってそもそも何?」という方も歓迎です! 基礎からの講義・解説をしながらハンズオンを進めますし、演習をサポートするチューターも何人か参加しますので、Java EE初心者でも安心のセッションです! 内容は、Java EEのWebフレームワークである「JSF」「JAX-RS」「Jersey MVC」を、実際にご自分のPCでプログラムを作りながら
皆さんはJavaのIDE、何をお使いでしょうか。 2015年現在では、おそらく以下の3つのいずれかだと思います。 Eclipse NetBeans IntelliJ IDEA (ちなみに、僕自身が使った経験がほとんどないので、VimやEmacsなどのエディタは今回のスコープから除外しますm( )m) 僕自身は、社会人になってからJavaを学び始め、新人研修はサクラエディタで受講し、それ以降はしばらく数年はEclipseのみを使っていました。 NetBeans歴は2年くらい、IntelliJ IDEA歴は1年くらいで、どのIDEも普段使いにはほぼ問題ない、というくらいのレベルです。 逆に言えば、どれもまだまだ使いこなせてないんじゃないかとも自分では思っています(^^; その程度のレベルの僕ですが、現時点でどのような見解を持っているのか、それぞれのIDEの特徴を比較しつつ説明したいと思います。
普段から僕は、Java EEやるときはGlassFish/Payaraを使っているのですが、1つだけ懸念事項がありました。それが表題の現象です。それがPayara 4.1.1.154(おそらくGlassFish 4.1.1)で治っていた、というお話です。 どんな現象? Java EEでWeb作るときは、永続化層(JPA)・ビジネスロジック層(CDI/EJB)・プレゼンテーション層(JSF/JAX-RS)というような階層構造にすることが多いと思います。 永続化層 @Dependent public class EmployeeDao { @PersistenceContext(unitName = "empPU") private EntityManager em; @Transactional(TxType.REQUIRED) public Employee findById(Intege
最近はJava EE系でもJAX-RS研修の担当が多くなっている関係上、OAuthやRESTクライアントにも興味が出てきました。ということで、初めてTwitter4Jでプログラムを作ってみました。参考にしたのは、@kikutaro_さんのこちらのブログです。 Twitter4Jを使ったら10分でつぶやきJavaプログラムが作れました! ~NetBeans編~ - Challenge Java EE ! 分かりやすくまとまっていて、基本的な手順は今も変わっていないのですが、管理画面のUIが変わっていたので、本日時点での画面キャプチャ付きで解説します。 目標 Twitter4Jを使って、Javaのmain()メソッドからつぶやきを送信する! Twitter Developer登録 プログラムを作る前に、Twitter Developer登録を行って、アプリ開発に必要なアクセストークンなどの情報
Doma 2とは?基本的な使い方は? Doma 2は、SQLを外部ファイルに書くことができるORマッパーです。ネイティブSQLが書けること、依存ライブラリが無い事、国産 OSSで日本語ドキュメントが充実している事などが魅力です。 下記の記事もご参考になさってください。2014年のJavaアドベントカレンダー向けに書いたものです。 美しき青きDoma!~SQLとIDEが奏でる美しきORマッピング~ - Java EE 事始め! Domaでは、プログラマが作るのはHogeDaoインターフェイスだけで、その実装クラスHogeDaoImplはGradleでビルド時にAnnotation Processorで自動生成されます。 CDI/EJB使ってHogeDao型のフィールドにHogeDaoImplのインスタンスをインジェクションしたり、JTAでトランザクション管理するには、実装クラス側(HogeD
JSON-Bって何? Java EE 8で追加される予定の、JavaオブジェクトとJSONの相互変換を行う機能です。例えば、下記のようなJAX-RSコードがあるとします。 public class Employee { private int id; private String name; private java.time.LocalDate joinedDate; // コンストラクタ、setter、getterは省略 } @Path("employee") public class EmployeeResource { @GET @Produces("application/json") public Response getEmployee() { Employee emp = new Employee(100, "Hoge", LocalDate.of(2015, 4, 1))
GlassFish 4.0でも手順は同じですが、4.1では管理コンソール画面が英語しかありません。 今回のDBはPostgreSQLですが、どのDBでも基本的に同じのはずです。 Cドライブ直下にGlassfish 4.1がインストールされているものとします。 JDBCドライバの配置 まず、C:\glassfish4.1\glassfish\domains\domain1\libフォルダに、JDBCドライバのJARファイルを置きます。 (GlassFishはまだ起動しないでください) 注意してほしいのは、アプリケーション側で使用しているものと同じバージョンを使うということです。 バージョンが違っていたりすると、うまく動きません。 コネクションプールの作成 次に、GlassFishを起動し、管理コンソール画面(http://localhost:4848/)を開きます。 画面左の[Common
この記事について タイトルの通りですが、JSFを使う上で確認しておきたい情報のリンクをまとめました。 まずはコレ! 菊田さんのJava Day Tokyo 2015の発表資料です。 JSFの全体像や、JSFで何ができるかなどが綺麗にまとまっています。 PDF(直リンク) http://www.oracle.co.jp/jdt2015/pdf/3-3.pdf 動画 https://www.youtube.com/watch?v=yW_LAa9FXAo JSFアプリケーションライフサイクル 6つのフェーズおよびバリデーションの実行順序が重要です。 ブログ記事ですと、寺田さんの下記の記事を読むと良いでしょう。 JSF 2.0 の詳細について | 寺田 佳央 - Yoshio Terada 書籍では、「マスタリングJava EE 5」の第23章・第25章・第28章を参照してください。 マスタリング
2015-07-11 「はまる!JPA」のN+1問題をEntity Graphで解決する Java EE 7 JPA JPAにおけるN+1問題とは? 元ネタは、こちらの@makingさんの資料(2013年のGlassFish勉強会にて)です。 はまる!!JPA #glassfish_jp #javaee from Toshiaki Maki www.slideshare.net N+1問題とは、エンティティに1対多のリレーションがあるときに、多数のSQLが発行されてパフォーマンスが落ちるという問題です。 上記の槙さんの資料では、JPQLのJOIN FETCH文+setHint()メソッドを利用してこの問題を解決し、1回のSQLで全てのデータを取得できるようにしています。 今回の記事では、JPA 2.1(Java EE 7)の新機能であるEntity Graphを使って、N+1問題の解
tar.gz版のダウンロード Eclipse公式サイトのトップからだと、インストーラーを実行してインストールする版になります。 従来通りの解凍するだけで完了するtar.gzファイルは、下記のページからダウンロードできます。 http://www.eclipse.org/downloads/packages/release/Neon/R これが非常に探しづらい・・・。いつも、4.5とか古いバージョンのページをググって、そこからリンクで4.6のページに飛んだりして探しています。 ちなみに、インストーラーを実行するタイプでの日本語化方法は、試していません。eclipse.iniがどこにあるのか分からなかったので・・・ tar.gzの解凍 tarコマンドで解凍すると、 Eclipse.appができるので、それを/Applicationsフォルダに移動させます。 cd ~/Downloads tar
jBatchとは? Java EE 7から新たに加わった、バッチ処理用フレームワークの仕様です。 EE 6までは、Java EE標準仕様にバッチは入っていなかったのですが、EE 7から加わりました。 正式名称は「Batch Application for the Java Platform」で、公式?の略称が「jBatch」です。 Spring Frameworkには、以前から「Spring Batch」というものがあったのですが、これを基にjBatchの仕様が策定されたようです。 また、Spring Batch自身も、jBatch準拠になっているようです。 jBatchの実装 jBatchに限らず、Java EEは仕様のみ(ほとんどインターフェイス・アノテーション・例外・enum)なので、jBatchを使うためには、それに対応する「実装」が必要です。 僕が調べた限りでは、今のところ実装は
次のページ
このページを最初にブックマークしてみませんか?
『行きあたりばったりエンジニアの日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く