일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Win32
- tipssoft
- 함수
- VS ERROR
- 지식나눔강좌
- Windows
- Javascript
- CS
- 이지스퍼블리싱
- Desktop
- Visual Studio
- c++
- Programming
- Tips강좌
- 연산자
- Direct2D
- 배열
- c#
- 리뷰
- 문법
- 티스토리
- doit코틀린프로그래밍
- Kotlin
- c
- 백준
- 포인터
- 프로그래밍
- Tips프로그래밍강좌
- 알고리즘
- 김성엽
- Yesterday
- Today
- Total
목록All (386)
F.R.I.D.A.Y.

metroUI는 Microsoft에서 개발한 UI 프레임워크로, Windows 8부터 시작한 타일 디자인의 .NET 버전이라고 볼 수 있겠다. UI metroUI의 기본 구성은 아래와 같다. 각종 타일 버튼부터 과거부터 내려온 컨트롤의 외형을 모두 벗겨내고, 좀더 현대적인 디자인을 가지고 있다. 이중 궁금한 것은 이 UI가 어떤식으로 구성되어있느냐는 점이었다.[# 직접 컨트롤 디자인 하고 싶었으니까!] 하루 동안의 분석결과를 보자면, MetroForm은 Form의 상속체로서 FormBorderStyle을 None으로 두고, 상단 최대/최소 버튼 및 닫기 버튼을 포함한 모든 디자인을 Client 영역 안에 그려놓은 것이다. Caption의 처리 더 궁금한 부분은 Window의 이동 작업이었다. 대개 C# ..

C#에서 네이티브 코드인 WinAPI를 이용해 무언가를 작성하려 할 때, 꼭 주의해야 할 점이 있다. 관리되는 코드 C#은 C/C++처럼 기계어로 컴파일되는 것이 아닌 .NET 혹은 .Net Framework에서 작동하는 바이트코드, CRL(Common Runtime Language)로 변경된다. C/C++과 C#의 가장 큰 차이를 고르라면 아마도 메모리를 사용자(개발자)가 직접 관리하는가에 대한 여부일 것이다. 여태 알듯 C/C++은 개발자가 객체의 메모리 관리를 직접 해야 하는 것과 달리, C#의 경우 언어 사용자가 직접 메모리 관리를 할 필요가 없다. 내부적으로 GC(Garbage Collector)가 돌아가면서 사용되지 않는 메모리를 제거하는 방식으로 누수 메모리를 자동으로 잡는다. 이렇게 .NE..

C#에서 WinAPI로 뭔가를 하려고 했더니 보호된 메모리라고 예외를 뱉는다. 사용하려던 Windows API는 GetWindowText(HWND hWnd, LPSTR lpstring, int nMaxCount); 그래서 C# 코드는 이렇게 했었다. [DllImport("user32.dll", SetLastError = false)] public static extern int GetWindowText(IntPtr hWnd, out StringBuilder lpText, in int maxCount = 256); // ... StringBuilder windowTitle = new StringBuilder(256); wa.GetWindowText(hWnd, out windowTitle, windowTit..

코드에서 메서드를 지웠는데 갑자기 오류가 난다. WinForm으로 작업을 하다가 실수로 Form을 눌러서 메서드가 나와서, 필요 없는 메서드를 지웠더니 위 이미지처럼 오류가 발생했다. 원인 디자이너 코드와 실제 메서드 코드가 상이하기 때문에 발생하는 문제다. WinForm은 디자이너라는 시스템으로 코드 및 UI 관리가 이루어진다. WinForm 디자이너는 개발자의 편한 프로그래밍을 위해 만들어졌지만, 일단은 프로그램이라서 사람처럼 '알아서'가 안된다. CS 파일과 UI 및 이벤트 바인딩[# 컨트롤과 메서드 연결]을 위한 Designer파일이 분리되어있기 때문에 사용자가 직접 메서드만 삭제를 하면 Designer 파일과 CS 파일이 서로 충돌이 발생하면서 위와 같은 문제를 일으킨다. 해결 위 문제를 해결할..
UNIQUE 키워드가 있기는 한데, 이건 예약어 처리가 되어있고 현재 DBMS에선 아직 지원을 하지 않는다고 한다. SELECT T.course_id FROM course AS T WHERE UNIQUE (SELECT R.course_id FROM section AS R WHERE T.course_id = R.course_id AND R.year = 2017); http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt [Predicates 223]쪽 check DBMS MySQL ver 15.1 MariaDB ver 10.6.5 SQLite (아래 페이지 확인) 아래 페이지에서 테스트 가능 sql.js demo: Online SQL interpreter ww..

생활 코딩의 node js 프로그래밍 관련 공부 중 더이상 사용하지 않는(deprecated) 내용이 있어서 대체제를 찾아보았다. querystring POST로 전달된 데이터를 파싱하는 모듈이다. 그러나 해당 모듈은 22년 1월 17일 기준, 더이상 사용하지 않는 모듈이다. 따라서 대체제를 이용할 필요가 있다. express를 사용하고 있다면 모르겠지만, 아직 해당 내용에 대해 언급하지 않은 상황에서 body-parser같은 미들웨어를 사용하는 것은 불가능할테니, 다른 걸 찾아봤다. URLSearchParams querystring deprecated로 검색을 하면 npm 문서상 대체할 수 있는 문법, 혹은 기능을 제안해준다. URLSearchParams란 API가 querystring 모듈을 대체하는..

주어진 배열에서 연속하는 각 요소의 합이 최대인 값 구하기. 코드 #include using namespace std; #define max(x,y) ((x) > (y) ? (x) : (y)) int main() { int n; int* arr; cin >> n; arr = new int[n]; for (int i = 0; i > arr[i]; int result = arr[0]; { for (int i = 1; i 0 && arr[i - 1] + arr[i] > 0) { arr[i] += arr[i - 1]; } result = max(arr[i], result); } } cout 0 위 조건을 추가해 점화식을 적용하면 다음..

최대 합이 되는 경로 검색 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 코드 2차원 배열로 구성을 했다변 더 좋았겠지만, 2차원 배열을 굳이 사용하지 않더라도 수식만으로 2차원 배열을 사용하는 것처럼 구성이 가능하다는 것을 보이기 위해 1차원 배열을 사용해봤다. #include using namespace std; int main() { int n; cin >> n; int* arr = new int[n * n]; cin >> arr[0]; for (int i = 1; i > arr[i * n]; arr[i * n] += arr[(i - 1) * ..

LIS를 해결하는 시간 복잡도 O(nLogn)의 알고리즘 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 코드 #include using namespace std; int main() { int n; cin >> n; int* input, * dp; input = new int[n]; dp = new int[n + 1]{}; for (int i = 0; i > input[i]; int maxLength = 1..

학교 과제. 주변에 동기를 보면 힘들어하는 것 같아서.. 문제 사항 매 학기 같은 문제를 낼거라고 생각하지 않으니까..^^ - 이번 과제에서는 B-Tree 구조를 활용해 set 클래스 템플릿을 구현해야합니다. 그리고 set 클래스에는 총 세 개의 public 멤버 함수만 존재할 수 있습니다. > count, insert, erase - set 클래스에는 아래의 함수가 선언 및 정의되어야합니다. > count, insert, loose_insert, fix_excess, erase, loose_erase, fix_shortage, remove_biggest - 추가로, `show_contents`라는 이름의 public 멤버 함수를 선언 및 정의합니다. 이 함수는 여러분 set 클래스의 B-tree 구조로..