C# 7

[WPF / xaml] WPF UI 랜더링 완료 시점

개발을 하다보면 UI가 완전히 랜더링 된 시점을 정확히 잡아야 할 때가 있다처음 프로그램을 실행 시킨후 MainWindow가 로드될때 이벤트 순서는 아래와 같다1. 생성자 호출 - 객체가 생성되는 단계로, 여기에서는 UI가 아직 로드되지 않은 상태다.2.InitializeComponent() - XAML에 정의된 UI 요소들이 로드되고, 초기화 된다.3. Loaded 이벤트 - UI요소가 초기화되고 로드된 상태이지만, 아직 화면에는 그려지지 않은 상태다.4. ContentRendered 이벤트 - 모든 UI 요소들이 실제로 화면에 렌더링이 완료된 직후 발생하는 이벤트다. 즉, 사용자가 눈으로 확인 가능한 시점이다. - 다만, ContentRendered 이벤트가 발생했다고 해서 이후 추가적인 U..

c#/WPF 2024.12.10

[c#] 앱을 window 작업표시줄에 고정하기

개발환경 c# WPF.NET Framework 4.7.2Syspin.exe 몇날 며칠을 구글링해서 찾은방법1. TaskbarManager2. 레지스트리3. 작업표시줄 경로에 바로가기 파일 복사 후 작업표시줄 refesh 경로 : AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar 세가지 방법 모두 시도하다가 실패하고 찾은방법은 syspin.exe를 실행하면서 Argument를 넘겨주면작업표시줄에 앱을 고정하거나 해제할 수 있음.Syspin.exe 설치설치경로https://www.technosys.net/products/utils/pintotaskbar Technosys Corporation - Pin To Taskb..

c#/기타 2024.02.08

[오류 / WPF / xaml] c00000fd 오류

오류내용xaml 디자이너가 로드되지않고 아래와 같은 오류 발생 MainWindow.xaml.cs 생성자InitializeComponent(); 안에서 터져버려서 캐치가 안됐다...한참 구글링을 해본결과 여러가지 문제로 나올 수 있는 오류였다오류 원인 일단 일반적으로 스택 오버플로우(Stack Overflow)를 나타내는 Windows 운영 체제의 예외 코드이다.즉, 어디선가 아래와 같은 이유로 무한루프에 빠져 스택이 너무 많아지거나, 메모리 손상이 생겼다는 것이다. 1. 무한 재귀 호출 재귀 함수가 무한 루프에 빠져 스택 오버플로우를 발생시킬 수 있다.2. 이벤트 핸들러 문제 이벤트 핸들러에서 또 다른 이벤트를 발생시켜 무한루프에 빠질 수 있다.3. 데이터 바인딩 문제 데이터 바인딩이..

c#/오류 2024.02.08

[c#] Window 기본 브라우저 확인 / 기본 브라우저 실행

윈도우에 설정 되어있는 기본 브라우저 확인 현재 윈도우에 기본 브라우저로 설정 되어있는 브라우저를 레지스트리에서 확인하는 방법레지스트리 경로HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice 아래 기입된 브라우저 외에 다른 브라우저는 직접 윈도우에서 설정 후 레지스트리 값을 확인//먼저 레지스트리를 다루기 위해서는 Win32 네임스페이스를 참조해야한다using Microsoft.Win32;/// 기본브라우저 확인public void CheckDefaultBrowser(){ //레지스트리 경로 //HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Sh..

c#/기타 2023.11.30

[c# / Selenium] 개발환경 구축 및 기초

Selenium이란?파이썬, 자바 등 다양한 언어에서 웹 드라이버를 통한 웹 자동화 테스트를 지원하는 라이브러리NuGet패키지 설치- selenium이라고 검색해서 나오는 패키지중 아래 이미지에 나와있는 두가지만 설치하면 nuget 패키지 설치는 끝이다 다른 브라우저를 사용하여 크롤링 할것이라면 해당 브라우저의 드라이버를 검색하면 된다 - 드라이버 설치 시 버전은 해당 브라우저 버전과 같게 설치한다 프로젝트 작성 - 프로젝트 생성 후 아래와 같이 using문을 작성한다using OpenQA.Selenium;using OpenQA.Selenium.Chrome;웹 페이지 이동 아래와 같이 코드를 작성후 실행시키면 크롬브라우저 실행 후 네이버 페이지로 이동하는 것 까지 확인할 수 있다IWebDriver ..

c#/기타 2022.08.03

웹 크롤링과 웹 스크래핑

웹 크롤링, 웹 스크래핑의 차이 웹 크롤링(Web Crawling) - 웹페이지의 정보들을 탐색하고 수집하는 것 웹 스크래핑(Web Scraping) - 특정 웹 사이트나 페이지에서 필요한 데이터를 추출하고 원하는 형태로 가공하는 것 개념 자체만 보더라도 크롤링과 스크래핑은 아주 흡사하다차이점이 있다면 크롤링(Crawling)은 정보를 수집하는 것에 그치지만스크래핑(Scraping)은 수집한 데이터를 추출하고 가공한다는 차이가 있다.스크래핑(Scraping)이 더 큰 범위를 가진다는 것을 알 수 있다. 하지만, 둘 중 무엇으로 구글링을 해도 같은 소스들만 나오는것으로 보아이 둘은 같은 의미로 사용되고 있는거같다.실제로 스크래핑을 진행한 여러 회사에서도 모두 크롤링이라고 불렀다.

c#/기타 2022.07.29