믿지 못할 미국

사정 변경의 원칙 약속이란 당사자들이 합의를 한 때의 상황이 심하게 달라지면 그 의미를 잃는다. 현대법의 일치된 입장도 현저한 상황의 변경으로 인한 법률 효과의 변경을 인정하며 우리 법도 마찬가지다. 제218조 (수도 등 시설권) ① 토지소유자는 타인의 토지를 통과하지 아니하면 필요한 수도, 소수관, 까스관, 전선 등을 시설할 수 없거나 과다한 비용을 요하는 경우에는 타인의 토지를 통과하여 이를…

자기부죄거부권과 진술거부권의 관계

진술거부권은 많이들 알겠지만 자기부죄거부권自己負罪拒否權이란 말은 낯설 거다. 표준국어대사전에는 없는 말로서 강학상으로도 그렇게 많이 거론되지는 않는다. 죄가 없다는 不罪가 아니라 죄를 지었다는 의미의 負罪이다. 負는 ‘짊어진다’는 뜻이다. 자기부죄거부특권이라고도 한다. 그러나 이러한 권리가 원칙적으로 부정되어야 하는 건 아니므로 이걸 특권이라고 할 순 없다. 우리 법원도 그냥 자기부죄거부의 권리 또는 자기부죄거절의 권리라고 한다. 진술거부권은 자기부죄거부권에 속하는 권리다. 학교에서나 실무에서나 자기부죄거부권보다 널리…

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

원서와 도서관에서 박경민 님이 번역한 걸 같이 읽다가 오역이 너무 심하여 김욱동 님의 꺼로 바꿔서 빌려다 읽었다. 너무 재미 없고 지루해서 번역된 책은 사지 않았고 읽다가 말았다. 아래 오역들은 오래 전에 정리해 둔 건데 지금은 책들이 없어서 누구의 번역이었는지 확인하지 못한 문장들도 있다. 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의 셀 값을 쓸 때에는 델리게이트를 이용하지 않아도 된다. 행을 추가할 때에는 델리게이트를 써야 한다. 아래의 코드는 실행되지 않는다.