본문 바로가기

돼지왕 왕돼지 놀이터5827

[책 정리] 6장. 함수형 프로그래밍 - Clean Architecture 정수를 제곱하기 -함수형 언어에서 변수는 변경되지 않는다. 불변성과 아키텍처 -경합 조건(race condition), 교착 상태(dealock) 조건, 동시 업데이트(concurrent update) 문제가 모두 가변 변수로 인해 발생한다.우리가 동시성 앱에서 마주치는 모든 문제, 즉 다수의 스레드와 프로세스를 사용하는 앱에서 마주치는 모든 문제는 가변 변수가 없다면 절대로 생기지 않는다. -아키텍트라면 동시성(concurrency)문제에 지대한 관심을 가져야만 한다.우리는 스레드와 프로세스가 여러 개인 상황에서도 설계한 시스템이 여전히 강건하기를 바란다. 가변성의 분리 -불변성과 관련하여 가장 주요한 타협 중 하나는 앱 또는 앱 내부의 서비스를 가변 컴포넌트와 불변 컴포넌트로 분리하는 일이다.상태 변.. 2020. 4. 10.
마로니에 공원 킥복싱 대회 5월의 늦봄과 9월의 초가을쯤에 마로니에 공원에서는 킥복싱 대회를 여는 것 같다. 이 날 봤던 경기는 9월에 열렸던 종로구청장배 킥복싱 대회. 나는 킥복싱에 대해 무지하기 떄문에,여기서 열리는 경기들은 모두 아마추어 경기라고 생각했는데..촬영한 영상을 올려보니 사람들이 댓글로 프로의 경기라고 알려주었다.아마추어의 경기는 보통 헤드기어도 쓰고 글로브도 더 가벼운 걸 쓰는 모양이다.. 명확히 경기로서의 킥복싱은 아니지만 그래도 개념이 비슷한,UFC 나 영화의 옹박같은 것을 봐서 이 경기들이 아마추어라고 생각했나보다. 여튼 선수들이 경기를 하는 것은 좋은데..심각하게 다치지는 않기를 기원해본다. 이런 여러 행사를 하는 마로니에 공원 산책이 나는 즐겁다.빨리 코로나와 미세먼지가 종식되었으면 좋으련만... 2020. 4. 10.
[책 정리] 5장. 객체 지향 프로그래밍 - Clean Architecture -좋은 아키텍처를 만드는 일은 객체 지향(Object-oriented) 설계 원칙을 이해하고 응용하는 데서 출발한다. 캡슐화? -OO 프로그래밍은 프로그래머가 충분히 올바르게 행동함으로써 캡슐화된 데이터를 우회해서 사용하지 않을 거라는 믿음을 기반으로 한다.OO 를 제공한다고 주장한 언어들이 실제로는 C언어에서 누렸던 완벽한 캡슐화를 약화시켜 온 것은 틀림없다. 상속? -OO 언어가 더 나은 캡슐화를 제공하지는 못했지만, 상속만큼은 OO 언어가 확실히 제공했다.하지만 상속이란 단순히 어떤 변수와 함수를 하나의 유효 범위로 묶어서 재정의하는 일에 불과하다.OO 언어가 완전히 새로운 개념을 만들지는 못했지만, 데이터 구조에 가면을 씌우는 일을 상당히 편리한 방식으로 제공했다고 볼 수는 있다. 다형성? -함수.. 2020. 4. 9.
[거리 공연] 마로니에 공원 서커스 아저씨 마로니에 공원에서는 여러 가지 공연이 열린다.노래를 부르는 버스킹 공연부터, 악기를 연주하는 공연, 마술 공연, 그리고 지금 소개할 서커스 공연까지. 그 중 오늘 소개할 공연은 서커스 공연이다. 바로 이 아저씨인데...주로 늦봄부터 초가을정도까지 활동하시는 듯 하다. 단순히 서커스를 보여주는 것뿐만이 아니라 개그 요소도 넣고,관객을 끌어들여서 함께 하는 공연을 만들어 가신다. 개인적 소망으로는 아저씨의 공연이 인기를 얻어서,이렇게 길거리 공연도 좋지만 무대 공연도 비정기적으로라도 하셨으면 좋겠다. 아저씨가 준비한 공연을 누군가에게 보여주고 싶은데..아저씨의 공연 스케줄을 알지 못하니 운이 좋아 마주칠 떄만 볼 수 있기 때문이다.(이것이 물론 길거리 공연의 묘미이기도 하지만...) 아저씨의 공연 영상은 여.. 2020. 4. 9.
방서영과 함깨한 혜화 산책 및 창신동 매운 족발 작년 여름의 이야기이지만..추억삼아 정리해본다. 방서영이 애를 낳기 전에..그리고 해외로 나가기 전에는..주말이면 함께 맛집을 찾아가곤 했다. 오늘의 맛집 장소는 창신동 매운 족발집.그리고 만남의 장소는 이곳 동대문 성벽의 끝자락인,흥인지문(동대문) 공원. 날씨도 좋고, 녹음도 푸르러 기분 좋아지는 작은 산책로가 있는 공원이다. 만나서 창신동 매운 족발집에 와서..족발을 먹는다. 지금은 애 엄마가 되어 맘대로 외출도 못하는데..가끔 연락을 하면 이 매운 족발이 생각나는데 언제 또 먹으러 가냐고 아쉬워한다. 모유수유 기간에는 매운것을 먹으면 안 된다고 하니..나중에 모유수유 기간이 끝나면..이 녀석 한번 포장해서 놀러가야겠다. 맛있게 식사를 마치고 다시 동대문 공원에 올라온다.정말 이 날의 날씨는 너무 좋.. 2020. 4. 8.
[책 정리] 4장. 구조적 프로그래밍 - Clean Architecture 증명 -goto 문장이 모듈을 더 작은 단위로 재귀적으로 분해하는 과정에 방해가 되는 경우가 있다는 사실을 발견했다.만약 모듈을 분해할 수 없다면, 합리적으로 증명할 때 필수적인 기법인 분할 정복 접근법을 사용할 수 없게 된다. -모든 프로그램을 순차(sequence), 분기(selection), 반복(iteration)이라는 세 가지 구조만으로 표현할 수 있다. 해로운 성명서 기능적 분해 -구조적 프로그래밍을 통해 모듈을 증명 가능한 더 작은 단위로 재귀적으로 분해할 수 있게 되었고, 이는 결국 모듈을 기능적으로 분해할 수 있음을 뜻했다.프로그래머는 대규모 시스템을 모듈과 컴포넌트로 나눌 수 있고, 더 나아가 모듈과 컴포넌트는 입증할 수 있는 아주 작은 기능들로 세분화될 수 있다. 엄밀한 증명은 없었다.. 2020. 4. 8.
[책 정리] 3장. 패러다임 개요 - Clean Architecture 구조적 프로그래밍 -구조적 프로그래밍은 제어흐름의 직접적인 전환에 대해 규칙을 부과한다. 객체 지향 프로그래밍 -객체 지향 프로그래밍은 제어흐름의 간접적인 전환에 대해 규칙을 부과한다. 함수형 프로그래밍 -함수형 프로그래밍은 할당문에 대해 규칙을 부과한다. 생각할 거리 -각 패러다임은 프로그래머에게서 권한을 박탈한다.어느 패러다임도 새로운 권한을 부여하지 않는다.각 패러다임은 부정적인 의도를 가지는 일종의 추가적인 규칙을 부과한다.즉, 패러다임은 무엇을 해야 할지를 말하기보다는 무엇을 해서는 안 되는지를 말해준다. -프로그래밍 패러다임은 앞으로도 딱 세 가지밖에 없을 것이다.최소한 부정적인 의도를 가진 패러다임으로는 이 세 가지가 전부일 것이다. 결론 -세 가지 페러다임과 아키텍처의 세 가지 큰 관심사(.. 2020. 4. 7.
[대학로] 김종욱 찾기 - 뮤지컬? 연극? 대학로에서 본 뮤지컬 연극.'김종욱 찾기'는 아주 오래된 대학로 연극 중 하나로,다른 극장에 비해 조금 더 크고 쾌적한 극장을 가지고 있다. 티켓은 소셜커머스를 이용해서 구매했는데,공연 시작 1시간전 정도에 가면 실물 티켓과 교환해준다.일찍 갈수록 자신이 원하는 좋은 자리를 차지할 수 있다. 우리의 자리는 F열 7번/8번으로 가운데 좋은 자리이다. 공연 장소는 지하.깨끗하게 잘 관리되어 있다. 연극의 무대.약 1시간 30분동안 저 작은 무대에서 연극 공연을 진행하는데,저 작은 무대에서 어떻게 배경을 그렇게 바꿔가며 연기하는지 보는 것도 관람의 포인트 중 하나. 공연 중에는 촬영이 금지되어 있어 이제는 그냥 썰로 이야기를 해야 할 때. "김종욱 찾기" 는 사실 영화를 통해 처음 접했는데, 검색해보니 이 뮤.. 2020. 4. 6.
[책 정리] 2장. 두 가지 가치에 대한 이야기 - Clean Architecture -모든 소프트웨어 시스템은 이해관계자에게 서로 다른 두 가지 가치를 제공한다.행위(behavior)와 구조(structure)가 바로 그것이다.소프트웨어 개발자는 두 가치를 모두 반드시 높게 유지해야 하는 책임을 진다. 행위 아키텍처 -소프트웨어는 '부드러움을 지니도록' 만들어졌다.소프트웨어는 기계의 행위를 쉽게 변경할 수 있어야 한다.만약 기계의 행위를 바꾸는 일을 어렵게 만들고자 했다면, 우리는 소프트웨어가 아니라 하드웨어라 불렀을 것이다. -소프트웨어가 가진 본연의 목적을 추구하려면 소프트웨어는 반드시 '부드러워'야 한다.다시 말해 변경하기 쉬워야 한다.이해관계자가 기능에 대한 생각을 바꾸면, 이러한 변경사항을 간단하고 쉽게 적용할 수 있어야 한다.이러한 변경사항을 적용하는 데 드는 어려움은 변경되.. 2020. 4. 6.