Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Programming 101

Programming 101

First Talk given at RailsGirls Vienna, January 19th 2013. Updated for Rails Girls Zurich 2015

Rodrigo Haenggi

January 19, 2013
Tweet

More Decks by Rodrigo Haenggi

Other Decks in Technology

Transcript

  1. 2TQITCOOKPI

    D[
    4QFTKIQ

    View Slide

  2. THIS TALK TRIES TO
    ✔ BE GENTLE FOR NEWCOMERS
    ✔ PREPARE YOU FOR THE THINGS
    TO COME
    ✔ IMPRESS YOU WITH MY SLIDES
    ✔ GIVE A BROAD OVERVIEW &

    View Slide

  3. 6QFC[ņU/GPW
    ❧ Table for two at “Le Web”
    ❧ Meet the Chef
    ❧ Tools & Cooking gear
    ❧ Your Apprenticeship
    ❧ Q’s & A’s

    View Slide

  4. ➤ Why am I here today?
    Introduction

    View Slide

  5. WHY ARE
    YOU HERE?
    NEW TO
    PROGRAMMING CREATING IS FUN
    THEY WERE RIGHT!

    View Slide

  6. WHY AM I HERE?
    RAILS GIRLS ZURICH
    2012 LOVED IT
    GOT INVITED
    BACK AGAIN
    STARTED TO LIKE
    COACHING

    View Slide

  7. WHO ARE
    YOU ANYWAY?

    View Slide

  8. theminimalistcoder.com

    View Slide

  9. Daniel Me

    View Slide

  10. kurato.fm

    View Slide

  11. ➤ How does the Internet work?
    Table for two at “Le Web”
    Le Web

    View Slide

  12. THE
    INTERNET
    BUT HOW DOES IT WORK?
    +PVGTPGV

    View Slide

  13. I KNOW!

    View Slide

  14. “The Internet is a global system of interconnected
    computer networks that use the standard Internet
    protocol suite (TCP/IP) to serve billions of users
    worldwide.”
    - Wikipedia

    View Slide

  15. JUST TWO COMPUTERS
    TALKING TO EACH OTHER
    Well,
    hello there
    Good day to you
    good sir

    View Slide

  16. CLIENT & SERVER
    WE USE FANCY NAMES

    View Slide

  17. CLIENT INTERNET SERVER
    BROWSER
    THE INTERNET
    BETWEEN THEM SITS
    there

    View Slide

  18. CUSTOMER WAITER CHEF
    MENU
    RESTAURANT
    IT’S LIKE IN A

    View Slide

  19. You tell the WAITER that you would like
    a DISH by pointing on the MENU.
    The WAITER delivers your request to
    the CHEF. He starts preparing your
    DISH and then sends it back through
    the WAITER again.
    RESTAURANT
    SCENARIO

    View Slide

  20. You tell the INTERNET that you would
    like a PAGE by pointing in the
    BROWSER. The INTERNET delivers your
    request to the SERVER. It starts
    preparing your PAGE and then sends it
    back through the INTERNET again.
    INTERNET
    SCENARIO

    View Slide

  21. ➤ What is a Web Application?
    Meet the Chef

    View Slide

  22. WEB APPS
    ACT LIKE
    %JGHU
    BASICALLY...

    View Slide

  23. WEB APPLICATIONS &
    CHEFS
    ✔ TAKE REQUESTS
    ✔ DO SOMETHING WITH THEM
    ✔ SEND THE RESULTS BACK

    View Slide

  24. AT THE BEGINNING...
    ...PAGES WERE MOSTLYSTATIC

    View Slide

  25. MORE
    Dynamic
    NOWADAYS

    View Slide

  26. WHAT DOES
    THAT MEAN
    ?

    View Slide

  27. ...SEND ADDITIONAL
    INFORMATION WITH
    YOUR REQUEST
    YOU CAN ALSO...

    View Slide

  28. SALAD, BUT NO
    CROUTONS
    SOMETHING LIKE...
    NO SESAME
    SEEDS
    MORE BACON,
    LESS VEGGIES

    View Slide

  29. RETWEET THIS
    TWEET
    …TRANSLATES (roughly) INTO…
    ADDRESSES SORTED
    BY MIDDLE NAME
    DECLINE MY
    MOM’S
    FRIEND REQUEST

    View Slide

  30. WEB APPS
    ACT LIKE
    %JGHU
    AGAIN...
    ...AND YOU TELL THEM
    HOW THEY SHOULD BEHAVE

    View Slide

  31. CREATING
    A WEB APP
    IS JUST LIKE
    %QQMKPI
    (kinda…)

    View Slide

  32. ➤ Frameworks and Programming languages
    Tools & Cooking Gear

    View Slide

  33. SIMILAR
    COOKING &
    CREATING WEB-APPS
    =
    (In a way)

    View Slide

  34. SPECIFICATION
    THE RECIPE Grandma

    View Slide

  35. FRAMEWORK
    THE COOKING SET Stai
    5QWR5GV

    View Slide

  36. MAKE SUSHI
    SUSHI SET
    MAKE FONDUE
    FONDUE SET
    MAKE GRANDMAS SPECIAL RECIPE
    YOUR SET
    Stai
    5GV:

    View Slide

  37. MAKE WEB APPS
    RAILS FRAMEWORK
    MAKE IPHONE APPS
    COCOA-TOUCH FRAMEWORK
    COLLECTING CAT
    PICTURES
    YOUR OWN FRAMEWORK

    View Slide

  38. LIBRARY
    THE TOOL

    View Slide

  39. KNIFE
    FOR CUTTING
    SPOON
    FOR SPOONING
    PEELER
    FOR PEELING

    View Slide

  40. DEVISE
    USER CREATION & MANAGEMENT
    ACTIVE RECORD
    TALKING TO DIFFERENT DATABASES
    PAPERCLIP
    UPLOADING FILES

    View Slide

  41. LIBRARIES HAVE
    TO BE BUILT...

    View Slide

  42. ...JUST LIKE
    COOKING
    TOOLS

    View Slide

  43. RAILS
    RUBY
    WHEN WE
    BUILD FOR
    WE USE
    6JGTGHQTG
    4WD[QP
    4CKNU

    View Slide

  44. LIBRARIES = GEMS
    IN RUBY

    View Slide

  45. RUBY IS
    AWESOME!

    View Slide

  46. RECAP
    Iron
    nugget
    HOW?
    COOKING CODING

    View Slide

  47. WHAT ABOUT THE
    INGREDIENTS
    ?

    View Slide

  48. Y O U R
    INGREDIENTS ARE
    IDEAS

    View Slide

  49. DON’T HAVE ONE?

    View Slide

  50. PAIN
    LISTEN TO YOUR
    and make
    it go
    away

    View Slide

  51. PROBLEMS
    SOLVE YOUR OWN
    ...at first

    View Slide

  52. THAT EXCITES YOU
    BUILD SOMETHING

    View Slide

  53. ➤ Software is eating the world
    Why should I learn all this stuff?

    View Slide

  54. NEWS
    SOFTWARE
    IS THE FUTURE

    View Slide

  55. WHY
    SOFTWARE
    IS EATING
    THE
    WORLD
    GOOGLE
    AMAZON
    TWITTER
    EBAY
    YAHOO
    GITHUB
    HEROKU
    APPLE
    MICROSOFT

    View Slide

  56. ➤ Today & Future
    Your Apprenticeship!

    View Slide

  57. TODAY YOU’LL LEARN ABOUT
    ✔ THE RUBY LANGUAGE
    ✔ HOW TO CREATE WEB APPS
    ✔ THE NEXT STEPS ON YOUR JOURNEY
    ✔ THE RAILS FRAMEWORK

    View Slide

  58. AND BECOME
    CREATORS
    YOU WILL STOP CONSUMING...

    View Slide

  59. HAVE FUN
    REMEMBER...

    View Slide

  60. DON’T TAKE
    THINGS TOO
    SERIOUS
    AND...

    View Slide

  61. THEY DEPEND
    ON YOUR
    FEEDBACK
    COACHES ARE HUMANS TOO

    View Slide

  62. LAST
    WORDS

    View Slide

  63. SWGUVKQPU!

    View Slide

  64. [email protected]
    theminimalistcoder.com
    Thank You!

    View Slide