- Видео 117
- Просмотров 2 029 183
Kris Foster
Ирландия
Добавлен 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 RUclips, or by connecting on github.com/kriscfoster.
If you're into that sort of thing, feel free to follow along by subscribing on RUclips, 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 819
Видео
Bazel & Java Tutorial: java_library & java_binary (internal & external dependencies)
Просмотров 4,6 тыс.Год назад
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
Просмотров 4 тыс.Год назад
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)
Просмотров 3 тыс.2 года назад
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,4 тыс.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)
Просмотров 5 тыс.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)
Просмотров 8 тыс.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)
Просмотров 6132 года назад
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)
Просмотров 8 тыс.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)
Просмотров 23 тыс.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
Просмотров 54 тыс.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
Просмотров 10 тыс.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
Просмотров 29 тыс.3 года назад
TypeScript REST API with NodeJS, Postgres & TypeORM
GitHub Copilot vs Leetcode Interview Questions
Просмотров 9653 года назад
GitHub Copilot vs Leetcode Interview Questions
Kafka Tutorial - Node.js Producer & Consumer
Просмотров 72 тыс.3 года назад
Kafka Tutorial - Node.js Producer & Consumer
TypeScript Dependency Injection using tsyringe
Просмотров 34 тыс.3 года назад
TypeScript Dependency Injection using tsyringe
NodeJS & Express - Google OAuth2 using PassportJS
Просмотров 106 тыс.3 года назад
NodeJS & Express - Google OAuth2 using PassportJS
React Testing Tutorial (Jest + React Testing Library)
Просмотров 257 тыс.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
Просмотров 145 тыс.3 года назад
Spring Data JPA Relationships Tutorial - ManyToMany, ManyToOne & OneToMany
Spring Boot & Thymeleaf Tutorial (+ Bootstrap)
Просмотров 100 тыс.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 тыс.4 года назад
Spring Boot Testing a REST Controller with Unit, Integration & Acceptance Tests
Spring Boot Unit Testing using Mockito & JUnit
Просмотров 19 тыс.4 года назад
Spring Boot Unit Testing using Mockito & JUnit
Is it necessary to have the project in a repository?
Thank you sir. After 3years I'm watching this video. Thank you for your efforts to us.
import {test,expect} from '@jest/globals' test('should first', () => { expect(true).toBe(true) }) I installed jest as dev dependency & i'm getting this err: SyntaxError: Cannot use import statement outside a module
Thanks a lot for this video, I enjoyed it and learned a lot from it
Thank you!
Great tutorial. To the point and clearly explained. Thanks!
Thanks a lot kris for this series. Super helpful !!
Not sure why current bazel document site changed to make using bazel so difficult. The historical bazel document site like the one shown here are great place to learn.
Thank you! Got basic unittestng for nodejs/react working within 5 minutes. Before this video, spent 1/2 day with ChatGPT, Google, RUclips to no avail....
I would love it if you could create a tutorial on using Bazel with a C++ project. Thanks in advance.
automatic ????????????????????
title is very bad
Great demo. Do you have an example video for layout dialect with a use case.?
Do you have a tutorial where you use sh_binary?
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
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