일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리액트
- ELECTRON
- React
- VUE
- Node.js
- ECMAScript6
- 코딩
- 개발
- react.js
- goorm.io
- JavaScript
- Front-End
- VanillaJS
- code-first
- Design Pattern
- vue.js
- 프론트엔드
- Programming
- It
- 프로그래밍
- Ramda.js
- context api
- schema-first
- 함수형
- angular
- 디자인패턴
- Funtional programming
- apollo client
- 자바스크립트
- graphql
목록2019/03 (8)
공부하는 블로그
#7 - 분석: 내가 만든 소프트웨어를 실제 세상으로(2) 본 블로깅은 Head first OOAD: 세상을 설계하는 객체지향 방법론 (한빛미디어) 책을 Typescript 문법으로 전환하며 공부하는 글입니다. 글을 읽기 전에, 광고 배너 한번씩만 클릭 부탁드립니다. 블로그 운영에 큰 보탬이 됩니다 :) 코드와 메소드 분석 주 경로 주인 강아지가 밖에 나가려고 짖는다. 강아지 소리 인식기가 강아지 소리를 "듣는다" - BarkRecognizer.recognize, Bark 주인 강아지가 짖으면 강아지 소리 인식기가 여는 요청을 강아지 문에 보낸다. - BarkRecognizer.recognize, open(), allowedBarks 강아지 문이 열린다. - DogDoor, open() 주인 강아지가 밖..
#7 - 분석: 내가 만든 소프트웨어를 실제 세상으로 본 블로깅은 Head first OOAD: 세상을 설계하는 객체지향 방법론 (한빛미디어) 책을 Typescript 문법으로 전환하며 공부하는 글입니다. 글을 읽기 전에, 광고 배너 한번씩만 클릭 부탁드립니다. 블로그 운영에 큰 보탬이 됩니다 :) 소프트웨어가 출시되고 사용자들이 사용하기 시작하면 많은 불만이 나오기 시작한다. 지난 시간 개발한 강아지 음성 인식 기능에 대한 컴플레인으로 "옆집 개가 짖어도 문이 열린다" 라는 피드백이 들어올 수 있다. 여기서 현실 세계와 프로그래머가 꿈꾸는 완벽한 세계 사이의 간극이 벌어진다. 가령 내가 개발한 프로그램의 경우에도 알림톡 기능과 사용자용 예약 앱을 만들면서 "알림톡 하단 버튼에 예약 상세정보 페이지 링크..
Head first OOAD를 타입스크립트로 읽기 #6 - 요구사항 변경본 블로깅은 Head first OOAD: 세상을 설계하는 객체지향 방법론 (한빛미디어) 책을 Typescript 문법으로 전환하며 공부하는 글입니다.글을 읽기 전에, 광고 배너 한번씩만 클릭 부탁드립니다. 블로그 운영에 큰 보탬이 됩니다 :)만든 프로그램이 잘 동작하지만, 고갱님들은 잘 동작하는 것에만 만족하지는 않는다. 기능을 만들어주면 추가적으로 더 원하는 것이 생긴다.개발자들이 고갱님의 전화를 받으면 보통은 '문 닫히는 속도가 느린가?', '리모콘 버튼이 이상한가?' 등의 걱정을 먼저 하지만, 그런 것이 아니다. 고객들은 우리가 상상하는 것 이상으로 게으르다. 고객은 개가 나가고 싶다고 짖는 소리에 신경써야 하는 것도 귀찮아하..
Head first OOAD를 타입스크립트로 읽기 #5 - 요구사항 분석본 블로깅은 Head first OOAD: 세상을 설계하는 객체지향 방법론 (한빛미디어) 책을 Typescript 문법으로 전환하며 공부하는 글입니다.글을 읽기 전에, 광고 배너 한번씩만 클릭 부탁드립니다. 블로그 운영에 큰 보탬이 됩니다 :)새로운 프로그램을 만든다고갱님: 강아지가 밖에 나가고 싶을때마다 밤낮으로 우리를 귀찮게 한다. 그래서 강아지가 드나들 수 있는 문을 버튼 하나로 동작할 수 있게 하고 싶다.기본 코드 작성// DogDoor.ts class DogDoor { private _open: boolean; public DogDoor() { this._open = false; } public open(): void..
Head first OOAD를 타입스크립트로 읽기 #4본 블로깅은 Head first OOAD: 세상을 설계하는 객체지향 방법론 (한빛미디어) 책을 Typescript 문법으로 전환하며 공부하는 글입니다.글을 읽기 전에, 광고 배너 한번씩만 클릭 부탁드립니다. 블로그 운영에 큰 보탬이 됩니다 :)유지보수와 재사용이 쉬운 디자인을 위해 노력하라진짜, 잘 설계 되었나?search() 메소드를 다시 한번 살펴보자. 정말 이대로 괜찮은가? 만일 고객이 저는 12줄 기타를 찾는데요! 라고 하면 어떻게 할까? GuitarSpec에 속성을 추가하지만, Inventory 클래스도 함께 수정을 해야 할 것이다. Guitar와 Inventory 클래스는 수정할 필요가 없도록 만드는 것이 좋은 방법이다.코드 수정// Gui..
Head first OOAD를 타입스크립트로 읽기 #3본 블로깅은 Head first OOAD: 세상을 설계하는 객체지향 방법론 (한빛미디어) 책을 Typescript 문법으로 전환하며 공부하는 글입니다.글을 읽기 전에, 광고 배너 한번씩만 클릭 부탁드립니다. 블로그 운영에 큰 보탬이 됩니다 :)객체지향의 기본 원리를 이용해서 소프트웨어를 유연하게 하라문제점Inventory 클래스의 search 메소드를 살펴보자. 일단 고객은 기타의 일반 정보에 대해 제공한다. 고객은 가격, 일련번호는 입력하지 않는다.search 메소드 분석고객이 원하는 기타 사양을 전달재고 목록 검색고객이 원하는 사양과 비교목록 표시우리가 만들고자 하는 프로그램의 설계가 기능과 잘 어울리는지 확인하려면 해결하고자 하는 문제를 서술해본..
고객이 원하는 기능을 하게 하라본 블로깅은 Head first OOAD: 세상을 설계하는 객체지향 방법론 (한빛미디어) 책을 Typescript 문법으로 전환하며 공부하는 글입니다.글을 읽기 전에, 광고 배너 한번씩만 클릭 부탁드립니다. 블로그 운영에 큰 보탬이 됩니다 :)책에서 말하는 바는 우선 '돌아가게끔 만들라'는 것이다. 앞서 보았지만 찾는 기타가 있음에도 불구하고, 프로그램은 기타를 찾아주지 못하고 있다.또한 fender로 검색하면 Fender로 등록된 것들은 찾아주지를 못한다. 여러가지 생각을 해 볼수 있을 것 같다. toLowerCase() 를 호출해서 해결하는 방법, enum 타입을 사용하는 방법 등...그러나 하나 유의할 점은, 미리 앞서서 고민할 필요는 없다는 것이다. 고객님들은 언제든..
본 블로깅은 Head first OOAD: 세상을 설계하는 객체지향 방법론 (한빛미디어) 책을 Typescript 문법으로 전환하며 공부하는 글입니다.글을 읽기 전에, 광고 배너 한번씩만 클릭 부탁드립니다. 블로그 운영에 큰 보탬이 됩니다 :)왜 Head first OOAD를 택했나?코드스피츠 맹대표님의 첫강을 들으면서 정말 망치로 얻어맞은 듯 한 충격과 공포를 받게 되었다. 내가 그동안 정말 객체지향은 1도 모르고 짜왔구나 하는 생각이 들게끔 적나라하게 객체 지향과 값 지향 프로그래밍에 대해 강의해주셨다. (참고: https://www.youtube.com/watch?v=_JGchAMbPGI)그러던 와중에 책 몇권을 추천을 받았는데, Head first OOAD와 다른 책 하나를 추천 받았다. (하나는..