SlideShare une entreprise Scribd logo
1  sur  198
CoffeeScript
@20th Ruby Tuesday




                     photo by gillyberlin
@20th Ruby Tuesday
You can get this slide on
www.eddie.com.tw/slides
Who am I ?
I’m a Flash guy.




photo by JD Hancock
hmm..
                          maybe only
                          60% Flasher
                                  and
                          40% Rubyist
photo by Crashmaster007
a.k.a Eddie or Aquarianboy
 Live and work in Taipei, Taiwan.
 Serving in my own little tiny company.
 Flash / AS3 / Ruby / Rails / Python programming for living.
 A little bit Objective-C for personal inerests.
 Technical Education and Consulant.
 PTT Flash BM (since 2007/4).
 Adobe Certificaed Flash Developer (Since 2006/7).
 Linux Professional Institue Certification (Since 2005/3).
                                                               photo by Eddie
or just google with the keyword "   "
JavaScript
                becomes
                hugely
                popular.
                9th on TIOBE, Nov 2011

photo by gr3m
photo by Andrew
JavaScript
                       seems
photo by apple apple
                       easy..
But it’s
also easy
o get
messy!


            photo by Marcus Q
CoffeeScript
We’re not
                       alking
                    about this
                       kind of
                       coffee.

photo by Nick Humphries
Not this either.




photo by naotoj
WTF?
CoffeeScript is JavaScript
      just written in different syntax
Who won't need this?
Who won't need this?
people who already know javascrip(the good parts) very well.
What’s the problems?
photo by Steve Ganz
Bad smell..
Will it be equal? that’s the question.



   0 == ""                        // true
   1 == true                      // true
   1 == "1"                       // true
   1 == "1.0"                     // true
   "true" == true                 // true
   "true" === true                // false
What the..?
photo by Bryan Gosline
I really don't know how o
wrie good JavaScript!
CoffeeScript exposes the
good parts of JavaScript in
a simple way.
Synax borrowed from
Python and Ruby.
I love Python & Ruby
If you’re already familiar
with Ruby, you’ve probably
already learned about 70%
CoffeeScript.
Really friendly for Rubyist.
love_coffeescript == true if rubyist
and compiles ino JavaScript
code.
*.coffee -> *.js
Your Brain ->
JavaScript ->
Browser
Your Brain ->
Friendly CoffeeScript ->
JavaScript ->
Browser
But that doesn’t mean you
can have no knowledge
about JavaScript.
CoffeeScript is NOT used
 o replace JavaScript.
Let’s get our feet wet!
photo by jlhopes
What are we looking at
       oday?
- Insallation
- Usage
- Synax
Insall
          photo by Daniel Dionne
Requirements
You need o insall some software first..

    Node.js
     >   git clone git://github.com/joyent/node.git
     >   cd node
     >   ./configure
     >   make
     >   sudo make insall
Requirements
You need o insall some software first..

    NPM, the “node package manager”
     > curl http://npmjs.org/insall.sh | sh
Insall CoffeeScript

  CoffeeScript
   > npm insall coffee-script
   > coffee -v
   CoffeeScript version 1.1.3




     http://blog.eddie.com.w/2011/08/03/install-coffeescrip/
Insall CoffeeScript

  CoffeeScript on MacOS
   > brew insall coffee-script




  ..and don’t forget insall the bundle for
  CoffeeScript if you’re using TextMae.


      http://blog.eddie.com.w/2011/08/03/install-coffeescrip/
Insall CoffeeScript
TextMae bundle forCoffeeScript




        https://github.com/jashkenas/coffee-scrip-tmbundle
Insall CoffeeScript
TextMae bundle forCoffeeScript




        https://github.com/jashkenas/coffee-scrip-tmbundle
Insall CoffeeScript



         Windows?
            get a mac
How o use


        photo by roboppy
Usage
Compile *.coffee ino *.js
     > coffee --wach --compile app.coffee




  http://blog.eddie.com.w/2011/08/03/how-to-use-coffeescrip-compiler/
Usage
Compile *.coffee ino *.js
     > coffee --wach --compile app.coffee




  http://blog.eddie.com.w/2011/08/03/how-to-use-coffeescrip-compiler/
Usage
you got a REPL, just like irb.
Usage
you got a REPL, just like irb.
Don’t like o compile?
 You can run CoffeeScrip in HTML directly
Use CoffeeScript on the fly
Use CoffeeScript on the fly
<script type="ext/javascript" src="http://
jashkenas.github.com/coffee-script/extras/coffee-
script.js"></script>
Use CoffeeScript on the fly
<script type="ext/javascript" src="http://
jashkenas.github.com/coffee-script/extras/coffee-
script.js"></script>

<script type="ext/coffeescript">
  alert 'est'
</script>
Use CoffeeScript on the fly
<script type="ext/javascript" src="http://
jashkenas.github.com/coffee-script/extras/coffee-
script.js"></script>

<script type="ext/coffeescript">
  alert 'est'
</script>

<script type="ext/coffeescript" src="myapp.coffee"></script>
don’t do this in your production.
Synax
         photo by zigazou76
}
        }
    }
}
No { }
indenations rule!
    whitespace matters!
