본문 바로가기
728x90
반응형

분류 전체보기530

[자바 멀티스레딩] 스레드 기초: Thread 클래스와 Runnable 인터페이스 스레드- 프로세스 내에서 실행되는 작업의 단위- CPU를 활용해서 여러 작업을 동시에 처리 가능- Java에서는 스레드를 통해 멀티태스킹 구현 가능 Thead 클래스- 자바에서 스레드를 직접 생성하는 기본 방법 - Thread를 상속ㅂ다아 run() 메서드를 오버라이드 Runnable 인터페이스- 스레드 실행 로직을 분리해서 정의하는 방법- run() 메서드만 구현하면 되고, 더 유연하게 사용 가능 (다중 상속) public class Task1 { static class MyThread extends Thread { @Override public void run() { for (int i = 0; i Hello, Thread!"); .. 2025. 3. 26.
결국 잘되는 사람들의 태도 (앤드루 매코널) 출근시간(약 40분정도) 항상 밀리의서재로 독서를 하고 있다.소설도  베스트 셀러에 있는 (홍학의 자리, 13계단, 대도시의 사랑법, 유괴의 날, 용의자 X 의 헌신 등등..) 재밌게 읽었다.요즘 슬럼프? 가 온거같아서 자기개발서를 꾸준히 읽고 있다.이전에는 책에 나온 구문을 따로 적지 않았는데, 다른 책도 나중에 되새겨볼만한 구문은 적어놓고 생각날때, 마음 다잡을때 보면 좋을것 같다. 자기개발서의 내용이 대체로 누구든지 다 아는 내용이라고 생각한다.그치만 '이렇게 살아야지, 열심히 살아야지' 라는 열정을 한번더 끌어올릴 수 있는 계기가 되는것 같다. --- 스스로 통제할 수 있는 일과 아닌 일을 구분해서 경계를 설정하고, 정말 중요하게 여기는 일에 몰두함으로써 인생의 주인으로 다시 일어서여 한다.- 쓸.. 2025. 3. 13.
LeetCode 13. Roman to Integer (Easy) - Kotlin 문제 Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M.Symbol ValueI 1V 5X 10L 50C 100D 500M 1000For example, 2 is written as II in Roman numeral, just two ones added together. 12 is written as XII, which is simply X + II. The number 27 is written as XXVII, which is XX + V + II.. 2025. 3. 13.
(개발X) 삶에 대한 유튜브 추천-1 (이경규편) https://www.youtube.com/watch?v=HZOwhcFvS5k&t=74s > # 이경규가 45년간 예능계에서 악착같이 살아남은 비결ㅣ지식인초대석 EP.28 (이경규 1부)https://www.youtube.com/watch?v=J3gTaKMBcw8&t=30s  > # 45년간 방송하며 느낀 모두와 잘 지낼 필요없는 이유ㅣ지식인초대석 EP.29 (이경규 2부)   - 자유를 다 주는게 좋은게 아니다- 누워있으면 안된다. 무조건 일어나자- 항상 꺠어있으려고 노력하자- 자기자리를 다른 사람이 들어와서 잘하면 제작진들이 고민하기 시작한다.  = 성실함- 성실함은 반드시 지켜야한다.- 나대지말자.- 매사 긴장을 놓지 않는다.- 그걸 하고 있다는 자체를 좀 만족했으면 좋겠다- 무식한 사람이 신념을 .. 2025. 3. 3.
LeetCode 9.Palindrome Number (Easy) - Kotlin 문제Given an integer x, return true if x is a palindrome, and false otherwise. Example 1:Input: x = 121Output: trueExplanation: 121 reads as 121 from left to right and from right to left.Example 2:Input: x = -121Output: falseExplanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.Example 3:Input: x = 10Output: falseExplanation: Reads 01.. 2025. 3. 2.
LeetCode 1.Two Sum (Easy) - Kotlin 문제 Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.You may assume that each input would have exactly one solution, and you may not use the same element twice.You can return the answer in any order. Example 1:Input: nums = [2,7,11,15], target = 9Output: [0,1]Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].Examp.. 2025. 2. 28.
@Tsid 커스텀 생성 후 적용하기 (수정) 사용이유대규모 분산 시스템에서의 병렬처리 가능 및 고유성 보장8byte 로 공간 효율성 향상타임스탬프 값을 비트 가장 앞에 배치하여 정렬 순서 보장되어 데이터 삽입, 조회 시 성능 향상 As-Is기존 @GeneratedValue(strategy = GenerationType.IDENTITY) 사용동시성 문제 발생국가별 프로젝트의 모든 테이블을 하나의 테이블로 관리 시, ID 중복 발생To-BeTSID 를 이용하여 분산 환경에서 PK 고유 생성 보장.8bite 로 공간 효율순차적으로 증가(timestamp) 정렬 보장하여 성능 효율UUID 생성 또한 고려하였지만, 선택 X36자리 문자열로 구성되어 있어 공간 효율성 문제데이터 삽입, 조회 시 성능 문제 (인덱스 비효율) Gradle 의존성 추가// http.. 2024. 6. 3.
@Tsid 커스텀 생성 후 적용하기 (사용X) 6/3 멀티스레드 테스트 도중 중복값이 발생하는 문제가 발생했다.기존 라이브러리를 사용해서 커스텀하였는데, 중복값 발생하는 이슈가 올라왔는데 TSID 제작자가 그냥 이슈를 닫아버린 히스토리가 있었다. 따라서, 라이브러리 문제로 판단하고 TSID Generater 라이브러리를 사용해 새롭게 커스텀했다.https://josteady.tistory.com/963 @Tsid 커스텀 생성 후 적용하기 (수정)사용이유대규모 분산 시스템에서의 병렬처리 가능 및 고유성 보장8byte 로 공간 효율성 향상타임스탬프 값을 비트 가장 앞에 배치하여 정렬 순서 보장되어 데이터 삽입, 조회 시 성능 향상 As-Isjosteady.tistory.com --- 왜 UUID 나 Random 값을 쓰지 않고 TSID 를 사용하는지 .. 2024. 5. 21.
Chunk Size and Parallel Spring Batch -- 결론 -- 1. Chunk Size 가 클수록 Batch 의 실행시간이 빨라(짧아)지는 것은 아니다. 2. 병렬 처리의 속도가 더 빠르다. Case) 1억 건의 파일을 DB에 저장해야 한다 Chunk Size 를 최소화해서 여러번 Commit 한다 → Commit 리소스 비용이 크기 떄문에 비효율적 , 커밋을 되도록 줄인다보통 금융권 기준으로 2~3000 으로 설정하는 것 같다고 함. Chunk Size 를 1억으로 설정하면 OOM 이 발생할 수 있다. ( 메모리에 올려두고 작업하기 때문에 ) ChunkSize 에 따른 속도 비교 → 약 1만건(10,209) 의 데이터를 가지고 테스트 // Chunk Size Test @RequiredArgsConstructor @Configuration publi.. 2024. 4. 22.
728x90
반응형