• 앵무새 죽이기 박경민 김욱동 오역

    원서와 도서관에서 박경민 님이 번역한 걸 같이 읽다가 오역이 너무 심하여 김욱동 님의 꺼로 바꿔서 빌려다 읽었다. 너무 재미 없고 지루해서 번역된 책은 사지 않았고 읽다가 말았다. 아래 오역들은 오래 전에 정리해 둔 건데 지금은 책들이 없어서 누구의 번역이었는지 확인하지 못한 문장들도 있다. Atticus had urged them to accept the state’s generosity in allowing them…

  • 더 블라인드 싸이드와 앵무새 죽이기

    샌드러 블록이 주연한 영화 the blind side의 배경은 미국의 미시시피이고 하퍼 리의 소설 ‘앵무새 죽이기’는 앨러배머에서 일어난 일을 그리고 있다. 이들은 미국에 남부에 있는 인접한 주州들이다. 이 지역의 사람들은 사람을 노예로 삼지 못하게 하겠다는 북부 사람들에 맞서 전쟁을 한 사람들이다. 그리고 이 지역은 공화당의 강세 지역이다. 인종 차별이 심할 거라고 예상할 수 있다. 위의 영화나…

  • 고통을 있는 그대로 보며 죽기

    고통도 공포도 등을 돌리면 괴물처럼 커진다. 고통도 공포도 직시하면 사그러든다. 고통과 공포를 있는 그대로 보는 건 수행의 전부다. 소설 앵무새 죽이기에는 듀보스라는 괴팍한 할망구의 죽음이 그려진다. 주인공 가족의 이웃인데 변호사인 주인공의 아버지가 흑인을 변호한다는 이유로 아버지는 물론 초딩 애들 둘한테도 온갖 저주를 퍼붓는다. 그런 그녀의 죽음이 임박한 것을 안 아버지무척 선한 사람이다는 아들로 하여금 그…

  • c# DataGridView 잔기술들 4

    행 삭제 이벤트의 버그 RowsRemoved는 행을 없애지 않고 DataTable을 연결만 해도 작동한다. 행을 지운 때에만 이벤트가 실행되게 하려면 UserDeletedRow를 써야 한다. RowTemplate.Height 설정 버그 비주얼 스투디오 17.4.2에서 디자이너로 DataGridView.RowTemplate.Height를 22로 설정하면 기본 값인 33이 계속 유지된다. 22로 설정하려면 코드로 작성해야 한다. Dictionary를 바인드하기 DataGridView에 바인드할 수 있는 것들은 리스트 형태의 객체들로 제한되어 있지만 Dictionary는 리스트…

  • c# DataGridView 잔기술들 3

    행 옮기기 행을 옮길 때 DataGridViewRowCollection.InsertCopy를 쓰면 새 행이 만들어져 들어간다. 아래와 같이 인스턴스를 복사한 뒤 현재의 것을 없애야 한다. 데이터 소스 바인드하지 않고 이용하기 간단한 테이블을 만들 때에는 굳이 데이터 소스를 만들어서 연결할 필요가 없다. 칼럼 iterate하기 DataColumn을 쓰지 않고 DataGridViewColumn을 쓰는 것에 유의한다. DataColumn은 DataTable의 칼럼이다. 디자이너 오류 디자이너로 칼럼을 만들 수 있지만…

  • c# DataGridView 잔기술들 2

    행과 열 고정/해제하기 여러 행/열들의 하나를 고정하면 그 위/왼쪽의 것들까지 고정된다. 고정된 여러 행/열들 가운데 하나를 해제하면 그 아래/오른쪽의 것들까지 해제된다. 칼럼 헤더를 여러 줄로 출력하기 DataGridView.ColumnHeadersDefaultCellSytle.Layout.WrapMode는 작동하지 않는다. 버그 같다. ColumnHeader.Text가 길어서 Column.Width를 벗어나도 그냥 잘린다. ColumnHeader.Text 사이에 줄 바꿈 문자 ‘\n’을 넣으면 여러 줄로 출력된다. 마지막 행으로 스크롤하기 행이 추가되면 그 내용을 보기…

  • c# DataGridView 잔기술들 1

    멀티뜨레드로 셀 값 쓰기 메인 뜨레드에서 DataGridView를 만들고 메인 뜨레드 아닌 뜨레드들에서 DataGridView의 셀 값을 쓸 때에는 델리게이트를 이용하지 않아도 된다. 행을 추가할 때에는 델리게이트를 써야 한다. 아래의 코드는 실행되지 않는다.

  • c# 메떠드 아규먼트로 밸류/레퍼런스 타입을 쓸 때의 차이

    세 경우로 나눌 수 있다. 먼저 용어들을 정리한다. 호출을 하는 것은 caller이고 호출되는 것은 callee이다. 들어가는 값은 argument이고 인자라고도 한다. 받는 값은 parameter이고 매개변수라고도 한다. 한자어가 더 어렵게 느껴져서 그냥 영어를 쓴다. 패러미터를 수정해도 아규먼트가 변경되지 않는 경우 밸류 타입 아규먼트를 그냥 넘긴 경우다. 메떠드가 호출되면 아규먼트를 패러미터로 복사하여 이들 둘은 서로 다른 게 된다….

  • c# WndProc으로 윈도우즈 메시지 제어하기

    WndProc 메소드 WNDPROC은 win32 api에 들어 있는 콜백 함수이며 .네트의 Control.WndProc 메써드로 wrap되어 있다. 다른 환경에서 이용되는 메써드 등을 자신의 환경에서 이용할 수 있게 가공하는 걸 wrap한다고 한다. ‘포장한다’는 뜻이다. 콜백 함수란 이벤트 실행 함수를 말한다. callback은 ‘답신’을 뜻한다. 내가 아무개에게 전화를 했는데 그가 받으면 용건을 말하고 끊으면 된다. 그러나 전화를 했는데 그가 없고 다른…