![Kris Foster](/img/default-banner.jpg)
- 117
- 1 988 696
Kris Foster
Ireland
Приєднався 23 січ 2016
I'm a Software Engineer with a passion for building things! I enjoy using many technologies including React, Next.js, Node.js, JavaScript, TypeScript, Java, Kotlin, Spring and more! I also like using cloud technologies, working mostly with Docker, Kubernetes, AWS, GCP & Azure.
If you're into that sort of thing, feel free to follow along by subscribing on UA-cam, or by connecting on github.com/kriscfoster.
If you're into that sort of thing, feel free to follow along by subscribing on UA-cam, or by connecting on github.com/kriscfoster.
Bazel & Docker: Using Custom Base Images
In this video we're going to be building docker images using bazel. We'll be using custom base images. These base images can come from a docker registry (e.g. dockerhub) or can be built locally.
Code: github.com/kriscfoster/multi-language-bazel-monorepo
Bazel: bazel.build/
Rules Docker: github.com/bazelbuild/rules_docker
Code: github.com/kriscfoster/multi-language-bazel-monorepo
Bazel: bazel.build/
Rules Docker: github.com/bazelbuild/rules_docker
Переглядів: 2 586
Відео
Bazel & Java Tutorial: java_library & java_binary (internal & external dependencies)
Переглядів 4,2 тис.Рік тому
In this video, we're going to be adding a java project to our Multi Language bazel monorepo. We're going to have a java_library target that also uses some external dependencies from maven central & a java_binary target that uses the monorepo java_library. We'll be using the built in java_library & java_binary targets, as-well as rules_jvm_external to pull the dependencies form maven central. Re...
Using Gazelle to Improve Multi-Language Bazel Monorepo
Переглядів 3,7 тис.Рік тому
In this video, we're going to be using some features from Gazelle to improve our multi-language bazel monorepo. We will be using the update-repos support to provide our go dependencies to bazel. We will also be using the gazelle build file generation/formatting support. Repository - github.com/kriscfoster/multi-language-bazel-monorepo Gazelle - github.com/bazelbuild/bazel-gazelle
Bazel Tutorial: How to Build, Run, Test & Query (deps, rdeps, tags)
Переглядів 2,7 тис.Рік тому
In this video, we're going to be going over the bazel fundamentals. We'll be learning how to build, run, test and query for targets in a fun and gamified bazel workspace. This will make it easy to understand how bazel works. We will query for dependencies (deps), reverse dependencies (rdeps) and tags. Bazel: bazel.build/ Bazel Mystery: github.com/salesforce/bazel-mystery
Deploying from a Bazel Monorepo to Heroku
Переглядів 1,3 тис.2 роки тому
In this video, we're going to be deploying bazel binary targets to heroku. Traditionally, these things don't work very well together because of the way heroku detects app types and the way a bazel repository is organized. However, bazoku tries to solve this. We are able to deploy using bazel to heroku from our local machine and from a GitHub workflow. Bazel: bazel.build/ Bazoku: github.com/sale...
Bazel & Docker Tutorial: Building container images with bazel (local & remote registry)
Переглядів 8 тис.2 роки тому
In this video we're going to be building docker images using bazel. We'll be running these container images locally and pushing them to the dockerhub registry. Bazel: bazel.build/ Code: github.com/kriscfoster/multi-language-bazel-monorepo
Bazel & NodeJS Tutorial: library, test & nodejs_binary (internal & external deps)
Переглядів 4,7 тис.2 роки тому
In this video we're going to be creating some nodejs targets with Bazel. Bazel is a build tool that is very popular for use in monorepos. We're going to create a nodejs library. We'll write the library and also write some bazel test targets Then we're going to create a web application & create a nodejs_binary target. The web application will have both third party dependencies (express) & depend...
Bazel & Go Tutorial: Targets with go_library, go_test & go_binary (internal & external deps)
Переглядів 7 тис.2 роки тому
In this video we're going to be creating some go targets with Bazel. Bazel is a build tool that is very popular for use in monorepos. We're going to create a go library that doesn't have any external dependencies. We'll write some tests & create targets using go_library and go_test. Then we're going to create a web application & create a go_binary target. The web application will have both thir...
GitHub Actions/Workflow with Smart Devices (Lightbulb, Google Home, Spotify + Raspberry Pi)
Переглядів 5902 роки тому
Walkthrough of a GitHub workflow that interacts with smart devices. The workflow runs node tests with jest, turns on a green smart lamp (tp-link), plays music on a Google Home speaker with Spotify & takes a photograph with a Raspberry Pi. Code: github.com/kriscfoster/pr-celebration-github-workflow
GitHub Actions for Bazel Monorepo - Building & Testing (CI)
Переглядів 7 тис.2 роки тому
In this video we're going to be adding a GitHub workflow to our bazel monorepo. We will be using an action to setup bazelisk & then we will run bazel build & test in the CI. Bazel: bazel.build/ Code: github.com/kriscfoster/multi-language-bazel-monorepo Setup Bazelisk Action: github.com/marketplace/actions/setup-bazelisk
Bazel Tutorial: Python targets with py_library, py_test & py_binary (internal & external deps)
Переглядів 22 тис.2 роки тому
In this video we're going to be creating some python targets in Bazel. Bazel is a build tool that is very popular for use in monorepos. We're going to create a simple python library without any external dependencies. We'll write some tests & create targets using py_library and py_test. Then we're going to create a flask application & create a py_binary target. The flask application will have th...
Bazel Tutorial: (Part 1) Getting Started, Bazelisk & our First Build Targets
Переглядів 51 тис.2 роки тому
In this video we're going to be creating our first build targets in Bazel. Bazel is a build tool that is very popular for use in monorepos. We're going to start by discussing what bazel is & the motivation for using it. We're then going to install bazelisk & use it to manage our bazel version. Then, we're going to create our first bazel targets using the genrule. Bazel: bazel.build/ Code: githu...
Running NodeJS Tests/CI with GitHub Actions/Workflow
Переглядів 14 тис.2 роки тому
In this video, we're going to be running our NodeJS tests/continuous integration with a GitHub Action/Workflow. We will be using jest as our test runner. GitHub actions is a really nice way to run your continuous integration. It's really easy to run your tests with node/npm and GitHub actions. Code: github.com/kriscfoster/github-workflow-nodejs-tests
TypeScript REST API (Pt 4) Acceptance Testing with Jest & Supertest
Переглядів 9 тис.2 роки тому
In this video we're continuing with our TypeScript REST API. We're going to create some acceptance tests to test our API from end-to-end. We use jest & supertest for the tests. Full Code: github.com/kriscfoster/typescript-postgres-typeorm Code Difference from part 3: github.com/kriscfoster/typescript-postgres-typeorm/compare/acceptance-tests?expand=1 Install NodeJS: nodejs.org/en/ Install Docke...
TypeScript REST API (Pt 3) Request Validation with express-validator
Переглядів 8 тис.2 роки тому
In this video we're continuing with our TypeScript REST API. We're going to improve request validation using express validator (www.npmjs.com/package/express-validator). Full Code: github.com/kriscfoster/typescript-postgres-typeorm Code Difference from part 2: github.com/kriscfoster/typescript-postgres-typeorm/compare/request-validation?expand=1 Install NodeJS: nodejs.org/en/ Install Docker: do...
TypeScript REST API (Pt 2) Error Handling Middleware, API Logging & More
Переглядів 7 тис.2 роки тому
TypeScript REST API (Pt 2) Error Handling Middleware, API Logging & More
TypeScript REST API with NodeJS, Postgres & TypeORM
Переглядів 28 тис.2 роки тому
TypeScript REST API with NodeJS, Postgres & TypeORM
GitHub Copilot vs Leetcode Interview Questions
Переглядів 9522 роки тому
GitHub Copilot vs Leetcode Interview Questions
Kafka Tutorial - Node.js Producer & Consumer
Переглядів 70 тис.3 роки тому
Kafka Tutorial - Node.js Producer & Consumer
TypeScript Dependency Injection using tsyringe
Переглядів 33 тис.3 роки тому
TypeScript Dependency Injection using tsyringe
NodeJS & Express - Google OAuth2 using PassportJS
Переглядів 101 тис.3 роки тому
NodeJS & Express - Google OAuth2 using PassportJS
React Testing Tutorial (Jest + React Testing Library)
Переглядів 250 тис.3 роки тому
React Testing Tutorial (Jest React Testing Library)
Introduction to JavaScript Testing with Jest
Переглядів 1,4 тис.3 роки тому
Introduction to JavaScript Testing with Jest
Pagination & Sorting in REST API using Spring Data JPA
Переглядів 19 тис.3 роки тому
Pagination & Sorting in REST API using Spring Data JPA
Spring Data JPA Relationships Tutorial - ManyToMany, ManyToOne & OneToMany
Переглядів 143 тис.3 роки тому
Spring Data JPA Relationships Tutorial - ManyToMany, ManyToOne & OneToMany
Spring Boot & Thymeleaf Tutorial (+ Bootstrap)
Переглядів 96 тис.3 роки тому
Spring Boot & Thymeleaf Tutorial ( Bootstrap)
Spring Boot App with Docker & Kubernetes Tutorial
Переглядів 13 тис.3 роки тому
Spring Boot App with Docker & Kubernetes Tutorial
Spring Boot Testing a REST Controller with Unit, Integration & Acceptance Tests
Переглядів 54 тис.3 роки тому
Spring Boot Testing a REST Controller with Unit, Integration & Acceptance Tests
Spring Boot Unit Testing using Mockito & JUnit
Переглядів 19 тис.3 роки тому
Spring Boot Unit Testing using Mockito & JUnit
great tutorial thank you!
SO GOOD ❤
if you type in "defer" in an external javascript source, ( between the words "script" and "src") that is in between the head tags, you won't have add the javascript source to the bottom of the body. The "defer" word means to run the html page before running the javascript, at least that's what my instructor told me.
Great tutorials
public class ContactSearch { public static List<Contact> searchForContacts(String lastName, String mailingPostalCode){ List<Contact> contactList = [select ID, Name from Contact where LastName =: lastName and MailingPostalCode =: mailingPostalCode]; return contactList; } }
You are one of the best Tutor.
Thanks man
Excellent simple debunk of DI even for a beginner like me, awesome!
Bro u need to stop doing that sound with ur mouth!!!!!!!!!!!
Any tips on how to do this using the architecture Route/Controller/Service
this is excellent Kris!!! hats off... your so crispy and clean :)
Thank you! It's very helpful to me.
i am not able to import flask. loading the pip_install is not working, it is showing every .bzl need a package, rules_python//python:pip.bzl doesnot have one.
Nice explanation much recommended for beginners
great video mate
12:10 is <strike> tag still used for now?
Get the lowdown on future developments in an exclusive interview with Binance's CEO
thankyou
Awesome
Best tutorial for Google OAuth2 using PassportJS
This is so good but ... So many errors in latest version .getOne(), save(),find() is not working..
👌
I used your code, but did not get refresh token, I tried option access_type: 'offline', but still it is not giving refresh token. Could you please tell me how can I get the refresh token. It would be helpfull if you could make a video on it. The solution is not present on internet.
I wounder why we always need th: isnt it should be tr: for table row and td: for table data for line 18 and 19 !!!
Very helpful video it is short and suit ❤❤🎉
Honestly, this video took the core of dependency injection using tsyringe and decoupled it in approximately 7 minutes. Nice one Kris Foster, it's hard to find conciseness merged with in-depth these days.
Thanks Kris for this Spring Boot with Thymeleaf Example.
Thanks man
Detailed, clear and concise tutorial, hard to find such straightforward learning.
Thanks Kris for creating this project! its a fun and easy way to understand the bazel commands !
who ever is watching in 2024 should look at the repo, js code is better in there! (with js_lib ,js_binary,and jest etc)
Amazing video!! Thank you so much...clearly explains the difference between all 3 tests.
Needed a reminder for a quick project, simple and straight to the point. You saved me two hours.
Hi Kris, thanks for the video. 21:26 How did you manage to reduce the test execution speed from 2+ seconds to 0.666 seconds? I did the same steps but mine didn't change.
Cool set up… can you show some real project with same configurations for project?
Can u explain how to use this DI in React Component?
About 4 yrs ago I had to build images with bazel because bazel became the enforced standard build system company wide Wish I had these explanations back then, good stuff
Other than him, no one was helpful to me for this particular problem, Thanks Man 👍
Cannot GET /auth/google/callback getting this error
Why is that the Dinosaur's legs aren't moving?
This is really useful
really good, simple tutorial. God bless! if you get the chance - read Matthew 16:28
data still coming I have done this part docker compose down and again I restart the docker compose up -d but data is still coming and I also remove the data
man you are awesome
For a 3 years ago video, this is high quality staright to the point content. Thanks Man
Bad
awesome content , thank you very much your time.
getting error while installing rdkafka 😢 anyone help please
Very helpful tutorial
God bless you!