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. 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. Password hashing is one of those things that's so simple, but yet so many people get wrong. With this page, I hope to explain not only the correct way to do it, but why it should be done that way. 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.

What is password hashing? 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. @GET("/users/list") Download. 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... 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.

It also contains detailed performance results. 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? It's fast. Note that this is a log-log scale, not linear. Great What do I do next? Java 8 Resources | lambdas | method references | defender methods | streams. The Holy Java. Nailgun: Insanely Fast Java. Last Updated November 25, 2012 Thinnest. 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. What's New? See the Changelog. How does it work? See the project background. How do I get it? From GitHub. Before you download it, be aware that *it's not secure*. How do I use it? See the Quick Start guide. 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. Home | 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. 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.

The latest release is 16.0.1, released February 4, 2014. Start using Guava You can download a JAR at: Guava is also available in Maven Central under the following identifiers: Learn more about how to UseGuavaInYourBuild. Please see the 16.0 release notes for more details about this release. Learn about Guava To stay informed and get "tip of the week"-style posts, follow +Google Guava on Google+. To just stay informed, period, about important news that every Guava user needs to know, subscribe to guava-announce. To report a defect or request a feature, click the Issues tab above and enter a new issue. To get help on a specific question or problem, post a question to Stack Overflow with the tag "guava".

Keep an eye on project updates using any of these Project Feeds.