SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Introduction




  A language made for Java developers.


                         @quicy
Xtendとは

● Eclipseからリリースされている
● 新しいJVM言語
● 少ない学習コストで
● 静的型で安全に
● Javaをより簡潔に
● Javaをより強力に
Xtendとは

● Javaプロジェクトで一緒に使う
● Xtendクラス → Javaクラスに変換
● interface, enum, annotationなどは
 全部Javaのまま
Xtendとは



Xtend == Java + α != 新言語


   Javaのエクステンション
Hello Xtend

class HelloXtend {
   def static void main(String[] args) {
      println('Hello Xtend')
   }
}
Hello Closure
import java.util.List
import static extension java.util.Collections.*
class HelloClosure {
   def static void main(String[] _) {
       println(positiveOnly(newArrayList(1, 5, 2, -10, 4)))
   }
   def static positiveOnly(List<Integer> values) {
       values.filter [it > 0]
   }
}
リアルタイムなJavaソース生成
Xtendのメリット

● 静的型
● 高い表現力
● Javaの型システムをそのまま使える
● IDEによる賢い補完
Javaをより簡潔に

● 型推論
● プロパティアクセス
● 演算子オーバロード
● 全てが「式」
Javaをより強力に

● クロージャ
● 拡張メソッド
● 強力なswitch式
● マルチプル・ディスパッチ
● テンプレート式


● Xtend全体がJavaのシュガー
Scalaでいいんじゃん?

● Scala使える状況ならScala使おう!
Xtend/いつ/なぜ?

● Javaソースが必要なとき
 (契約、GWT、etc...)

● Javaプログラマが
 少ない学習コストで
 今日からすぐに
 開発/保守を効率化するとき
Xtendの開発環境

● Eclipse + Xtend (☆Marketplace)
● 1. Javaプロジェクトを普通に作成
● 2. Xtend Classを作る
● 3. Quick Fixでライブラリを導入
● 4. あとはXtendクラスを書くだけ
● 5. 自動的にJavaソースに変換される
※ Mavenでもビルドできます
型推論~変数
val List<String> names = getTheListOfNames()

val names = getTheListOfNames()


※ 変数の型は省略できる
型推論~forループ
for (String name : getTheListOfNames())

for (name : getTheListOfNames())


※ 変数の型は省略できる
型推論~リターン型
def List<String> getTheListOfNames() {
  newArrayList("Tomte","Pippi","Carlson")
}

def getTheListOfNames() {
  newArrayList("Tomte","Pippi","Carlson")
}


※ リターン型は省略できる
型推論~クロージャ・パラメータ
getTheListOfNames().map(String name | "Mr. "+name)

getTheListOfNames().map(name | "Mr. "+name)


※ パラメータ型は省略できる
プロパティ・アクセス
person.getName()
person.name

person.setName("Foo")
person.name = "Foo"

obj.compute()
obj.compute


※ プロパティをより自然に扱える
演算子オーバロード
val apples = newArrayList(new Apple())
val oranges = newArrayList(new Orange())
val fruits = apples + oranges


※ 演算子の意味を多重定義できる
演算子の種類(1)
e1 += e2   e1.operator_add(e2)
e1 || e2   e1.operator_or(e2)
e1 && e2   e1.operator_and(e2)
e1 == e2   e1.operator_equals(e2)
e1 != e2   e1.operator_notEquals(e2)
e1 < e2    e1.operator_lessThan(e2)
e1 > e2    e1.operator_greaterThan(e2)
e1 <= e2   e1.operator_lessEqualsThan(e2)
e1 >= e2   e1.operator_greaterEqualsThan(e2)
e1 -> e2   e1.operator_mappedTo(e2)
演算子の種類(2)
e1 .. e2   e1.operator_upTo(e2)
e1 + e2    e1.operator_plus(e2)
e1 - e2    e1.operator_minus(e2)
e1 * e2    e1.operator_multiply(e2)
e1 / e2    e1.operator_divide(e2)
e1 % e2    e1.operator_modulo(e2)
e1 ** e2   e1.operator_power(e2)
! e1       e1.operator_not()
- e1       e1.operator_minus()
すべてが「式」
val data = if (file.exists) {
   fileContentsToString(file)
 } else {
   'has no data'
 }


