도경수 신인상•절친 조인성 대리수상, 술자리서 약속 | LVTchannel

도경수 신인상•절친 조인성 대리수상, 술자리서 약속 도경수가 청룡영화제 신인상을 품에 안았다 도경수는 11월 25일 오후 서울 동대문구 경희대 평화의전당에서 열린 제38회 청룡영화제 시상식에서 신인남우상을 수상하는 영광을 안았다

앞서 신인남우상에는 꿈의 제인 구교환과 박열 김준한, 분장 남연우, 형 도경수, 택시운전사 류준열이 경쟁했다 이날 도경수는 일정 관계로 불참했다 이에 막역한 사이인 조인성이 대신 무대에 올랐다 조인성은 함께 술 마시다가 라고 운을 뗐다

이어 도경수가 콘서트 중이어서 늦을 것 같다고 해서, 제가 받아주겠다고 (술자리에서) 약속했다 친하다는 이유로 올라오게 됐다 잘 전달하겠다 고맙다고 대리 수상했다

Handle Massive Workloads with Cloud Bigtable Database Service | Google Cloud Labs

바네사 스탁 : 안녕하세요 여기 바네사

저는 Google Cloud Platform에서 Google 마케팅 담당자입니다 Alexander ZAMUDIO : 안녕하세요, Alexander Google Cloud Sales 팀에 있습니다 이 에피소드에서는 Cloud Bigtable, Google의 핵심 서비스의 많은 부분을 지원하는 동일한 데이터베이스, 검색, 분석,지도 및 Gmail을 포함하여 바네사 스탁 : 우리는 또한 간단한 데모를 진행할 것입니다 우리가 커맨드 라인을 사용하는 자기 주도 실험실의 Cloud Bigtable 인스턴스를 연결하는 유틸리티, 테이블에서 데이터를 읽고 씁니다

잊지 마세요, 오늘 여기서 배운 것을 적용 할 수도 있습니다 GCP에 300 달러 무료 평가판 크레딧이 제공됩니다 시작하겠습니다 이제 Bigtable의 주요 기능을 살펴 보겠습니다 Bigtable은 높은 부하에서 높은 성능을 제공하기 때문에, 대규모 응용 프로그램과 워크 플로우는 더 빠르고 안정적이며 Bigtable에서 효율적인 운영

Alexander ZAMUDIO : Bigtable은 많은 양의 저장에 이상적입니다 지연이 매우 적은 데이터 데이터베이스는 자동으로 원활하게 수행 할 수 있습니다 수십억 개의 행과 수천 개의 열로 확장 할 수 있습니다 페타 바이트 단위의 데이터를 저장할 수 있습니다 또한 사용하는 저장 용량의 비용 만 지불하면됩니다

– Bigtable은 완전히 관리되는 서비스이므로, 구성 및 조정에 대해 걱정할 필요가 없습니다 성능 또는 확장 성을위한 데이터베이스 또한 데이터의 백업을 생성합니다 격변 적 사건으로부터 보호하기 위해 재해 복구를 허용합니다 ALEXANDER ZAMUDIO : Bigtable의 제안 동일한 오픈 소스 산업 표준 API를 통해 Apache Hadoop 프로젝트의 기본 데이터베이스 인 HBase

Bigtable에서 제공하는 HBase 호환 인터페이스 응용 프로그램의 이동을 지원합니다 HBase와 Bigtable 사이 바네사 스탁 (BANESSA STARK) : GCP 생태계의 일부인 빅 테이블 (Bigtable) 다른 서비스와 상호 작용할 수있다 및 타사 클라이언트 보안 측면에서 Bigtable의 모든 데이터 기내 및 휴식시 암호화되어 있으며, Bigtable 데이터에 대한 액세스는 쉽게 제어됩니다

IAM 권한을 통해 ALEXANDER ZAMUDIO :이 실습에서, 당신은 CBT 명령 행 유틸리티를 사용할 것이다 Cloud Bigtable 인스턴스에 연결하려면 테이블에서 데이터를 읽고 씁니다 바네사 스탁 : 링크를 확인할 수 있습니다 여기서 QuickLab을 시작하십시오 완료하려면 약 30 분 정도 기다려야합니다

ALEXANDER ZAMUDIO : 지금까지 실험실에서, Cloud Bigtable 인스턴스를 만들고 CBT를 구성했습니다 수정하여 인스턴스에서 프로젝트를 사용하는 방법 cbtrc 파일 My-Table 테이블을 생성합니다 My-Table이 생성되었는지 확인하기 위해 테이블을 나열합니다

