전체 글

"어른이면서 애이기도 하고 싶다."
01 들어가며 안녕하세요. 에반황이에요. 이전에 블로그를 다시 시작하다. 포스팅에서 다뤘듯 최근에 직무를 변경했는데요. 제일 중요한 직무 중 하나인 쿠버네티스(Kubernetes)를 내 커리어에 적을 수 있을 정도로 공부해보려 해요. 02 얻고자 하는 것 쿠버네티스를 씹어 먹고 나선 다음의 목표를 달성하고 해요: 팀 내에서 '쿠버네티스 좀 아는 놈' 포지션 잡기 CKA 자격증 취득하기 이 두 가지를 이루면 올해 목표인 커리어의 성숙을 어느 정도 달성하는 것 아닐까 생각해요. 03 포스팅 계획 새로운 파트장이 본인은 새로운 공부를 할 때, 설명을 할 때 다음의 차례로 진행한다고 했어요. 전체 아키텍처 분석 개별 엔티티 구성요소 분석 엔티티 별로 구성요소 분석 각자의 동작 원리 순서 분석 이 방법이 너무 괜..
· About
01 들어가며 안녕하세요! 약 2년 만에 돌아온, 아무도 기다리지 않았던 블로그의 주인장예요. 다시 블로그를 시작하기 앞서 왜 시작했고, 왜 쉬었으며, 어떻게 운영할지에 대한 정리를 해보고자 글을 써요. 02 왜 시작했나 블로깅의 첫 시작의 목적은 여느 취준생과 다르지 않았어요. '취업' 때문이었죠. 카카오에 인턴으로 취업하게 되었고 리더로부터 안드로이드에 대한 핵심 개념들을 매일 작성하는 과제를 받아서 '자의' 반 '타의' 반으로 시작하게 되었어요. 블로그를 하며 "나도 블로거야"라며 으쓱하기도 했었죠. 02 성과 악바리로 리더의 과제를 수행하다 보니 리더에게도 인정받았어요. 이에 멈추지 않고 저는 블로깅을 계속했어요. 그 원동력은 바로 성과였죠. 두 꼭지로 구분해 보았는데요. '함께 자라기', '수치..
· Basic/Java
데이터 중에는 몇 가지로 한정된 값만을 갖는 경우가 흔히 있다. 예를 들어 계절은 봄, 여름, 가을, 겨울 그리고 요일은 월, 화, 수, 목, 금, 토, 일이라는 한정된 값을 가진다. 이렇게 한정된 값만을 가지는 데이터 타입이 열거 타입(Enumeration type)이다. 열거 타입의 장점 문자열과 비교해 IDE의 지원을 받을 수 있다. (자동완성, 오타 검증, 텍스트 리팩토링) 허용 가능한 값들을 제한 리팩토링 시 변경 범위가 최소화 된다. (내용 추가가 필요해도 Enum 코드 외에 수정할 필요가 없다.) 해당 장점은 모든 언어가 Enum에서 얻을 수 있는 장점이다. 더 나아가 Java Enum의 경우 C/C++과 다르게 Enum이 int 값이 아니라 완전한 기능을 가진 클래스이다. 이를 기반한 장점..
1. 개요 Jackson은 Java Object를 Json으로 변환하는 가장 유명한 라이브러리입니다. POJO를 JSON으로 바꾸는 동안 프로퍼티명은 키로서 사용됩니다. 하지만 때때로 우리는 프로퍼티명을 다른 방식으로 사용하고 싶을 때가 있죠. Jackson은 이를 위해 여러가지 네이밍 전략을 제공하고 있습니다. (SnakeCaseStrategy, PascalCaseStrategy, LowerCaseStrategy, KebabCaseStrategy) EmployeeController.java spring boot 어플리케이션에 Employee라는 POJO를 응답으로 반환하는 RestController를 만들어봅시다. 응답은 자동으로 Jackson의 기본 네이밍 전략에 의해 JSON 형식으로 날아갈 겁니다..
1. 개요 Pagination은 큰 데이터를 표현할 때 도움이 됩니다. 또한 어떠한 기준으로 데이터를 정렬하며 페이징해야할 수 있습니다. 이번 튜토리얼은 Spring Data Jpa를 사용하여 페이징하는 방법에 대해 알아보도록 하겠습니다. 2. 초기 셋업 첫 째로, Product 라는 entity를 다음과 같이 만들어봅시다: @Entity public class Product { @Id private long id; private String name; private double price; // constructors, getters and setters } 우리의 도메인 클래스입니다. 각 Product 인스턴스는 유니크 식별자로 id를 사용하고 name과 price를 가지고 있습니다. 3. Repos..
django 프로젝트 구성 장고를 이용해 웹서비스를 구성할 때 보통 다음과 같은 구조를 가진다고 합니다. 기본적으로 WSGI Web Application Server 하단 부분을 구현하게 되는데, 상단의 웹 서버와 웹 애플리케이션 서버에 대한 궁금증으로 조사해본 결과를 공유합니다. Web Server가 뭔데? 웹서버는 다른 말로 HTTP Server라고도 부른다. 웹브라우저의 카운터 파트너로서 서버 쪽에서 정보를 제공하는 소프트웨어를 의미한다. 클라이언트로부터의 HTTP요청을 받아 정적인 페이지/파일을 돌려준다. (동적인 부분은 WSGI가 담당. 아래에서 다룹니다.) 가벼움과 높은 성능을 목표로 한다. 웹 서버, 리버스 프록시 및 메일 프록시 기능을 가진다. 대표적인 웹서버는 Apache, Nginx가 ..
· Basic/C#
C# async await 예제// 3가지 주의해야할 Signiture가 있음: // - 메소드는 async 수식어가 있어야한다. // - return type은 Task나 Task여야 한다. // 여기서는, integer를 반환하기 때문에 Task를 반환한다. // - 메소드의 이름은 Async로 끝나야한다. async Task AccessTheWebAsync() { using (HttpClient client = new HttpClient()) { // GetStringAsync는 Task을 리턴. // 기다리면 문자열을 얻는다는 뜻이다. (urlContents). Task getStringTask = client.GetStringAsync("https://docs.microsoft.com"); //..
· Basic/C#
Error 메시지error CS0120: An object reference is required for the non-static field, method, or property 발생 상황class Program { void TestMethod() { // Process } static void Main(string[] args) { TestMethod(); } } TestMethod()를 진행하려고 하는데, 위와 같은 에러 메시지가 떴다. 해결 방법1class Program { static void TestMethod() { // Process } static void Main(string[] args) { TestMethod(); } } 말 그대로 non-static field인 메서드를 실행하려고..
· Basic/C#
경고!!제가 아는 부분에 대해서 공유드리는 목적의 발표입니다. 이 부분에 대해 빠삭하지 않기 때문에 질문에 대한 답을 당장은 드릴 수 없을 수 있지만, 추후에 공부를 통해서 답을 드리겠습니다. 네트워크 프로그래밍 저희가 목표로 하는 통신 기능이 있는 C# 코드를 구현하기 전에 네트워크 프로그래밍이 무엇인지 감을 잡도록 하겠습니다. 인터넷의 유래 최초의 컴퓨터는 프로그램을 입력받고 실행한 뒤 결과를 출력하는 정도가 전부였습니다. 이 시기의 컴퓨터는 다음 그림처럼 중앙 컴퓨터에 더미 터미널 여러개를 연결했다고 합니다. 더미 터미널은 연산 능력은 없고, 입력(키보드)와 출력(모니터)만 할 수 있었습니다. 이 터미널은 지능은 없었지만 중앙 컴퓨터와 데이터를 주고 받는 기능을 가지고 있었습니다. 냉전이 한창이던 ..
· Basic/Python
python test assertionTestCase 클래스는 값을 검사하고 실패를 보고하기 위해 몇 개의 assert 메서드를 제공합니다. 다음 표는 보통 많이 사용되는 메서드들입니다(더 많은 assert 메서드는 표 아래를 보십시오):메서드검사하는 내용추가된 버전assertEqual(a, b)a == b assertNotEqual(a, b)a != b assertTrue(x)bool(x) is True assertFalse(x)bool(x) is False assertIs(a, b)a is b3.1assertIsNot(a, b)a is not b3.1assertIsNone(x)x is None3.1assertIsNotNone(x)x is not None3.1assertIn(a, b)a in b3.1a..
에반황
에반, 어른반