ARTS는 두 번째 주를 단계별로 시작합니다.

소개

Shopkeeper 3를 아시는 분이라면 제가 6년 동안 기술 블로그를 만들어 왔으며 매달 6개 이상의 블로그 게시물을 정기적으로 게시한다는 사실을 아실 것입니다. 동시에 공유를 좋아하는 개발자로서 나에게는 ARTS와 같은 활동이 빼놓을 수 없는 것이 당연하다. 함께 공유할 예정이라 이전에 로컬 문서 녹음을 해본 적이 있어서 내용만 통합하면 2주차 체크인을 시작하겠습니다.

연산

이번 주 공유하는 알고리즘 질문은 Leetcode-70( LeetCode 공식 홈페이지 - 전 세계 괴짜들에게 사랑받는 기술 성장 플랫폼 ) 의 고전적인 알고리즘 질문인 계단 오르기 문제입니다.

문제 설명: 사람이 계단을 오를 때 한 걸음에 한 층만 걸을 수 있고, 한 걸음에 두 층만 걸을 수 있습니다. 총 몇 가지 방법이 있습니까?

입력: 총 계단 수

결과: 이동하는 방법에는 여러 가지가 있습니다.

문제 해결 아이디어:

이 문제는 재귀적인 문제입니다.

1. 총 계단 수는 1개입니다. 한 번에 한 걸음씩 걷는 길은 한 가지입니다.

2. 총 계단 수는 2개이며, 걷는 방법은 두 가지가 있습니다.

1) 한 걸음씩, 두 걸음씩

2) 한 번에 두 층씩 걷고, 한 번에 한 걸음씩 걷는다.

3. 총 레벨 수가 n인 계단에는 몇 가지 방법이 있습니까?

레벨 n에 도달할 수 있는 가능성은 두 가지뿐입니다.

1) n-1층에서 n층으로 한 단계(한 단계씩) 올라갑니다.

2) n-2층에서 n층까지 1단(1단, 2층) 올라가세요.

최종 방법:

총 계단 수 n일 때 걷는 길 = 총 계단 수 n-1일 때 걷는 길 + 총 계단 수 n-2일 때 걷는 길

레벨 0에는 이동 횟수가 0번 있다는 점을 제외하면 피보나치 수열과 유사합니다.

참고: 레이어 0에 0가지 유형, 레이어 1에 1가지 유형, 레이어 2에 2가지 유형, 레이어 3=레이어 2+1, 레이어 4=레이어 3+2,…

JS를 사용하여 구현한 코드는 다음과 같습니다.

function step(n){
    if(n <= 2){
        return n;
    }
    var n1 = 1;
    var n2 = 1;
    var sum = 0;
    for(var i = 3;i<=n;i++){
        sum = n1+n2;
        n1 = n2;
        n2 = sum;
    }
    return sum;
}

검토

최근 Web 3의 기술에 대해 연구하고 있습니다. Web 3와 관련된 기사를 몇 가지 공유하겠습니다. 이 기사는 Ethereum 트랜잭션의 전체주기에 관한 것입니다. 특정 기사 링크: Notonlyowner | 1 DAI 를 보내면 어떻게 되나요?

초보자로서 이 기사를 읽으면 이더리움의 전체 거래 주기에 대한 예비 이해를 갖게 될 것입니다. 기사에서 발췌한 내용을 공유해 보겠습니다.

가스 마법

다음 단계는 거래에 대해 지불할 금액을 결정하는 것입니다. 모든 트랜잭션은 트랜잭션을 실행하고 검증하는 데 시간과 리소스가 소요되는 노드 네트워크에 수수료를 지불해야 한다는 점을 기억하세요.

거래 실행 비용은 ETH로 지불됩니다.  그리고 ETH의 최종 금액은 거래에서 소비하는 순 가스의 (즉, 계산 비용이 얼마나 드는지), 소비한 각 가스 단위에 대해 지불할 의향이 있는 금액, 네트워크가 허용할 의향이 있는 금액에 따라 달라집니다.  최소한.

사용자 관점에서 볼 때 결론은 일반적으로 더 많은 비용을 지불할수록 더 빠른 거래가 포함된다는 것입니다. 따라서 다음 블록에서 Vitalik 1 DAI를 지불하려면 가스가 더 저렴해질 때까지 몇 분(또는 그 이상, 때로는 훨씬 더 오래)을 기다리는 것보다 더 높은 수수료를 설정해야 할 것입니다.

지갑마다 가스 비용을 결정하는 데 서로 다른 접근 방식을 취할 수 있습니다. 나는 모든 사람이 사용하는 단일 방탄 메커니즘을 알지 못합니다. 올바른 수수료를 결정하기 위한 전략에는 노드에서 가스 관련 정보(예: 네트워크에서 허용하는 최소 기본 수수료)를 쿼리하는 것이 포함될 수 있습니다.

다음 단계는 거래에 대해 지불할 금액을 결정하는 것입니다. 모든 거래는 노드 네트워크에 수수료를 지불해야 하며 이를 실행하고 검증하는 데 시간과 리소스가 필요하다는 점을 기억하세요.

