SlideShare a Scribd company logo
1 of 91
Download to read offline
0
2
4
6
8
10
12
14
16
2016-04
2016-08
2016-12
2017-04
2017-08
2017-12
2018-04
2018-08
2018-12
Android Projects
0
2
4
6
8
10
12
14
16
2016-04
2016-08
2016-12
2017-04
2017-08
2017-12
2018-04
2018-08
2018-12
Android Projects Others
0
2
4
6
8
10
12
14
16
2016-04
2016-08
2016-12
2017-04
2017-08
2017-12
2018-04
2018-08
2018-12
Android Projects Others
//	Java
public	class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
...
public String	getTitle()	{
return	this.title;
}
public void setTitle(String	title)	{
this.title =	title;
}
@Override
public String	toString()	{	...	}
...	
}
//	Kotlin
data	class Aritcle(
var articleId:	Int?	=	null,	
var viewCount:	Int =	0,	
var title:	String	=	“”
...
)
//	Java
public	class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
...
public String	getTitle()	{
return	this.title;
}
public void setTitle(String	title)	{
this.title =	title;
}
@Override
public String	toString()	{	...	}
...	
}
//	Kotlin
data	class Aritcle(
var articleId:	Int?	=	null,	
var viewCount:	Int =	0,	
var title:	String	=	“”
...
)
//	Java
public	class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
...
public String	getTitle()	{
return	this.title;
}
public void setTitle(String	title)	{
this.title =	title;
}
@Override
public String	toString()	{	...	}
...	
}
getter()
setter()
//	Kotlin
data	class Aritcle(
var articleId:	Int?	=	null,	
var viewCount:	Int =	0,	
var title:	String	=	“”
...
)
//	Java
public	class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
...
public String	getTitle()	{
return	this.title;
}
public void setTitle(String	title)	{
this.title =	title;
}
@Override
public String	toString()	{	...	}
...	
}
equals()
hashCode()
copy()
toString()
componentsN()
//	Kotlin
data	class Aritcle(
var articleId:	Int?	=	null,	
var viewCount:	Int =	0,	
var title:	String	=	“”
...
)
//	Java
public	class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
...
public String	getTitle()	{
return	this.title;
}
public void setTitle(String	title)	{
this.title =	title;
}
@Override
public String	toString()	{	...	}
...	
}
//	Kotlin
data	class Aritcle(
var articleId:	Int?	=	null,	
var viewCount:	Int =	0,	
var title:	String	=	“”
...
)
//	Java
public	class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
...
public String	getTitle()	{
return	this.title;
}
public void setTitle(String	title)	{
this.title =	title;
}
@Override
public String	toString()	{	...	}
...	
}
//	Java
public	class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
...
public void setViewCount(int viewCount)	{
this.viewCount =	viewCount;
}
}
//	use	case
Integer	nullableNum =	null;
article.setViewCount(nullableNum);
//	Java
public	class Member	{
private	Integer	memberId;
private	int age;
private String	name;
public void setMemberId(Integer	memberId)	{
if(memberId ==	null)	{
//	do	something
}
this.memberId =	memberId;
}
...	
}
Integer	nullableNumber =	null;
member.setAge(nullableNumber);
//	runtime	error!!
//	Kotlin
data	class Aritcle(
var articleId:	Int?	=	null,	
var viewCount:	Int =	0,	
var title:	String	=	“”
...
)
//	use	case
var nullableNum:	Int?	=	null
article.viewcount =	nullableNum
//	Java
public	class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
...
public void setViewCount(int viewCount)	{
this.viewCount =	viewCount;
}
}
//	use	case
Integer	nullableNum =	null;
article.setViewCount(nullableNum);
//	Java
public	class Member	{
private	Integer	memberId;
private	int age;
private String	name;
public void setMemberId(Integer	memberId)	{
if(memberId ==	null)	{
//	do	something
}
this.memberId =	memberId;
}
...	
}
Integer	nullableNumber =	null;
member.setAge(nullableNumber);
//	runtime	error!!
//	Kotlin
data	class Aritcle(
var articleId:	Int?	=	null,	
var viewCount:	Int =	0,	
var title:	String	=	“”
...
)
//	use	case
var nullableNumber:	Int?	=	null
article.viewcount =	nullableNumber
//	Java
public	class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
...
public void setViewCount(int viewCount)	{
this.viewCount =	viewCount;
}
}
//	use	case
Integer	nullableNum =	null;
article.setViewCount(nullableNum);
//	Java
public	class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
...
public void setViewCount(int viewCount)	{
this.viewCount =	viewCount;
}
}
Integer	nullableNum =	null;
article.setViewCount(nullableNum);
//	Kotlin
data	class Aritcle(
var articleId:	Int?	=	null,	
var viewCount:	Int =	0,	
var title:	String	=	“”
...
)
//	use	case
var nullableNum:	Int?	=	null
article.viewcount =	nullableNum
//	Java
@Getter
@Setter
public class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
}	
//	auto-converted	kotlin
@Getter
@Setter
class Article	{
private val articleId : Int?	=	null
private val viewCount : Int =	0
private val title : String?	=	null
}
//	Java
@Getter
@Setter
public class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
}	
//	auto-converted	kotlin
@Getter
@Setter
class Article	{
private val articleId : Int?	=	null
private val viewCount : Int =	0
private val title : String?	=	null
}	
public	getter()
public	setter()
//	Java
@Getter
@Setter
public class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
}	
//	auto-converted	kotlin
@Getter
@Setter
class Article	{
private val articleId : Int?	=	null
private val viewCount : Int =	0
private val title : String?	=	null
}	
동작하지 않는 Annotation
//	Java
@Getter
@Setter
public class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
}	
//	auto-converted	kotlin
@Getter
@Setter
class Article	{
private val articleId : Int?	=	null
private val viewCount : Int =	0
private val title : String?	=	null
}	
외부에서 참조 불가능한 properties
//	Java	without	Lombok
public class Article	{	
private	Integer	articleId;
private	int viewCount;
private String	title;
public Integer	getMemberId()	{	
return this.memberId;	
}	
...
}
//	Java	with	Lombok
@Data
public class Article	{
private	Integer	articleId;
private	int viewCount;
private String	title;
}
//	auto-converted	Kotlin
class Article	{	
var articleId:	Int?	=	null
var viewCount:	Int =	0
var title:	String?	=	null
override	fun	toString():	String	{
return	“Article{”
+	“articleId=“ + articleId
+	“,	viewCount=”	+ viewCount
+	“,	title=‘”	+ title
+ ‘’’.toString()	+	‘}’.toString()
}	...
}
//	Java	without	Lombok
public class Article	{	
private	Integer	articleId;
private	int viewCount;
private String	title;
public Integer	getMemberId()	{	
return this.memberId;	
}	
...
}
//	refactored	Kotlin
data	class Article	(	
var articleId:	Int?	=	null
var viewCount:	Int =	0
var title:	String	=	“”
)
//	auto-converted	Kotlin
class Article	{	
var articleId:	Int?	=	null
var viewCount:	Int =	0
var title:	String?	=	null
override	fun	toString():	String	{
return	“Article{”
+	“articleId=“ + articleId
+	“,	viewCount=”	+ viewCount
+	“,	title=‘”	+ title
+	‘’’.toString()	+	‘}’.toString()
}	...
}
@Slf4j
public	class	LogExaple {
}
//	Java
@Controller
public	class ArticleController {
@Autowired
private	ArticleService articleService;
@Autowired
private	TagService tagService;
}
@Slf4j
public	class	LogExaple {
}
//	Kotlin
@Controller
class ArticleController {
@Autowired
private	var articleService :	ArticleService
@Autowired
private	var tagService :	TagService
}
동작하지 않는 필드 주입
@Slf4j
public	class	LogExaple {
}
//	Java
@Controller
public	class ArticleController {
@Autowired
private	ArticleService articleService;
@Autowired
private	TagService tagService;
}
@Slf4j
public	class	LogExaple {
}
//	Kotlin
@Controller
class ArticleController {
@Autowired
private	var articleService :	ArticleService?	
=	null
@Autowired
private	var tagService :	TagService?	
=	null
}
@Slf4j
public	class	LogExaple {
}
//	Java
@Controller
public	class ArticleController {
@Autowired
private	ArticleService articleService;
@Autowired
private	TagService tagService;
}
@Slf4j
public	class	LogExaple {
}
//	Kotlin
@Controller
class ArticleController {
@Autowired
private	lateinit var articleService :	
ArticleService
@Autowired
private	lateinit var tagService :	TagService
}
@Slf4j
public	class	LogExaple {
}
//	Java
@Controller
public	class ArticleController {
private	final ArticleService articleService;
private	final TagService tagService;
public ArticleController(
final ArticleService articleService,
final TagService tagService)	{
this.articleService =	articleService;
this.tagService =	tagService;
}
}
@Slf4j
public	class	LogExaple {
}
//	Kotlin
@Controller
class ArticleController(
private	val articleService :	ArticleService,
private	val tagService :	TagService)	{
}
@Slf4j
public	class	LogExaple {
}
@RequestMapping(“/”)
@Controller
class SearchController {
@GetMapping
fun search(@RequestParam(required	=	true)	keyword	:	String?)	{ //	Java와 동일하게 사용
return “/result”
}
}
필수로 명시하였지만 Optional로 동작
@Slf4j
public	class	LogExaple {
}
@RequestMapping(“/”)
@Controller
class SearchController {
@GetMapping
fun search(@RequestParam keyword	:	String)	{
return “/result”
}
}
@Slf4j
public	class	LogExaple {
}
//	Java
public	class Article	{
public	static	final String	DEFAULT_THUMBNAIL
=	“..”;
...
public	static	String	thumbnail()	{
...
}
...
}
//	Kotlin
class Article	{
companion	object {
val DEFAULT_THUMBNAIL =	“..”
fun thumbnail():	String	{
...
}
}
...
}
@Slf4j
public	class	LogExaple {
}
//	Java
public	class Article	{
public	static	final String	DEFAULT_THUMBNAIL
=	“..”;
...
public	static	String	thumbnail()	{
...
}
...
}
//	Kotlin
class Article	{
companion	object {
const val DEFAULT_THUMBNAIL =	“..”
@JvmStatic
fun thumbnail():	String	{
...
}
}
...
}
@Slf4j
public	class	LogExaple {
} when (x)	{
0, 1	->	print("x	==	0	or	x	==	1")			
parseInt(s)	->	print("s	encodes	x")
isEven()	->	print("x	is	even")
in 1..10 ->	print("x	is	in	the	range")
in validNumbers ->	print("x	is	valid")
is String	->	x.startsWith("prefix")
else ->	print("otherwise")
}
@Slf4j
public	class	LogExaple {
}
//Java
if (isFromRobot(userAgent))	{
return	false;
}	else	if (isValidUser(cookie))	{
return	false;
}	else {
return	true;
}
//Kotlin
return when {
isFromRobot(userAgent)	->	false
isValidUser(cookie)	->	false
else ->	ture
}
@Slf4j
public	class	LogExaple {
}
//Kotlin
@Controller
class ArticleController {
…
@GetMapping(“/article/{articleId}”)
fun blog(model:	Model,	@PathVariable articleId :	String):	String	{
Article	article =	articleRepository.find(articleId)
model["title"]	=	article.title //model.addAttribute("title",	article.title)
return “article"
}
}
2375
2272 2259 2239
102060
96183
93578
92208
//Java
@Service
public class JavaController {
@Autowired
private JavaService javaService;
..
}
//Kotlin
@Service
class KotlinController(private val kotlinService:	KotlinService)	
{
..	
}
462 454
438
402
//Java
var imgUrl:	String	=	DEFAILT_IMG_URL
if (isMediaType())	{
imgUrl =	media.getThumbnail()
}	else if (hasMediaHolder())	{
imgUrl =	getHolder()
}	else if {
…
}
//Kotlin
val imgUrl =	when {
isMediaType()	->	media.thumbnail
hasMediaHolder()	->	getHolder()
…
else ->	DEFAILT_IMG_URL
}
232
217
205 205
//Java
List<Menu> displayedMainMenus =	MainMenus.stream()
.filter(e	->	e.getDisplayed())
.collect(Collectors.toList());
//Kotlin
val displayedMainMenus:	List<Menu>	
=	mainMenus.filter {	it.displayed }
Android Projects Data Analysis
Android Projects Data Analysis
Android Projects Data Analysis
Android Projects Data Analysis
Android Projects Data Analysis
Android Projects Data Analysis
Android Projects Data Analysis
Android Projects Data Analysis

