본문 바로가기

verdantjuly/Today I Learned

TIL 20240118

728x90

이번 주 목표

java 공부

오늘 목표

PubArt : java 공부

resmemory : 찬용님 코딩 실패할 시 검토

market : java study

오늘 한 것

인덱싱 공부

PubArt : java 공부

market : java study

오늘 스케줄

6:00 기상, 아침 식사, 샤워

6:30 커리어톤 - 최종체크

7:00 PubArt : java 프로젝트로 객체지향 배우기

12:00 점심식사

12:30 TIL작성

13:00 면접 밸런스 게임, 웹 개발 퀴즈

13:30 부진자 call

14:00 커리어톤 출석체크

14:15 결석자 call

14:30 채용 공고 업데이트 (Android/Kotlin 5개, Spring 2개, Node.js 1개, Python 1개, React 1개)

15:00 resmemory 개발

17:30 커리어톤 1차 체크

18:00 산책

19:00 저녁 식사, 휴식

20:00 PubArt : java 프로젝트로 객체지향 배우기

24:00 취침

 

1. uuid : char(12)가 선호되는 이유

인덱싱 : B트리 구조상으로 문자열이 나눠진다 

B+C구조라서 int와 uuid의 속도 차이가 없다. 

 

char(11) 중복 확률이 있음 > 숫자로 표현가능한 중복확률을 띈다 (위험한 수치)
char(12) 중복 확률이 없음 > 일반 컴퓨터로 계산할 수 있는 수준의 중복확률이 아님 (굉장히 낮은 수치)

 

int

이점 1 : 계속 증가하니까 중복 확률이 없다

이점 2 : 빠름

이점 3 : bigint < char(12) 용량이 char에 비해 상대적으로 적음

단점 1 : int는 21억 밖에 못함. bigint 쓰면 9,223,372,036,854,775,808, uuid 3,226,266,762,397,899,821,056

단점 2 : 최신데이터를 유추 가능함 (일부 공개라는 서비스가 있으면 취약점)

 

2. autoJAVAcompiler (v 1. 0. 0)


목적과 기능

src 디렉토리 안에 있는 모든 자바파일을 조회하여 변화가 감지되었을 경우 자동 컴파일을 진행한다. 

Github 

https://github.com/verdantjuly/autoJAVAcompiler


제작 로그


1. Calcualtor.java, Run.java 를 루트에서 실행 > 잘됨

2. Calculator.java를 src 폴더에 넣고 패키지로 만들어서 진행 > 안 됨

문제 : cannot find symbol

해결 : Workspaces: Remove Folder from Workspace...

참고자료 : https://velog.io/@doobyeol/VS-code-JAVA-import-%EC%97%90%EB%9F%AC

https://stackoverflow.com/questions/53015284/how-can-i-cleanly-remove-workspaces-in-visual-studio-code

 

3. .gitinore 추가 (class 파일을 올리면 안 될 것 같아서)

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*

 

4. finally : try-catch 이후에 무조건 실행되는 코드

5. JAVA에서 쉘 스크립트 실행

 String shell = "/compile.sh";

ProcessBuilder pb = new ProcessBuilder(shell);
Process p = pb.start();

System.out.println(p);

6. 디렉토리 내 모든 파일 컴파일

javac -cp  $(find . -name *.java)

정리 

인덱싱 : B트리 구조상으로 문자열이 나눠진다 

B+C구조라서 int와 uuid의 속도 차이가 없다. 

 

char(11) 중복 확률이 있음 > 숫자로 표현가능한 중복확률을 띈다 (위험한 수치)
char(12) 중복 확률이 없음 > 일반 컴퓨터로 계산할 수 있는 수준의 중복확률이 아님 (굉장히 낮은 수치)

 

int

이점 1 : 계속 증가하니까 중복 확률이 없다

이점 2 : 빠름

이점 3 : bigint < char(12) 용량이 char에 비해 상대적으로 적음

단점 1 : int는 21억 밖에 못함. bigint 쓰면 약 1조, uuid 3,226,266,762,397,899,821,056

단점 2 : 최신데이터를 유추 가능함 (일부 공개라는 서비스가 있으면 취약점)

 

 

KPT

Keep

고민하고 질문하는 것

Problem

존댓말 생략

Try

존댓말 지향

소감

오늘 좋은 걸 배웠다

재밌는 프로그램을 만들었다. 신난다.

 

 

 

'verdantjuly > Today I Learned' 카테고리의 다른 글

TIL 20240125  (0) 2024.01.25
TIL 20240122  (0) 2024.01.23
TIL 20240117  (0) 2024.01.17
TIL 20240116  (0) 2024.01.16
TIL 20240115  (0) 2024.01.15