Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Egy közösségi brainstorming platform technológiai stackje – JUM 2012.11.21. Marhefka István CTO.

Hasonló előadás


Az előadások a következő témára: "Egy közösségi brainstorming platform technológiai stackje – JUM 2012.11.21. Marhefka István CTO."— Előadás másolata:

1 Egy közösségi brainstorming platform technológiai stackje – JUM 2012.11.21. Marhefka István CTO

2 Közös kiértékelés Vízió Közös fejlesztés, egymást inspirálva kreativitással

3 Közös kiértékelés A csapat

4 Közös kiértékelés a b

5 b

6 Szempontok •Közösségi alkalmazás  Folyamatosan növekvő felhasználószám, könnyen skálázható megoldás •Könnyű karbantarthatóság, továbbfejlesztés (XP, CD) •Fejlesztők könnyen bevonhatók legyenek •Ritka, speciális ismereteket igénylő technológia minél kevesebb legyen •Egyszerűség •Multiplatform: desktop/notebook, tablet, smartphone •Lean Startup, Agile alapokon •Költségkímélő

7 Közös kiértékelés Technológiai stack áttekintés Kliens •HTML5 (Websocket) •CSS3 •Javascript •AJAX •JQuery Szerver •Java •JSP, Servlet •MongoDB •Google Guice (DI) •Socket.IO

8 Közös kiértékelés Java •JVM •Type-safe •Kifinomult refactoring (IntelliJ IDEA) •Stabil, érett •Sok fejlesztő

9 Közös kiértékelés MongoDB I. (fejlesztői szemszögből) •alapvetés: Java kódban legyen az üzleti logika •NoSQL, Document-oriented database (schemeless) •vö. SQL: O/R impedance mismatch (pl. Hibernate) •OO: behaviour, SQL: structure •Atomi műveletek documentek szintjén •Optimistic locking •JSON

10 Közös kiértékelés MongoDB II. (fejlesztői szemszögből) •Feature rich •Easy-to-use ( fapados) •Domain model bonyolultabb logikák esetén (aggregate, domain events) •Transaction scripts egyszerűbb logikák esetén •Denormalizált (no joins)

11 Közös kiértékelés MongoDB III. (üzemeltetői szemszögből) •Scale out (auto sharding, balancing, replica set, automated failover) •Ld. Foursquare

12 Közös kiértékelés Websocket •Real-time élmény kihasználva a HTML5 előnyeit (server side push) •Socket.IO •Production-ready •Hibatűrő •Fallback support (Comet, Flash) •Egyszerű •Gyors •Könnyen integrálható a JAVA-s stackbe •Nagy közösség

13 Közös kiértékelés google-gson •Java objects json •no annotations required •generics support •supports arbitrarily complex objects •easy-to-use •Felhasználási mód: •AJAX JSON requests/responses Java parameter objects (type-safe) •Java objects MongoDB •Joda Time DateTime class BagOfPrimitives { private int value1 = 1; private String value2 = "abc"; BagOfPrimitives() { } } (Serialization) BagOfPrimitives obj = new BagOfPrimitives(); Gson gson = new Gson(); String json = gson.toJson(obj); ==> json is {"value1":1,"value2":"abc"} (Deserialization) BagOfPrimitives obj2 = gson.fromJson(json, BagOfPrimitives.class); ==> obj2 is just like obj

14 Közös kiértékelés Google Guava •Google Core Libraries for Java 1.6+ •Collections •Functional idioms •Object common methods •Many more…

15 Közös kiértékelés Hamcrest •Matchers that can be combined to create flexible expressions of intent •Declarative matching of rules (constraints or predicates) Pl: public void testEquals() { Biscuit theBiscuit = new Biscuit("Ginger"); Biscuit myBiscuit = new Biscuit("Ginger"); assertThat(theBiscuit, equalTo(myBiscuit)); } Pl: assertThat(Math.sqrt(-1), is(notANumber()));

16 Közös kiértékelés Jsoup •working with real-world HTML •very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods Connection connection = Jsoup.connect("https://graph.facebook.com/fql"); String query = … //FQL expression connection.ignoreContentType(true).data("access_token", facebookAccessToken.value()).data("q", query).timeout(10000).get(); Document document = connection.response().parse(); String response = document.text(); Gson gson = new Gson(); Map responseMap = gson.fromJson(response, Map.class);

17 Közös kiértékelés Egyéb libraryk/toolok thumbnailator

18 Köszönöm! Marhefka István marhefka@be-novative.com Facebook: Be-novative Developer Forum http://be-novative.com


Letölteni ppt "Egy közösségi brainstorming platform technológiai stackje – JUM 2012.11.21. Marhefka István CTO."

Hasonló előadás


Google Hirdetések