Java Topics
-
Code Style: astyle—automatic code indenting tool available on CSIL
-
Code Style: checkstyle—code style checker
-
CSV files—Comma Separated Value files, and processing them in Java
-
Databases—SQL, Postgres, H2, etc
-
gitignore for Maven—An example gitignore for Java Maven projects
-
Heroku—A cloud computing platform
-
Heroku: Troubleshooting—Solutions to common problems and errors
-
Java—The language that is the basis of the Spring web framework
-
Java: Annotations—All about those funny @ things that precede methods
-
Java: ArrayList to array—e.g. ArrayList<Integer> to int []
-
Java: Codacy—A static analysis tool for Java
-
Java: Command Line Arguments—how to the access contents of (String [] args)
-
Java: == vs. .equals(), and hashCode()—the difference, and how to override .equals and .hashCode()
-
Java: HttpURLConnection—And HttpsURLConnection; a Java object for retrieving content from a URL
-
Java: Installing—Installing Java 11
-
Java: JAR files—Creating and using .jar files
-
Java: JVM—The Java Virtual Machine
-
Java: Lambda Expressions—Shorter, cleaner code using anonymous functions
-
Java: Overriding vs. Overloading—The difference between these
-
Java: Plaform Independent Newlines—\n isn't as portable as you might like
-
Java: Sorting—Comparable, Comparators, and sorting ArrayLists and such
-
Java: static analysis—Tools that analyze source code without running it
-
Java: Streams in Java 8 —A whole new style of programming
-
Java: Unchecked Operations—That message that says blah.java uses unchecked or unsafe operations. Recompile with -Xlint:unchecked for details.
-
Java: Web Applications—Overview of various frameworks (Servlets, Spring, Apache Spark-Java)
-
Javadoc—Documentation generator for java
-
Javadoc: Legacy Code Projects—step-by-step instructions for javadoc for UCSB-CS56-Projects
-
javadoc: publishing to github pages from a private repo (the old way)—step-by-step instructions
-
javadoc: publishing to github pages from a private repo—step-by-step instructions
-
javadoc: publishing to github pages from a public repo—step-by-step instructions
-
JDBC—Java Database Connectivity--a way to use SQL-based databases with Java
-
JSON: Jackson—A Java Package for processing JSON
-
JUnit—Unit testing framework for Java
-
JUnit: Hamcrest Matcher style—A different style of writing assertions for Unit testing
-
JUnit: Mocking System.out—How do you write a JUnit test for a method that uses System.out?
-
Log4J: —A logging framework for java
-
Log4J: SparkJava—Using Log4J with SparkJava
-
Log4J: Spring Boot—Using Log4J with Spring Boot
-
Lombok: —Automatic generation of getters/setters, etc.
-
MacOS—Setting up an environment to do CS56 work on your own Mac (not ssh'ing into CSIL)
-
Maven—A build tool for Java plus a package manager
-
Maven: Adding custom jar dependency—Including a jar file that isn't available as a standard Maven dependency
-
Maven: Convert Ant to Maven—replacing ant build.xml with maven pom.xml
-
Maven: FAQ—Frequently Asked Questions
-
Maven: Hello World—A relatively simple Hello World app with Maven
-
Maven: Installing—on Windows, Mac, Linux
-
Maven: Javadoc—Generating javadoc when using Maven
-
Maven: Managing Versions—How do you get the right version for dependencies, plugins, etc.
-
Maven: Pom.xml Order—In what order should the elements of a pom.xml appear
-
Maven: Profiles—Making your pom.xml do different things on localhost vs heroku, for example
-
Maven: Testing—Doing JUnit testing and other testing using mvn test, mvn verify, etc.
-
Maven: Xlint options—For example, what to do when you get `Recompile with -Xlint:unchecked for details`
-
MongoDB: Spring Properties—How to set properties for connecting to MongoDB when using Spring
-
Spring Boot: —A Java web application framework
-
Spring Boot: Actuator—Checking the endpoint mappings, health or other info about your Spring Boot app
-
Spring Boot: Application Properties—Defining the application.properties
-
Spring Boot: ControllerAdvice—A place to factor out common ExceptionHandler, ModelAttribute and InitBinder code across multiple controllers
-
Spring Boot: CSV—Downloading and Uploading CSV files with Spring Boot
-
Spring Boot: Database Migrations—When you need to make a change to your database schema for an app in progress
-
Spring Boot: Heroku—Tips for running with Spring Boot applications on Heroku
-
Spring Boot: Logging—How to write information to the log in Spring Boot
-
Spring Boot: OAuth—How to implement OAuth for authentication in Spring Boot
-
Spring Boot: POST and CSRF—If you get 403 forbidden messages when using POST
-
Spring Boot: Postgres—Using Spring Boot with Postgres
-
Spring Boot: RestTemplate—When you need to access other APIs from the backend of your Spring Boot Application
-
Spring Boot: Secrets—Ways of keepings database credentials and OAuth client secrets out of Github
-
Spring Boot: Security—Authentication, Authorization and other Security issues
-
Spring Boot: Sessions—How to make the stateless HTTP protocol stateful
-
Spring Boot: SQL—Working with SQL and Databases in Spring Boot
-
Spring Boot: VS Code—Suggested VS Code extensions for working with Spring Boot
-
Testing—Testing topics
-
Testing: Integration Testing with Maven—When you want to run the integration tests
-
Testing: Jacoco Reports—How to interpret the reports (red, yellow, green)
-
Testing: Jacoco via Maven—Setting up Jacoco test coverage, using Maven
-
Testing: Spring Boot Annotations—When to use certain annotations and what they do
-
Testing: Spring Boot HTMLUnit—Testing Spring Boot Webapps
-
Thymeleaf—A Templating Engine for Spring Boot