우리는 컬럼, Family Name, CF1을 추가합니다 CF1이 생성되었는지 확인하기 위해 열 패밀리를 나열합니다 우리는 R1 값에 test 값을 넣고, 열 패밀리 CF1과 열 한정자 C1을 사용합니다 우리는 표에 추가 된 데이터를 읽습니다 바네사 스탁 : 우리는 당신이이 에피소드를 즐겼기를 바랍니다

언제든지 경험을 공유하십시오 또는 Bigtable을 사용하는 아이디어 항상 당신에게서 소식을 듣는 것이 좋습니다 ALEXANDER ZAMUDIO : 아직 그렇게하지 않았다면, 너가 할 수있는이 연결을 조사해라 $ 300 무료 평가판을 사용하여 배운 것을 적용하십시오

Google Cloud Platform의 크레딧 바네사 스탁 : 모든 추가 교육 자료 아래에 링크되어 있습니다 지켜봐 주셔서 다시 한 번 감사드립니다

서신애 드레스 파격 노출, 아역의 섹시한 변신! 부산 국제 영화제 | 매일 K-POP

서신애 드레스 파격 노출, 아역의 섹시한 변신! 부산 국제 영화제 서신애 드레스 파격 노출, 아역의 섹시한 변신! 부산 국제 영화제 제 22회 부산국제영화제 BIFF가 개막하면서 수많은 연예인들의 드레스 착장이 화제가 되었죠?

그중에서도 어제 연일 검색창을 뜨겁게 달군 인물이 있으니 바로 서신애 인데요 다들 아시겠지만 서신애 나이는 1998년생으로 이제 20살, 2004년 꼬꼬마때 서울우유 cf를 통해 데뷔한뒤 다양한 영화와 드라마에서 아역으로 연기를 시작해서 국민 여동생 같은 느낌인데요 그런 서신애가 이제 20살 성인이 되었다는 의미로 이렇게 파격적인 드레스를 입었으니

대중들의 시선이나 관심이 한몸에 모인건 어찌보면 당연한거겠죠? 이제 미성년자가 아니니, 드레스코드 역시 무척 과감해진것 같은데요 서신애 드레스 향한 관심이 뜨거워지자 소속사 측에서도 공식적으로 소감을 발표하기도 했는데요 서신애 드레스, 이렇게까지 관심받을줄은 몰랐다

현재 서신애 당사자 본인도 놀라고 얼떨떨해 하고있다라고 하네요 [스폰서 링크] 아무래도 서신애가 이번에 오랫만에 부산국제영화제에 참석하는것인지라 서신애는 물론 서신애 스타일리스트 코디 들도 굉장히 고민을 많이 한 결과라고 해요 아무래도 아역 이미지가 강하면 다음 배역 고르는데 지장이 있따보니 그런듯 한데요

지붕뚫고 하이킥 때랑 현재 서신애 드레스 입은 영화제 착장이랑 완전 반전이죠? 성숙미도 완전 제대로 느껴지고 이미지 변신 대성공이네요 그런 한편 너무 과하다 라는 지적도 있지만 옷이 안예쁘다 라는 지적도

서신애 몸매의 단점을 부각시키고 팔뚝의 살이 더 굵어보이게 한다 라는 의견이 있네요 노출이 문제가 아니라 서신애 드레스 옷 자체가 별로라고 [스폰서 링크] 뭐 성인인데 저정도는 딱히 노출이 과해 보이지도 않아요 영화제 드레스 라는 성격을 두고 말한다면 더더욱요 워낙에 영화제에서 입는 드레스는 화려한거니까요

저런 옷은 나이를 떠나서, 노이즈 노리는 무명 연예인들이나 입는다는 지적도 있고요 하나경이라든지 오인혜라든지 드레스 노출로 확뜬 케이스가 몇 생각나네요 한편 이날 서신애가 입은 드레스는 웨딩드레스 디자이너 최명이의 브랜드,

로자 스포사 제품이라고 하네요 배우 지소연, 홍수아, 장나라, 이유리 ,별등등 많은 연예인들이 입기도 했고요 아버지가 이상해 드라마에서도 이유리 드레스가 거기꺼라고 논란은 많지만 서신애 드레스 어찌보면 서신애를 검색창에 올리게 햇으니

