À oui.sncf
, je travaille au sein d'une équipe en charge de l'usine logicielle,
qui administre depuis des années une instance Gitlab self-hosted.
Cet article contient quelques-unes de nos recommandations à l'intention des utilisateurs de notre Gitlab, ayant pour but à la fois améliorer les performances de leurs pipelines …
Today I finally took the time to put up a live demo website for Hesperides!
https://hesperides.herokuapp.com
Hesperides is an open source tool dedicated to configuration management: it stores applications properties and mustache templates for configurations files. It is strongly hierarchized based on few main concepts: modules, applications …
Java Garbage collection log analysis made easy: Industry's first machine learning guided Garbage collection log analysis tool. GCeasy has in-built intelligence to auto-detect problems in the JVM & Android GC logs and recommend solutions to it.
We had an issue with a SpringBoot web app where we had the following error message when querying /manage/beans
Could not write JSON Attempted to serialize java.lang.Class Forgot to register a type adapter?
This was due to org.springframework.boot.actuate.beans.BeansEndpoint.BeanDescriptor having a java.lang.Class<?>
attribute.
We fixed it by configuring our Gson bean this way :
@Bean
public static Gson gson() {
return new GsonBuilder()
...
.addSerializationExclusionStrategy(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes field) {
return field.getDeclaredType().getTypeName().equals("java.lang.Class<?>");
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.create();
}
Micrometer provides a simple facade over the instrumentation clients for the most popular monitoring systems, allowing you to instrument your JVM-based application code without vendor lock-in. Think SLF4J, but for metrics.
From http://taint.org
Great advice from Trisha Gee on J8 features and how to code-review code which uses them
Ces dernières 24h, j'ai eu cette lubie stupide de vouloir utiliser l'API Tickets Restaurant. Une API qui n'est pas documentée. Dont le site est en ASP.NET (beurk). Qui a une app officielle android.
Ahah !
Bref, j'ai tenté de reverse-engineer un APK alors que je n'ai même pas de smartphone …
vendor-neutral open source library for metric collection and tracing. OpenCensus is built to add minimal overhead and be deployed fleet wide, especially for microservice-based architectures.
OpenCensus currently supports Prometheus, SignalFX, Stackdriver, Zipkin, Datadog, and Azure App Insights.
A single set of libraries for many languages, including Java, C++, Go, .Net, Python, PHP, Node.js, Erlang, and Ruby.
How To Test a spring.datasource.url
like jdbc:mysql://localhost:3306/my_table
:
git clone https://github.com/julianhyde/sqlline && cd sqlline
mvn package -Dmaven.test.skip=true
cp .../mysql-connector-java-5.1.40.jar target/
export CLASSPATH=$PWD/target/sqlline-1.4.0-SNAPSHOT-jar-with-dependencies.jar:$PWD/target/mysql-connector-java-5.1.40.jar
bin/sqlline
!connect jdbc:mysql://localhost:3306/my_table $user $password
designed for microservices, cloud native and container-based (Docker, K8s, Mesos) architectures. Underlying technology is a distributed tracing system.
Our mission is to remove the pain of handling servers, application stacks, software dependencies and databases.
Focus on your app development and deploy it in 2 minutes. No server to manage, hosting becomes instant and easy!
Looks very similar to Heroku
The Apache Tika™ toolkit detects and extracts metadata and text from over a thousand different file types (such as PPT, XLS, and PDF). All of these file types can be parsed through a single interface, making Tika useful for search engine indexing, content analysis, translation, and much more.
Vassal is a game engine for building and playing online adaptations of board games and card games. Play live on the Internet or by email. Vassal runs on all platforms, and is free, open-source software.
Une alternative intéressant à BGA Studio: http://studio.boardgamearena.com
Un comparatif : https://www.trictrac.net/forum/sujet/vassal-c-est-genial
Java source code on SVN: http://svn.code.sf.net/p/vassalengine/svn/VASSAL-src/trunk/
Pants supports Java, Scala, Python, C/C++, Go, Javascript/Node, Thrift, Protobuf and Android code.
Meson is an open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible.
Multiplatform support for Linux, OSX, Windows, GCC, Clang, Visual Studio and others supported languages include C, C++, Fortran, Java, Rust
Optional Ninja backend
Supported languages:
.NET, Adobe Air, Android, Cold Fusion, Drupal, Go, iOS, Java, JavaScript, Python, macOS, Nancy, Node.js, PHP, Ruby on Rails, Unity, WordPress
Closed-source server backend
https://airbrake.io/languages :
Ruby, Rails, Java, Javascript, Magento, Php, .NET, Python, Django, Node.js, Swift, Android, Go, Sinatra, Angularjs, Flask, Ember, Express, Hapi
Open-source server backend of Airbrake (which has a closed-source backend)
Since Spring 4.1, it is really easy to enable JSONP on an API controller:
@RestController
@RequestMapping(value = "/")
public class MyController {
@ControllerAdvice
static class JsonpAdvice extends AbstractJsonpResponseBodyAdvice {
public JsonpAdvice() {
super("callback"); // name of the query parameter to use
}
}
@RequestMapping(value = "/", method = RequestMethod.GET)
public MyAPIResult getStuff(...) {
...
}
}
There is no RFC …
Annotation processor to create immutable objects and builders. Feels like Guava's immutable collections but for regular value objects. JSON, Jackson, Gson, JAX-RS integrations included http://immutables.org
"Every class begins with a babe, in a cafe."
Ce court article détaille comment mettre en place simplement 3 analyseurs de code statique avec Maven.
Au sein de mon équipe à Voyages-Sncf, le nombre de composants Java est en train d'augmenter.
Nous avons déjà toute une batterie de tests pour valider notre code, ainsi qu'un Sonar en place …
En mars dernier, j'ai participé à la Battledev de RegionJobs.
Et c'était super fun.
Pour ceux qui ne connaissent pas, c'est une compétition de programmation en ligne, où l'on doit résoudre 5 questions de difficulté croissante en 2 heures.
J'ai eu l'occasion d'y participer avec quelques collègues, et ça a …
Simply add the following class to your project. It will be automatically registered at start-up if you use the @EnableAutoConfiguration
annotation :
@ControllerAdvice // Makes this the default behaviour of all controllers
@ConditionalOnProperty(prefix = "app", name = "disable-default-exception-handling")
class GlobalControllerExceptionHandler {
@ExceptionHandler(Exception.class) // Catch any exception
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) // Returns an error code …
I’ve always found it strange that Java is the most popular programming language on the planet yet actually getting stats out is extremely frustrating.
Orbit is a framework to write distributed systems using virtual actors on the JVM. It allows developers to write highly distributed and scalable applications while greatly simplifying clustering, discovery, networking, state management, actor lifetime and more.
Java 8 Resources (lambdas, method references, defender methods, streams) - Java 8 Cheatsheet
Pourquoi, mais pourquoi faut-il 3 lignes en Java pour juste extraire un groupe d'une expression régulière qui "match" ???
Matcher matcher = Pattern.compile("o?k(b|i)s+").matcher("kiss");
matcher.matches();
assert matcher.group(1) == "i";
En Python:
assert re.match("o?k(b|i)s+", "kiss").group(1) == "i …
java-design-patterns - Design pattern samples implemented in Java
This post is a cheatsheet with enumeration of options, which should be always used to configure Java Virtual Machine for Web-oriented server applications (i.e. Web Front-End) in production or production-like environments.
error-prone - Catch common Java mistakes as compile-time errors
What does it means when some tool or framework has literally dozens of guides, pages long each? It probably means that it is popular, or complicated to use. Usually, both. That’s the story of Maven Central (a.k.a. Central Repository, a.k.a. repo1, a.k.a. ibiblio). Of course, there is a better alternative nowadays - Bintray is already…
finagle - A fault tolerant, protocol-agnostic RPC system
Communauté du Libre partage
This article explain What is Oracle Nashorn, its advantages, its use and how to convert java program to JavaScript and JavaScript to java program.
java.lang.OutOfMemoryError: Java heap space What is causing it? What is the solution? ...
Blog on Java, Performance, Concurrency, NIO, Unsafe, Low latency, Programming, Software, Philosophy
java-faker - Brings popular ruby faker gem to Java