posit::conf 2023 돌아보기

posit::conf 2024, 시애틀 나와 !

Jinhwan Kim
9 min readDec 17, 2023

posit::conf

가 올해 9월에 시카고에서 있었다.

회사에서는 보내줄테니 다녀오라고 했지만, 고양이 밥줘야해서 + 귀찮아서 안 갔음.

그리고 약 3개월 이후 어제, Posit 유튜브 채널로 세션 영상들이 공개되었다.

영상이 엄청 많긴 한데, 관심 없는 주제를 보진 않았고 제목에 이끌린 몇 영상들을 주말 동안 봤고 짧게 정리해보겠다. (108개의 영상 중 개취에 맞는 20개를 엄선했다)

내용에 전반적으로 “나는 초보인데 어찌어찌 하다보니 해봤고, 그 결과 많은 경험들을 얻을 수 있었다 !” 와 같은 내용이 많았고 (물론 고수들이다…) 동시에 일부는 나도 비슷한 것들을 겪었던 경험. 일부는 나도 앞으로 겪게 될 경험들이라고 생각 되었다.

또한 전세계 고수들의 나 이런 기술 만들어서 써봤는데 좋음. 너도 한번 써보셈. 과 같은 토크들도 있어서 도전 의식이 많이 ! 생겼다.

무엇보다 2024년 posit::conf는 시애틀에서 할 예정인데, 영감이 터지고 운이 좋으면 한번 발표자로도 지원해볼 수 도 있지 않을까. 라는 오만한 생각이 잠깐 들었다. 열심히 살자 !

세션

나중에 다시 보게 될 좋은 레퍼런스 자료는 “개취"로 표기했고, 2개의 “명 발표”가 있어서 마찬가지로 표기했다. 별도로 아 이 영상은 누구한테 추천해주면 좋겠다. 이런 생각이 드는 영상 + 사람이 있었는데 안까먹으면 추천해줄 예정.

shiny, Quarto, gt, ggplot2등 R의 핵심 기능은 html로 이루어짐. 고로 HTML과 CSS로 튜닝을 할 수 있으면 얻을 수 있는 것이 많다. 아직 잘 모른다면, 권장하는 연습방법은 Quarto 에서의 scss로 스타일링 연습.

높은 bootstrap 의존성과 꼬여있는 코드로 인해 10년 동안 shiny는 바뀌지 않았고, 이로 인해 여러 extension이 등장했다. bootstrap의 버전을 올리면 예상치 못한 문제가 발생할 수 있었고, 결국 bslib으로 독립 및 업그레이드 시켰다 + 주요 컴포넌트 소개.

shiny 런칭은 스타트업의 product 런칭과 비슷 (“아이디어 -> 투자 -> 프로덕트 -> 고객 -> 운영”). 이상하게 만들면 사람들이 사용하지 않음. 고로 shiny도 잘 만들어야 한다. PO의 관점이 필요하다

패키지를 만든게 아닌 tidycensor라는 패키지에 기여를 하며 co-author가 되기까지의 과정.

observer 에서 Contributor로 . 여러 포트폴리오를 비롯한 웹사이트 개발. 셀프 브랜딩. what do i want. how do i wnat people to experience me. 블로그를 만들기 까지의 과정. 적절한 아트워크의 힘. 시작이 어려웠지만 (암벽등반처럼) 하고나니 많은 것을 얻을 수 있었다.

webR의 Javascript 레벨에서의 작동원리 소개 + 다른 Javascript 프레임워크와 연동 가능하며 이를 통해 기존에는 어려웠던 더 많은 것들을 이뤄낼 수 있다.

Appsilon의 발표. Application graveyard. Great design은 중요하다. (makes apps Useful. Easy to use. Beautiful) 이를 위해서는 당연히 디자이너도 중요하지만, 디자이너만 중요한 것은 아님. Appsilon에서는 이를 위해 design plan & evaluation tool 하는 프레임워크로 접근하려고 함.

적당한 Tool, Resource, Help가 모든 프로젝트에서 중요함. document != only package documentation (wiki, confluence notion, …) Word는 양이 많아지면 느림. 한명만 작업 가능. Version control은 어려웠고, 작년 conf에서 quarto를 발견해서 몇몇 노력 끝에 성공적으로 전환 했음.

