반응형

전체 글 129

[WPF] Value Converter

바인딩 처리를 하다보면 값에 따라 화면에 바인딩 되어야하는 값이 달라야 할때가 있다. 예를들어 bool 값을 이용하여 visible처리 할 때나, 퍼센트 값에 따라 폰트 컬러가 달라진다거나 하는 기타 등등의 요소가 존재한다. 이를 위한 Value Converter 사용법은 아래와 같다. ViewModel에 컨버터 클래스를 선언한다. public abstract class BaseOnewayConverter : MarkupExtension, IValueConverter { public BaseOnewayConverter() { } // source to binding target public abstract object Convert(object value, Type targetType, object pa..

프로그래밍/WPF 2021.05.10

[WPF] MVVM에서 IDialogService 사용

mvvm을 사용할 때, Dialog용 Service를 만들어서 사용하는 방법을 기술하겠다. 위의 구조대로 만들 예정이다. 만약 새로운 화면이 필요하다면 커스텀 DialogView를 이용하여 처리하면 된다. IDialogWindow.cs namespace CounterMonitor.Dialogs.Service { public interface IDialogWindow { bool? DialogResult { get; set; } object DataContext { get; set; } bool? ShowDialog(); } } 창을 띄울 화면 생성 DialogWindow.xaml 해당 위의 인터페이스를 상속하자 DialogWindow.xaml.cs using System.Windows; namespace..

프로그래밍/WPF 2021.05.10

[Linux] Timezone 변경하기

리눅스 터미널에서 date를 입력하면 현재 시간과 타임존이 나온다. $ date Mon May 10 02:58:58 AST 2021 타임존을 변경하기 위해서 타임존 리스트를 가지고 와보자 $ timedatectl list-timezones 혹은 나는 America쪽만 확인하고 싶다. $ timedatectl list-timezones | grep "America" America/Adak America/Anchorage America/Anguilla America/Antigua America/Araguaina America/Argentina/Buenos_Aires America/Argentina/Catamarca America/Argentina/Cordoba America/Argentina/Jujuy Am..

[WPF] IGrouping 데이터 바인딩 하기

LINQ를 사용하다보면 group를 사용하여 그룹화를 시켜줄 때가 많다. 이때, group 사용 시에 IGrouping Interface를 반환받게 되는데 이것을 데이터 바인딩 하는 방법을 알아본다. Model DTO public class IoTStatus : BindableBase { private int _line; public int Line { get { return _line; } set { SetProperty(ref _line, value); } } private int _table; public int Table { get { return _table; } set { SetProperty(ref _table, value); } } } Service public async Task GetI..

프로그래밍/WPF 2021.05.06

[Vue.js] Tool Bar 구현하기

2020/11/26 - [프로그래밍/Vue.js] - Vue.js 개발 환경 구축하기 Vue.js 개발 환경 구축하기 우선은 코드 편집툴입니다. Visual Studio Code 입니다. 바로 다운 받도록 합시다. https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redef.. nonstop-antoine.tistory.com 지난 블로그에서는 Vue.js 개발환경을 구축해보았습니다. 이제 실제 화면들을 구축해볼텐데, html, css등에 자신이 있으신분들이라면 직접 하나하나 css를 만들어가면서 할 수 있습니다. 다만... 저같은 경우는 디자인의 디 자도..

Vue.js ESLint Auto fix 기능 활성화 하기

1. VS Code에서 ESLint 플러그인 설치 2. 프로젝트 내에 package.json내에서 아래와 같이 수정 //path: 프로젝트 폴더 명/package.json "eslintConfig": { ... "extends": [ "plugin:vue/recommended", // essential에서 recommended로 변경 "eslint:recommended" ], ... }, 3. 프로젝트에서 탐색기 빈공간에 오른쪽 버튼 클릭 -> 폴더 설정 열기 선택 4. 설정의 검색창에 eslint 검색 후 setting.json 편접 클릭 5. 아래와 같은 내용 삽입 { "eslint.codeAction.showDocumentation": { "enable": true }, "eslint.validat..

Vue.js 개발 환경 구축하기

우선은 코드 편집툴입니다. Visual Studio Code 입니다. 바로 다운 받도록 합시다. https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. code.visualstudio.com 이 툴의 강력한 점은 방대한 양의 플러그인을 제공해..

[IoT] Esp32 여유 Heap 정보 알아보기

C#이나 Java, Javascript등의 언어들은 GC를 통해 매모리를 관리하기에 개발자가 특별히 메모리 관리를 해줄 필요가 없습니다. (물론 GC를 생각하며 프로그램 안짜면 메모리 누수가 발생될수 있다.) 그러나 C++의 경우 개발자가 메모리를 관리를 해줘야합니다. 이것은 ESP32를 C++로 돌릴때도 마찬가지입니다. 코드를 잘못짜게 되면 Heap영역을 계속적으로 잡아먹게 되고 결국에는 ESP32가 재부팅됩니다. if(millis() - heapCheckMillis > 1000){ memcurr = ESP.getFreeHeap(); Serial.printf("FREEHeap: %d; DIFF %d\n", memcurr, memcurr - memlast); memlast = memcurr; heapCh..

프로그래밍/IoT 2020.11.25
반응형