Image for post
Image for post
Photo by Marius Masalar on Unsplash

C#이 자바와 비슷하다고 여겨지는 (혹은 오해받는) 가장 큰 부분은 아마도 포인터와 unsafe 코딩이 잘 알려져있지 않기 때문일 것 같습니다. 오늘은 비교적 잘 알려져있지 않은 C#의 포인터와 unsafe 코딩을 이용해서 C 언어로 작성된 버블 정렬 코드를 C#으로 옮겨보도록 하겠습니다.

Unsafe 코드 컴파일을 위한 준비

Visual Studio에서 C# 프로젝트를 만든 후에는 기본적으로 Unsafe 코드 컴파일 기능이 비활성화되어있습니다. 프로젝트 속성 — 빌드 탭으로 이동하여 다음과 같이 기능을 활성화해주시면 이 글에서 설명하는 내용을 사용할 수 있습니다.


Image for post
Image for post
Photo by Nick Abrams on Unsplash

You may wonder why the Windows Container starts up so slowly. Because you never pinned your exact base image version of your container image. In this article, I’ll explain what was going on under the hood and how you can handle it correctly.

Understanding Base Image Publish Rule

Microsoft regularly publishes newer Windows Server container images when they roll out the more recent Windows Server security patches and hotfixes. For example, when Microsoft releases KB4598242 for 20H2, the container base image also released.

When the new base image rolled out to the mcr.microsoft.com, the new image consisted of two parts. The first part is the…


Image for post
Image for post
https://unsplash.com/photos/QCxngnhwiE4/share

After launching .NET 5 and C# 9, I was utterly obsessed with the Top Level Program (a.k.a. TLP) feature. TLP delivers quick and fast prototyping for the .NET application and makes the most immediate entries for my work.

But TLP is just syntax sugar, not a complete solution. So there are little details you should know before choose TLP.

Thread Apartment Model

This detail is a rare case but critical for the Windows application developers. Usually, the Main method does not require particular attributes, excluding the Windows desktop application area. …


Image for post
Image for post
person holding sparkler photo — Free Fireworks Image on Unsplash

우선 귀한 시간을 내어 귀중한 답변을 해주신 모든 분들께 다시 한 번 깊은 감사의 인사를 드립니다. 여러분께서 공유해주신 피드백이 닷넷 생태계를 다시 한 번 일으킬 수 있는 견고한 기반이 될 것이라 믿습니다.

안녕하세요. 닷넷데브의 남정현입니다.

우선 시작하기 앞서, 연말을 맞이하여 위로의 이야기를 먼저 하고 싶습니다.

유례없이 큰 시련을 겪은 한 해였습니다. 지난해 연말부터 시작된 신종 코로나 바이러스 19의 무서운 확산세에 정말 많은 것이 변하여 새로운 생활로 우리의 삶 속에 깊은 흔적을 남기고 있습니다.

하지만 이렇게 힘든 가운데에서도 우리 모두는 신종 코로나 바이러스 19라는 재난을 극복하고 더 희망찬 미래를 꿈 …


Image for post
Image for post
You can show your .NET code as a presentation with Jupyter Notebook, .NET Interactive.

The precious .NET 5 has finally arrived in our workspace, and I’m thrilled. .NET 5 is a unified and cross-platform supported runtime for C# and F# developers. Also, it has balanced cross-platform features across all environments, including existing your old familiar Windows desktop environment and Linux, Cloud-native, macOS, even machine learning, Apache Spark, and Web Assembly.

I’m recently taking a series of the episode called the Azure Playlists project in cooperation with Microsoft Korea. I thought a lot about how to present my PowerShell code to viewers effectively. After many trials and errors, I got a neat but simple idea.


Image for post
Image for post
You can create the hybrid Kubernetes cluster with Windows worker node on your MacBook and bootcamp!

Starting with Kubernetes 1.14, Windows worker node support has come to general availability. But despite this, lots of improvements were added to make less gap between Linux Kubernetes worker node.

IMHO, there are two significant problems to solve before using Windows Kubernetes in production environments.

  • Both of Windows container and Windows Kubernetes are depending on network feature which provided by Host Network Service (a.k.a. HNS). When the Kubernetes cluster created a new service, the Windows worker node can route the traffic to service via its local load balancer, and each service consumes an ephemeral port. Inevitably, all ephemeral ports will…


Image for post
Image for post
맥북 부트캠프 위에서 구동하는 윈도우 노드를 포함하는 로컬 쿠버네티스 클러스터

You can read the English version here.

쿠버네티스 버전 1.14에서는 처음으로 윈도우 서버를 운영 체제로 사용하는 워커 노드 지원이 정식으로 추가되었습니다. 하지만 그 후로도 많은 개선이 이루어졌는데, 리눅스 버전의 쿠버네티스 워커 노드와 차이가 있던 부분이 좁혀지기 시작했습니다.

개인적으로는 윈도우 쿠버네티스가 프로덕션 환경에서 사용할 준비가 아직 되지 않았다고 보는 부분이 두 가지가 있었는데, 다음의 두 가지 부분입니다.

  • 윈도우 컨테이너와 윈도우 쿠버네티스가 의존하는 네트워크 기능은 호스트 네트워크 서비스 (이하 HNS)를 중심으로 구현됩니다. 쿠버네티스 클러스터 상에 서비스가 만들어지면 …


Image for post
Image for post
VCXSRV와 Seamless Multi Window로 구현한 Windows + Linux 데스크톱

WSL 2에 조만간 추가될 예정인 Windows 10용 Wayland Compositor를 기다리시는 분들이 많을 것 같습니다. 올해 겨울 즈음에 프리뷰 버전이 출시될 것으로 예상되는 이 기능도 좋겠지만, 지금 당장 사용할 수 있는 최적화된 GUI 환경을 찾으시는 분들을 위해 간단한 팁을 소개할까 합니다.

First Things First: 한국어 입력기 추가하기

이번에 저는 WSL 2에서 한글 입력기 추가하기라는 아티클의 도움을 받아 이전보다 더 간결하게 한국어 입력기를 추가할 수 있었습니다. Felix Song님께 감사드립니다.

이 아티클에서 소개하는대로 한국어 입력기 설정을 마친 후를 전제로 계속 이야기를 진행해볼까 합니다.

VCXSRV 바로 가기 아이콘 만들기

기본적으로 VCXSRV는 다양한 설정을 편리하게 …


Image for post
Image for post
Photo by Windows on Unsplash

Kubernetes의 Windows 버전의 개발을 담당하는 Windows SIG에 대한 소개, 하는 일, 앞으로의 계획을 간략하게 정리한 인터뷰용 질문/답변 문서가 유익하다고 생각하여 한국어로 번역하여 공유합니다.

Note: 편의 상, 그리고 빠르게 공유하고 싶어 기계 번역으로 초안을 만들고 간단히 다듬었습니다. 어색한 부분에 대한 피드백을 주시면 적극 수정하겠습니다.


Image for post
Image for post
Photo by Kid Circus on Unsplash

After Microsoft took over the GitHub, many features have advanced than before. Not only freeing existing repository quotas, but there is also a charming feature for many developers and teams who want to automate all kinds of workflow.

But did you know that GitHub also provides proven Windows CI features for all users? Again, the point is, it is “mature” and “stable” for “Windows developers.”

If you are developing your application in Windows with Visual Studio, you may suffer about continuous integration platform due to its specialized configurations. Also, the entire build system is a vast and complex set of…

Jung-Hyun Nam

Works at DEVSISTERS, Corp., Microsoft MVP since 2009, Living in S.Korea.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store