[드라마] 사조영웅전 2017

Entertainment 2018.01.07 20:18

중드는 거의 본적이 없는데... (영화는 좀 봐도...)

사조영웅전은 소설을 워낙 좋아해서 단편 단편으로 보기도 했던 것 같다.

사조영웅전 83도 봤던거 같고...(워낙 어렸을때긴 하나...) 94도 보고....

물론, 둘다 처음부터 끝까지 쭉~~~ 봤던건 아니고.. 중간 중간 몇몇 편만...

다만, 사조영웅전 94는... 다른 분들도 마찬가지겠지만... 주인 이 워낙 인상깊어서 지금까지도 기억에 남아 있다...

그리고... 이번에 평이 좋다고 해서 2017을 봤는데....


*** 좋았던 점.

- 일반적인 평과 마찬가지로... 어설프게 CG를 남용하지 않았다.

- 배우들의 외모/연기가 전반적으로 훌륭했다.(특히 구양극의 악역이... 그리고 남제는 인상에서 부터 스님의 향기가...)

- 뛰어난 영상미~~

도화도는... 정말 아름답더라는...

몽고 초원도 잘 표현했고...

- '악녀'의 이미지를 포기(?)한 황용은 너무 매력적이었다는... 덕분이 이일동(李一桐 - Li Yitong)씨 팬이 되어 버렸다는...ㅜ.ㅜ 장나라씨 느낌이 있는데... 그리고 나이도 제법 있던데.. (90년생) 너무 귀엽고 이쁘게 나왔다는...ㅜ.ㅜ


*** 불편했던 점.

- 소설이 너무 방대하다보니, 내용을 요약할 수 밖에 없고, 그러다보니, 아무래도 곳곳에 개연성이 떨어지는 부분들이 보인다.

- 배우들이 극 중 나이에 비해서 너무 젊어 보인다. 어떻게 홍칠공 이 얼굴에 주름이 거의 없다냐...

- 캐릭터들 간 무공의 차이가 잘 느껴지지 않는다.

약한 캐릭터의 무술연기나, 강한 캐릭터의 무술연기나 그닥 차이가...

강남칠괴의 무술연기나... 홍칠공의 무술연기나... 항룡18장 빼면.. 그게 그거인듯...

- 원작의 캐릭터 개성이 많이 약화된 곳들이 종종 보인다는... 멋있기만 한 황양사... 별로 악독해 보이지 않고... 부성애 넘치는 구양봉... 진중한 맛이 좀 떨어지는 홍칠공...



*** 호/불호 양면이 모두 존재했던 점.

- 사조영웅전의 기본 내용에 더해, 곽정/황용 의 로맨스를 많이 살린듯...

- 귀여운 악녀! 라는 황용 의 이미지 보다는 사랑스러운 황용 에 초점을 맞춘듯.

- 너무 잘생긴 중신통, 동사,



전체적으로... 상당히 괜찮게 느꼈다. 중국의 엔터테인먼트 산업의 발전속도가 어마어마 한듯... 돈이 몰리니... 질이 올라가는 이치는.. 어찌보면.. 당연하다고 할 수도...


그리고, 좋은 - 사심 가득히 담은 - 여배우 (이일동) 한명을 알게 된 것도 좋고....

이제부터 관련 image들 들어갑니다.


(하기 이미지 관련해서 저작권이나, 기타 문제가 될 소지가 있다면, 알려 주시면 즉시 조치하도록 하겠습니다.)



<포스터?>





<정말... 짧은 단시간 출현인데... 신 스틸하시는 중신통...>





< 너무 아름다운 매초풍... 그래서.. 귀신... 같지 않다는... 구음백골조를 익혔는데도....ㅋㅋ>




<동사... 신조 83에서 양과 역을 했다고 하던데...>




<역시나 짦은 컷이였지만... 정말로, 인자한 스님같은 느낌을 잘 연기했던, 남제 >



그리고... 주인공 커플... 2018. 01월 현재... 실제로 사귀고 있다는 소문도... 양욱문(곽정) 보다 이일동(황용)의 나이가 4살 더 많은 걸로 알고 있는데...






<촬영장 컷 같은데...>










그리고.... 팬심(?)에 이일동 씨 image 무차별로 올립니다....ㅋㅋ






'Entertainment' 카테고리의 다른 글

[드라마] 사조영웅전 2017  (0) 2018.01.07
Trackback 0 : Comment 0

[Essay] 조직 논리, 그리고 코드 fork(중복)

Essay/Software 2017.12.28 20:49


