SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
0
ジャストシステムで作った
Java100本ノックのご紹介
JustTechTalk#07
2016/09/02
Twitterハッシュタグ
#Java100
1
自己紹介
株式会社ジャストシステム 福嶋 航    @fukushiw
JavaでWebサービスを作っています
Javaを使って早20年近く。Javaは1.0から使い始め、仕事では
1.1から使っています。
若い頃はひたすらコアSDKのソースを読みまくって勉強(遠い目)
2
背景
3
背景
素早いサービス立ち上げが重要
期間が短いとどうしても作りが「エイヤー」になりがち・・・
4
背景
素早いサービス立ち上げが重要
期間が短いとどうしても作りが「エイヤー」になりがち・・・
リファクタリングフェーズは・・・
え?なにそれおいしいの? それよりも集客力アップのためにXX機能追加ね
5
背景
素早いサービス立ち上げが重要
期間が短いとどうしても作りが「エイヤー」になりがち・・・
リファクタリングフェーズは・・・
え?なにそれおいしいの? それよりも集客力アップのためにXX機能追加ね
プロジェクトへのフレキシブルなメンバーアサイン
ここの部分はYYさんに聞かないと・・・え?忘れた?
6
背景
素早いサービス立ち上げが重要
期間が短いとどうしても作りが「エイヤー」になりがち・・・
リファクタリングフェーズは・・・
え?なにそれおいしいの? それよりも集客力アップのためにXX機能追加ね
プロジェクトへのフレキシブルなメンバーアサイン
ここの部分はYYさんに聞かないと・・・え?忘れた?
将来を見据えた設計で、ちゃんとしたコーディングを
最初にしておかないとメンテナンスが困難に
7
どうやったら最初からいいコードがチームで書けるか
社内の複数プロジェクトで、「あそこがイクナイ」「ここがイクナイ」という事例がたまっ
てきていて、これをバネに各開発チームのスキルアップが必要と感じていました。
8
どうやったら最初からいいコードがチームで書けるか
社内の複数プロジェクトで、「あそこがイクナイ」「ここがイクナイ」という事例がたまっ
てきていて、これをバネに各開発チームのスキルアップが必要と感じていました。
そんな折、「SQLアンチパターン」の社内読書会に @t̲wada さんにお越し頂く
機会がありました。そこで、
     アンチパターンには名前をつけるとよいです
というお言葉を頂きました。
9
どうやったら最初からいいコードがチームで書けるか
社内の複数プロジェクトで、「あそこがイクナイ」「ここがイクナイ」という事例がたまっ
てきていて、これをバネに各開発チームのスキルアップが必要と感じていました。
そんな折、「SQLアンチパターン」の社内読書会に @t̲wada さんにお越し頂く
機会がありました。そこで、
     アンチパターンには名前をつけるとよいです
というお言葉を頂きました。
これ、使えるんじゃないだろうか?
10
アンチパターン書いてみた
11
本当にあった怖い話
12
本当にあった怖い話
ログ監視システムからアラートメールが到着。肝心のメッセージ部分には
      java.lang.NullPointerException: null
とだけ書かれている
13
本当にあった怖い話
ログ監視システムからアラートメールが到着。肝心のメッセージ部分には
      java.lang.NullPointerException: null
とだけ書かれている
!?
ユーザーへの影響は?
何が起きているのかサッパリ分からん・・・
14
本当にあった怖い話
ログ監視システムからアラートメールが到着。肝心のメッセージ部分には
      java.lang.NullPointerException: null
