앞서 말씀 드린 MVVM 패턴을 사용해서 프로그램을 작성하려면 

Data, Command, Event 등을 바인딩하는 것에 대한 정의나

반대로 UI에 Notification 하는 방법 등을 구현해야 저희가 원하는 설계대로 동작하게 됩니다.


2019/02/20 - [Software] - 프로그래밍 이야기2 - MVVM 패턴 (Model-View-Viewmodel)



그래서 이번에는 MVVM 패턴, Command 패턴, Module 관리, Event 통신 등 다양한 디자인 패턴과 프레임웍크를 제공해주는

Prism Library 에 대해서 말씀 드리겠습니다.


Prism Library 는 Microsoft patterns & practices Developer Center 에 WPF와 Silverlight 개발 시 개발자 가이드로 제안할 정도로 개발에 필요한 핵심 적인 Design pattern 과 Framework 들이 잘 구현되어져 있는 Library 입니다.

(참고: https://docs.microsoft.com/en-us/previous-versions/msp-n-p/gg406140(v%3dpandp.10))



간단하게 제 개인적인 견해로 핵심적인 기능들을 나열해보면


1. MEF() or Unity() 를 사용한 모듈관리

(Prism 6.3 버전 이 후 MEF 지원 중단 ㅠㅠ)


( 모듈 관리)



2. MVVM Pattern 


( MVVM Pattern )





3. Composing UI


( Composing UI )





4. Event Aggregator 를 사용한 모듈간 통신


Event AggregationEvent Aggregation

( Event Aggregation )


으로 들 수 있습니다.




License 는 훌륭하게도 MIT License 를 따르고 있습니다.

(참고: https://github.com/PrismLibrary/Prism/blob/master/LICENSE )


오픈소스이기 때문에 GiHub 에서 소스코드 및 자세한 정보 확인이 가능합니다.

(GitHub URL: https://github.com/PrismLibrary/Prism)


초기에 공부하시는 분들은 Microsoft 에서 제공해주는 Prism 5 를 다운 받으셔서 포함된 Example(특히 Stock Trader RI Example) 을 가지고 공부하시면 큰 도움을 받을 수 있습니다.


(다운로드 URL: https://www.microsoft.com/en-us/download/details.aspx?id=42537)



현재 Prism 은 7.2 버전 까지 나왔으며, WPF 뿐만아니라 Xamarin.Forms 도 지원하기 때문에 개발하시는데 많은 도움이 될 것으로 생각됩니다.


Prism Library는 Visual Studio NuGet 에서도 다운 받으셔서 사용하실 수도 있습니다.

Posted by 소프트장
,





WPF 로 프로그램 개발을 시작하려면 MVVM 패턴이란 이야기를 들으실 수 있으실 겁니다.

'WPF를 쓰려면 MVVM 패턴으로~' 라는 식으로 말입니다.


하지만 WPF 책을 구매하더라도 MVVM 에 관한 이야기는 없습니다.

MVVM 패턴은 소프트웨어 설계할 때 말하는 Design pattern 의 한 종류로 MVC(Model-View-Controller)나 MVP(Model-View-Presenter) 패턴과 비슷하다고 보시면 됩니다.

(MVC: https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)

(MVP: https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter)


간단하게 말하면 프로그램에 사용되는 Model(Data나 Data관련 로직)과 UI를 뜻하는 View, 그리고 동작을 처리하는 Controller/Presenter/Viewmodel 등으로 구분하여 프로그램을 작성 구현하자 입니다.


사용하는 이유는 이렇게 설계 패턴을 정의함으로써 프로그램 구현 중에 발생되는 모순들을 최소화 하고 코드 재사용성을 높이기 위해 사용한다고 보시면 됩니다.


비슷하지만 다르게 말하는 이유는 서로간의 관계에 대해 느슨한지 끈끈한지 등의 관계 정의 차이들이 있어서 인데 각각의 장단점들이 있고, 개발하는 플랫폼에 따라 많이 사용하는 방법들이 있다고 생각하시면 됩니다.


MVVM은 그 중에서 WPF, SilverLight 에서 많이 사용하는 방식으로 Command 패턴과 데이터 바인딩을 사용하여

View와 Viewmodel 사이의 의존성을 낮춘 패턴입니다.



좀더 쉽게 말하면 View에서 사용되는 Data, Command, Event 가 모두 Viewmodel의 Property 로 Binding 되어 있고, 

View를 구성하는데 필요한 data 들은 Model 이 가지고 있어 

Viewmodel 은 관련된 동작등을 처리하여 Model을 업데이트 후 View에 PropertyChange가 발생되었다는 것을 알려주면 

View가 갱신되는 구조로 되어있다고 생각하시면 됩니다.


View 와 ViewModel 을 느슨하게 연결하고, View 의 역할을 UI에 국한되게 함으로써

디자이너와 개발자간의 바인되는 명만을 약속함으로써 

View(UI)는 Blend 를 사용하여 디자이너가 직접 디자인하고 개발자는 View 부분의 작업을 최소화 하는 아름다운 구조를 제안하였지만, 

디자이너들이 Photoshop/Illustrator가 아닌 Blend를 사용할리가 없기 때문에 

그냥 View 까지 모두 작성하시면 됩니다.


[ Blend for Visual Studio 2017 ]




Posted by 소프트장
,





오늘은 Window 데스크탑 어플리케이션 개발 시 사용되는 WPF(Windows Presentation Foundation) 에 대해서 포스팅 해보겠습니다.


먼저 WPF 는 쉽게 말해서 데스크탑 Window 어플리케이션을 개발하기 위한 UI Framework 라고 생각하시면 됩니다. 

.Net Framework 기반하에 동작 되기 때문에 .Net Framework 만 설치되어 있으면 동작에 문제는 없습니다.

(참고: https://docs.microsoft.com/ko-kr/visualstudio/designers/introduction-to-wpf?view=vs-2017)


가장 큰 장점으론 그래픽 하드웨어를 사용하는 해상도 독립적인 벡터 기반 렌더링 엔진입니다.

해상도 독립 적인 이란 말은 pixel 기반이 아니기 때문에 Window 사이즈를 늘리거나 줄이더라도 Pixel 부족등으로 발생되는 aliasing 같은 현상이 없다는 이야기 입니다.

(참고: https://en.wikipedia.org/wiki/Aliasing)


( Raster(연속된 Pixel) 그래픽과 Vector 그래픽의 차이 )



그리고 WPF 는 UI 디자인을 XAML(Extensible Application Markup Language) 문서를 통해 디자인하는데,

아시는 분들은 아시겠지만 XML(Extensible Markup Language) 에서 A Application 이 추가되어 XAML 이라고 합니다.

XML 과 같은 Tag 형을 이용하는 Markup Language 입니다.

(참고: https://docs.microsoft.com/ko-kr/dotnet/framework/wpf/advanced/xaml-overview-wpf)


즉 태그형식을 사용하여 UI 구조를 작성할 수 있는 언어 입니다.

만약 Visual studio 에서 개발하신다면 툴 자체에서 디자이너를 제공해 주기 때문에 코드 작성 중 바로바로 확인이 가능하며, 또 디자이너의 도구 상자를 통해서 버튼 등의 컨트롤을 배치 할 수 있습니다.

(하지만 하시다 보면 아시겠지만, 그냥 코드를 치시거나 복붙 하시는게 더 편하실 겁니다.)


(Visual studio 상에서 개발 중인 WPF 어플리케이션 - 상단이 디자이너, 아래가 Xaml 코드 입니다.)




Posted by 소프트장
,

이번에는 자동차 에어컨 필터 셀프 교체하는 방법에 대해서 포스팅하겠습니다.


제가 다니던 카센터 사장님이 에어컨 필터나 자동차 배터리는 공임든다고 왠만하면 직접 교체하라고 하셔서 

몇년 전부터 자동차 에어컨 필터와 배터리는 직접 교체 하고 있습니다.


제가 타고 다니는 차는 15년된 04년식 스틱 모닝이긴 한데

애도 셋이고 아내도 운전을 하고 싶다고 해 작년에 

2013년식 오토 올란도를 중고로 장만했습니다.


올란도 차량 교체는 저도 구입 후 처음 필터를 교체하는 거라 처음이네요.


보통 자동차 에어컨 필터는 글로브 박스를 때내면 있습니다.



애들이 아직 어리다 보니 많이 지저분 하네요. ㄷㄷ




글로브 박스를 열면 오른쪽 아래에 걸림쇠가 있습니다.


저도 인터넷에 찾아 보면서 진행하긴 했는데 저기를 오므려서 밀면 된다고 했는데

직접해보니 오므리고 고리를 빼야 되더라고요.

(고리가 쉽게 움직이게 되어 있습니다.)






그 다음으로 박스 안쪽 양쪽에 돌출 부위가 걸려 있는 부분을 빼면 글로브 박스가 빠집니다.

힘으로 하다 용쓴거 생각하면... 그냥 위로 빼면 되는 거였는데...




글로브 박스를 빼시면 에어컨 필터 뚜껑이 보입니다.

뚜겅 걸림부를 해제하고 여시면 에어컨 필터를 교체 할 수 있습니다.

에어컨 필터는 화살표가 그려져 있는 곳을 정면으로

화살표 방향이 아래로 향하도록 설치 하시면 됩니다.



제가 구입한 에어컨 필터 입니다.

올란도는 3M 미세먼지 필터 모델명이 5255 네요.




이번에 빼면서 본건데 이전 주인이 직접 설치 한건지 카센터에서 설치 한건지 모르겠지만

에어컨 필터가 찌그러져 있네요.


저 부위로 필터 없이 바로 차량 내부로 먼지들이 들어왔을 생각하니 화가 나네요.

카센터에서 교체 하시더라도 교체 하실 때 옆에서 지켜 봐야 될 것 같네요.




Posted by 소프트장
,

LED 주방등 교체하기

ETC 2019. 2. 15. 02:01

이번 설 연휴에 주방등 안정기가 고장나 안정기를 교체 할까 하다 

어차피 뜯는거 이참에 LED등으로 교체했습니다.


이미 큰방과 거실, 작은방1은 작년에 LED등으로 직접 교체를 했었거든요.


LED 칩은 LG 나 삼성이 좋다고 해서 삼성 칩 싼걸로 샀습니다.

50 W 가 3만원 좀 안되네요.



무타공에 삼성 칩, 화이트 색상입니다.


박스 포장도 잘되어 있고



기존에 설치 했던 제품들과 스타일도 비슷하네요.

재질은 아크릴 입니다.




구성 나사 들입니다. 

긴거 4개로 천장에 설치하고 

작은 것들은 케이스 덮은 뒤에 고정을 위해서 체결하는 나사입니다.

(전 작은 건 연결 안했어요.)




안정기도 Made in korea 네요.




Provided by Samsung


사실 전등 설치는 안정기에 전등 전원 라인 연결만 하면 동작이 됩니다.

귀찮아서 그렇지 어려운 작업은 아니예요.


우선 작업전 안전을 위해 전원 라인을 차단합니다.

저희 집은 전등 라인이 따로 있어서 전등만 차단하면 되네요.



먼저 기존의 형광등을 빼시고


기존 등 안정기에서 전원선을 뺍니다.


마지막으로 천장 고정 나사를 제거 해서 기존 등을 제거 합니다.

(전 나사 3개로 고정되어 있었는데 그나마도 나사 하나는 대충 밖아 뒀네요.)



새 등을 천장에 답니다.



전원을 연결하면 끝입니다.

(이게 굵은 동선이다 보니 꽂는데 생각보다 힘들어요.)





뚜껑닫기 전에 불들어오는지 확인하고



뚜껑 닫으면 끝~


아주 마음에 드네요.


설치비 몇만원 아꼈네요.


다들 도전 해보세요~

Posted by 소프트장
,

작년에 있었던 2018 자카르타-팔렘방 아시안게임 e-Sports 시번 종목이였던 Clash Royale


현재 저는 도전자1 에서 왔다갔다하는 하수지만 즐기면서 하고 있습니다.

쫄깃쫄깃한게 잘 만들었네요.


어쨋든 클래시 로얄에서 1vs1 이나 2vs2 에서 승리하게 되면 승리 보상 상자를 줍니다.


실버상자, 골드상자, 자이언트상자, 마법상자, 전설상자, 영웅상자, 메가번개상자 등의

다양한 보상 상자들이 있는데요.


이 상자들이 모두 예정되어 있어 몇 번째 받게 될지 알 수 있다고 하네요.


이 예정된 상자를 확인할 수 있는 사이트가 바로 스태츠 로얄(STATS ROYALE)입니다. 


https://statsroyale.com/ko/




우측 상단에 플레이어나 클랜으로 검색할 수 있게 되는데

클랜은 클랜명으로 검색되지만, 플레이어는 Tag 값으로 검색해야 됩니다.



Tag 값 알아보는 방법은 사이트에도 잘 설명되어 있지만, 아래 사진을 참고하셔도 됩니다.




현재 제 정보입니다.


바로 아래 파란색으로 보이시는 업데이트 한번 누르시고 보셔야지 

최신 정보를 확인 할 수 있습니다.







전 전설상자까지 5개 남았네요.


메가나이트 주세요. ㅠㅠ



Posted by 소프트장
,


이번 정부의 부동산 대책으로 공시지가를 높였다고 하네요.


오늘이 적용 되는 날인지 급실검 등장!







검색하면 부동산공시가격알리미 - 국토교통부 사이트가 검색된다.


아파트 공시지가를 검색하려면 사이트에서 공동주택공시가격을 클릭하시면됩니다.

다른 것들도 검색은 되는데 ㎡ 당 가격으로 표시되어 확인하고 싶으신 아파트의 공시지가 확인은 어렵습니다.




들어가시면 도로명 검색과 지번 검색이 있습니다.

아래 보시다 싶이 도로명은 4 단계

지번은 3 단계로 지번 검색을 추천드립니다.



요렇게 지도로도 검색됩니다.

말이 지도지 마지막은 동선택해야 되네요.





대구에서 고가로 평가되는 범어동 두산위브더 제니스 펜트하우스를 한번 검색해봤습니다.



17억 4천4백 ....


평생 구경할 일이이 없겠네요.


그나저나 공시지가 올라서 집값이 따라 더 오를까봐 걱정이네요.

요샌 대출 분양도 많이 막혀서 서민은 집도 못 사겠네요.

ㅠㅠ


Posted by 소프트장
,

9년만에 다시 취준씨로 돌아가 취업관련 정보를 많이 알아보고 있네요.


이번에 알려드릴 사이트는 현직 및 전직자들의 기업 리뷰를 확인할 수 있는 

잡플래닛(www.jobplanet.co.kr)을 소개 해드릴까 합니다.



화면 상단 검색에 리뷰를 하고자 하는 회사를 검색하면 됩니다.

자동완성 기능이 있어 쉽게 검색할 수 있네요.


저는 모두가 아닌 대부분의 사람들이 가고 싶어하는 삼성전자를 검색해봤습니다.




기업리뷰 뿐만아니라 기업정보나 연봉정보 면접정보 복지정보 채용정보까지 다양한 정보를 확인 할 수 있네요.

삼성은 자체 채용사이트를 운영 하다보니 채용정보는 0 이네요.


자 그럼 앞으로 돌아와서 기업리뷰의 스크롤을 내리면



정보를 못 봅니다....

비공개로 되어 있어요...


저처럼 경력이 있으신분은 간단하게 전 직장의 기업리뷰를 작성하면

모든 기업리뷰를 확인할 수 있으니


관심있으신 기업리뷰가 있다면 

번거롭더라도 리뷰 작성하시고 확인해보시는 걸 추천드립니다.


리뷰 작성하실 때는

바르고 고운말을 사용하시 것 잊지 마시고요.



경력이 없으신 분들은 제휴대학이 있어 제휴대학 출신이시면

해당 학교 계정 메일을 통해 확인하실 수 있습니다.



현재 까지 제휴대학 리스트입니다.


이마저도 안되면 열람권을 구매하셔서 이용 할 수도 있습니다.



Posted by 소프트장
,