※ 文じゃないから評価結果が値になる
※ caseやtry~catchも式です
拡張メソッド~ローカル拡張
class Printer {
  def void print(Person person) {
    println(person.fullName)
  }
  def getFullName(Person p) {
    p.firstName + " " + p.lastName
  }
}

クラスにメソッドを外部から追加する
イメージで呼び出せるようになる
拡張メソッド~Inject
class Printer {
 @Inject extension PersonExtension

    def print(Person person) {
      println( person.fullName )
    }
}


※ 外部定義された拡張をDIで適用する
拡張メソッド~static import
import static extension java.util.Collections.*


静的拡張ライブラリを使える。
コレクションや文字列の拡張が便利。
高階関数+クロージャが超強力!
クロージャ(1)~ブロック
val names = people.map [ p | p.name ]


※ コレクション処理がとても簡単に
クロージャ(2)~ラムダ式
val predicate =
   [Person person | "Hans" == person.name]

people.filter(predicate)



※ ラムダ式で生成した関数を
 高階関数に渡せる
クロージャ(3)~簡略化
people.filter[ Person p | "Hans" == p.name ]
people.filter[ p | "Hans" == p.name ]
people.filter[ "Hans" == it.name ]
people.filter[ "Hans" == name ]



※ 型推論や暗黙itパラメータで簡略化
クロージャ(4)~Builder DSL
html [
 head [
   title [$("XML encoding with Xtend")]
 ]
 body [
   h1 [$("XML encoding with Xtend")]
   p [$("this dsl can be used as alternative to XML")]



※ BuilderなどのDSLとしても有効
テンプレート式
val fullName = '''Name: «p.firstName» «p.lastName»'''

def getFullName(Person p) '''
    Fist name: «p.firstName»
    Last name: «p.lastName»
'''


※ テンプレート文字列を簡単に作れる
※ IF/FORなどの制御構造も埋め込める
Switch式
val Shape shape = ...
val desc = switch (shape) {
  Rectangle case shape.width == shape.height :
   "Square ("+shape.width+")"
  Rectangle :
   "Rectangle ("+shape.width+" x "+shape.height+")"
  Circle :
   "Circle ("+shape.diameter+")"
  default :
   "Don't know"
}

※ 型ガードと条件検査を同時にできる
マルチプル・ディスパッチ
def example() {
  val Shape s = new Rectangle()
  println(s.label)
}
def dispatch label(Shape s) {
   "some shape"
}
def dispatch label(Rectangle r) { ←
   "a rectangle"
}

※ 実行時の型でメソッドが選択される
どんどん進化中!

● 言語機能もIDEも、まだ少し力不足
● 開発が活発です
● ちょっと足りないなと思うものも、
 次々に実装されていきます
+1

● 開発者がイケメン
● Sven Efftingeさん素敵です
Xtendのまとめ

● 少ない学習コストで
● 静的型で安全に
● Javaをより簡潔に
● Javaをより強力に

Mais conteúdo relacionado

Mais procurados

Javaプログラミング入門【第2回】
Javaプログラミング入門【第2回】Javaプログラミング入門【第2回】
Javaプログラミング入門【第2回】Yukiko Kato
 
C#を始めたばかりの人へのLINQ to Objects
C#を始めたばかりの人へのLINQ to ObjectsC#を始めたばかりの人へのLINQ to Objects
C#を始めたばかりの人へのLINQ to ObjectsFumitaka Yamada
 
Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016Yoshio Terada
 
LINQソースでGO!
LINQソースでGO!LINQソースでGO!
LINQソースでGO!Kouji Matsui
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2Masao Kato
 
Chapter 6: Computing on the language (R Language Definition)
Chapter 6: Computing on the language (R Language Definition)Chapter 6: Computing on the language (R Language Definition)
Chapter 6: Computing on the language (R Language Definition)Nagi Teramo
 
from old java to java8 - KanJava Edition
from old java to java8 - KanJava Editionfrom old java to java8 - KanJava Edition
from old java to java8 - KanJava Edition心 谷本
 
Java puzzlers 2013 at JavaFesta Japan
Java puzzlers 2013 at JavaFesta JapanJava puzzlers 2013 at JavaFesta Japan
Java puzzlers 2013 at JavaFesta JapanYoshio Terada
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門Hideyuki Tanaka
 
Javaプログラミング入門【第3回】
Javaプログラミング入門【第3回】Javaプログラミング入門【第3回】
Javaプログラミング入門【第3回】Yukiko Kato
 
Cloud computing competition by Hapyrus
Cloud computing competition by HapyrusCloud computing competition by Hapyrus
Cloud computing competition by HapyrusKoichi Fujikawa
 
Haskell勉強会 in ie
Haskell勉強会 in ieHaskell勉強会 in ie
Haskell勉強会 in iemaeken2010
 
Elixirだ 第1回 - 基礎だ -
Elixirだ 第1回 - 基礎だ -Elixirだ 第1回 - 基礎だ -
Elixirだ 第1回 - 基礎だ -Joe_noh
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1Susisu
 

Mais procurados (19)

Javaプログラミング入門【第2回】
Javaプログラミング入門【第2回】Javaプログラミング入門【第2回】
Javaプログラミング入門【第2回】
 
C#を始めたばかりの人へのLINQ to Objects
C#を始めたばかりの人へのLINQ to ObjectsC#を始めたばかりの人へのLINQ to Objects
C#を始めたばかりの人へのLINQ to Objects
 
Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016
 
20071030
2007103020071030
20071030
 
LINQソースでGO!
LINQソースでGO!LINQソースでGO!
LINQソースでGO!
 
Project lambda
Project lambdaProject lambda
Project lambda
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2
 
Chapter 6: Computing on the language (R Language Definition)
Chapter 6: Computing on the language (R Language Definition)Chapter 6: Computing on the language (R Language Definition)
Chapter 6: Computing on the language (R Language Definition)
 
from old java to java8 - KanJava Edition
from old java to java8 - KanJava Editionfrom old java to java8 - KanJava Edition
from old java to java8 - KanJava Edition
 
Java puzzlers 2013 at JavaFesta Japan
Java puzzlers 2013 at JavaFesta JapanJava puzzlers 2013 at JavaFesta Japan
Java puzzlers 2013 at JavaFesta Japan
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 
講座Java入門
講座Java入門講座Java入門
講座Java入門
 
Javaプログラミング入門【第3回】
Javaプログラミング入門【第3回】Javaプログラミング入門【第3回】
Javaプログラミング入門【第3回】
 
Cloud computing competition by Hapyrus
Cloud computing competition by HapyrusCloud computing competition by Hapyrus
Cloud computing competition by Hapyrus
 
Haskell勉強会 in ie
Haskell勉強会 in ieHaskell勉強会 in ie
Haskell勉強会 in ie
 
Rakuten tech conf
Rakuten tech confRakuten tech conf
Rakuten tech conf
 
Elixirだ 第1回 - 基礎だ -
Elixirだ 第1回 - 基礎だ -Elixirだ 第1回 - 基礎だ -
Elixirだ 第1回 - 基礎だ -
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1
 

Destaque

ドメイン特化プラットフォームによる業務システム開発体制の変革
ドメイン特化プラットフォームによる業務システム開発体制の変革ドメイン特化プラットフォームによる業務システム開発体制の変革
ドメイン特化プラットフォームによる業務システム開発体制の変革啓 杉本
 
「モデル検査」のススメ (ゲームシナリオ進行編)
「モデル検査」のススメ (ゲームシナリオ進行編)「モデル検査」のススメ (ゲームシナリオ進行編)
「モデル検査」のススメ (ゲームシナリオ進行編)Masaru Nagaku
 
Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)Markus Voelter
 
Magnus Christerson Henk Kolk Domain Expert DSLs
Magnus Christerson Henk Kolk Domain Expert DSLsMagnus Christerson Henk Kolk Domain Expert DSLs
Magnus Christerson Henk Kolk Domain Expert DSLsdeimos
 
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Atsuhiro Kubo
 

Destaque (6)

ドメイン特化プラットフォームによる業務システム開発体制の変革
ドメイン特化プラットフォームによる業務システム開発体制の変革ドメイン特化プラットフォームによる業務システム開発体制の変革
ドメイン特化プラットフォームによる業務システム開発体制の変革
 
「モデル検査」のススメ (ゲームシナリオ進行編)
「モデル検査」のススメ (ゲームシナリオ進行編)「モデル検査」のススメ (ゲームシナリオ進行編)
「モデル検査」のススメ (ゲームシナリオ進行編)
 
Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)
 
