2020년 3월 12일 목요일

Jetbrains Quest!


오예.

퀘스트 2개 해결해서 라이센스 6개월 연장했다 ♥

https://twitter.com/jetbrains/status/1236986174075482113


2020년 3월 8일 일요일

BigQuery에서 analytics 데이터 조회시에 event_param.key로 조회하는 방법

SELECT *
FROM analytics_152426080.events_20190626 e CROSS JOIN
     UNNEST(event_params) ep
WHERE e.event_name = 'details_viewtime' AND
      ep.key = 'time_ms';


`cross join`과 `unnest`를 이용해서 할 수 있다.


2020년 2월 13일 목요일

NSSM으로 dotnet Service 등록하기

# .bat 파일을 만들자

dotnet MYAPP.dll



# nssm install MYAPP

Application > Path를 위에서 만든 bat 파일로,
Startup directory를 dotnet dll 및 파일들이 있는 경로로 설정해준다.

이후 [Install Service] 선택


# nssm start MYAPP

하면 작업관리자에서 실행된 것을 확인할 수 있다.

2019년 12월 5일 목요일

만들게 싶은게 있었는데

리서치를 괜히 해봤나 싶다.

만들고 싶은게 있었는데 역시... 비슷한게 이미 있다.
차별화... 이런거 하기에는 굳이 그러고 싶지는 않은데.

비는 영역이 하나 있기는 한데 뭐랄까...
음...

힝 ㅠㅠ

2019년 11월 9일 토요일

XCode ERROR ITMS-90534: Invalid Toolchain

stackoverflow에 검색해봐도 그렇고
역사와 전통이 있는 문제다.

Xcode를 업데이트 해야 해결된다.

그런데 간혹 문제는 릴리즈 되지 않은 GM버전을 사용해야 해결된다거나
(2019. 11. 5 이후 Xcode 11.2 Build deprecated)
하는 것.

휴.

2019년 6월 28일 금요일

c# dotnet core 소감


c# dotnet core,
entity framework core 등으로 프로젝트를 진행 중에 소감.

# 발전된 언어 스펙

Task, async, await 등의 조합은 비동기 코드도 간단하게 작성할 수 있게 해준다.

지역변수 할당에 사용하는 var도 간단한 코드에 한몫을 담당한다.

LINQ, 전통적인 linq 표현보다는 fluent interface 표현이 조금 더 익숙하긴 하지만 강력한 툴이다.

object initializer도 편리하다.
물론 유지보수 측면을 생각하면 factory method pattern이 갖는 장점이 더 많겠지만
굳이 builder를 따로 만들지 않아도 된다.

# entity framework(이하 ef)

ef code first migration을 사용하고 있는데,
조금 번거롭긴 해도(?) DDL을 직접하지 않아도 되고
staging 관리도 괜찮은 것 같다.

# Dotnet Core

CLI에서 dotnet run으로 platform에 상관없이 실행할 수 있다는 건 큰 장점이다.

# IDE
visual studio가 강력한 도구인것은 분명한데
rider가 좀 더 편한것 같다. ㅋㅋ


# Spring boot(java)와 비교한다면...

각 언어별로 장점들은 서로 모방해서 닮아가려는 측면이 있으니,
생태계 측면에서 본다면 비슷한것 같다. maven repository vs nuget?

다만 DI는 spring이 좀 더 편한 것 같다.

asp dotnet에서는 직접 instance를 만들어서 등록해줘야 하니까.
대신에 singleton, transient, scope등 생명주기를 좀 더 세밀하게 제어할 수 있는 장점은 있다.