Git Product home page Git Product logo

01-tools's Introduction

This is an assignment to the class Programmieren 3 at the University of Applied Sciences Rosenheim.

Assignment 1: A (Java) software engineers toolbox

Get familiar with Git

  1. Familiarize yourself with git by completing this interactive tutorial in your browser.
  2. Install git on your machine.
    • Mac: Open Terminal.app and install the Apple Developer Tools by executing xcode-select --install.
    • Linux: Use your distribution's package manager to install git; on Ubuntu, you'll run something like
       $ sudo apt-get update
       $ sudo apt-get install git
    • Windows: You should not use Windows, use Ubuntu on VirtualBox instead. Download and install the Windows installation package; make sure to install (and use) git bash.
  3. Try git in the real world:
    • Sign in or create an account on Github (it's free, and you should already have one...).
    • Create a new repository (note: with a free account, your're limited to public repos); select Initialize this repository with a README to add a README.md file.
    • On your computer, clone your new repository, edit the README.md to your choice, using the Github markdown cheatsheet.
    • Add/stage and commit the changes, and push them to your repository.
    • Create and switch to a new branch (eg. feature/add-license), and add a file LICENSE to it, containing the MIT open source software license. Not sure where to find it? Try this link. For a real project, you may want to chose a different license (read more about licenses here: https://opensource.org/licenses).
    • Push the branch; you should now be able to see it on Github.
    • On Github, create a pull request and merge it to master.
    • Back on your computer, checkout master, and pull the changes to update your local copy.

Note: Since you'll be working on assignments together, it's a good idea to fork the official assignment repository, add your friend as a collaborator, and take it from there!

You should now know what it means if someone asks you: Can you please merge my PR into your master branch?

Get familiar with Gradle

  1. Install the Gradle build tool; make sure you have a recent Java JDK installed and configured for command line use.
  2. Familiarize yourself by completing the Java application tutorial. Note: This requires a command line shell, such as bash. If you're running Windows, you can use git's bash, try Cygwin, or use Ubuntu on VirtualBox.

Note: Using the gradle wrapper is generally advised.

You should now know how to read a basic build.gradle file, and what gradle build means.

Get familiar with IntelliJ

  1. Make sure you have the latest IntelliJ IDEA installed (it's free for educational use!).
  2. On first launch, you may have to configure the default project structure and check your installed/configured JDKs: Configure default project structure Verify installed/configured JDKs Check default JDK for projects You may also have to configure the location of Gradle, if not automatically configured.
  3. Select Check out from Version Control: git and provide the repository URL; note that you can use either https://hsro-inf-... (and provide your Github username and password), or [email protected]:hsro-inf-... (with SSH credentials as configured with Github). Check out from VCS
  4. After checkout, it may take a while for Gradle to build and index the project.
  5. Look at the project's build.gradle and see how it configures for the use of JUnit 5.
  6. Look at the class fhro.inf.prg3.a01.MyExampleClass and read the javadoc comments. What is it's (very simple) purpopse?
  7. Look at the test class fhro.inf.prg3.a01.MyExampleClassTest and run the tests.
  8. Fix MyExampleClass so that all test cases pass.

Note: We will go into details with import static and @... later, but go ahead and google what they do!

For the future expert

The original repository has Tracis CI integration enabled (see .travis.yml). On each push event, it will run a build process, which includes executing all tests. If one test fails, the build fails, which can help prevent merging in bugs from other branches or forks.

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.