Today's

길을 나서지 않으면 그 길에서 만날 수 있는 사람을 만날 수 없다

갑을병정이야기 56

Java에서 ScheduledExecutorService로 비동기 지연 처리하기

Java에서 ScheduledExecutorService로 비동기 지연 처리하기Java에서 작업을 일정 시간 후 실행하거나 주기적으로 반복하고 싶을 때 ScheduledExecutorService는 매우 유용한 도구입니다. 단순한 Thread.sleep()보다 유연하고, 비동기적으로 동작하며, 반복 작업에도 적합합니다.🛠️ 언제 사용하면 좋을까?주기적인 작업 실행 (예: 10초마다 서버 상태 체크)지연된 작업 실행 (예: 버튼 클릭 후 2초 뒤 알림 표시)타이머 기능 대체 (예: 게임에서 카운트다운)백그라운드 유지 작업 (예: 캐시 자동 갱신)멀티스레드 환경에서 안정적인 스케줄링✨ 기본 예제 코드import java.util.concurrent.*;public class SchedulerExample ..

DevExtreme DxPopover 제대로 활용하기

DevExtreme DxPopover 제대로 활용하기DxPopover는 DevExpress의 DevExtreme에서 제공하는 오버레이 UI 컴포넌트로, 버튼이나 텍스트 위에 풍부한 정보를 툴팁처럼 표시할 수 있습니다. 특히 jQuery와 함께 사용하면 유연한 사용자 인터페이스를 구현할 수 있어요.기본 사용 예제$("#popoverContainer").dxPopover({ target: "#myButton", showEvent: "click", hideEvent: "mouseleave", contentTemplate: function(contentElement) { $(contentElement).text("이건 Popover 내용입니다."); }});JSP 콘텐츠 삽입하기contentTem..

DevExpress DxDataGrid에서 셀 편집 제어 및 포커스 설정

