Search results for '2019/06'

태어날 아기 얼굴 미리보기!?

2019. 6. 23. 15:32

아기가 태어날 때까지 40주~

아기를 품고 있는 부모에게는

그 기간은 꽤나 길고 기다려지는 시간입니다.

 

지난 시간을 돌아보면 많이 자랐구나

싶다가 남은 기간을 보면 꽤 남았구나 싶으니까요.

얼른 태어나서 보고 싶은 마음이 계속 듭니다.

얼마나 예쁠까 궁금하기도 하구요.

 

그런 바람에서인지

부모들은 입체초음파로 아기 얼굴을 확인합니다.

아기 건강을 확인하는 필수 요소가 아니더라두요.

 

그런데 입체 초음파로는 조금 부족합니다.

사람 얼굴처럼 또렷하게 나오지는 않거든요.

 

26주된 쁘띠(아기 태명)의 입체초음파 사진

그런데

입체 초음파 사진을 이용하여

아기 얼굴을 미리 예상해보는 서비스가 있습니다.

 

입체 초음파를 찍는 시기는 25~28주 사이

아기를 만나기 3달 전에 미리 얼굴을 볼 수 있다면?

'베이비 페이스'라는 서비스가 있더군요.

 

babyface.io

 

서비스를 신청하면 아래와 같이 보내줍니다.

 

베이비 페이스 결과 이미지

분홍색 봉투에 담겨 우편함으로 도착합니다.

정성어린 손편지와 함께 여러 장의 사진이 포함.

부모님들과 나눠가질 만큼 충분히 와요.

 

초음파 사진보다 사람같은 아기 얼굴이 나오네요.

상상만 하던 엄마 뱃 속의 아이 모습

사진으로 만나보니 더 사랑스럽게 느껴져요.

책을 읽어주거나 할 때도 더 몰입 되구요.

 

서비스 비용은 3만원 남짓.

싸지는 않지만 엄청 비싸지도 않은 비용입니다.

어디 놀러가서 캐리커쳐하나 그려도 더 비싸죠.

 

얼마나 닮을지는 태어나 봐야 알겠지만...

후기에는 꽤 비슷하다는 이야기가 많네요.

 

아기를 기다리기 궁금하신 부모님들~

주변에 아이를 가진 분께 선물이 필요한 분들~

'베이비 페이스' 서비스는 어떨까요?

 

 

TechTrip 부모교육./아기에 대해 알아가기

앙쥬(Ange) 샘플팩

2019. 6. 1. 16:34

다양한 제품의 샘플이 들어있는 앙쥬 샘플팩 당첨!

(샘플팩 신청 페이지)

 

매월 신규 500명, 기존 200명이나 추첨하는데

당첨되기가 하늘의 별따기라는 소문이 있습니다.

 

그런데!

신규 임신부 회원 500명 추첨에 바로 당첨~

4월 샘플팩을 받았어요. ;)

 

기존 회원추첨은 배송비가 있고, 마일리지도 쓰지만

신규 회원은 무료배송이라는거!!! 핵이득!

 

출산예정일, 임신부 증거자료가 필요하고,

SNS 팔로우를 해야합니다.

 

역시나 저는 아무것도 안하고 와잎께서.. 

이번에도 제가 택배박스를 뜯었습니다.

 

아래와 같이 다양한 샘플들이 들어있어요.

 

앙쥬(ange) 4월 샘플팩

 

샘플목록

기저귀(나비잠,보솜이,수베스,케이맘,GOON)

샤워워시,로션,오일 샘플(리틀마마)

스킨케어(사노산)

크림(궁중비책, 라이크아임파이브)

샴푸(싱크네이처, 자올 닥터스오더)

젖병(스펙트라)

유산균(베베쿡)

지퍼백(지퍼락)

 

아기가 저희에게 찾아온 덕에 많은 선물도 받고

많은 즐거움을 느끼고 있습니다.

아이를 키우는데 이렇게 많은 것이 필요하구나라고 느끼는 좋은 참고 물품이 되기도 하네요.

 

임신의 기쁨과 함께

무료 임신축하선물의 기쁨도 도전해보세요.

TechTrip 부모교육./아기에 대해 알아가기

Angular Test Tips (Mock)

2019. 6. 1. 15:35

