이 에러는 Python2나 구버전의 Python에서 StringsIo를 truncate할 때 발생하는 오류입니다.
b = io.BytesIO()
b.truncate(0)
BytesIO와 StringsIo는 구버전에서는 포지셔 이동없이 truncate가 가능했습니다.
하지만 최신 버전에는 해줘야 합니다.
b = io.BytesIO()
b.seek(0)
b.truncate(0)
이 에러는 Python2나 구버전의 Python에서 StringsIo를 truncate할 때 발생하는 오류입니다.
b = io.BytesIO()
b.truncate(0)
BytesIO와 StringsIo는 구버전에서는 포지셔 이동없이 truncate가 가능했습니다.
하지만 최신 버전에는 해줘야 합니다.
b = io.BytesIO()
b.seek(0)
b.truncate(0)
Rstudio는 R언어 개발툴 이름이며 제작사의 이름이기도 합니다. Rstudio에는 R언어의 고수들이 모여 있는 많은 데이터과학자 겸 개발자들로 구성된 실리콘밸리에 있는 회사입니다.
R언어의 발전에 큰 영향을 준 회사이기도 합니다.
Rstudio를 비롯해서 GGplot2, Shiny, Rmarkdown, Tidyverse를 비롯한 패키지를 개발자와 부속 개발툴을 지원하고 있으며 이 도구들은 많은 데이터사이언티스가 주력으로 사용하고 있는 도구이기도 합니다.
코로나19로 전세계적으로 이름을 모르는 사람이 없게된 파이자(Pfizer)의 과학자들도 이 도구들을 주력으로 사용하고 있을정도입니다.
하지만 최근의 AI와 딥러닝의 발전과 함께 통계분석의 인기가 시들어가고 Python으로 데이터분석, 통계까지 하려는 움직임과 R언어를 배우려는 사람들이 줄어들면서 시장에서의 위상이 예전만 못하게 되었습니다.
Rstudio가 Python언어를 지원한지 오래되었습니다. 이제 R언어 하나만을 지원하는 것보다는 데이터과학이라는 분유 전체를 아우르는 개발툴과 부속 도구를 판매하고 교육하는 회사로 나가려고 하는 모양입니다.
바뀌는 것은 없습니다.
Rstudio workbench는 기본판은 여전히 무료이고 아직까지도 최고의 R언어 개발환경입니다.
Ubuntu 22.04에 Jenkins를 설치하면 실행이 잘 안됩니다.
우분투 22.04는 최신 LTS 버전이라서 정말 쉽게 되야 할텐데 이상하죠?
Ubuntu 22.04에서 젠킨스가 안되는 이유는 대부분 Java때문입니다. Jenkins는 openjdk-11에서만 작동합니다. 설치해주고 기본 설정도 바꿔줘야 합니다. openjdk-18 같은 상위버전과는 작동하지 않습니다. Jenkins는 JVM기반의 Groovy 언어로 만들어졌습니다. JDK 영향을 많이 받으므로 이 점을 주의해야합니다.
설치 코맨드를 참고하세요.
# 자바 설치
sudo apt-get install openjdk-11-jdk-headless
# 기본 자바를 openjdk-11로 설정
sudo update-java-alternatives --set java-1.11.0-openjdk-amd64
# 키 받기
sudo wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
# 레파지토리 등록
echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
# 젠킨스 설치
sudo apt-get install jenkins
페이스북, 인스타그램은 메타의 소유입니다. 메타는 페이스북이 회사명을 바꾼것이구요.
메타가 최근 자사의 소셜플랫폼에서 사용자에게 정보제공동의 서명을 받고 있습니다.
페이스북과 인스타그램의 주 수익은 광고수입입니다. 광고 수익을 내기 위해서는 사용자의 트래킹 정보가 필요한데 이것은 웹브라우저는 쿠키, 안드로이드앱은 ADID, 애플 IOS는 IDFA를 사용합니다.
웹브라우저의 쿠키로 사용자의 트래킹 정보를 제고하는 것을 3rd party cookie 제3자쿠키라고 합니다. 이 제3자 쿠키를 이용하면 사용자의 트래킹 정보를 페이스북 외부와 내부에 연동해서 추적할 수 있습니다.
사용자가 쇼핑몰에서 본 노트북이 있다면 페이스북에 접속했을 때 그 노트북이 광고로 보이거나 하는 것입니다.
그런데 이게 3자 쿠키와 사용자 트레이싱이 점진적으로 사라지게 되는데 제3자 쿠키는 2023년 말로 크롭라우저에서 차단됩니다. 페이스북에서는 이걸로 인해 광고 노출을 하는 큰 수입이 사라지게 되므로 다른 대안을 찾아야 하는데 그건 사용자의 행적정보를 광고주에게 제공하는 것입니다.
그전에도 이런것을 어느정도 했었지만 정보제공동의 서명을방고 난 후에는 법적인 문제없이 본격저으로 할 수 있고 제3자쿠키나 ADID를 통한 사용자 트래킹이 사라지면서 손실이 발생하는 광고 수익을 대체할 수 있게 됩니다.
즉, 본인의 행적과 일부 데모그래픽 정보를 외부에 제공하고 어떤 형태로 그 댓가를 얻을 수 있게됩니다. 그렇다고 해서 주민등록번호깥은 것이 유출되거나 하지는 않지만 사는 지역, 성별, 연령대, 가입한 그룹들을 통한 성향, 취미, 친구관계를 통한 사회적 지위, 직장, 소득, 쓰는 글 등을 이용한 성향 분석 등으로 정리한 정보를 광고주에게 제공할 가능성이 큽니다.
페이스북에 로그인한 정보를 사용하기 때문에 쿠키를 차단하는 것과 상관없이 정보는 제공됩니다.
인스타그램도 동일합니다. 즉 트래킹 당한 정보를 제공하지 않고 싶으면 페이서북과 인스타그램에 로그인하지 않으면 됩니다.
없습니다. 매체 또는 플랫폼을 쓰는 댓가로 행적 정보를 제공하는 것이고 그걸 기반으로 광고 수익을 얻는 것입니다. 플랫폼에서 광고를 보고 싶지 않거나 추적하는 것을 피하려면 그 플랫폼을 쓰지 않아야 합니다.
이런 구조는 구글, 네이버, 카카오 다음 모두 같습니다. 이들 모두 정보를 수집하고 있고 광고에 이용하고 있습니다. 추적당하지 않으려면 로그인하지 않으면 됩니다. 그럴 수 있다면 말이죠.
npm run start를 했을 때 나올 수 있는 에러입니다.
npm WARN This failure might be due to the use of legacy binary "node"
해결 방법은 npm으로 모듈을 설치할 때 옵션을 주고 하면 됩니다.
npm install --no-bin-links
그리고 다시 npm run start를 하면 정상 실행이 될 것입니다.