본문 바로가기

영하의 IT 인생 기록103

[WPF] Data Binding - ③ : ICollectionView를 이용한 Data 정렬(Sort), 그룹화(Group), 필터링(Filter), 동기화(CurrentChanged) ICollectionView를 이용한 Data 정렬, 그룹화, 필터링, 동기화 ※ 참고 Site ※ 1. https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=goldrushing&logNo=130186019141 2. https://www.wpf-tutorial.com/listview-control/introduction/ 3. https://www.wpftutorial.net/DataViews.html#intro 오늘은 그동안 배웠던 DataBinding을 이용해서 간단한 데이터 컬렉션을 ListView라는 Control에 바인딩하고 데이터를 그리드화해서 보여주도록 하겠습니다. 먼저 WPF에서 데이터 컬렉션을 그리드화해서 보여줄 수 .. 2022. 12. 9.
[WPF] Data Binding - ② : 값 변환기(Value Converter) / IValueConverter / IMultiValueConverter Data Binding-② : 값 변환기(Value Converter)를 사용한 바인딩(Binding) ※ 참고 Site 1. https://www.wpf-tutorial.com/data-binding/value-conversion-with-ivalueconverter/ 2. https://www.wpftutorial.net/ValueConverters.html 지난 시간에는 서로 같은 타입의 프로퍼티일때 바인딩하는 방법(DataContext 사용)에 대해서 확인해보았습니다. ex) string → string / int → int 2022.11.25 - [인생은 실전/C#] - [WPF] Data Binding - ① : 데이터 바인딩(Data Binding) 기초 / 데이터 컨텍스트(Data Cont.. 2022. 11. 30.
[WPF] Data Binding - ① : 데이터 바인딩(Data Binding) 기초 / 데이터 컨텍스트(Data Context) 속성 Data Binding-① : 데이터 바인딩 기초 및 데이터 컨텍스트 속성 사용 본문은 https://www.wpftutorial.net/ 의 내용을 본인이 해석하고 별도로 관련 정보를 찾아서 정리하였습니다. 원본은 위의 링크를 참고해주세요! WPF는 흔히들 말하는 디자인 패턴중에서 MVVM 패턴으로 프로젝트 코드를 구현하는것이 가장 효율적이라고 합니다. 물론 작은 규모의 프로젝트나 개인적인 프로젝트라면 굳이 MVVM 구조를 고집하지 않아도 될것이라 생각합니다. 왜냐하면? MVVM의 최대 장점은 View와 ViewModel간의 의존성을 최소화해서 실무적으로 봤을때 협업하기에도 편하고 추후 유지보수시에 코드를 수정하기에도 편하다는 장점을 가지고 있기 때문입니다. (MVVM에 대한 자료와 정보는 인터넷에 많.. 2022. 11. 25.
[Review] TFX156T PRO : 한성컴퓨터 15.6인치 포터블 모니터 TFX156T PRO : 한성컴퓨터 15.6인치 포터블 모니터 무거운 모니터를 들고 다닐 필요 없이 출장지에서 더블모니터를 활용할 수 있는 가장 가볍고 편리한 방법! 다양한 포터블 모니터 중에서 제가 선택한 제품은 아래에 있는 한성컴퓨터 제품의 15.6인치 포터블 모니터입니다. [TFX156T PRO : 15.6인치 포터블 모니터] 제조사 : 한성컴퓨터 출시일 : 2021.02 대표 사양 : 해상도(1920x1080) / 화면크기(15.6인치) 제품의 스펙이나 구성품은 더 좋은 리뷰글도 많고 제품 구매처에서 쉽게 확인할 수 있으니 저는 실제로 연결한 사진을 통해 지극히 주관적인 견해를 공유하고자 합니다. 포장 한성컴퓨터. 컴퓨터 제조 및 유통하는 회사중에선 아주 유명한 회사로 알고 있었는데 포장 상태를 .. 2022. 11. 14.
[C#] Thread - 크로스 스레드(Cross Thread)와 해결 방법 2가지 / InvokeRequired + invoke / CheckForIllegalCrossThreadCalls Thread - 크로스 스레드 (Cross Thread) 해결 방법 2가지 C#에서 여러개의 Form을 왔다갔다 하면서 다양한 컨트롤을 제어하다보면 심심치 않게 아래와 같은 크로스 스레드 작업 관련 오류 문구를 확인할 수 있다. 이는 해당 컨트롤을 관리하는 스레드가 아닌 다른 스레드에서 해당 컨트롤에 접근하게 되면 크로스 스레드 오류가 발생한다고 한다. 1. CheckForIllegalCrossThreadCalls 크로스 스레드 해결 방법으로 첫번째는 CheckForIllegalCrossThreadCalls의 속성값을 False로 바꾸는 것이다. CheckForIllegalCrossThreadCalls = false; 이는 크로스 스레드를 무시하겠다는 설정으로 쓰레드 충돌을 방지하는 것이 아닌 쓰레드가 .. 2022. 10. 19.
[자격증] SQLD(국가공인 SQL 개발자) / SQLD 시험 준비 과정 및 문제집 / 제47회 SQL개발자(SQLD) 시험 응시 및 결과 SQLD(국가공인 SQL 개발자) 시험 준비 과정 저는 신입 개발자로써 입사 초기에 다짐했던 여러 목표중에 하나인 SQLD 자격증 취득을 이루고자 최근에 그 첫발을 디뎠습니다. 제 직무상 SQL을 주로 사용하지는 않지만 그래도 기본적인 CRUD(Create, Read, Update, Delete) 정도는 다루기 때문에 기본적인건 알아야 한다는 생각아래 SQLD 라는 자격증을 목표로 설정하였습니다. 지금 약 한달도 남지 않은 시간이지만 퇴근후 하루에 1~2시간씩만 공부한다는 느낌으로 도전해보겠습니다. 회사에서 자격증 지원제도가 존재하긴하지만 사전에 계획서 기안도 올려야하고, 절차가 엄연히 다 존재하기 때문에 시험일정이 촉박한 지금은 오로지 100% 제 사비로 도전을 해 보겠습니다! (오히려 백프로 사비이기.. 2022. 10. 10.
[SECS] High Speed secs Message Services (HSMS) / SECS - Ⅰ프로토콜을 대체하는 TCP/IP 기반의 표준 프로토콜 / SEMI E37 HSMS : SECS-Ⅰ 프로토콜을 대체하는 TCP/IP 기반의 표준 프로토콜 RS-232 통신을 위한 프로토콜인 SECS-Ⅰ의 사용이 점차 줄어들고 이더넷 기반의 TCP/IP를 통한 통신방식이 점차 증가하면서 반도체 통신도 더 빠른 통신을 위해 TCP/IP를 기반으로한 프로토콜이 개발되었습니다. 따라서 기존의 SECS-Ⅰ 방식보다 수십배(?) 혹은 수백배 빠른 HSMS 프로토콜이 현재 반도체 통신에서 주로 사용되고 있습니다. 따라서 기존 MESSAGE 포맷에서 DATA를 담당하는 C의 경우는 그대로 SECS-Ⅱ 프로토콜이 담당하고, Header를 포함한 나머지 부분들은 이제 HSMS 프로토콜에서 담당하게 됩니다. 그렇기 때문에 HSMS 메세지 포맷과 SECS-Ⅰ 메세지 포맷은 다소 비슷함을 느끼실 수 .. 2022. 10. 7.