From 7268c0b542dd2206aef77d3a6c8792e2dbdb8741 Mon Sep 17 00:00:00 2001 From: Vijay Krishna Palepu Date: Sun, 22 Nov 2015 18:08:51 -0800 Subject: [PATCH 1/3] PIT Mutation Testing framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6845473..02d6161 100644 --- a/README.md +++ b/README.md @@ -579,6 +579,7 @@ A curated list of awesome Java frameworks, libraries and software. * [JUnit](http://junit.org/) - Common testing framework. * [JUnitParams](https://pragmatists.github.io/JUnitParams/) - Creation of readable and maintainable parametrised tests. * [Mockito](https://github.com/mockito/mockito) - Creation of test double objects in automated unit tests for the purpose of TDD or BDD. +* [PIT](http://pitest.org) - Mutation-testing framework for Java and JVM. * [PowerMock](https://github.com/jayway/powermock) - Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers. * [REST Assured](https://github.com/jayway/rest-assured) - Java DSL for easy testing for REST/HTTP services. * [Selenide](http://selenide.org/) - Concise API around Selenium to write stable and readable UI tests. From 5013135d2a0ca78fdc7cfb88d328dcf1b02874b7 Mon Sep 17 00:00:00 2001 From: Vijay Krishna Palepu Date: Wed, 25 Nov 2015 13:37:18 -0800 Subject: [PATCH 2/3] Merge remote-tracking branch 'akullpp/master' Conflicts: README.md --- README.md | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 02d6161..47ec59c 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Imagery](#imagery) - [JSON](#json) - [JVM and JDK](#jvm-and-jdk) - - [Languages](#languages) - [Logging](#logging) - [Machine Learning](#machine-learning) - [Messaging](#messaging) @@ -165,8 +164,10 @@ A curated list of awesome Java frameworks, libraries and software. *Everything which simplifies interactions with the database.* +* [Apache Hive] (https://hive.apache.org/) - Data warehouse infrastructure built on top of Hadoop. * [Apache Phoenix](http://phoenix.apache.org/) - High performance relational database layer over HBase for low latency applications. * [Crate](https://crate.io/) - Distributed data store that implements data synchronization, sharding, scaling, and replication. In addition, it provides a SQL-based syntax to execute queries across a cluster. +* [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. * [Flyway](http://flywaydb.org/) - Simple database migration tool. * [H2](http://h2database.com/) - Small SQL Database notable for its in-memory functionality. * [HikariCP](https://github.com/brettwooldridge/HikariCP) - High performance JDBC connection pool. @@ -178,25 +179,26 @@ A curated list of awesome Java frameworks, libraries and software. * [Presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data. * [Querydsl](http://www.querydsl.com/) - Typesafe unified queries. * [Redisson](https://github.com/mrniko/redisson) - Allows for distributed and scalable data structures on top of a Redis server. -* [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. ## Data structures *Efficient and specific data structures.* +* [Apache Avro](https://avro.apache.org/) - Data interchange format featuring among others: dynamic typing, untagged data, absence of manually assigned IDs. +* [Apache Orc](https://orc.apache.org/) - Fast and efficient columnar storage format for hadoop based workloads. * [Apache Parquet](http://parquet.apache.org/) - Columnar storage format based on assembly algorithms from the Dremel paper by Google. +* [Apache Thrift](https://thrift.apache.org/) - Data interchange format that originated at Facebook. +* [Persistent Collection](http://pcollections.org/) - Persistent and immutable analogue of the Java Collections Framework. * [Protobuf](https://github.com/google/protobuf) - Google's data interchange format. * [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. * [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. -* [Apache Thrift](https://thrift.apache.org/) - Data interchange format that originated at Facebook. -* [Apache Avro](https://avro.apache.org/) - Data interchange format featuring among others: dynamic typing, untagged data, absence of manually assigned IDs. ## Date and Time *Libraries related to handling date and time.* * [Joda-Time](http://www.joda.org/joda-time/) - De facto standard date/time-library before Java 8. -* [ThreeTenBP](https://github.com/ThreeTen/threetenbp) - Port of JSR 310 (java.time package) by the author of Joda-Time. +* [ThreeTenBP](https://github.com/ThreeTen/threetenbp) - Port of JSR 310 (java.time package) by the author of Joda-Time. * [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. ## Dependency Injection @@ -288,11 +290,11 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that facilitate functional programming.* * [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, trampolines and much more. +* [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms. * [Fugue](https://bitbucket.org/atlassian/fugue) - Functional extensions to Guava. * [Functional Java](http://www.functionaljava.org) - Implements numerous basic and advanced programming abstractions that assist composition-oriented development. * [Javaslang](http://javaslang.com) - Functional component library that provides persistent data types and functional control structures. * [jOOλ](https://github.com/jOOQ/jOOL) - Extension to Java 8 which aims to fix gaps in lambda, providing numerous missing types and a rich set of sequential Stream API additions. -* [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms. ## Game Development @@ -308,7 +310,7 @@ A curated list of awesome Java frameworks, libraries and software. * [JavaFX](http://www.oracle.com/technetwork/java/javase/overview/javafx-overview-2158620.html) - The successor of Swing. * [Scene Builder](http://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-info-2157684.html) - Visual layout tool for JavaFX applications. -* [SWT](http://www.eclipse.org/swt/) - The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. +* [SWT](http://www.eclipse.org/swt/) - The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. ## High Performance @@ -357,23 +359,13 @@ A curated list of awesome Java frameworks, libraries and software. * [JDK 9](https://jdk9.java.net/) - Early access releases of JDK 9. * [OpenJDK](http://openjdk.java.net/) - Open-source implementation. -## Languages - -*Languages other than Java that can be used to write JVM applications.* - -* [Scala](http://www.scala-lang.org/) - Statically typed programming language that fuses the object - oriented model and functional programming ideas. -* [Groovy](http://www.groovy-lang.org/) - Optionally typed and dynamic language, with static-typing and static compilation capabilities. Currently an incubating Apache project -* [Clojure](http://clojure.org/) - Dynamically typed programming language that can be seen as a modern take on Lisp. -* [Ceylon](http://ceylon-lang.org/) - Statically typed object-oriented language developed by RedHat. -* [Kotlin](http://kotlinlang.org/) - JetBrain's statically typed programming language for the JVM, Android and the browser. -* [Eclipse Golo](http://golo-lang.org/) - A simple dynamic language that makes extensive usage of `invokedynamic`, currently an incubating Eclipse Technology project. - ## Logging *Libraries that log the behavior of an application.* * [Apache Log4j 2](http://logging.apache.org/log4j/) - Complete rewrite with a powerful plugin and configuration architecture. -* [kibana](https://www.elastic.co/products/kibana) - Analyzes and visualizes log files. +* [graylog](https://www.graylog.org/) - Open-source aggregator suited for extended role and permission management. +* [kibana](https://www.elastic.co/products/kibana) - Analyzes and visualizes log files. Some features require payment. * [Logback](http://logback.qos.ch/) - Robust logging library with interesting configuration options via Groovy. * [logstash](https://www.elastic.co/products/logstash) - Tool for managing log files. * [Metrics](https://github.com/dropwizard/metrics) - Expose metrics via JMX or HTTP and can send them to a database. @@ -414,6 +406,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Jimfs](https://github.com/google/jimfs) - In-memory file system. * [Lanterna](https://code.google.com/p/lanterna/) - Easy console text GUI library similar to curses. * [LightAdmin](http://lightadmin.org/) - Pluggable CRUD UI library for rapid application development. +* [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. * [OpenRefine](http://openrefine.org/) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. * [RoboVM](https://robovm.com/) - Commercial framework with a free trial to write native iOS apps. @@ -539,8 +532,8 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that handle serialization with high efficiency.* * [FlatBuffers](https://github.com/google/flatbuffers) - Memory efficient serialization library that can access serialized data without unpacking and parsing it. -* [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. * [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK compatible high performance object graph serialization. +* [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. * [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. ## Server @@ -550,7 +543,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Apache Tomcat](http://tomcat.apache.org/) - Robust all-round server for Servlet and JSP. * [Apache TomEE](http://tomee.apache.org/) - Tomcat plus Java EE. * [Jetty](http://www.eclipse.org/jetty/) - Lightweight, small server, often embedded in projects. -* [WebSphere Liberty](https://developer.ibm.com/wasdev/) - Lightweight, modular server developed by IBM +* [WebSphere Liberty](https://developer.ibm.com/wasdev/) - Lightweight, modular server developed by IBM. * [WildFly](http://www.wildfly.org/) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. ## Template Engine @@ -573,13 +566,18 @@ A curated list of awesome Java frameworks, libraries and software. * [Citrus](http://citrusframework.org/) - Integration testing framework with focus on client- and serverside messaging. * [Cucumber](https://github.com/cucumber/cucumber-jvm) - BDD testing framework. * [Gatling](http://gatling.io/) - Load testing tool designed for ease of use, maintainability and high performance. +* [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. * [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. -* [JGiven](http://jgiven.org) - Developer-friendly BDD testing framework compatible with JUnit and TestNG +* [JGiven](http://jgiven.org) - Developer-friendly BDD testing framework compatible with JUnit and TestNG. * [JMockit](http://jmockit.org/) - Mocks static, final methods and more. * [JUnit](http://junit.org/) - Common testing framework. * [JUnitParams](https://pragmatists.github.io/JUnitParams/) - Creation of readable and maintainable parametrised tests. * [Mockito](https://github.com/mockito/mockito) - Creation of test double objects in automated unit tests for the purpose of TDD or BDD. -* [PIT](http://pitest.org) - Mutation-testing framework for Java and JVM. +<<<<<<< HEAD +* [PIT](http://pitest.org) - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test-suites. +======= +* [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks, Duke's Choice Award 2013. +>>>>>>> akullpp/master * [PowerMock](https://github.com/jayway/powermock) - Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers. * [REST Assured](https://github.com/jayway/rest-assured) - Java DSL for easy testing for REST/HTTP services. * [Selenide](http://selenide.org/) - Concise API around Selenium to write stable and readable UI tests. @@ -589,8 +587,11 @@ A curated list of awesome Java frameworks, libraries and software. * [Truth](https://github.com/google/truth) - Google's assertion and proposition framework. * [Unitils](http://www.unitils.org/) - Modular testing library for unit and integration testing. * [WireMock](http://wiremock.org/) - Stubbs and mocks web services. +<<<<<<< HEAD * [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks, Duke's Choice Award 2013. -* [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. +* [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. +======= +>>>>>>> akullpp/master ## Utility From 221b7a1e42e8d0e4e838dff4574630b1a5f5b4d0 Mon Sep 17 00:00:00 2001 From: Vijay Krishna Palepu Date: Wed, 25 Nov 2015 13:44:25 -0800 Subject: [PATCH 3/3] Correcting the order of PIT --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a5b666..75ba2f0 100644 --- a/README.md +++ b/README.md @@ -573,8 +573,8 @@ A curated list of awesome Java frameworks, libraries and software. * [JUnit](http://junit.org/) - Common testing framework. * [JUnitParams](https://pragmatists.github.io/JUnitParams/) - Creation of readable and maintainable parametrised tests. * [Mockito](https://github.com/mockito/mockito) - Creation of test double objects in automated unit tests for the purpose of TDD or BDD. -* [PIT](http://pitest.org) - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test-suites. * [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks, Duke's Choice Award 2013. +* [PIT](http://pitest.org) - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test-suites. * [PowerMock](https://github.com/jayway/powermock) - Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers. * [REST Assured](https://github.com/jayway/rest-assured) - Java DSL for easy testing for REST/HTTP services. * [Selenide](http://selenide.org/) - Concise API around Selenium to write stable and readable UI tests.