SlideShare uma empresa Scribd logo
1 de 94
Baixar para ler offline
Programming Android
 Application in Scala
  BrianHsu / OSDC.2010
關於我
墳墓 (BrianHsu)
表面上

軟體工程師
實際上

萌系阿宅
入用
侵萌
藍化
星的
是手
也機
僕我
     了最    寫
     !喜    




           Android
      歡
      女    
           
           
全我
都要
是讓
          是萌
女手
僕上
          燃程
!機        的式
用 Java 寫程式卻燃不起來
高手大師兄
聽說高手都要精通 Multiple Language……
ASE+Ruby/Python/Perl
寫作
Dynamic Scripting
   Language
唸作
快、狠、準
等等
還要先裝 Runtime 啊?
等等
動態型別?
def boom
    puts "Hello World"
end

puts " 一個小小的 typo"
booom




執行期爆炸
結論
我是懦夫
不敢用 ASE
What is Scala?
樓
梯
A Postfunctional
Programming Language
on Java Virtual Machine
Compile to
JVM .class Byte Code
理論上


   Full Java
Interoperability
可以直接拿來寫
Android Application
What is Scala?
A Scalable Language
會隨 User 變形的程式語言
A Scalable Language
A Scalable Language
Why Scala?
三個願望一次滿足
REPL
Scripting
Compiling
REPL
Scripting
Compiling
三個願望一次滿足
Procedure

Object Oriented

  Functional
Procedure Programming
Object Oriented Programming
Functional Programming
三個願望一次滿足
Concise
Static Typing
Duck Typing
Concise (Ruby)
Concise (Scala)
Static Typing (Ruby)
Static Typing (Scala)
真、 Duck Typing (Ruby)
偽‧ Duck Typing (Scala)
結論
有 Scala 、無懦夫
僕我    用
     了最
           




           Scala
     !喜
      歡
      女
           
           
           寫
全我
都要
          是萌
是讓
女手
          燃程
僕上
!機
          的式
Scala vs Java
Scala compared to Java


     Scala adds                        Scala removes
     + a pure object system            - static members
     + operator overloading            - primitive types
     + closures                        - break, continue
     + mixin composition with traits   - special treatment of interfaces
     + existential types               - wildcards
     + abstract types                  -   raw types
     + pattern matching                -   enums


 Modeled in libraries:
  assert, enums, properties, events, actors, using, queries, …
Scala cheat sheet (1): Definitions

Scala method definitions:     Java method definition:

def fun(x: Int): Int = {      int fun(int x) {
  result                        return result
}                             }

def fun = result              (no parameterless methods)

Scala variable definitions:   Java variable definitions:

var x: Int = expression       int x = expression
val x: String = expression    final String x = expression
Scala cheat sheet (2): Expressions

 Scala method calls:          Java method call:
 obj.meth(arg)                obj.meth(arg)
 obj meth arg                 (no operator overloading)
 Scala choice expressions:
                              Java choice expressions, stmts:
 if (cond) expr1 else expr2
                              cond ? expr1 : expr2
                              if (cond) return expr1;
                              else return expr2;
 expr match {
   case pat1 => expr1
                              switch (expr) {
   ....                          case pat1 : return expr1;
   case patn => exprn            ...
 }                               case patn : return exprn ;
                              } // statement only
Scala cheat sheet (3): Objects and Classes


 Scala Class and Object               Java Class with statics
                                      class Sample {
 class Sample(x: Int, val p: Int) {     private final int x;
   def instMeth(y: Int) = x + y         public final int p;
 }                                      Sample(int x, int p) {
                                          this.x = x;
 object Sample {                          this.p = p;
   def staticMeth(x: Int, y: Int) =     }
     x*y                                int instMeth(int y) {
 }                                         return x + y;
                                        }
                                        static int staticMeth(int x, int y) {
                                           return x * y;
                                        }
                                      }
Scala cheat sheet (4): Traits

                                       Java Interface
 Scala Trait

 trait T {                             interface T {
                                          int abstractMth(String x)
     def abstractMth(x: String): Int
                                       }
     def concreteMth(x: String) =
       x + field                       (no concrete methods)
     var field = “!”
                                       (no fields)
 }

                                       Java extension + implementation:
 Scala mixin composition:
                                       class C extends Super implements T
 class C extends Super with T
當機器人爬上樓梯
Android Application
     開發流程