More Related Content

What's hot

Singleton Pattern
Singleton PatternSingleton Pattern
Singleton PatternBorey Lim
 
Singleton Pattern (Sole Object with Global Access)
Singleton Pattern (Sole Object with Global Access)Singleton Pattern (Sole Object with Global Access)
Singleton Pattern (Sole Object with Global Access)Sameer Rathoud
 
안드로이드 데이터 바인딩
안드로이드 데이터 바인딩안드로이드 데이터 바인딩
안드로이드 데이터 바인딩GDG Korea
 
Android Architecture Components - Guy Bar on, Vonage
Android Architecture Components - Guy Bar on, VonageAndroid Architecture Components - Guy Bar on, Vonage
Android Architecture Components - Guy Bar on, VonageDroidConTLV
 
Design Pattern - Singleton Pattern
Design Pattern - Singleton PatternDesign Pattern - Singleton Pattern
Design Pattern - Singleton PatternMudasir Qazi
 
Annotation Processing in Android
Annotation Processing in AndroidAnnotation Processing in Android
Annotation Processing in Androidemanuelez
 
iOS Development Methodology
iOS Development MethodologyiOS Development Methodology
iOS Development MethodologySmartLogic
 
Data binding в массы! (1.2)
Data binding в массы! (1.2)Data binding в массы! (1.2)
Data binding в массы! (1.2)Yurii Kotov
 
