반응형

안녕하세요. 에르의 생각발전소입니다 :)

이번 시간에 다뤄볼 주제는 " 도둑 뇌사 사건 " 입니다.

다들 기억하시나요?










2년전 3 8 새벽 3시쯤,

당시 19살이던

자신의 집에서 물건을 뒤지던

50 도둑과 마주쳤습니다.


 생명의 위협을 느껴 도둑의 얼굴과 머리를

발과 주먹으로 수차례 때리고,

빨래 건조대로도 내리쳤습니다.


평소 기증이 있던 도둑은 

뇌사 상태에 빠졌고, 결국 10개월 만에

숨졌습니다.


"정당방위냐" "아니냐" 논란이 일었던

사건에 대해 항소심 재판부는

집주인 씨의 유죄를 선고했습니다.


재판부는 선고에 앞서 이례적으로

미국과 독일 등의 판례를 예로 ,


//최 최초 폭행 이후에도

피를 흘리며 기어가던 도둑을

폭행한 점으로 방어 목적을 넘어

상대방을 공격할 의사가

상당했다고 판단했습니다.


, 여러 정황상 도둑이

도망가려고 했던 점이 인정된다며

과잉방위였다는 변호인의 주장도

받아들이지 않았습니다.//


라고 대법원에서 말했는데요.. 이게 말이됩니까?

무슨 이런 법이 다있어요?

만약 피해자가 최초 폭행 후 도둑이 도망갔거나 보복을 했다면?

그럼 피해자는 어떻게 되는건가요?

그리고 도둑이 앞으로 계속 활동하며

이로인해 피해를 입을 다른 시민들은요?

정말 이해가 안갑니다.

어떻게 이따구로 판결을 낼 수 있는지 참, 의문이에요.

오히려 집주인이 도둑을 잡았는데 반성하고

도둑 가족들한테 500만원도 줬어요.



이번 판결은 방어의 한도를 현저히 벗어난 공격행위는 정당방위의 범위를 벗어난 것으로 정당방위의 요건과 범위를 명확히 판결입니다."


"항소심 재판부는

피고인의 항소 이유를 전혀 받아들이지 않고

징역 1 6개월을 선고했습니다."


다만 피해자가 원인을 제공한 등을

고려해 형의 집행을 3 동안

유예한다고 밝혔습니다.


변호사 : " 정도가 과잉방위에 해당된다고 하면 충분히 무죄 또는 감경 처분을 받을 있을 것으로 보이는데 부분이 인정되지 않아서 추후 대법원에 상고할 예정입니다."


선고 직후 법정은 나선 씨는

돌아가신 피해자에게 죄송하다는

말씀을 드리고 싶다며 고개를 숙였습니다.


이게 정녕 말이됩니까?

그럼 도둑이 들었을 때 공격의사가 없고 도망가고자 한다면, 

앞으로 보내줘야겠네요?

또 다른 기사입니다.

자신의 집에 침입한 도둑을 때려 뇌사 상태 끝에 숨지게 만든 집주인에게 상해치사 혐의로 유죄가 확정됐다. 집주인은 정당방위라고 다퉜지만 받아들여지지 않았다. 


대법원 2부는 이른바 '원주 도둑 뇌사 사건'으로 기소된 최모(22)씨의 상고를 기각해 징역 1 6개월에 집행유예 3년을 선고한 원심을 확정했다. 씨는 지난 2014 3 새벽에 귀가했다가 빈집 서랍장을 뒤지던 김모(55)씨를 발견해 얼굴에 여러 차례 주먹을 휘둘렀다. 씨는 경찰에 신고하려다가 쓰러진 씨가 몸을 일으켜 도망가려는 모습을 보고 다시 폭력을 휘둘렀다. 씨는 자신의 발과 빨래 건조대, 허리띠 등으로 씨의 머리를 집중적으로 공격했고 씨는 병원으로 옮겨졌지만 뇌사 상태에 빠졌다. 