Magnus Christerson Henk Kolk Domain Expert DSLs
Magnus Christerson Henk Kolk Domain Expert DSLsMagnus Christerson Henk Kolk Domain Expert DSLs
Magnus Christerson Henk Kolk Domain Expert DSLs
 
Pmt20151027 seminar
Pmt20151027 seminarPmt20151027 seminar
Pmt20151027 seminar
 
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
 

Semelhante a Introduction Xtend

プログラミング言語Scala
プログラミング言語Scalaプログラミング言語Scala
プログラミング言語ScalaTanUkkii
 
JavaのGenericsとは?
JavaのGenericsとは?JavaのGenericsとは?
JavaのGenericsとは?Kenji Nakamura
 
初心者講習会資料(Osaka.r#6)
初心者講習会資料(Osaka.r#6)初心者講習会資料(Osaka.r#6)
初心者講習会資料(Osaka.r#6)Masahiro Hayashi
 
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)Masahiro Hayashi
 
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミングOuka Yuka
 
Best practice laravel
Best practice laravelBest practice laravel
Best practice laravelRisa Ohnishi
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPAkira Takahashi
 
ゼロから始めるScala文法 (再)
ゼロから始めるScala文法 (再)ゼロから始めるScala文法 (再)
ゼロから始めるScala文法 (再)Suguru Hamazaki
 
Java x Groovy: improve your java development life
Java x Groovy: improve your java development lifeJava x Groovy: improve your java development life
Java x Groovy: improve your java development lifeUehara Junji
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~Fujio Kojima
 
Xtend30分クッキング やきに駆動
Xtend30分クッキング   やきに駆動Xtend30分クッキング   やきに駆動
Xtend30分クッキング やきに駆動Shinichi Kozake
 
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門15分でざっくり分かるScala入門
15分でざっくり分かるScala入門SatoYu1ro
 
10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!bitter_fox
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」yoshiaki iwanaga
 

Semelhante a Introduction Xtend (20)

プログラミング言語Scala
プログラミング言語Scalaプログラミング言語Scala
プログラミング言語Scala
 
JavaのGenericsとは?
JavaのGenericsとは?JavaのGenericsとは?
JavaのGenericsとは?
 
ATN No.2 Scala事始め
ATN No.2 Scala事始めATN No.2 Scala事始め
ATN No.2 Scala事始め
 
初心者講習会資料(Osaka.r#6)
初心者講習会資料(Osaka.r#6)初心者講習会資料(Osaka.r#6)
初心者講習会資料(Osaka.r#6)
 
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
 
たのしい関数型
たのしい関数型たのしい関数型
たのしい関数型
 
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
 
Best practice laravel
Best practice laravelBest practice laravel
Best practice laravel
 
Swiftおさらい
SwiftおさらいSwiftおさらい
Swiftおさらい
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JP
 
ゼロから始めるScala文法 (再)
ゼロから始めるScala文法 (再)ゼロから始めるScala文法 (再)
ゼロから始めるScala文法 (再)
 
Junit4
Junit4Junit4
Junit4
 
Java x Groovy: improve your java development life
Java x Groovy: improve your java development lifeJava x Groovy: improve your java development life
Java x Groovy: improve your java development life
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
 
Xtend30分クッキング やきに駆動
Xtend30分クッキング   やきに駆動Xtend30分クッキング   やきに駆動
Xtend30分クッキング やきに駆動
 
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
 
10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
 

Último

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Último (9)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

Introduction Xtend