마샬링(Marshalling)? 직렬화(Serialization)?
2023. 11. 14. 12:20
Study
개요 - 개발자 형님과 대화를 하다보니 직렬화와 마샬링이라는 단어를 계속 사용하셨다. 문맥상 어느정도 유추할 수는 있으나 그게 어떤 뜻인지 정확히 알지 못해서 찾아보게 되었다. 마샬링이란? CS에서 마샬링(Marshalling)은 파일로 저장하거나 네트워크로 전송하기 위해서 객체의 데이터 포맷을 적합한 형태로 변환하여 메모리에 표현하는 과정이다. 일반적으로 컴퓨터 프로그램에서 다른 파트끼리 데이터를 전달하거나 하나의 프로그램에서 다른 프로그램으로 데이터를 전달할 때 사용된다. 마샬링(Marshalling)은 직렬화(Serialization)와 유사하거나 동의어일 수 있습니다. 마샬링은 클라이언트에서 서버에 어떠한 객체를 전달하려는 인텐트나 프로세스로 표현할 수 있다. 인텐트는 하나의 실행중인 프로그램에서..

gRPC를 좀 더 쉽게 정리 해 보자.
2023. 11. 14. 11:55
Study
개요 : gRPC에 대해서 좀 더 깊이 들어가고 싶었으나, 만약 타인에게 설명을 해 주는 상황이라면 기본 개념이 머리속에 잡혀 있어야 되는데 정리를 하면서도 너무 방대한 양이라 이해하기가 어려웠다. 그래서 간단하게 정리 해 보고 기본적인 개념을 잡아보는게 더 좋을 거 같아서 정리를 해보게 되었다. gRPC - Google Remote Procedure Call의 약자로, 확장 가능하고 빠른 API를 만드는 데 사용되는 오픈 소스 RPC 프레임워크이다. 더보기 Procedure(프로시저) 특정한 로직을 처리하기만 하고 결과 값을 반환하지 않는 서브 프로그램 데이터베이스에 대한 일련의 작업을 정리한 절차를 관계형 데이터베이스 관리 시스템이 저장한 것 테이블에서 데이터를 추출, 조작하고 결과를 다른 테이블에 ..

MVC에 대해서 더 자세히 알아보자
2023. 11. 12. 12:16
Study
MVC (Model-View-Controller) 소프트웨어 디자인 패턴 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 비즈니스 로직을 서로 영향 없이 고칠 수 있는 애플리케이션을 만들 수 있다. 애플리케이션의 정보(데이터)를 나타내며 뷰는 사용자 인터페이스 요소, 컨트롤러는 데이터와 비즈니스 로직 사이의 상호동작을 관리한다. 구성요소 Controller : 모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다. Model : 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. < 뷰는 최신의 결과를 보여주고 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가, 제거, 수정할 수 있다. View : 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 가지고..

gRPC
2023. 11. 10. 15:45
Study
gRPC와 REST의 차이점? gRPC와 REST는 API 설계에 사용되는 2가지 방법이다. API는 정의 및 프로토콜 세트를 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘이다. gRPC는 한 구성 요소(해당 클라이언트)가 다른 소프트웨어 구성 요소(해당 서버)의 특정 함수를 직접 또는 간접적으로 호출한다. REST에서는 함수를 직접적으로 호출하는 대신 클라이언트가 서버의 데이터를 요청하거나 업데이트 한다. gRPC(Google Remote Procedure Call) : Google에서 만든 RPC. Cloud Native Comuting Foundation 에서 관리하는 오픈 소스 API 아키텍처 및 시스템이다. 원격 프로시저 호출(RPC) 모델을 기반으로 한다. RPC모델..
[코딩테스트] 두 수의 나눗셈
2023. 11. 4. 23:41
programming/JAVA
기초 코딩테스트를 풀고 있었는데 확인해 보니 더 쉬운 난이도인 입문이 있었다. day1 사칙연산은 아주 쉽기 때문에 넘어가고 day2에 첫 번째인 두 수의 나눗셈에서 형변환이 있어서 정리하게 되었다. 문제 설명 정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해 주세요. 입출력 예 num1 num2 result 3 2 1500 7 3 2333 1 16 62 입출력 예 설명 입출력 예 #1 num1이 3, num2가 2이므로 3 / 2 = 1.5에 1,000을 곱하면 1500이 됩니다. 입출력 예 #2 num1이 7, num2가 3이므로 7 / 3 = 2.33333... 에 1,000을 곱하면..

[코딩테스트] 문자열 반복해서 출력하기
2023. 11. 1. 10:45
programming/JAVA
문제 설명 문자열 str과 정수 n이 주어집니다. str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요. 제한사항 1 ≤ str의 길이 ≤ 10 , 1 ≤ n ≤ 5 입출력 예 입력 #1 출력 #1 string 5 stringstringstringstringstring 예제파일 // solution.java // 예제파일 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); int n = sc.nextInt(); } } 결과 // solution.java import java..

[코딩테스트] a와 b 출력하기
2023. 11. 1. 09:31
programming/JAVA
문제 설명 정수 a와 b가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성해 보세요. 제한 사항 -100,000 ≤ a, b ≤ 100,000 입출력 예 입력 #1 출력 #1 4 5 a = 4 b = 5 풀이 // Solution.java import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); if(-100000

[코딩테스트] 문자열 출력하기
2023. 11. 1. 01:34
programming/JAVA
문제 설명 문자열 str이 주어질 때, str을 출력하는 코드를 작성해 보세요. 제한사항 - 1