Reproducible component tests using docker
Reproducible component tests using dockerReproducible component tests using docker
Reproducible component tests using dockerPavel Rabetski
 
Code generation for alternative languages
Code generation for alternative languagesCode generation for alternative languages
Code generation for alternative languagesRafael Winterhalter
 
#살아있다 #자프링외길12년차 #코프링2개월생존기
#살아있다 #자프링외길12년차 #코프링2개월생존기#살아있다 #자프링외길12년차 #코프링2개월생존기
#살아있다 #자프링외길12년차 #코프링2개월생존기Arawn Park
 
Don't Make Android Bad... Again
Don't Make Android Bad... AgainDon't Make Android Bad... Again
Don't Make Android Bad... AgainPedro Vicente
 
Functional Dependency Injection in C#
Functional Dependency Injection in C#Functional Dependency Injection in C#
Functional Dependency Injection in C#Thomas Jaskula
 
Anton Minashkin Dagger 2 light
Anton Minashkin Dagger 2 lightAnton Minashkin Dagger 2 light
Anton Minashkin Dagger 2 lightMichael Pustovit
 
Teste de Integração com DbUnit e jIntegrity
Teste de Integração com DbUnit e jIntegrityTeste de Integração com DbUnit e jIntegrity
Teste de Integração com DbUnit e jIntegrityWashington Botelho
 
JSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan ZarnikovJSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan ZarnikovChristoph Pickl
 
Patterns in Eclipse
Patterns in EclipsePatterns in Eclipse
Patterns in EclipseMadhu Samuel
 

What's hot (19)

Singleton Pattern
Singleton PatternSingleton Pattern
Singleton Pattern
 
Singleton Pattern (Sole Object with Global Access)
Singleton Pattern (Sole Object with Global Access)Singleton Pattern (Sole Object with Global Access)
Singleton Pattern (Sole Object with Global Access)
 
안드로이드 데이터 바인딩
안드로이드 데이터 바인딩안드로이드 데이터 바인딩
안드로이드 데이터 바인딩
 
Android Architecture Components - Guy Bar on, Vonage
Android Architecture Components - Guy Bar on, VonageAndroid Architecture Components - Guy Bar on, Vonage
Android Architecture Components - Guy Bar on, Vonage
 
Design Pattern - Singleton Pattern
Design Pattern - Singleton PatternDesign Pattern - Singleton Pattern
Design Pattern - Singleton Pattern
 
Annotation Processing in Android
Annotation Processing in AndroidAnnotation Processing in Android
Annotation Processing in Android
 
Java 9
Java 9Java 9
Java 9
 
Ecom lec4 fall16_jpa
Ecom lec4 fall16_jpaEcom lec4 fall16_jpa
Ecom lec4 fall16_jpa
 
iOS Development Methodology
iOS Development MethodologyiOS Development Methodology
iOS Development Methodology
 
Data binding в массы! (1.2)
Data binding в массы! (1.2)Data binding в массы! (1.2)
Data binding в массы! (1.2)
 
Reproducible component tests using docker
Reproducible component tests using dockerReproducible component tests using docker
Reproducible component tests using docker
 
Code generation for alternative languages
Code generation for alternative languagesCode generation for alternative languages
Code generation for alternative languages
 