とだけ書かれている
!?
ユーザーへの影響は?
何が起きているのかサッパリ分からん・・・
運用環境に乗り込んでログを確認・・・(初動調査に遅れ)
15
アンチパターンにして共有
16
それを繰り返して現在14パターン
17
でもアンチパターンだけでは足りない
社内Qiitaでいいねはつく。ストックもつく。
18
でもアンチパターンだけでは足りない
社内Qiitaでいいねはつく。ストックもつく。
でも、見るだけだと「へ~」で終わり。やはり手を動かさないと。
19
でもアンチパターンだけでは足りない
社内Qiitaでいいねはつく。ストックもつく。
でも、見るだけだと「へ~」で終わり。やはり手を動かさないと。
社内で相談してみたら、東北大学に「言語処理100本ノック」というのがあると…
20
でもアンチパターンだけでは足りない
社内Qiitaでいいねはつく。ストックもつく。
でも、見るだけだと「へ~」で終わり。やはり手を動かさないと。
社内で相談してみたら、東北大学に「言語処理100本ノック」というのがあると…
これ、使えるんじゃないだろうか?
21
Java 100本ノック書いてみた
22
Java 100本ノックとは
プログラミング言語 Java に関するスキル向上を目的とした問題集です。
具体的には、運用環境で安定稼働でき、かつ、保守性・拡張性に優れたコード
がより多く生産できるようになることを目指しています。
23
Java 100本ノック 作問の狙い(1)
001-010:はじめの一歩
EclipseなどのIDEに慣れきった体に今一度標準コマンドをたたき込むことで、環境適
応能力を補完する
24
Java 100本ノック 作問の狙い(1)
001-010:はじめの一歩
EclipseなどのIDEに慣れきった体に今一度標準コマンドをたたき込むことで、環境適
応能力を補完する
あるEclipseユーザーに言われた衝撃の一言
「えーと、シェルからJava実行するのってどうするんでしたっけ?」
25
Java 100本ノック 作問の狙い(1)
001-010:はじめの一歩
EclipseなどのIDEに慣れきった体に今一度標準コマンドをたたき込むことで、環境適
応能力を補完する
あるEclipseユーザーに言われた衝撃の一言
「えーと、シェルからJava実行するのってどうするんでしたっけ?」
(゚Д゚)ハァ?
26
Java 100本ノック例えばこんなの(1)
27
Java 100本ノック例えばこんなの(1):解答例
errorcheck()
{
if [ $1 -ne 0 ]; then
exit $1
fi
}
CLASSES=classes
JARFILE=answer010.jar
if [ ! -d ${CLASSES} ]; then
mkdir ${CLASSES}
errorcheck $?
fi
javac -sourcepath src -d ${CLASSES} -encoding UTF-8 src/Answer010.java
errorcheck $?
jar cfe ${JARFILE} Answer010 -C ${CLASSES} Answer010.class
errorcheck $?
java -jar ${JARFILE}
errorcheck $?
answer010.sh
28
Java 100本ノック 作問の狙い(2)
011-040:言語仕様
Javaのソースコードはどう書くべきか、言語仕様を押さえて正しいプログラムを効率的
に書けるようにしたい
29
Java 100本ノック 作問の狙い(2)
011-040:言語仕様
Javaのソースコードはどう書くべきか、言語仕様を押さえて正しいプログラムを効率的
に書けるようにしたい
あるミドル年齢エンジニアのつぶやき
「どうも最近のJavaには慣れてなくて・・・」
30
Java 100本ノック 作問の狙い(2)
011-040:言語仕様
Javaのソースコードはどう書くべきか、言語仕様を押さえて正しいプログラムを効率的
に書けるようにしたい
あるミドル年齢エンジニアのつぶやき
「どうも最近のJavaには慣れてなくて・・・」
ガ━(゚Д゚;)━ ン !!!
31
Java 100本ノック例えばこんなの(2)
32
Java 100本ノック例えばこんなの(2):解答例
medals.forEach(System.out::println);
33
Java 100本ノック 作問の狙い(3)
041-060:コアAPI
APIを呼び出すときの作用を正しく把握し、説明のできないコードを後世に残さない。
34
Java 100本ノック 作問の狙い(3)
041-060:コアAPI
APIを呼び出すときの作用を正しく把握し、説明のできないコードを後世に残さない。
あるレビューでの驚愕の説明
「このAPI呼び出しの意図は?」
「いや、参考にしたソースがこうなっていたので同じように呼び出しました」
35
Java 100本ノック 作問の狙い(3)
041-060:コアAPI
APIを呼び出すときの作用を正しく把握し、説明のできないコードを後世に残さない。
あるレビューでの驚愕の説明
「このAPI呼び出しの意図は?」
「いや、参考にしたソースがこうなっていたので同じように呼び出しました」
あら(゚Д゚)そう
36
Java 100本ノック例えばこんなの(3)
37
Java 100本ノック例えばこんなの(3)
「等価なオブジェクトは等価なハッシュ・コードを保持する必要がある」という
hashCodeメソッドの汎用規約に従う必要があるため
java.lang.Object#equals()
java.lang.Object#hashCode()
のAPIドキュメント参照
38
Java 100本ノック 作問の狙い(4)
061-080:複合・Java EE
「~しといて」と仕事を任されたときに今あるものを鵜呑みにせず臨機応変に対応でき
るようにする
39
Java 100本ノック例えばこんなの(4)
40
Java 100本ノック例えばこんなの(4):解答ヒント
41
Java 100本ノック 作問の狙い(5)
081-090:ライブラリ
091-099:フレームワーク
100:Webアプリケーションの作成
基本は押さえた上で、どのプロジェクトでもよく使われるライブラリやフレームワークの使
い方を習得し、応用できるようにする
42
Java 100本ノック例えばこんなの(5)
43
Java 100本ノックはGitHubで公開しています
https://github.com/JustSystems/java-100practices
Twitterハッシュタグ
#Java100
We are Hiring!!

Weitere ähnliche Inhalte

Was ist angesagt?

Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門
Satoshi Kubo
 

