Week 1

Principles and practices, project management
(Jan 27)

Assignment:

♦ Build a personal site describing you and your final project.
♦ Plan and sketch a potential semester project and add it to your website.
♦ Upload it to the class archive. Do a git tutorial.
Checkout Git references

Click on the below dates to see full daily report

  • 27.1.2016 Let's begin

    So... here we are. I was pretty confusing during the first lecture.. also for the fact that we were able to join when it was already begun for around 30 minutes.

    Anyhow, The first thing I really want to understand is how to use Git. It's always been a mystery for me.

    Then about writing a website.. I've done some tutorials sometimes ago.. now is the time to dig in and make the use of it !

    Now, I'm watching first tutorials of Git. What do I learn ?
    - Git is all about version management
    - it works by command line
    - commits = historical events

  • 28.1.2016 HTML, CSS

    Today we had a local lesson on html, css led by Ernesto , our classmate but I was busy so I can't follow. I came to follow the last part and then I worked on a bit on the website and asked him couple of things. It was sourceful


    what I've learned today ?
    - a recap on html and css. I made a fixed menu for the website
    - intro on Boothstrap- interesting, I didn't know it before.
    - short intro on Git by Enrico. not very clear yet

  • 29.1.2016 Written down concept

    Written down concept for final project. Still so many things to be clarified. I really love the idea but I just don't know how yet.

  • 30.1.2016 Finalize web structure

    Almost done with the main structure of the site. Still miss weekly structure. I want to use Bootstrap to make it. Meanwhile, I've put more styling for website.

    Things learned today :
    - CSS Combinations : descendant selector (space), child selector (>)
    adjacent sibling selector (+)and general sibling selector (~).. still are confusing but I'm sure I'll get used to it.
    until now I've used descendant selector (space) and child selector (>)

  • 31.1.2016 Writing down ideas for Final Project
  • 1.2.2016 Massimo Banzi
    interface tools for electronic dummies :) http://fritzing.org/home/, https://123d.circuits.io/
    Arduino Eslov
  • 1-2.2.2016 Git learning Learning Git from codecademy

    Final Project Desicription

    Please see it here

    Git workflow

    Working directory, Staging area, Repository The Git workflow consists of editing files in the working directory, adding files to the staging area, and saving changes to a Git repository. In Git, we save changes with a commit
    git init : initialize a Git project
    git status : inspects contents of working directory and staging area
    git add : add file to the stage area
    git diff filename : to see the difference between working directory and staging area
    git commit -m : a commit saves permanently changes in staging area to the repository. -m is optional message
    git log : shows a list of previous commits

    Back tracking

    git show HEAD : to see the last commit (HEAD)
    git checkout HEAD filename : will restore the file in your working directory to look exactly as it did when you last made a commit.
    git reset HEAD filename : to unstage the file from staging area
    git reset SHA : to unstage the file from staging area using the first 7 characters of SHA
    git reset commit_SHA ?

    Git Branching

    git branch : to show which branch are you on. a branch is a different version of the Git project
    git branch new_branch : to make a new branch
    git checkout branch_name : to choose a branch to work on
    git merge branch_name : to include the changes on another branch
    merge conflict : when there's a conflict Git will not merge automatically. Git will keep both versions with its marks
    git branch -d branch_name : will delete the specify branch from Git project

    Git teamwork

    So, in order to to collaborate, we will need : 1. a complete replica of the project on my computer 2. a way to keep track of and review each other's work 3. access to a definitive project version
    You can accomplish all of this by using remotes. A remote is a shared Git repository that allows multiple collaborators to work on the same Git project from different locations. Collaborators work on the project independently, and merge changes together when they are ready to do so.
    git clone remote_location clone_name : remote_location tells Git where to find the remote (origin)
    clone_name is the name of the destination directory
    git remote -v : see a list of a Git project's remote
    git fetch : brings down changes to a remote branch
    cd project_name : is to go into the directory
    git merge origin/master :

    Git workflow

    The workflow for Git collaborations typically follows this order:

    1.Fetch and merge changes from the remote
    2.Create a branch to work on a new project feature
    3.Develop the feature on your branch and commit your work
    4.Fetch and merge from the remote again (in case new commits were made while you were working)
    5.Push your branch up to the remote for review


    git push origin your_branch_name : will push your branch up to the remote, origin

  • 2.2.2016 Git learning with Vittorio - Let's push !!

    A local lesson at Opendot with Vittorio Cuculo.

    Git e' un protocollo. un esempio di versioning : wikipedia
    Servizi : GitHub, GitLab
    repository : storage dove i file si siedono... sia locale che remoto.
    commit : una modifica fatta.. puoi tornare indietro, e' locale
    push : upload
    client testuale meglio del client grafico (GUI)
    SSH : e' un protocollo. un layer sicuro. chiede una chiave pubblica. va generata
    see help on SSH here
    pull
    esc, :, w, invio... esc, :, q

    And... we've made our first pushes !!! :D

A recap of git process using git bash
- ls 	//to see in which folder you are
- cd ... // to access the master folder
- git pull //to update your local repository
- git add . // to add all yout files
- git commit -m "comment"
- git push



next assignment >>