Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

10 things I'd tell my younger self about Java Web Development

1,830 views

Published on

Video: https://www.youtube.com/watch?v=tBDrcbTDtIw
Imagine you could go back in time. What advice would you give your younger self about how to do Java Web Development in a simpler and more effective way? What did you learn? What would you do differently? What would you like to forget? In this talk we will go back in time and give my younger self some advice on building a crazy web stack that I’d find shocking back then. A plethora of web frameworks, DI containers, template engines, build/deployment tools, dependency managers, web servers and testing strategies. Modern developers have more choice than ever before. I’ll share my thinking process and explain how my decision making has changed over time. With a little help from behavioural scientists, psychologists, hot dog eating contestants and my programming mentors we’ll learn how to think like a freak.

Published in: Technology
  • DOWNLOAD FULL BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

10 things I'd tell my younger self about Java Web Development

  1. 1. 10 things I’d tell my younger self about younger (Java) Web Development
  2. 2. Confidential :)
  3. 3. Struts 1, Struts 2 or Spring MVC?
  4. 4. Struts 1, Struts 2 or Spring MVC? learning curve, available materials
  5. 5. Paradox of choice
  6. 6. “...increased choice may actually contribute to the recent epidemic of clinical depression affecting much of the Western world.”
  7. 7. 1) Web Framework litmus test http://cdn8.triplepundit.com/wp-content/uploads/2010/08/litmus-test.jpg
  8. 8. Does it hide HTTP?
  9. 9. Does it hide HTTP? Yes Ignore
  10. 10. Does it hide HTTP? No Yes Maybe useful Ignore
  11. 11. Be of the Web, not just on the Web
  12. 12. request.toString()
  13. 13. org.apache.catalina.core.ApplicationHttpRequest@10e37618
  14. 14. Learn HTML, CSS, JS
  15. 15. 2) Concurrency model
  16. 16. thread per request
  17. 17. non-blocking event loop
  18. 18. Click Callback Touch Callback Ajax Callback
  19. 19. Click Callback Touch Callback Ajax Callback Mouse Click Event
  20. 20. Click Callback Touch Callback Ajax Callback Data from server
  21. 21. Click Callback Touch Callback Ajax Callback DDDaataatat a f frfroromomm s seserervrvevererr
  22. 22. Everything except your code is executing in parallel http://kunkle.org/nodejs-explained-pres/#/title
  23. 23. which one?
  24. 24. lots of I/O operations
  25. 25. CPU heavy
  26. 26. 3) Dependency Injection back to the roots
  27. 27. new project
  28. 28. DI/IoC container is optional
  29. 29. DI/IoC container is optional
  30. 30. “...if you use IoC containers, your code becomes, frankly, a lot harder to read”
  31. 31. when to use containers?
  32. 32. when to use containers? massive codebase
  33. 33. when to use containers? massive codebase injection points to a library
  34. 34. how I found my favorite container?
  35. 35. kobi story https://c2.staticflickr.com/4/3004/2706713453_4420661f8e_b.jpg
  36. 36. epiphany
  37. 37. http://assets.nydailynews.com/polopoly_fs/1.1106772!/img/httpImage/image.jpg_gen/derivatives/landscape_635/image.jpg wiring scope
  38. 38. request scope? application scope?
  39. 39. simplicity vs features
  40. 40. XML
  41. 41. annotations
  42. 42. David and Goliath
  43. 43. 4) Web Servers the powerful and the strong are not always what they seem
  44. 44. Embedded web servers
  45. 45. dev-prod parity
  46. 46. startup times in ms JDK HttpServer simple framework embedded jetty
  47. 47. no free lunch
  48. 48. no free lunch admin consoles more memory automation
  49. 49. 5) Template engines - less is more
  50. 50. logic/view separation
  51. 51. more features?
  52. 52. shape the path
  53. 53. logic-less templates
  54. 54. candidates
  55. 55. testable
  56. 56. 6) logging the disciplined pursuit of less
  57. 57. http://12factor.net/
  58. 58. Treat logs like event streams
  59. 59. stdout and stderr
  60. 60. myapp >> /var/log/myapp.log
  61. 61. logrotate
  62. 62. myapp | logger
  63. 63. myapp | tee /var/log/myapp.log | logger
  64. 64. Unix Philosophy http://www.faqs.org/docs/artu/ch01s06.html
  65. 65. “Expect the output of every program to become the input to another, as yet unknown, program.”
  66. 66. 7) Pragmatic Web Testing
  67. 67. 8) Dependencies be careful who you invite to the party
  68. 68. classpath party
  69. 69. classpath party JAR JAR JAR JAR JAR JAR JAR JAR
  70. 70. classpath party JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR
  71. 71. classpath party JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR
  72. 72. classpath party JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR JAR
  73. 73. no transitive dependencies?
  74. 74. bring the pain forward
  75. 75. “When people don’t pay the true cost of something, they tend to consume it inefficiently” S.Levitt, S.Dubner
  76. 76. What’s under the hood?
  77. 77. what are your values and principles?
  78. 78. what are your values and principles? simplicity over familiarity
  79. 79. what are your values and principles? quick feedback over features simplicity over familiarity
  80. 80. what are your values and principles? quick feedback over features explicit code over annotations/xml simplicity over familiarity
  81. 81. what are your values and principles? quick feedback over features explicit code over annotations/xml simplicity over familiarity single purpose over full stack
  82. 82. what are your values and principles? quick feedback over features explicit code over annotations/xml single purpose over full stack go with the Web, not against it simplicity over familiarity
  83. 83. we’re all biased
  84. 84. it’s ok to start with familiar
  85. 85. 9) steal like an artist
  86. 86. 10) Think like a freak
  87. 87. bit.ly/Java_tips

×