FrontEnd/CodeSpitz 강의 정리19 80 abstract_factory 객체는 역할.메소드는 책임.속성은 권한. Math.sin 은 유틸리티. 함수. 객체지향에서의 책임 : 다른 역할에 대해서 책임을 지는 것.(대상이 없는 경우는 없다) 이 메소드는 누가 쓸 꺼지? 를 먼저 고민해야 함. 객체지향에선 객체끼리 값으로 주고 받지 않는다, 대신 메시지라는 객체를 이용해 통신한다.값의 복사가 아닌 값의 참조를 이용. 적지만 중요한 원칙을 정하면 예외를 즉시 인정할 수 있다. (켄트 백의 말) 원칙은 없을 수록 좋다, 원칙은 모두가 지키고 있을 때 가치가 태어난다. 예외가 비용이라고 생각. 가치 : 어떻게 하면 시간을 덜 들일 수 있는 코드를 짤 수 있는가 1. 길지만 반복해서 빨리 짠 코드2. 내가 짠 코드가 디버깅 시간을 줄이는 코드(유지보수, 디버깅을 줄이는게 중요)3. 패턴.. 2019. 3. 6. Service, Controller 정리 service 는 비즈니스 로직을 수행하는 것,(DB에서 데이터를 가져와 처리)controller는 view의 요청받아서 service가 실행하게끔 하는 것 2019. 3. 5. 80 layering 복습 정리 elementFromPoint : 전역 x, y 좌표에 해당되는 (가장 위에 있는) element를 추출하는 메소드가DOM Level 1 부터 들어있음. (무조건 다 있다, 모든 브라우저에 다 있음) 객체지향을 통해 우리가 한 것 :부분별로 책임/역할 모델을 인식해서 메시지 망을 통해 각자의 책임을 밀어내는 설계를 한 것.각 기 레이어에서 자기가 책임질 것만 이해하고 나머지는 밀어냄. setattribute : 선택한 요소의 속성값을 지정. 문법element.setAttribute( 'attributename', 'attributevalue' ) (id 값이 abc인 요소의 href 속성값을 변경하는 예제) CODING FACTORY (출처: https://www.codingfactory.net/10419) 2019. 3. 3. 80 layering 복습한 것 정리 Set은 Hash 값으로 비교를 함. 객체 같은 경우 hash 값이 따로 없기 때문에 toString 한 값으로 비교를 함.값으로 해석이 됨 (실제론 Set이 메모리의 주소로도 해석해줌, 하지만 안전하게 사용하려면 WeakSet 사용이 나음) WeakSet은 객체의 메모리를 값으로 인정함(키가 되거나 값이 되는 애들이 다 객체여야 함).메모리의 주소로 해석이 됨. WeakSet에는 Object 밖에 못 들어옴. aggregation : 내가 다른 여러 개의 객체를 소유하고 있는 것 네이티브와 인메모리는 구분되고 이 둘 간의 교환은 신속히 이뤄져야 함. 그렇지 않으면 코드 오염이 일어남 WeakMap : view 와 Model 간의 msg 를 주고 받는데msg -> Model 또는 msg -> Model .. 2019. 2. 26. 코드스피츠 80 layering 프로시저와 함수의 차이 프로시저 : 가리키는 데이터가 있다함수 : 인자나 지역변수를 데이터로 사용 프로시저의 단점 : 데이터의 변화와 데이터를 처리하는 함수의 변화가 동시에 이뤄지지 않는다 역할을 분리하는 법 중 가장 중요한 거 : 변화율 프로그램을 짜면서 염두해야 할 것은 - '복잡성을 최소화' 해서 '복잡성 폭발'이 일어나지 않게 하는 것. - '엔트로피 증가'를 줄이는 것. 추상화 하는 방법들 :[카테고라이징(두 개 이상의 카테고리에 소속된 데이터는 카테고리를 정해주는게 어려움), 모델링(기억해야 만 할것은 정리한 것, 유지보수가 힘들고 변화가 자주 일어난다), 그룹핑(그룹 지어주는 것. 클래스의 인스턴스를 만들어 사용하는 것고 그룹화의 일종)] 천재(폰 노이만, 튜링)들은 초기에 프로시저로만 구성.. 2019. 2. 19. 코드스피츠 80 디자인패턴 스터디 - 1 1. 도메인 - 의존성 (관련 있는 것들끼리 구분지을 수 있다! 고로 관리하기 쉬워짐)2. 네이티브영역 - 가변성 (네이티브영역 == (IO 영역) 과 인메모리 영역을 분리하는 것)3. 변화율 - 유지보수 (제일 중요, 각각이 바뀌는 이유에 따라 구분해라) 변화율로 나눌 코드를 파일로 분리했다고 생각파일이 변경되지 않도록 최대한 신경써본다, 만일 변경된다면 변화율에 맞지 않게 코드를 짠 것! 문구를 코드로 5초 안에 짤 수 있도록 훈련해라! getBlock => 네이티브를 인메모리로 바꿔주는 메소드 쉬운거 부터 짜라 이들은 의존성이 적기 때문에 앞뒤 영향이 적어 프로그램을 만들 때 편하다. 2019. 2. 12. 6주차 - MVPuser의 요구를 바로 수용할 수 있는 이점이 있으므로 MVP가 각광받고 있음화면구성을 MVP로 만들면 기민하게 요구에 대응할 수 있음, 굉장히 빠르다는 이점이 있음. MVP의 경우 VOprotocol, Commandprotocol 와 같은 인터페이스를 만들어서 사용 업계에서 Model을 공급하는 것을 Service 라 한다. Model에게 원본 데이터를 채우는 것 : Dispatcher View 노가다가 심해지지만 Presenter에 의존하지 않고 빨리빨리 화면을 그려낼 수 있음View를 VO화 시키는 것을 View가 가지고 있음 - MVVMNative의 내용을 추상화해서 View의 변화를 수신MVVM에선 양방향 바인딩이 일어난다(Angular 등)?의 setter에 반응해서 View의 변화가.. 2018. 12. 12. 4주차 함수는 인자와 리턴 값으로 통신하고 메모리의 컨텍스트를 유지하려면 함수간에 컨텍스트를 리턴으로 받고 인자로 주는 것을 반복해줘야 함. 좋은 개발자가 희귀한 이유는? 미묘함을 자세히 이해하는 사람이 적기 때문. 책임과 역할. 이들은 컨텍스트 변화, 역할의 변화, 책임의 변화가 커도 파악을 해내고 프로그래밍을 한국어처럼 표현할 수 있음. => 나는 그러한가? lexical enviroment : 변수 저장 공간, 어휘 함수 간에 인자를 전달하면서 lexical enviroment 가 생기게 되고 이는 일반 변수들의 lexical env 와 다르다(그 함수들만의 공간임) this를 찍으면 위에서 얘기한 lexical env 의 메모리 공간 데이터를 지정해 사용할 수 있음. 메소드 내에서 지역변수나 인자만 사용.. 2018. 11. 28. 3주차 인자는 적게 쓰는게 좋다 함수형 프로그래밍은 값에 의한 복사(값 컨텍스트라고 함)가 실행이 되는 방식객체지향 프로그래밍은 값에 의한 참조(객체 컨텍스트라고 함)가 실행이 되는 방식 객체지향 프로그래밍은 entry에서만 값에 의한 복사가 허용되야 함. 그 외에는 객체만으로 서로 통신해야 됨. 2018. 11. 21. 이전 1 2 3 다음