상해치사 혐의로 기소된 집주인 씨에 대해 1,2심은 모두 유죄를 인정했다. 씨는 절도범을 제압하기 위한 정당 방위거나 과잉 방위라고 주장했지만 받아들이지 않았다. 1심은 아무런 저항없이 도망만 가려고 했던 피해자의 머리를 장시간 심하게 때린 것은 방위로서 한도를 넘은 행위라고 판단했다. 이후 항소심 과정에 피해자 씨가 결국 숨졌고 항소심에서도 역시 유죄가 인정됐다. 항소심 재판부는 신체를 결박하는 다른 수단을 강구할 있었는데도 의식을 잃을 때까지 때린 것은 정당 방위로 없다고 밝혔다. 법원은 다만 씨가 씨의 집에 침입해서 사건 발단을 제공한 점을 감안해 집행유예를 선고했다.

1심에서 아무런 저항 없이 도망만 가려고 했던 피해자의 머리를 장시간 심하게 때린?

장난치나, 아무런 저항없이 도망가고자하면 예~ 들어가세요~ 해야되는거에요?

그럼 신체결박하는데 도둑이 내 잘 묶어주세요.

이러겠어요?

무슨 개똥같은 논리가 있어요?

대한민국 법은 국민을 위한 법아닌가?


이미 도둑은 50대에 기왕증까지 있는 상태인데,

굳이 피해자의 행동이 도둑의 사망을 야기했다고 볼 수 있는가?

역시 이맛에 헬조선합니다.

국가에 충성을 할 봉사를 할 이유가 없어요.

집에 침입한 도둑을 폭행해 뇌사상태에 빠뜨려 사망하게 사건의 피고인인 집주인에게 대법원이 정당방위를 인정하지 않고 유죄를 확정했다.


대법원 2(주심 김창석 대법관) 12 상해치사 혐의로 기소된 최모(22)씨에 대한 항소심에서 징역 1 6월에 집행유예 3, 240시간의 사회봉사도 명령한 원심을 확정했다. 


2014 3 8 강원도 원주시의 주택가에서 당시 입대를 앞둔 최씨는 친구들과 술을 마신 오전 315분쯤 귀가했고 거실에서 서랍장을 뒤지는 A(당시 55) 발견했다. 최씨는 곧바로 그에게 달려들어 얼굴 등을 수차례 폭행한 A씨가 넘어진 상태에서도 도망가려고 하자 빨래 건조대 등으로 내리치는 A씨를 추가적으로 폭행했다. 폭행당한 A씨가 의식불명상태에 빠지자 최씨는 반대로 가해자가 됐다. 


최씨는 도둑을 제압하는 과정에서 발생한 정당방위 또는 과잉방위에 해당한다며 선처를 호소했다. 하지만 폭력행위 처벌에 관한 법률위반으로 기소된 최씨는 1심에서 징역 1 6월을 선고받았다.


때문에 사건은 정당방위 논란을 가져왔다. 치료를 받던 A씨가 사건 발생 10개월여 만에 폐렴으로 숨지자 검찰은 최씨의 죄를 상해치사로 바꿨다. 


2 재판부는 "피고인은 머리 등을 필요 이상으로 과도하게 구타했다" "물건을 훔치려고 사정을 감안하더라도 저항 없이 도망가려던 피해자를 심하게 때려 사망에 이르게 행동은 경미하지 않다" 판시했다. 이어 "피고인의 행위는 공격의사가 압도적이었을 뿐만 아니라 정당방위가 성립하지 않는다" 덧붙였다. 또한 "일반적인 방위의 한도를 현저히 넘어선 것으로 사회통념상 방위행위라기보다는 적극적 공격행위로 보아야 한다" 과잉방위도 성립하지 않는다고 판단했다. 재판부는 이어 "다만 피해자가 집에 무단 침입해 절도를 하려던 것이 최초의 원인이 됐고, 피고인이 유족을 위해 500만원을 공탁한 등을 고려, 집행유예를 선고한다" 덧붙였다.


또다른 기사 발췌입니다.

완전 부실수사, 부실판결의 표본입니다.

이 케이스는 판례로 길이길이 남아 대한민국법이 얼마나 개똥철학인지 널리널리 퍼져야되요.

앞으로  징역살이할까봐 무서워서 도둑한테 네~ 맘편히 가져가세요!

이레야겠네요?

개콘이나 방송에서 따끔하게 꼬집어줬으면 좋겠고

개인적으로 무죄를 받았으면 좋겠네요. 

정말


반응형
by 발전소장 에르 :) 2016. 5. 14. 11:09
반응형

안녕하세요~ 에르의 생각발전소입니다 :)

이번 시간에 다뤄볼 주제는 while구문입니다 :)

저번 시간에는 for 구문을 다뤄봤었죠?

