1 / 56

Bare-knuckle web development

Bare-knuckle web development. Agile Prague Johannes Brodwall, Chief scientist Exilesoft Global. Philosophy Demonstration Ruminations. Part I:. The bare-knuckle philosophy. Fear => Pair Hubris => Speed (and fun). High impact with low ceremony. Framework light Test-driven

selene
Download Presentation

Bare-knuckle web development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bare-knuckle web development Agile Prague Johannes Brodwall, Chief scientist Exilesoft Global

  2. Philosophy Demonstration Ruminations

  3. Part I:

  4. The bare-knuckle philosophy

  5. Fear => Pair Hubris => Speed (and fun)

  6. High impact with low ceremony

  7. Framework light Test-driven No calculators

  8. Light on framework

  9. Frameworks solve 80% of the job…

  10. … and makes the rest 10 times as hard

  11. “Why did Hibernate suddenly slow down?”

  12. “How do I make JBoss behave the way I want?”

  13. “How do I implement a custom SOAP header with JAX-WS?”

  14. “Why did my dependencies not inject?”

  15. “How do I do anything with Spring”

  16. Test-driven

  17. Fast feedback cycle

  18. “I can see how TDD works for toy examples…”

  19. “… but how can we use it when we have all these really complicated technologies???”

  20. (Hint: “all these complicated technologies” I think I see your problem right here...)

  21. Don’t use a calculator…

  22. Part II:

  23. Demo: Phonebook web app

  24. Part III:

  25. The real world

  26. Build your app this way?

  27. Probably not

  28. Well, why not?

  29. I am most likely insane

  30. Understand what’s going on

  31. «Don’t reinvent the wheel»

  32. Are you using technology to solve your problems?

  33. Or so that you don’t have to face your problems?

  34. ... yet.

  35. Overheated brain

  36. 95 % test coverage

  37. 95 % test coverage 5-10 seconds

  38. 95 % test coverage 5-10 seconds < 1 day to create «framework»

  39. SOAP: Construct XML POST on HttpURLConnection

  40. @Override public String getCountryByIp(String ipAddress) { Document soapRequest = soapElement("S:Envelope", $("S:Body", wsxElement("wsx:GetGeoIP", $("wsx:IPAddress", ipAddress)))); Document soapResponseendpoint.postRequest(getSOAPAction(), soapRequest); return$(soapResponse).xpath("/Envelope/Body/*") .xpath("GetGeoIPResult/CountryName").text(); }

  41. No friction

  42. Thinking in tests

  43. 1.

  44. Guiding test/ Web tests/ Acceptance test/ Usage Flow test

  45. 2.

  46. Get the infrastructure to work => separate out responsibility

  47. 3.

  48. Fine grained tests for internal logic

  49. Shallow, then deep

More Related