본문 바로가기

C#

C# EDGE 대응에 대해서.. IE를 사용하던 기존방식에서 2022년 6월경을 기준으로 서비스가 종료되기에 빠른대응이 필요하게 되었다. Edge 기반의 WebView 컨트롤을 WPF와 Windows 폼으로 사용하여 대응이 되기에 이 부분에 대해서 다루어 보고자 한다. POINT Edge 기반 WebView 컨트롤을 활용하는 방법 NuGet에서 Windows Community Toolkit v3.0 도입 Windows Forms 프로젝트의 경우 도구 상자에 WebView 컨트롤 추가 Windows Form 또는 WPF 앱의 UI에 WebView 컨트롤 추가 NavigationStarting/NavigationCompleted 이벤트 핸들러 등을 필요에 따라 구현 Edge 기반 WebView 컨트롤 이 새로운 WebView 컨트롤은 Wi.. 더보기
C#으로 JIRA API REST 제어/연동하기 #2 검색 전편을 안보신분은 #1을 먼저 보실것을 추천드립니다. C#으로 JIRA API REST 제어/연동하기 #1 프로젝트를 진행하다 보면 JIRA를 사용하는 경우가 많다. 흔히 우리가 알고있는 아틀라시안 JIRA를 내가 있는 현장에서도 많이 사용하고 있었다. Atlassian | 소프트웨어 개발 및 협업 도구 전 세계 racer42.tistory.com #2에서는 메인화면의 구성과 내용에 대해서 설명하겠습니다. 필요했던 기능은 크게 두가지입니다. 1. JIRA 티켓생성기능(Create Ticket) 2. JRIA 티켓검색기능(Search Ticket) JIRA 티켓생성기능(Create Ticket) 이 티켓을 어떻게 만들어야할까... 고민하면서 여러가지 자료를 검토해 보았습니다. 우선 먼저 만들어두신 분들이 .. 더보기
C#으로 JIRA API REST 제어/연동하기 #1 프로젝트를 진행하다 보면 JIRA를 사용하는 경우가 많다. 흔히 우리가 알고있는 아틀라시안 JIRA를 내가 있는 현장에서도 많이 사용하고 있었다. Atlassian | 소프트웨어 개발 및 협업 도구 전 세계 수백 만 사용자가 Atlassian 제품을 이용해 소프트웨어 개발과 프로젝트 관리, 협업, 코드 품질을 개선하고 있습니다. www.atlassian.com 이번 주제는 이 JIRA를 많이 사용해서 Agile을 진행하면서 과제를 지속적으로 생성하고 관리함에 있어서 팀원들이 불편함을 많이 느끼고 있어서 툴을 하나 만들어보면서 느낀 점과 소스코드 등에 대해서 다루어보려고 한다. 들어가기에 앞서서, Agile(애자일)이 무엇인지 간략히 말하자면, 레드햇에서는 다음과 같이 정의하고 있다. "애자일은 신속한 반.. 더보기
WebPage에서 컴퓨터에있는 exe파일 실행하기 #2 시간이 좀 지체되었지만, 요걸 하고 있는 과정 중에도 여러 가지 문제가 생겼다. 뜻밖의 얘기들을 납품 직전에 거래처에서 듣게 되었는데... 사용할 브라우저가 IE 가 아니라 Chrome이라고 한다.. 어처구니없지만 또 해야하는게 우리 엔지니어의 숙명인지라 하는 수없이 또 고민을 하였기에 남겨본다. 레지스트리 너란녀석.... RegistryValueKind 열거형 (Microsoft.Win32) 레지스트리에 값을 저장할 때 사용할 데이터 형식을 지정하거나 레지스트리 값의 데이터 형식을 나타냅니다.Specifies the data types to use when storing values in the registry, or identifies the data type of a value in docs.mic.. 더보기
WebPage에서 컴퓨터에있는 exe파일 실행하기 #1 어찌 보면 단순한 이야기일 수도 있겠지만, 실제로 하려다 보니 여러 가지 문제가 생겨서 해결 과정을 글로 남겨두려고 한다. 하려고 하는것은 WebPage에서 로컬 PC 내부에 저장되어있는 exe 파일을 실행하는 것이다. 처음 시작하기전에 생각한 것은 아래와 같다. 1. ActiveX를 사용해서 로컬PC의 파일을 다이렉트로 실행한다. 2. 레지스트 등록을 통해서 정해진 키값을 WebPage내부에서 Script 호출해서 사용한다. 3. 브라우져에서 파일접근 확인창이 매번 뜨지않도록 제어한다.(Chrome, IE, Edge) ■참고 ActiveX 사용에 대한 참고문서 방법: ActiveX 컨트롤 사용 - Visual Basic 방법: ActiveX 컨트롤을 사용하여 작업(Visual Basic)How to: .. 더보기
WPF 성능 개선 초기 표시(렌더링) 속도개선 WPF프로젝트를 지난 5년간 진행하면서 덩치가 너무 커진 탓인지 속도가 너무 늦다는 지적을 현장에서 받아오면서, 이 문제를 어떻게 처리할까... 한참을 고민하던 끝에 다음 달 릴리즈를 앞둔 마당에 이 글을 적어봅니다. 초기 표시 (렌더링) 속도 개선방법 여기에서는 초기 표시, 즉 화면을 인스턴스 화해서 그려질 때까지의 시간을 단축하기 위한 개선책과 화면을 다시 그릴 때의 처리시간 단축 방법을 이야기하고자 합니다. 렌더링, WPF레이아웃이 무엇이냐?? 아래의 마이크로소프트 링크를 참고하세요. 완화: WPF 창 렌더링 Windows 8 이상에서 실행되는 .NET Framework 4.6에서 WPF 창 렌더링의 영향 및 완화에 대해 알아봅니다. docs.microsoft.com 완화: WPF 레이아웃 한 픽셀.. 더보기
Drag and Drop 으로 파일을(PDF) 프리뷰 하기 파일을 Drag&Drop해서 프리뷰 하는 방법에 대해서 간략하게 적어본다. 일단, 아래의 링크에 접속해서 파일을 다운로드 받아야한다. http://www.adobe.com/devnet/acrobat/sdk/eula.html Agree and download Acrobat DC SDK for Windows (ZIP, 22.2 MB) Agree and download Acrobat DC SDK for Macintosh (DMG, 41.3 MB) Agree and download Acrobat XI SDK for Windows (ZIP, 52.2 MB) Agree and download Acrobat XI SDK for Macintosh (DMG, 48.6 MB) Agree and download Acroba.. 더보기
C# TabControl TabPage안의 TextBox 생성 질문C# TabControl TabPage안의 TextBox 생성 C# 버튼을 누르면 TabControl의 TabPage가 생성하는건 됬는데요... string title = "TabPage " + (tabControl1.TabCount + 1).ToString(); TabPage myTabPage = new TabPage(title); tabControl1.TabPages.Add(myTabPage); TabPage가 생성하면서 그안에 TextBox도 함께 만들어져야 하는데... 어떻게 만들어야할까요?그리고 그 TextBox의 크기와 Name은 어떻게 지어야 할까요? =============================================================================.. 더보기
ShowDialog로 호출되던 폼을 Show로 바꾸면서 화면숨김 ShowDialog로 호출되던 폼을 Show로 바꾸면서 화면비표시를 하고싶다. 프로젝트는 C#으로 이루어져 있으며, VB6.0과 연동되어 실행되고 있었다.구성은 아래와 같다. 문제는 해당폼이 Modal 기동된다는 점이다. Modal로 띄워놓고, 화면은 보여주면 안된다. 이것을 어떻게 해결할것인가… 나는 이번 수정을 두가지 방법으로 생각해보았다. 1. 해당폼을 생성하지않고, Load / Shown 이벤트의 내용을 그대로 메소드1에서 수행한다. 2. 해당폼을 보여주지않도록 수정하고, 그냥 진행한다. 일단, 비동기 형식으로 접근을 생각해보았다. 솔류션을 새로생성하고,폼을 두개가 되도록 배치한다.그리고, 폼1은 다음과같이 디자인하였다. 결국 버튼2만 사용하여 해결하였지만, 여기서 중요한것은 폼의 객체는 생성하지.. 더보기
비동기처리에 대한 이해와 설명 await _context.Movie .FirstOrDefaultAsync(m => m.Id == id); 이 statement 설명좀await sync 이런것들 마이크로소프트에서 읽어봤는데 한단어 한단어 연결해서 이해가 안되네요 await 은 이 statement가 끝날때 까지 기다리고 context는 데이터베이스에서 firstordefaultAynch는 뭐하는지 모르겠어요그리고 m=>램다 표현은 어떤식으로 쓰는지 m은 그냥 쓴건지 .. ========================================================================_context.Movie .FirstOrDefaultAsync(m => m.Id == id) _context.Movie 해당 객체에서 id.. 더보기