Develop
-
React, JSDevelop/FE 2021. 7. 5. 20:00
Axios Promise based HTTP client for the browser and node.js Context context를 이용하면 단계마다 일일이 props를 넘겨주지 않고도 component tree 전체에 data를 제공 가능하다. Hook 함수 컴포넌트에서, react state와 lifecycle features를 연동 가능하게 해주는 함수. class 안에서는 동작하지 않는다. - class 없이 react를 사용 가능하게 해준다. import React, {useState} from 'react'; 함수형 컴포넌트에서 state를 사용할 수 있게 해준다. useState가 return하는 첫번째 인자는 state의 value이고, 두번째 인자는 state의 value를 변경시켜..
-
연산자Develop/Java 2021. 6. 12. 17:46
- 산술 연산자 - 비트 연산자 - 관계 연산자 - 논리 연산자 - instanceof - assignment (=) operator - 화살표 (->)연산자 - 3항연산자 - 연산자의 우선 순위 - switch operator 산술 연산자 연산자가 특정 작업을 위한 기호라면, 산술 연산자는 수학적인 계산을 하기 위해 쓰는 기호. 부호 ( + , - ) 증감 ( ++ , -- ) + , - , * , % , / 연산자 (operator) : 연산을 수행하는 기호. 피연산자 (operand) : 연산자의 작업 대상 ( 변수, 상수, 리터럴, 수식 ) 사칙 연산자 ( + , - , * , / ) 피연산자가 정수형인 경우, 나누는 수로 0을 사용할 수 없다. 0으로 나눈다면 실행시에 에러가 발생한다. (Ari..
-
자바 데이터 타입, 변수 그리고 배열Develop/Java 2021. 3. 25. 14:47
- 프리미티브 타입 종류와 값의 범위 그리고 기본 값 - 프리미티브 타입과 레퍼런스 타입 - 리터럴 - 변수 선언 및 초기화하는 방법 - 변수의 스코프와 라이프타임 - 타입 변환, 캐스팅 그리고 타입 프로모션 - 1차 및 2차 배열 선언하기 - 타입 추론, var Data Type 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 나타낸다. Primitive Type 총 8가지가 존재하고, 기본값이 있기 때문에 null이 존재하지 않는다. null을 넣을 경우, 래퍼 클래스를 활용한다. stack memory에 저장된다. 자료형에 담을 수 있는 크기를 벗어난다면, 컴파일 시점에 에러가 발생한다. 논리형 boolean 1 byte true / false 정수형 byte 1 byte..
-
Spring RetryDevelop 2021. 2. 2. 10:00
Spring Retry 실패한 동작을 자동으로 다시 호출하는 기능 제공. 네트워크 결함과 같이 오류가 일시적으로 발생할 경우 유용함. Enabling @Configuration 클래스에 @EnableRetry 애너테이션을 추가해야함. Retry @Retryable 을 사용하여 실패 시 재시도할 메서드 호출을 작성 가능하다. @Service public class RetryService{ static int retryCount = 0; @Retryable(value = {SQLException.class}, maxAttempts = 2, backoff = @Backoff(delay = 2000)) int countContents() throws SQLException { retryCount++; Syste..
-
JVM은 무엇이며, 자바 코드는 어떻게 실행하는 것인가?Develop/Java 2021. 1. 11. 10:13
- JVM이란 무엇인가? - 컴파일 하는 방법 - 실행하는 방법 - 바이트코드란 무엇인가 - JIT 컴파일러란 무엇이며 어떻게 동작하는가 - JVM 구성 요소 - JDK와 JRE의 차이 1. JVM이란 무엇인가? Java Virtual Machine , 즉 자바를 실행하기 위한 가상 기계. SW로 구현된 HW임. Java Application은 JVM에서만 실행된다. 그러므로 반드시 실행을 위해서 JVM이 필요하다. 특징 Interpret : 실행시에 해석된다. JIT Compiler : byte code를 HW의 기계어로 바로 변환해주는 역할이다. 인터프리터 뿐만 아니라, 이를 통해 속도 향상이 일어났다. OS와 하드웨어에 독립적 : JAVA Application은 JVM과 상호작용을 한다. Garba..
-
Java StringDevelop/Java 2020. 11. 13. 08:41
String 문자열의 생성 일반 객체를 생성할 경우 ⇒ new 키워드를 사용한다. String은 new가 없어도 바로 값 할당이 가능하다. 이를 문자열 리터럴이라고 한다. new 연산자는 생성된 값을 heap에 할당하고, 리터럴 연산자는 String Constant Pool에 할당한다. Java7부터는 Heap으로 할당한다. 이전에는 Perm 영역에 Constant Pool이 존재했다. Java 8부터 Perm영역이 삭제되었다. Heap은 GC의 대상이라, 참조를 잃을 경우 다시 메모리로 반환된다. String 1 = "aaa"; String 2 = "aaa"; //1과 2는 String constant pool 내의 같은 객체를 참조한다. String 3 = new String("aaa"); Strin..
-
Kafka Cluster TutorialDevelop 2020. 11. 11. 13:58
kafka-cluster-tutorial Create simple kafka cluster easily! Download Apache Kafka my version is 2.12-2.3.0 Start Server Before start kafka, we need to start zookeeper first. config files #zookeeper / kafka config files $ vi config/zookeeper.properties $ vi config/server.properties start zookeeper & kafka $ bin/zookeeper-server-start.sh $ bin/kafka-server-start.sh you can see messages {: width="10..
-
Redis Cluster TutorialDevelop 2020. 11. 11. 13:57
Redis-cluster-tutorial Redis (REmote Dictionary Server)? 메모리 기반의 key-value 구조로, data를 관리하는 시스템이다. read / write가 빠르다는 장점을 가지고 있으며, Memcached와 유사한 구조를 가지고 있다. Memchached의 특징 처리 속도가 빠르다. Data는 Memory에만 저장된다. Cache이므로, 만료일을 지정하여 그 이후에는 자동으로 Data가 사라진다. LRU(Least Recently Used)알고리즘으로, 저장소 메모리를 재사용한다. → Redis는 Disk에도 저장되어 데이터 복구가 가능하고, 메모리를 재사용하지 않고 명시적으로 Data를 제거하여 사용한다. 또한, 다양한 자료구조 (String, List, S..