Workshop Prerequisites (2021)


Attending the KCDC pre-conference workshops? Then read below to see what prerequisite tools, software, skills, or general knowledge you should have before attending each of our half- and full-day workshops on offer this year.


Full-Day (8am – 5pm)

Building Single Page Applications with VueJS and ASP.NET Core
Kevin Griffin
Room 2215-A

I am going to do my best to keep this as painless as possible for you, but there are a couple things we need to ensure you have preinstalled on your machine before we begin.

If you have any questions about the installables, please file shoot me an email (kevin@consultwithgriff.com).

Installables:

  1. Install Git

  2. Install Node.js

  3. Install Visual Studio Code

  4. Install .NET 5 SDK

You might be asking yourself, “Does this workshop still support .NET Core 3.1, since it's the current LTS version?” Yes, it sure does! If you are running 3.1 still, that's fine. Either works for the needs of this workshop.

•••

Getting into Reactive Programming with RxJS
Jan-Niklas Wortmann
Room 2215-C

This workshop is going to be very hands-on, as this is by far the best way to understand reactive programming and establish a reactive mindset. Therefore you should bring your own laptop (with wi-fi) so you can participate in the exercises. For all exercises we are going to use stackblitz, a feature-rich online IDE. This way you do not need to deal with installing any kind of tooling upfront, potential permission issues, or any other drama that can happen setting up a development environment.

Even though you don’t need to install any tools up-front, to participate in the exercises you should have a basic understanding of JavaScript. Basic knowledge about TypeScript might be beneficial, but is not necessary.

Attendees with advance questions should not hesitate to reach out to me. You can e-mail me at jwortmann719@gmail.com at any time.

•••

Becoming One of the First Java 17 Certified Programmers (and Learning New Features)
Jeanne Boyarsky
Room 2205

The prerequisite for this workshop is a basic knowledge of any version of Java. You should feel comfortable creating a class, writing a loop, compiling and running your code. The more Java you know, the more you will get out of it. If you don’t meet this pre-req, you will probably be lost.

Attendees will need to have a laptop with Java 17 installed to fully take part in the workshop. Java 17 can be downloaded from https://jdk.java.net/17/. Note that any of the Java 17 release candidate versions are fine. Java 17 gets released the day before the workshop and there’s no reason to wait until the last minute to download the released version.

If you only have a work laptop and don’t have the ability to install Java 17, parts of the labs will work in a browser. However, I recommend having Java 17 installed for the best experience.

•••

Gotcha Where I Want ‘Cha: Building a React Native App with a GraphQL API
Jamie Wright
Room 2208

We will be building an iOS application using Expo, as well as building a server-side custom API using Elixir. The goal of this workshop is to get you confident on building real-world, full-stack applications. You will have the source code to build a fully-fledged application by the start of the class as well. You will be able to use this as reference.

Since we are building both the client (iOS) and the server (Elixir) locally, there are several pre-requisites that you will need to install. Please do this before the workshop as we do not have time planned to do this at the workshop. No one wants to just install stuff to the tune of $150.

First, I have built this workshop using a Mac. All of these tools are available on other OSs like Windows and Linux, but I do not have experience installing them or using them in those environments. I can try to help you out if you run into any problems on those OSs but be aware I do not have the specific experience there.

In addition, if you do not have a Mac, you will not be able to use the Simulators to test your iOS application. You can still use an iPhone to test and debug your iOS application directly, just make sure you have an iPhone. We will not be implementing the Android side of things in class.

Also note that if you are running a VPN, you may run into issues with the wireless debugging on device or in the simulator. You may need to turn that VPN off for class.

Here are the list of things you need on your ‘puter. You will need admin access to your machine in order to install most of the requirements below:

iOS Application (Client) Requirements

  1. Node LTS Release 14.X.X – Node is used to build your Expo project, which will be written in JavaScript. You may be able to use a different major version of Node, but 14 is the one that the workshop was built with. If you have another version installed and you want to also install 14, you can use the Node Version Manager to install multiple versions, but it is not necessary. The installation instructions for nvm are here. Once Node is installed, please try node -v at the command line to see what version you have and ensure Node is installed.

  2. Yarn 1.X.X – Yarn is used as the package manager for your Expo project. It is what we will use to install JavaScript packages, run scripts, and build the project. You can follow the installation instructions here. Once this is installed, please try yarn -v at the command line to see what version you have and ensure Yarn is installed.

  3. Watchman 4.X.X – Watchman is used to watch for changes in your Expo project files and automatically re-compile and build your Expo project so changes appear instantaneously. You can follow the installation instructions here. Once this is installed, please try watchman -v at the command line to see what version you have and ensure Watchman is installed.

  4. Expo CLI 4.X.X – Expo is a lot of things such as a library, a tooling chain, and a service provider. We need to install the Expo CLI in order to make all of these things work. You can follow the installation instructions here. Once this is installed, please try expo -V at the command line to see what version you have and ensure the Expo CLI is installed.

  5. XCode 12.X.X or 13.X.X – If you have a Mac, you will want to install XCode as you will be using the simulators to see changes right on your Mac. You can install it right from the Mac App Store.

  6. iPhone – Ensure you are running 14.7 as that will work with the XCode version above.