#살아있다 #자프링외길12년차 #코프링2개월생존기
#살아있다 #자프링외길12년차 #코프링2개월생존기#살아있다 #자프링외길12년차 #코프링2개월생존기
#살아있다 #자프링외길12년차 #코프링2개월생존기
 
Don't Make Android Bad... Again
Don't Make Android Bad... AgainDon't Make Android Bad... Again
Don't Make Android Bad... Again
 
Functional Dependency Injection in C#
Functional Dependency Injection in C#Functional Dependency Injection in C#
Functional Dependency Injection in C#
 
Anton Minashkin Dagger 2 light
Anton Minashkin Dagger 2 lightAnton Minashkin Dagger 2 light
Anton Minashkin Dagger 2 light
 
Teste de Integração com DbUnit e jIntegrity
Teste de Integração com DbUnit e jIntegrityTeste de Integração com DbUnit e jIntegrity
Teste de Integração com DbUnit e jIntegrity
 
JSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan ZarnikovJSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan Zarnikov
 
Patterns in Eclipse
Patterns in EclipsePatterns in Eclipse
Patterns in Eclipse
 

Similar to Android Projects Data Analysis

Android & Kotlin - The code awakens #01
Android & Kotlin - The code awakens #01Android & Kotlin - The code awakens #01
Android & Kotlin - The code awakens #01Omar Miatello
 
3. Объекты, классы и пакеты в Java
3. Объекты, классы и пакеты в Java3. Объекты, классы и пакеты в Java
3. Объекты, классы и пакеты в JavaDEVTYPE
 
Lombokの紹介
Lombokの紹介Lombokの紹介
Lombokの紹介onozaty
 
Having Fun with Kotlin Android - DILo Surabaya
Having Fun with Kotlin Android - DILo SurabayaHaving Fun with Kotlin Android - DILo Surabaya
Having Fun with Kotlin Android - DILo SurabayaDILo Surabaya
 
CDI e as ideias pro futuro do VRaptor
CDI e as ideias pro futuro do VRaptorCDI e as ideias pro futuro do VRaptor
CDI e as ideias pro futuro do VRaptorCaelum
 
Architecture components - IT Talk
Architecture components - IT TalkArchitecture components - IT Talk
Architecture components - IT TalkConstantine Mars
 
Architecture Components
Architecture Components Architecture Components
Architecture Components DataArt
 
Kotlin for Android - Vali Iorgu - mRready
Kotlin for Android - Vali Iorgu - mRreadyKotlin for Android - Vali Iorgu - mRready
Kotlin for Android - Vali Iorgu - mRreadyMobileAcademy
 
Android Architecure Components - introduction
Android Architecure Components - introductionAndroid Architecure Components - introduction
Android Architecure Components - introductionPaulina Szklarska
 
Code Generation with Groovy, Lombok, AutoValue and Immutables - Ted's Tool Time
Code Generation with Groovy, Lombok, AutoValue and Immutables - Ted's Tool TimeCode Generation with Groovy, Lombok, AutoValue and Immutables - Ted's Tool Time
Code Generation with Groovy, Lombok, AutoValue and Immutables - Ted's Tool TimeTed Vinke
 
Why Spring <3 Kotlin
Why Spring <3 KotlinWhy Spring <3 Kotlin
Why Spring <3 KotlinVMware Tanzu
 
Overview of Android Infrastructure
Overview of Android InfrastructureOverview of Android Infrastructure
Overview of Android InfrastructureAlexey Buzdin
 
Overview of Android Infrastructure
Overview of Android InfrastructureOverview of Android Infrastructure
Overview of Android InfrastructureC.T.Co
 
Creating a Facebook Clone - Part XIX - Transcript.pdf
Creating a Facebook Clone - Part XIX - Transcript.pdfCreating a Facebook Clone - Part XIX - Transcript.pdf
Creating a Facebook Clone - Part XIX - Transcript.pdfShaiAlmog1
 
Programming with Kotlin
Programming with KotlinProgramming with Kotlin
Programming with KotlinDavid Gassner
 
Как приготовить std::system_error. Юрий Ефимочев. CoreHard Spring 2019
Как приготовить std::system_error. Юрий Ефимочев. CoreHard Spring 2019Как приготовить std::system_error. Юрий Ефимочев. CoreHard Spring 2019
Как приготовить std::system_error. Юрий Ефимочев. CoreHard Spring 2019corehard_by
 