어떤가요?  부족한 점이 있으면 피드백 기다리겠습니다 :D







// for구문과 while구문의 차이점은 or구문은 미리 정해진 실행 횟수만큼 실행되지만,

// while구문은 루프 상수나, 카운터 변수가 없고, 그냥 조건식이 false 때까지 실행됩니다.

// for구문은 횟수가 중요하며, while구문은 결과값의 true / false 여부가 중요하겠지요?

// while구문의 사용 예는 주로 1)실행 횟수를 기반으로 없는 조건 

// 2) 실행전까지는 실행횟수를 없을 3) 실행횟수가 명확치않을때


// while 조건식 {                  조건식은 반드시~ true / false 값을 반환해야합니다.

// 실행구문 

// } 


// 위와같은 타입을 가집니다 :)


var n = 2

// 변수 n 2라는 정수타입의 값을 가진다.

while n < 2000 {

    // n 2000보다 작을 때까지

    n = n*2

    // n 2 곱한다!

}

// 결과입니다 :)

// while구문은 변수가 상수를 위에 먼저 선언하시고 나서~ 


// 구문에 넣으셔야 실행이 가능합니다.


// 소소한 팁이되겠네요.

// repeat while구문


var i = 1994

repeat {

    i =  i * 2

}


while i < 1994


// repeat while구문은 조건이 무조건 false임에도 불가하고한번은 ! 무조건 한번은자동으로 실행이 됩니다.

// 고로결과값이 3988 되는거죠. while구문에 적용해보도록 하겠습니다.

var i2 = 1995

while i2 < 1994 {

    i2 = i2 * 2

}

print(i2)


// 보시면 i2 값이 그래도 1995인것을 확인하실 있습니다.

// 왜냐하면? 조건식이 false이니 한번도 실행되지않은채 남겨지는거죠.


// 감사합니다 :)


2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편

2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서

2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스

2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)

2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift Collection: Dictionary 와 Set

2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift 구문편! if, for, switch 까지!

2016/05/06 - [프로그래밍발전소 ♫] - 160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자!

2016/05/07 - [프로그래밍발전소 ♫] - 160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편!

2016/05/07 - [프로그래밍발전소 ♫] - 160507 Swift Function 이번엔 프로그래밍의 꽃! 함수편!

2016/05/12 - [프로그래밍발전소 ♫] - 160512 Swift Function 스위프트 함수편!

2016/05/12 - [프로그래밍발전소 ♫] - 160512 Swift 단순 구문 , 흐름 제어 구문 for , for ~ in구문 :)



반응형
by 발전소장 에르 :) 2016. 5. 14. 05:18
반응형

안녕하세요~ 에르의 생각발전소입니다 :)

이번 시간에 다뤄 볼 주제는 단순 구문과 흐름 제어 구문 입니다 :)

프로그램을 만들 때 더 잘 작동할 수 있도록

일종의 윤활유라고 할 수 있겠지요?

뭐 뭐든 안중요한게 있겠습니까?

다 모든 프로그래밍 지식들이 소중하지요.

어찌됬든, 시작해보겠습니다 :0






/* 프로그래밍 과정 작성하게되는 코드를 구문이라고 하며,

 

 앱하나를 개발하기위해서 수십줄부터~ 수만줄의 코드가 필요하며, 이와 더불어 디자인 음향 네트워크 등등 따지면, 많은 노력과 시간이 필요합니다.

 

 구문의 종류는 단순 구문과 흐름 제어 구문으로 나뉘는데,


 단순 구문은 말그대로 객체의 선언 정의 일반 구문인 반면


 흐름 제어 구문은 조건문이라고 있겠지요 :)

 

 대게 흐름 제어 구문은 종류로 나눌 있는데


 -반복문, 조건문, 제어 전달문으로 나눌 있습니다.

반복문은 For구문과 While구문으로 나눌 있습니다.

 

 for 반복문은 주어진 구문을 정해진 횟수만큼 실행하며,

 

 for~in구문과 for구문으로 나눌 있습니다.

 

 for 구문은 반복할 때마다 카운터를 증가시키며 조건이 충족될 때까지 반복실행하며

 for in 구문은 순서에 따른 각각의 아이템에 대하여, 반복한다는 차이점이 있습니다.

 

        for (초기값; 비교 조건; 증가값){

        

            반복 실핼 구문

        }

 

 위와같이 이루어져있습니다.

 

 

 */