( ) is not always
    necessary.
     Just like Ruby
but..
hello +5 means hello(+5)
     + : convert string to number
No trailing semicolon.
Return is not necessary.
   everything is an expression, just like Ruby.
No { }, (), and ;
No { }, (), and ;
 if(age > 20){
     voe();
 }


                    // javascript
No { }, (), and ;
 if(age > 20){
     voe();
 }


                    // javascript


 if age > 20
     voe()



                    # coffeescript
Variable & Function
Variable
You don’t have o declare it before using it.
Variable
You don’t have o declare it before using it.

 lang = ["php", "python", "perl", "ruby"]
 name = "Eddie"


                                                # coffeescript
Variable
You don’t have o declare it before using it.

 lang = ["php", "python", "perl", "ruby"]
 name = "Eddie"


                                                # coffeescript


 var lang, name;
 lang = ["php", "python", "perl", "ruby"];
 name = "Eddie";


                                                // javascript
Variable
Destructuring Assignment
Variable
Destructuring Assignment

 x = 100
 y = 10

 [x, y] = [y, x]
                           # coffeescript
Variable
Destructuring Assignment

 x = 100
 y = 10

 [x, y] = [y, x]
                                            # coffeescript


 var x, y, _ref;
 x = 100;
 y = 10;
 _ref = [y, x], x = _ref[0], y = _ref[1];
                                            // javascript
Variable
Destructuring Assignment
Variable
Destructuring Assignment

 weatherReport = (location) ->
  [location, 72, "Mostly Sunny"]

 [city, emp, forecast] = weatherReport "Berkeley, CA"
                                           # coffeescript
Variable
Destructuring Assignment

 weatherReport = (location) ->
  [location, 72, "Mostly Sunny"]

 [city, emp, forecast] = weatherReport "Berkeley, CA"
                                              # coffeescript


 ag = "<awesome>"
 [open, conents..., close] = ag.split("")


                                              # coffeescript
->
dash rocket
Not
->""<-
enjoy coding :)
-> "hello, Ruby Tuesday"
-> "hello, Ruby Tuesday"
    (function() {
      return "hello, Ruby Tuesday";
    });
Function
Function
say_hello = (guest1, guest2 = "Nayumi") ->
   "Hello #{guest1} and #{guest2}"

say_hello "Eddie"

                                             # coffeescript
Function
say_hello = (guest1, guest2 = "Nayumi") ->
   "Hello #{guest1} and #{guest2}"

say_hello "Eddie"

                                                  # coffeescript

var say_hello;
say_hello = function(guest1, guest2) {
   if (guest2 == null) {
       guest2 = "Nayumi";
   }
   return "Hello " + guest1 + " and " + guest2;
};
say_hello("Eddie");
                                                  // javascript
=>
                              fat arrow




http://blog.eddie.com.w/2011/11/18/dash-rocket-vs-fat-arrow-in-coffeescrip/
Splats
Just like Ruby
...
Splats




         # coffeescript
Splats
 sum = (nums...) ->
  result = 0
  result += n for n in nums
  result

 console.log sum(1, 2, 3, 4, 5)




                                  # coffeescript
Array
Array



        # coffeescript




        // javascript
Array
heroes = [
   'Spider Man',
   'Capain America',
   'X-men',
   'Iron Man'
]



                        # coffeescript




                        // javascript
Array
heroes = [
   'Spider Man',
   'Capain America',
   'X-men',
   'Iron Man'
]



                                                                   # coffeescript


var heroes, students, eachers;
heroes = ['Spider Man', 'Capain America', 'X-men', 'Iron Man'];




                                                                   // javascript
Array
heroes = [
   'Spider Man',
   'Capain America',
   'X-men',
   'Iron Man'
]

students = [1..10]
                                                                   # coffeescript


var heroes, students, eachers;
heroes = ['Spider Man', 'Capain America', 'X-men', 'Iron Man'];




                                                                   // javascript
Array
heroes = [
   'Spider Man',
   'Capain America',
   'X-men',
   'Iron Man'
]

students = [1..10]
                                                                   # coffeescript


var heroes, students, eachers;
heroes = ['Spider Man', 'Capain America', 'X-men', 'Iron Man'];
students = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];



                                                                   // javascript
Array
heroes = [
   'Spider Man',
   'Capain America',
   'X-men',
   'Iron Man'
]

students = [1..10]
eachers = [1...10]                                                # coffeescript


var heroes, students, eachers;
heroes = ['Spider Man', 'Capain America', 'X-men', 'Iron Man'];
students = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];



                                                                   // javascript
Array
heroes = [
   'Spider Man',
   'Capain America',
   'X-men',
   'Iron Man'
]

students = [1..10]
eachers = [1...10]                                                # coffeescript


var heroes, students, eachers;
heroes = ['Spider Man', 'Capain America', 'X-men', 'Iron Man'];
students = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
eachers = [1, 2, 3, 4, 5, 6, 7, 8, 9];

                                                                   // javascript
Array



        # coffeescript




        // javascript
Array
heroes[0..2]




               # coffeescript




               // javascript
Array
heroes[0..2]




                       # coffeescript


 heroes.slice(0, 3);




                       // javascript