Effective Java. By materials of Josch Bloch's book
Effective Java. By materials of Josch Bloch's bookEffective Java. By materials of Josch Bloch's book
Effective Java. By materials of Josch Bloch's bookRoman Tsypuk
 
Building Mobile Apps with Android
Building Mobile Apps with AndroidBuilding Mobile Apps with Android
Building Mobile Apps with AndroidKurt Renzo Acosta
 

Similar to Android Projects Data Analysis (20)

Android & Kotlin - The code awakens #01
Android & Kotlin - The code awakens #01Android & Kotlin - The code awakens #01
Android & Kotlin - The code awakens #01
 
Architecure components by Paulina Szklarska
Architecure components by Paulina SzklarskaArchitecure components by Paulina Szklarska
Architecure components by Paulina Szklarska
 
3. Объекты, классы и пакеты в Java
3. Объекты, классы и пакеты в Java3. Объекты, классы и пакеты в Java
3. Объекты, классы и пакеты в Java
 
Lombokの紹介
Lombokの紹介Lombokの紹介
Lombokの紹介
 
Having Fun with Kotlin Android - DILo Surabaya
Having Fun with Kotlin Android - DILo SurabayaHaving Fun with Kotlin Android - DILo Surabaya
Having Fun with Kotlin Android - DILo Surabaya
 
CDI e as ideias pro futuro do VRaptor
CDI e as ideias pro futuro do VRaptorCDI e as ideias pro futuro do VRaptor
CDI e as ideias pro futuro do VRaptor
 
Architecture components - IT Talk
Architecture components - IT TalkArchitecture components - IT Talk
Architecture components - IT Talk
 
Architecture Components
Architecture Components Architecture Components
Architecture Components
 
Kotlin for Android - Vali Iorgu - mRready
Kotlin for Android - Vali Iorgu - mRreadyKotlin for Android - Vali Iorgu - mRready
Kotlin for Android - Vali Iorgu - mRready
 
Android Architecure Components - introduction
Android Architecure Components - introductionAndroid Architecure Components - introduction
Android Architecure Components - introduction
 
Code Generation with Groovy, Lombok, AutoValue and Immutables - Ted's Tool Time
Code Generation with Groovy, Lombok, AutoValue and Immutables - Ted's Tool TimeCode Generation with Groovy, Lombok, AutoValue and Immutables - Ted's Tool Time
Code Generation with Groovy, Lombok, AutoValue and Immutables - Ted's Tool Time
 
Why Spring <3 Kotlin
Why Spring <3 KotlinWhy Spring <3 Kotlin
Why Spring <3 Kotlin
 
Overview of Android Infrastructure
Overview of Android InfrastructureOverview of Android Infrastructure
Overview of Android Infrastructure
 
Overview of Android Infrastructure
Overview of Android InfrastructureOverview of Android Infrastructure
Overview of Android Infrastructure
 
Fall in love with Kotlin
Fall in love with KotlinFall in love with Kotlin
Fall in love with Kotlin
 
Creating a Facebook Clone - Part XIX - Transcript.pdf
Creating a Facebook Clone - Part XIX - Transcript.pdfCreating a Facebook Clone - Part XIX - Transcript.pdf
Creating a Facebook Clone - Part XIX - Transcript.pdf
 
Programming with Kotlin
Programming with KotlinProgramming with Kotlin
Programming with Kotlin
 
Как приготовить std::system_error. Юрий Ефимочев. CoreHard Spring 2019
Как приготовить std::system_error. Юрий Ефимочев. CoreHard Spring 2019Как приготовить std::system_error. Юрий Ефимочев. CoreHard Spring 2019
Как приготовить std::system_error. Юрий Ефимочев. CoreHard Spring 2019
 
Effective Java. By materials of Josch Bloch's book
Effective Java. By materials of Josch Bloch's bookEffective Java. By materials of Josch Bloch's book
Effective Java. By materials of Josch Bloch's book
 
Building Mobile Apps with Android
Building Mobile Apps with AndroidBuilding Mobile Apps with Android
Building Mobile Apps with Android
 

More from NHN FORWARD