//  노란색 세모는 에러가 아닙니다.


//  뭐 일종의 스위프트 언어 자체에서 제공하는 권유? 랄까요?


// 저 노란색 세모를 누르시면~

//  ++ is deprecated: it will be removed in swift 3 

//  Fix - it Replace "++" with " += 1"


//  ++는 반대되었습니다. 스위프트3에서는 제거될 문법입니다!


// ++ 대신에 += 1 을 사용하여, 대체하세요 :)


// 라고 ~ 친~절히 알려주네요 :)

// 


for ex in 0 ..< 11 {

    print("\(ex)번째 구독입니다.")

}


// 스위프트가 시키는대로 대체한 모습입니다. 

// 근데 += 1 이 아니라 아예 다른 코드가 되버렸네요?

for ex in 0 ..< 11  여기에서 0..<11 는 0부터 10까지라는 뜻이됩니다.

//  결국은 0...10 과 똑같은 뜻이지요 :)

// for 구문이 for in 구문으로 변경되었고 스위프트에 최적화된 코드로 대체되었습니다 :)

// 증가도 가능하며, 반대로 차감도 가능합니다!

 

// for 구문을 실행하여, i라는 변수를 제공하여, 2016 값을 주고 i 는 1994보다 작고 1씩 감소한다.


// 이번에는 스위프트에서 추천하는 연산자인 -=1 연산자를 사용하였습니다. :)


// for in 구문은 배열, 딕셔너리, 범위 데이터의 개별 점수 , 문자열 순번으로 관리되는 데이터 타입을 효과적으로 순회할 있는 구문입니다.


// for 루프 상수 in 순회 대상 {

//        실핼구문

// }


for loopNumber in 1...5 {

    print("2 X \(loopNumber) = \(loopNumber*2)")

}


// for in 구문을 사용하여, loopNumber라는 루프 상수를 선언하고 순회대상으로는  1...5를 지정했습니다. 1..<6도 가능하겠지요?


// 그리고 print 문법을 사용하여 실행하였습니다.


// 나이 계산이 가능하네요 :)



// 문자열 기억하시나요?

// 문자열과 문자의 차이도 기억나시는 분들은 이해가 쉬울겁니다 

//  


var lang = "swift"

for char in lang.characters {

    print("개별 문자는 \(char) 입니다.")

}


//  for char in lang.characters 에서 character는  


//  문자열을 문자로 순회 구간을 지정한다는 얘기입니다.

//  고로 swift는 5자이니 5회 순환하겠지요?

// var characters : String.CharacterView {get}

// A collection of Characters representing the String's extended grapheme clusters.

// 문자들의 콜렉션으로 문자열의 확장된 서기소의 다발을 일컫는다 라고 얘기해주네요.


var lang = "swift"

for char in lang.characters {

    print("개별 문자는 \(char) 입니다.")

}



// 고로, 위와같은 결과값을 얻으실 수 있습니다 :))))


//  또한 루프상수는 생략할 수 있습니다 :) _ 언더바를 대신 집어너어서 가능하지요


let size = 5

let padchar = "0"

var keyword = "3"


for _ in 1...size {

    keyword = padchar + keyword

    

}

print("\(keyword)")

// size = 5 ; patcher = "0" ; var keyword = "3"

//  for _ in 1...size 는 1...5까지의 의미가 됩니다.

// keyword = patcher + keyword 이면,

// padchar의 0가 다섯번 삽입된 후 3이 붙는단 얘기입니다.

//  고로, 값은 000003 이지요 :)


2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편

2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서

2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스

2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)

2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift Collection: Dictionary 와 Set

2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift 구문편! if, for, switch 까지!

2016/05/06 - [프로그래밍발전소 ♫] - 160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자!

2016/05/07 - [프로그래밍발전소 ♫] - 160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편!

2016/05/07 - [프로그래밍발전소 ♫] - 160507 Swift Function 이번엔 프로그래밍의 꽃! 함수편!

2016/05/12 - [프로그래밍발전소 ♫] - 160512 Swift Function 스위프트 함수편!

2016/05/12 - [프로그래밍발전소 ♫] - 160512 Swift 단순 구문 , 흐름 제어 구문 for , for ~ in구문 :)

2016/05/13 - [프로그래밍발전소 ♫] - 160513 Swift While 구문편 :)