관심을 환기시켜주고 이미지를 반전해주는 순기능도 있다고 봐요 이번에 아역이미지가 싹 사라졌네요 섹시한 느낌도 들고 서신애 드레스 파격 노출, 아역의 섹시한 변신! 부산 국제 영화제 제 22회 부산국제영화제 BIFF가 개막하면서 수많은 연예인들의 드레스 착장이 화제가 되었죠? 그중에서도 어제 연일 검색창을 뜨겁게 달군 인물이 있으니 바로 서신애 인데요

다들 아시겠지만 서신애 나이는 1998년생으로 이제 20살, 2004년 꼬꼬마때 서울우유 cf를 통해 데뷔한뒤 다양한 영화와 드라마에서 아역으로 연기를 시작해서 국민 여동생 같은 느낌인데요 그런 서신애가 이제 20살 성인이 되었다는 의미로 이렇게 파격적인 드레스를 입었으니 대중들의 시선이나 관심이 한몸에 모인건 어찌보면 당연한거겠죠?

이제 미성년자가 아니니, 드레스코드 역시 무척 과감해진것 같은데요 서신애 드레스 향한 관심이 뜨거워지자 소속사 측에서도 공식적으로 소감을 발표하기도 했는데요 서신애 드레스, 이렇게까지 관심받을줄은 몰랐다 현재 서신애 당사자 본인도 놀라고 얼떨떨해 하고있다라고 하네요

[스폰서 링크] 아무래도 서신애가 이번에 오랫만에 부산국제영화제에 참석하는것인지라 서신애는 물론 서신애 스타일리스트 코디 들도 굉장히 고민을 많이 한 결과라고 해요 아무래도 아역 이미지가 강하면 다음 배역 고르는데 지장이 있따보니 그런듯 한데요 지붕뚫고 하이킥 때랑 현재 서신애 드레스 입은 영화제 착장이랑

완전 반전이죠? 성숙미도 완전 제대로 느껴지고 이미지 변신 대성공이네요 그런 한편 너무 과하다 라는 지적도 있지만 옷이 안예쁘다 라는 지적도 서신애 몸매의 단점을 부각시키고 팔뚝의 살이 더 굵어보이게 한다 라는 의견이 있네요

노출이 문제가 아니라 서신애 드레스 옷 자체가 별로라고 [스폰서 링크] 뭐 성인인데 저정도는 딱히 노출이 과해 보이지도 않아요 영화제 드레스 라는 성격을 두고 말한다면 더더욱요 워낙에 영화제에서 입는 드레스는 화려한거니까요 저런 옷은 나이를 떠나서, 노이즈 노리는 무명 연예인들이나 입는다는 지적도 있고요

하나경이라든지 오인혜라든지 드레스 노출로 확뜬 케이스가 몇 생각나네요 한편 이날 서신애가 입은 드레스는 웨딩드레스 디자이너 최명이의 브랜드, 로자 스포사 제품이라고 하네요

배우 지소연, 홍수아, 장나라, 이유리 ,별등등 많은 연예인들이 입기도 했고요 아버지가 이상해 드라마에서도 이유리 드레스가 거기꺼라고 논란은 많지만 서신애 드레스 어찌보면 서신애를 검색창에 올리게 햇으니 관심을 환기시켜주고 이미지를 반전해주는 순기능도 있다고 봐요

이번에 아역이미지가 싹 사라졌네요 섹시한 느낌도 들고

Big database queries and highload optimization | Lifehacks on Rails

아침 얘들 아! 저는 Pavlo이고 Syndicode의 소프트웨어 엔지니어입니다 오늘 우리는 최적화에 대해 이야기 할 예정입니다

큰 데이터베이스 쿼리 및 높은 부하에서 응용 프로그램을 안정적으로 만드는 방법에 대해 설명합니다 시작하자! 루비로 프로그래밍 할 때 좋은 경험을 얻고 싶다면 인터넷에서 찾을 수없는 정보를 얻으려면 – YouTube 채널에 '구독'을 클릭하십시오 현재의 방법은 정말로 느립니다 출력을 살펴 보겠습니다 우리는 하나의 프로젝트를로드하고 'present?'를 사용하여 존재 여부를 확인하기 위해 모든 태스크를로드합니다

