좋은 부분이 너무 많아서 책을 많이 옮겨왔는데 혹시 문제가 된다면 말씀해주세요-! 제가 조금 재구성한 부분이 있기때문에 꼭 책을 읽어보시는 것을 추천드립니다. [1] 캡슐화 [ 캡슐화에 대한 오해 ] 많은 사람들이 객체의 캡슐화에 관한 이야기를 들으면 데이터 은닉(data hiding)을 떠올린다. 데이터 은닉이란 클래스의 모든 인스턴스 변수는 private으로 선언해야하고 오직 해당 클래스의 메서드 만이 인스턴스 변수에 접근 할 수있어야하다는 것이다. 그러나 캡슐화는 데이터 은닉 이상이다. 캡슐화란 단순히 데이터를 감추는 것이 아니다. 소프트웨어에서 변할 수 있는 모든 개념을 감추는 것이다. 코드 수정으로 인한 파급효과를 제어할 수 있는 모든 기법이 캡슐화의 일종이다. [ 캡슐화의 여러 종류 ] - 데..
좋은 부분이 너무 많아서 책을 많이 옮겨왔는데 혹시 문제가 된다면 말씀해주세요-! 제가 조금 재구성한 부분이 있기때문에 꼭 책을 읽어보시는 것을 추천드립니다. [1] 클래스의 응집도를 판단하는 세가지 방법 1. 변경의 이유 서로 연관성이 없는 기능이나 데이터가 하나의 클래스안에 뭉쳐 있으면 응집도가 낮은 것이다. 클래스가 하나 이상의 이유로 변경돼야한다면 응집도가 낮은 것이다. 변경의 이유에 따라 클래스를 분리하라 2. 인스턴스 변수가 초기화되는 시점 클래스의 속성이 서로 다른 시점에 초기화되거나 일부만 초기화된다는 것은 응집도가 낮다는 증거다. 응집도가 높은 클래스는 인스턴스를 생성할 때 모든 속성을 함께 초기화한다. 반면 응집도가 낮은 클래스는 객체의 속성 중 일부만 초기화되고 일부는 초기화되지 않은..
정말 정말 정말 좋은 책이다,, 좋은 예제와 쉽고 재밌는 글로 객체지향을 제대로 이해시켜주신다. (🥺💜) 저의 개발도서 TOP1 🏆🏅입니다. 기억하고 싶은 것을 기록합니다 ✏️ 좋은 부분이 너무 많아서 책을 많이 옮겨왔는데 혹시 문제가 된다면 말씀해주세요-! (예제도 함께 있는 책을 꼭 읽어보시는 것을 추천드립니다!) [1] 좋은 설계란? 좋은 설계란 오늘의 기능을 수행하면서 내일의 변경을 수용할 수 있는 설계다. 좋은 설계란 오늘 요구하는 기능을 온전히 수행하면서 내일의 변경을 매끄럽게 수용할 수 있는 설계다. [2] 좋은 객체지향 설계란? 좋은 객체지향 설계는 협력하는 객체들 사이의 의존성을 적절하게 조절함으로써 변경에 용이한 설계를 만드는 것이다. 구체적으로 말하면.. 객체지향의 본질은 협력하는 객..
Understanding Xcode Build System 이라는 포스팅을 읽었는데 대학생때 배웠던 Compile Process (전처리기 -> 컴파일러 -> 어셈블러 -> 링커) 에 여기저기서 주워들은(?) llbuild, SIL, clang 등 Xcode Build 관련 용어들이 단계별로 들어가있었습니다. 신기해서 기록합니다 ✏️ 저의 번역말고 원글을 읽어보시는 것을 추천드립니다. 이렇게 다섯단계인데 한 단계씩 살펴보겠습니다. [1] 전처리기 Preprocessor 전처리 단계의 목적은 컴파일러에 제공할 수 있는 방식으로 프로그램을 변환하는 것입니다. 매크로(macro)를 정의로 대체하고 dependencies를 발견하며 전처리기 지시문(preprocessor directives)를 해결합니다. Sw..
[ 문제 ] 유니티에서는 게임 실행 중일 때 값을 변경하면서 실시간으로 동작을 확인 할 수 있습니다. 하지만!! 게임 실행 중 바꾼 값은 저장되지 않습니다. 게임 실행을 끝내면 실행 전으로 되돌아갑니다. 근데 게임을 실행 -> 종료할때 모두 플레이버튼을 눌러야하고 토글 상태에 따라 플레이 버튼의 UI나 아이콘이 변하지 않습니다. 그래서 게임 실행 -> 플레이 버튼 안눌렀으면서 "플레이 버튼을 눌러서 게임을 종료시켰구나~" 라고 착각하고 위치 등 값을 바꿈 -> 헉,,, 게임실행 중 바꿔버린 값이여서 소용없음 -> 게임종료하고 다시 처음부터 바꿔줌,, 이런 일이 많았습니다,, 하지만 초보자를 위한 유니티 입문 책을 읽다가 '게임 실행 중에 실수로 값을 변경하지 않기 위한 팁' 을 알게 되었어요 (감동,, ..
- Total
- Today
- Yesterday
- flutter dynamic link
- Django Firebase Cloud Messaging
- flutter deep link
- drf custom error
- 플러터 싱글톤
- Django FCM
- Flutter Clipboard
- 구글 Geocoding API
- DRF APIException
- Watch App for iOS App vs Watch App
- SerializerMethodField
- Flutter 로딩
- PencilKit
- METAL
- Dart Factory
- flutter build mode
- Flutter Spacer
- Flutter Text Gradient
- ipad multitasking
- 장고 Custom Management Command
- 플러터 얼럿
- Python Type Hint
- cocoapod
- Django Heroku Scheduler
- Sketch 누끼
- flutter 앱 출시
- 장고 URL querystring
- Flutter getter setter
- github actions
- ribs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |