kubucation
kubucation
  • 33
  • 2 044 762
Let's build a REST API in Go with zero dependencies!
You already saw me use my "go-rollercoaster-api", a simple REST API written in Golang, in the curl tutorial. In this video we're rebuilding the entire HTTP server from Scratch in Go! And to make the challenge more fun I've defined some requirements (dictated by the capabilities I needed for the curl video). But that's not nearly all: During the entire video I'm not using any third-party packages, only the standard libraries that come with Go!
This video is not necessarily meant as a tutorial as I won't go into as much detail as I would in the other tutorials, but it's your change to pair-program with me for 50 minutes straight and watch me build a full REST API in one of my favorite programming languages: Golang. And it wouldn't be me if I wasn't using my favorite text editor in the world: vim. So be prepared for almost an hour packed full of Golang, vim, vim-go and probably a lot of compilation errors. ;-)
We're going to build GET and POST handlers to add and see our rollercoasters, we'll store them in a simple in-memory store, protected against concurrent read/writes using a Mutex and there'll even be a route that redirects you to a random coaster, as well as a section of the app protected by Basic Auth! Join the ride (pun intended!) and let's have fun building this small app.
You can finde the code from the video on GitHub: github.com/kubucation/go-rollercoaster-api
Thumbnail contains Gopher image by Takuya Ueda ( tenntenn). Licensed under the Creative Commons 3.0 Attributions license. (creativecommons.org/licenses/by/3.0/deed.ja)
zhlédnutí: 53 778

Video