Java / ANT
$ android create project -p …
$ vim .....
$ ant install
http://asantoso.wordpress.com/2009/09/15/how-to-build-android-application-package-
apk-from-the-command-line-using-the-sdk-tools-continuously-integrated-using-
cruisecontrol/
http://asantoso.wordpress.com/2009/09/15/how-to-build-android-application-package-
apk-from-the-command-line-using-the-sdk-tools-continuously-integrated-using-
cruisecontrol/
How?
XML 地獄


ANT
Perfect


SBT
Simple Build Tool
以 Scala 為
Host Language
Rake=>Ruby
SBT =>Scala
不用任何設定
支援連續編譯
Android-Plugin
android-plugin
http://github.com/jberkel/android-plugin




project/build/MyProject.scala
android-plugin
我不會用

功能完整
阿宅的通病

自己寫一個
sbt-android




project/build/MyProject.scala
sbt-android




project/plugins/Plugins.scala
Live Demo
Install SBT/SBT-Android
●
    Install SBT
    ●
        http://code.google.com/p/simple-build-tool/
●
    Download SBT-Android
    ●   $ git clone http://github.com/brianhsu/sbt-android.git
●
    Install SBT-Android
    ●
        $ cd sbt-android
    ●
        $ sbt publish-local
Create Android/Scala Project
●
    Create SBT project
    ●   $ mkdir AndroidTest
    ●   $ cd AndroidTest
    ●
        $ sbt
    ●
        Edit project/build/MyProject.scala
    ●
        Edit project/plugins/Plugins.scala
    ●   $ sbt update
Android/Scala Project Struture
Build Scala/Android Project
●
    $ sbt action
●
    $ sbt install
    ●
        $   sbt android-compile
    ●
        $   sbt proguard
    ●   $   sbt zipalign
    ●   $   ...
Scala in Android
Trait 是好幫手
SQL 再見!
Collection 最高!
善用偽 Duck Typing
結論

可以把 Java 丟了……應該唄?
等等,這是孔明的陷阱!
Scala 的限制與臭蟲
●
    限制
    ●   Cannot acess static protected Java field.
        –   對不起, Google Maps API 用到了。
●
    臭蟲
    ●
        Static Java Inner class 造成 classfile borken /
                                                    Missing dependency


        missing dependcy
        –   Google Maps API 踩到地雷了
    ●   Cyclic dependcy
        –   Google Data API 中計了
        –   以於 Scala 2.8 main trunk 中修正
●
    解決方式
    ●   用 Java 寫個 Wrapper 唄
Thanks!

Mais conteúdo relacionado

Mais procurados

An Introduction to Scala for Java Developers
An Introduction to Scala for Java DevelopersAn Introduction to Scala for Java Developers
An Introduction to Scala for Java DevelopersMiles Sabin
 
Solid and Sustainable Development in Scala
Solid and Sustainable Development in ScalaSolid and Sustainable Development in Scala
Solid and Sustainable Development in Scalascalaconfjp
 
Scaladroids: Developing Android Apps with Scala
Scaladroids: Developing Android Apps with ScalaScaladroids: Developing Android Apps with Scala
Scaladroids: Developing Android Apps with ScalaOstap Andrusiv
 
JavaScript Foundations Day1
JavaScript Foundations Day1JavaScript Foundations Day1
JavaScript Foundations Day1Troy Miles
 
Starting with Scala : Frontier Developer's Meetup December 2010
Starting with Scala : Frontier Developer's Meetup December 2010Starting with Scala : Frontier Developer's Meetup December 2010
Starting with Scala : Frontier Developer's Meetup December 2010Derek Chen-Becker
 
Railroading into Scala
Railroading into ScalaRailroading into Scala
Railroading into ScalaNehal Shah
 
Introduction to Scala for JCConf Taiwan
Introduction to Scala for JCConf TaiwanIntroduction to Scala for JCConf Taiwan
Introduction to Scala for JCConf TaiwanJimin Hsieh
 
Scala categorytheory
Scala categorytheoryScala categorytheory
Scala categorytheoryKnoldus Inc.
 
Stepping Up : A Brief Intro to Scala
Stepping Up : A Brief Intro to ScalaStepping Up : A Brief Intro to Scala
Stepping Up : A Brief Intro to ScalaDerek Chen-Becker
 

Mais procurados (19)

All about scala
All about scalaAll about scala
All about scala
 
An Introduction to Scala for Java Developers
An Introduction to Scala for Java DevelopersAn Introduction to Scala for Java Developers
An Introduction to Scala for Java Developers
 
