Today's

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

전체 글 819

dxDataGrid 편집 & Selection 관련

📌 dxDataGrid 편집 & Selection 관련 1. JSON 문자열 처리서버에서 JSON 문자열을 받으면 JSON.parse()로 객체로 변환해야 값 추출이 가능합니다.var jsonString = '[{"id":1,"name":"Electronics"},{"id":2,"name":"Books"}]';var data = JSON.parse(jsonString);var values = data.map(item => item.name);console.log(values); // ["Electronics", "Books"] 2. editCellTemplate에서 SelectBox 구성셀 편집 시 서버에서 가져온 데이터를 SelectBox로 표시하려면:{ dataField: "categoryId"..

좌표 격침전 앱 설명서

USER MANUAL · ANDROID좌표 격침전SONAR FIRE CONTROL — 사용자 설명서6×6(또는 8×8) 격자 위에 함대를 배치하고, 좌표만으로 상대 함대를 먼저 전멸시키는 턴제 블라인드 해상 전투 게임입니다. 이 설명서는 실제 앱 화면 캡처와 함께 배치·전투·온라인 대전·순위 확인까지의 전체 흐름을 안내합니다.기본 난이도6×6 · 함대 3척고급 난이도8×8 · 함대 5척대전 방식1인(AI) · 2인(온라인)좌표 표기열+행, 예: C4목차 시작하기 함대 배치 전투 승리 · 패배 온라인 대전 내 순위 뒤로가기 · 종료 좌표 입력 참고STEP 01시작하기닉네임을 정하고, 혼자 AI와 싸울지 친구와 온라인으로 붙을지 고릅니다.START — 닉네임 · 인원 선택닉네임 (선택)상단 입력창에 최대 1..

자작앱 설명서 2026.09.14

🔑 Oracle MERGE 성능 개선 방안

🔑 Oracle MERGE 성능 개선 방안 ON 조건 인덱스 최적화 – MERGE는 대상과 소스를 조인하므로 ON 조건 컬럼에 인덱스 필요변경된 값만 UPDATE – 불필요한 UPDATE 방지USING 절 단순화 – 복잡한 JOIN, GROUP BY 최소화병렬 처리 힌트 – 대용량 배치 작업 시 효과적실행 계획 확인 – EXPLAIN PLAN으로 Full Scan 여부 점검파티셔닝 활용 – 병목 완화 및 Local Index 사용MERGE 분리 전략 – UPDATE와 INSERT를 분리해 옵티마이저 활용 극대화최신 통계 유지 – DBMS_STATS로 실행 계획 정확성 확보⚠️ 실무에서 자주 발생하는 문제Snapshot too old 오류 – Undo 영역 과다 사용 → 사전 필터링으로 해결인덱스 무시 ..

Oracle OFFSET 성능 최적화와 Keyset 페이징

Oracle OFFSET 성능 최적화와 Keyset 페이징 OFFSET은 데이터가 많아질수록 성능이 급격히 떨어집니다. 대용량 환경에서는 Keyset Pagination(Seek 방식)을 사용하고, 정렬 컬럼에 적절한 인덱스를 추가하는 것이 가장 효과적인 방법입니다.OFFSET 성능 문제OFFSET-FETCH 방식은 지정된 OFFSET만큼 데이터를 건너뛰기 위해 정렬 후 스캔을 수행합니다.데이터가 수백만 건 이상이면 TEMP 공간 사용과 CPU 부하가 급격히 증가합니다.페이징 방식 비교방식장점단점성능 특성ROW_NUMBER정렬 순서 보장, 임의 페이지 접근 가능전체 정렬 비용 발생대량 데이터에서 성능 저하OFFSET-FETCHSQL 문법 간결, 직관적OFFSET 커질수록 성능 급격히 저하수백만 건 이상에..

JavaScript input 길이 체크 방법

JavaScript input 길이 체크 방법 1. 기본적인 길이 체크JavaScript에서 input의 길이를 확인할 때는 value.length 속성을 사용합니다.확인2. 주요 방법value.length : 문자열 길이를 직접 확인maxlength 속성 : HTML에서 입력 가능한 최대 길이를 제한이벤트 리스너 활용 : input 이벤트로 실시간 길이 체크const input = document.getElementById("username");input.addEventListener("input", () => { console.log("현재 길이:", input.value.length);});3. 활용 팁보통은 maxlength로 기본 제한을 두고, 추가적인 검증은 value.length로 처리하는..

