SlideShare a Scribd company logo
1 of 138
Download to read offline
I/O '17 extended Incheon
Android
노현석 Pluu
GDG Korea Android Organizer
권태환 taehwan
GDG Seoul Organizer
정현지 hyundee
GDG Korea Android Organizer
Android Extended
in I/O '17
pluu
New Features
Android Android Studio Suppoty Library KotlinAndroid Studio Support Library
Android O
Picture in Picture
Not just for Android TV
anymore
Color managemenet
wide-gamut, 16 bit PNG
Multi-display
Multi-window = multi-display
WebView
Google Safe Browsing API
AnimatorSet
setCurrentPlayTime,
reverse
Autofill Fonts
font-family, Downloadable
Auto-Sizing TextView
Castaway Adaptive Icons notifications
notification channels
Google Play Protect
Android O
Kotlin Java Programming
Language Updates
java.time, java.nio.file,
java.lang.invoke
Support Library v26 Physics Animation
Architecture
Components
Behavior Changes
Android O
Picture in Picture
Android TV 기능 추가, 멀티태스킹 향상
<activity android:name=".PipActivity"
android:resizeableActivity="true"
android:supportsPictureInPicture="true"
android:configChanges="..."
public void onActionClicked(Action action) {
if (action.getId() == R.id.start_pip) {
getActivity().enterPictureInPictureMode();
}
}
Autofill
Chrome의 자동완성 기능
Settings > Apps & Notifications > Default apps > Autofill app.
Fonts
Features Use API
res/font,
font-familiy
Built-in,
Downloadable
O,
Support Library 14+
Play Services
v11+
Autosizing TextViews
Autosizing TextVies
Default Granularity
● autoSizeMinTextSize
● autoSizeMaxTextSize
● autoSizeStepGranularity
● autoSizePresetSizes
<TextView
...
android:autoSizeTextType="uniform"
/>
Castaway
// View.java : public <T extends View> findViewById(int id)
TextView tv = findViewById(R.id.mytextview);
Adaptive Icons
Background + Foreground + Mask
Notification
Notification Channel, Notification Badges
Target O (API 26) 사용한 경우
Notification Channel 이 필수
미사용한 경우, 삭제처리
Google Play Protect
Google Play Store / 다른 Store /
ADB를 통한 설치한 앱이 해당
Android O Google I/O
Extended in Seoul
Android O Overview
안드로이드 O 변경사항
Android Architecture Components
Lifecycle Components, LiveData,
ViewModel, Room
Google I/O
Extended in Seoul
Android
Studio
Android Studio 3.0
Release Canary 3, IntelliJ 2017.1
Kotlin
Convert
[Code] - [Convert
Java File to Kotlin
File]
New
Project / File
Show Kotlin Bytecode
Bytecode to Decompile
Java 8 Language features
Java 8
Language
features
Jack and Jill
Java 8 Language features
Layout Editor
Drag-And-Drop, New Error Panel, ConstraintLayout
Sample Resource Type
tools:src="@sample/activity.json/activities/icon"
tools:text="@sample/activity.json/activities/description"
{
"activities": [
{
"icon": "@sample/activity_icons[ic_biking.png]",
"description": "Biking",
"location": "Pleasant Hill, CA",
"distance": "48 miles",
"date": "Yesterday"
},
...
]
}
Fonts
Downloadable
Fonts
XML fonts Preview
Adaptive Icons
Instant App
feature modules
APK Analyzer
Load Proguard Mapping,
Show Bytecode
APK Debugging
Profile or Debug an APK
Network Profiler
Support HttpUrlConnection,
OkHttp, Volley
CPU Profiler
CPU trace를 사용해 CPU
스레드 사용을 분석
Memory Profiler
Memory 할당, Heap Dump
등을 이용하여 다양하게
분석
Google’s Maven Repository
repositories {
maven { url "https://maven.google.com" }
or
google() // 4.0-milestone-2 or later
}
Gradle plugin
Support Libraries
Data-Binding Library
Constraint Layout
Instant App Library
Architecture Components
Android Testing Libraries
Espresso
Flavor
flavor가 하나라도 존재하는 경우 flavorDimension 정의는 필수
Android Emulator
Google Play Store
OpenGL 3.0
Proxy Support
Updatable
resource : https://medium.com/@wasyl/make-your-gradle-builds-fast-again-ea323ce6a435
Speeding Up Your Android Gradle
Builds (Google I/O '17)
Tip for faster development builds
Full build
Increment build
java change
Increment build
resource change
59s → 19s 24s → 2s 15s → 4.5s
3X faster 12X faster 3X faster
https://www.youtube.com/watch?v=7ll-rkLCtyk
Android
Support Library
Google I/O extended
2016 Incheon
Android Developemnt ~ 과거와 현재와 미래
Dropping for APIs bleow 9
minSdkVersion=”14”
Dropping for APIs
ViewCompat.setPivotX(myView, pivotX);
// migrates to
myView.setPivotX(pivotX);
Example
Google Maven Repository
maven {
url "https://maven.google.com"
}
Fonts in XML
R.font.myfont
myfont.xml
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font app:fontStyle="normal" app:fontWeight="400"
app:font="@font/myfont-regular" />
<font app:fontStyle="normal" app:fontWeight="800"
app:font="@font/myfont-bold" />
</font-family>
<TextView ...
android:fontFamily="@font/myfont"
android:textStyle="bold" />
<style name="myfontstyle">
<item name="android:fontFamily">@font/myfont</item>
</style>
Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);
textView.setTypeface(typeface);
API 14+
Before Fonts
App
Font File
최적화되지 않은 폰트
다른 앱에 동일한 폰트 존재하는지
확인 불가능
Font Provider
Download, Cache
Google Play Services
Google Fonts
FontRequest request = new FontRequest(
"com.example.fontprovider.authority",
"com.example.fontprovider",
"Name of font",
R.array.certs);
FontsContractCompat.FontRequestCallback callback =
new FontsContractCompat.FontRequestCallback() {
@Override
public void onTypefaceRetrieved(Typeface typeface) {}
@Override
public void onTypefaceRequestFailed(int reason) {}
}
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
android:fontProviderAuthority="com.example.fontprovider.authority"
android:fontProviderPackage="com.example.fontprovider"
android:fontProviderQuery="example font"
android:fontProviderCerts="@array/certs">
</font-family>
API 14+
⊠ →
Emoji Support Library
Downloaded configuration
dependencies {
…
compile “com.android.support:support-emoji:$version”
}
FontRequest request = new FontRequest(
"com.example.fontprovider.authority",
"com.example.fontprovider",
"Name of font",
R.array.certs);
EmojiCompat.Config config = new FontRequstEmojiCompatConfig(
this, fontRequest);
EmojiCompat.init(config);
Bundled configuration - 7MB
dependencies {
…
compile “com.android.support:support-emoji-bundled:$version”
}
EmojiCompat.Config config = new FontRequstEmojiCompatConfig(this);
EmojiCompat.init(config);
<android.support.text.emoji.widget.EmojiAppCompatTextView
…
android:text=” ”/>
API 19+
Autosizing TextViews API 14+
<TextView
…
android:text=”@string/hello”
app:autoSizeTextType=”uniform”
app:autoSizePresetSizes=”@array/autosize_sizes”/>
<TextView
…
android:text=”@string/hello”
app:autoSizeTextType=”uniform”
app:autoSizeMinTextSize=”12sp”
app:autoSizeMaxTextSize=”100sp”
app:autoSizeStepGranularity=”2sp”/>
What's New in Android (Google I/O '17)
What's New in Android Development Tools
(Google I/O '17)
What's New in Android Support Library (Google
I/O '17)
I/O '17 extended Incheon
Kotlin
권태환 taehwan
GDG Seoul Organizer
정현지 hyundee
GDG Korea Android Organizer
Kotlin Intro
taehwan
Kotlin
Jetbrains Kotlin
Kotlin
2011년 7월에 처음 발표
2012년 1월 Dr.Dobb’s Journal에 처음 소개
2012년 2월 Apache 2 license 적용
2016년 2월 v1.0 release
2017년 3월 v1.1 release
2017. 05. Google I/O
Kotlin - Compatibility
JDK 6을 완벽 지원
Android 구 버전을 완벽히 커버
안드로이드 스튜디오를 통해 완벽한 툴링과 빌드 시스템을 제공
Kotlin - Performance
Java와 유사한 형태의 bytecode 구조로 인해 빠르게 앱이 동작
inline function/lambdas/stream 등을 지원
Kotlin - Interoperability
Java와 100% 호환
모든 java 라이브러리 사용 가능
annotation processing/databinding and Dagger
Kotlin - Footprint
10만개 미만의 메소드 카운트
심플한 런타임
프로가드를 제공하기에 메소드 카운트 걱정 없음
Kotlin - Compilation Time
효율적인 컴파일을 위한 분할 빌드 제공
Java보다 빠른 빌드도 제공
Kotlin - Learning Curve
이미 Java 개발자라면 매우 쉽게 접근
자동 컨버팅을 통해 빠른 학습 가능
Finally
+
Finally
Finally
Kotlin
Kotlin
basic-syntax
Basic syntax - mutable
String name = "name";
Basic syntax - mutable
String name = "name";
var name: String = "name"
Basic syntax - mutable
String name = "name";
var name: String = "name"
var name = "name"
Basic syntax - inmutable
final String title = "name";
Basic syntax - inmutable
final String title = "name";
val name: String = "name"
Basic syntax - inmutable
final String title = "name";
val name: String = "name"
val name = "name"
Basic syntax - mutable/inmutable
String name = "name";
var name: String = "name"
var name = "name"
final String title = "name";
val name: String = "name"
val name = "name"
Basic syntax - function
public String getName() {
return "name";
}
Basic syntax - function
public String getName() {
return "name";
}
fun getName(): String {
return "name"
}
Basic syntax - function
public String getName() {
return "name";
}
fun getName(): String {
return "name"
}
fun getName(): String = "name"
Basic syntax - function
public String getName() {
return "name";
}
fun getName(): String {
return "name"
}
fun getName(): String = "name"
fun getName() = "name"
Basic syntax - onClickListener
Button button = new Button(this);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setBackgroundColor(Color.BLACK);
}
});
Basic syntax - onClickListener
Button button = new Button(this);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setBackgroundColor(Color.BLACK);
}
});
val button = Button(this)
button.setOnClickListener { v -> v.setBackgroundColor(Color.BLACK) }
Basic syntax - onClickListener
Button button = new Button(this);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setBackgroundColor(Color.BLACK);
}
});
val button = Button(this)
button.setOnClickListener { v -> v.setBackgroundColor(Color.BLACK) }
val button = Button(this)
button.setOnClickListener { it.setBackgroundColor(Color.BLACK) }
Etc
Short demo
Introduction to Kotlin
(Google I/O '17)
Life is great and everything will be
ok, Kotlin is here
(Google I/O '17)
Kotlin
hyundee
Kotlin을 적용해보자?!
정현지 hyundee
GDG Korea Android Organizer
물론 까나리를 쓰시면 더 좋습니다..ㅎ
그럼 본격적으로 kotlin 개인프로젝트 코드를
보시겠습니다.
https://github.com/hyunji92/ImageSearch
코드 살펴보기 영상
퍼레이드
https://www.youtube.com/watch?v=GE-50ymxONk
https://www.youtube.com/watch?v=1zFm4uzAEe4
https://www.youtube.com/watch?v=r7_Jv-lquAg
https://www.youtube.com/watch?v=IPs6Qh_RcwQ
https://www.youtube.com/watch?v=k0ctFMdM27Y
See you next year

More Related Content

What's hot

Gae managed vm introduction
Gae managed vm introductionGae managed vm introduction
Gae managed vm introductionKAI CHU CHUNG
 
Continuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCPContinuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCPKAI CHU CHUNG
 
Django oscar introduction
Django oscar introductionDjango oscar introduction
Django oscar introductionKAI CHU CHUNG
 
Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...
Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...
Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...Chris Fregly
 
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...Chris Fregly
 
Configuring Highly Scalable Compile Masters, Vasco Cardoso, AWS
Configuring Highly Scalable Compile Masters, Vasco Cardoso, AWSConfiguring Highly Scalable Compile Masters, Vasco Cardoso, AWS
Configuring Highly Scalable Compile Masters, Vasco Cardoso, AWSPuppet
 
Nas 也可以揀土豆
Nas 也可以揀土豆Nas 也可以揀土豆
Nas 也可以揀土豆KAI CHU CHUNG
 
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...Chris Fregly
 
Mete Atamel
Mete AtamelMete Atamel
Mete AtamelCodeFest
 
Managing dependencies with gradle
Managing dependencies with gradleManaging dependencies with gradle
Managing dependencies with gradleLiviu Tudor
 
Mobile development in 2020
Mobile development in 2020 Mobile development in 2020
Mobile development in 2020 Bogusz Jelinski
 
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?Julian Robichaux
 
Sleep Peacefully as Maven Tycho Builds your Product
Sleep Peacefully as Maven Tycho Builds your ProductSleep Peacefully as Maven Tycho Builds your Product
Sleep Peacefully as Maven Tycho Builds your ProductSubramanyam C
 
行動應用開發實務 - Gradle 介紹
行動應用開發實務 - Gradle 介紹行動應用開發實務 - Gradle 介紹
行動應用開發實務 - Gradle 介紹Kyle Lin
 
Introduction to Groovy Monkey
Introduction to Groovy MonkeyIntroduction to Groovy Monkey
Introduction to Groovy Monkeyjervin
 

What's hot (20)

Gae managed vm introduction
Gae managed vm introductionGae managed vm introduction
Gae managed vm introduction
 
Continuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCPContinuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCP
 
How to Make Android Native Application
How to Make Android Native ApplicationHow to Make Android Native Application
How to Make Android Native Application
 
Django oscar introduction
Django oscar introductionDjango oscar introduction
Django oscar introduction
 
How to Add Original Library to Android NDK
How to Add Original Library to Android NDKHow to Add Original Library to Android NDK
How to Add Original Library to Android NDK
 
Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...
Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...
Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...
 
How to Use OpenGL/ES on Native Activity
How to Use OpenGL/ES on Native ActivityHow to Use OpenGL/ES on Native Activity
How to Use OpenGL/ES on Native Activity
 
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
 
Configuring Highly Scalable Compile Masters, Vasco Cardoso, AWS
Configuring Highly Scalable Compile Masters, Vasco Cardoso, AWSConfiguring Highly Scalable Compile Masters, Vasco Cardoso, AWS
Configuring Highly Scalable Compile Masters, Vasco Cardoso, AWS
 
Nas 也可以揀土豆
Nas 也可以揀土豆Nas 也可以揀土豆
Nas 也可以揀土豆
 
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 
Gradle in 45min
Gradle in 45minGradle in 45min
Gradle in 45min
 
Pc54
Pc54Pc54
Pc54
 
Managing dependencies with gradle
Managing dependencies with gradleManaging dependencies with gradle
Managing dependencies with gradle
 
Mobile development in 2020
Mobile development in 2020 Mobile development in 2020
Mobile development in 2020
 
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
 
Sleep Peacefully as Maven Tycho Builds your Product
Sleep Peacefully as Maven Tycho Builds your ProductSleep Peacefully as Maven Tycho Builds your Product
Sleep Peacefully as Maven Tycho Builds your Product
 
行動應用開發實務 - Gradle 介紹
行動應用開發實務 - Gradle 介紹行動應用開發實務 - Gradle 介紹
行動應用開發實務 - Gradle 介紹
 
Introduction to Groovy Monkey
Introduction to Groovy MonkeyIntroduction to Groovy Monkey
Introduction to Groovy Monkey
 

Similar to Google io extended '17 인천

Scripting Oracle Develop 2007
Scripting Oracle Develop 2007Scripting Oracle Develop 2007
Scripting Oracle Develop 2007Tugdual Grall
 
Play Framework on Google App Engine
Play Framework on Google App EnginePlay Framework on Google App Engine
Play Framework on Google App EngineFred Lin
 
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...Vadym Kazulkin
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Enginecatherinewall
 
From Java to Kotlin - The first month in practice
From Java to Kotlin - The first month in practiceFrom Java to Kotlin - The first month in practice
From Java to Kotlin - The first month in practiceStefanTomm
 
XML-Free Programming : Java Server and Client Development without &lt;>
XML-Free Programming : Java Server and Client Development without &lt;>XML-Free Programming : Java Server and Client Development without &lt;>
XML-Free Programming : Java Server and Client Development without &lt;>Arun Gupta
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0Eric Wendelin
 
It's always your fault. Poznań ADG 2016
It's always your fault. Poznań ADG 2016It's always your fault. Poznań ADG 2016
It's always your fault. Poznań ADG 2016Przemek Jakubczyk
 
Ignacy Kowalczyk
Ignacy KowalczykIgnacy Kowalczyk
Ignacy KowalczykCodeFest
 
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...Building Blocks
 
Phone gap 12 things you should know
Phone gap 12 things you should knowPhone gap 12 things you should know
Phone gap 12 things you should knowISOCHK
 
Workflow automation for Front-end web applications
Workflow automation for Front-end web applicationsWorkflow automation for Front-end web applications
Workflow automation for Front-end web applicationsMayank Patel
 
Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments Pavel Kaminsky
 
SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진VMware Tanzu Korea
 
Web Development Foundation & Team Collaboration
Web Development Foundation & Team CollaborationWeb Development Foundation & Team Collaboration
Web Development Foundation & Team CollaborationSupanat Potiwarakorn
 
Introduction to JIB and Google Cloud Run
Introduction to JIB and Google Cloud RunIntroduction to JIB and Google Cloud Run
Introduction to JIB and Google Cloud RunSaiyam Pathak
 
Building JBoss AS 7 for Fedora
Building JBoss AS 7 for FedoraBuilding JBoss AS 7 for Fedora
Building JBoss AS 7 for Fedorawolfc71
 

Similar to Google io extended '17 인천 (20)

Scripting Oracle Develop 2007
Scripting Oracle Develop 2007Scripting Oracle Develop 2007
Scripting Oracle Develop 2007
 
Play Framework on Google App Engine
Play Framework on Google App EnginePlay Framework on Google App Engine
Play Framework on Google App Engine
 
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
From Java to Kotlin - The first month in practice
From Java to Kotlin - The first month in practiceFrom Java to Kotlin - The first month in practice
From Java to Kotlin - The first month in practice
 
XML-Free Programming : Java Server and Client Development without &lt;>
XML-Free Programming : Java Server and Client Development without &lt;>XML-Free Programming : Java Server and Client Development without &lt;>
XML-Free Programming : Java Server and Client Development without &lt;>
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0
 
It's always your fault. Poznań ADG 2016
It's always your fault. Poznań ADG 2016It's always your fault. Poznań ADG 2016
It's always your fault. Poznań ADG 2016
 
Play framework
Play frameworkPlay framework
Play framework
 
Ignacy Kowalczyk
Ignacy KowalczykIgnacy Kowalczyk
Ignacy Kowalczyk
 
Griffon Presentation
Griffon PresentationGriffon Presentation
Griffon Presentation
 
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
 
Phone gap 12 things you should know
Phone gap 12 things you should knowPhone gap 12 things you should know
Phone gap 12 things you should know
 
Workflow automation for Front-end web applications
Workflow automation for Front-end web applicationsWorkflow automation for Front-end web applications
Workflow automation for Front-end web applications
 
Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments
 
SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진
 
January 2011 HUG: Pig Presentation
January 2011 HUG: Pig PresentationJanuary 2011 HUG: Pig Presentation
January 2011 HUG: Pig Presentation
 
Web Development Foundation & Team Collaboration
Web Development Foundation & Team CollaborationWeb Development Foundation & Team Collaboration
Web Development Foundation & Team Collaboration
 
Introduction to JIB and Google Cloud Run
Introduction to JIB and Google Cloud RunIntroduction to JIB and Google Cloud Run
Introduction to JIB and Google Cloud Run
 
Building JBoss AS 7 for Fedora
Building JBoss AS 7 for FedoraBuilding JBoss AS 7 for Fedora
Building JBoss AS 7 for Fedora
 

Recently uploaded

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Google io extended '17 인천