RoadToSoftwareFactory / SWI-2019

SWI 1/2 2019/2020
0 stars 19 forks source link

SWI 2019/2020

SWI 2

These are materials for the Software Engineering 2 course, Tuesday group, 10 am local, taught on Mendel University in Brno, spring 2020, led by @ZitaNemeckova and @himdel.

The topic is UI integration testing with cypress, the whole semester, except for (possibly) a UI intro workshop and a UX workshop.

If you need to contact us, please use the ManageIQ/welcome channel on Gitter. (You'll need a github login anyway.)
Feel free to use that channel to share anything useful you've found :).

Grading

Please vote on https://github.com/RoadToSoftwareFactory/SWI-2019/issues/72

Synopsis

If you have any suggestion about what to do next please leave a comment here

date topic recording
2020-02-18 intro, organizational details -
2020-02-25 setup, first steps -
2020-03-03 How to login, click and find an element (Coronavirus version) -
2020-03-10 Videoconference: Js tests in ManageIQ: Jasmine, Jest and Cypress (Coronavirus version) https://bluejeans.com/s/WtQ4W
2020-03-17 Inspector (Coravirus version) -
2020-03-24 Writing your own UserScript (Coravirus version) https://bluejeans.com/s/ej63N
2020-03-31 Regex and why you should know it :) https://bluejeans.com/s/pEtQV/
2020-04-07 (sick) -
2020-04-14 Docker -
2020-04-21 Webpack https://bluejeans.com/s/uzTef/
2020-04-28 Intro to Python https://bluejeans.com/s/zL3kH/
2020-05-05 (no topic) -
2020-05-12 Wrap up -

Local setup

You'll need:

Setup:

git clone https://github.com/ManageIQ/manageiq-ui-classic
cd manageiq-ui-classic
npm install
# edit cypress.json, change the URL to use the VM IP address instead of localhost - http://192.168.99.100:3000
npm run cypress:open

How to log in, click and find an element (Coronavirus version)

As this is last minute this "contactless" class will be up to you, please have a look at about 1,5 hours of tutorials at https://docs.cypress.io/examples/examples/tutorials.html#Best-Practices . Feel free to send any testing questions our way. We can prepare some Q&A for next "contactless" class :)

For backend people: https://docs.google.com/document/d/1ZktIxBIgc-HRLejDKcDJNOjXqd7fFluB95MjXnC4XT8/edit?ts=5e5d18b8#heading=h.b459vbu6h3g5

Videoconference: Js tests in ManageIQ: Jasmine, Jest and Cypress (Coronavirus version)

At 10:00 please join us at https://bluejeans.com/8080963880 . We'll show you different js frameworks our project uses with examples (good and bad:)). Expected to take about one hour.

Recording: https://bluejeans.com/s/WtQ4W

To see code and not faces. Hover over the screen and adjust the view like below:

Screenshot 2020-03-10 at 11 16 33

Inspector (Coronavirus version)

Google Chrome: https://developers.google.com/web/tools/chrome-devtools (recommended) Firefox: https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector

At 11:00 we''ll meet at https://bluejeans.com/8080963880 if you have any questions.

What you should learn from the tutorials:

UserScript

Add your suggestions here

At 10:00 we''ll meet at https://bluejeans.com/8080963880 as usual. It will be recorded so you can watch it later if the time isn't working for you. Recording for this sessio is here

Recording: https://bluejeans.com/s/ej63N

Agenda:

Regex and why you should know it :)

Add your suggestions here

At 11:00 we''ll meet at https://bluejeans.com/8080963880 (we are not adapted to time shift yet :) ). It will be recorded so you can watch it later if the time isn't working for you. Recording for this sessio is here

We'll look at:

Docker

Moved a week, to 2020-04-14, sorry :( (non-covid sickness) (if you get bored, please do check the full stack course)

At 11:00 we''ll meet at https://bluejeans.com/8080963880 if you have any questions.

Please go through https://devopswithdocker.com/part1/ . Feel free to continue with Part 2 and Part 3 if you want to :) If you cannot install Docker on your machine to try it out you can just read it.

Webpack

At 11:00 we''ll meet at https://bluejeans.com/8080963880 . It will be recorded so you can watch it later if the time isn't working for you. Recording for this sessio is here

Feel free to add any comment on this subject here :)

Intro to Python

Warning: Anyone who knows basics of Python may get bored :)

At 11:00 we''ll meet at https://bluejeans.com/8080963880 . It will be recorded so you can watch it later if the time isn't working for you. Recording for this sessio is here

We'll probably start with Week 1 (and Week 2) of https://csmastersuh.github.io/data_analysis_with_python_spring_2020/

Feel free to add any comment on this subject here :)

Python 3 on MacOS https://dev.to/malwarebo/how-to-set-python3-as-a-default-python-version-on-mac-4jjf

