[Coursera] Introduction to Data Science in Python 완료

cert

Introduction to Data Science in Python 과정을 완료했다.

저번에 들었던 수업이 너무 별로여서 기대 반, 걱정 반이었지만 생각보다 들을만 했다.

기초 수업이라 그렇게 공부하는데 많은 노력을 들이지는 않았다.

칭찬은 뒤로하고 아쉬운 점을 얘기하면

 

  1. 문제 퀄리티가 별로다.
    위키피디아를 긁어와서 문제를 내는 것 까지는 신선하고 재밌지만, 데이터를 정제 하지 않은 상태로 문제를 내서 한참이나 헤맸다.
  2. 강의자료가 별로 없다.
    설명 슬라이드, python jupyter외에 는 별로 자료가 없다. 그래서 따로 공부하기에 조금 아쉬운 면이 있다.

 

그래도 들을 만 했었고 굉장히 재밌다.

그래서 다음 강의도 들을 예정이다…………….

 

내돈 ㅠㅠ

[Angular2/Typescript] Fragment 받아오기

export class Sample implements OnInit {
  id: Observable<string>;

  constructor(private route: ActivatedRoute) { }

  ngOnInit(): void {
    this.id = this.route.fragment.map(fragment => fragment)
  }

}

ActivatedRoute 값은 async하게 오기 때문에 저렇게 받아줘야 한다

이제 저 값을 toPromise를 써서 받아올 수도 있고

this.id.toPromise().then(value => { // 어쩌고... } )

view에서는 async 파이프로 가져올 수 있다.

{{ id | async }}

activatedroute는 routing에 관한 각종 정보가 있기 때문에 한 번 주의깊게 볼만하다.

[TypeScript] 제네릭

제네릭?

함수의 타이핑과 상관없이 동일한 하나의 함수를 여러 데이터 타입으로 사용할 수 있는 것

 

function test ( arg: number ) : number {
return arg;
}

test(1) // 성공
test("2") // 에러

// 가능하지만 문제가 많다.
// 동적 타입이기 때문에 정적인 타입스크립트를 이용하는 이유가 없음. 
// any는 쓰지 맙시다.
function test ( arg: any ) : any {
return arg;
}

// 그러면 모든 타입을 받을 수 있도록 해야하면 어떡할까?
// test 변수에 T의 타입을 전달하여 t로 arg형을 지정하고 리턴도 t로
// T를 사용할 경우 이 함수를 호출할때 T에 형을 지정할 수 있다.
function test <T> ( arg: T ) : T {
return arg;
}

test(1) // 가능
test("2") // 가능
test(true) // 가능
// 타입을 지정하여 함수에게 어떤 타입의 데이터가 넘겨오는지 속삭여 줄수 있다. 이게베스트!
test <number> (123); 
test <string> ("123");

// 이것이 제네릭이다! 리스트로 이렇게 할 수 있겠지.
function test <T> ( arg: T[] ) : number {
return arg.length;
}

test <string> (["abc", "cde", "Efg"])

 

 

[Ruby] 상수도 변할 수 있습니다.

루비에서 상수 선언은 따로 없다. 그저 앞글자만 대문자로 하면 된다.

(ex: HELLO, HELLO_WORLD, Welcome)

루비에서 당황스러웠던 것 중 하나는, 상수의 값도 변할 수 있다는 사실이다.

상수에 또다시 값을 대입하면 에러가 나는게 아니라 경고메시지만 난다.

그래서 왠지 루비의 상수는 상수라기 보다는 글로벌 변수 느낌이 난다.

상수값을 고정 시키기 위해서는 .freeze  method를 쓰면 된다.

근데 Array의 경우에는 array만 freeze 할 경우 내부변수 값이 변해버릴 수 있다.

그 경우에는 내부의 요소들도 맵으로 순환하면서 freeze 시켜야한다.

NETWORKS = [ "192.168.1" , "192.168.2" ].map!(&:freeze).freeze

 

더 확실한 방법은 모듈/클래스 자체를 프리징 시키는 것이다.

 

 

 

 

[Coursera] Applied Data Science with Python 수강 시작

Python 데이터 사이언스 과목을 Coursera에서 수강하기 시작했습니다.

이직 한 뒤로 계속해서 front-end만 보다보니, front-end를 싫어하는 건 아니지만 조금 현기증이 나려고 합니다 -_-;

원래 취미로 하던 Python 데이터 분석을 조금씩 놓고 있는 것 같아,

감도 잡고 강제로 공부도 할 겸 수강을 시작합니다.

 

전에 안좋은 추억이 있었던 만큼, 이번에는 다 결제하지 않고 하나씩 결제하려고 합니다.

일단 첫인상은 나쁘지 않네용.

 

배운 내용 종종 포스팅하겠습니다.