Article(s)
About 7 min
Article(s) ๊ด๋ จ
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice.
Learnk8s โ the Kubernetes training company
We help you get started on your Kubernetes journey through comprehensive online, in person or remote training.
LogRocket Blog - Resources to Help Product Teams Ship Amazing Digital Experiences
Resources to Help Product Teams Ship Amazing Digital Experiences
packagemain.tech | Alex Pliutau | Substack
Welcome to packagemain.tech, your one-stop shop for mastering Backend, Cloud, Kubernetes, Microservices, APIs, and more. We'll provide you with hands-on, practical and real-world tutorials that you can use to build your software development skills. Click to read packagemain.tech, a Substack publication with thousands of subscribers.
์์ฆIT
์์ฆ ์ฌ๋๋ค์ IT ๋งค๊ฑฐ์ง, ์์ฆIT
์นด์นด์คํ
ํฌ, ๋ฏธ๋์ ๋ฌธํฑ์ ๋ฎ์ถ๋ ๊ธฐ์
๋ฏธ๋์ ๋ฌธํฑ์ ๋ฎ์ถ๋ ๊ธฐ์
Popit | ์ ๋ฌธ ์ง์ ๊ณต์ ๋ฅผ ์ํ ํ๋ธ๋ก๊ทธ
์ ๋ฌธ ์ง์ ๊ณต์ ๋ฅผ ์ํ ํ๋ธ๋ก๊ทธ
์ง๋ง์ผ ๊ธฐ์ ๋ธ๋ก๊ทธ
์ง๋ง์ผ์ ๊ธฐ์ ๊ณผ ๊ฒฝํ์ ๊ณต์ ํฉ๋๋ค.
freecodeCamp
freecodecamp.org
How to Handle Concurrency with Goroutines and Channels in Go
Concurrency is the ability of a program to perform multiple tasks simultaneously. It is a crucial aspect of building scalable and responsive systems. Go's concurrency model is based on the concept of goroutines, lightweight threads that can run multiple functions concurrently, and channels, a built-in communication mechanism for safe...
Learn the Basics of Go by Building a Full Stack Web App with React and Go
Go can work great on the backend for a React project. We just released a course on the freeCodeCamp.org channel that will leach you how to build a full stack web app with React and Go. This comprehensive course is designed to teach you the fundamenta...
Learn How to Build a Decentralized File Storage System with Go
We just posted a 10-hour course on the freeCodeCamp.org YouTube channel that will teach you how to build a decentralized, fully distributed, content-addressable file storage system using Go. This course is perfect for those interested in system desig...
How to Build a Real-Time Chat App With Go, Fiber and HTMX
In this tutorial, you'll build a simple real-time chat app using Go, Fiber and HTMX. You will learn how to leverage the versatility of Fiber by making use of a WebSocket. You'll also learn how to create a reactive frontend without the use of JavaScript...
How to Create Database Migrations in Go Using Docker and Postgres
Go is a fast programming language with a relatively simple syntax. While learning Go, it is important to learn how to build APIs and how to use them to communicate with databases. In the process of learning, I decided to take on a project that helped me in that regard...
Go for Absolute Beginners
Are you looking to dive into a new programming language that is both powerful and efficient? Go, also known as Golang, is a modern language that has quickly become a favorite among developers for its simplicity and performance. Whether you're a seaso...
How to Send and Parse JSON Data in Golang โ Data Encoding and Decoding Explained With Examples
When building web applications in Golang, working with JSON data is inevitable. Whether you're sending responses to clients or parsing requests, JSON encoding and decoding are essential skills to master. In this article, we'll explore the different ways to encode and decode JSON in Golang. Table of Contents ...
How to Terminate Go Programs Elegantly โ A Guide to Graceful Shutdowns
Have you ever pulled the power cord out of your computer in frustration? While this might seem like a quick solution to certain problems, it can lead to data loss and system instability. In the world of software, a similar concept exists: the hard sh...
How to Emulate Real Dependencies in Integration Tests using Testcontainers
What is Integration Testing? The purpose of integration tests is to validate that different software components, subsystems, or applications work well together combined as a group. Itโs an important step in the testing pyramid that can help you ident...
What are Variables and Constants in Go? Explained With Examples
Variables and constants are fundamental concepts in most programming languages. They are the building blocks for storing and managing data. In this article, we'll take a look at how variables and constant work in Go. Table of contents: What are Vari...
How to Implement Server-Sent Events in Go
Server-Sent Events (SSE) is a powerful technology that enables real-time, unidirectional communication from servers to clients. In this article, we'll explore how to implement SSE in Go, discussing its benefits, use cases, and providing practical exa...
How the Comma Ok Idiom and Package System Work in Go
The 'comma ok' idiom and the package system are two fundamental concepts in Go. They help enhance the readability of your code, and reflect Go's philosophy of simplicity and explicitness. In this article, you'll learn about both the comma ok idiom an...
How the Comma Ok Idiom and Package System Work in Go
One of the biggest strengths of Go is its compiler. It abstracts many things for you and lets you compile your program easily for almost any platform and architecture. And though it seems easy, there are some nuances to it and multiple ways of compil...
How to Write Benchmark Tests for Your Golang Functions
Hello Gophers ๐ Let me start by asking you a question: How would you test the performance of a piece of code or a function in Go? Well, you could use benchmark tests. In this tutorial, I will show you how to use an awesome benchmarking tool thatโs b...
How to Work with SQL Databases in Go โ Different Approaches and Examples
Different programming languages have their own ways of working with relational databases and SQL. Ruby on Rails has its Active Record, Python has SQLAlchemy, Typescript has Drizzle, and so on. Go is a language with quite a diverse standard library, w...
How to Run Database Migrations in Kubernetes โ Different Approaches with Examples
In the era of Microservices and Kubernetes, managing database migrations has become more complex than ever. Traditional methods of running migrations during application startup are no longer sufficient. This article explores various approaches to han...
Learnk8s โ the Kubernetes training company
learnk8s.io
Implementing a custom Kubernetes authentication method
Kubernetes allows binding a cluster to arbitrary authentication methods. In this article, you will learn how to implement LDAP authentication for your Kubernetes cluster.
LogRocket Blog - Resources to Help Product Teams Ship Amazing Digital Experiences
blog.logrocket.com
Building a full-stack app with Bud and Go
Build a full-stack app using Bud, the new Go framework, with its built-in functionality for frontend development using Svelte.
packagemain.tech | Alex Pliutau | Substack
packagemain.tech
Unified Cache Keys: How Namespaced Keys Improve Service Interoperability
More than just random keys in a Redis.
The Developer's Guide to Database Proxies: When to Use Them and How to Create One
Database Proxies can enhance performance and security in complex, high-traffic distributed systems built with Microservices.
์์ฆIT
yozm.wishket.com
TDD, ์คํจํ๋ ํ
์คํธ๋ถํฐ ์์ฑํด ์ป๋ ๊ฒ 5๊ฐ์ง | ์์ฆIT
TDD, ์คํจํ๋ ํ
์คํธ๋ถํฐ ์์ฑํด ์ป๋ ๊ฒ 5๊ฐ์ง
์นด์นด์คํ ํฌ, ๋ฏธ๋์ ๋ฌธํฑ์ ๋ฎ์ถ๋ ๊ธฐ์
tech.kakao.com
Golang GC ํ๋ ๊ฐ์ด๋
Golang์ผ๋ก ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด, ์ด๋ ์๊ฐ GC(Garbage Coll...
Popit | ์ ๋ฌธ ์ง์ ๊ณต์ ๋ฅผ ์ํ ํ๋ธ๋ก๊ทธ
popit.kr
์๋ฐ ๊ฐ๋ฐ์๊ฐ Go ์ ๊น ์ฌ์ฉํด ๋ดค์ต๋๋ค(1) | Popit
๋ง์ดํฌ๋ก ์๋น์ค๋ฅผ ๊ตฌ์ฑํ ๊ฒฝ์ฐ ๊ฐ๊ฐ์ ์๋น์ค ํน์ง์ ๋ฐ๋ผ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ธ์ด ๋๋ ํ๋ซํผ์ผ๋ก ์๋น์ค๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ํ์๊ฐ ์๋ ํ์์๋ ์ฃผ๋ก Go ์ธ์ด๋ฅผ ๋ง์ด ์ฌ์ฉํ์ง๋ง Java, Python, Rails, C# ๋ฑ์ผ๋ก ๋ง๋ค์ด์ง ์๋น์ค๋ ์ด์๋๊ณ ์์ต๋๋ค. ์ด๋ฐ ์ํฉ์์ ๊ฐ๋ฐ์๋ ๋ค์ํ ์ธ์ด์ ๋ํ ์ดํด๋ฅผ ํ๊ณ ํ์์ ๋ฐ๋ผ์๋ ์๋น์ค์ ๊ฐ๋ฐ ๋๋ ์์ ์ ํ ์ ์์ด์ผ ํฉ๋๋ค. ํ์์ ๊ฒฝ์ฐ ๊ณผ๊ฑฐ์๋ ์ฃผ๋ก ์๋ฐ ์ธ์ด๋ฅผ ์ด์ฉํ์ฌ ๋ง์ด ๊ฐ๋ฐํ์์ต๋๋ค. ์๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ง๋ง Spring ๋ฑ์ ๋ง์ด ์ฌ์ฉํด๋ณด์ง ์์์ต๋๋ค. ์ถ๊ฐ๋ก C, Ruby & Rails ๋ฑ์ผ๋ก๋ ์๋น์ค๋ฅผ ๊ฐ๋ฐ, ์ด์ํ ๊ฒฝํ์ด ์์ต๋๋ค. ์ด๋ฐ ๊ฒฝํ์ ๊ธฐ๋ฐ์ผ๋ก ์ต๊ทผ ๋ช๊ฐ์ ๋์์ Go ์ธ์ด๋ฅผ ์ด์ฉํ์ฌ ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ ์ ์ ๊ฐ์ด ์๋ฐ ์ธ์ด์ ์ต์ํ ๊ฐ๋ฐ์๋ค์ด Go ์ธ์ด๋ฅผ ์ฒ์ ์ ํ ๋
Go ์ธ์ด๋ก ๋ง๋ REST์ ETag ์บ์ ์ ์ฉํ๊ธฐ | Popit
ETag๋ Entity Tag์ ์ค์๋ง์ด๋ค. Entity๋ผ๋ ๋ง์ด ์์ํ ์๋ ์๋๋ฐ Entity๋ HTTP ๋ฉ์์ง(Messages)์ ์ฐ๊ด์ด ์๋ค. HTTP ๋ฉ์์ง์ Entity HTTP ๋ฉ์์ง๋ HTTP ํต์ ์์์ ์น ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ก ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ ์๋ฏธํ๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์น ์๋ฒ๋ก ๋ณด๋ด๋ ๋ฉ์์ง๋ฅผ ์์ฒญ ๋ฉ์์ง(Request Messages)๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ์น ์๋ฒ๊ฐ ์์ฒญ์ ์ํด ํด๋ผ์ธํธ์๊ฒ ๋ณด๋ด๋ ๋ฉ์์ง๋ฅผ ์๋ต ๋ฉ์์ง(Response Messages)๋ผ๊ณ ๋ถ๋ฅธ๋ค. Entity๋ HTTP ๋ฉ์์ง์ ์ผ๋ถ๋ฅผ ๋งํ๋๋ฐ ๋ฉ์์ง๋ Entity๋ฅผ ๊ฐ์ธ ๋ง๋ ๋ค. ์ฆ ๋ฉ์์ง๋ ์ปจํ
์ด๋๋ก Entity๋ ํ๋ฌผ๋ก ๋น์ ํ ์ ์๋ค. ์๋ ๊ทธ๋ฆผ์ HTTP ๋ฉ์์ง์์ Entity ์์ญ์ ๋ณด์ฌ์ค๋ค.
NAVER D2
d2.naver.com
ํ๋กํ์ผ๋ง ์ ์ฉ๊ธฐ - ๋น์ ์ Go ์ ํ๋ฆฌ์ผ์ด์
์ ์ข ๋ ๋์์ง ์ ์๋ค | NAVER D2
ํ๋กํ์ผ๋ง ์ ์ฉ๊ธฐ - ๋น์ ์ Go ์ ํ๋ฆฌ์ผ์ด์
์ ์ข ๋ ๋์์ง ์ ์๋ค
Golang, ๊ทธ๋๋ค์ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ - 1. ๋ค์ด๊ฐ๋ฉฐ | NAVER D2
Golang, ๊ทธ๋๋ค์ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ - 1. ๋ค์ด๊ฐ๋ฉฐ
Golang, ๊ทธ๋๋ค์ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ - 2. MongoDB Go Driver ์ถ์ํ | NAVER D2
Golang, ๊ทธ๋๋ค์ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ - 2. MongoDB Go Driver ์ถ์ํ
Golang, ๊ทธ๋๋ค์ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ - 3. error ๋ํ | NAVER D2
Golang, ๊ทธ๋๋ค์ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ - 3. error ๋ํ
Golang, ๊ทธ๋๋ค์ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ - 4. error ํธ๋ค๋ง | NAVER D2
Golang, ๊ทธ๋๋ค์ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ - 4. error ํธ๋ค๋ง
์ง๋ง์ผ ๊ธฐ์ ๋ธ๋ก๊ทธ
dev.gmarket.com
์ฟ ๋ฒ๋คํฐ์ค ์คํผ๋ ์ดํฐ๋ฅผ Golang์ผ๋ก ๊ฐ๋ฐํด๋ณด๊ธฐ
์๋
ํ์ธ์. ์ด๋ฒ ํฌ์คํธ๋ ์ฟ ๋ฒ๋คํฐ์ค ์คํผ๋ ์ดํฐ๋ฅผ ์ง์ ๊ตฌํํด ๋ณด๊ณ , ๊ฐ๋ฐํ ์คํผ๋ ์ดํฐ๋ฅผ ๋ก์ปฌ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์ ์ ์ฉํ๋ ๊ณผ์ ๊น์ง ์ค๋ช
๋๋ฆฌ๋ ค๊ณ ํฉ๋๋ค.์์ ์ ์งํ๋์ด ์๊ฐํ์๋ ์ฟ ๋ฒ๋คํฐ์ค ์คํผ๋ ์ดํฐ ์ ์ฉํ๊ธฐ๋ฅผ ๋ณธ ๋
์๋ค์ด ์์ ๊ฒ๋๋ค. ์คํผ๋ ์ดํฐ๋ ์ปค์คํ
๋ฆฌ์์ค(Custom Resource, CR)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฏธ๋ฆฌ ๊ตฌ์ฑ๋ ๋ฆฌ์์ค๋ค(Deployment, Service ๋ฑ)์ ๊ด๋ฆฌํ๋ ์ฟ ๋ฒ๋คํฐ์ค ์ต์คํ
์
๋ฆฌ์์ค์
๋๋ค.์ปค์คํ
๋ฆฌ์์ค ์ ์(Custom Resource Definition, CRD)๋ฅผ ํตํด ๋ด๊ฐ ๋ง๋ค๊ณ ์ถ์ ์ปค์คํ
๋ฆฌ์์ค์ ์คํ์ ์ ์ํ๊ณ ์คํผ๋ ์ดํฐ๋ฅผ ํตํด ์ปค์คํ
๋ฆฌ์์ค์ ์ธ๋ถ ๋ก์ง๋ค์ ์ํํฉ๋๋ค.๋๋ง์ ์คํผ๋ ์ดํฐ๋ฅผ ์ง์ ๊ตฌํํ๊ธฐ ์ํด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ณ SDK๋ค์ด ๋ช ๊ฐ๊ฐ ์์ต๋๋ค. Opera...