Kris Foster
Kris Foster
  • Видео 117
  • Просмотров 2 029 183
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
Просмотров: 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
Easy JavaScript Game Tutorial
Просмотров 24 тыс.4 года назад
Easy JavaScript Game 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

Комментарии

  • @TsvetomirUzunov
    @TsvetomirUzunov 15 дней назад

    Is it necessary to have the project in a repository?

  • @ganapathi.g925
    @ganapathi.g925 17 дней назад

    Thank you sir. After 3years I'm watching this video. Thank you for your efforts to us.

  • @zaidofficials
    @zaidofficials 23 дня назад

    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

  • @FahaadAbbadi
    @FahaadAbbadi 28 дней назад

    Thanks a lot for this video, I enjoyed it and learned a lot from it

  • @GodmyX
    @GodmyX 28 дней назад

    Thank you!

  • @MrVipulLal
    @MrVipulLal 29 дней назад

    Great tutorial. To the point and clearly explained. Thanks!

  • @AdityaKiranKorlepara
    @AdityaKiranKorlepara Месяц назад

    Thanks a lot kris for this series. Super helpful !!

  • @johnxu2505
    @johnxu2505 Месяц назад

    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.

  • @maksimkozyarchuk8538
    @maksimkozyarchuk8538 Месяц назад

    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....

  • @tanveerasif5978
    @tanveerasif5978 Месяц назад

    I would love it if you could create a tutorial on using Bazel with a C++ project. Thanks in advance.

  • @lehoangtrong9803
    @lehoangtrong9803 2 месяца назад

    automatic ????????????????????

  • @lehoangtrong9803
    @lehoangtrong9803 2 месяца назад

    title is very bad

  • @abhishekomprakash4074
    @abhishekomprakash4074 2 месяца назад

    Great demo. Do you have an example video for layout dialect with a use case.?

  • @itsJhonWithaH
    @itsJhonWithaH 2 месяца назад

    Do you have a tutorial where you use sh_binary?

  • @Grant094
    @Grant094 2 месяца назад

    great tutorial thank you!

  • @Mahir_Ahmad_MHR
    @Mahir_Ahmad_MHR 2 месяца назад

    SO GOOD ❤

  • @keitheatherly2369
    @keitheatherly2369 2 месяца назад

    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.

  • @PavelReznikov
    @PavelReznikov 2 месяца назад

    Great tutorials

  • @firminojoga9655
    @firminojoga9655 2 месяца назад

    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; } }

  • @edisonmondal2798
    @edisonmondal2798 2 месяца назад

    You are one of the best Tutor.

  • @oscarbarajas3610
    @oscarbarajas3610 3 месяца назад

    Thanks man

  • @yamelamadorfernandez7416
    @yamelamadorfernandez7416 3 месяца назад

    Excellent simple debunk of DI even for a beginner like me, awesome!

  • @dadahossam3443
    @dadahossam3443 3 месяца назад

    Bro u need to stop doing that sound with ur mouth!!!!!!!!!!!

  • @nerozonbolt
    @nerozonbolt 3 месяца назад

    Any tips on how to do this using the architecture Route/Controller/Service

  • @solomonrajkumar5537
    @solomonrajkumar5537 3 месяца назад

    this is excellent Kris!!! hats off... your so crispy and clean :)

  • @PilipalaOnEarth
    @PilipalaOnEarth 3 месяца назад

    Thank you! It's very helpful to me.

  • @mozsty
    @mozsty 3 месяца назад

    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.

  • @saqibullah7286
    @saqibullah7286 3 месяца назад

    Nice explanation much recommended for beginners

  • @wantedlepota9960
    @wantedlepota9960 3 месяца назад

    great video mate

  • @flying-musk
    @flying-musk 4 месяца назад

    12:10 is <strike> tag still used for now?

  • @Daniel__g12
    @Daniel__g12 4 месяца назад

    Get the lowdown on future developments in an exclusive interview with Binance's CEO

  • @kodeeater
    @kodeeater 4 месяца назад

    thankyou

  • @ameybelvalkar8877
    @ameybelvalkar8877 4 месяца назад

    Awesome

  • @10kavi
    @10kavi 4 месяца назад

    This is so good but ... So many errors in latest version .getOne(), save(),find() is not working..

  • @abhinavbabu1237
    @abhinavbabu1237 4 месяца назад

    👌

  • @paritoshpanigrahi007
    @paritoshpanigrahi007 4 месяца назад

    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.

  • @Logi-MateenSyed
    @Logi-MateenSyed 4 месяца назад

    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 !!!

  • @mingtindu123
    @mingtindu123 5 месяцев назад

    Very helpful video it is short and suit ❤❤🎉

  • @reggenius
    @reggenius 5 месяцев назад

    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.

  • @shankarraj3433
    @shankarraj3433 5 месяцев назад

    Thanks Kris for this Spring Boot with Thymeleaf Example.

  • @UtkarshSingh_gt7
    @UtkarshSingh_gt7 5 месяцев назад

    Thanks man

  • @g2svnit
    @g2svnit 5 месяцев назад

    Detailed, clear and concise tutorial, hard to find such straightforward learning.

  • @sreekumarmenon
    @sreekumarmenon 5 месяцев назад

    Thanks Kris for creating this project! its a fun and easy way to understand the bazel commands !

  • @sreekumarmenon
    @sreekumarmenon 5 месяцев назад

    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)

  • @oakinola
    @oakinola 6 месяцев назад

    Amazing video!! Thank you so much...clearly explains the difference between all 3 tests.

  • @KosPepeHands
    @KosPepeHands 6 месяцев назад

    Needed a reminder for a quick project, simple and straight to the point. You saved me two hours.

  • @BarbarosYurttagul
    @BarbarosYurttagul 6 месяцев назад

    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.

  • @andrejkling3886
    @andrejkling3886 6 месяцев назад

    Cool set up… can you show some real project with same configurations for project?

  • @Luke_uppx
    @Luke_uppx 6 месяцев назад

    Can u explain how to use this DI in React Component?

  • @frankrichardsomething
    @frankrichardsomething 6 месяцев назад

    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