반응형

2024/12 14

세트제는 공정한가?

아버지와 탁구하면서 문득 든 생각이다.세트제는 공정한가?7판4선승제 경기라고 가정하자.A 11 11 11 9 9 9 9B 0 0 0 11 11 11 11위 점수판에서 A는 3판을 이기고 B는 4판을 이겨서 최종적으로 B가 승리하게 된다.근데 점수의 총합을 계산해보면 A는 69번 득점했고 B는 44번 득점했다.뭔가 이상하다. A가 더 탁구를 잘하는데 왜 B가 최종 승리자지?불공정하다는 생각이 들었다.44점 먼저 득점하는 사람이 이기는 단판 승부를 적용하면 깔끔할 텐데,왜 굳이 세트제를 만든걸까?여러가지 이유를 생각해봤다. 1. 휴식 시간이 필요하다.44점을 먼저 내는 사람이 이긴다고 하면 세트 중간에 휴식할만한 시간이 없다.그래서 일부러 세트제로 쉬는 시간을 만든 것이다.아버지랑 탁구할 땐 안 쉬긴 하지만..

잡담, 뻘글 2024.12.27

C#과 Python: yield return과 yield 비교

Python에서 generator는 한 번 쓰고 또 쓰면 아무 값이 나오지 않는다. 반복문을 딱 한 번만 돈다. 일회용이다.>>> def f():... for i in range(10):yield i...>>> a=f()>>> print(*a)0 1 2 3 4 5 6 7 8 9>>> print(*a)>>>   그렇다면 C#에서는 어떨까?using System;using System.Collections.Generic;using System.Collections.Specialized;using System.Linq;using System.Text.RegularExpressions;using System.Threading;namespace ConsoleApp1{ internal class Pro..

C# 2024.12.26

opt10059: 종목별투자자기관별요청 분석

수정주가가 데이터에 반영되는지 안 되는지 궁금해서 분석해봤다.결론부터 말하자면 수정주가는 반영이 안 된다. DH오토웨어(025440)의 2024년 10월 30일 수요일 데이터를 받아와보자.일자: 20241224종목코드: 025440금액수량구분: 2매매구분: 2단위구분: 1 39번째 index(zero-based)에서 일자=20241030을 확인할 수 있는데,현재가=+235...누적거래량=17075788이 나온다. 2024년 12월 24일 화요일 기준으로 영웅문4에서 차트를 확인해보면 수정된 주가는종가 1,142원거래량 3,513,826으로 표시된다.따라서 수정주가가 반영이 안 됨을 알 수 있다. 각 투자자들의 매도량을 모두 더하면 17075788이 나오는 것을 봐서 매수량 매도량에도 수정주가가 반영이 안..

Kiwoom Open API+ 2024.12.24

explicit interface implementation

Array class는 분명 IList 인터페이스를 구현하고 있다. 그런데 왜 .Count 속성을 쓸 수 없는 걸까?explicit interface implementation을 이용해서 그렇다. 이렇게 인터페이스를 구현할 경우, 인터페이스로 타입 캐스팅을 해주지 않으면 메소드를 호출할 수 없다.using System;using System.Collections.Generic;using System.Text.RegularExpressions;using System.Threading;namespace ConsoleApp1{ internal class Program:IDisposable { private static void Main() { new Pr..

C# 2024.12.24

왜 같은 input에 다른 MD5 값이 나올까?

파일을 서버에 업로드하고, 그 파일을 다시 다운로드받는 프로그램을 만드는 중이었다. 서버와 로컬의 파일 MD5 값이 같을 경우 이미 같은 파일을 가지고 있다고 판단하여 다운로드를 스킵하도록 하고 싶다. 근데 어찌된 일인지 똑같은 파일을 업로드하고 다운로드하는데 두 파일의 MD5가 다르게 나온다. 대체 왜 이러는 걸까? 뭐, 사실 당연한 말이지만, 같은 input에 다른 MD5 값이 나올 일은 절대 없다(MD5 알고리듬이 정상이라면). 즉 input이 같아 보이지만 사실은 다르다는 거다.C:\Users\nasoo>certutil -hashfile "C:\ForceMonitor\src\ForceMonitor2\forcemonitor3\bin\Debug\KOSPIDAQ.txt" MD5 MD5의 C:\Force..

암호학 2024.12.22

ubuntu update-ca-certificates

목표fullchain.pem을 갖고 있을 때 curl https 성공하기 환경Ubuntu 20.04.6 LTS 우선 curl https를 해 보면 아래와 같이 출력된다.ubuntu@ubuntu:~$ curl https://api.motrader.co.kr/terms/listcurl: (60) SSL certificate problem: unable to get local issuer certificateMore details here: https://curl.haxx.se/docs/sslcerts.htmlcurl failed to verify the legitimacy of the server and therefore could notestablish a secure connection to it. To..

ubuntu 2024.12.21

public 대신 internal을 사용할 수 있다면 internal을 쓰자.

접근 제한자는 엄격할 수록 프로그래머의 선택지를 줄일 수 있으므로 좋다. 하지만 그럼에도 불구하고 나는 public을 internal 대신 써 왔는데, 그 이유는 단순했다. public은 6글자고 internal은 8글자였기 때문이다. 쓰는데 후자가 33% 더 오래 걸린다. 그런데 오늘 버그를 하나 발견하면서 internal을 써야겠다고 다짐했다. 컴파일러가 보내주는 경고는 디버깅에 도움이 될 수 있는데, internal을 쓰면 절대 초기화되지 않는 변수를 판정할 수 있다. 아래 소스 코드를 컴파일하면using System;namespace ConsoleApp1{ public class Program { internal byte va; static void Main()..

C# 2024.12.21

MVVM(3) Button 하나, TextBox 둘, DataGrid 하나

아래 블로그를 참고하였다.[WPF][MVVM][Study] MVVM 실습 3 - 학생 리스트 만들기 [WPF][MVVM][Study] MVVM 실습 3 - 학생 리스트 만들기MVVM 패턴을 활용해 WPF로 간단한 학생 리스트를 만들어 보았다. 0. 파일 구조 - 파일의 구조는 아래와 같다. 1. View 생성 [xaml] [code-behind] using System.Windows; namespace WPF_MVVM_EX_App { public partial class MainWindosteadycodist.tistory.com   버튼을 누르면 위 텍스트 박스에 입력한 수 X에 1을 더한 수 Y를 아래 텍스트 박스에 출력하고, DataGrid에 (X, Y)가 적혀있는 행을 추가하는 프로그램을 MVVM..

MVVM 2024.12.20
반응형