반응형

프로그래밍 14

2. [gRPC] gRPC 동작 원리

안녕하세요. 코딩도치입니다~ 오늘은 gRPC의 동작 원리에 대해서 공부해보도록 하겠습니다. 이번에 알아볼 것은 저수준의 gRPC 통신과 관련된 내용입니다. 사실 gRPC 애플리케이션 개발자는 사용되는 인코딩 기술, 네트워크에서 작동하는 방식 등의 세부적인 내부 처리를 알 필요는 없습니다. 하지만, 실 서비스 환경에서 gRPC를 사용할 때, 통신 관련 문제를 해결하려면 저수준의 gRPC 메시지 흐름을 이해하는 것이 좋습니다. gRPC 클라이언트와 서버의 역할 RPC 시스템에서 서버는 클라이언트에 의해서 원격으로 호출되는 메서드의 기능을 구현하고, 클라이언트는 서버의 메서드를 호출해서 사용하게 됩니다. 이 때, 클라이언트는 원격 메서드의 추상화를 제공하는 stub이라는 객체를 통해서 메서드를 사용하게 됩니다..

1. [gRPC] gRPC 소개

안녕하세요. 코딩도치입니다~ 오늘부터 gRPC라는 것에 대해서 공부해보도록 하겠습니다. 마이크로서비스 아키텍처(MSA)는 이제 최신 소프트웨어 애플리케이션에서는 필수라고 할 수 있는데요. 이러한 MSA구조에서 중요한 것은 바로 프로세스간 통신 기술입니다. 예를 들어, MSA 구조의 온라인 판매 시스템은 주문 관리, 검색, 결제, 배송 등 서로 연결된 여러 마이크로서비스로 구성될 것입니다. 이러한 시스템 구조는 작은 단위의 서비스들이 서로 통신해야하고, 요청량에 따라 네트워크 통신 연결이 급증할 수밖에 없습니다. 그렇기 때문에, 프로세스 간 통신 기술이 분산 소프트웨어의 가장 중요한 부분이 되는 것이죠. gRPC가 바로 이러한 곳에 사용하는 프로세스 간 통신 기술입니다. 프로세스 간의 통신에는 동기식 스타..

10. [Java] 접근제어자란 무엇인가 - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 접근제어자에 대해서 알아보도록 하겠습니다! 1. 접근제어자란 접근제어자는 변수, 함수, 클래스 등을 선언할 때 사용됩니다. 접근제어자란 말 그대로 해당 변수나 함수 등에 대한 사용자의 접근을 제한하는 역할을 합니다. 접근 제한을 통해서 해당 정보를 외부로부터 보호하는 것입니다. Java에는 4가지 접근제어자가 있습니다. - public : 접근에 제한이 없음 - protected : 동일한 패키지 내에 있거나, 파생 클래스의 경우 접근 가능 - default : 아무런 접근제어자를 명시하지 않았을 경우 할당되는 제어자이며, 동일한 패키지 내에서만 접근 가능 - private : 자기 자신의 클래스 내에서만 접근 가능 private -> default -> protec..

9. [Java] main 메서드(함수)란 무엇인가 - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 앞서 실습을 하면서 등장했던 main이라는 메서드(함수)에 대해서 알아보겠습니다! 사실 main 메서드 자체에 대단한 의미가 있거나, 특별한 기능이 있는 것은 아닙니다. main 메서드는 Java로 구현된 프로그램이 시작될 때 가장 먼저 실행되는 메서드입니다. 이것은 Java의 규칙이고, 받아들이시면 되는 부분입니다. ' Java 소스는 무조건 main 함수에서부터 시작된다! ' 정말 별거 없죠? 하지만 이 main 메서드의 형태를 분석해 봄으로써 더 Java라는 언어의 사용에 능숙해질 수 있습니다. public static void main(String[] args) Class를 생성할 때 main 메서드 생성에 check를 하게 되면 위와 같은 main 메서드가 ..

8. [Java] Class 개념 + 사용 방법(feat. eclipse) 두번째 : 생성자(Constructor) - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 저번 시간에 이어 Class 사용 방법에 대해서 좀 더 알아보도록 하겠습니다. 저번 시간에 Class를 붕어빵 틀에 비유하면서 설명을 했었는데요. 2019/11/25 - [프로그래밍/Java] - 7. [Java] Class 개념 + 사용 방법(feat. eclipse) - 코딩도치 7. [Java] Class 개념 + 사용 방법(feat. eclipse) - 코딩도치 안녕하세요. 코딩도치 입니다~ 오늘은 Class에 대해서 알아보고 실습까지 진행해보도록 하겠습니다! 1. Class란 앞서 객체 지향 프로그래밍에 대해서 포스팅을 했었습니다. 객체 지향 프로그래밍에 대한 이해가 선.. codingffler.tistory.com 붕어빵 틀은 팥을 넣으면 팥 붕어빵을, 슈..

7. [Java] Class 개념 + 사용 방법(feat. eclipse) - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 Class에 대해서 알아보고 실습까지 진행해보도록 하겠습니다! 1. Class란 앞서 객체 지향 프로그래밍에 대해서 포스팅을 했었습니다. 객체 지향 프로그래밍에 대한 이해가 선행되어야 Class라는 것을 쉽게 받아들일 수 있기 때문에, 먼저 객체 지향 프로그래밍에 대해서 보고 오시는 것을 추천드립니다~ 2019/11/18 - [프로그래밍/Java] - 5. [Java] 객체 지향 프로그래밍(OOP)란 무엇인가 - 코딩도치 5. [Java] 객체 지향 프로그래밍(OOP)란 무엇인가 - 코딩도치 안녕하세요. 코딩도치 입니다~ 오늘은 객체 지향 프로그래밍(OOP)에 대해서 알아보려고 합니다! OOP(Object Oriented Programming) : 객체 지향 프로그래..