이것은 꽤 많은 시간 (~ 900ms)을 소요하여 앱의 성능을 저해합니다 'Any'라는 방법은 어떨까요? '어떤?' 각 작업을로드하는 대신 SQL 수를 사용하므로 더 빠르고 성능이 뛰어난 결과를 얻을 수 있습니다 그러나 우리는 실제로 많은 작업이 필요하지 않습니다 그것이 '존재 하는가?' 하루를 절약하십시오! 그것은 훌륭합니다! 우리는 Project 모델을 가지고 있으며 그 이름으로 프로젝트를 찾아야합니다 인덱스가 없으면 데이터베이스 엔진은 일치 항목이 발견 될 때까지 하나씩 프로젝트 테이블의 모든 레코드를 검사해야합니다

그러나 다음 예제와 같이 '프로젝트'테이블에 색인을 추가하면 조회가 훨씬 빨라집니다 로깅은 특히 디스크에 로깅 할 때 Rails 응용 프로그램의 성능에 항상 작은 영향을 미칩니다 또한, 몇 가지 미묘한 점이 있습니다 : debug 수준을 사용하면 문자열 수가 훨씬 많아지기 때문에 치명적입니다 평가되고 로그 결과에 기록됩니다

또 다른 잠재적 인 함정은 코드에서 Logger를 너무 많이 호출하는 것입니다 따라서, 로거 메서드에 블록을 전달하는 것이 좋습니다 사용자 프로필 페이지에서이 사용자의 댓글 목록을 표시하고자한다고 가정 해 보겠습니다 당신이 끝내는 것은 그것과 같은 것입니다 : 사용자는 9 개의 다른 게시물에 댓글을 달았습니다 결과적으로 데이터베이스에 9 개의 개별 쿼리가 생성됩니다

해결책은 includes () 메소드를 사용하는 것입니다 우리의 질의 스택 목록 모양 그것은 훨씬 더 효율적입니다 공통 페이지 또는 작업을 캐시하면 성능이 크게 향상 될 수 있습니다 귀하의 페이지에 데이터베이스 또는 무거운 동적 컨텐츠에 대한 호출이 포함되어 있지 않더라도, 렌더링 오버 헤드를 피하는 단순한 사실 부분 또는 내용 블록으로 성능 향상 가능 가치있게 만들기에 충분합니다 캐싱에 대한 다른 아이디어가 있다면 동영상 아래에 댓글을 달아주세요

이 자료가 유용했다면 LIKE를 누르십시오! 다음 시리즈에서 만나요!

오인혜, 부산국제영화제, 파격 드레스 어땠길래?•소속사 없던 시절, 직접 대여 | LVTchannel

오인혜, 부산국제영화제, 파격 드레스 어땠길래?•소속사 없던 시절, 직접 대여 배우 오인혜가 화제를 모았던 부산국제영화제 파격 드레스 비화를 공개했다 오인혜는 28일 밤 방송된 MBC 에브리원 비디오스타에 설인아, 고은아, 한은정, 셔누와 함께 출연했다

이날 MC들은 오인혜를 가리켜 레드카펫 파격 드레스 1인자라는 극찬을 쏟아냈다 이에 오인혜는 드레스 디자인상 고정이 안 됐다 그런데 끈이 자꾸 흘러내리더라라며 그래서 드레스를 잡고 내린다는 것이 그렇게 됐다라고 말했다 MC 박나래는 명치가 서늘했을 텐데 그만큼 내려온 걸 몰랐냐 명치 지나 단전까지 보이겠다라고 물었고, 오인혜는 몰랐다

긴장해서 드레스가 얼만큼 내려갔는지도 몰랐다라고 답했다 오인혜는 소속사가 없던 시절 영화 의상 팀에 소개받아 찾아간 드레스숍이었다라며 이브닝드레스가 몇 개 남아있지 않더라라며 해당 드레스를 입게 된 배경을 소개했다 오인혜는 지난 2011년 부산국제영화제 레드카펫에서 가슴 라인이 훤히 드러나는 드레스를 입어, 포털사이트 실검 1위 등 화제를 모은 바 있다 오인혜는 당시 입었던 드레스를 직접 스튜디오로 가져왔고, 이를 입어 본 박소현은 사뭇 다른 분위기를 자아냈다 이에 박나래는 연말 시상식에서 나도 파격 드레스 도전한다

명치 공개 예약하겠다라고 공약해 웃음을 자아냈다

The mission to create a searchable database of Earth’s surface | Will Marshall

역자 : Johnny Halilaj 리뷰 작성자 : Helena Bedalli 4 년 전 TED에서 나는 행성의 미션 1을 시작했다 : 위성 함대를 발사 그것은 매일 지구 전체를 나타낼 것입니다 그것에 대한 접근을 민주화 할 것이다