개취

많은 것이 스케일 커지면 구려지고 shiny도 예외가 아님. large number of user를 javascript 로 넘은 썰. Shiny는 chrome -> R에서 커맨드를 보내고 다시 chrome으로 돌아옴.

이전의 방법들: Cacheing with shiny::renderCachedPlot, Async operations with {future} & {promises}

이번에는 Browser level로 옮김

Data manipulation: DuckDB + WASM: SQLite for but analytics workloads.

Data Visualization: Observable Plot, {ggplot2} for JS

로 리팩토링 조졌음. 속도 40% 향상 + 인프라 비용 감소, 물론 아직 보안이나 코딩에서 단점이 있긴 함.

Appsilon HR? 30/1200 Hire; Shiny developer는 통계를 활용하지만 본질적으로는 SE임

Writing maintainable code: Naming, Check (Testing) Reactive programming, 등 여러 하드 / 소프트 스킬 프레임워크

쉬운 사용. 무료 오픈소스 목적의 DuckDB, DBI Rsqlite 와 독립. 퍼포먼스적으로 좋다 (write: postgress *10, read: *40). 초기 아이디어 자체는 R에서 시작함.

개취

duckplyr is faster than dplyr; lazy calculation

dplyr는 보기 좋지만 퍼포먼스가 좋지는 않음. (2014년 기준으로 duckDB는 data.table에 비해 벤치마크상 구렸지만, 23년 기준으로는 압도적으로 뛰어남)

내부에서 Sequential AB Testing 을 런칭하며 겪은 이야기 Data Science project를 성공적으로 프로덕션까지 진행하는 방법

  1. Not term, but time and money
  2. User-friendly tool
  3. Implement, Track & Report

log4r 패키지 소개 (추가자료)

개취

shiny를 개발. 로컬에서는 문제 없이 돌아감. audience에 공개할때 posit connect, shinyapps.io, own server dploy using shiny server, shinyproxy) 외에도 여러가지가 있음. environment variable with Sys.getenv(), availabitliy of external Resources application dependencies, 등을 고려하며 배포해야 함 (?)

원래 발표자 Jennifer Bryan이 코로나 양성떠서 Hadley Wickham이 본인도 처음 보는 자료로 발표하는? 귀한 발표 ㅋㅋㅋㅋㅋㅋㅋㅋ. 주요 내용은 R packages book 버전 2 나왔다. 이전에 비해서 많은 것이 추가되었고, 더 쉬워졌다. 그러니 R Package를 만들어라

띵 발표 꼭 보길 권장

좀 긴 발표 (50분) R이 “데이터 사이언스"를 넘어서 실제 임상 영역에서 어떻게 사용되는지, 메디컬계 / R 입문자라면 봐도 좋겠다.

마찬가지로 띵 발표. 꼭 보길 권장

Appsilon Manager의 발표, Release Fast with Prototype이 중요하고 특히 shiny는 이를 가능하게 함. 섬세한 User interview + workshop 등으로 많은 시간 넣고 실패할 프로젝트를 짧은 시간 + 성공 가능성 높은 프로젝트로 바꿔낼 수 있다.

정부 기관(?)에서 데이터 / 리소스를 R package로 만들었고, 10년 간 유지하면서 과학계에 많은 임팩트를 만들어냈다.

onboarding은 1. Understand company’s system 2. Build relationships 3. Develop skills/contribute로 구성하는 것이 좋은 것 같음. bslib, shiny customize을 통해 design system?을 적용한 사례. 생각지도 못한 영감을 얻은 발표 (자료)

개취

이 외에도 다루지 못한 영상 (데이터 사이언스 커뮤니티)이 3개 있긴 한데 이 영상들은 그냥 혼자 보고 끝내겠다.

추가) 나중에 일부 내용들은 워크샵으로 다뤄봐도 좋을 것 같다.는 생각이 든다. 애옹킴이 한번 더 다뤘으면 하는 주제가 있다면 개추부탁

--

--