Skip to content

Commit

Permalink
The new article is supported by website
Browse files Browse the repository at this point in the history
  • Loading branch information
dimitardanailov committed Dec 11, 2023
1 parent 479479a commit 7f18179
Show file tree
Hide file tree
Showing 4 changed files with 123 additions and 0 deletions.
15 changes: 15 additions & 0 deletions apps/website/src/app/articles/2023/12/01/[slug]/Content.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand All @@ -30,6 +33,9 @@ const Content = () => {
<li>
<Keyword word="Pull requests tips and tricks" />
</li>
<li>
<Keyword word="Docker Containers and Kubernetes Fundamentals" />
</li>
</ul>

<p className="mt-1">Video presentations:</p>
Expand All @@ -38,6 +44,15 @@ const Content = () => {
<li>
<EcmascriptHarmonyRiseCompilers />
</li>
<li>
<HoldingPerformancePromises />
</li>
<li>
<RailsConf2015StrongCodeReviewCulture />
</li>
<li>
<DockerKubernetes />
</li>
</ul>
</>
)
Expand Down
36 changes: 36 additions & 0 deletions apps/website/src/blog/courses/docker-kubernetes-fundamentals.tsx
Original file line number Diff line number Diff line change
@@ -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 (
<article className="blog-list-article">
<BlogLectureTitle text={title} />
<BlogLectureDescription>
<>
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.
</>
</BlogLectureDescription>
<span className="text-bold">Video: </span>
<TargetBlankLink
href="https://youtu.be/kTp5xUtcalw?si=yYxlyOqS1_0tlR1E"
text={title}
title={title}
/>
</article>
)
}

export default Component
36 changes: 36 additions & 0 deletions apps/website/src/blog/lectures/holding-performance-promises.tsx
Original file line number Diff line number Diff line change
@@ -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 (
<article className="blog-list-article">
<BlogLectureTitle text={title} />
<BlogLectureDescription>
<>
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.
</>
</BlogLectureDescription>
<span className="text-bold">Video: </span>
<TargetBlankLink
href="https://youtu.be/DFP5DKDQfOc?si=fvDnpKfVNQ-h1-sM"
text={title}
title={title}
/>
</article>
)
}

export default Component
Original file line number Diff line number Diff line change
@@ -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 (
<article className="blog-list-article">
<BlogLectureTitle text={title} />
<BlogLectureDescription>
<>
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&rsquo;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&rsquo;ll
learn how to get more from the reviews you&rsquo;re already getting
and how to have more impact with the reviews you leave.
</>
</BlogLectureDescription>
<span className="text-bold">Video: </span>
<TargetBlankLink
href="https://youtu.be/PJjmw9TRB7s?si=hJo0fg9fdBh-ayaL"
text={title}
title={title}
/>
</article>
)
}

export default Component

1 comment on commit 7f18179

@vercel
Copy link

@vercel vercel bot commented on 7f18179 Dec 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

portfolio-website – ./apps/website

portfolio-website-dimityrdanailov.vercel.app
portfolio-website-git-main-dimityrdanailov.vercel.app
ddanailov.dev

Please sign in to comment.