기초지식

    Endian (엔디언) 이란?

    Endian (엔디언) 이란?

    Endian이라는 단어가 생소하여 정리하여 둔다. Endian 엔디안 이란? - 엔디안은 컴퓨터의 메모리와 같은 1차원 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며 , 바이트를 배열하는 방법을 특히 바이트 순서(Byte Order) 라고 한다. 엔디안은 사람이 쓰는 것 과 같이 큰단위가 앞으로 나오는 것을 빅 엔디안 작은 단위가 앞으로 오는 것을 리틀 엔디안 이라고 한다. 어떤 엔디언이 좋을까? 엔디언은 System Architecture 즉 Cpu의 제조사와 관련이 있다. - 다만 네트워크에서는 빅엔디언으로 통일해서 사용. 오늘 날 어떤 엔디언을 쓰던지 큰 차이는 없지만 미묘한 장단점이 존재 - 빅엔디언은 사람이 읽기 좋아 , 디버깅에 좋음 - 리틀 엔디언은 하위바이트에 주소값으로 바로 접근..

    Netty FrameWork란? Socket 통신과의 차이점은?

    Netty FrameWork란? Socket 통신과의 차이점은?

    # Netty프레임워크에 대한 기초적인 개념과 Socket 통신과의 차이점에 대하여 알아본다. Socket 통신 # 자바는 태어날때부터 Java.net을통해 socket프로그래밍 방식을 제공했다. Socket 통신을 하기위해서 우선 소켓생성 -> 포트에 bind 하고 accept 해야하며 그후 input output stream을 얻습니다. 그후 쓰레드를 할당받아 read 및 write 과정을 거쳐 패킷을 전송합니다. 이렇게 bindng ,accept ,read ,write 과정을 직접 모두 구현해야하는 번거로움이 존재합니다. 그러나 Netty를 사용하면 이러한 과정(read,write)을 조금더 쉽게 구현하게 도와줍니다. Netty의 구성요소 Channel, EventLoop, EventLoopGrou..

    gRPC 프레임워크란 ?

    gRPC 프레임워크란 ?

    # RPC통신을 이해했음을 전제로 RPC통신을 기반으로 Google에서 만든 gRPC에 대하여 알아본다. gRPC란 무엇인가? ● gRPC는 RPC 통신의 프레임워크로 구글에서 만들어졌습니다. 그렇다면 기존 RPC와 다른점은 무엇일까요? ● gRPC 를 설명할 수 있는 그림으로 아래 그림이 있습니다. 왼쪽에 Service 라고 나와 있는 박스가 서버이고, 왼쪽에 Client 라고 표시되어 있는 박스가 말 그대로 클라이언트 입니다. 각각의 이름 앞에 프로그래밍 언어가 붙어 있는 이유는 각기 다른 언어로 개발된 프로세스들 끼리도 통신할 수 있다는 것을 알리기 위해 예시로서 표기되었습니다. 그리고 각각의 박스를 연결하는데 Proto Request 와 Proto Response 라고 나와 있는데, 이 부분이 g..

    RPC통신이란?

    RPC통신이란?

    # gRPC 프레임워크와 RPC 통신에 대한 기술조사를 진행한다. gRPC프레임워크를 알기전 RPC통신에 대한 선수지식이 필요하다는 생각이 들어 우선 RPC 통신에대 한 조사부터 진행한다. ● Remote Procedure Call (원격 프로시저 호출) 의 약자로 , 별도의 원격제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게 하는 프로세스 간 통신 기술을 일컫는다. 즉, RPC통신을 하게되면 프로그래머는 함수 또는 프로시저가 실행 프로그램에 존재하든 로컬 위치에있든, 원격위치에 있든 상관없이 동일한 기능을 수행할 수 있음을 의미한다. 위 그림은 기본적인 RPC 통신에 대한 그림이다 , Client가 P라는 함수를 이용하고 싶어하는데 이 함수는 Server에 위치해있고이를 R..

    Jsp , thymeleaf / react , vue의 차이점

    spring 으로 백엔드를 개발후 View에서 jsp를 사용했었는데 react로 리팩토링을 계획함에 따라 Jsp 와 thymeleaf, react , vue 의 정확한 차이점을 짚고가고싶어서 작성하게 되었다. 우선 큰 차이점으로 렌더링 방식 차이부터 설명하도록 하겠다. 1. 서버 사이드 렌더링 설명 : 서버에서 완전한 HTML을 만들어서 내려준다 , 대표적으로 jsp,thymeleaf,velocity freemarker가 있다. 장점👍: 단순하고 학습곡선이 낮음 , 백엔드 개발자도 쉽게 개발이 가능하다. 단점👎: 동적이면서 복잡한 화면을 만들기는 어렵다. 2. 클라이언트 사이드 렌더링 설명 : 서버는 API만 제공하고, 자바스크립트 프레임워크가 템플릿과 서버 API 응답 결과를 조합해서 HTML 화면을 ..

    [Java] 예제 네이버 파파고  api 이용해서 번역해보기

    [Java] 예제 네이버 파파고 api 이용해서 번역해보기

    본문에서는 간단하게 스프링이나 다른 프레임워크를 사용하거나 같이쓰지 않고 자바 단독으로 application run 을이용하여 실습해보았습니다. 1. Naver 오픈 api 신청하기 https://developers.naver.com/apps/#/register?defaultScope=translate 위 주소에서 신청한다. 2. api 연동 코드 제작 - 네이버에 있는 예제소스를 그대로 붙여넣었습니다. 프로젝트와 클래스를 하나 만들어서 그대로 복사 import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; imp..

    JSP란?

    JSP란?

    JSP란 JavaServer Pages의 약자로 HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹 어플리케이션 도구이다. JSP가 실행되면 자바 서블릿으로 변환되며 웹어플리케이션 서버에서 동작되면서 필요한기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다. 웹 (web) 인터넷 기반의 정보 기술로 world wide web의 줄임말로 쓰이며 www 라고도 한다. 전세계에 거대한 네트워크 망을 통해 정보를 공유하며 정보의 흐름은 양방향성을 가진다. 웹 어플리케이션 (web application) 웹어플리케이션은 웹에서 실행되는 응용프로그램을 뜻하며 인터넷을 통한 은행업무, 인터넷쇼핑, 등등 인터넷에서 하는 여러 서비스를 총칭하며 사용자가 필요한 요청(Request) ..

    삼항연산자 in HTML

    삼항연산자의 구문 condition ? exprIfTrue : exprIfFalse 삼항연산자의 구문으로 {조건문? 참결과값 : 실패결과값} 으로 나타낼수 있다. html안에서의 예시이다. 서버타입이 A이면 Agent를 , 아니면 Manager를 밸류값으로 지정하도록 하는 삼항연산자 사용예시이다.