거짓으로 자기 책임을 피하는 경찰

서현역에서 미친 사람이 칼로 난동을 부린 뒤 블라인드에 어느 경찰관이 글을 올렸다. 저런 사람한테 총을 쏴서 제압을 해도 경찰관은 민사 손해 배상의 책임을 져야 하니 납세자들은 알아서 스스로를 보호하라는 취지의 내용이었다. 거짓말이었다. 위 경찰관이 예로 든 사건에서 손해 배상 책임은 경찰 공무원이 아닌 정부가 부담했다. 문재인이 대통령이었던 때 그와 당시 법무부장관이었던 조국이 난리쳐서 검찰로부터 수사권을…

정당이 아닌 교섭 단체로 구성되는 유럽 의회

유럽 연합에는 유럽 의회가 있다. 유럽 의회는 유럽 연합을 관할하는 법을 만든다. 유럽 의회는 정당이 아니라 교섭 단체로 구성된다. 이를 유럽 의회 교섭 단체Political groups of the European Parliament라 한다. 유럽 의회 차원의 정당도 있다. 이러한 정당을 유럽 정당European political party이라 한다. 여러 유럽 정당들이 교섭 단체를 만들어 유럽 의회에서 정당의 역할을 한다.

내부 고발자 신원을 피고발자에게 알려 주는 영덕군청 공무원들

경상북도 영덕군에 있는 어느 장애인 시설의 직원이 그 시설에 있는 장애인을 때렸다. 이 시설의 다른 직원이 이 사실을 군청에 알렸다. 군청 주민 복지과의 직원 셋은 이 사실을 알린 직원의 신원을 고발된 시설에 알려 줬다. 공익신고자보호법은 공익 신고자의 신원을 알린 경우 5년 이하의 징역이나 5천만 원 이하의 벌금에 처하도록 정하고 있지만 대구지방검찰청 영덕지청은 위 공무원들에게 벌금…

영어 chef의 뜻 – 요리사?

chef는 영어의 입장에서 보면 프랑스에서 온 외래어다. 영어의 chief와 같은 말인데 현재 영어에서도 그냥 chef라고 쓰인다. 이들 모두 라틴어로 우두머리라는 뜻의 단어 caput에서 유래한다. 어원상 요리와는 관계 없다. 어원을 따지고 들면 주방장에 대해서만 셰프라 하는 게 맞고 셰프가 있으려면 여러 명이 일하는 규모의 주방이 전제되어야 한다. 하나의 주방에 여러 셰프들이 있다고 하는 거나 조그만 주방에서…

[c#] 폼이 종료되었는지 확인하는 방법

폼이 종료되었는지 확인해야 할 때가 있다. 예를 들어 설정 창을 새로운 폼으로 만든 때 이 창은 하나만 떠야 한다. 설정 창을 두 개 이상 동시에 열리지 않게 하려면 이 창이 열려 있지 않을 때에만 창이 만들어지게 하면 된다. 근데 이게 약간 복잡하다. 아래와 같이 form이 visible한지 확인하려고 하면 오류로 멈춘다. 폼을 선언만 하고 인스턴스를 만들지는…

[c#] 크로스-스레드인데 예외로 처리되지 않는 경우

예전에는 멀티스레드를 구현할 할 때 Thread나 ThreadPool을 이용했지만 요샌 Task를 주로 쓴다. 이건 ThreadPool을 기본으로 하여 기능들이 추가된 거다. 마이크로소프트는 비동기 작업을 할 때 Task 이용을 권장하지만 이게 좋기만 한 거는 아니다. ThreadPool을 이용하면 예외로 처리되는데 Task로 하면 예외로 처리되지 않는 경우들이 있다. 이러면 크로스-스레드로 인해 엉뚱하게 작동을 해도 프로그래머는 모를 수 있다. 오류error와 예외exception는 프로그래밍을…

위대한 개츠비 오역 – sticky hair

The sister, Catherine, was a slender, worldly girl of about thirty, with a solid, sticky bob of red hair, and a complexion powdered milky white.머틀의 동생 캐서린은 가냘프고 고생을 많이 한 것 같아 보이는 30세 가량의 여자로 붉은색 단발머리에 …– 유혜경 번역 sticky를 번역하지 않았다. sticky가 머리카락을 수식할 땐 떡지거나 기름지거나, 찰랑거리지 않고 젤 등으로…

[c#] 크로스-스레드 예외 해결하기

lock 제일 간단한 방법이다. 그러나 디버그 빌드로 실행하면 오류로 처리되고 릴리스 빌드를 한 때에만 제대로 작동한다. 이는 Control.CheckForIllegalCrossThreadCalls 프라퍼티 때문인데 이게 디버그 빌드를 할 때에는 true가 기본 값이고 릴리스 빌드를 할 때에는 false가 기본 값이다. 실행이 되는지 여부가 중요한 게 아니라 제대로 된 결과가 나오느냐 하는 게 문제다. 비록 아래 예제는 간단하여 의도한 대로 실행이 되지만 lock을…