[2019] 패션 시소러스 기반 상품 특징 분석 시스템
[2019] 패션 시소러스 기반 상품 특징 분석 시스템[2019] 패션 시소러스 기반 상품 특징 분석 시스템
[2019] 패션 시소러스 기반 상품 특징 분석 시스템NHN FORWARD
 
[2019] 스몰 스텝: Android 렛츠기릿!
[2019] 스몰 스텝: Android 렛츠기릿![2019] 스몰 스텝: Android 렛츠기릿!
[2019] 스몰 스텝: Android 렛츠기릿!NHN FORWARD
 
딥러닝, 야 너도 할 수 있어(feat. PyTorch)
딥러닝, 야 너도 할 수 있어(feat. PyTorch)딥러닝, 야 너도 할 수 있어(feat. PyTorch)
딥러닝, 야 너도 할 수 있어(feat. PyTorch)NHN FORWARD
 
NHN 베이스캠프: 신입사원들은 무엇을 배우나요?
NHN 베이스캠프: 신입사원들은 무엇을 배우나요?NHN 베이스캠프: 신입사원들은 무엇을 배우나요?
NHN 베이스캠프: 신입사원들은 무엇을 배우나요?NHN FORWARD
 
[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기
[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기
[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기NHN FORWARD
 
[2019] 전기 먹는 하마의 다이어트 성공기 클라우드 데이터 센터의 에너지 절감 노력과 사례
[2019] 전기 먹는 하마의 다이어트 성공기   클라우드 데이터 센터의 에너지 절감 노력과 사례[2019] 전기 먹는 하마의 다이어트 성공기   클라우드 데이터 센터의 에너지 절감 노력과 사례
[2019] 전기 먹는 하마의 다이어트 성공기 클라우드 데이터 센터의 에너지 절감 노력과 사례NHN FORWARD
 
[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)
[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)
[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)NHN FORWARD
 
[2019] 아직도 돈 주고 DB 쓰나요? for Developer
[2019] 아직도 돈 주고 DB 쓰나요? for Developer[2019] 아직도 돈 주고 DB 쓰나요? for Developer
[2019] 아직도 돈 주고 DB 쓰나요? for DeveloperNHN FORWARD
 
[2019] 아직도 돈 주고 DB 쓰나요 for DBA
[2019] 아직도 돈 주고 DB 쓰나요 for DBA[2019] 아직도 돈 주고 DB 쓰나요 for DBA
[2019] 아직도 돈 주고 DB 쓰나요 for DBANHN FORWARD
 
[2019] 비주얼 브랜딩: Basic system
[2019] 비주얼 브랜딩: Basic system[2019] 비주얼 브랜딩: Basic system
[2019] 비주얼 브랜딩: Basic systemNHN FORWARD
 
[2019] 벅스 5.0 (feat. Kotlin, Jetpack)
[2019] 벅스 5.0 (feat. Kotlin, Jetpack)[2019] 벅스 5.0 (feat. Kotlin, Jetpack)
[2019] 벅스 5.0 (feat. Kotlin, Jetpack)NHN FORWARD
 
[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기
[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기
[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기NHN FORWARD
 
[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례
[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례
[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례NHN FORWARD
 
[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자
[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자
[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자NHN FORWARD
 
[2019] 200만 동접 게임을 위한 MySQL 샤딩
[2019] 200만 동접 게임을 위한 MySQL 샤딩[2019] 200만 동접 게임을 위한 MySQL 샤딩
[2019] 200만 동접 게임을 위한 MySQL 샤딩NHN FORWARD
 
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션NHN FORWARD
 
[2019] 글로벌 게임 서비스 노하우
[2019] 글로벌 게임 서비스 노하우[2019] 글로벌 게임 서비스 노하우
[2019] 글로벌 게임 서비스 노하우NHN FORWARD
 
[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인
[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인
[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인NHN FORWARD
 
[2019] 위치 기반 빅 데이터의 시각화와 지도
[2019] 위치 기반 빅 데이터의 시각화와 지도[2019] 위치 기반 빅 데이터의 시각화와 지도
[2019] 위치 기반 빅 데이터의 시각화와 지도NHN FORWARD
 
[2019] 웹 프레젠테이션 개발기: Dooray! 발표 모드 해부하기
[2019] 웹 프레젠테이션 개발기: Dooray! 발표 모드 해부하기[2019] 웹 프레젠테이션 개발기: Dooray! 발표 모드 해부하기
[2019] 웹 프레젠테이션 개발기: Dooray! 발표 모드 해부하기NHN FORWARD
 

More from NHN FORWARD (20)

[2019] 패션 시소러스 기반 상품 특징 분석 시스템
[2019] 패션 시소러스 기반 상품 특징 분석 시스템[2019] 패션 시소러스 기반 상품 특징 분석 시스템
[2019] 패션 시소러스 기반 상품 특징 분석 시스템
 
[2019] 스몰 스텝: Android 렛츠기릿!
[2019] 스몰 스텝: Android 렛츠기릿![2019] 스몰 스텝: Android 렛츠기릿!
[2019] 스몰 스텝: Android 렛츠기릿!
 
딥러닝, 야 너도 할 수 있어(feat. PyTorch)
딥러닝, 야 너도 할 수 있어(feat. PyTorch)딥러닝, 야 너도 할 수 있어(feat. PyTorch)
딥러닝, 야 너도 할 수 있어(feat. PyTorch)
 
NHN 베이스캠프: 신입사원들은 무엇을 배우나요?
NHN 베이스캠프: 신입사원들은 무엇을 배우나요?NHN 베이스캠프: 신입사원들은 무엇을 배우나요?
NHN 베이스캠프: 신입사원들은 무엇을 배우나요?
 
[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기
[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기
[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기
 
[2019] 전기 먹는 하마의 다이어트 성공기 클라우드 데이터 센터의 에너지 절감 노력과 사례
[2019] 전기 먹는 하마의 다이어트 성공기   클라우드 데이터 센터의 에너지 절감 노력과 사례[2019] 전기 먹는 하마의 다이어트 성공기   클라우드 데이터 센터의 에너지 절감 노력과 사례
[2019] 전기 먹는 하마의 다이어트 성공기 클라우드 데이터 센터의 에너지 절감 노력과 사례
 
[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)
[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)
[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)
 
[2019] 아직도 돈 주고 DB 쓰나요? for Developer
[2019] 아직도 돈 주고 DB 쓰나요? for Developer[2019] 아직도 돈 주고 DB 쓰나요? for Developer
[2019] 아직도 돈 주고 DB 쓰나요? for Developer
 
[2019] 아직도 돈 주고 DB 쓰나요 for DBA
[2019] 아직도 돈 주고 DB 쓰나요 for DBA[2019] 아직도 돈 주고 DB 쓰나요 for DBA
[2019] 아직도 돈 주고 DB 쓰나요 for DBA
 
[2019] 비주얼 브랜딩: Basic system
[2019] 비주얼 브랜딩: Basic system[2019] 비주얼 브랜딩: Basic system
[2019] 비주얼 브랜딩: Basic system
 
[2019] 벅스 5.0 (feat. Kotlin, Jetpack)
[2019] 벅스 5.0 (feat. Kotlin, Jetpack)[2019] 벅스 5.0 (feat. Kotlin, Jetpack)
[2019] 벅스 5.0 (feat. Kotlin, Jetpack)
 
[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기
[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기
[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기
 
[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례
[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례
[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례
 
[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자
[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자
[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자
 
[2019] 200만 동접 게임을 위한 MySQL 샤딩
[2019] 200만 동접 게임을 위한 MySQL 샤딩[2019] 200만 동접 게임을 위한 MySQL 샤딩
[2019] 200만 동접 게임을 위한 MySQL 샤딩
 
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션
 
[2019] 글로벌 게임 서비스 노하우
[2019] 글로벌 게임 서비스 노하우[2019] 글로벌 게임 서비스 노하우
[2019] 글로벌 게임 서비스 노하우
 
[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인
[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인
[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인
 
[2019] 위치 기반 빅 데이터의 시각화와 지도
[2019] 위치 기반 빅 데이터의 시각화와 지도[2019] 위치 기반 빅 데이터의 시각화와 지도
[2019] 위치 기반 빅 데이터의 시각화와 지도
 
[2019] 웹 프레젠테이션 개발기: Dooray! 발표 모드 해부하기
[2019] 웹 프레젠테이션 개발기: Dooray! 발표 모드 해부하기[2019] 웹 프레젠테이션 개발기: Dooray! 발표 모드 해부하기
[2019] 웹 프레젠테이션 개발기: Dooray! 발표 모드 해부하기
 

Recently uploaded

Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 

Recently uploaded (20)

Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 

Android Projects Data Analysis