한동안 개발 잉여력이 떨어져서 오래 쉬었네요.

회사에서 바쁘면 집에서 개발을 덜하게 됩니다.

개발을 천천히 하니 글 쓸 일을 더욱 없다는게...

 

그렇다해서 지금 바쁘지 않다는건 아니지만.

더 밀리면 안쓰고 넘어갈 것 같아서 기록합니다.

기록하다보면 더 정리되는 기분도 있구요.

 

TDD를 연습하자는 취지로 진행중인데,

소스가 많아질 수록 점점 Test가 어려워집니다.

Angular 또한 예외는 아니구요.

 

그 어려움을 덜어낸 방법 2가지 공유합니다.

 

1. Component Mocking

 

자식(Child) 컴포넌트를 포함하는

부모(Parent) 컴포넌트를 테스트하다보면

점점 테스트 설정이 무거워집니다.

 

부모 컴포넌트의 의존성 뿐 아니라

자식 컴포넌트의 의존성을 모두 주입해야하니까요.

그래서 자식컴포넌트를 Mock으로 주입하고

자식의 의존성은 생략해버리는 것이 유용합니다.

 

제 프로젝트는 아래와 같은 포함관계가 있습니다.

Budget > Calendar > Day Component

Budget 컴포넌트의 테스트가 비대해지는 중이죠.

그래서 Calendar 컴포넌트를 Mock을 했습니다.

의존성도 덜어냈구요.

그 방법은 아래와 같습니다.

 

1) Mock 컴포넌트의 선언

 

테스트(spec.js)에 가짜(Mock) 컴포넌트를 선언합니다. 실제와 동일한 selector를 가지도록 말이지요. Input, Output과 같이 테스트가 필요한 부분은 포함합니다.

...
@Component({
  selector: 'app-calendar',
  template: 'mock calendar'
})
class MockCalendarComponent {
  @Input('date') date: Date;
  @Output('dateChange') dateChange: EventEmitter = new EventEmitter();
}

 

2) Mock 컴포넌트의 사용

 

하위 컴포넌트를 추가해주었던 declarations에 선언해준 Mock 컴포넌트를 넣습니다.

describe('BudgetComponent', () => {
  let component: BudgetComponent;
  let fixture: ComponentFixture;
  let testableDailyExpenseState: Observable;

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [BudgetComponent, MockCalendarComponent],
      imports: [
      ...
      ])]
    }).compileComponents();
  }));
  ...

 

이제 Calendar나 Day 컴포넌트의 의존성은 Budget 컴포넌트의 테스트에 더이상 필요가 없습니다.

자식 컴포넌트를 위한 설정 코드들도 덜어집니다.

 

2. Override Private Property

 

사실 이 방법은 좋은 방법은 아닙니다.

부득이하게 쓸 경우가 있어서 정리해둡니다.

NGXS를 쓰다보니 테스트가 난해하더군요.

Store 값을 변경하기가 까다로워서요. 

 

Selector로 가져오는 값이 private이기 때문.

Javascript의 Object.defineProperty를 이용했습니다. 이미 component에 정의된 속성을 수정하고 테스트용 값을 넣어주는 방식입니다.

beforeEach(() => {
    ...
    Object.defineProperty(component, 'dailyExpense$', { writable: true });
    let dailyExpenseState = {
      //test data
      ...
    }
    testableDailyExpenseState = of(dailyExpenseState)
    component.dailyExpense$ = testableDailyExpenseState;
    ...
  });

위와 같이 component의 private 속성에

원하는 테스트 값을 넣는 것이 가능합니다.

 

위와 같은 방법을 이용하여 Angular의 테스트를 조금 더 수월하게 하였습니다.

 

Angular 테스트 코드가 점점 무거워지고,

수많은 의존성과 설정에 불편하신 분들께

도움이 되었으면 좋겠습니다.

 

전체 소스는 아래 github에서 보실 수 있습니다.

소스주소: https://github.com/jsrho1023/account-book

'IT Tech > Angular' 카테고리의 다른 글

Angular Dialog(Material Design)  (0) 2019.01.01
Angular Component Communication (Output)  (0) 2018.12.16
Angular Component Communication (Input)  (0) 2018.12.02
Angular Test Headless  (0) 2018.11.18
Angular Pipes  (0) 2018.11.12

TechTrip IT Tech/Angular