tr - Transform, Replace and Remove specific characters from strings | #10 Practical Bash
zhlédnutí 16KPřed 4 lety
For the longest time I thought "tr" stands for "trim", but it actually means "translate". And this video shows that name makes a lot of sense. You can use tr to transform characters (e.g. lower to upper). Additionally you can remove specific characters (e.g. trim spaces) or you could even filter anything that doesn't match a specific matcher, such as alpha-numeric characters. Learn how to use t...
cURL - The only HTTP client you'll ever need | Practical Bash & Terminal #9
zhlédnutí 38KPřed 4 lety
curl is my favorite command line HTTP client. Yes, there are newer and "fancier" clients available. But curl is great at what it does and you'll find it pre-installed on most linux/unix-like environments. As a web-dev I build and use a lot of REST/HTTP APIs in my daily life. While I rely on automated testing a lot, there's always a place for some exploratory testing - and that's when you should...
Taking the mystery out of the "tar" command: Create, extract and compress archives easily | Bash #8
zhlédnutí 5KPřed 4 lety
The "tar" command can sometimes seem a bit odd at fist. It has many one-character cryptic-looking arguments, such as "tar -czvf". But turns out they follow a very simple setup and besides those one-letter args the command is actually extremely straight-forward. Therefore I though "Taking the mystery out of tar" is a perfect title for one of my favorite command line commands that I use so often....
Vim 8.2 with Killersheep! Best Go support in vim so far with gopls (with vim-go or govim) | VLOG
zhlédnutí 6KPřed 4 lety
A slightly different style of video today: more of a VLOG. Plenty of you were interested in vim related content and since I just upgraded to vim 8.2 (which supports the Killersheep game) I wanted to talk about vim and one of my favorite vim plugins "vim-go". Using the latest gopls ("go please") language server, support for golang development in VIM has improved a lot.
Testing Error Cases and Failing Early | Go Tests #2
zhlédnutí 3,3KPřed 4 lety
What is failing early and why should you care? Sometimes it doesn't make sense to continue running a test if one of the first assertions already failed. For example if you want to test for the "name" field of a "Post" object, but already identified that your post is nil/null, you're in for trouble. This also becomes relevant when testing for error cases. In this second video of our Golang Testi...
Test Setup & Write your first test in Golang | Go Tests #1
zhlédnutí 13KPřed 4 lety
New to Golang, but not sure how to get started writing proper unit tests? Or do you simply want to catch up on the possibilities and best practices of tests in Golang? The opinionated language brings a lot of test equipment with it making it very easy for you to write fast and efficient tests. In this first video of the series we're creating a test file and writing our first test. Thumbnail con...
sed: Easily replace strings across files | #7 Practical Bash
zhlédnutí 36KPřed 4 lety
How do you replace easily replace strings across your entire code base? Now please don't say "My IDE has a feature for that". Of course, there's a simple way to do it with the terminal with the built-in command "sed". Another omni-present command that can be so helpful in everyday coding work, scripting, refactoring and all other string replacement needs.
grep: All you need to know | #6 Practical Bash
zhlédnutí 19KPřed 4 lety
grep is one of those built-in commands that I use every day. Learn how to use the very powerful and omni-present built-in command for searching through your code base or other files, as well as filtering all kinds of output. Even if you consider plain-old grep to be too slow for your needs, this video also introduces faster alternatives which share a very similar API. So now is the time to fami...
Pipe into commands and read from STDIN | #5 Practical Bash
zhlédnutí 23KPřed 4 lety
Where there's STDOUT, there also has to be STDIN. When you pipe into commands using the | symbol, the command can read the previous command's output through STDIN. Hence the name pipeline. In this video from our practical bash and terminal skills series, you'll learn all about those powerful pipelines.
What is stdout, stderr, /dev/null and redirection? | #4 Practical Bash
zhlédnutí 41KPřed 4 lety
Surely you've heard other talk about stderr or "Standard Error". Similarly there is "stdout" or "Standard Out". But what do they mean. What are those numbers and what is redirection? Ever heard of /dev/null? This video is all about the different output streams in bash and how you can manipulate them to your advantage
Command Substitution: Can you return data instead of exit codes in Bash? | #3 Practical Bash
zhlédnutí 11KPřed 4 lety
It seems bash only allows us to return an exit code from a function and not data like in other programming languages? So what do we instead? Can command substitution come to the rescue? In this video you'll learn how to safely pass data from one function in your script to another
Learn about scripts, functions, chmod and set -e | #2 Practical Bash
zhlédnutí 12KPřed 4 lety
Building on our learnings from the previous video, it's time to write our first script. In this video, we'll write a script and use functions in our very first bash script. We'll make use of the chmod command to make it executable and play around with set -e and set e to react to different cases
Bash exit codes & command chaining | #1 Practical Bash
zhlédnutí 28KPřed 4 lety
Ever wondered what exit code 0 or exit code 255 means in the terminal? This first video of the brand new "Practical Bash Scripting" series will teach you all you need to know about exit codes. Having understood bash exit codes you can make use of command chaining using the && and || operator. And - as with every Practical Bash video - I'll show you a real-life example of where this comes in handy!
Super easy new way to add HTTPS to Kubernetes apps with ManagedCertificates on GKE
zhlédnutí 21KPřed 4 lety
Google has just made it even easier to secure your applications deployed on Kubernetes with HTTPS through browser trusteded certificates. At least if you are using GKE - Google’s managed Kubernetes cluster. While I previously showed a cool way of how to do something similar with cert-manager, Google has just made the process even simpler. In this video you’ll learn how to automatically provisio...
#4 Final Form React Tutorial and some Array.reduce() | React Forms 4 Ways
zhlédnutí 11KPřed 5 lety
#4 Final Form React Tutorial and some Array.reduce() | React Forms 4 Ways
#3 Redux Form Tutorial | React Forms 4 Ways
zhlédnutí 45KPřed 5 lety
#3 Redux Form Tutorial | React Forms 4 Ways
#2 Controlled Components - The React Way | React Forms 4 Ways
zhlédnutí 7KPřed 5 lety
#2 Controlled Components - The React Way | React Forms 4 Ways
#1 React forms the native HTML/Javascript way | React Forms 4 Ways
zhlédnutí 4,5KPřed 5 lety
#1 React forms the native HTML/Javascript way | React Forms 4 Ways
Git Etiquette: Make your coworkers happy, be ready for CD and grow as a developer!
zhlédnutí 3,4KPřed 5 lety
Git Etiquette: Make your coworkers happy, be ready for CD and grow as a developer!
restartPolicy: never - How to kill an entire K8s cluster with an innocent mistake! (1/2)
zhlédnutí 2,8KPřed 5 lety
restartPolicy: never - How to kill an entire K8s cluster with an innocent mistake! (1/2)
Proper DOCKER CACHING: Speed up your build with this optimized Dockerfile
zhlédnutí 15KPřed 5 lety
Proper DOCKER CACHING: Speed up your build with this optimized Dockerfile
Drastically reduce the size of your DOCKER images with MULTISTAGE builds
zhlédnutí 70KPřed 5 lety
Drastically reduce the size of your DOCKER images with MULTISTAGE builds
How I'm using Kubernetes Jobs to water my lawn!
zhlédnutí 3,5KPřed 6 lety
How I'm using Kubernetes Jobs to water my lawn!
Use cert-manager with Let's Encrypt® Certificates Tutorial: Automatic Browser-Trusted HTTPS
zhlédnutí 30KPřed 6 lety
Use cert-manager with Let's Encrypt® Certificates Tutorial: Automatic Browser-Trusted HTTPS
Automatically Provision TLS Certificates in K8s with cert-manager
zhlédnutí 41KPřed 6 lety
Automatically Provision TLS Certificates in K8s with cert-manager
Create a Kubernetes TLS Ingress from scratch in Minikube
zhlédnutí 75KPřed 6 lety
Create a Kubernetes TLS Ingress from scratch in Minikube
How does HTTPS work? What's a CA? What's a self-signed Certificate?
zhlédnutí 1,2MPřed 6 lety
How does HTTPS work? What's a CA? What's a self-signed Certificate?
Use Open ID Connect for Kubernetes API server
zhlédnutí 27KPřed 6 lety
Use Open ID Connect for Kubernetes API server
Setup Keycloak as an Identity Provider & OpenID Connect Token Issuer
zhlédnutí 88KPřed 6 lety
Setup Keycloak as an Identity Provider & OpenID Connect Token Issuer

