ETC
-
Spring Garbage collection 튜닝ETC 2024. 3. 30. 23:35
서론 회사에서 다양한 객체를 최적화를 해보며, 객체들을 효과적으로 다루는 법에 대해 관심이 많아졌다. 하이퍼커넥트의 https://hyperconnect.github.io/2023/05/30/Python-Performance-Tips.html 해당 글을 상당히 인상깊게 읽고, Garbage Collection 튜닝이 객체메모리를 효과적으로 다루는 방법중 하나라는 것을 알게 되었다. 실제로, 인스타그램에서는 Python으로 서버를 구축하는데 GC 시간을 단축시키고 성능을 올리기 위해서 GC를 아예 하지 않는 다고 한다. 그래서 Spring에서는 어떻게 하면 GC를 효과적으로 튜닝할 수 있을까 궁금해서 해당 내용에 대해서 테스트를 진행해봤다. 본론 Spring 에서 Heap size를 조절하면서 GC를 튜..
-
동기, 비동기 & 블로킹, 논블로킹ETC 2023. 10. 24. 00:03
동기(Synchronous) : 요청한 작업에 대해 완료 여부를 따져서 순차적으로 수행하는 것 비동기(Asynchronous) : 요청한 작업에 대해 완료여부를 따지지 않고 작업을 수행 동기일 경우 Process A는 Process B가 완료된 후에 response를 받고 작업을 계속 진행한다 비동기일 경우 Process A는 Process B가 작업중에도 계속 작업을 진행하고 Process B가 작업을 끝내면 response를 받는다. 비동기로 작업을 수행할 시에, 멀티태스킹이 가능하기 때문에 더 빠른 시간 내에 일들을 효율적으로 처리할 수 있는 장점을 가지고 있다. 이러한 비동기 방식은 멀티쓰레드나 멀티프로세스와 같은 방법으로 구현이 가능하다. 블로킹(Blocking) : 함수 호출시 제어권을 넘겨준..
-
이미지 파일의 종류와 사용ETC 2023. 8. 31. 12:43
이미지 파일의 종류에는 크게 2가지로 Raster Image File Format과 Vector Image File Format이 존재합니다. Raster Image FIle의 종류와 특징 JPEG(JPG) JPEG 알고리즘에는 DCT(discrete cosine transform, 이산 코사인 변환)를 적용한 후 데이터를 줄이기 위해 Quantization(양자화)를 합니다. 양자화를 쉽게 설명하면 자연스러운 색상을 단순화시키는 역할을 합니다. 양자화를 하면 색수가 줄어들게 됩니다. 이 때 데이터의 손실이 발생됩니다.하지만 이미지의 용량을 줄이기 때문에 저장을 할때 효과적이라고 볼 수 있습니다. 또한 JPEG는 배경이 흰색이 디폴트 값입니다. JPG 파일 처리과정 JPEG(Joint Photograph..