반응형
by 발전소장 에르 :) 2016. 5. 13. 02:22
반응형

안녕하세요~ 에르의 생각발전소입니다 :)

이번 시간에는 스위프트와 같은 프로그래밍 언어의 꽃!

함수에 대해서 다뤄보도록하겠습니다!

함수는 일종의 연장(도구)입니다.

못질을 하기위해서는 망치가 필요하겠지요?

그럼 그 망치를 만들어야하는데, 

여기서 망치가 함수가 되는겁니다!

그러므로, 꼭 알아야겠죠?






OPTIONAL 편에서 사용했던 예제를 가져왔습니다 :)

import UIKit


let movie = "Death Note"


// moive라는 상수를 선언하고 값은 "Death Note"를 가집니다.


var ratings:[Double]? = nil


// 처음에는 값이 없고 나중에 추가될 것이기 떄문에. 옵셔널로 지정해줍니다.


let url :String = "www.DeathNote.com"


// 주소는 당연히 있어야겠지요?


// 그리고 타입을 선언해줬습니다! 


ratings = [1.5, 2.5, 3.0 ,5.0, 4.5, 1.0, 3.5, 2.0]


// ratings 8개의 더블값들들을 주었습니다!


var info:String = "\(movie)"


var info:String = movie


// 둘 중 어느 타입으로 주든 상관없습니다 :)

// print 역할을 맡게될 info 변수입니다!


// 이제 함수를 만들어봅시다!


//    func <#name#>(<#parameters#>) -> <#return type#> {

//         <#function body#>

//     }


// 스위프트에서의 함수 틀입니다. parameters에는 매개변수가 들어가고 


// return type에는 함수에 돌려지고 결과값을 표출할 때의 


// 값을 지정해주셔야합니다.


// function body 함수의 내용입니다.


func funcRatings(paraRatings:[Double]) -> (average:Double, min:Double, max:Double){


    //  paraRatings:[Double]이라고 선언했는데, 왜냐하면 ratings


    //  더블값이기 때문입니다. 게다가 어레이상태이죠.


    //  리턴타입은 튜플이며 평균과 최소, 최대값을 구할 것이며, 타입은 더블입니다.

    

    // 왜냐하면 ratings 값들이 더블값이기 때문이지요!


    var sum = 0.0, min = paraRatings[0], max = paraRatings[0]

    

    // sum 0.0 값을 가지며, min,max paraRatings에서의 첫번째값을 가진다. 라고 변수를 생성해주세요.


 

    for value in paraRatings {

        

        // for~in구문을 활용해봅시다!

        

        if min > value {min = value}

        

        // 만약 min 값보다 크다면  value 최소값입니다.

        

        if max < value {max = value}

        

        // 만약 max 값보다 작다면  value 최대값입니다.

        

        sum += value

        

        // sum에는 값들을 차곡차곡더합니다. 총합이니까요!

 

}


 

let average = sum/Double(paraRatings.count)

    

    // 평균값은 총합에서 paraRatings 갯수만큼 나눈 값입니다!

    

    // 여기서 paraRatings.count Double타입이 지정된 이유는?

    

    // 그렇죠, 값들이 더블값이고 따로명시해주지않으면 

    

    // 스위프트 정수로 인지하니 타입을 정확힌 지정해야하는거죠

    

    // 스위프트는 타입과 대소문자에 까칠합니다!

    

    return(average,min,max)

    

    // 반환으로는 average, min, max 반환한다.

    

}

언렙하지않으면 스위프트가 유혹을 합니다.

너 이값이 언렙되지않았는데, ! 나 ? 써서 언렙할레?

그게 더 깔끔할 것 같은데?

ㅋㅋㅋ그래서 !를 붙힘니다!

 

info += " has \(ratings!.count) ratings.\r\n average is \(record.average) from \(record.min) to \(record.max),  \r\n Also our offical website is here \(url) "



print(info)


// 이렇게 갑이 또아앟! 뜹니다 :)

// 그럼 끝이에요.

// 함수를 이용해서 연산을 했고 그 값을 활용해서 위와같은 결론을 얻었습니다 :))))


// 조만간 함수와 옵셔녈 컬렉션들에 대해서 심화편을 업로드하도록 하겠습니다 :)


반응형
by 발전소장 에르 :) 2016. 5. 12. 08:01
| 1 |