Was ist angesagt? (20)

Java仮想マシンの実装技術
Java仮想マシンの実装技術Java仮想マシンの実装技術
Java仮想マシンの実装技術
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
 
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
 
What's new in Spring Batch 5
What's new in Spring Batch 5What's new in Spring Batch 5
What's new in Spring Batch 5
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 
WayOfNoTrouble.pptx
WayOfNoTrouble.pptxWayOfNoTrouble.pptx
WayOfNoTrouble.pptx
 
決済サービスのSpring Bootのバージョンを2系に上げた話
決済サービスのSpring Bootのバージョンを2系に上げた話決済サービスのSpring Bootのバージョンを2系に上げた話
決済サービスのSpring Bootのバージョンを2系に上げた話
 
Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり
Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり
Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
Metaspace
MetaspaceMetaspace
Metaspace
 

Ähnlich wie ジャストシステムJava100本ノックのご紹介

永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)
Yasui Tsutomu
 
Dev lobe20090325v1.0
Dev lobe20090325v1.0Dev lobe20090325v1.0
Dev lobe20090325v1.0
walnut210
 
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Shuji Watanabe
 

Ähnlich wie ジャストシステムJava100本ノックのご紹介 (20)

Open stack swift is too Enterprise? 2014/12/01 advent cal
Open stack swift is too Enterprise?  2014/12/01 advent calOpen stack swift is too Enterprise?  2014/12/01 advent cal
Open stack swift is too Enterprise? 2014/12/01 advent cal
 
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho ltNetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
 
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
 
Viewを使って開発を楽にする話
Viewを使って開発を楽にする話Viewを使って開発を楽にする話
Viewを使って開発を楽にする話
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編
 
実戦Scala
実戦Scala実戦Scala
実戦Scala
 
永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)
 
Dev lobe20090325v1.0
Dev lobe20090325v1.0Dev lobe20090325v1.0
Dev lobe20090325v1.0
 
じっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープじっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープ
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
 
Jslug勉強会 awsと比較するネットワーク
Jslug勉強会 awsと比較するネットワークJslug勉強会 awsと比較するネットワーク
Jslug勉強会 awsと比較するネットワーク
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
 
オワスプナイト20150115 dependency check
オワスプナイト20150115 dependency checkオワスプナイト20150115 dependency check
オワスプナイト20150115 dependency check
 
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfkSpring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
初心者による初心者のためのMySQLクエリチューニング
初心者による初心者のためのMySQLクエリチューニング初心者による初心者のためのMySQLクエリチューニング
初心者による初心者のためのMySQLクエリチューニング
 
着任したエンジニアをスムーズにテイクオフさせる道具だて
着任したエンジニアをスムーズにテイクオフさせる道具だて着任したエンジニアをスムーズにテイクオフさせる道具だて
着任したエンジニアをスムーズにテイクオフさせる道具だて
 
Practical migration from JSP to Thymeleaf
Practical migration from JSP to Thymeleaf Practical migration from JSP to Thymeleaf
Practical migration from JSP to Thymeleaf
 
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
 

Mehr von JustSystems Corporation

Mehr von JustSystems Corporation (20)

Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
 
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
 
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
 
現役23名のPM:タイプ別マネジメントパターン
現役23名のPM:タイプ別マネジメントパターン現役23名のPM:タイプ別マネジメントパターン
現役23名のPM:タイプ別マネジメントパターン
 
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみたJavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
 
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
 
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
JustTechTalk#11_スマイルゼミ顧客満足度への貢献JustTechTalk#11_スマイルゼミ顧客満足度への貢献
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
 
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
 
最新のJava言語仕様で見るモジュールシステム #jjug
最新のJava言語仕様で見るモジュールシステム #jjug最新のJava言語仕様で見るモジュールシステム #jjug
最新のJava言語仕様で見るモジュールシステム #jjug
 
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
 
JustTechTalk#10 React開発における自動テスト実践
JustTechTalk#10 React開発における自動テスト実践JustTechTalk#10 React開発における自動テスト実践
JustTechTalk#10 React開発における自動テスト実践
 
JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例
 
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
 
AWS運用における最適パターンの徹底活用
AWS運用における最適パターンの徹底活用AWS運用における最適パターンの徹底活用
AWS運用における最適パターンの徹底活用
 
ジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組みジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組み
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
 
Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.
 
CSSレイアウトでなぜ失敗するか?
CSSレイアウトでなぜ失敗するか?CSSレイアウトでなぜ失敗するか?
CSSレイアウトでなぜ失敗するか?
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
 
TypeScriptの大規模開発への適用
TypeScriptの大規模開発への適用TypeScriptの大規模開発への適用
TypeScriptの大規模開発への適用
 

ジャストシステムJava100本ノックのご紹介