전체 글66 [Python] 주식 공시정보 알림 디스코드 봇 만들기 [ 목적 ]네이버 증권 공시 정보가 올라오면 디스코드 봇을 통해서 알림을 받아보는 것 [ 방법 ] 네이버 증권 공시 정보를 10초 간격으로 모니터링 함새로운 공시가 올라오면 디스코드 봇이 디스코드 채널에 공시 제목을 보내줌 [ 후기 ]코드를 반복 실행시키려면 노트북을 항상 켜놔야하는 점이 문제클라우드 서비스에 올려서 노트북을 켜놓지 않더라도 동작할 수 있도록 발전시키면 좋을 것 같음하루하루 올라오는 이슈들을 정리해서 확인하는 것이 최종 목적단순 공시 전달이 아닌 여러 이슈 필터링 부분을 보완해볼 생각 import asynciofrom datetime import datetimeimport requestsfrom bs4 import BeautifulSoupimport discordfrom discord... 2024. 4. 10. [C#/WPF] 2차원 배열 INotifyPropertyChanged 미발생 1. double[,] 로 2차원 배열을 만들고 안에 있는 값을 지속적으로 변경하는데도 INotifyPropertyChanged 이벤트가 발생하지 않음 다차원 배열의 경우, 배열 자체가 속성으로 사용될 때 INotifyPropertyChanged 이벤트가 자동으로 발생되지 않는다고 함 왜냐하면, INotifyPropertyChanged 이벤트는 속성(Property) 값이 변경될 때 발생하는 이벤트인데 다차원 배열은 객체가 아닌 값 형태로 취급되기 때문에 배열 자체의 참조는 변하지 않기 때문이라고 함. 2023. 8. 25. 필드 초기화, 생성자 초기화 객체를 생성할때, 필드에서 초기화 하는 것과 생성자 내에서 초기화 하는 두 가지 방법의 차이가 궁금했다. public class MyClass { private int MyData = 1; // 필드 초기화 } public class MyClass { private int MyData; public MyClass(int initialValue) { MyData = initialValue; // 생성자를 통한 초기화 } } 필드 초기화는 클래스 인스턴스를 생성할 때 MyData 객체가 매번 같은 값으로 초기화 되지만, 생성자를 통해서 초기화하면 클래스 인스턴스를 생성 할때 MyData 값을 원하는 값으로 초기화할 수 있다. 2023. 8. 25. [C#/WPF] Border 내부 이미지 CornerRadius 적용 아래 코드와 같이 Border 내부에 이미지를 넣고 CornerRadius를 적용시키면 이미지도 동일하게 적용될 줄 알았으나, Border의 테두리만 둥글게 표시될 뿐 이미지의 테두리는 그대로였다. // 이전코드, Border에만 CornerRadius가 적용되고 Image는 사각형으로 표시됨 Border 내부에 Image를 넣는 방식이 아니라, Border의 Background의 ImageBrush를 사용하여 원하는대로 구현할 수 있었다. // 변경코드, 이미지도 동일하게 테두리가 둥글게 표시됨 2023. 7. 21. [C#] 실수에서 정수형 변환 실수값을 정수값으로 바꾸고 싶을 때 주로 아래와 같이 변환했다. double a = 12.34; int b = Convert.ToInt32(a); 그런데, 이렇게 변환하면 정수 부분만을 가져오는 것이 아니라 값을 반올림해서 처리하는 것 같다. 반올림, 올림, 내림을 하는 방법은 아래와 같다. // 반올림 Math.Round double a = 4.3; int b = Convert.ToInt32(Math.Round(a)); // b = 4; // 올림 Math.Ceiling double a = 4.3; int b = Convert.ToInt32(Math.Ceiling(a)); // b = 5; // 내림 Math.Truncate double a = 4.3; int b = Convert.ToInt32(Mat.. 2023. 7. 14. [C#/WPF] 속성 정의 (get set 접근자) MVVM 패턴을 연습하면서 자주 사용하였는데, 그 의미를 잘 몰랐다. private string _stringValue; public string StringValue; { //get 접근자 : 속성의 값을 반환 (속성을 읽을 때 사용) get { return _stringValue; } //set 접근자 : 속성의 값을 설정 (속성에 값을 할당할 때 사용) set { _stringValue = value; OnPropertyChanged(nameof(StringValue)); } } StringValue의 값을 사용할 때 _stringValue의 값을 반환해서 사용하도록 하고, StringValue의 값을 설정할 때 _stringValue의 값에도 동일하게 설정한 후 Property가 변경되었음을 알린다 2023. 7. 11. 이전 1 2 3 4 ··· 11 다음