Array
heroes[0..2]
heroes[1..2] = ["Batman", "ThunderCat"]




                                          # coffeescript


 heroes.slice(0, 3);




                                          // javascript
Array
heroes[0..2]
heroes[1..2] = ["Batman", "ThunderCat"]




                                                               # coffeescript


 heroes.slice(0, 3);

 var _ref;
 [].splice.apply(heroes, [1, 2].concat(_ref = ["Batman", "ThunderCat"])), _ref;


                                                                // javascript
Object
Object
Object
eddie = { name: "Eddie Kao", age: 18, speciality: "eat" }




                                                      # coffeescript
Object
eddie = { name: "Eddie Kao", age: 18, speciality: "eat" }




                                                      # coffeescript

var eddie;
eddie = {
   name: "Eddie Kao",
   age: 18,
   speciality: "eat"
};
                                                       // javascript
Object
Object
eddie =
 name: "Eddie Kao"
 age: 18
 lovers:
   nayumi:
    name: "Nayumi Hung"
    age: 18
   mary:
    name: "Mary Bloody"
    age: 20




# coffeescript
Object
eddie =                   var eddie;
 name: "Eddie Kao"        eddie = {
 age: 18                     name: "Eddie Kao",
 lovers:                     age: 18,
   nayumi:                   lovers: {
    name: "Nayumi Hung"        nayumi: {
    age: 18                       name: "Nayumi Hung",
   mary:                          age: 18
    name: "Mary Bloody"        },
    age: 20                    mary: {
                                  name: "Mary Bloody",
                                  age: 20
                               }
                             }
                          };
# coffeescript                              // javascript
Loop
But we Rubyist barely use for-loop
List Comprehension




# coffeescript       // javascript
List Comprehension
alert i for i in [1..10]




# coffeescript             // javascript
List Comprehension
alert i for i in [1..10]   var i, _sep;
                           for (i = 1; i <= 10; i++) {
                             alert(i);
                           }




# coffeescript                                    // javascript
List Comprehension
alert i for i in [1..10]          var i, _sep;
                                  for (i = 1; i <= 10; i++) {
                                    alert(i);
                                  }
alert i for i in [1..10] when i
% 2 == 0




# coffeescript                                           // javascript
List Comprehension
alert i for i in [1..10]          var i, _sep;
                                  for (i = 1; i <= 10; i++) {
                                    alert(i);
                                  }
alert i for i in [1..10] when i   for (i = 1; i <= 10; i++) {
% 2 == 0                            if (i % 2 === 0) {
                                      alert(i);
                                    }
                                  }




# coffeescript                                           // javascript
List Comprehension
alert i for i in [1..10]          var i, _sep;
                                  for (i = 1; i <= 10; i++) {
                                    alert(i);
                                  }
alert i for i in [1..10] when i   for (i = 1; i <= 10; i++) {
% 2 == 0                            if (i % 2 === 0) {
                                      alert(i);
                                    }
                                  }
alert i for i in [1..10] by 2




# coffeescript                                           // javascript
List Comprehension
alert i for i in [1..10]          var i, _sep;
                                  for (i = 1; i <= 10; i++) {
                                    alert(i);
                                  }
alert i for i in [1..10] when i   for (i = 1; i <= 10; i++) {
% 2 == 0                            if (i % 2 === 0) {
                                      alert(i);
                                    }
                                  }
alert i for i in [1..10] by 2     for (i = 1, _sep = 2; i <= 10; i +=
                                  _sep) {
                                    alert(i);
                                  }



# coffeescript                                         // javascript
List Comprehension
alert i for i in [1..10]          var i, _sep;
                                  for (i = 1; i <= 10; i++) {
                                    alert(i);
                                  }
alert i for i in [1..10] when i   for (i = 1; i <= 10; i++) {
% 2 == 0                            if (i % 2 === 0) {
                                      alert(i);
                                    }
                                  }
alert i for i in [1..10] by 2     for (i = 1, _sep = 2; i <= 10; i +=
                                  _sep) {
                                    alert(i);
                                  }
alert i * 2 for i in [1..10]

# coffeescript                                         // javascript
List Comprehension
alert i for i in [1..10]          var i, _sep;
                                  for (i = 1; i <= 10; i++) {
                                    alert(i);
                                  }
alert i for i in [1..10] when i   for (i = 1; i <= 10; i++) {
% 2 == 0                            if (i % 2 === 0) {
                                      alert(i);
                                    }
                                  }
alert i for i in [1..10] by 2     for (i = 1, _sep = 2; i <= 10; i +=
                                  _sep) {
                                    alert(i);
                                  }
