Programming/Java

Protobuf, Protocol Buffers 란? 현재 업무를 담당하고 있는 게임 서버는 Client와 통신을 위해 Google에서 개발한 Protobuf를 사용하고 있어요. Protobuf가 어떤 것인지, 어떻게 사용하는지 간단하게 알아봐요~! Protobuf는 Google에서 개발하고 오픈소스로 공개한 데이터 직렬화 구조예요. 대표적인 데이터 직렬화 방식은 우리가 잘 알고 있는 JSON과 XML이 있어요. Protobuf는 gRPC를 구현하기 위해 사용돼요. ※직렬화는 데이터 표현은 Byte 단위로 변환하는 작업을 의미해요. Protobuf의 좋은 점 Protobuf는 이진 포맷이라서 JSON, XML보다 더 작은 데이터 용량을 차지하고, 속도도 빠르고 효율적이에요. 구조화된 데이터는 직렬화, 역..
Python에서 Map 2개를 동일한 값이 들었는지 확인하려면 map == map1 비교를 하면 True, False 값이 리턴된다. 하지만 자바에서는 다른 방법을 사용해야한다. Map에 특정 원소들이 모두 있는지 containsAll 메서드로 확인해보자. entrySet, keySet등 사용하면 된다. HashMap mapA = new HashMap(); HashMap mapB = new HashMap(); mapA.put("apple", 1); mapA.put("banana", 3); mapA.put("pork", 4); mapB.put("apple", 1); mapB.put("banana", 3); mapB.put("pork", 4); System.out.println(mapA.entrySet()...
접두사 -D java -jar -DmyProp="Hello World" myProgram.jar 이처럼 옵션을 줄 때 -D 접두사를 붙여서 주는 이유가 무었일까?? java -jar -myProp="Hello World" myProgram.jar 접두사를 빼는 것이 훨씬 간단해보이는데.. 접두사를 붙이지 않는다면 JVM에 설정된 옵션인 표준 JVM 옵션과 구별되는 시스템 속성으로 판단할 수 없기 때문에 붙여서 구별하는 것이다. 아래는 표준 옵션을 정의한 것이다. 이것은 실행할 때 에러를 발생시킨다. java -jar -client="davidxxx" myProgram.jar -- 표준 옵션 client 인식할 수 없는 옵션: -client=davidxxx 접두사를 사용 하면 표준 JVM 옵션과 구별되는 ..
https://www.techgeeknext.com/cloud/aws/amazon-s3-springboot-list-all-files-in-s3-bucket TechGeekNext - Next Generation Tech, Reviews and Tips Adblocker detected! Please consider whitelist or disable this site. We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading. To keep the site operating, we need funding, and practical..
Java의 문자열 클래스 Java의 대표적인 문자열 클래스는 String, StringBuffer, StringBuilder 가 있습니다. 모두 문자열을 저장하고, 관리하는 클래스이지만 조금의 차이가 있습니다. String 이란? "String 클래스의 가장 큰 특징은 불변(immutable)하다는 것입니다." 즉 문자열이 할당된 메모리 공간이 절대 변하지 않습니다. // String str = new String("hello"); String str = "hello"; str = str + "java"; 처음 str 변수에 "hello" 문자열을 넣었습니다. 이후 str 변수에 "java" 문자열을 더했습니다. 이 과정을 "hello" 값을 가지고 있던 str 변수가 가리키는 곳에 저장된 "hello"..
약수란? 어떤 수를 나누어 나머지가 없이 떨어지게 하는 수를 약수라고 합니다. 8을 1, 2, 4, 8 로 나누면 나누어떨어집니다. 이때 1, 2, 4, 8은 8의 약수입니다. 여러분 모두 아실거라 생각합니다. Java로 약수를 구하는 알고리즘을 알아봅시다. 코딩 테스트에 종종 응용 문제로 출제됩니다. 약수 알고리즘 일반적 약수 알고리즘 int n = 100; for(int i = 1; i
객체지향 5대 원칙 SOLID, OOP 5대 원칙 각 원칙의 맨 앞 글자를 따서 SOLID 원칙이라고 불립니다. SOLID는'견고한'이라는 뜻을 가지고 있습니다. 이 다섯 가지 원칙을 지키며 개발을 진행하면 유지보수에 용이한 견고한 코드를 작성할 수 있다는 것을 나타내기도 한다고 합니다. SRP (단일책임의 원칙 : Single Responsibility Principle) OCP (개방폐쇄의 원칙 : Open Close Principle) LSP (리스코프 치환의 원칙 : The Liskov Subsitution Principle) ISP (인터페이스 분리의 원칙 : Interface Segregation Principle) DIP (의존성 역전의 원칙 : Dependency Inversion Prin..
getOrDefault Java 8에서 추가된 Collection API 함수들 중 일부이다. V getOrDefault(Object Key, Object defaultValue) 찾는 key가 존재한다면 찾는 key의 value를 반환하고 없거나 null이면 default 값을 반환한다. 사용 방법 getOrDefault(Object key, V DefaultValue) key : map 요소의 키이다. defaultValue : 지정된 키로 매핑된 값이 없거나 null이면 반환하는 기본 값이다. import java.util.HashMap; public class practice { public static void main(String arg[]) { String [] abc = { "A", "B"..
String char 변환 char int 변환 1. String -> char 형 변환 str.charAt(i) public static void main(String[] args) { char temp; String str = "woodadada" // 해당 str의 인덱스 위치의 문자 추출 temp = str.charAt(0); System.out.println(temp); //출력결과: w } 2. char -> int 형 변환 str.charAt(i) - '0' Character.getNumericValue (str.charAt(i)); public static void main(String[] args) { int sum = 0; int sum1 = 0; String str = "1234566..
woodadada
'Programming/Java' 카테고리의 글 목록