기본 기능은 거의 같으나, 일부 customization이 필요한 module이 있을 경우를 가정하자.
이 경우, 소프트웨어 공학적으로 보면, 기존 module에 melt-in해서 넣는게 좋다.(코드 중복은 가능하면 피해야 한다.)
하지만, 대부분의 일반적인 회사에서, 많은 경우, code를 fork하거나, 비슷한 다른 모듈을 만들게 된다.
왜 그럴까? 내 생각에는 조직논리가 가장 큰 이유로 보인다.

SW 코드에는 여러가지 철학적인 가치판단이 반영되기 마련이다.(변수 명, 함수 명, 코드 설계 방식 등.)
그런데, 하나의 코드를 여러 조직이 관리하게 될 경우, 의사결정시 조율해야 하는 것들이 많아진다.
하나의 조직 혹은 극단적으로 한명이 코드를 관리하면 이런 문제가 없거나, 있더라도, 조직의 leader에 의해 쉽게 조율된다.
그러나, 여러 조직이 엮이는 경우, 의사결정을 위한 협의 과정을 거쳐야 하는데, 이건 거의 모든 개발자들이 피하고 싶어한다.
그러니, 이리저리 논란에 엮이는 것 보다는 코드를 fork하고, 자체 관리를 하는 방향을 택하게 되는 것이다.

즉, 코드 유지보수 비용 vs. 조직간 communication / 조율 비용. 에서 내가 경험한 대부분의 회사에는 개발자들이 후자를 택하게 된다.

그런데, 향후, fork된 코드간 Gap이 커지고, 다양한 fork가 추가적으로 계속해서 이루어지는 과정이 진행되게 마련이다.
그리고 어느 순간, 각 개발자들 입장에서는 여전히 위의 선택(code fork)이 유효하겠지만, 조직(회사) 전체로 놓고 보면 코드 유지 보수 비용이 조직간 조율을 위한 비용을 현저하게 넘어서게 된다.
이때가 되면, 문제를 인지하고, 코드를 정리하는 과정을 거치게 되는데, 이미 refactoring debt 로 인해 상당한 비용을 지불해야할 상황이 된다.

위와 같이, 별도의 조치가 없다면, 결국 조직 혹은 협업의 문제로 인해, 코드 중복은 자연스럽게 발생하게 된다.
그리고, 대부분의 경우, 뒤늦은 refactoring으로 인해 많은 비용을 지불하게 된다.(refactoring debt)

이 문제를 해결하기 위해서는, 결국 중앙 집중적인 의사결정 기구 및 monitoring 기구가 필요하게 되는데, 이 역시 쉽지 않다.
신속하고, 때로는 강력하게 의사결정을 해 나가더라도, 다른 개발자들이 이를 존중해 줄 수 있어야 하는데... 이게 쉬울 리 없다...ㅜ.ㅜ

이상이, 내 개인적인 "문제에 대한 진단" 이다.
해결책은... 각 회사/조직/집단 의 상황에 맞게 알아서 잘~~~



Trackback 0 : Comment 0

[NodeJS] Kill child process executed via 'exec' and 'spawn'

Language/Typescript 2017.12.28 20:48


Node 8.9.0 기준

ChildProcess.exec는 shell을 통해서 command를 수행한다.
https://nodejs.org/api/child_process.html 의 아래 설명 참조.


child_process.exec(command[, options][, callback])
    ...
    shell <string> Shell to execute the command with. Default: '/bin/sh' on UNIX, process.env.ComSpec on Windows. See Shell Requirements and Default Windows Shell.
    ...


그래서 주어진 command는 실제로는 "shell => command"로 수행이 되며, exec(...)에 의해서 return되는 process는 shell process이다.
(주의: user command에 의해 수행되는 process가 아니다!)
따라서, return된 process를 kill 해도 실제 user command의 process가 kill되지는 않는다.

이 문제는, exec대신 'execFile' 혹은 'spawn'을 통해서 해결 가능하다.
아래는 spawn관련 document이다.


child_process.spawn(command[, args][, options])#
    ...
    shell <boolean> | <string> If true, runs command inside of a shell. Uses '/bin/sh' on UNIX, and process.env.ComSpec on Windows. A different shell can be specified as a string. See Shell Requirements and Default Windows Shell. Default: false (no shell).
    ...

즉 spawn은 'shell'을 통하지 않고 바로 수행가능하다.
따라서,

let child = spwn(command[, args], {shell: false})
child.kill()

와 같은 방식은 정상적으로 동작한다.

혹은 execFile 은 기본적으로 shell을 통하지 않으므로, child.kill()이 정상 수행된다.




Trackback 0 : Comment 0