본문 바로가기
반응형

프로그래밍304

퍼사드 패턴(Facade Pattern) 어쩌다 보니 내 수준보다 더 높고 높은 책을 읽고 있다. '클린 아키텍처' 라는 책인데 매번 '아키텍처'라는 단어는 사용하면서도 정작 제대로 알고 사용은 하는건지 의문이 들 때가 있다. 따라서 이번에는 확실히 개념을 잡고 넘어가리라는 마음을 먹고 읽지만 이내 졸립고 따분하고 어렵고 그렇다. 3부 설계 원칙의 '단일 책임 원칙' 부분을 읽으면서 제시된 해결책으로 '퍼사드 패턴'을 이해하고 넘어가자는 의도에서 책과 구글링을 통해 개념을 익혀보기로 했다. 실제 업무중에 적용한 사례가 있나 곰곰히 떠올려보지만 기억이 잘 나지 않는다. 또 어디에 어떻게 이 패턴을 적용해볼까도 고민했지만 막연하기만한데... 퍼사드 패턴은 다음과 같이 정의된다. /* * 퍼사드(Facade)란 프랑스어 Facade에서 유래된 단어로.. 2020. 11. 3.
iOS14, UIPageControl의 변화 그리고 삽질. 지난 7월쯤 UIPageControl을 상속 받는 CustomPageControl이라는 클래스를 만들어 커스터마이징 하는 포스팅을 올린 적이 있다. 그 당시 포스팅을 보면 잘못된 점들이 있긴한데, 어찌되었던 결국 @available(iOS14, *)를 체크해서 사용해야하는 상황이 발생되었고 내가 원하는 UI는 도저히 만들수가 없어서 iOS14이전의 UIPageControl과 흡사(?)하게 만들게 되었다. iOS14에서 UIPageControl의 경우, Custom Indicator Image를 설정할 수 있으며, 특정 페이지에는 특정 이미지를 넣을 수 도 있다. background sytyle도 지정가능하고 다양한 프로퍼티와 메서드가 추가되었다. 자세한 내용은 SDK를 참고. 별다른 기능이 있는 것이 아.. 2020. 10. 20.
프로그래밍을 학습하는 방법 프로그래머가 자신이 경험한 것을 배움으로 발전시키려면, 학습하는 방법을 배워야 한다. 뭔가를 학습하는 방법을 배우는 첫 단계는 자신이 무엇을 알고 있고 무엇을 모르는지를 배우는 것이다. ("너 자신을 알라."). 독학하는 사람이 수업을 듣는 학생보다 유리한 점은 학습 내용을 자신의 필요에 꽃 맞도록 조절할 수 있다는 것이다. 앞 절에서 예로 든 수업에서 학생들이 배움에 실패한 이유는 두 가지다. 사실 이 두 가지 이유는 서로 보완적이다. 그 강사가 한 쪽을 돕기 위해 수업의 수준을 좀 더 높였다면, 안 그래도 어려워하는 다른 한 쪽은 완전히 이탈했을 것이다. 어느 한 방향으로 치우쳐도 문제가 생기는 형국이라, 그 강사는 진퇴양난에 빠져 있었던 셈이다. 이런 역설적인 상황을 해결할 방법은 학생 개개인의 상.. 2020. 10. 16.
주석문 코드에 주석을 다는 목적은 읽는 이가 코드를 직접 보기 전에 적당한 마음의 준비를 하게 만들려는 것이다. 그 코드가 정확히 구현되어 있다면, 주석문은 확실히 효과가 있다. 그러나 코드가 부정확하다면, 읽는 사람의 심리적 자세가 주석문의 지배를 당하기 때문에 오류를 찾아내는 데 오히려 방해가 된다. - 프로그래밍 심리학 , 9장 니능 또는 문제해결력 중에서- 2020. 10. 14.
duplicate symbols for architecture arm64 다양한 오류 오늘 오전에 앱 심사를 위해 스토어 등록을 준비하던 중 운영 파트에서 통계 로그 관련 추가 요청 건이 있어 작업을 하다 만나게 된 오류. 검색 해보니 다양한 형태로 나오는 오류이다. 오랜만에 만나는 오류라 처음에는 살짝 당황했으니.... 어쩔~ 그리하여 문제 해결을 하던 중 검색 결과의 한 페이지에서 다음과 같은 명령을을 만났다. $ rm -rf Podfile.lock $ pod deintegrate $ pod install 똑같이 따라 쳐서 실행을 하고 재빌드를 해도 똑 같은 오류가 나왔다. 여튼 뭐가 중복된다는 오류다. 당황하지 말고 천천히 읽어보고 확인을 해보니 에러 로그 메시지에 답이 있었다. Lib폴더에 이미 똑같은 파일들이 있다는 메시지가 있음에도 불구하고 구글링 먼저 하는 습관이 들어버린것같.. 2020. 10. 8.
스프링 웹 플로의 데이터 범위의 유형 흐름을 따라 이동하는 데이터는 변수의 범위(scope)에 따라 다양한 수명과 가시성을 갖는다. *가시성이란? 눈에 띄는 정도를 말하며, 관련된 부분을 눈에 보이게 하고 비가시적인 것을 가시적으로 만들어 의도된 행위와 실제의 조작이 대응하도록 한다. 2020. 9. 24.
반응형