background preloader

Java Libraries

Facebook Twitter

Martint/jmxutils. Secure Salted Password Hashing - How to do it Properly. If you're a web developer, you've probably had to make a user account system.

Secure Salted Password Hashing - How to do it Properly

The most important aspect of a user account system is how user passwords are protected. User account databases are hacked frequently, so you absolutely must do something to protect your users' passwords if your website is ever breached. The best way to protect passwords is to employ salted password hashing.

This page will explain why it's done the way it is. There are a lot of conflicting ideas and misconceptions on how to do password hashing properly, probably due to the abundance of misinformation on the web. IMPORTANT WARNING: If you are thinking of writing your own password hashing code, please don't!. If for some reason you missed that big red warning note, please go read it now. You may use the following links to jump to the different sections of this page.

Apache/lucene-solr. Retrofit. Introduction Retrofit turns your REST API into a Java interface. public interface GitHubService { @GET("/users/{user}/repos") List<Repo> listRepos(@Path("user") String user);} The RestAdapter class generates an implementation of the GitHubService interface.


RestAdapter restAdapter = new RestAdapter.Builder() .setEndpoint(" .build(); GitHubService service = restAdapter.create(GitHubService.class); Each call on the generated GitHubService makes an HTTP request to the remote webserver. List<Repo> repos = service.listRepos("octocat"); Use annotations to describe the HTTP request: URL parameter replacement and query parameter support Object conversion to request body (e.g., JSON, protocol buffers) Multipart request body and file upload API Declaration Annotations on the interface methods and its parameters indicate how a request will be handled.

Request Method Every method must have an HTTP annotation that provides the request method and relative URL. WebJars - Web Libraries in Jars. Jaunt - HTTP Client and Java Web Scraping API. Fernandezpablo85/scribe-java. Spock - the enterprise ready specification framework. Fernandezpablo85/scribe-java. Typesafehub/config. JUnitBenchmarks: Code benchmarking in JUnit4. HPPC: High Performance Primitive Collections for Java. Mechanical Sympathy. Disruptor by LMAX-Exchange. Download here...

Disruptor by LMAX-Exchange

Discussion, Blogs & Other Useful Links Presentations Introduction to the Disruptor Read This First To understand the problem the Disruptor is trying to solve, and to get a feel for why this concurrency framework is so fast, read the Technical Paper. And now for some words from our sponsors... What is the Disruptor? LMAX aims to be the fastest trading platform in the world. The Disruptor is the result of our research and testing. This is not a specialist solution, it's not designed to work only for a financial application.

It works in a different way to more conventional approaches, so you use it a little differently than you might be used to. If you prefer real, live people explaining things instead of a dry paper or content-heavy website, there's always the presentation Mike and Martin gave at QCon San Francisco. What's the big deal? Method references. The Holy Java. Nailgun: Insanely Fast Java. Last Updated November 25, 2012 Thinnest.

Nailgun: Insanely Fast Java

Client. Ever? Nailgun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead. Programs run in the server (which is implemented in Java), and are triggered by the client (written in C), which handles all I/O. Martylamb/nailgun. Clearspring/stream-lib. Logback Home. Guice - Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 5 and above, brought to you by Google.

ArcBees/Jukito. Netflix Open Source. Metrics. Introducing JDBCMetrics. 22 May 2013 I've been working with different Java web applications since the late 90's and when there have been performance issues, I would say that 99% of the time, the problem is the database, or rather how it is used.

Introducing JDBCMetrics

At my last company (Josh) we had a really good connection pool wrapper, that collected data and made us know exactly what happens to the database. But that code isn't Open Source but there are other solutions out there like JDBCSpy and Log4JDBC that helps you get info. What I'm lacking is getting info per page basis and a better way of colleting the data. That's why I teamed up with Magnus Lundberg & created JDBCMetrics. Metrics backend First of all; JDBCMetrics is using Yammers/Coda Hales great Metrics package, to keep track of the metrics. JDBCMetrics collects the following metrics: You will gets stats both overall and specific per request. Getting number of database request per HTTP request Metrics in the log ... Metrics in the response header Metrics summary. Guava-libraries - Guava: Google Core Libraries for Java 1.6+ The Guava project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.

guava-libraries - Guava: Google Core Libraries for Java 1.6+

The latest release is 16.0.1, released February 4, 2014. Start using Guava You can download a JAR at: