[TIL-React] #1

component props 가져오기 var GreeterWord = React.createClass({ render: function () { var name = this.props.name; return ( <div> <h1> Hello React From GreeterWord {name} </h1> <p> this is form a component </p> </div> ); } }); ReactDOM.render( <GreeterWord name="yongu"/>, document.getElementById('app') ); this.props.name으로 name에 접근해서 {name} 으로 사용 Default Value var GreeterWord = React.createClass({ getDefaultProps: function () { return { name: 'React', }; }, render: function () { Default 값을 설정할 때는 getDefaultPros를 설정

코루틴 공부 #1

스스로 공부한 코루틴에 대한 내용 정리. 1. 특징 1. 비동기 프로그래밍을 쉽게 할 수 있도록 도와줌 아래 코드처럼 쉽게 비동기 수행을 작성할 수 있음. lauch { } async { } withContext { } 2. 쓰레드를 사용하는 것보다 가벼움 쓰레드, 코루틴을 1대1로 비교한다면 코루틴은 새로운 쓰레드를 생성하지 않기 때문에 쓰레드를 사용하는 것보단 비교적 가볍다. 3. 일반적인 형태의 소스코도와 동일한 방식으로 코드 작성이 가능함 아래와 같이 일반적인 형태의 코드로 작성이 가능함.

Hugo에서 새로운 post를 작성하는 방법

blog 폴더에서 아래 명령어를 실행하면 contents/post 아래에 입력한 파일 이름의 파일이 생성됨. hugo new post/how_to_new_post_using_hugo.md 새로 생성된 파일에서 글 작성. local server에서 확인. // 내용이 변경되면 local 에서 바로 변경내용을 확인 할 수 있음. hugo server -D github blog respository에 push 추가된 post를 gitub blog repository에 적용. hugo -d path github blog respository push

[Ubuntu] tilix

Unbuntu Software #1 - Tilix 기존에 mac을 사용하다가 새로 컴퓨터를 장만하게 되었는데, 다음 두 가지 이유로 mac 을 포기하게 되었다. 가격 터치바 처음 mac을 살 떄도 리퍼비쉬로 200만원 정도의 가격에 구입했었던 거 같다. 다시 mac을 구입하려고 보니 mac의 가격은 200만원으로는 살 수 없었다. 그래서 대안을 찾던 중 Dell의 xps를 알게 되었고, 관심이 갔지만 xps 역시 비싼 가격에 포기하고 있었다. 그러던중 인스타 광고에서 xps 리퍼를 파는 곳을 보게 되었고, 정식 A/S 까지 받을 수 있다는 사실까지 확인해서 바로 지르게 되었다.

[TIL #1] ThreeTenABP - 오늘날짜 구하기

ThreeTenABP Threen Ten Java8에 포함된 날짜 시간을 계산하는 라이브러리로 보인다. 찾아보다가 알게된 라이브러리로 Android에서 사용하기 위해서 JakeWharton 님께서 Android 에 맞게 backport 하신 라이브러리다. 링크 오늘 사용한 내용은 오늘의 날짜를 가져오는 방법인데 정말 간단하다 val today = LocalDate.now() val year = today.year val month = today.monthValue val day today.dayOfMonth 이밖에도 날짜 더하기, 뺴기 등등 편한 API가 많이 제공되고 있다. 추후 날짜 더하기 및 기타 날짜 관련 추가작업을 진행할 때 사용해 봐야겠다.

하면서 배운것들 #1

Databinding & drawable databindig에서 drawable을 지정해줘야 할 필요가 있는 경우 아래와 같이 사용할 수 있음. app:imageRes="@{vm.isListType ? @drawable/list : @drawable/card}" drawable을 지정할 떄는 @drawable/filename 이렇게 사용할 수 있음. 위와 같이 isLisType이 변경될 떄 drawable resource도 변경되도록 할 수 있음. imageRes adapter는 @BindingAdapter("imageRes") fun ImageView.setImageRes(drawable: Drawable?) { GlideApp.with(this.context).load(drawable) .error(R.drawable.circle_wrap) .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC).into(this) } parameter를 Drawable로 받아서 처리하면 됨.

[RxBinding2] ToggleButton에서 on/off Observable 생성하기.

[RxBinding2] ToggleButton에서 on/off Observable 생성하기. toggle button 에서 on/off Observabel을 분리하기 위해서 아래와 같이 하면 val obFuel1 = tb_fuel1.checkedChanges() obFuel1.filter { Log.d(TAG, "[whenFueLift] $it") it }.subscribe { Log.d(TAG, "[whenFueLiftSub] $it") } obFuel1.filter { Log.d(TAG, "[whenFueDown] $it") !it }.subscribe { Log.d(TAG, "[whenFueDownSub] $it") } D/FuelPump01: [whenFueLift] false D/FuelPump01: [whenFueDown] false D/FuelPump01: [whenFueDownSub] false D/FuelPump01: [whenFueDown] true D/FuelPump01: [whenFueDown] false D/FuelPump01: [whenFueDownSub] false 위와 같은 결과를 얻게 된다. 하나의 Observabe에 여러개의 subscriber가 붙을 수는 없다.

프로그래머의 길, 멘토에게 묻다

프로그래머의 길, 멘토에게 묻다 내가 이 책을 알게되고 접하게 된건 facebook에 있는 책 추천 글을 보고 나서다. 내 facebook은 여러 개발자 분들을 팔로우 하고 있는데(sns를 하지 않기 때문에 친구는 거의 없고 여러 개발자, 그룹 글들이 거의 대부분), 그 중 한 분께서 추천하는 도서에 대한 글을 보고 알게 되었다. 사실 난 이런 류(너가 잘되기 위해서는 이렇게 저렇게 해야해라는 식)의 책을 좋아하지 않는다. 다 비슷한 내용이고 결국 실제로 행동이 더 중요하다고 생각했기 때문에, 이런 류의 책을 읽는 시간에 다른 책을 읽는게 더 좋다고 생각했었다.

FRP에서의 STREAM

함수형 반응형 프로그래밍: FRP 입문자를 위한 종합 안내서. 2장의 내용을 정리한 자료 입니다. 2.FRP의 핵심 1. 스트림 타입: 이벤트의 흐름 이벤트의 흐름을 표현한다. 책에서는 데이터의 흐름을 Cell, 이벤트의 흐름을 Stream이라고 표현하지만 다른 곳에서는 모두 데이트와 이벤트의 흐름을 모두 Strean이라고 말하고 두 가지를 분류하지 않음. Streams are cheap and ubiquitous, anything can be a stream: variables, user inputs, properties, caches, data structures. Rx에서 Observable이 아닐까? example 1.