alert i * 2 for i in [1..10]      for (i = 1; i <= 10; i++) {
                                    alert(i * 2);
# coffeescript                    }                      // javascript
Condition
Swich
 swich day
  when "Mon" then go work
  when "Tue" then go relax
  when "Thu" then go iceFishing
  when "Fri", "Sat"
    if day is bingoDay
       go bingo
       go dancing
  when "Sun" then go church
  else go work

                                  # coffeescript
Modifier
You can put "if", "unless", "while", "until" behind
Modifier
You can put "if", "unless", "while", "until" behind

 if (age > 20) {
   voe();
 }

                                                      // javascript
Modifier
You can put "if", "unless", "while", "until" behind

 if (age > 20) {
   voe();
 }

                                                       // javascript


 voe() if age > 20



                                                      # coffeescript
Synactic Sugar
Synactic Sugar
wrie more readable code by using synactic sugar.
# coffeescript                                // javascript
Synactic Sugar
wrie more readable code by using synactic sugar.
# coffeescript                                // javascript

  is                                               ===
  isnt                                              !==
  true, on, yes                                   true
  false, off, no                                  false
  not                                                  !
  and                                              &&
  or                                                 ||
  unless                                        if not
  until                                      while not
  of                                                 in
Synactic Sugar




                  # coffeescript
Synactic Sugar
alert "I can't see anything" if light is off




                                           # coffeescript
Synactic Sugar
alert "I can't see anything" if light is off

alert "It's impossible!" if eddie isnt handsome




                                           # coffeescript
Synactic Sugar
alert "I can't see anything" if light is off

alert "It's impossible!" if eddie isnt handsome

if girl is not single
    alert "Don't Touch! Be Careful!"




                                           # coffeescript
Synactic Sugar
if (light === false) {
     alert("I can't see anything");
}
if (eddie !== handsome) {
      alert("It's impossible!");
}
 if (girl === !single) {
     alert("Don't Touch! Be Careful!");
 }


                                          // javascript
Synactic Sugar
Which answer do you like o hear when you say ...
Synactic Sugar
Which answer do you like o hear when you say ...




          Eddie: Will you marry me?
          Nayumi: yes!
Synactic Sugar
Which answer do you like o hear when you say ...




          Eddie: Will you marry me?
          Nayumi: yes!
          or
Synactic Sugar
Which answer do you like o hear when you say ...




          Eddie: Will you marry me?
          Nayumi: yes!
          or
          Eddie: Will you marry me?
          Nayumi: true!
Synactic Sugar
Synactic Sugar
 alert "I'll marry you!" if answer is yes



                                     # coffeescript
Synactic Sugar
 alert "I'll marry you!" if answer is yes



                                     # coffeescript



 if (answer === true) {
     alert("I'll marry you!");
 }
                                      // javascript
Synactic Sugar
Chained Comparison
Synactic Sugar
Chained Comparison

 console.log "I'm awesome!" if 20 < my_girl_friends < 100




                                              # coffeescript
Synactic Sugar
Chained Comparison

 console.log "I'm awesome!" if 20 < my_girl_friends < 100




                                               # coffeescript

 if ((20 < my_girl_friends && my_girl_friends < 100)) {
   console.log("I'm awesome!");
 }


                                                // javascript
Synactic Sugar
Exisential Operaor
Synactic Sugar
Exisential Operaor

 age ?= 18
                       # coffeescript
Synactic Sugar
Exisential Operaor

 age ?= 18
                                               # coffeescript

 if (typeof age !== "undefined" && age !== null) {
      age;
 } else {
      age = 18;
 };
                                                // javascript
Raw JavaScript
If you still prefer the original way..
Raw JavaScript


     say_hello = `function(name){
        return "Hello, " + name
     }`
                          # coffeescript
OOP
CoffeeScrip's classes are syntactic sugar only.
Prootype?
IMHO, prooype-based OO is no elegant
OOP - new
OOP - new
class Animal
   construcor: (name, age) ->
       this.name = name
       this.age = age

animal = new Animal("eddie", 18)
alert animal                       # coffeescript
OOP - new
class Animal
   construcor: (name, age) ->
       this.name = name
       this.age = age

animal = new Animal("eddie", 18)
alert animal                        # coffeescript

var Animal, animal;
Animal = (function() {
   function Animal(name, age) {
      this.name = name;
      this.age = age;
   }
   return Animal;
})();
animal = new Animal("eddie", 18);
alert(animal);                      // javascript
OOP - @ = this.
OOP - @ = this.
OOP - method
class Animal
   construcor: (@name, @age) ->

   say_hello: (something) ->
      console.log "Hello, #{something}"

animal = new Animal("eddie", 18)
animal.say_hello("CoffeeScript")




                                          # coffeescript
OOP - inheriance
class Animal
   construcor: (@name, @age) ->
   say_hello: (something) ->
       alert "Hello, #{something}"

class Human exends Animal
   walk: ->
       alert "I can walk with my foots!"

eddie = new Human("eddie", 18)
eddie.say_hello "CoffeeScript"
eddie.walk()


                                           # coffeescript
OOP - inheriance
OOP - inheriance
TL;DR
Exend more function?
Exend more function
String::repeat = (n) ->
 Array(n + 1).join @

String::downcase = ->
 @oLowerCase()

String::upcase = ->
 @oUpperCase()

String::find = (str) ->
 @indexOf str

String::has = (str) ->
 (@indexOf str) > 0
                                                             # coffeescript
 http://blog.eddie.com.w/2011/11/19/extend-functionaliy-for-your-class/
Cooperae with other JS
 library or framework?
working with jQuery
working with jQuery
$(document).ready(function() {
   wakeup();
   walk_o_oilet();
   pee();
   go_back_o_sleep();
})

                                 // javascript
working with jQuery
$(document).ready(function() {
   wakeup();
   walk_o_oilet();
   pee();
   go_back_o_sleep();
})

                                 // javascript

$ ->
 wakeup()
 walk_o_oilet()
 pee()
 go_back_o_sleep()
                                 # coffeescript
working with jQuery
working with jQuery
$('#girl').animae({
   width: '100px',
   height: '50px',
   opacity: '0.8'
}, 2000, 'easeOutQuad');


                           // javascript
working with jQuery
$('#girl').animae({
   width: '100px',
   height: '50px',
   opacity: '0.8'
}, 2000, 'easeOutQuad');


                           // javascript

$('#girl').animae
 width: '100px'
 height: '50px'
 opacity: '0.8'
 2000
 'easeOutQuad'
                           # coffeescript
working with jQuery
working with jQuery
(function($){
   $.fn.exend({
       isEmail: function(email){
         return /some email validaor/.est(email);
       }
   });
})(Query);
                                                 // javascript
working with jQuery
(function($){
   $.fn.exend({
       isEmail: function(email){
         return /some email validaor/.est(email);
       }
   });
})(Query);
                                                 // javascript


$ = jQuery

$.fn.exend
  isEmail: (email) ->
    /some email validaor/.est email
                                                 # coffeescript
makes jQuery more easy,
    and more fun


 http://blog.eddie.com.w/2011/11/14/when-jquery-meets-coffeescrip/
References
Websies:
 http://jashkenas.github.com/coffee-scrip/
 http://blog.eddie.com.w/category/coffeescrip/
 http://upgrade2rails31.com/coffee-scrip



Koans:
 https://github.com/sleepyfox/coffeescrip-koans
References
 Book:
 http://pragprog.com/book/tbcoffee/coffeescrip
 http://arcturo.github.com/library/coffeescrip/index.html
 http://autoelicum.github.com/Smooh-CoffeeScrip/
Conclusion
being a 40% Rubyist
I don’t like..
    var
    return
    for loop
    ()
    {}
I Love..
I Love..




              Coding Style
           I love Python & Ruby, of course :)