6. [Java] Package 개념 + 사용 방법(feat. eclipse) - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 package에 대해서 알아보고 직접 만들어 보는 실습까지 하려고 합니다! 1. package란 package : 꾸러미 package의 뜻은 ~꾸러미인데요, Java에서 package는 class꾸러미를 의미합니다. class들이 모여있는 곳을 package라고 정의한 것이죠. 여러분들 모두 폴더를 만들어서 파일들을 관리하시죠? package도 똑같습니다. 소스를 깔끔하게 관리하기 위해서 관련 있는 소스들끼리 모아 놓는 공간인 것이죠. eclipse를 이용해서 프로젝트에 package를 만들어 볼까요? 2019/11/14 - [프로그래밍/Java] - 3. [Java] 이클립스(eclipse) Java 프로젝트 생성 방법 - 코딩도치 3. [Java] 이클립스(ec..

2. [OpenLayers] 화면에 지도(map) 띄우기(feat. HTML, JavaScript) - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 OpenLayers 라이브러리를 이용해서 웹 페이지에 지도(map)를 띄우는 작업을 해보려고 합니다! 우선은 별다른 작업 없이 쉽게 사용 가능한 OpenStreetMap 지도를 이용하겠습니다. (다음에는 외부에서 제공하는 별도의 지도서비스(VWorld)를 이용하는 방법을 알려드리겠습니다~) 지도 회전 좌 우 (좌, 우 를 클릭해 보세요!) 위와 같이 지도를 띄우고 간단하게 컨트롤하는 것 까지 해보도록 하겠습니다. 1. OpenLayers 라이브러리 다운로드 OpenLayers는 오픈소스로 지금도 계속해서 활발하게 업그레이드되고 있습니다. 가장 최신 버전은 6.1.x 버전이지만, 저는 좀 더 안정적인 5.3.0 버전을 사용하도록 하겠습니다. 먼저 html 파일을 하나 ..

5. [Java] 객체 지향 프로그래밍(OOP)란 무엇인가 - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 객체 지향 프로그래밍(OOP)에 대해서 알아보려고 합니다! OOP(Object Oriented Programming) : 객체 지향 프로그래밍 객체 지향 프로그래밍은 프로그램을 만드는 여러 가지 방법론 중에 하나입니다. 어떠한 프로그램을 만드는 데 있어서, 그 프로그램을 구성하는 여러 요소(객체)들을 정의하고 구현합니다. 그렇게 만들어진 요소(객체)들의 조합을 통해서 최종적인 프로그램을 만드는 방식입니다. 별로 와 닿지 않으시나요? 하나의 예를 들어드리겠습니다. '두 개의 수를 입력받아 두 수의 합을 출력하는 프로그램'을 만든다고 가정해보겠습니다. 객체 지향 프로그래밍 방식으로 위 프로그램을 만든다면 방식은 다음과 같을 것입니다. 숫자를 입력받는 객체를 정의 > 합을..

4. [Java] Java란 무엇인가(feat. 특징) - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 Java라는 언어가 도대체 무엇인가에 대해서 알아보도록 하겠습니다! Java가 어떻게 탄생되었고, 누가 만들었고 이러한 역사에 대해서는 사실 여러분(저도..)의 관심사가 아닐 것이라고 생각하고 넘어가도록 할게요~ 하지만 Java라는 언어의 특징에 대해서는 잘 알아야 합니다. 그래야 코딩을 하는 데 있어서 Java라는 언어를 잘 활용할 수 있겠죠? 특징을 알아보기 앞서, Java의 철학 중 한 가지를 짚고 넘어가려고 합니다. - 같은 프로그램이 여러 운영체제에서 실행될 수 있어야 한다. Java에는 여러 가지 철학들이 있습니다. 여러분들이 Java라는 언어를 조금 더 쉽게 이해하기 위해서 위 철학 하나만큼은 알고 가는 것이 좋겠다는 생각이 듭니다. 윈도우 환경에서는 잘..

3. [Java] 이클립스(eclipse) Java 프로젝트 생성 방법 - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 이클립스를 이용한 Java 프로젝트 생성 방법에 대해서 알아보도록 하겠습니다! 제가 사용한 이클립스(eclipse) 버전은 저번에 설치한 가장 최신 버전(2019-09)입니다. 1. 이클립스(eclipse) 실행 이클립스를 실행시키면 먼저 workspace를 설정해 주셔야 합니다. workspace는 여러분이 작성한 코드, 컴파일 결과 등이 저장되는 장소입니다. 여러 프로젝트를 진행하면서 workspace가 많이 생성되기 때문에, 본인이 찾기 쉬운 workspace 생성 위치를 하나 정해서 잘 정리해 두는 것이 좋습니다. 저는 E드라이브에 workspace라는 폴더를 하나 두고, 그곳에만 각 프로젝트 workspace를 생성합니다. 이번에는 codingdoci라는 w..

1. [OpenLayers] OpenLayers란? - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 OpenLayers에 대해서 다뤄보려고 합니다! 1. OpenLayers https://openlayers.org/ OpenLayers - Welcome OpenLayers makes it easy to put a dynamic map in any web page. It can display map tiles, vector data and markers loaded from any source. OpenLayers has been developed to further the use of geographic information of all kinds. It is completely free, Open So openlayers.org OpenLayers는 오픈소스 Ja..

반응형