Once these client-side requirements are installed, please try and create a hello world application by following these directions here. You should try and change the view, save the file, and see the results on the simulator or your device. If you can do this, you should be good to go for the class.

Elixir Application (Server) Requirements

  1. Elixir 1.11.X – Elixir is used to build the server-side GraphQL API. You can follow the installation instructions here. Once this is installed, please try elixir -v at the command line to see what version you have and ensure Elixir and Erlang OTP installed.

  2. Postgres >= 10.X – Postgres will be the database we use to store the application data. There are a lot of ways to install Postgres. Honestly, I would just Google it and install it your preferred way. For instance, I prefer to install it using Homebrew on the Mac. Once this is installed, please try postgres -V at the command line to see what version you have and ensure Postgres is installed.

Once these server side requirements are installed, please try and use iex at the command line. You can try just doing 2 + 2 and, if you see 4, you are golden. If you see something like a 5, well, I have no idea. If you can do this, you should be good to go for the class.

Please feel free to reach out to me via email at jamie@brilliantfantastic.com if you have any questions or issues. I can pair with you and we can figure things out together if things get hairy.

I am looking forward to meeting all you fellow nerds!

•••

Just Let Me Run My Application… Azure Edition
Lee Briggs
Room 2210

This workshop will use a preconfigured cloud IDE to make the process of getting started as painless as possible.

