프로그래밍 47

[typescript] 타입스크립트에서 'this' 바인딩 문제 해결하기

최근 타입스크립트 프로젝트에서 클래스 내부 메서드를 setTimeout이나 setInterval 등과 함께 사용할 때 this 바인딩 문제에 직면했습니다. 일반적으로 자바스크립트에서 setTimeout과 같은 비동기 함수는 메서드 내부에서 this가 바인딩되지 않는 문제를 발생시킬 수 있습니다. 이는 자주 발생하는 문제로, 예를 들어 다음과 같은 코드에서 문제가 발생합니다 class Counter { count: number = 0; increment() { this.count++; console.log(this.count); } startCounting() { setInterval(this.increment, 1000); // this가 바인딩되지 않아 오류 발생 }}cons..

[typescript] Word Addin에서 지정된 북마크에 텍스트를 추가하는 함수

개발 환경 Office365 WordAddin - Typescript 함수/** * 지정된 북마크에 텍스트를 삽입하는 함수 * @param bookmarkName - 텍스트를 삽입할 북마크의 이름 * @param text - 북마크에 삽입할 텍스트 */ async function insertTextAtBookmark(bookmarkName: string, text: string) { await Word.run(async (context) => { // 북마크 Range 가져오기 let bookmarkRange = context.document.getBookmarkRangeOrNullObject(bookmarkName); bookmarkRange.load(); await context.sync(); if ..

Android Studio AVD GL error 0x502

플러터 데모 프로그램 실행 중 GL error 0x502 에러가 발생하면서 메인페이지가 안뜨는 현상이 발생하였다. 해결방법Android Studio > Tools > Device Manager > 구동디바이스 Edit > Graphics 옵션 기존 Automatic에서 Software로 변경개발환경Android Studio Jellyfish | 2023.3.1 Build #AI-233.14808.21.2331.11709847, built on April 13, 2024 Runtime version: 17.0.10+0--11572160 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 10.0 GC: G1 Young Generation, G1 ..

[C#] Winform/Devexpress GridView DoubleClick Event

Devexpress GridControl에서 Doubleclick을 처리하기 위한 방법 코드 // GridControl var gridView = (gridControl.MainView as GridView); gridView.DoubleClick += gridView_DoubleClick; /// /// GridView DoubleClick Event /// private void gridView_DoubleClick(object sender, EventArgs e) { DXMouseEventArgs ea = e as DXMouseEventArgs; GridView view = sender as GridView; GridHitInfo info = view.CalcHitInfo(ea.Location); ..

프로그래밍/C# 2023.06.29

[C#] Winform/WPF 디자인모드(DesignMode) 구분하기

Winform 개발 시 UserControl 같은곳에서 Load Event시 Database Call 혹은 실제로 런타임 중에만 실행되야 되는 코드가 있을 경우 DesignMode로 구분이 필요합니다. 샘플코드 bool isInWpfDesignerMode = (LicenseManager.UsageMode == LicenseUsageMode.Designtime); bool isInFormsDesignerMode = (System.Diagnostics.Process.GetCurrentProcess().ProcessName == "devenv"); // Winform 에서 폼에서 직접 사용시 아래와 같은 프로퍼티를 추가한후 사용한다. private bool IsInFormsDesignerMode { get {..

프로그래밍/C# 2023.06.28

[C#] 경로 유효성 체크 - IsValidPath

경로 유효성 체크 IsValidPath 설치파일 등에서 경로 체크시에 사용된다. /// /// 경로가 유효한지 체크한다. /// /// 경로 private bool IsValidPath(string path) { // 경로 길이 체크 if (path.Length < 3) return false; // 드라이브 문자열 체크 Regex driveCheck = new Regex(@"^[a-zA-Z]:\\$"); if (driveCheck.IsMatch(path.Substring(0, 3)) == false) return false; // 경로 이름에 사용할 수 없는 문자가 있는지 체크 string invalidPathChars = new string(Path.GetInvalidPathChars()); inva..

프로그래밍/C# 2023.03.23
반응형