Code Monkey home page Code Monkey logo

vale-java-practice's Introduction

Vale-Java-Practice

The objective of this practice is to cover a basic set of Java techniques, this will include some OOP techniques and potentially some Lambda expressions.

This project may include excessive comments, this is purely as a reflection of recollection and refreshing of each concept explored. Tasks will include more programmatic driven solutions rather than an exploration of java techniques and keywords.

Checkout the feature-branch model here!

Code Coverage: 96.6%

ACTIVE PROJECT PHASE: VALE

Topics to Cover:

  • Java Basics:

    • Variables
    • Methods
    • Flow & Control
    • Arrays
    • Operations (Incremental, Arithmetic, PEMDAS/BIDMAS, Modulus)
    • Conditionals (if, switch-case, ternary bitwise)
    • Iteration/Loop(for, for-each, while, do-while)
    • Strings
  • Object-Oriented Programming

    • Class practices
    • Wrapper classes
    • Object-Oriented Programming Principles:
      • Encapsulation
      • Inheritance
      • Polymorphism
      • Abstraction
    • Enumeration
    • Generics
  • Advanced Java:

    • Exceptions: try, try-catch, try-finally
    • Scanners
    • Design Patterns
      • Creational
        • Builder Pattern
        • Singleton
      • Structural
        • Decorator Pattern
        • Adapter Pattern
      • Behavioural
        • Observer Pattern
        • Iterator Pattern
    • File In/Out
    • Annotations
    • Java Pattern/Regular Expression
    • Threads
    • Multithreading
    • Reflection

Java Version Features

  • JAVA 4/5

    • For-Each loops
    • VarArgs
    • Static import
    • Enumeration
    • AutoBoxing (Wrapper Classes, type inference)
    • Annotations
    • Generics
  • JAVA 7

    • (String enabled) Switch-Case
    • Multi-catch (multi block or type divide '|')
    • Type Inference
  • JAVA 8 (Projects: VALE, PASS):

    • Functional Interface
    • Streams/Lambdas
      • box
      • collect
        • Collectors
      • forEach
      • map
      • filter
      • sorted
      • reduce
    • Date & Time
    • Base-64 en/decoding
    • Method references
    • Default methods
    • JDBC
Java 9 (Projects:STRONGHOLD, BASTION)
  • Java 9 (Projects:STRONGHOLD, BASTION):
    • Private Interface Methods
    • Try-With Resources
    • Anonymous Classes
    • Safe Varargs annotations
    • Factory Methods (Set, List, Map; .of(x, y, z))
    • Java Modules
    • Stream Improvements
    • Underscore: '_' is a keyword
Java 10 (Projects: HALL, MYTHWRIGHT, AHDASHIM)
  • Java 10 (Projects: HALL, MYTHWRIGHT, AHDASHIM):
    • Optional .orElseThrow()
Java 11 (Projects: HALL, MYTHWRIGHT, AHDASHIM)
  • Java 11 (Projects: HALL, MYTHWRIGHT, AHDASHIM):
    • String Methods
      • isBlank
      • lines
      • strip
      • stripLeading
      • stripTrailing
      • repeat
    • File Methods:
    • Collection to Array
    • Java file execution
    • Predicate "Not" method
    • Lambda Local variables

Additional topics may be incorporated, the repo should follow a developer-branch(also know as feature-branch) model.


Some additional topics might include:

  • Tasks to complete
  • A basic java-maven application.
  • Unit testing with Junit.

vale-java-practice's People

Contributors

morickclive avatar

Watchers

 avatar  avatar

vale-java-practice's Issues

Implement: "Streams" Objective

Streams covers a wide array of sub topics in utilising streams in different ways.

These include the following points:

  • Collect
    • Collectors
  • maps
  • filter
  • forEach
  • sorted
  • reduce

BUG: Correct console output

When the application runs, the output provides a thread race-condition evaluation, thus the output doesn't match a procedural application output.

Implement: "JDBC" Objective

In this topic I'll be covering the following topics:

  • Entity Relationship Diagram
  • One-to-Many relationship
  • JDBC Connector (Establishing a connection to an existing database)

This will include the usage of:

  • SQL
    • DDL
    • DML
    • DQL
  • Schemas
  • Primary-Foreign key Relationships

And will begin to define the "persistence" layer in conjunction to a "business" layer to help maintain and build upon application data irrespective of runtime lifecycle.

BUG: Remote merge FF issue vs local merge and alignment

From observation merging practice has been local merging due to two factors:

  • No ff merges; better network insight
  • Solo project, approval is limited in requirement or meaning.

However, recent conflicts with remote branch management with github pull requests means merging should be reviewed on github/remote rather than local.

An Issue with this is determining which to commit to as a approach.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.