(no topic)

Run out of topics so let's have a pause :) Feel free to have a look at Extra stuff instead :) And vote for grading at https://github.com/RoadToSoftwareFactory/SWI-2019/issues/72

Wrap up

At 11:00 we''ll meet at https://bluejeans.com/8080963880 . It will not be recorded as it's supposed to be just a chat about the course and kinda brainstorming about educational projects for future :) So let's have a nice chat with cup of coffee/tea/sparlikng water about what went well and what didn't. What you missed in your (virtual) studies or enjoyed. And so on :)

Extra stuff

Bunch of stuff that maybe interesting but is not required :)

Tips for work in home situation from people with years of experience :) : https://www.youtube.com/watch?v=AOhJzmtjgxY&fbclid=IwAR2yLFSN5YsVaAjw_UsC9-h4E48Wxvm5E-Fpu1nEI6xT-LeC6iezm2Zexoo

Unity tutorials are free for 3 months: https://learn.unity.com/

Fullstack development course: https://fullstackopen.com/en/

Python and data analysis: https://csmastersuh.github.io/data_analysis_with_python_spring_2020/

DevOps with Docker: https://devopswithdocker.com/

After coronavirus

Documentation https://docs.cypress.io/examples/examples/tutorials.html#Best-Practices Tasks:


SWI 1

These are materials for the Software Engineering 1 course, Tuesday group, 11am local time, even-numbered weeks, taught on Mendel University in Brno, fall 2019, led by @ZitaNemeckova and @himdel.

The topic will be Git, the whole semester.

If you need to contact us, please use the ManageIQ/welcome channel on Gitter. (You'll need a github login anyway.)
Feel free to use that channel to share anything useful you've found :).

Synopsis:

date topic
2019-10-01 Intro @ Red Hat
2019-10-15 (dekanske volno)
2019-10-29 Basics recap, Github, get it working
2019-11-12 Synchronization, Conflicts
2019-11-26 Rebase, graded exercise
2019-12-10 Advanced git

2019-10-15 (homework :))

Check out https://learngitbranching.js.org/ , go through the whole Introduction Sequence in the Main section, and look at the first Push & Pull exercise in the Remote section. You can also try for yourself at http://git-school.github.io/visualizing-git/#free .

2019-10-29 - Basics recap, Github, get it working

  1. Recap of the git branching exercises

  2. Make sure you have a github account, quick intro to github if needed

  3. Get git working on your machines, make sure you can push to github

  4. History, the why, what?

    • git log - show what's what
  5. Basics - init/clone, git config

    • commits
    • branches
    • exercises, see below

2019-11-12 - Synchronization, Conflicts

  1. remotes

  2. updating (pull vs fetch & merge...)

  3. Conflicts

    • branches (continued)
    • merge
  4. filter-tree

2019-11-26 - Rebase, graded exercise

  1. rebase flow

  2. git rebase -i - more real examples, get to try everything

2019-12-10 - Advanced git

  1. aliases, scripting, more configuration, .git directory structure

Exercises

Read the instructions carefully please :).

Every instruction should be one commit (this time).


After you're done there..

  1. Create a PR.

  2. You should have a PR with 8 commits, not on your master branch - if not, try again :).

  3. tell us - wait for a conflict

  4. update your branch & resolve conflicts

  5. reorder commits so that food-related commits are together

  6. squash food-related commits into one

  7. delete commit with your favorite color

  8. rename commit with your favorite season to something in UPERCASE

  9. edit commit with your favority city so it's Helsinki


EXAM

Remember to read instructions from Git. It will tell you what to do :)

Update your master.

Everybody open the file exam.

Read the instructions carefully please :). Use your notes or Google as much as you want. But do not talk with your classmates please.

Please switch to a new branch.

Every line should be one commit (this time).


After you're done there..

  1. Create a PR.

  2. You should have a PR with 10 commits, not on your master branch - if not, try again :).

  3. tell us - wait for a conflict

  4. update your branch & resolve conflicts (hint: rebase) (20%)

  5. reorder commits so that next class-related commits(questions 3, 5, 7) are together (10%)

  6. squash next class-related commits into one (hint: you should use two s not three) (20%)

  7. delete commit with question 1 (10%)

  8. rename commits about your previous experience with Git (questions 2, 4) to be in UPERCASE (hint: you do not rename the commit at the same time as you write r but later) (20%)

  9. edit commit that mentions SVN so answer is Noooooooooooo or Yesssssssssss (hint: you have to add changed file and amend commit) (20%)

  10. push (with -force) and check it's ok (you should have 7 commits)

  11. When done comment on your PR with something like please review @himdel or please review @ZitaNemeckova


The course will be followed by Software Engineering 2.
Details to be determined.