diff --git a/apps/website/src/app/articles/2023/12/01/[slug]/Content.tsx b/apps/website/src/app/articles/2023/12/01/[slug]/Content.tsx index 0a6cdbe..b5e5c4e 100644 --- a/apps/website/src/app/articles/2023/12/01/[slug]/Content.tsx +++ b/apps/website/src/app/articles/2023/12/01/[slug]/Content.tsx @@ -4,6 +4,9 @@ import {Slogan} from '@/styled-components' import {Keyword} from '@/components/SEO' import EcmascriptHarmonyRiseCompilers from '@/blog/lectures/ecmascript-harmony-rise-compilers' +import HoldingPerformancePromises from '@/blog/lectures/holding-performance-promises' +import RailsConf2015StrongCodeReviewCulture from '@/blog/lectures/rails-2015-implementing-strong-code-review-culture' +import DockerKubernetes from '@/blog/courses/docker-kubernetes-fundamentals' const Content = () => { const listStyle = 'list-disc mx-6 mt-0 mb-5' @@ -30,6 +33,9 @@ const Content = () => {
  • +
  • + +
  • Video presentations:

    @@ -38,6 +44,15 @@ const Content = () => {
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • ) diff --git a/apps/website/src/blog/courses/docker-kubernetes-fundamentals.tsx b/apps/website/src/blog/courses/docker-kubernetes-fundamentals.tsx new file mode 100644 index 0000000..9c7b67a --- /dev/null +++ b/apps/website/src/blog/courses/docker-kubernetes-fundamentals.tsx @@ -0,0 +1,36 @@ +'use client' + +import TargetBlankLink from '@/components/TargetBlankLink' +import BlogLectureTitle from '@/components/BlogLectureTitle' +import BlogLectureDescription from '@/components/BlogLectureDescription' + +const Component = () => { + const title = + 'Docker Containers and Kubernetes Fundamentals: Full Hands-On Course' + + return ( +
    + + + <> + Learn how to use Docker and Kubernetes in this complete hand-on course + for beginners, how to containerize applications with the Docker CLI + and Visual Studio Code, push and pull container images on Docker Hub, + a container registry, and create multi-container applications using + Docker Compose. Learn about the Kubernetes architecture and how it + works. Run it locally and use the Kubernetes CLI and Visual Studio + Code to run, debug and troubleshoot applications and services. Learn + about pods and the different workloads available. + + + Video: + +
    + ) +} + +export default Component diff --git a/apps/website/src/blog/lectures/holding-performance-promises.tsx b/apps/website/src/blog/lectures/holding-performance-promises.tsx new file mode 100644 index 0000000..363a904 --- /dev/null +++ b/apps/website/src/blog/lectures/holding-performance-promises.tsx @@ -0,0 +1,36 @@ +'use client' + +import TargetBlankLink from '@/components/TargetBlankLink' +import BlogLectureTitle from '@/components/BlogLectureTitle' +import BlogLectureDescription from '@/components/BlogLectureDescription' + +const Component = () => { + const title = + 'Holding on to your Performance Promises - Maya Lekova and Benedikt Meurer' + + return ( +
    + + + <> + Lecture Info: The ES2015 revision of JavaScript introduced Promises as + primitives for asynchronous operations and generators as primitives + for concurrent programming. On top of that ES2017/18 added async + functions and generators. This talk briefly explores these primitives, + and dives into the performance peculiarities of Promises-based + programming paradigms. We’ll especially look into how these operations + perform in V8, the JavaScript engine that powers both Node.js and + Chrome. + + + Video: + +
    + ) +} + +export default Component diff --git a/apps/website/src/blog/lectures/rails-2015-implementing-strong-code-review-culture.tsx b/apps/website/src/blog/lectures/rails-2015-implementing-strong-code-review-culture.tsx new file mode 100644 index 0000000..b565c41 --- /dev/null +++ b/apps/website/src/blog/lectures/rails-2015-implementing-strong-code-review-culture.tsx @@ -0,0 +1,36 @@ +'use client' + +import TargetBlankLink from '@/components/TargetBlankLink' +import BlogLectureTitle from '@/components/BlogLectureTitle' +import BlogLectureDescription from '@/components/BlogLectureDescription' + +const Component = () => { + const title = 'Implementing a Strong Code-Review Culture' + + return ( +
    + + + <> + Code reviews are not about catching bugs. Modern code reviews are + about socialization, learning, and teaching. How can you get the most + out of a peer’s code review and how can you review code without + being seen as overly critical? Reviewing code and writing + easily-reviewed features are skills that will make you a better + developer and a better teammate. You will leave this talk with the + tools to implement a successful code-review culture. You’ll + learn how to get more from the reviews you’re already getting + and how to have more impact with the reviews you leave. + + + Video: + +
    + ) +} + +export default Component