I Love..




           Indenation!
I Love..




    Anonymous function
     No global function and variable by default
I Love..




     String Inerpolation
       sorry, but string building really sucks :)
I Love..




     List Comprehension
I Love..




           Synactic Sugar
I Love..




     English-like grammar
alert "of course it is!" if ruby_tuesday is awesome
I Love..




  Comparison & Equality
           "true" == true // true
           "true" === true // false
I Love..



    Works with other JS
     frameworks well.
           Because it’s just JavaScrip
I Love..




           Compilation
            JSLint Approved
What else?
Make, Rake, Cake.
More and more projects are
 writen in CoffeeScript.
Pow.cx
CoffeeScript compiler is
writen in CoffeeScript.
Tianium Mobile



http://blog.eddie.com.w/2011/08/03/using-coffeescrip-in-titanium-studio/
Immature?
            photo by theseanster93
Performance?
photo by chr1sl4i           photo by theseanster93
CoffeeScript Means Giving
Up on JavaScript?
Learn JavaScript, and Use
CoffeeScript.
Any Question?   photo by jamuraa
Conacts
     Websie    http://www.eddie.com.tw
     Blog       http://blog.eddie.com.tw
     Plurk      http://www.plurk.com/aquarianboy
     Facebook   http://www.facebook.com/eddiekao
     Google Plus http://www.eddie.com.tw/+
     Twiter    https://twiter.com/#!/eddiekao
     Email      eddie@digik.com.tw
     Mobile     +886-928-617-687




                                                   photo by Eddie

Contenu connexe

Tendances

Why I will never write JavaScript ever again*
Why I will never write JavaScript ever again*Why I will never write JavaScript ever again*
Why I will never write JavaScript ever again*The Wolff
 
The DOM is a Mess @ Yahoo
The DOM is a Mess @ YahooThe DOM is a Mess @ Yahoo
The DOM is a Mess @ Yahoojeresig
 
When To Use Ruby On Rails
When To Use Ruby On RailsWhen To Use Ruby On Rails
When To Use Ruby On Railsdosire
 
jQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionjQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionPaul Irish
 
EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008geraldbauer
 
JavaScript Library Overview
JavaScript Library OverviewJavaScript Library Overview
JavaScript Library Overviewjeresig
 
jQuery Performance Tips and Tricks (2011)
jQuery Performance Tips and Tricks (2011)jQuery Performance Tips and Tricks (2011)
jQuery Performance Tips and Tricks (2011)Addy Osmani
 
RingoJS: Server-Side Javascript When Only Java Will Do
RingoJS:  Server-Side Javascript When Only Java Will DoRingoJS:  Server-Side Javascript When Only Java Will Do
RingoJS: Server-Side Javascript When Only Java Will DoDarren Cruse
 
Metaprogramming 101
Metaprogramming 101Metaprogramming 101
Metaprogramming 101Nando Vieira
 
Pragmatic JavaScript
Pragmatic JavaScriptPragmatic JavaScript
Pragmatic JavaScriptJohn Hann
 