Scala on Android
Scala on AndroidScala on Android
Scala on Android
 
scala
scalascala
scala
 
Solid and Sustainable Development in Scala
Solid and Sustainable Development in ScalaSolid and Sustainable Development in Scala
Solid and Sustainable Development in Scala
 
Scaladroids: Developing Android Apps with Scala
Scaladroids: Developing Android Apps with ScalaScaladroids: Developing Android Apps with Scala
Scaladroids: Developing Android Apps with Scala
 
JavaScript Foundations Day1
JavaScript Foundations Day1JavaScript Foundations Day1
JavaScript Foundations Day1
 
Starting with Scala : Frontier Developer's Meetup December 2010
Starting with Scala : Frontier Developer's Meetup December 2010Starting with Scala : Frontier Developer's Meetup December 2010
Starting with Scala : Frontier Developer's Meetup December 2010
 
Railroading into Scala
Railroading into ScalaRailroading into Scala
Railroading into Scala
 
Workshop Scala
Workshop ScalaWorkshop Scala
Workshop Scala
 
Introduction to Scala for JCConf Taiwan
Introduction to Scala for JCConf TaiwanIntroduction to Scala for JCConf Taiwan
Introduction to Scala for JCConf Taiwan
 
Scala Intro
Scala IntroScala Intro
Scala Intro
 
Scala vs java 8
Scala vs java 8Scala vs java 8
Scala vs java 8
 
Scala categorytheory
Scala categorytheoryScala categorytheory
Scala categorytheory
 
Scala
ScalaScala
Scala
 
Scala - brief intro
Scala - brief introScala - brief intro
Scala - brief intro
 
Scala ntnu
Scala ntnuScala ntnu
Scala ntnu
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Stepping Up : A Brief Intro to Scala
Stepping Up : A Brief Intro to ScalaStepping Up : A Brief Intro to Scala
Stepping Up : A Brief Intro to Scala
 

Destaque

Android Development: The Basics
Android Development: The BasicsAndroid Development: The Basics
Android Development: The BasicsMike Desjardins
 
Introduction to Scala
Introduction to ScalaIntroduction to Scala
Introduction to ScalaBrian Hsu
 
Open document presentation
Open document presentationOpen document presentation
Open document presentationphpcurious
 
Android Coding Standered
Android Coding StanderedAndroid Coding Standered
Android Coding StanderedRavi Shankar
 
Android Apps for Absolute Beginners
Android Apps for Absolute BeginnersAndroid Apps for Absolute Beginners
Android Apps for Absolute BeginnersVaclav Hnizda
 
App Smashing for Beginners
App Smashing for BeginnersApp Smashing for Beginners
App Smashing for BeginnersDiana Benner
 
Scala For Java Programmers
Scala For Java ProgrammersScala For Java Programmers
Scala For Java ProgrammersEnno Runne
 
Architect Concept - .NET Interview Senior / Mid Level
Architect Concept - .NET Interview Senior / Mid Level Architect Concept - .NET Interview Senior / Mid Level
Architect Concept - .NET Interview Senior / Mid Level Asher Jawad
 
Scala vs Java 8 in a Java 8 World
Scala vs Java 8 in a Java 8 WorldScala vs Java 8 in a Java 8 World
Scala vs Java 8 in a Java 8 WorldBTI360
 
JDays Lviv 2014: Java8 vs Scala: Difference points & innovation stream
JDays Lviv 2014:  Java8 vs Scala:  Difference points & innovation streamJDays Lviv 2014:  Java8 vs Scala:  Difference points & innovation stream
JDays Lviv 2014: Java8 vs Scala: Difference points & innovation streamRuslan Shevchenko
 
Beginners guide to creating mobile apps
Beginners guide to creating mobile appsBeginners guide to creating mobile apps
Beginners guide to creating mobile appsJames Quick
 
Android Course - Lesson5
 Android Course - Lesson5 Android Course - Lesson5
Android Course - Lesson5Callum Taylor
 
Android App Development Tips for Beginners
Android App Development Tips for BeginnersAndroid App Development Tips for Beginners
Android App Development Tips for BeginnersZoftino
 
Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...
Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...
Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...Sunil Nair
 
Android Development: Build Android App from Scratch
Android Development: Build Android App from ScratchAndroid Development: Build Android App from Scratch
Android Development: Build Android App from ScratchTaufan Erfiyanto
 

Destaque (20)

Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Android Development: The Basics
Android Development: The BasicsAndroid Development: The Basics
Android Development: The Basics
 