You’ll be guided through the process of signing up for a GitPod (https://www.gitpod.io/) account and provisioning an environment that has all of the dependencies and requirements installed.

If you don’t wish to use GitPod, you’ll need to ensure you have some tools installed:

In addition to this, you’ll need to have a valid Azure subscription. If using GitPod, this will be provided to you. However, you’re also free to use your own. See (https://www.pulumi.com/docs/intro/cloud-providers/azure/setup/) for more details.


Half-Day Morning (8am – 12pm)

Using Dependency Mapping to Enhance Testing Techniques
Melissa Eaden
Room 2215-B

Nothing required. Temp whiteboards and dry erase markers will be provided for attendees to use.

•••

Building Web APIs with ASP.NET 5
Chris Woodruff
Room 2201

It is strongly recommended that you have some knowledge of the following:

  • C# and .NET Core or .NET Framework

  • LINQ

  • Entity Framework

  • Microsoft SQL Server

  • ASP.NET MVC

You will need to have the following installed on your machine:

  • Your favorite .NET IDE (e..g, Visual Studio, Rider, or VS Code)

  • .NET 5

  • Microsoft SQL Server or Windows Azure or AWS Account for MSSQL

  • Microsoft SQL Server Management Studio

  • An HTTP debugging tool (e.g., Fiddler, Postman)

  • Git

•••

Setup Your AWS .NET Environment and Get Deploying!
Garo Yeriazarian / Patrick McVeety-Mill
Room 2203

Bring with you:

  • Laptop with wi-fi capability

  • Your childlike sense of wonder (or your own vessel of preferred liquid stimulant)

Do before workshop day:

  • Sign up for an AWS account if you do not have one already

    • You’ll require an account that you can deploy whatever you want into

    • Billing access is not required, and we will show what billing, budgets, and cost exploration look like during the workshop

  • (Optional) Purchase a personal domain name to use as a base domain for your workshop resources

    • We will delegate a subdomain to AWS and add subdomains to that for each workshop assignment

    • NameCheap.com usually has 1-year cheap domains

Install on your system before workshop day:

If you have any questions about these instructions, please reach out to Garo on Twitter: @garoyeri or LinkedIn: @garoyeri.

•••

Hands-On with Docker and Kubernetes
Chris Ayers
Room 2204

Hardware requirements:

  • PC with support for virtualization and network connectivity

Software:

On Windows I use either winget or Chocolatey to install the required software, or you can manually install each item using the provided links.

Optional (Windows)

  • WSL 1 or 2

    • Ubuntu or Linux of choice

  • Windows Terminal

A DockerHub account (free) - https://hub.docker.com/signup

At the time this workshop was built, Docker Desktop was free for everyone. Recently there have licensing changes: Docker is Updating and Extending Our Product Subscriptions - Docker Blog.  There is a grace period until Jan 31, 2022 and this workshop will be presented using Docker Desktop.

•••

Automated Visual Testing with BackstopJS
Olha Vovk / Liz Wait
Room 2206

Equipment:

  • Please make sure you bring a Windows or a Mac laptop. This tool won’t work on a Chromebook or on a tablet

  • Users will need to have administrative access to their system

Software

  • Please make sure you have installed the latest stable versions of the following:

    • Chrome browser

    • NPM

    • VS Code IDE (or any other IDE of your choice that supports JS development and provides JSON formatting)

    • Docker - Not absolutely necessary, but will be used in the workshop and is nice to have

Knowledge

  • Some understanding of testing terminology

  • Basic understanding of HTML and CSS

Reminder: please don’t forget your laptop charger and a positive attitude!

•••

Accessibility: A Walk in Someone Else’s Shoes
Nathan Loding
Room 2207

Software Requirements

Note: You can use a different browser if you prefer. You will need to find an extension similar to ChromeLens for whichever browser you prefer. The optional extensions below will work for all major browsers. You may also use any screen reader software you prefer; the examples will be done with Chrome Screen Reader but any will work.

Optional

Slide Deck

The slide deck is built using mdx-deck. If you want to run the slides from this talk:

  • Run npm install or yarn to install the dependencies

  • Run npm run slides or yarn run slides to launch the deck

  • Run npm run build or yarn run build to build a PDF of the slides

•••

Getting the Project to “Done”
Troy Tuttle
Room 2209

Workshop requirements:

  • Bring a notebook computer running either the latest Chrome or Safari browser.

  • Must be able to connect to local Wi-Fi. Turning off your VPN will give the best experience.

  • Computers that can run on battery for 4 hours (low computing requirements) will give us the most flexibility.


Half-Day Afternoon (1pm – 5pm)

What is Social Engineering
Crux Conception
Room 2215-B

No prerequisites required.

•••

Build Powerful Distributed Applications with Dapr and .NET
Rodrigo Díaz Concha
Room 2201

In order to take the most out of this workshop, you should be familiar with .NET and the C# programming language. Though no previous experience with microservices is assumed, you should be familiar with building and deploying server-based applications.

Software prerequisites:

  • Windows 10 2004 or above

  • Visual Studio 2019 16.11 or above

  • Visual Studio Code 1.60 or above

  • Docker Desktop for Windows 4.0.0 or above

  • A SQL Server engine (SQL Server or SQL Server Express)

  • SQL Server Management Studio or Azure Data Studio

  • An Azure account. You can get a free trial on azure.com/free

•••

Get Comfortable with Git
Dave Rael
Room 2202

For the "Get Comfortable with Git" workshop, you'll need to have a laptop with Git installed. That's all.

If Git isn't already installed, it's easy to install during the workshop if you have admin/root access and can download the software, but it's best if you come with it already installed.

The version of Git you have installed is not critical and you'll be fine with any non-ancient version. The latest is 2.33.0 (at the time this message was written), though, so you might as well be using that.

It doesn't matter what operating system or shell you're using. You can even run Git and participate in the workshop on a Chromebook if you want. Being able to connect to the conference WiFi will be good, but not critical. Dealing with remotes in the cloud and on machines other than your own can be considered optional. You can work with remotes on your own machine if you have difficulty connecting and we'll do some of that anyway.

As long as you can use a shell with Git installed, you're prepared for this workshop.

•••

Data Lake and Data Warehouse with ETL in the Cloud
Yair Segal
Room 2203

To participate in this workshop, you will need to come with the following:

  • Laptop with wi-fi capability to access conference internet

  • GitHub account and access

  • An active account in either Azure or AWS

  • Terraform by HashiCorp installed

  • VS Code installed, with the Terraform extension

No other specialized knowledge is required in advance.

•••

Ephemeral Jenkins (Yes, That Jenkins) with AWS Fargate
Eric Gerling
Room 2204

For the Jenkins workshop, participants will need a laptop with the following software and accounts:

  • Docker installed, current version

  • AWS CLI installed, current version

  • Terraform CLI, version 1.0.5 installed

  • Git, latest version

  • GitHub public account

  • IDE of your choice; a text editor would be good enough, as we will be editing Docker files and Terraform

  • Terminal capable of running commands, specifically Docker and Terraform commands

For cloud purposes, you will need:

  • A non-production AWS Account with administrative access and credentials installed on the local machine

  • VPC and Bastion host for access to private resources in AWS

We will NOT be building resources exposed to the open Internet. In AWS, we will be using ECR and Fargate, and we will be creating IAM roles and policies.

•••

React + GraphQL + WordPress with Zero Server Management
Jesse Weigel
Room 2206

Participants in this workshop should:

  • Have some basic knowledge of React and how to install npm packages.

  • Bring a laptop with node, npm, git, and a code editor installed (I will be using VSCode).

  • (Optional) Admin access to a WordPress site that you would like to use for a headless CMS. I will set one up for participants to use if they do not have or do not want to use one of their own.

•••

Product Discovery Workshop: OKRs, Personas, Storymapping, Oh My!
Joel Tosi
Room 2207

Attendees for my workshop will not need any prerequisite hardware or software.

•••

Peak Throughput: 11 Design Thinking Games to Remedy Waste, Remove Impediments, and Improve Flow
Scott Showalter
Room 2214

No prerequisites required.


Contact us.

staff@kcdc.info