1. 유용한 개발 관련 아티클 및 영상 #28스프링 톰캣 스레드 풀의 동작 방식과 Connector톰캣 스레드 풀의 동작 방시첫 작업이 들어오면, core size만큼의 스레드를 생성함유저 요청(Connection, Server socket에서 accept한 소캣 객체)이 들어올 때마다 작업 큐(queue)에 담아둠core size의 스레드 중, 유휴상태(idle)인 스레드가 있다면 작업 큐에서 작업을 꺼내 스레드에 작업을 할당하여 작업을 처리함만약 유휴상태인 스레드가 없다면, 작업은 작업 큐에서 대기함그 상태가 지속되어 작업 큐가 꽉 찬다면, 스레드를 새로 생성함3번과정을 반복하다, 스레드 최대 사이즈 에 도달하고 작업큐도 꽉 차게 되면, 추가 요청에 대해선 connection-refused 오류를 반..
1. 유용한 개발 관련 아티클 및 영상 #27마이크로소프트 해저 데이터센터 셧 다운 결정Microsoft가 해저 데이터 센터(프로젝트 Natick) 를 더 이상 운영하지 않기로 결정했음데이터 센터의 수중 배치 가능성 테스트를 위해 스코틀랜드 바다 아래에 거대한 튜브를 설치하고 여러 가지 요소를 테스트했음산소가 아닌 질소로 채운 해저 데이터 센터는 육상 데이터 센터에 비해 고장률이 8분의 1에 불과해서 데이터 센터를 인간 생활 환경과 분리하면 열로 발생하는 전통적인 문제를 많이 해결할 수 있을 것으로 전망했음마이크로소프트는 해저 데이터 센터 사용을 중단한 이유에 대해서는 공개하지 않고, 단지 이 프로젝트에서 얻은 교훈을 다른 사례에 활용할 것이라고 함 출처: https://www.facebook.com/1..
1. 유용한 개발 관련 아티클 및 영상 #26MySQL data_locks 관련 쿼리 버그heavy load 시스템에서는 아래 쿼리를 사용할 경우 메모리 문제 및 deadlock이 발생할 수 있음SELECT * from performance_schema.data_locks이 쿼리를 실행하면, 현재 데이터베이스에서 발생한 모든 데이터 락의 정보를 확인할 수 있고, 데이터베이스 성능 문제를 진단하거나, 데드락(Deadlock) 상황을 분석할 때 유용함하지만 해당 버그는 8.0.37 최종버전에도 fix되지 않은 상태임 출처: https://www.facebook.com/groups/623067261102382/permalink/7786132421462461/ ChatGPT를 opt-in(동의 서비스)으..
1. 유용한 개발 관련 아티클 및 영상 #25Kotlin 1.9.2에 도입된 Enum entriesvalues의 경우매번 새로운 배열이 생성됨배열이 반환되는데, 일반적으로 리스트를 사용하기 마련임가변이므로, 얘기치 못한 버그가 발생할 수 있음entries의 경우상수로 값을 정의해두어 매번 새로운 배열을 복사하여 생성하지 않음확장함수를 통해 배열이 아닌 리스트를 반환함불변임 Enum.values() // 사용 XEnum.entries // 사용 O 출처: https://medium.com/@michalankiersztajn/enum-values-is-recommended-to-be-replaced-by-enum-entries-7b73e1ed7265 NodeJS는 웹서버가 아니라 Runtime이라는 의미..
1. 유용한 개발 관련 아티클 및 영상 #24HTTP Query Method의 필요성에 대한 논의HTTP는 본래 웹 페이지 렌더링을 위한 리소스를 가져오기 위해 만들어졌음GET, HEAD, POST는 HTTP/1.0, PUT, DELETE는 HTTP/1.1부터 사용되고 있음하지만 데이터 중심의 세상이 도래함에 따라 데이터 질의를 위한 새로운 HTTP Method(Query)가 필요해짐참고로 해당 내용은 2022년에 발행된 것으로, 현재 공식 스펙 지정까지 되지는 않은 것 같음QUERY /contacts HTTP/1.1Host: example.orgContent-Type: example/queryAccept: text/csvselect surname, givenname, email limit 10 출처: ..