Android ppt
Android ppt Android ppt
Android ppt
 
Introduction to Scala
Introduction to ScalaIntroduction to Scala
Introduction to Scala
 
Designing Ruby APIs
Designing Ruby APIsDesigning Ruby APIs
Designing Ruby APIs
 
Open document presentation
Open document presentationOpen document presentation
Open document presentation
 
Android Coding Standered
Android Coding StanderedAndroid Coding Standered
Android Coding Standered
 
Android
AndroidAndroid
Android
 
Android Apps for Absolute Beginners
Android Apps for Absolute BeginnersAndroid Apps for Absolute Beginners
Android Apps for Absolute Beginners
 
App Smashing for Beginners
App Smashing for BeginnersApp Smashing for Beginners
App Smashing for Beginners
 
Scala For Java Programmers
Scala For Java ProgrammersScala For Java Programmers
Scala For Java Programmers
 
Architect Concept - .NET Interview Senior / Mid Level
Architect Concept - .NET Interview Senior / Mid Level Architect Concept - .NET Interview Senior / Mid Level
Architect Concept - .NET Interview Senior / Mid Level
 
Scala vs Java 8 in a Java 8 World
Scala vs Java 8 in a Java 8 WorldScala vs Java 8 in a Java 8 World
Scala vs Java 8 in a Java 8 World
 
JDays Lviv 2014: Java8 vs Scala: Difference points & innovation stream
JDays Lviv 2014:  Java8 vs Scala:  Difference points & innovation streamJDays Lviv 2014:  Java8 vs Scala:  Difference points & innovation stream
JDays Lviv 2014: Java8 vs Scala: Difference points & innovation stream
 
Beginners guide to creating mobile apps
Beginners guide to creating mobile appsBeginners guide to creating mobile apps
Beginners guide to creating mobile apps
 
Android Course - Lesson5
 Android Course - Lesson5 Android Course - Lesson5
Android Course - Lesson5
 
Android App Development Tips for Beginners
Android App Development Tips for BeginnersAndroid App Development Tips for Beginners
Android App Development Tips for Beginners
 
Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...
Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...
Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...
 
Scala vs Ruby
Scala vs RubyScala vs Ruby
Scala vs Ruby
 
Android Development: Build Android App from Scratch
Android Development: Build Android App from ScratchAndroid Development: Build Android App from Scratch
Android Development: Build Android App from Scratch
 

Semelhante a Programming Android Application in Scala.

Getting Started With Scala
Getting Started With ScalaGetting Started With Scala
Getting Started With ScalaMeetu Maltiar
 
Scala Talk at FOSDEM 2009
Scala Talk at FOSDEM 2009Scala Talk at FOSDEM 2009
Scala Talk at FOSDEM 2009Martin Odersky
 
A Sceptical Guide to Functional Programming
A Sceptical Guide to Functional ProgrammingA Sceptical Guide to Functional Programming
A Sceptical Guide to Functional ProgrammingGarth Gilmour
 
FP in Java - Project Lambda and beyond
FP in Java - Project Lambda and beyondFP in Java - Project Lambda and beyond
FP in Java - Project Lambda and beyondMario Fusco
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to JavascriptAmit Tyagi
 
Intro to scala
Intro to scalaIntro to scala
Intro to scalaJoe Zulli
 
The Scala Programming Language
The Scala Programming LanguageThe Scala Programming Language
The Scala Programming Languageleague
 
Develop your next app with kotlin @ AndroidMakersFr 2017
Develop your next app with kotlin @ AndroidMakersFr 2017Develop your next app with kotlin @ AndroidMakersFr 2017
Develop your next app with kotlin @ AndroidMakersFr 2017Arnaud Giuliani
 
Scala is java8.next()
Scala is java8.next()Scala is java8.next()
Scala is java8.next()daewon jeong
 
Kotlin for Android Developers - 3
Kotlin for Android Developers - 3Kotlin for Android Developers - 3
Kotlin for Android Developers - 3Mohamed Nabil, MSc.
 
Scala overview
Scala overviewScala overview
Scala overviewSteve Min
 
Qcon2011 functions rockpresentation_scala
Qcon2011 functions rockpresentation_scalaQcon2011 functions rockpresentation_scala
Qcon2011 functions rockpresentation_scalaMichael Stal
 
BCS SPA 2010 - An Introduction to Scala for Java Developers
BCS SPA 2010 - An Introduction to Scala for Java DevelopersBCS SPA 2010 - An Introduction to Scala for Java Developers
BCS SPA 2010 - An Introduction to Scala for Java DevelopersMiles Sabin
 

