Skip to content

Commit 6bbc84f

Browse files
committed
Adding JavaOne and SeaJUG notes
1 parent 2db43f8 commit 6bbc84f

File tree

4 files changed

+129
-0
lines changed

4 files changed

+129
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
%h2 #JavaOne Adopting Java: Create Java’s Future. Now. [Notes]
2+
%i Martijn Verburg, Séti Afanou
3+
%p ACRONYM CITY!!!:
4+
%ul
5+
%li JUG - Java User Group
6+
%li JCP - Java Community Process
7+
%li JSR - Java Specification Request
8+
%li RI - Reference Implementation
9+
%li TCK - Technology Compatibility Kit
10+
%p Java EE's RI is usually JBoss or GlassFish
11+
%p If you want to have an RI you have to pass the TCK (their test suite).
12+
%p
13+
%a{:href => "https://java.net/projects/adoptajsr/pages/Home"}Adopting a JSR starts here.
14+
%p You should get involved in shaping Java if you like coding in Java. If you don't then other people (not you) will be the people shaping the language, and that could be a bad thing for you...
15+
%p JUGs can get involved with JSRs in lots of ways. One of the big ones is through training, testing and debugging.
16+
%p One of the fun things about the program is that you can meet lots of people from other JUGs around the world.
17+
%p Every single JSR is developed out in the open. It is all public and open for comment.
18+
%p
19+
You can join the
20+
%a{:href => "http://virtualjug.com/"}virtual JUG
21+
if you do not have a JUG near you.
22+
%p
23+
Java is build by OpenJDK. You can compile
24+
%a{:href => "http://openjdk.java.net/projects/jdk9/"}Java 9
25+
right now!
26+
%p A great way to give back is to try out the new APIs (write an app that runs against a proposed API) and see if it works the way you expect.
27+
%p
28+
You can work on RIs themselves as well! One fun one is
29+
%a{:href => "http://javamoney.github.io/"}JavaMoney.
30+
%p
31+
There is also a
32+
%a{:href => "https://github.com/unitsofmeasurement/unit-api"}units and measurements API
33+
that you can contribute to as well.
34+
%p Oracle is the lead for most of the Java EE JSRs, if you want to get involved with them, check out java.net.
35+
%p You can also join the "Expert Group" for a JSR, but fair warning it is a 20-40 hour per week time sink if you decide to do that.
36+
%p If you are really insane, you can ask to join the executive committee. There is almost no tech work on the executive committee, it is almost all lawyer work.
37+
%p If you want to get involved with a JSR, make sure you contact the Spec Lead before diving in.
38+
%p Great information, thanks!
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
%h2 #JavaOne James Gosling, Robots, the Raspberry Pi, and Small Devices [Notes]
2+
%i James Gosling, José Pereda, Johannes Weigend, Shai Almog, Jens Deters
3+
%p Java can be used to program any number of embedded systems. James Gosling, the father of the Java language is using JavaSE embedded on ARM to power robots in the ocean to do research.
4+
%p
5+
Also, it seems that the embedded comminuty REALLY LIKES
6+
%a{:href => "https://netbeans.org/"}Netbeans
7+
as an IDE.
8+
%p
9+
Java works great on
10+
%a{:href => "http://www.raspberrypi.org/"}RaspberryPI
11+
hobby hardward boxes. RaspberryPis are cool because they allow you to rapid prototype hardware project for very low cost. There is a great library called
12+
%a{:href => "http://pi4j.com/"}Pi4J
13+
to help you write Java code on a RaspberryPi.
14+
%p RaspberryPis are a great thing to play with your kids with. They are good tools to get your kids excited about programming and computer engineering.
15+
%p Fun stuff!
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
%h2 #JavaOne The OpenJDK Project: Your Java. Our Java. [Notes]
2+
%i Otávio Santana (@otaviojava), Roland Chrisbel Amour Malonga (@karianna)
3+
%p
4+
%a{:href => "http://openjdk.java.net/"}OpenJDK
5+
is a completely free and open source Java Development Kit developed by the Java community. There is currently support for Java 7, 8 and 9 (future).
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
%h2 Java Performance: Biggest Mistakes
2+
%i Andreas Grabner (@grabnerandi)
3+
%p We can all build better software if we care about performance.
4+
%p Nobody wants 503s. How can we make our applications more resilient against heavy load? Why not? Well, that means we all get pulled in at the middle of the night for a war room to get stuff fixed. That sucks. It also generates bad publicity, and very poor reviews.
5+
%p Business people do not like downtime either. The later we find a problem the more expensive it is to fix.
6+
%b 80% if code written in the US last year was bug fixing.
7+
%p 80% of the problems, though, are caused by 20% of the patterns.
8+
%p Performance is a critical aspect of software development, we should treat it is a first class citizen.
9+
%p 6 Situations on Why this happens and How to avoid it:
10+
%ol
11+
%li
12+
%p
13+
The "smart" engineer, that wants to reinvent the wheel can get you in trouble, but even more troublesome is the developer that
14+
%b "blindly" (re)uses existing components.
15+
"It works on my machine" is the most BS statement ever.
16+
%p
17+
Be careful when using Hibernate (or any other ORM) to see if the SQL makes sense for your use case. Always look to see what is happening under the covers.
18+
%li
19+
%p
20+
%b Not every architect makes good decisions.
21+
You always want to challenge your assumptions, especially if you did not make them originally.
22+
%p The classical N+1 query problem: when you see the same SQL select statement over and over again with one variable changed each time.
23+
%p When your developers do not understand how databases work, you are going to have a bad time.
24+
%b Do not think that your metrics tell you everything!!! You WILL miss things.
25+
%p
26+
Look at these metrics when working with databases:
27+
%ul
28+
%li Number of SQL Executions
29+
%li Number of SAME SQL Statements
30+
%li Connection Acquisition Time
31+
%li
32+
%p Disconnected Teams
33+
%p "Teamwork" between devs and ops can be troublesome. Devs, do NOT make back doors to subvert ops. You need to work together.
34+
%p Make sure that your test environment and you production environment look the same.
35+
%p
36+
Look at these metrics:
37+
%ul
38+
%li Number of log messages
39+
%li Number of exceptions (especially ones that are not in log files, you can find them with JMX)
40+
%li
41+
%p "Deployments" go bad!
42+
%p Surprise: test and prod are DIFFERENT! You have to understand that when you deploy your software.
43+
%b Do not upgrade your dependencies without testing them first! Never update in prod if you didn't upgrade in test.
44+
%p
45+
Look at these metrics:
46+
%ul
47+
%li Time spent in an API
48+
%li Number of calls to an API
49+
%li
50+
%p Pushing without a plan
51+
%p
52+
Always stop to think through how your project will render.
53+
%b Especially on mobile.
54+
%p When you push through things in a rush, you will miss things. You will break things.
55+
%p
56+
Look at these metrics:
57+
%ul
58+
%li Number of images
59+
%li Number of redirects
60+
%li Size of resources
61+
%li
62+
%p No "Agile" Deployment
63+
%p When you know that you are going to be going under heavy load, change your product to make your message heard. Get rid of the cruft on your page if you know your load will be high for a short amount of time.
64+
%p
65+
Look at these metrics:
66+
%ul
67+
%li Number of domains (accessing your page)
68+
%li Total size (of page load)
69+
%p We should not have to check performance metrics manually. We need to test our code. We have to test our architecture. That should be automated and part of the build cycle.
70+
%p We do NOT have to wait for bugs. We do not have to meet in the war rooms. If we care about performance as a first class citizen, we can make happier code and happier coders!
71+
%p Great talk, Andreas! Thanks for coming to Seattle!

0 commit comments

Comments
 (0)