Komentáře

  • @Mado44555
    @Mado44555 Před měsícem

    man that s a diamond explanation

  • @soahibasif659
    @soahibasif659 Před měsícem

    #Learn y doing

  • @WhatShallMyUsernameBe
    @WhatShallMyUsernameBe Před 2 měsíci

    Hi, I signed in just to say Thank you very much for explaining this to me. Your video finally helped it click for me.

  • @tothepoint3699
    @tothepoint3699 Před 2 měsíci

    thank you. Pls go head and make more of these including mocking different things, like databases, http connections,vault, etc

  • @CNRkl12
    @CNRkl12 Před 2 měsíci

    Will it fix tls cert error 509 bunch of ips?

  • @akashchoudhary5895
    @akashchoudhary5895 Před 3 měsíci

    very good video thanks

  • @uncreativename454
    @uncreativename454 Před 3 měsíci

    This video is perfection. It helped me out so much! Thank you

  • @alibabarahaei2229
    @alibabarahaei2229 Před 3 měsíci

    Perfect❤

  • @dradic9452
    @dradic9452 Před 3 měsíci

    How did you get into vim like that?

  • @soufianta8374
    @soufianta8374 Před 3 měsíci

    Hi, why does the echo command of your script (that outputs the function) isn’t the first thing echoed to screen even if functions body redirects to stream 2?

  • @I_think_its_funny
    @I_think_its_funny Před 3 měsíci

    I wish you could make the video more exciting, maybe animations and graphics. It would also help if you would sound excited about the topic. But i'll still leave a like

  • @abdulwahabkhan1086
    @abdulwahabkhan1086 Před 4 měsíci

    Dude! This is the most simple version of this complex topic I've come across. Hats off!

  • @James-gp3nf
    @James-gp3nf Před 4 měsíci

    I use the kali-linux distro on wsl for windows, is it possible to change the colour scheme for my terminal the way you have?

  • @danielwarzecha2007
    @danielwarzecha2007 Před 5 měsíci

    This is the first video that clicked. Thanks

  • @danielderese3170
    @danielderese3170 Před 5 měsíci

    Thanks!

  • @xyz3188
    @xyz3188 Před 5 měsíci

    hi , can i contact you pls ?

  • @datvuong7420
    @datvuong7420 Před 5 měsíci

    greatest video about HTTPS

  • @tselit7491
    @tselit7491 Před 6 měsíci

    very useful, complements other content

  • @psionicxxx
    @psionicxxx Před 6 měsíci

    Great explanation, thanx!

  • @Rashmi-yt1zf
    @Rashmi-yt1zf Před 7 měsíci

    awesome content 👌

  • @onhazrat
    @onhazrat Před 7 měsíci

    🎯 Key Takeaways for quick navigation: 01:24 🌐 HTTPS is based on public key cryptography and signatures, which are simpler than they may sound. 03:28 🔐 HTTPS involves a secure key exchange process between the browser and the server. 05:04 📜 Certificate Authorities (CAs) sign certificates to ensure the identity of the server, establishing trust. 07:50 🛡️ Self-signed certificates can be used in controlled environments, but they may not be trusted by browsers. 10:52 🏭 Upcoming videos will cover self-signing certificates and automating the process with Kubernetes. Made with HARPA AI

  • @abhishekkumar-tu7nq
    @abhishekkumar-tu7nq Před 7 měsíci

    I like it. This video, should be 1st video to view/watch, if anyone is starting with ssl, https, tls etc.

  • @adarshrai4199
    @adarshrai4199 Před 7 měsíci

    Amazing....thabks bro..ive been looking for a good ezplanation on certificates and you just enlightened me...thanks a lot...buddy

  • @aswinivayyala5118
    @aswinivayyala5118 Před 7 měsíci

    I cannot stress enough, how informative and simplified this video..!!

  • @danielmoller3258
    @danielmoller3258 Před 7 měsíci

    Wow! What one can learn in 11min

  • @HonkTheMusic
    @HonkTheMusic Před 8 měsíci

    What stops malicious developers from creatina malware-spreading or malware-containing websites and getting their site signed by one of the default trusted certificate authorities? Or even getting their site signed first, then adding malware?

  • @rafaelclaumannbernardes2366

    can i use this certificate validation without Ingress host rule? just using http and paths.

  • @polliluiz
    @polliluiz Před 8 měsíci

    How did you run the go file in Alpine without golang?

  • @istvanszabo6875
    @istvanszabo6875 Před 8 měsíci

    Well done Sir! 👏

  • @rakomoto
    @rakomoto Před 9 měsíci

    greaaatttt tutorial bro

  • @soufianta8374
    @soufianta8374 Před 9 měsíci

    Hi. Why redirecting 2>&1 if stream 2 is echoed on the screen anyway?

  • @prabhagaikwad4849
    @prabhagaikwad4849 Před 9 měsíci

    The best video. subscribed and planned to check your other videos already. thank you so much.

  • @soufianta8374
    @soufianta8374 Před 9 měsíci

    Hi, this is one of the weird things I took time to understand. Actually, bash shouldn’t be compared to other languages (data types). Bash was supposed to run external binaries/commands that do their stuff and binaries don’t need to play with return values of other binaires. Nice video btw

  • @jamallmahmoudi9481
    @jamallmahmoudi9481 Před 9 měsíci

    very cool Brief, useful and practical thank you so much 🙏👌

  • @jamallmahmoudi9481
    @jamallmahmoudi9481 Před 9 měsíci

    cool&perfect Thanks a lot 🙏🙏🙏

  • @jamallmahmoudi9481
    @jamallmahmoudi9481 Před 10 měsíci

    Hi , cool&perfect 🙏🙏

  • @mustafamagdy9324
    @mustafamagdy9324 Před 10 měsíci

    thanks a lot for such easy explanation

  • @python1419
    @python1419 Před 11 měsíci

    Good Job! Your explanation is incredibly clear and straight to point. Thank You for this overview. 👍

  • @mohamed_faris_247
    @mohamed_faris_247 Před 11 měsíci

    THANK YOU THANK YOU THANK YOU Simple, great, fast, and to the point. Keep up the great work man!

  • @saddens
    @saddens Před 11 měsíci

    czcams.com/video/pzsFR6etv0Y/video.html

  • @slav4ik73
    @slav4ik73 Před 11 měsíci

    When was the first SSL certificate invented and what was it used for? An SSL certificate was invented by Netscape in 1994 to secure online transactions with their Navigator browser. It was made by using the MD-52 algorithm. This video was uploaded 5 years ago, and not show truth. If you connect to self sign certificate and it doesn't show that site certificate trusted by authority certificate or root certificate (that should be manually be installed on client side or included in updated browser) the traffic between client and self signet server or unpublished server certificate or expired certificate or unlocked 🔓 sign of lock 🔒, mean traffic between client and server will be NOT! encrypted! You can finally trust to hacker who use sniffer to look for your unencrypted data and of course your password. Good luck guys.🔓

    • @212judas
      @212judas Před 11 měsíci

      @Shlomo hhhhhaaaaccckkkeeerrr!!!

    • @slav4ik73
      @slav4ik73 Před 11 měsíci

      @@212judas who is this?😂

  • @RockScissorsRock
    @RockScissorsRock Před 11 měsíci

    So I have a website that has its own public and private keys. What do I do with the cert file and bundle file that the trusted Public CA they sent me in a zip?

  • @diegoherrera2591
    @diegoherrera2591 Před 11 měsíci

    Great explanation, fun fact: your voice reminds me of Jordan Peterson's voice

  • @vkvkvk632
    @vkvkvk632 Před 11 měsíci

    Clear artuculation

  • @andrewkemp_
    @andrewkemp_ Před rokem

    One question. What’s to stop anyone with your public key pretending to be another website. As this is public info, how does the private key come into this I didn’t see it on the last example

  • @tanmoymallick8244
    @tanmoymallick8244 Před rokem

    so on 3:54 its pre-master secret . that means client and server side has same key . can you explain in simple method how this pre-master secret is generated ? is there any formula . for Master secret ( session keys ) which actually helps to pass the encrypted traffic can be derived from some has function of ( pre-master secret , client random and server random ) . this will be on both client and server side . that means there will be 2 sets of keys from client and server side . correct me if i wrong .

  • @DieDona
    @DieDona Před rokem

    Direct to the point. Thanks.

  • @user-cd3ul1ns2q
    @user-cd3ul1ns2q Před rokem

    This is F*****g hard not able to understand

  • @tcloudcorner
    @tcloudcorner Před rokem

    This video 100% clarified my perception on HTTPS

  • @tayeenhossain945
    @tayeenhossain945 Před rokem

    How did I not stumble into your channel years ago is beyond me. Amazingly explained!!