ko zh ko ko ko ko fi ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko en ko ko ko ko ko en ko ko ko ko ko ko ko ko de
느리고 느린 Angular 앱의 성능을 향상시킬 수 있는 5가지 방법을 알아보세요.
Angular 애플리케이션의 일부가 여전히 느린 이유가 궁금하십니까? 이 기사에서는 애플리케이션 성능을 향상시킬 수 있는 방법을 보여줍니다.
Angular 응용 프로그램이 느리고 느리지만 향상 방법을 모르십니까? 애플리케이션 성능을 향상시키는 5가지 방법에 대해 알아보기 위해 이 기사를 바로 살펴보겠습니다.
많은 개발자들이 Angular 팀이 애플리케이션 성능을 향상시키기 위해 제공하는 이 서비스를 놓쳤습니다. 기본적 으로 setTimeout , requestAnimationFrame 등과 같은 모든 비동기 작업 은 Angular 영역 내에 있으므로 구성 요소에서 변경 감지 를 트리거하고 구성 요소가 큰 경우 웹 사이트 속도가 느려집니다. 따라서 DOM에서 변경 감지가 필요하지 않은 비동기 함수가 있는 경우 콜백 함수 라는 메서드를 사용하여 서비스 내에서 비동기 함수 를 실행할 수 있습니다 .ngZonerunOutsideAngular
구성 요소가 활성(스마트) 섹션과 비활성(덤) 섹션으로 구성된 경우 리팩토링을 고려하고 이를 스마트 및 덤 구성 요소로 분할해야 합니다. 예를 들어, 아래 예에서,
입력과 데이터 목록이 있습니다. 입력 섹션은 사용자가 입력할 때 키 이벤트 작업을 계속 트리거하고 목록 섹션에 아무 작업도 수행하지 않은 경우에도 전체 구성 요소에 대한 변경 감지 검사를 트리거합니다. 목록이 복잡한 목록이고 변경 감지에 많은 비용이 소요될 수 있다고 상상해 보십시오.
따라서 더 나은 접근 방식은 입력 섹션과 목록 섹션을 2개의 개별 구성 요소로 분할하고 상위 구성 요소 아래에 보관하는 것입니다. 이러한 방식으로 InputComponent의 주요 이벤트는 ListComponent에 대한 변경 감지에 영향을 미치거나 트리거하지 않습니다. 목록 데이터가 방대하고 복잡한 계산이 많이 포함된 경우 성능을 크게 절약할 수 있습니다.
위에서 언급한 구성 요소를 분할하는 것 외에도 구성 요소의 성능을 향상시키기 위해 구성 요소 의 changeDetection 전략 을 조정할 수도 있습니다 . 기본적으로 Angular CLI 를 사용하여 구성 요소를 생성할 때 기본 changeDetection 전략은 OnDefault이 구성 요소의 데이터가 변경될 때마다 DOM 업데이트를 만듭니다. 각도 검사는 구성 요소 트리 내에서 변경됩니다. 따라서 부모 또는 루트 요소에 변경 사항이 있으면 자식 및 손자 구성 요소에 대한 DOM 업데이트가 트리거됩니다.
Angular가 호출할 때마다 DOM만 확인하고 업데이트 하도록 ListComponent changeDetection 전략을 업데이트할 수 있습니다.OnPush
ChangeDetectorRef 를 구성 요소 생성자에 주입 하고 markForCheck() 메서드를 호출하여 구성 요소와 그 아래의 자식 구성 요소가 변경 사항을 확인하고 그에 따라 DOM을 업데이트하도록 합니다. 또한 이 부모/루트 구성 요소의 구성 요소 트리에 데이터 변경에 관계없이 DOM 업데이트가 필요하지 않은 자식 구성 요소(dumb 구성 요소)가 있는 경우 detach() 메서드 를 사용하여 구성 요소에서 changeDetector 를 분리하도록 선택할 수 있습니다. .
구성 요소에 changeDetectorRef 주입:
detach구성 요소를 변경 감지에서 분리하려면 생성자에서 메소드를 호출 하십시오. 이 작은 변경으로 메모리를 크게 절약하고 구성 요소의 다시 렌더링 주기를 최적화할 수 있습니다.
4. 메서드 대신 파이프 사용
Angular 템플릿 바인딩은 훌륭합니다. 변수를 바인딩하고 템플릿에 기능을 사용할 수도 있습니다. 저와 같은 많은 분들이 함수 호출 을 사용하여 데이터를 변환하는 것이 편리하고 구현하기 쉽기 때문입니다.
예: 목록에 항목 추가 입력
위의 간단한 예를 보면 별 차이를 느끼지 못할 것입니다. 그러나 하나의 새 항목이 목록에 추가될 때마다 목록의 모든 항목에 대해 함수 호출 이 호출되지만 파이프 는 목록 의 항목 값이 변경될 때만 호출된다는 것을 알고 계십니까? 따라서 실제로 무엇을 하고 있는지 알지 못하는 한 템플릿에서 함수 호출 을 수행하는 것을 피하십시오. 대신 항상 데이터 변환을 처리하기 위해 사용자 정의 순수 파이프 를 생성하도록 선택하십시오.
5. 긴 데이터 세트 목록에 대해 가상 스크롤 또는 무한 스크롤 또는 페이지 매김 사용
관리자 또는 고객에게 표시해야 하는 긴 항목 목록이 있습니까? 브라우저가 웹 앱에서 100개 이상의 DOM 항목을 렌더링하는 데 너무 오래 걸리나요? 웹 앱에서 가상 스크롤 또는 무한 스크롤 전략을 사용할 때입니다. 가상 및 무한 스크롤은 사용자가 볼 수 있는 항목을 표시하기 위해 브라우저에서 DOM 요소를 재사용하고 재활용하는 데 도움이 됩니다. 목록에 숨겨진 항목은 DOM에 없으므로 웹 앱의 렌더링 시간을 절약하는 데 도움이 됩니다. 이러한 전략은 주어진 긴 항목 목록에서 사용자에게 표시하려는 DOM 요소의 수를 최적화하고 해당 스크롤 지점에서 보기에 없는 목록의 항목을 렌더링하지 않는 데 도움이 됩니다. 자세한 내용은 여기에서 설명하지 않겠습니다.
Angular Material 또는 ngx-virtual-scroll 을 사용하여 가상 스크롤에 대해 자세히 알아볼 수 있습니다 . ngx-infinite-scroll 을 사용하여 무한 스크롤에 대해 자세히 알아볼 수도 있습니다 . 또는 아래의 이 웹사이트를 방문하여 스크롤 가능한 항목의 긴 목록을 최적화하는 데 사용할 수 있는 더 많은 플러그인과 도구를 찾을 수 있습니다.
테스트 및 개발할 때 브라우저에서 구성 요소의 성능을 측정할 수 있도록 Angular Devtools Chrome 확장 프로그램 을 설치할 수 있다는 것을 알고 계십니까?
확장 프로그램을 설치했으면 크롬 개발 도구를 열고 크롬 개발 도구의 탭 목록에서 Angular를 찾을 수 있습니다. 기록을 시작하고 애플리케이션에서 작업을 수행하고 기록을 중지하여 성능 정밀 검사가 있는 작업을 분석할 수 있습니다.
이 기사가 Angular 애플리케이션의 성능을 향상시키는 방법에 대한 단서를 제공했기를 바랍니다. 위의 5개 포인트 + Angular devtools 확장을 사용하여 애플리케이션에서 성능을 더 많이 사용하는지 식별하십시오.
Angular 응용 프로그램을 최적화하는 데 도움이 되는 다른 성능 향상 팁이 있으면 아래 의견에 알려주십시오. 저도 그것에 대해 배우고 싶습니다. 건배!
PlainEnglish.io 에서 더 많은 내용을 확인하세요 . 무료 주간 뉴스레터 에 가입하십시오 . Twitter 와 LinkedIn 에서 팔로우하세요 . Community Discord 를 확인 하고 Talent Collective 에 가입하십시오 .
DFINITY 블록체인의 분산형 클라우드 비전
편집자 주: 보관 목적으로 보존되고 있는 DFINITY 블로그의 오래된 자료를 보고 계십니다.
이 게시물은 DFINITY 팀의 분산형 클라우드 비전과 이것이 기존 블록체인 및 Amazon Web Services와 같은 기존 클라우드 공급자와 어떤 관련이 있는지 살펴봅니다. 대규모 네트워크에 의해 적용된 DFINITY 기술의 시연은 2017년 가을에 이루어지며 지원하는 비영리 재단을 위한 주요 기금 마련이 뒤따를 것이며 "오픈 클라우드" 네트워크는 2018년 초여름에 출시될 예정입니다. .
늦여름과 가을은 그리운 계절입니다. 가로등은 비오는 거리를 가로질러 빛을 비추고, 발밑의 나뭇잎은 - 황혼의 그림자 속에서 음소거된 붉은 오렌지색 -은 지나간 날을 상기시켜줍니다.
측정항목이 성공을 정의하지 않습니다.
성공이 임팩트가 아니라 규모라고 믿는다면 여전히 마이너 리그에서 뛰고 있는 것입니다. 어느 날 온라인에서 나는 "큰 사람"에 대해 읽습니다.
옵션 전달이 BTCÐ에 가까워지고 있어 매크로가 변경되기 전에 게임을 악화시키고 가격이 주로 변동합니다 — 2022.7.25
현재 요약: 현재의 거시적 상황은 변함이 없지만 금리 인상 시점이 가까워질수록 더 많은 "예측" 칩이 시장을 떠나게 되는데 이는 정상적인 현상입니다. 투자자에게 미치는 영향은 감정적일 뿐만 아니라 음식, 의복, 주택 및 교통과 같은 다양한 측면에서 모든 미국인에게 영향을 미칩니다. 더 많은 투자자들이 칩을 거래소에 미리 이체하거나 하락장에서 매도할 준비를 하고 있는 것도 바로 이 때문이다. 아침 6시 45분에 부숴져 지금까지 부숴졌습니다. 그것은 딥의 감정적인 면에 대한 공황이며 적절한 타이밍입니다. 그러나 나는 여전히 일주일 동안 말했다.현재 거시 경기 여건은 여전히 ​​​​대규모 하락 및 상승 추세를지지하지 않습니다.금리 인상과 GDP가 실제로 상륙하지 않기 전에 전반적인 충격 패턴은 변경되기 어렵습니다 . 사실 이 정도의 스매싱은 토,일요일 아침마다 일어나는데 불과 이틀 전만 해도 잡히고 그 뒤로는 움직임이 없었다가 오늘은 잡히지 않아 패닉에 빠진 후속조치를 촉발했다. 오늘 오전 10시 기준 BTC 포지션의 가격 분포와 어젯밤 23시부터 현재까지의 데이터는 오늘 아침 이른 아침부터 시작된 급등과 이어지는 폭락을 방금 경험했지만 큰 폭은 보이지 않았습니다. BTC 주소의 변경 횟수 변경의 규모, 이러한 기복이 지나치게 강한 반응을 일으키지 않고 거래소에 미리 저장된 칩의 감정적 변화를 더 많이 유발한다고 판단할 수 있기 때문입니다. 양측의 극단적인 가격으로 판단할 때 고대인이 보유한 BTC는 주말 동안 여전히 정상적인 변동 범위를 따르며 전체적으로 200개 이상의 BTC만 시장을 떠나고 높은 수준에서 보유된 칩은 크게 변동했습니다. 주로 $51,000 정도. 거의 1,900 BTC에 달하는 BTC의 변동이 있지만 교차 비교 후 가장 큰 가능성은 여전히 ​​거래소의 거래소에서 나오므로 실제로 높은 수준에 잠겨 있는 칩의 변동은 150 미만에 불과합니다. . 이 이전을 포함하더라도 $24,000를 초과하는 전체 손실 스택의 감소는 4를 초과하지 않았습니다. 200 BTC 단기 상승이든 하락이든 가장 큰 비중을 차지하는 잃는 칩이 아무런 반응이 없다는 뜻으로, 큰 폭의 하락은 없을 것이라고 판단하는 이유다. 주말에 남아있는 낮은 변동성보다는 주소가 변경됩니다. 게다가 초기 손익 칩의 변화가 줄어들고 있을 뿐만 아니라 현재 분쟁 가격하의 단기 오퍼레이션 칩도 큰 반응을 보이지 않고 있으며 주말에도 전반적인 매도 압력이 낮은 편이다. 거래소로 전송된 BTC 데이터를 보면 오늘 오전 8시 현재 매도 압력이 계속 하락하고 있어 지난달 최저치에 육박해 매도 의향이 크지 않음을 알 수 있다. 상세 데이터에서도 6시 45분부터 떨어지기 시작했지만 이 기간 동안 발생한 매도 압력은 크지 않았고 오전 8시 30분 이후에 나타난 강한 매도 압력만 있었음을 알 수 있다. 거래소로 이전되는 매도압력에 비해 거래소에서 출금되는 금액은 그리 크지 않고 전체적인 매도압력을 커버할 수는 있지만 이 정도의 구매력은 여전히 ​​쇼크의 상황을 바꾸기에는 턱없이 부족하다 가격변동 유동성이 낮은 주말. 상세 데이터를 보면 베이징 시간 8시 이후 매도 압력이 높아지면서 출금 횟수도 증가하기 시작했지만 상대적으로 일부는 방심했다는 것을 알 수 있다. 그러나 전반적인 게임 상황의 관점에서 볼 때 매도에 칩이 많지 않고 구매력이 정체되지 않았기 때문에 오히려 적극적으로 구매하고 해당 칩을 외부에서 이전하고 있습니다. 거래소에서도 자금이 반응 후 매수의향이 유지되어 대규모 하락이 일어나기 어렵다는 것을 증명합니다. 뇌진탕은 여전히 ​​주요 주제입니다. 거래소의 BTC 주식 데이터를 보면 주말에 유통량이 적은 상황에서도 여전히 거래소에서 계속 손실되는 칩이 많다는 것을 알 수 있습니다. 이는 구매력이 훨씬 높다는 것을 의미할 뿐만 아니라 매도 압력보다 높을 뿐만 아니라 현재의 경제적 파벌을 나타냅니다. 인플레이션의 정점과 물가의 바닥에 대한 기대. 주식의 상세 데이터를 보면 오전 8시 이전에는 가격이 하락했음에도 불구하고 거래소의 주식이 지속적으로 하락하고 있음을 알 수 있다. 8시 이후에는 완전히 달라졌다. 따라서 가격이 하락한 오전 6시 45분부터 전체 매도가 시작되지 않았음을 분명히 알 수 있다. 대규모 매도는 그 시점 이후에야 감정에 의해 주도되었습니다. 현재 자금 규모가 적고 사업 능력이 부족한 것이 사실이지만 대규모 패닉 셀링을 촉발하지는 않았다. 현재 BTC 무기한 계약 데이터로 판단하면, 자금 조달 비율은 가격 하락으로 약세를 나타내지 않고 대신 대규모 강세 감정을 가지고 있으며, 이는 현재 감정이 더 많이 나타남을 보여줍니다. 투자자들은 이것이 단지 단계적 하락일 뿐이라고 믿고, 그리고 BTC는 미국 인플레이션이 정점에 도달하더라도 여전히 바닥을 칠 것입니다. 사실 오늘 하락할 이유가 없고, 이번 금요일이 BTC 및 ETH 옵션의 월별 배송이기 때문에 감정의 약세 변화에 의해서만 주도되는 것은 아닙니다. 배달 전은 매번 가장 큰 고충과 거리가 멀기 때문에 옵션 배달에 신경을 쓰는 작은 파트너가 훨씬 적고 특히 옵션 판매자는 무력하고 이번 달은 다릅니다. 7월 말 BTC 옵션의 가장 큰 고충은 23,000달러로 오늘 아침 하락 전 가격과 정확히 일치합니다. 가장 큰 골칫거리이자 가장 롱숏게임이기도 한 치열한 상황. 현재 공매도 비율은 0.83이며, 강세장은 계속해서 작은 범위에서 앞서고 있으며, 현재 열려 있는 옵션은 76,654개이며 예상 금액은 거의 17억 달러입니다. 그래서 경쟁이 더욱 치열해질 것입니다. ETH의 가장 큰 문제점은 $1,400에 불과하며 현재 가격은 최근 몇 개월 동안 보기 드문 가장 큰 문제점보다 여전히 높습니다.
11월 진정한 범죄 수정
이번 달의 모든 신규 구독자와 작가님들을 진심으로 환영합니다. 당신은 당신의 무리에 나타났고 우리는 그것에 대해 감사합니다. 우리는 여기에 환상적인 커뮤니티를 구축하고 있으며 귀하의 의견과 기사를 읽는 것이 좋습니다.
집에서 영어를 배우기 위해 어떻게 벌었습니까?
이 블로그에서 나는 영어에 대한 접근 방식을 변경하기로 결정한 방법과 이유, 그리고 내가 한 활동 중 일부를 통해 돈을 벌어서 1년도 채 되지 않아 가난한 B1에서 시작하여 레벨 B2에 도달한 방법에 대해 논의할 것입니다. 목차 비록 학교에서 모범생은 아니었지만 영어를 배우는 것은 항상 제 문화적 배경에 추가하고 싶은 것이었습니다.