우리가 해결하려고했던 문제는 분명했습니다 온라인 위성 이미지는 오래되었지만 일반적으로 오래되었습니다 그러나 인간 활동은 며칠과 몇 달간 계속되고 있었고, 보이지 않는 것을 고칠 수는 없습니다 우리는 사람들에게 변화와 행동을 볼 수있는 도구를 제공하고자했습니다 1972 년 아폴로 17 호의 우주 비행사가 찍은 아름다운 푸른 대리석 모양 우리가 깨지기 쉬운 지구에서 살고 있다는 것을 인류가 알 수있게 도와주었습니다

그리고 우리는 그것을 다른 차원으로 옮기고 싶었습니다 사람들에게 행동 수단을 제공하고 돌볼 수 있도록합니다 많은 아폴로 프로젝트가 끝난 후, 인류 역사상 가장 큰 위성 함대를 보내고, 우리는 목표에 도달했습니다 오늘날, "행성"은 매일 지구 전체를 촬영합니다 임무가 완수되었습니다

(박수) 고마워 21 개의 로켓 발사기가 필요했습니다 이 애니메이션은 매우 단순 해 보입니다 그리고 이제 우리는 200 개가 넘는 인공위성을 궤도에 올려 놓았습니다 우리는 지구 주위에 구축 한 지구의 31 개 역에 데이터를 떨어 뜨립니다

전체적으로 우리는 지구상에서 매일 150 만 개의 29 메가 픽셀 이미지를 얻습니다 그리고 지구 표면의 어느 곳에서나, 우리는 이미 평균 500 개 이상의 이미지를 가지고 있습니다 큰 변화를 기록하는 데이터 스택 많은 사람들이 이러한 이미지를 사용하고 있습니다 농업 회사는 그것을 개선하기 위해 사용합니다

농부 생산성 향상 매핑 회사는 온라인으로 찾은지도를 개선하기 위해지도 작성 업체를 사용하고 있습니다 정부는 국경 보안, 홍수, 화재 및 지진에 대한 대응에 도움을 줄 수 있습니다 그리고 많은 NGO들이 그들을 사용하고 있습니다 또한 삼림 벌채를 추적 및 중단합니다

또는 미얀마에서 탈출 한 난민을 찾아야합니다 또는 시리아에서 진행중인 위기의 모든 활동을 추적하려면, 모든 책임 당사자를 포획합니다 그리고 오늘, 플래닛의 이야기를 발표하게 된 것을 기쁘게 생각합니다 모두가 planetcom에서 온라인으로 접속할 수 있습니다

계정을 열고 모든 온라인 이미지를 볼 수 있습니다 최신 이미지를 제외하고 Google 어스와 비슷하지만, 그리고 시간을 거슬러 볼 수 있습니다 서로 다른 두 일을 비교할 수 있습니다 우리 행성을 돌면서 일어나는 극적인 변화를보십시오 또는 우리가 가진 500 개의 이미지를 통해 시간을 만들 수 있습니다

시간이 지남에 따라 극적인 변화를 볼 수 있습니다 그리고 소셜 미디어를 통해 배포 할 수 있습니다 아주 좋습니다 (박수) 고마워 우리는 처음에는 뉴스 기자를위한이 도구를 만들었습니다

누가 세계 사건에 관한 편견없는 정보를 얻고 싶어했는지 그러나 우리는 이미 누구에게나 공개했습니다 비영리 목적 또는 개인적 용도로만 사용할 수 있습니다 사람들이 도구를 사용할 수 있기를 바랍니다 지구의 변화를 발견하고보고 행동하십시오

인류는 이미이 행성에 대한 정보 데이터베이스를 보유하고 있으며, 시간이 지남에 따라 변합니다 다음 임무는 무엇입니까, 미션 2는 무엇입니까? 간단히 말해서 공간에 IA가 더해진 것입니다 인공 지능으로 우리가하고있는 일 모든 위성 이미지에서 물체를 찾는 중입니다 온라인 동영상에서 고양이를 찾는 데 사용되는 동일한 IA 도구 우리 사진에서 데이터를 찾는 데에도 사용할 수 있습니다 그래서 상상 해보세요, 배입니다

나무예요 자동차, 도로, 건물, 트럭입니다 수백만 개의 이미지에 대해이 작업을 수행 할 수 있다면 그날에 내려가는, 기본적으로 데이터베이스를 만듭니다 행성의 모든 측정 가능한 물체에 대해 매일 그리고 그 데이터베이스는 검색 가능합니다 이것이 바로 우리가하는 일입니다