The backend-of-frontend Drupaljam 2014
The backend-of-frontend Drupaljam 2014The backend-of-frontend Drupaljam 2014
The backend-of-frontend Drupaljam 2014Triquanta
 
Smalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhoneSmalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhoneEsteban Lorenzano
 
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasminePaulo Ragonha
 
Fisl 11 - Dicas de Desenvolvimento Web com Ruby
Fisl 11 - Dicas de Desenvolvimento Web com RubyFisl 11 - Dicas de Desenvolvimento Web com Ruby
Fisl 11 - Dicas de Desenvolvimento Web com RubyFabio Akita
 
CoffeeScript - An Introduction
CoffeeScript - An IntroductionCoffeeScript - An Introduction
CoffeeScript - An IntroductionManvendra Singh
 
Your own (little) gem: building an online business with Ruby
Your own (little) gem: building an online business with RubyYour own (little) gem: building an online business with Ruby
Your own (little) gem: building an online business with RubyLindsay Holmwood
 
SXSW 2012 JavaScript MythBusters
SXSW 2012 JavaScript MythBustersSXSW 2012 JavaScript MythBusters
SXSW 2012 JavaScript MythBustersElena-Oana Tabaranu
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails IntroductionThomas Fuchs
 
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...andrewnacin
 

Tendances (20)

Why I will never write JavaScript ever again*
Why I will never write JavaScript ever again*Why I will never write JavaScript ever again*
Why I will never write JavaScript ever again*
 
The DOM is a Mess @ Yahoo
The DOM is a Mess @ YahooThe DOM is a Mess @ Yahoo
The DOM is a Mess @ Yahoo
 
When To Use Ruby On Rails
When To Use Ruby On RailsWhen To Use Ruby On Rails
When To Use Ruby On Rails
 
jQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionjQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & Compression
 
EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008
 
JavaScript Library Overview
JavaScript Library OverviewJavaScript Library Overview
JavaScript Library Overview
 
jQuery Performance Tips and Tricks (2011)
jQuery Performance Tips and Tricks (2011)jQuery Performance Tips and Tricks (2011)
jQuery Performance Tips and Tricks (2011)
 
RingoJS: Server-Side Javascript When Only Java Will Do
RingoJS:  Server-Side Javascript When Only Java Will DoRingoJS:  Server-Side Javascript When Only Java Will Do
RingoJS: Server-Side Javascript When Only Java Will Do
 
Metaprogramming 101
Metaprogramming 101Metaprogramming 101
Metaprogramming 101
 
Pragmatic JavaScript
Pragmatic JavaScriptPragmatic JavaScript
Pragmatic JavaScript
 
The backend-of-frontend Drupaljam 2014
The backend-of-frontend Drupaljam 2014The backend-of-frontend Drupaljam 2014
The backend-of-frontend Drupaljam 2014
 
Smalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhoneSmalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhone
 
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
 
Fisl 11 - Dicas de Desenvolvimento Web com Ruby
Fisl 11 - Dicas de Desenvolvimento Web com RubyFisl 11 - Dicas de Desenvolvimento Web com Ruby
Fisl 11 - Dicas de Desenvolvimento Web com Ruby
 
CoffeeScript - An Introduction
CoffeeScript - An IntroductionCoffeeScript - An Introduction
CoffeeScript - An Introduction
 
Your own (little) gem: building an online business with Ruby
Your own (little) gem: building an online business with RubyYour own (little) gem: building an online business with Ruby
Your own (little) gem: building an online business with Ruby
 
SXSW 2012 JavaScript MythBusters
SXSW 2012 JavaScript MythBustersSXSW 2012 JavaScript MythBusters
SXSW 2012 JavaScript MythBusters
 
Pyramid faq
Pyramid faqPyramid faq
Pyramid faq
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails Introduction
 
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...
 

En vedette

2n111nabeelah
2n111nabeelah2n111nabeelah
2n111nabeelahnamirahbh
 
Refactoring in AS3
Refactoring in AS3Refactoring in AS3
Refactoring in AS3Eddie Kao
 
Rocking the Casbah
Rocking the CasbahRocking the Casbah
Rocking the CasbahMohit Lodha
 
G L O B E K D O D 02 03
G L O B E K  D O D 02 03G L O B E K  D O D 02 03
G L O B E K D O D 02 03stupkar
 
Why I use Vim
Why I use VimWhy I use Vim
Why I use VimEddie Kao
 

En vedette (6)

2n111nabeelah
2n111nabeelah2n111nabeelah
2n111nabeelah
 
Refactoring in AS3
Refactoring in AS3Refactoring in AS3
Refactoring in AS3
 
Rocking the Casbah
Rocking the CasbahRocking the Casbah
Rocking the Casbah
 
Test
TestTest
Test
 
G L O B E K D O D 02 03
G L O B E K  D O D 02 03G L O B E K  D O D 02 03
G L O B E K D O D 02 03
 
Why I use Vim
Why I use VimWhy I use Vim
Why I use Vim
 

Similaire à CoffeeScript-Ruby-Tuesday