거래 실행 비용은 ETH로 지불됩니다. ETH의 최종 금액은 거래에서 소비하는 순 가스의 양(즉, 계산 비용이 얼마나 높은지), 소비된 가스 단위당 지불할 의사가 있는 금액, 네트워크가 허용할 의사가 있는 최소 금액에 따라 달라집니다.

사용자 관점에서 볼 때 결론은 일반적으로 더 많은 비용을 지불할수록 거래가 더 빨리 포함된다는 것입니다. 따라서 다음 블록에서 Vitalik 1 DAI를 지불하려면 가스가 더 저렴해질 때까지 몇 분(또는 그 이상, 때로는 더 오래)을 기다리는 것보다 더 높은 수수료를 설정해야 할 수도 있습니다.

지갑마다 가스 가격을 결정하는 데 서로 다른 접근 방식을 취할 수 있습니다. 모두가 어떤 방탄 장치를 사용하는지 모르겠습니다. 올바른 수수료를 결정하기 위한 전략에는 노드에서 가스 관련 정보(예: 네트워크에서 허용하는 최소 기본 수수료)를 쿼리하는 것이 포함될 수 있습니다.

기술/팁

이번에는 여전히 프론트 엔드 개발에 대한 중요하고 고전적인 지식 포인트를 공유합니다. 키와 함께 diff 알고리즘을 사용하지만 인덱스를 값으로 사용하는 것과 관련하여 즉, 그 자리에서 직접 업데이트할 수 있습니다. 새로운 virtual DOM을 추가하면 키의 존재 여부가 바로 업데이트됩니다. 이 태그의 업데이트된 내용을 재사용하세요. 키가 존재하지 않는 경우 직접 새 태그를 생성하세요.

구체적인 예는 다음과 같습니다.

<ul id="content">
    <li v-for="(item, index) in array" :key="index">
        {
   
   { item }}
        <input type="text">
    </li>
</ul>
<button @click="addClick">在下标为1的位置新增一行</button>
export default {
    data(){
        return {
            array: ["11", "44", "22", "33"]
        }
    },
    methods: {
        addClick(){
            this.array.splice(1, 0, '44')
        }
    }
};

위 코드에서 볼 수 있듯이 v-for 루프를 통해 새로운 DOM 구조가 생성되는데, 여기서 키는 연속적이고 데이터와 일치한다.그런 다음 새로운 DOM 구조와 기존 DOM 구조를 비교하고 차이점을 찾아낸다. diff 알고리즘을 적용한 후 패치를 페이지에 적용하고 마지막으로 새 li를 추가한 다음 두 번째 요소부터 내용을 업데이트합니다.

공유하다

이번에는 DTU와 관련된 내용을 몇 가지 공유하고, 개인적인 관점에서 DTU의 특징을 살펴보겠습니다. 개인적으로 DTU의 특징은 높은 보안성, 사용의 용이성, 2차 개발, 원격 업그레이드, 저렴한 비용이라는 5가지 측면이 있다고 생각합니다.

높은 보안성은 DTU의 기본 특성 중 하나이며 DTU 장비 및 데이터의 보안을 보호하기 위해 방화벽, 데이터 암호화 및 인증 메커니즘과 같은 다양한 보호 장치를 갖추고 있습니다. DTU는 데이터 전송을 암호화하여 데이터의 보안을 보장하고 데이터 유출 위험을 방지할 수 있습니다.

DTU의 사용 용이성도 장점 중 하나입니다. 사용자 친화적인 인터페이스와 간단하고 이해하기 쉬운 작동 절차를 채택하여 사용자가 빠르고 효과적으로 학습 비용을 절감할 수 있습니다.

DTU는 간단한 구성 및 설정을 통해 장치의 상호 연결 및 상호 운용성을 신속하게 실현할 수 있으며 2차 개발도 수행할 수 있습니다. 사용자는 JavaScript를 통해 2차 개발 및 맞춤형 개발을 수행하여 보다 개인화된 요구를 충족할 수 있습니다.

원격 업그레이드 가능성도 DTU의 중요한 기능으로, 현장 작업에 영향을 주지 않고 DTU 장비를 원격으로 업그레이드할 수 있어 현장 유지 관리 인력의 작업을 크게 촉진합니다. 즉, DTU는 원격 업그레이드를 통해 장비를 업그레이드할 수 있어 장비 가동 중단 및 업그레이드로 인한 생산 손실을 방지할 수 있습니다.

DTU는 또한 저비용 특성을 갖고 있어 가격이 저렴하여 대규모 애플리케이션에 사용할 수 있을 뿐만 아니라 투자 회수 기간을 크게 단축할 수 있습니다. 사물 인터넷 분야에서 중요한 장치가 됨으로써 기업의 장비 비용을 크게 절감하고 기업의 "비용 절감 및 효율성 증가" 효과를 향상시킬 수 있습니다.

결론

이번 나눔은 여기까지입니다. 2주차는 차근차근 진행됩니다. 일반적으로 이런 것들을 따로 공부하면서 매일 시간을 내어 공부하고, 주말에 요약을 하는 것이 좋습니다. 네 가지를 하나씩 완성한 후에는 프로그래밍 사고력이 점차 향상될 수 있으며, 계속해서 미묘하게 발전하고 성장할 수 있습니다! 다음 주에 뵙겠습니다!

추천

출처blog.csdn.net/CC1991_/article/details/132861829