DevExtreme dxDataGrid 활용 정리

DevExtreme dxDataGrid 활용 정리 이번 글에서는 DevExtreme dxDataGrid를 사용하면서 자주 쓰이는 기능과 팁들을 정리했습니다. JavaScript와 함께 동적으로 데이터를 제어하거나 UI를 커스터마이징할 때 유용합니다.1. 특정 셀 숨기기cellTemplate을 활용하여 조건에 따라 셀을 숨길 수 있습니다.columns: [ { dataField: "Phone", cellTemplate: function(container, options) { if (options.data.IsHidden) { container.text(""); // 숨김 처리 } else { container.text(options.value); ..

라즈베리 파이에 Docker 설치 및 서비스 구동 가이드

라즈베리 파이에 Docker 설치 및 서비스 구동 가이드라즈베리 파이(Raspberry Pi)를 홈 서버로 활용할 때 가장 유용한 도구 중 하나가 바로 Docker입니다. 복잡한 환경 설정 없이 컨테이너 형태로 다양한 서비스를 쉽게 띄울 수 있기 때문입니다.이번 글에서는 라즈베리 파이에 Docker를 설치하는 전체 과정부터, 특정 서비스를 백그라운드에서 구동하는 방법, 그리고 흔히 마주치는 컨테이너 이름 충돌(Conflict) 오류를 해결하는 방법까지 정리해 보았습니다.1. 라즈베리 파이에 Docker 설치하기라즈베리 파이 OS에서 가장 쉽고 확실하게 Docker를 설치하는 방법은 공식 자동 설치 스크립트를 사용하는 것입니다.① 시스템 업데이트설치를 시작하기 전, 시스템 패키지들을 최신 상태로 업데이트합..

그냥글쓰기 2026.08.30

LottoAI 추천 리포트 - 1239회차

LottoAI 추천 리포트 - 1239회차이번 회차 추천 Top 5순위번호신뢰도특징115, 18, 20, 34, 35, 3898.0%odd/even=2/4, sum=160, sum-profile=historical-center, low-high-balance, overlap-minimized, collective-coverage-maximized212, 19, 22, 32, 35, 3850.0%odd/even=2/4, sum=158, sum-profile=historical-center, low-high-balance, overlap-minimized, collective-coverage-maximized36, 7, 15, 27, 32, 3850.0%odd/even=3/3, sum=125, sum-pro..

그냥글쓰기 2026.08.28

[오픈소스 추천] OmniRoute: 개발자를 위한 궁극의 무료 AI 게이트웨이 (API 단일화 끝판왕)

[오픈소스 추천] OmniRoute: 개발자를 위한 궁극의 무료 AI 게이트웨이 (API 단일화 끝판왕) 안녕하세요! 오늘은 최근 GitHub에서 개발자들의 엄청난 지지를 받고 있는 오픈소스 프로젝트, OmniRoute를 소개해 드립니다."Never stop coding(코딩을 멈추지 마라)"이라는 슬로건을 내건 이 프로젝트는, 350개의 AI 프로바이더와 1200개 이상의 AI 모델을 단일 엔드포인트(One Endpoint)로 통합해주는 강력한 로컬 AI 게이트웨이입니다. 특히 Cursor나 Copilot 같은 AI 코딩 어시스턴트를 적극적으로 활용하면서 비용이나 API 제한 때문에 답답함을 느끼셨던 분들이라면 반드시 주목해야 할 툴입니다.어떤 점들이 매력적인지 핵심만 쏙쏙 뽑아 정리해 보았습니다.🚀..

그냥글쓰기 2026.08.27

ORA-30926 오류 개요

ORA-30926 오류는 Oracle Database에서 MERGE나 UPDATE 작업 시 동일한 대상 행(row)을 두 번 이상 갱신하려 할 때 발생하는 에러입니다. 주로 소스 데이터에 중복된 키가 있거나 ON 조건이 불완전해 하나의 대상 행에 여러 소스 행이 매칭될 때 나타납니다.📌 ORA-30926 오류 개요에러 메시지: ORA-30926: unable to get a stable set of rows in the source tables원인:소스 테이블에 중복된 키 값 존재ON 절의 조인 조건 불충분 → 하나의 대상 행에 여러 소스 행 매칭비결정적(non-deterministic) WHERE 절 사용ETL 과정에서 데이터 품질 문제 (중복 데이터 유입)🔎 발생 시나리오 예시MERGE INTO ..

반응형