CoffeeScript, An Introduction for Nodejs developers
CoffeeScript, An Introduction for Nodejs developersCoffeeScript, An Introduction for Nodejs developers
CoffeeScript, An Introduction for Nodejs developersMehdi Valikhani
 
Reasons To Love Ruby
Reasons To Love RubyReasons To Love Ruby
Reasons To Love RubyBen Scheirman
 
The Enterprise Strikes Back
The Enterprise Strikes BackThe Enterprise Strikes Back
The Enterprise Strikes BackBurke Libbey
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScriptNone
 
Socket applications
Socket applicationsSocket applications
Socket applicationsJoão Moura
 
Node.js for PHP developers
Node.js for PHP developersNode.js for PHP developers
Node.js for PHP developersAndrew Eddie
 
Server side scripting smack down - Node.js vs PHP
Server side scripting smack down - Node.js vs PHPServer side scripting smack down - Node.js vs PHP
Server side scripting smack down - Node.js vs PHPMarc Gear
 
JavaScript 1.5 to 2.0 (TomTom)
JavaScript 1.5 to 2.0 (TomTom)JavaScript 1.5 to 2.0 (TomTom)
JavaScript 1.5 to 2.0 (TomTom)jeresig
 
CoffeeScript: A beginner's presentation for beginners copy
CoffeeScript: A beginner's presentation for beginners copyCoffeeScript: A beginner's presentation for beginners copy
CoffeeScript: A beginner's presentation for beginners copyPatrick Devins
 
Ruby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developerRuby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developergicappa
 
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...Alain Hippolyte
 
Padrino is agnostic
Padrino is agnosticPadrino is agnostic
Padrino is agnosticTakeshi Yabe
 
The Peanut Butter Cup of Web-dev: Plack and single page web apps
The Peanut Butter Cup of Web-dev: Plack and single page web appsThe Peanut Butter Cup of Web-dev: Plack and single page web apps
The Peanut Butter Cup of Web-dev: Plack and single page web appsJohn Anderson
 
WDB005.1 - JavaScript for Java Developers (Lecture 1)
WDB005.1 - JavaScript for Java Developers (Lecture 1)WDB005.1 - JavaScript for Java Developers (Lecture 1)
WDB005.1 - JavaScript for Java Developers (Lecture 1)Igor Khotin
 
Boxen: How to Manage an Army of Laptops and Live to Talk About It
Boxen: How to Manage an Army of Laptops and Live to Talk About ItBoxen: How to Manage an Army of Laptops and Live to Talk About It
Boxen: How to Manage an Army of Laptops and Live to Talk About ItPuppet
 
A few good JavaScript development tools
A few good JavaScript development toolsA few good JavaScript development tools
A few good JavaScript development toolsSimon Kim
 
HTML5 for the Silverlight Guy
HTML5 for the Silverlight GuyHTML5 for the Silverlight Guy
HTML5 for the Silverlight GuyDavid Padbury
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011Nick Sieger
 

Similaire à CoffeeScript-Ruby-Tuesday (20)

CoffeeScript, An Introduction for Nodejs developers
CoffeeScript, An Introduction for Nodejs developersCoffeeScript, An Introduction for Nodejs developers
CoffeeScript, An Introduction for Nodejs developers
 
Javascript status 2016
Javascript status 2016Javascript status 2016
Javascript status 2016
 
Reasons To Love Ruby
Reasons To Love RubyReasons To Love Ruby
Reasons To Love Ruby
 
The Enterprise Strikes Back
The Enterprise Strikes BackThe Enterprise Strikes Back
The Enterprise Strikes Back
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScript
 
Smalltalk on rubinius
Smalltalk on rubiniusSmalltalk on rubinius
Smalltalk on rubinius
 
Socket applications
Socket applicationsSocket applications
Socket applications
 
Node.js for PHP developers
Node.js for PHP developersNode.js for PHP developers
Node.js for PHP developers
 
Server side scripting smack down - Node.js vs PHP
Server side scripting smack down - Node.js vs PHPServer side scripting smack down - Node.js vs PHP
Server side scripting smack down - Node.js vs PHP
 
JavaScript 1.5 to 2.0 (TomTom)
JavaScript 1.5 to 2.0 (TomTom)JavaScript 1.5 to 2.0 (TomTom)
JavaScript 1.5 to 2.0 (TomTom)
 
CoffeeScript: A beginner's presentation for beginners copy
CoffeeScript: A beginner's presentation for beginners copyCoffeeScript: A beginner's presentation for beginners copy
CoffeeScript: A beginner's presentation for beginners copy
 
Ruby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developerRuby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developer
 
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...
 
Padrino is agnostic
Padrino is agnosticPadrino is agnostic
Padrino is agnostic
 
The Peanut Butter Cup of Web-dev: Plack and single page web apps
The Peanut Butter Cup of Web-dev: Plack and single page web appsThe Peanut Butter Cup of Web-dev: Plack and single page web apps
The Peanut Butter Cup of Web-dev: Plack and single page web apps
 
WDB005.1 - JavaScript for Java Developers (Lecture 1)
WDB005.1 - JavaScript for Java Developers (Lecture 1)WDB005.1 - JavaScript for Java Developers (Lecture 1)
WDB005.1 - JavaScript for Java Developers (Lecture 1)
 