Semelhante a Programming Android Application in Scala. (20)

Getting Started With Scala
Getting Started With ScalaGetting Started With Scala
Getting Started With Scala
 
Getting Started With Scala
Getting Started With ScalaGetting Started With Scala
Getting Started With Scala
 
Java
JavaJava
Java
 
Scala Talk at FOSDEM 2009
Scala Talk at FOSDEM 2009Scala Talk at FOSDEM 2009
Scala Talk at FOSDEM 2009
 
A Sceptical Guide to Functional Programming
A Sceptical Guide to Functional ProgrammingA Sceptical Guide to Functional Programming
A Sceptical Guide to Functional Programming
 
FP in Java - Project Lambda and beyond
FP in Java - Project Lambda and beyondFP in Java - Project Lambda and beyond
FP in Java - Project Lambda and beyond
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
 
Scala in a nutshell by venkat
Scala in a nutshell by venkatScala in a nutshell by venkat
Scala in a nutshell by venkat
 
Intro to scala
Intro to scalaIntro to scala
Intro to scala
 
The Scala Programming Language
The Scala Programming LanguageThe Scala Programming Language
The Scala Programming Language
 
Develop your next app with kotlin @ AndroidMakersFr 2017
Develop your next app with kotlin @ AndroidMakersFr 2017Develop your next app with kotlin @ AndroidMakersFr 2017
Develop your next app with kotlin @ AndroidMakersFr 2017
 
Scala is java8.next()
Scala is java8.next()Scala is java8.next()
Scala is java8.next()
 
Scala Bootcamp 1
Scala Bootcamp 1Scala Bootcamp 1
Scala Bootcamp 1
 
Python to scala
Python to scalaPython to scala
Python to scala
 
Introducing scala
Introducing scalaIntroducing scala
Introducing scala
 
Kotlin for Android Developers - 3
Kotlin for Android Developers - 3Kotlin for Android Developers - 3
Kotlin for Android Developers - 3
 
Scala overview
Scala overviewScala overview
Scala overview
 
Qcon2011 functions rockpresentation_scala
Qcon2011 functions rockpresentation_scalaQcon2011 functions rockpresentation_scala
Qcon2011 functions rockpresentation_scala
 
Scala for curious
Scala for curiousScala for curious
Scala for curious
 
BCS SPA 2010 - An Introduction to Scala for Java Developers
BCS SPA 2010 - An Introduction to Scala for Java DevelopersBCS SPA 2010 - An Introduction to Scala for Java Developers
BCS SPA 2010 - An Introduction to Scala for Java Developers
 

Mais de Brian Hsu

自由軟體讓你五分鐘上新聞
自由軟體讓你五分鐘上新聞自由軟體讓你五分鐘上新聞
自由軟體讓你五分鐘上新聞Brian Hsu
 
自由軟體讓你五分鐘上新聞
自由軟體讓你五分鐘上新聞自由軟體讓你五分鐘上新聞
自由軟體讓你五分鐘上新聞Brian Hsu
 
Cat Fs Draft
Cat Fs DraftCat Fs Draft
Cat Fs DraftBrian Hsu
 
個人簡介
個人簡介個人簡介
個人簡介Brian Hsu
 
Ontology-based Content Management System (ICIM 2008)
Ontology-based Content Management System (ICIM 2008)Ontology-based Content Management System (ICIM 2008)
Ontology-based Content Management System (ICIM 2008)Brian Hsu
 

Mais de Brian Hsu (6)

Unicode ncr
Unicode ncrUnicode ncr
Unicode ncr
 
自由軟體讓你五分鐘上新聞
自由軟體讓你五分鐘上新聞自由軟體讓你五分鐘上新聞
自由軟體讓你五分鐘上新聞
 
自由軟體讓你五分鐘上新聞
自由軟體讓你五分鐘上新聞自由軟體讓你五分鐘上新聞
自由軟體讓你五分鐘上新聞
 
Cat Fs Draft
Cat Fs DraftCat Fs Draft
Cat Fs Draft
 
個人簡介
個人簡介個人簡介
個人簡介
 
Ontology-based Content Management System (ICIM 2008)
Ontology-based Content Management System (ICIM 2008)Ontology-based Content Management System (ICIM 2008)
Ontology-based Content Management System (ICIM 2008)
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Último (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Programming Android Application in Scala.