여기 API에 대한 프로토 타입이 있습니다 이것은 베이징입니다 공항에있는 모든 비행기를 세고 싶다고 상상해보십시오 우리는 공항을 선택한다 그는 오늘날의 이미지에서 비행기를 찾습니다

그 전에 전체 이미지 스택에서 평면을 찾습니다 시간 경과에 따른 모든 베이징 공항 항공기의이 도표를 보여줍니다 물론 전 세계 모든 공항에서이 작업을 수행 할 수 있습니다 밴쿠버 항을 보시죠 우리도 똑같이 할 것이지만 이번에는 배를 찾을 것입니다

그래서 밴쿠버에서 확대하고, 공간을 선택하고, 그리고 배를 찾으십시오 그리고 그는 자신이있는 곳에있는 모든 배를 당깁니다 자, 해안 경비대가 얼마나 유용 할 지 상상해보십시오 불법 낚시를 추적하고 막으려 고했다 봐, 합법적 인 어선들

그들의 위치를 ​​AIS 제등을 통해 전달합니다 그러나 우리는 종종 이것을하지 않는 배를 찾습니다 사진은 거짓말을하지 않습니다 그래서 해안 경비대는 그것을 사용할 수 있습니다 불법 어선 찾기

머지 않아 우리는 배와 비행기를 추가하지 않을 것입니다 뿐만 아니라 다른 모든 시설, 우리는 데이터 공급을 얻을 수있다 시간 경과에 따른 위치 및 모든 물체 이는 휴먼 작업 스트림에서 디지털 방식으로 통합 될 수 있습니다 시간이 지나면 정교한 브라우저를 사용할 수 있습니다 사람들은 다른 출처에서 올 수 있습니다

그러나 결론적으로, 우리는 이미지를 완전히 그린 것이라고 상상할 수 있습니다 지구 주위에 검색 인터페이스가 있습니다 우리가 단지 물을 수 있다면, "이봐, 파키스탄에는 집이 몇 마리 있니? 이 대 시간의 스케치를주세요 " "얼마나 많은 나무가 아마존에있다 너는 내가 자른 나무의 위치를 ​​보여줄 수있어

이번 주와 지난 주 사이에? " 훌륭하지 않니? 좋아, 그게 우리가 가고 싶은거야 우리는 이것을 "검색 가능한 땅"이라고 부릅니다 행성의 미션 1은 매일 모든 행성을 촬영하는 것이 었습니다 그것을 접근 가능하게 만드십시오 행성의 임무 2는 시간이 지남에 따라 행성의 모든 물체를 보여줍니다

검색 가능하도록 만들 수 있습니다 비유로 너를 떠나게 해줘 Google은 온라인에있는 콘텐츠를 크롤링하여 검색 할 수있게합니다 Google은 지구상의 콘텐츠를 색인 생성하여 검색 가능하도록 만들고 있습니다 고맙습니다

(박수)

Realtime Database triggers (pt. 3) with Cloud Functions for Firebase | Firecasts

더그 스티븐슨 : 나와 함께 해줘서 고마워 이 시리즈의이 세 번째 파트는 클라우드를 사용하여 실시간 데이터베이스 트리거 작성에 대한 정보 Firebase의 기능

내 이름은 더그 야 그리고 제가 여기에서 여러분에게 말하고자하는 것은 처음 두 사람의 것과 같습니다 동영상이므로 반드시 돌아가서 처음 시청하시기 바랍니다 아직 안 왔으면 처음 두 개의 동영상에서 클라우드 기능을 사용하여 몇 가지 트리거를 작성한 방법 자동으로 단어 "피자"를 피자 그림 이모티로 바 꾸었습니다

대화방에서 왜? 왜냐하면 그것은 pizzazz를 추가하기 때문입니다 이러한 트리거는 새로 추가 된 메시지에 응답합니다 또한 업데이트 된 메시지 처음에 추가되었습니다 그러나 당신이 응답하고 싶다면 어떻게합니까? 삭제 된 메시지에? 글쎄, 네가 놀랄 일은 아닌데

onDelete 트리거로 처리하십시오 그리고 그것을 사용하고 싶습니다 그러나 이번에는 실제로 피자를 포함하지 않습니다 내가 원하는 것은 대화방에 대한 것입니다 메시지를 쉽게 조회 할 수 있습니다

