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:
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
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.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.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.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.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.
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
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.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:
The Pulumi CLI (https://www.pulumi.com/docs/get-started/install/)
The language interpreter of your choice (TypeScript is highly recommended)
Docker for Desktop (https://www.docker.com/products/docker-desktop)
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:
Administrative rights on your system
AWS CLI Tool Version 2.x (DO NOT INSTALL VERSION 1.X)
Git (you will NOT need a GitHub account)
Your favorite .NET development environment (e.g., Visual Studio, VS Code, JetBrains Rider, Vim, Emacs, etc.)
Verify that you can access:
https://www.github.com/
https://www.npmjs.com/
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.
Docker Desktop - https://www.docker.com/products/docker-desktop
With Kubernetes enabled - Deploy on Kubernetes | Docker Documentation
(Optionally) If using Docker Desktop this isn't needed:
Minikube minikube start | minikube (k8s.io)
Visual Studio Code - https://code.visualstudio.com/
Docker Extension for Visual Studio Code: Docker - Visual Studio Marketplace
Kubernetes extension for Visual Studio Code: Kubernetes - Visual Studio Marketplace
Current Dotnet Core SDK - https://dotnet.microsoft.com/download
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
The GitHub repository for workshop (found here)
Node, with NPM Yarn (download here)
NodeJS, with packages in repository installed (
npm install
oryarn
)Google Chrome (latest)
A screen reader that works with Chrome, such as one of the following:
NVDA
JAWS
Microsoft Narrator
Apple VoiceOver
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
A blindfold
Headphones (for the screen reader)
Slide Deck
The slide deck is built using mdx-deck. If you want to run the slides from this talk:
Run
npm install
oryarn
to install the dependenciesRun
npm run slides
oryarn run slides
to launch the deckRun
npm run build
oryarn 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