Boxen: How to Manage an Army of Laptops and Live to Talk About It
Boxen: How to Manage an Army of Laptops and Live to Talk About ItBoxen: How to Manage an Army of Laptops and Live to Talk About It
Boxen: How to Manage an Army of Laptops and Live to Talk About It
 
A few good JavaScript development tools
A few good JavaScript development toolsA few good JavaScript development tools
A few good JavaScript development tools
 
HTML5 for the Silverlight Guy
HTML5 for the Silverlight GuyHTML5 for the Silverlight Guy
HTML5 for the Silverlight Guy
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
 

Plus de Eddie Kao

Rails girls in Taipei
Rails girls in TaipeiRails girls in Taipei
Rails girls in TaipeiEddie Kao
 
Rails Girls in Taipei
Rails Girls in TaipeiRails Girls in Taipei
Rails Girls in TaipeiEddie Kao
 
Let's Learn Ruby - Basic
Let's Learn Ruby - BasicLet's Learn Ruby - Basic
Let's Learn Ruby - BasicEddie Kao
 
iOS app development and Open Source
iOS app development and Open SourceiOS app development and Open Source
iOS app development and Open SourceEddie Kao
 
from Ruby to Objective-C
from Ruby to Objective-Cfrom Ruby to Objective-C
from Ruby to Objective-CEddie Kao
 
Code Reading
Code ReadingCode Reading
Code ReadingEddie Kao
 
CreateJS - from Flash to Javascript
CreateJS - from Flash to JavascriptCreateJS - from Flash to Javascript
CreateJS - from Flash to JavascriptEddie Kao
 
May the source_be_with_you
May the source_be_with_youMay the source_be_with_you
May the source_be_with_youEddie Kao
 
There is something about Event
There is something about EventThere is something about Event
There is something about EventEddie Kao
 
Flash Ecosystem and Open Source
Flash Ecosystem and Open SourceFlash Ecosystem and Open Source
Flash Ecosystem and Open SourceEddie Kao
 
Ruby without rails
Ruby without railsRuby without rails
Ruby without railsEddie Kao
 
3rd AS Study Group
3rd AS Study Group3rd AS Study Group
3rd AS Study GroupEddie Kao
 
iOS Game Development with Cocos2d
iOS Game Development with Cocos2diOS Game Development with Cocos2d
iOS Game Development with Cocos2dEddie Kao
 
AS3讀書會(行前準備)
AS3讀書會(行前準備)AS3讀書會(行前準備)
AS3讀書會(行前準備)Eddie Kao
 
Misunderstanding about flash
Misunderstanding about flashMisunderstanding about flash
Misunderstanding about flashEddie Kao
 
AS3 Better Practices
AS3 Better PracticesAS3 Better Practices
AS3 Better PracticesEddie Kao
 

Plus de Eddie Kao (20)

Rails girls in Taipei
Rails girls in TaipeiRails girls in Taipei
Rails girls in Taipei
 
Rails Girls in Taipei
Rails Girls in TaipeiRails Girls in Taipei
Rails Girls in Taipei
 
Let's Learn Ruby - Basic
Let's Learn Ruby - BasicLet's Learn Ruby - Basic
Let's Learn Ruby - Basic
 
iOS app development and Open Source
iOS app development and Open SourceiOS app development and Open Source
iOS app development and Open Source
 
Vim
VimVim
Vim
 
from Ruby to Objective-C
from Ruby to Objective-Cfrom Ruby to Objective-C
from Ruby to Objective-C
 
Code Reading
Code ReadingCode Reading
Code Reading
 
CreateJS - from Flash to Javascript
CreateJS - from Flash to JavascriptCreateJS - from Flash to Javascript
CreateJS - from Flash to Javascript
 
May the source_be_with_you
May the source_be_with_youMay the source_be_with_you
May the source_be_with_you
 
There is something about Event
There is something about EventThere is something about Event
There is something about Event
 
Flash Ecosystem and Open Source
Flash Ecosystem and Open SourceFlash Ecosystem and Open Source
Flash Ecosystem and Open Source
 
Ruby without rails
Ruby without railsRuby without rails
Ruby without rails
 
API Design
API DesignAPI Design
API Design
 
測試
測試測試
測試
 
3rd AS Study Group
3rd AS Study Group3rd AS Study Group
3rd AS Study Group
 
iOS Game Development with Cocos2d
iOS Game Development with Cocos2diOS Game Development with Cocos2d
iOS Game Development with Cocos2d
 
AS3讀書會(行前準備)
AS3讀書會(行前準備)AS3讀書會(行前準備)
AS3讀書會(行前準備)
 
AMF
AMFAMF
AMF
 
Misunderstanding about flash
Misunderstanding about flashMisunderstanding about flash
Misunderstanding about flash
 
AS3 Better Practices
AS3 Better PracticesAS3 Better Practices
AS3 Better Practices
 

Dernier

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
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
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
 
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
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
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
 
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
 
[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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
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
 
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
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
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
 

Dernier (20)

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
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
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
 
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
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
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
 
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
 
[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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
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
 
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
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
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
 

CoffeeScript-Ruby-Tuesday