c++ 캐릭터 배열을 c# 배열로 마셜링하기

아래 c++ 구조체 안의 캐릭터 배열을 c# 배열로 마셜링하는 데에는 UnmanagedType.ByValArray와 UnmanagedType.ByValTStr을 쓸 수 있다. UnmanagedType.ByValArray ByValArray를 쓰면 똑같이 캐릭터 배열로 바꾼다. c의 캐릭터는 ansi로서 1바이트를 차지하고 c#의 그것은 유니코드이며 크기가 2바이트다. 전자에서 한글을 표기하려면 두 개의 캐릭터들이 필요하다. 위의 c++ 예에서 구조체에는 한글 두 글자들만 들어갈 수 있으며 예를 들면 ‘가나\32(공백)’이다. 이걸 위의 c#…

버핏 지표 검증

2020년 하반기부터 미국 미디어들이 버핏 지표라는 걸 자주 인용하더니 2021년 국제통화기금이 2020년 우리나라 명목 gdp 예상한 값을 발표한 뒤로는 우리 보도 매체들도 기사들을 많이 내고 있다. 주식시장에 공개된 회사들의 시가총액과 gdp의 비율을 관찰하는 거다. 서로 다른 나라의 증시를 비교하는 게 아니라 한 나라 안에서 오실레이팅하는 싸이클을 분석하는 거라서 코스피만으로 할 건지 코스닥도 넣을 건지 명목…

조약과 협약의 체결과 비준

조약과 협약 조약과 협약은 모두 나라들 사이의 약속이다. 각각 treaty와 convention으로 번역한다. 흔히 후자를 전자의 하위 개념으로 보지만 국회가 이들의 체결이나 비준에 동의하면 모두 국내법적 효력을 갖게 된다. [대한민국 헌법 제60조 제1항] 대개 조약은 두 나라들 사이의 약속이라서 결속력이 강하다. 상대가 지키지 않으면 우리도 어기면 되고 그러면 관계는 끝난다. 간단하다. 이와 달리 협약은 대체로 국제기구를…

글로벌 스탠더드에 미치지 못하는 우리 노동 환경

평소 병을 앓고 있지 않던 노동자가 로젠택배 터미널에서 밤새 일을 하다 죽었다. 15분 동안 식사를 하고 일을 시작하자마자 쓰러졌고 그렇게 떠났다고 한다. 이 회사의 노동자들은 길바닥에 앉아서 식사를 한다. 국제노동기구 핵심 협약 국제노동기구international labour organization, ILO라는 게 있다. 국제연합은 그 밑에 여러 기구agency, body들을 두고 있는데 이들 가운데 특히 전문기구spcialized agency라는 이름으로 중요한 역할을 하는…

jtbc의 보도 문제

부족한 전문 지식 2022. 5. 19. jtbc 뉴스룸은 테라에 대해 보도하면서 이들이 마켓 메이킹이라는 코인 시세 조정까지 했다는 취지로 전했다. market making은 시장 조작manipulation이 아닌 시장 참여자의 정당한 거래 행위다. 유동성이 부족하여 공백이 생긴 호가에 주문을 넣어 채우는 일을 마켓 메이킹이라고 한다. 테라 같은 스테이블 코인 즉 peg를 하는 코인의 앨거리듬에 있어서 핵심적인 내용이다. 2020….

영어 관사의 생략은 어려운 문제

I Just Can’t Wait To Be King the lion king에 나오는 노래 제목이다. 이렇게 세계적인 작품에 쓰인 노래가 그것도 가사가 아닌 제목에 틀린 문법의 문장을 썼을 리가 없다. 제목에서는 흔히 넓은 범위의 문법 파괴가 용인되는 거 아니냐고 반문할 수도 있다. 맞다. 그러나 이 경우에는 아니다. 가사에서도 같은 문장이 반복되기 때문이다. 결론부터 말하면 맞는 문법이다. 분명한 지칭 대상의 경우 관사의 생략에 대해 우선 캠브리지 사전의 문법편을 살펴보자. ArticlesIn informal conversation, we can sometimes omit articles (a/an, the) when they are obvious from the context and when we use them at the beginning of a sentence: [The] Dog wants to go out. Can…

한겨레의 보도 문제

외부 필진들의 수준 아래의 사람들은 2023년 1월 20일 자에 실린 칼럼들을 쓴 사람들이며 소개된 그들의 직업이다. 김영준 전 열린책들 편집이사이명석 문화비평가장석준 출판&연구집단 산현재 기획위원이경자 소설가박권일 사회비평가서복경 더가능연구소 대표구인회 서울대학교 교수 칼럼의 수준이 높다면 누가 쓴들 문제될 건 없다. 기자의 강한 주관을 담은 기사 한겨레에는 성한용이라는 선임기자가 있다. 이분이 2021년 6월 27일에 쓴 ‘기사’를 보면 법조인은…

c# 깊은 복사, 얕은 복사, 할당의 차이

객체는 밸류 타입과 레퍼런스 타입으로 나뉜다. 깊은 복사, 얕은 복사, 할당은 레퍼런스 타입에서만 문제되며 특히 얕은 복사와 할당이 문제된다. 깊은 복사 레퍼런스 타입 객체를 deep copy하면 refer하는 객체와 refer된 밸류가 모두 새롭게 만들어진다. 레퍼런스만 복사하는 건 쉽지만 밸류까지 복사하는 건 어렵다. 시리얼라이즈를 한 뒤 디시리얼라이즈를 하던가 iCloneable 인터페이스를 써야 한다. 이런 문제는 주로 클래스를 복사할…

c# DateTime과 TimeSpan으로 날짜와 시간 제어하기

DateTime .네트의 날짜와 시간은 델파이의 그것들에 비하면 좀 특이하다. 델파이의 날짜와 시간은 모두 double인데 .네트의 DataTime은 구조체이며 이거로는 제어를 충분히 할 수 없어서 TimeSpan이라는 구조체도 같이 써야 한다. DateTime은 시점이고 TimeSpan은 길이다. double에 비해 구조체의 용량이 더 크고 작동에도 부하가 크겠지만 그 차이가 얼마나 될지는 모르겠다. .네트의 구조체는 인스턴스가 만들어진 때 그 크기가 특정되지 않으므로…