Eclipse Memory Analyzer를 사용하여 메모리 누수 파악하기.
·
프로그래밍(Web)/업무관련
Java 프로세스를 다루는 Linux서버를 운영하다 보면 종종 OutOfMemory(OOM)에러를 만날 때가 있어요. 보통 OOM에러가 발생하면 시스템 자원이 소멸되어 "bash fork retry no child process" 에러로 이어지더군요. 그래서 아래와 같은 쉘 스크립트 코드를 추가하여 Java 프로세스를 실행시키더라도 "bash fork retry no child process" 에러가 발생 했을 시점엔 사용 가능한 시스템 자원이 충분하지 않아서 JVM(Java Virtual Machine)에서 덤프 파일을 생성하는 데 실패했어요. 그래서 제가 찾은 방법은 OutOfMemory(OOM)에러가 발생하기 전 힙 덤프 파일을 생성하여 메모리 누수가 되는 부분을 찾아 예방하는 방법외엔 없더라구요...
삼성 DDR5 램 불량 이슈가 꽤 심각하네요
·
IT 관련 정보
페이징 예제 코드
·
프로그래밍(Web)/Javascript(TS,Node)
JS // 페이징 함수 function pagination() { // 시작 페이지 let start_page = 1; // 페이지 별 보여줄 게시물 수. let req_num_row = 5; // 테이블의 각 행을 선택하여 변수 tr에 저장 let tr = $('.board tr'); // 총 행의 개수를 변수 total_num_row에 저장 let total_num_row = tr.length; // 전체 페이지 수 계산 let num_pages = Math.ceil(total_num_row / req_num_row); // 이전 버튼 추가 if (num_pages > 0) { $('.pagination').append('Previous'); } // 페이지 버튼 추가 i는 페이지 버튼에 보여질 숫자..
defer와 GC의 상관관계
·
프로그래밍(Basic)/Golang
안녕하세요. 최근 질문 중에 "Go에서는 defer가 있는데 왜 GC를 사용해야 할까요?"라는 질문이 있었어요. defer와 GC는 하는 역할이 서로 다르기 때문에 '이건 무슨 내용의 질문이지?'하며 한 동안 벙쪄서 아무 말도 하지 못했죠. 그 후 그 질문에 대한 답변을 해주기 위해 공부했던 것들을 정리 해봅니다. 역시 Go에서의 defer와 가비지 컬렉터(GC)는 서로 다른 개념이였어요. 즉, 그들 간에 직접적인 관련은 없었죠. Go를 사용해보신 분들이라면 defer는 함수 내에서 특정 코드를 지연 실행시키는 데 사용되는 기능이며, 주로 리소스 정리나 오류 처리에 유용하고, 가비지 컬렉터는 메모리 관리를 자동으로 처리하여 더 이상 사용되지 않는 객체를 탐지하고 해제하여 메모리 누수를 방지해주는 도구라는..
[바미] ‘갤럭시 S23 슈퍼말차 피크닉 에디션’ 16일부터 개통 시작
·
IT 관련 정보
■ 사전 예약 오픈 12시간 만에 한정 수량 1천 대 완판 ■ MZ세대 고객에게 높은 인기... 사전 예약 고객 중 2030세대 비중 86% 기록 ■ 디자인, 경품, 오프라인 체험관까지 MZ세대 트렌드 및 취향 반영한 전략이 주효 LG유플러스(대표 황현식, www.lguplus.com)는 지난 9일, 1천대 한정 수량으로 단독 출시해 사전 예약 12시간 만에 완판을 기록한 ‘갤럭시S23 슈퍼말차 피크닉 에디션’(이하 슈퍼말차 에디션)의 본 개통을 시작한다고 16일 밝혔다. 슈퍼말차 에디션은 LG유플러스가 삼성전자, 캐주얼 말차 전문 브랜드 ‘슈퍼말차’, 갤럭시 전문 브랜드 ‘SLBS’와 함께 MZ세대 고객 공략을 위해 선보인 한정판 갤럭시 모델이다. 갤럭시 S23 256GB 크림 색상을 기반으로 제작됐으..
[루머] 갤럭시 Z 폴드5 및 플립5 7월 26일 공개, 언팩은 서울에서 개최
·
IT 관련 정보
지난 몇 주 동안 삼성이 차세대 폴더블폰을 예상보다 일찍 출시할 수 있다는 루머가 여러 차례 있었습니다. 일반적으로 매년 8월에 새로운 갤럭시 Z 시리즈 폰을 출시합니다. 하지만 올해는 7월에 새로운 폴더블폰을 공개할 계획입니다. 갤럭시 Z 폴드 5 및 갤럭시 Z 플립 5 출시일 및 장소 한국 매체의 새로운 보고서에 따르면 삼성은 2023년 7월 26일 갤럭시 Z 플립 5와 갤럭시 Z 폴드 5를 발표하는 갤럭시 언팩 행사를 개최하기로 결정했습니다. 이는 삼성의 일반적인 폴더블폰 발표 시기보다 2주 정도 빠른 것입니다. 또한 스페인 바르셀로나나 미국 뉴욕/샌프란시스코에서 열렸던 이전 갤럭시 언팩 행사와 달리 갤럭시 Z 플립 5와 갤럭시 Z 폴드 5 출시 행사는 한국 서울에서 열립니다. 갤럭시 Z 플립 5와..
Go 1.20 릴리즈 요약
·
프로그래밍(Basic)/Golang
1.19 이후 6개월 만의 릴리즈. 하위호환 정책으로 기존 프로그램 컴파일/실행은 문제 없음 언어에 4가지 변화 slice를 array로 변환 가능 unsafe 패키지에 SliceData, String, StringData 함수 추가 구조체의 필드값이 정의에 나타난 순서대로 하나씩 비교되도록 하고, 첫번째 미스매치에서 중단되도록 정의됨. 비슷하게 배결 값도 하나씩 인덱스 순으로 비교 Comparable 타입들이 타입 인자가 strictly comparable 하지 않은 경우에도 comparable 조건을 충족 가능 GC 데이터 구조 개선으로 메모리 오버헤드가 줄어들고 전체 CPU 성능 최대 2% 향상 그외 툴체인, 런타임, 라이브러리 구현등이 개선
Go 1.19 릴리즈
·
프로그래밍(Basic)/Golang
오늘 Go 팀은 다운로드 페이지 를 방문하여 다운로드 받을 수 있는 Go 1.19를 출시하게 된 것을 기쁘게 생각합니다 . Go 1.19는 올해 초 Go 1.18 릴리스 를 개선하였습니다. Go 1.19의 제네릭 개발은 커뮤니티에서 보고한 미묘한 문제와 코너 케이스를 해결하는 데 집중했으며 중요한 성능 향상(일부 제네릭 프로그램의 경우 최대 20%)을 제공했습니다. 문서 주석은 이제 링크, 목록 및 더 명확한 제목 구문을 지원합니다. 이 변경 사항은 특히 큰 API가 포함된 패키지에서 사용자가 더 명확하고 탐색하기 쉬운 문서 주석을 작성하는 데 도움이 됩니다. 이 변경 사항의 일부로 gofmt이 이제 문서 주석의 형식을 다시 지정하여 이러한 기능을 사용할 때 표준 형식을 적용합니다. 자세한 내용은 "Go..
[바미] WebSocket과 Socket.io차이는 무엇일까?
·
프로그래밍(Basic)/이론
들어가기전에.. Socket.io와 WebSocket 모두 실시간 양방향 통신을 가능하게 하는 기술인데요. 지금 다니는 회사에서는 Socket.io를 주로 사용하고 있어요. 처음 Socket.io를 공부할 때 WebSocket에 대해 먼저 공부했고, 그 당시에는 Socket.io를 사용하기 위해 공부할 때는 단순히 'room'의 개념 여부로만 알고 있었어요. 하지만 그 외에도 차이가 존재하는 것을 발견하여 리마인드 할 겸 정리해보려해요. 프로토콜의 차이점 Websocket은 TCP 소켓을 사용한 HTTP와 독립적인 프로토콜로, 양방향 통신을 제공해요. 브라우저에서 WebSocket을 지원하는 경우, 서버와의 연결을 유지한 상태로 언제든지 데이터를 주고받을 수 있죠. 반면에 Socket.io는 WebSoc..
Bami
기록하며 성장하기