728x90

전체 글 310

[C#] RX Throttle과 ManualResetEventSlim으로 중복요청 필터링하기

어쩌다 보니 CPP/CLI 에서 메인으로 프로그램을 시작해서 버튼 등의 제어를 통해 C# 프로젝트에서 중계를 해주고 그 결과를 다시 CPP/CLI 프로젝트로 보내서 텍스트나 색으로 상태를 표현하는 프로그램을 제작하게 되었다.  문제는 메인에서 사용하는 IMGUI에서 버튼 등을 통해 딜레이 없이 짧은 시간에 한번에 많은 요청을 보낼 수 있다.그리고 통신 관련 DLL이 그런 요청을 그대로 받아들이면 내부에서 무한 로딩에 빠지는 문제가 있다. 또한 통신 객체의 연결 끊기 및 dispose도 제대로 처리되지 못한다. 메인 프로젝트의 imgui는 생소해서 새 기능을 구현하기 힘들고 통신 dll은 소스가 없어서 내가 수정할 수 없으니 그나마 뭔가 유연하게 고칠 수 있는 중계 프로젝트에서 처리를 해줘야 했다.   그..

공부 2025.01.20

2025년 1월 CONY 배당회수 기록

2024 Cony 매수 및 배당 회수 일기올해의 투자 일기를 작성하면서 CONY에 대해 더 적어보려고 한다.원래 이 ETF는 내년 양도세 250만원 공제를 넘어갈 때, 가격이 내려간 만큼 팔아서 손실확정을 내는데 사용하려고 했다.   그러다duplicat.kr  작년 배당 회수에 이어서.. 1월 분배금은 COIN주가가 그닥 오르지 못한 영향인지 0.83정도를 주당 분배금으로 받게 되었다.533주를 가지고 있어서 세금을 떼고 약 377.8달러를 받았다.     이후 17주를 더 매수해서 550주로 맞췄다. 매입가 평균은 19.01달러가 되었고매입 금액은 10,456.51$ 이다.     늘어난 매수 총 금액과 이번에 받은 분배금을 계산해보니 이제 회수율은 32.58%가 되었다.다음 달에는 다시 코인 시장과..

[Devexpress Winform, c#] XtraMessageBox 버튼 텍스트 변경하기

Devexpress에서 기본 제공하는 버튼은 기본 영어로 나온다. 버튼의 글자를 변경하기 위해 직접 접근할 수는 없지만XtraMessageBoxArgs를 매개변수로 하는 show 함수를 이용해 showing 이벤트에서 버튼의 텍스트를 바꿔치기 할 수 있다.다국어를 위한 리소스 등을 이용해서 적용할 수도 있다. public static class CustomXtraMessageBox{ static XtraMessageBoxArgs getArgs(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) { XtraMessageBoxArgs args = new XtraMessageBoxArgs(); ..

공부/Devexpress 2025.01.14

[JS] 내가 필요한 키워드 저장해두는 확장 만들기2 - 설계 및 구현

이제 기본 구조는 알았으니 내가 원하는 기능을 넣으면 된다.내가 상상한 기능을 구상해보기 위해 대충 그림판으로 편집해서 구도를 잡았다..     나만 사용하는 확장 프로그램이기 때문에 우선 디자인은 크게 고려하지 않았다. 우선 background.js와 content.js와 같이 필요 없는 코드들을 비활성화했다. 그리고 아래와 같이 Popup.html, Popup.js를 수정하고 styles.css를 추가했다.  popup.html 오늘 날짜 복사   popup.jsdocument.addEventListener("DOMContentLoaded", () => { const fullDateSpan = document.getElementById("fullDate"); const to..

공부 2025.01.13

[JS] 내가 필요한 키워드 저장해두는 확장 만들기1 - 기본 구성 파악

유튜브에서 크롬 확장 프로그램을 만드는 영상을 봤더니 갑자기 나도 만들고 싶어졌다. 기왕이면 내가 필요한 기능을 넣어서 만들어보기로 했다.예를 들어, 나는 운동을 할때 비공개로 일기를 적어놓는다.제목을 년도와 날짜로 표시하는데 이걸 일일히 직접 작성한다. 아마 확장 프로그램으로 오늘의 날짜를 제목에 맞게 복사할 수 있다면 큰 수고를 덜 수 있을 것 같다.       이제 확장 프로그램을 제일 빨리 만들어 볼 수 있는 방법을 사용했다.바로 ChatGPT에게 물어보는 것이다.자바스크립트는 데이터가 많아서 그런지 쉽게 대답해준다. manifest.json확장의 메타데이터를 정의하며, 필수적인 파일입니다. 다음과 같은 정보를 포함합니다{ "manifest_version": 3, "name": "My Chro..

공부 2025.01.07

NullReferenceException: Object reference not set to an instance of an object 문제 해결 (URP Missing RendererFeature)

발생한 문제는 아래와 같다. 이것만 봐서는 무엇이 원인인지 잘 모른다.NullReferenceException: Object reference not set to an instance of an objectOVRProjectSetupRenderingTasks+c.b__4_42 (UnityEngine.Rendering.Universal.ScriptableRendererFeature feature) (at Assets/Oculus/VR/Editor/OVRProjectSetup/Tasks/Implementations/OVRProjectSetupRenderingTasks.cs:311)System.Linq.Enumerable.Any[TSource] (System.Collections.Generic.IEnumera..

공부/유니티 2025.01.06

[Devexpress Winform] 스프레드 시트 컨트롤 셀 대상 바꾸기 메세지박스 가로채기

Devexpress 의 SpreadsheetControl에서 셀 영역을 드래그해서 다른 셀에 드롭할 때, 두 영역 모두 값이 있었다면 "Do you want to replace the contents of the destination cells?" 라는 메세지 박스가 나오고 확인을 누르면 셀 대상 바꾸기가 된다. 문제는 이 기능이 Devexpress 라이브러리 내부에서 넣은 기능이라 외부에서 컨트롤할 수 없다.다행히 ReplaceService 함수를 통해 해당 기능을 중간에 가져올 수 있다고 한다.  how to intercept the spreadsheets control "Do you want to replace the contents of the destination cells?" message ?..

공부/Devexpress 2025.01.06

[Devexpress Winform] GridView 에서 ValidatingEditor 이벤트때 변경 전 데이터 가져오기

GridView의 ValidatingEditor 이벤트에 있는 BaseContainerValidateEditorEventArgs에서는  변경된 후의 데이터만 가져올 수 있다. 이럴때는 GridView 인스턴스에서 ActiveEditor의 OldEditValue를 가져온다. 예를 들어, GridView gridView 가 있을 때,ValidatingEditor 이벤트 발생시변한 값이 변경 전 값과 같을 때 다른 작업을 하거나 넘길 수 있다.  gridView.ValidatingEditor += (s, e) => { string name = e.Value as string; if (gridView_Lamp.FocusedColumn.FieldName == "Validate할 column 필드이름..

공부/Devexpress 2025.01.05

유니티 드로우콜(배치) 줄이기 - 그림자 설정

현재 VR 플랫폼으로 게임을 만들어보고 있다.테스트를 돌려보던 중 가끔씩 뚝 끊기거나 버벅이는 현상이 발생했다. 이유는 모르겠지만 드로우콜이 매우 많이 발생하고 있었다.플레이어가 바라보는 방향에 따라 9000개 정도 발생하기도 했다. 같이 작업을 하고 있는 동기가 빛이 비춰질 때 크게 발생하니 그림자가 원인인 것 같다고 했다. 이전에 씬에 새로운 오브젝트들을 배치하고나서 그림자가 많이 생겼으니 가능성이 있었다.     우선 맵에 있는 오브젝트를 모두 Static 을 체크했다.대부분 움직이지 않고 고정해둔 오브젝트이기 때문에 Map 이라는 이름의 빈 오브젝트에 두고 모두 정적 게임 오브젝트로 만들었다. 이러면 Batches를 큰 오브젝트 하나로 만들어 렌더링을 최적화한다는데, 문서만 봐서는 이해가 힘들고 ..

공부/유니티 2025.01.01

2024 Cony 매수 및 배당 회수 일기

올해의 투자 일기를 작성하면서 CONY에 대해 더 적어보려고 한다.원래 이 ETF는 내년 양도세 250만원 공제를 넘어갈 때, 가격이 내려간 만큼 팔아서 손실확정을 내는데 사용하려고 했다.   그러다 요즘 CONY와 같이 높은 배당을 주는 일드맥스 상품을 사는 사람들이 단순히 양도세작 뿐만 아니라 배당을 회수해서 100%의 이득을 얻는 것을 목표로 한다는 것을 알았다.  그래서 나도 한번 해보려고 한다. 혹시 회수에 실패하더라도 적어도 같은 돈을 예금에 넣었을 때보다 크면 이득이기 때문에 할만하다고 생각했다. 사람들마다 배당 회수에 대한 계산 규칙과 방법이 달랐는데, 나는 아래와 같이 정했다.매수 금액과 배당 회수 금액은 모두 달러로 계산한다.배당을 받고 재투자한 경우도 회수한 것으로 계산한다. 단, 매..

반응형