메시지 개수가 필요한 이유는 무엇입니까? 글쎄, 나는 클라이언트 애플 리케이션을하고 싶습니다 얼마나 많은 메시지가 방에 있는지 알 수있다 쿼리, 다운로드 및 계산없이 그 방에있는 모든 메시지 아이들 셀 수 없을 때 할 일은 너무 많습니다 그래서 저는 두 가지 일을 할 것입니다

먼저 기존 onCreate 트리거를 변경합니다 메시지 수를 읽고, 증가시키고, 쓰려면 새로운 메시지가 방에 추가 될 때 둘째, onDelete 트리거를 새로 추가하겠습니다 메시지 수를 읽고, 감소시키고, 쓰려면 어떤 이유로 메시지가 삭제 될 때 새 아이에게이 계산서를 저장하겠습니다

같은 레벨에있는 방의 노드 값 메시지 노드로 이것은 메시지로 증가 및 감소 할 값입니다 추가되고 제거됩니다 승인 코드를 살펴 보겠습니다

사실, 아니 나는 이것을 먼저 생각하고 계획을 세워야한다 코드를 작성하기 전에 당신이 명심해야 할 중요한 한가지가 있습니다 클라우드 기능 코드 작성

함수를 호출 할 때마다 같은 시간에 실행 중일 수 있습니다 그들은 순차적으로 하나씩 실행하지 않습니다 이 전략은 전혀 확장되지 않습니다 대신 Cloud 기능의 런타임 함수를 병렬로 실행할 수 있어야합니다 부하시

많은 사람들이 방에서 채팅한다고 상상해보십시오 각자가 메시지를 추가하고 삭제할 때, 그들은 모두 그 방의 메시지 수를 업데이트해야합니다 여기의 문제는 이와 같습니다 onCreate 및 onDelete의 각 호출 기존 메시지를 읽을 필요가있다 데이터베이스에서 방을 계산하고, 기억 속에서 그것에 변화를 주었다

다시 같은 장소로 그러나 당신은 쉽게 상황을 가질 수 있습니다 여기서 두 함수 호출, let 's onCreate와 onDelete가 동시에 실행되고 있다고 가정합니다 그리고 그들은 둘 다 처음에 같은 메시지 수를 읽었습니다 데이터베이스에서 변경 로컬 메모리에 무엇이든간에 값 중 하나 잘못 다른 사람을 덮어 씁니다

우리는 그것이 어느 것이 될지조차 모릅니다 이 다이어그램의이 상황에서 메시지 개수는 원래 4입니다 두 개의 함수가이 함수를 변경하려고 시도 할 때, 새 메시지 수는 3 또는 5가 될 것입니까? 4 번으로 돌아가고 싶습니다 증가와 감소 후에 그러나 여기에서, 최종 결과는 명백하게 쓰기가 완료되는 순서와 상관없이 잘못되었습니다 이 상황을 경쟁 조건이라고합니다

그게 제가 뭔가를하지 않으면 여기에있을 문제입니다 그것을 수정하십시오 좋은 소식은 데이터베이스로 쉽게 해결할 수 있다는 것입니다 트랜잭션 코드에서 어떻게 작동하는지 살펴 보겠습니다

먼저이 onCreate 함수가 업데이트 호출에서 약속을 반환합니다 이후로는 더 이상 작동하지 않습니다 업데이트가 완료되면 트랜잭션을 수행해야합니다 여기서 할 수있는 일은 비동기 사용을 기다리는 것입니다 먼저,이 핸들러 함수를 만들어 보겠습니다

비동기는 정의가 시작되는 키워드를 사용합니다 그런 다음 "return"대신 "await"키워드를 사용하겠습니다 업데이트가 완료 될 때까지 코드를 일시 중지합니다 그 후에 참조를 만들어야합니다 데이터베이스 내의 카운터의 위치로, 스냅 샷 심판을 시작으로 사용할 수 있습니다

이는 생성 된 노드의 위치를 ​​가리 킵니다 그런 다음 두 노드를 나무 위로 올립니다 참조의 parent 속성을 사용합니다 이제 방의 노드를 가리키는 참조가 있습니다 방에서 / [? roomId?]

이 위치에있는 메시지 개수 아이가 필요합니다 그래서 다른 참조를 만들기 위해 child 메소드를 사용할 것이다 그걸로 countRef가 참조하는 값은 다음과 같습니다 읽고 쓰기, 쓰기, 쓰기