DevExpress DxDataGrid에서 셀 편집 제어 및 포커스 설정 이번 글에서는 DxDataGrid에서 행이 추가된 이후 특정 셀의 편집을 막고, 커서를 원하는 컬럼으로 이동시키는 방법에 대해 살펴봅니다.🎯 특정 셀 편집 막기행이 추가된 후 특정 셀을 편집 불가능하게 만들기 위해선 행에 플래그를 추가하거나 조건부 설정이 필요합니다.onRowInserting: function(e) { // 행 데이터 설정 e.data.isNewRow = true;}이후 그리드 설정에서 셀 편집을 막는 방법:cellPrepared: function(e) { if (e.rowType === "data" && e.data.isNewRow && e.column.dataField === "ComboColumn") {..

DevExtreme dxDataGrid에서 셀 병합(Cell Merge) 구현 방법

DevExtreme dxDataGrid에서 셀 병합(Cell Merge) 구현 방법 DevExtreme의 dxDataGrid 컴포넌트는 기본적으로 셀 병합 기능을 제공하지 않지만, 사용자 정의 방식으로 구현이 가능합니다. 아래는 특정 열에서 같은 값이 연속으로 나타날 경우, 셀을 병합하여 표시하는 방법을 설명합니다.1. 기본 원리onCellPrepared 이벤트를 사용하여 셀 렌더링 시점에 조작동일한 값이 연속될 경우 윗 셀에 rowspan을 부여아래쪽 셀은 display: none으로 숨김 처리2. 구현 예시$("#gridContainer").dxDataGrid({ dataSource: yourDataSource, columns: [ { dataField: "category", ..

DevExpress dxChart & dxDataGrid 활용 가이드(#2)

💡 DevExpress dxChart & dxDataGrid 활용 가이드 이 블로그에서는 dxChart 및 dxDataGrid를 사용하는 방법에 대해 설명합니다. 각 질문별로 요점을 강조하고 예제를 포함하여 쉽게 이해할 수 있도록 구성하였습니다.📊 dxChart 관련 질문 & 해결 방법✅ 하나의 차트에서 Bar와 Line을 동시에 표시할 수 있나요?가능합니다! dxChart에서는 여러 개의 시리즈를 활용할 수 있습니다.$("#chartContainer").dxChart({ dataSource: myData, series: [ { type: "bar", valueField: "barValue", name: "Bar Chart" }, { type: "line", val..

Eclipse 설정 조정 가이드

Eclipse 설정 조정 가이드 Eclipse에서 특정 기능을 비활성화하는 방법을 정리한 가이드입니다.1. 특정 플러그인의 인터넷 접속 차단플러그인 설정 변경: Preferences에서 해당 플러그인의 설정을 확인하여 네트워크 연결을 비활성화합니다.방화벽 설정: 운영체제의 방화벽을 이용해 Eclipse 또는 특정 플러그인의 인터넷 접속을 차단합니다.플러그인 제거: Help > About Eclipse > Installation Details에서 해당 플러그인을 찾아 비활성화하거나 제거합니다.hosts 파일 수정: 특정 도메인 접속을 127.0.0.1로 리디렉션하여 차단합니다.2. 플러그인의 자동 업데이트 확인 방지자동 업데이트 설정 변경: Window > Preferences > Install/Updat..

Oracle의 PERCENTILE_CONT와 APPROX_PERCENTILE 활용

Oracle의 PERCENTILE_CONT와 APPROX_PERCENTILE 활용 Oracle에서 백분위수를 계산할 때 사용할 수 있는 주요 함수와 활용 방법에 대해 정리해 보겠습니다.PERCENTILE_CONT 함수`PERCENTILE_CONT` 함수는 연속적인 값을 기반으로 특정 백분위수를 계산하는 함수입니다. 예제는 다음과 같습니다:SELECT PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY column_name) FROM table_name; 하지만 `PERCENTILE_CONT`는 **상수 값**만을 매개변수로 받을 수 있어 동적으로 값을 변경하기 어렵습니다.동적으로 백분위 값 설정하기`PERCENTILE_CONT`의 매개변수를 동적으로 설정하는 방법은 제한..

Oracle에서 시스템 날짜를 활용한 분기 및 반기 계산 (connect by ...)

Oracle에서 시스템 날짜를 활용한 분기 및 반기 계산 Oracle SQL을 사용하여 특정 기간(분기 또는 반기)의 시작일과 종료일을 계산하는 방법을 정리합니다.1. 향후 2년간 분기 표시현재 날짜를 기준으로 향후 2년(8개의 분기)에 대한 정보 출력SQL 코드:SELECT TO_CHAR(ADD_MONTHS(SYSDATE, (LEVEL - 1) * 3), 'YYYY-Q') AS quarterFROM DUALCONNECT BY LEVEL 2. 각 분기별 포함 일수 계산각 분기(3개월 단위)에 해당하는 일수를 산출하는 방법SQL 코드:SELECT TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'Q'), (LEVEL - 1) * 3), 'YYYY-Q') AS quarter, LAST..

DevExpress dxDataGrid 활용 및 JSON 데이터 처리

DevExpress dxDataGrid 활용 및 JSON 데이터 처리 Q: DxDataGrid에서 선택된 행의 데이터를 배열 형태로 받는 방법DxDataGrid에서 선택된 행의 데이터를 배열 형태로 가져오려면 getSelectedRowsData() 메서드를 사용합니다.var selectedData = $("#dxDataGrid").dxDataGrid("instance").getSelectedRowsData();console.log(selectedData); // 배열 형태로 출력Q: 선택된 행의 데이터를 AJAX로 서버에 보내는 방법`ajaxSubmit`을 사용하여 데이터를 JSON으로 변환한 후 서버로 전송할 수 있습니다.$("#myForm").ajaxSubmit({ type: "POST", ..

Eclipse Java Code Templates 생성 하는 방법?

Eclipse java code templates 생성 하는 방법? 이클립스에서 새로운 클래스 템플릿을 생성하려면 다음 단계를 따를 수 있습니다:이클립스 실행 후 Window > Preferences로 이동합니다.Java > Code Style > Code Templates를 선택합니다.Class 항목을 선택한 후 Edit 버튼을 클릭합니다.원하는 템플릿 내용을 입력하고 OK를 눌러 저장합니다.새 클래스를 생성할 때 해당 템플릿이 적용됩니다.더 자세한 설명은 여기에서 확인할 수 있습니다. 도움이 필요하면 알려주세요! 😊 이때 class name을 생성 하는 파일 이름으로 지정하고 class body을 구성 하려면? 이클립스에서 클래스 이름을 파일 이름으로 지정하고 클래스 본문을 구성하려면 다음과 같이..

반응형