토드(TOAD, Tool for Oracle Application Development)를 쓰다 보면 에디터에 세로로 쭉 내려오는 회색 줄이 하나 보이시죠? 처음에는 별 생각 없이 사용했는데, 계속 보다 보면 은근히 신경이 쓰이더라고요. 😭 특히 쿼리를 길게 작성할 때에는 그 줄이 기준점이 아니라 글자가 가려져서 '방해 요소'처럼 느껴지기…
Flutter 개발자가 가장 많이 헷갈리는 키워드 중 하나가 바로 final 과 const 가 아닐까요? 두 키워드는 '값을 바꿀 수 없다'는 공통점 때문에 비슷해 보이지만, 실제로는 동작 시점과 불변성의 범위가 완전히 다르답니다. 두 키워드의 차이를 명확하게 이해할 수 있도록 정리해보겠습니다. ✔ final 키워드란? Dart에서 fin…
C#에서 Control 을 재귀적으로 순회하면서 TextBox , ComboBox , ListBox 등의 값을 초기화하는 함수를 만들어 보도록 합시다~ .NET Framework 3.5 환경을 기준으로 할 것이며, switch 문을 활용하여 TextBox , ComboBox , ListBox 등 컨트롤의 이름을 기반으로 초기화하도록 구성하였습니다.…
C#에서 Label 을 사용할 때 기본적으로 AutoSize 속성이 true 로 설정되어 있어서 텍스트 길이에 따라 크기가 자동으로 변합니다. 하지만 원하는 너비를 유지하려면 AutoSize 속성을 false 로 설정하고 직접 너비를 지정해야 한답니다! Label의 너비를 고정하는 가장 쉬운 방법 가장 간단한 방법은 AutoSize 를 false 로 …
프로그래밍을 공부하다 보면 'CTOR'라는 용어를 접할 때가 있죠. 처음 들으면 '이게 뭐지?'라는 궁금증이 생길 수 있는데요~ 사실 CTOR는 'constructor(생성자)'를 간단히 줄여 표현한 약어입니다. 특히 C#이나 .NET과 같은 환경에서 코드나 IL(중간 언어, Intermediate Languag…
화면 캡처 기능은 프로그램에서 생각보다 자주 쓰입니다. 디버깅용 도구를 만들거나, 자동으로 스크린샷을 저장하는 프로그램을 구현할 때 특히 유용하죠. C#에서는 복잡한 라이브러리 없이도 간단하게 화면을 캡처할 수 있는 방법이 있답니다. 기본적인 화면 캡처 방법 화면을 캡처하는 핵심은 바로 Graphics 클래스와 Bitmap 객체예요. 간단히 말하면, …
배치 파일은 자주 반복해야 하는 작업을 자동으로 처리해주는 정말 유용한 도구입니다. 특히 OCX(ActiveX 컨트롤)나 DLL 파일을 등록하거나 해제해야 할 때, 매번 복잡한 명령어를 입력하는 대신 배치 파일 하나로 깔끔하게 해결할 수 있답니다. 이런 작업은 프로그램 설치나 업데이트 과정에서 자주 필요한데요, 아래에서 간단히 방법을 알려드릴게요! 아래는…
SqlDataReader 를 사용할 때 "행 또는 열에 대한 데이터가 없습니다."라는 오류는 reader.Read() 를 호출하지 않거나, 데이터베이스에서 결과를 반환하지 않았을 때 발생할 수 있습니다. 아래에서 문제 원인과 해결 방법을 살펴보겠습니다. 1. 행 또는 열에 대한 데이터가 없습니다. 문제 원인 (1) reader.Rea…
C#에서 일부 메뉴를 숨겨 놓았는데, '디버깅' 또는 '관리자'인 경우에 모든 메뉴를 보이도록 하는 경우가 있을 것입니다. 특히 MenuStrip 컨트롤을 사용해 다양한 메뉴를 다루다 보면, 계층 구조를 가진 메뉴에서 '모든 항목을 한 번에 표시'하고 싶을 때가 있을 거예요. 이를 해결하기 위한 예제 코드입니다…