이 참조에서 트랜잭션 메소드를 사용하겠습니다 트랜잭션을 수행합니다 트랜잭션 업데이트 기능이 필요합니다 그 함수는 값을 받는다 참조 위치에있는 데이터베이스의 이름

여기, 그 위치에서 메시지 카운트 값을 기대하고 있습니다 그리고 저는 그것을 단순히 증분하고 리턴 할 것입니다 트랜잭션에 새로운 값을 다시 쓰라고 알려주는 것입니다 이제 onDelete 트리거를 작성합니다 그것은 onCreate와 같으므로 복사하여 붙여 넣습니다

물론 이름을 바꾸어야합니다 또한 onCreate에서 트랜잭션을 복사합니다 내가 똑같이 될거야 이번에는 카운터 그리고 나는 여전히 거래에서 그 약속을 되돌려 줄 필요가 있습니다

그렇게해야합니다 이제 내 onCreate와 onDelete가 함께 작업하고 있습니다 각 방의 메시지 수를 관리합니다 사용중인 거래는 그들이 원자로라고 말하면서 중단의 가능성, 우리가 더 이상 존재하지 않는다는 것을 의미한다 경쟁 조건

코드에 경주의 가능성이없는 경우 조건을 지정하고 트랜잭션을 전혀 사용하지 마십시오 그것은 불필요하게 물건을 늦출뿐입니다 그러므로 신중하게 상황을 생각하십시오 실시간 데이터베이스 트랜잭션에 대해 더 자세히 알고 싶다면, 설명서를 읽으십시오 링크는 아래 설명에 있습니다

하지만 지금 당장이 코드를 테스트하여 어떻게 작동하는지 확인하고 싶습니다 이 연재물의 첫 번째 동영상을 기억한다면, 일련의 메시지를 추가하는 것을 시뮬레이트하는 스크립트가 있습니다 대화방에 나는 그것을 실행하고 Firebase에서 결과를 관찰 할 것입니다 콘솔

승인 명령 줄에서 스크립트를 실행합니다 메시지를 시뮬 레이팅하는 것을 확인하십시오 동시에, 콘솔에서 메시지가 나타납니다 그리고 메시지 수를 볼 수도 있습니다

각각의 새 메시지가 올라갑니다 그런 다음 콘솔에서 모든 메시지를 삭제하면 카운터 드롭이 0으로 되돌아가는 것을 볼 수 있습니다 그거 꽤 재미있어, 그렇지? 괜찮아 코드가 완료되었지만 한 가지 더 있습니다 onDelete에 대해 알고 싶습니다

아마도 핸들러 함수가 스냅 샷을 전달 받았다는 것을 알았을 것입니다 첫 번째 매개 변수로 개체 해당 스냅 샷에는 이전 데이터가 포함되어 있습니다 방금 방아쇠의 위치에서 삭제되었습니다 그러나 당신이 그 대상을 전혀 사용하지 않거나 문맥을 사용하지 않는다면, 당신은 핸들러 함수 정의에서 그것들을 남겨 둘 수 있습니다 그냥 물건을 깨끗하게 유지하는 것

승인 onCreate, onUpdate 및 onDelete 사용 클라우드 기능에서 트리거하면 모든 종류의 유용한 작업을 수행 할 수 있습니다 데이터베이스 변경에 대한 응답으로 그리고 onWrite 트리거도 있습니다 모든 변경 사항에 대해 해고 당할 수있는 또한 onCreate, onDelete 또는 onUpdate가 실행됩니다 그러나 스냅 샷 변경 사항을 파헤쳐 야합니다

무슨 일이 일어 났는지 정확히 알아 내기 그래서 나는 다른 세 가지 트리거를 사용합니다 그들이 더 쉽기 때문에 모든 경우에 해킹으로부터 코드가 안전합니다 언제든지 로직을 업데이트 할 수 있습니다

앱을 다시 빌드하고 게시 할 필요가 없습니다 클라우드 기능은 강력합니다 하지만 그들과 함께 일한 후에 쓰기, 배포 및 테스트 속도가 느리다 귀하의 기능을 반복적으로 클라우드 기능을 사용하여 해당주기의 속도를 높일 수 있습니다

에뮬레이터 그리고 데이터베이스를 위해 어떻게하는지 보여 드리겠습니다 다음에 트리거합니다 그러므로 Firebase 채널에 바로 접속하십시오 YouTube에서 동영상을 볼 수 있습니다

그리고 나는 너를 볼거야 [음악 재생]