전체 글 103

[DB] DBeaver에서 오라클 -> MSSQL 데이터 옮길때 UNIQUEIDENTIFIER 오류 해결법

오라클이랑 MSSQL은 PK 형식이 달라서 그대로 데이터를 복사하면 오류가 난다.Oracle의 RAW(16) 또는 VARCHAR2 기반 UUID ↔ MSSQL의 UNIQUEIDENTIFIER 간 매핑이 자동으로 안되기 때문에 CSV파일로 저장해서 직접 데이터를 수정해서 옮겨야함..(엑셀로 저장이 어려운 대용량 데이터는 다른 방법을 찾아야할5듯) 1. 오라클에서 데이터 csv파일로 저장하기 (디비버에서) 저장하고자 하는 테이블명에서 마우스 우클릭 > 데이터 내보내기 csv파일로 내보내기 선택 (한국어 데이터 포함되어있다면) 다음다음 누르다가 Output에서 Encoding을 EUC-KR로 설정/ 저장 디렉터리 지정 후 진행 버튼 클릭(한국어 데이터 없다면) 다음다음 누르다가 Output에서 디렉터리 ..

카테고리 없음 2025.08.21

[ C# ] WinForms Tag 속성

Tag 속성: WinForms에서 거의 **모든 컨트롤(Control)**이 가지고 있는 범용적인 데이터 저장소✅ Tag란?object 타입으로 정의된 속성어떤 형식의 데이터든 저장 가능주로 컨트롤에 부가 정보나 ID값, 임시 상태값을 저장할 때 사용함🔹 예시 코드 설명btnSearch1.Tag = 1;btnSearch2.Tag = 2;btnSearch1 버튼의 Tag에 숫자 1을 저장btnSearch2 버튼의 Tag에 숫자 2를 저장→ 이걸 활용해서 나중에 어떤 버튼이 눌렸는지 구분할 수 있음🔹 활용 예: 하나의 이벤트 핸들러에서 여러 버튼 처리private void btnSearch_Click(object sender, EventArgs e){ Button btn = sender as But..

C# 2025.06.17

C# | 디자인패턴 싱글톤

"싱글톤(Singleton) 타입"은 소프트웨어 디자인 패턴 중 하나로, 클래스의 인스턴스를 오직 하나만 생성하도록 제한하는 패턴이다. 주로 전역적으로 하나만 존재해야 하는 객체에 사용된다.🧩 싱글톤 패턴(Singleton Pattern)이란?“특정 클래스의 인스턴스가 애플리케이션 전체에서 단 하나만 존재하도록 보장하는 패턴”🎯 왜 사용할까? (사용 목적)목적 설명전역 접근프로그램 어디서든 동일한 객체에 접근할 수 있음공유 자원 관리DB 연결, 설정 파일, 로그 관리처럼 공유되어야 하는 자원을 일관성 있게 관리성능 향상자주 생성될 필요가 없는 무거운 객체를 한 번만 생성상태 유지객체 상태를 한 곳에서 유지하고 관리하고자 할 때✅ 싱글톤 클래스의 특징요소 설명private 생성자외부에서 new로 생성하..

C# 2025.06.05

[C#] 비모달- Show() 과 모달-ShowDialog() 의 차이

✅ Show() vs ShowDialog() 차이항목 Show() ShowDialog()형태비모달 (Non-modal)모달 (Modal)기본 의미폼을 띄우되, 메인 프로그램은 계속 실행됨폼을 띄우면 그 폼 닫을 때까지 다른 작업 불가다른 폼과 상호작용가능 (동시에 여러 폼 조작 가능)불가능 (열린 폼 닫기 전까지 다른 폼 못 조작)사용 예옵션 설정 창, 다중 창을 동시에 띄울 때확인창, 입력창, 경고창 등 사용자가 응답해야 하는 경우반환값없음DialogResult 반환 (예: OK, Cancel 등)✅ 예제 비교📌 Show() 예제 (비모달)frmManualCNV f = new frmManualCNV(1085);f.Show(); // 폼이 열리고, 기존 폼도 계속 사용할 수 있음결과: 새 폼이 열리면서..

C# 2025.05.22

[ C# ] ToolStripContainer 컨트롤 - 윈폼 레이아웃 컨테이너 컨트롤

System.Windows.Forms.ToolStripContainer : WinForms에서 툴바(ToolStrip), 메뉴(MenuStrip), 상태 표시줄(StatusStrip) 등을 자동으로 분리된 영역에 배치할 수 있도록 도와주는 레이아웃 컨테이너 컨트롤🧠 요약ToolStripContainer는 다음과 같은 5개의 영역을 자동으로 제공하여 UI를 나눠준다:+--------------------------------------+| [TopToolStripPanel] |+--------------------------------------+| || [ContentPanel] ← 본문 내용 위치 ..

C# 2025.05.22

[ C# ] SuspendLayout, ResumeLayout - 폼/컨트롤의 레이아웃 계산을 일시 중단하기

SuspendLayout() : 윈폼(Windows Forms)에서 폼이나 컨트롤의 레이아웃 논리를 일시 중지하는 메서드. 컨트롤들을 추가하거나 위치, 크기를 변경할 때 불필요한 리렌더링과 깜빡임을 방지하고 성능을 향상시키기 위해 사용된다.🧠 요약 정의this.SuspendLayout();this.panel1.SuspendLayout();컨트롤의 레이아웃 계산을 일시 중단다수의 속성 변경, 컨트롤 추가 작업 후 ResumeLayout()으로 다시 활성화🧩 언제 사용하나요?여러 컨트롤을 한꺼번에 추가하거나 수정할 때폼 로딩 시 많은 UI 변경이 있을 때레이아웃 중복 계산을 방지하고 속도 및 깜빡임을 줄이고 싶을 때✅ 예시this.SuspendLayout();Button btn1 = new Button(..

C# 2025.05.21

C# 인터넷 또는 제한 영역에 있거나 파일에 웹 표시가 있으므로 처리할 수 없습니다.

오류>> 프로젝트 파일을 압축해제해서 빌드하려고 하는 중 뜬 오류 해결방법>> win+x 눌러서 A (관리자모드 window powershell) 클릭 gci -Recurse "" | Unblock-File""에 해당 폴더명 입력 예) gci -Recurse "C:\Users\sheep\Downloads\cscs_winforms-master2\cscs_winforms-master" | Unblock-File 이렇게하면 .resx파일들 여러개의 웹 표시를 한번에 제거할 수 있다.

C# 2025.05.15

C# 윈폼 소스코드만 보이고 디자인 안 열릴 때

요런식으로 .cs .Designer.cs 파일 다 있는데 폼 디자인이 안보인다.마우스 우클릭해도 안나와서 구글링 해보니까 Visual Studio에서 코드 깃 풀받으면 종종 있는 문제라고 .. 해결방법 : csproj 코드 수정 프로젝트 파일 (.csproj) 우클릭해서 메모장으로 열면 요런식으로 되어있는데 이거를 Form 이렇게 바꿔줘야된다. 파일이름 아래에 Form 속성이 있어야 하는데 이게 빠져있어서 안보였던 것. .!.

C# 2024.09.05

프로그래머스 파이썬 길 찾기 게임

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr >> 조건에서 노드가 최대 만개이므로 편향이진트리인 경우 재귀가 만번 돌게 되어서 파이썬 기본 재귀 횟수인 1000개를 넘어선다. 그래서 setrecursionlimit으로 재귀횟수를 만번으로 늘려줘야한다. >> 최종적으로 노드의 인덱스를 순서대로 출력해야하므로 초반에 노드의 인덱스를 값에 추가해줘야한다.' >> 주어진 노드들을 조건에 맞게 (y는 큰 값부터, x는 작은 값부터) 정렬하고 나머지는 그냥 이진트리 생성 후 전위순회 후위순회하면 된다. from sys import setrecursionlimit ..

파이썬/백준 2023.11.06

프로그래머스 | 파이썬 과제 진행하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 from collections import deque def solution(plans): temp = deque() left_time = 0 answer = [] for plan in plans: time=0 a,b = plan[1].split(':') time = (60*int(a)) + int(b) plan[1] = time plan[2] = int(plan[2]) plans =..

파이썬/백준 2023.11.04