java3 Snowflake ID Generator 보통 애플리케이션을 개발 할 때, DB 테이블의 식별자(PK)를 설계할 때, 비즈니스와 상관없이 데이터를 식별할 수 있도록 인조키를 많이 사용한다. 그렇다면, 식별자를 생성하는 방법은 어떤 것들이 있을까? DB 에서 식별자 생성하기 MySql 은 PK를 자동 채번해주는 auto-increment 기능을 제공한다. 애플리케이션 서버에서 데이터를 생성할 때, PK를 직접 할당해주지 않고, DB에 insert 를 요청하면 DB 에서 알아서 PK를 채번해준다. 애플리케이션이 간단할 때는 이점이 많지만, 조금만 서비스가 커지면 단점이 드러난다. 한번에 다건 insert 를 못한다던지, 애플리케이션 서버에서 데이터 저장 후 식별자를 알기 위해서는 DB에서 조회를 한번 해와야한다던지 성능 부분에서 고려할 부분이 .. Back-end 2023. 4. 16. Javascript 에서 9천조 이상의 숫자를 다룰때 고민할 부분 일반적으로 9천조 이상의 큰 정수를 다룰일이 많지 않기 때문에 Javascript 변수에 숫자를 저장할 때, 크게 신경쓰지 않았을 수도 있다. 하지만, 다른 언어로 개발된 서버와9천조 이상의 정수를 주고 받을 때는 어떨까? 예를들어, Java 로 개발된 서버에서 Javascript 로 개발된 클라이언트로 9천조 이상의 숫자를 전달한다면 정확하게 주고 받을 수 있을까? Number Javascript 에서는 일반적으로 숫자를 저장할 때, Number 라는 자료형에 담는다. Number 에 대해 MDN 문서를 살펴보면 아래와 같다. Number 는 37이나 -9.25와 같은 숫자를 표현하고 다룰 때 사용하는 원시 래퍼 객체입니다. Number 생성자는 숫자를 다루기 위해 상수와 메소드를 가지고 있습니다. .. Back-end 2023. 4. 13. JAVA... JAVA의 특징 - 썬 마이크로 시스템즈에서 개발하여 1996년 공식적으로 발표한 객체지향언어 - 객체지향 언어이기 때문에 개발 후 유지보수 용이 - JVM(Java Virtual Machine)을 통해 실행되므로 운영체제 독립적이며, 자동으로 메모리 관리를 해주며, 안정적 JAVA 소스의 실행 과정 - Java Compiler 는 source code를 byte code로 컴파일함 - Class Loader 는 class 파일을 JVM의 메모리 영역인 Runtime Data Area 로 로딩함 JVM (Java Virtual Machine) 의 메모리 구조 - Method Area 와 Heap은 모든 스레드가 공유하는 공간이며, Stack, PC Register, Native Method Stack 은.. Back-end 2021. 4. 21. 이전 1 다음