写点什么

ARTS 打卡第 5 周:HTTP 服务的 4 种认证方法分析

作者:前行
  • 2023-09-23
    广东
  • 本文字数:1522 字

    阅读完需:约 5 分钟

Algorithm

题目:Leetcode 21. 合并两个有序链表

Java 语言版

// 时间:0ms,内存:38.87MB/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode() {} *     ListNode(int val) { this.val = val; } *     ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */class Solution {    /**     * 解法:遍历法     * <p>     * 时间复杂度:O(M+N)  M、N分别是链表的长度     * 空间复杂度:O(1)     */    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {        // 虚拟头结点        ListNode preHead = new ListNode(-1);        // 新链表当前位置        ListNode pos = preHead;        while (l1 != null && l2 != null) {            // 2链表头节点值做比较,较小的节点添加到新链表中            if (l1.val < l2.val) {                pos.next = l1;                l1 = l1.next;            } else {                pos.next = l2;                l2 = l2.next;            }
// 新链表向后移动一位 pos = pos.next; }
// 剩余的链表直接拼接到新链表尾部 pos.next = (l1 == null ? l2 : l1);
return preHead.next; }}
复制代码

Go 语言版

// 时间:0ms,内存:2.32MB
/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */func mergeTwoLists(list1 *ListNode, list2 *ListNode) *ListNode { var preHead ListNode pos := &preHead
l1 := list1 l2 := list2
for { if l1 == nil || l2 == nil { break }
if l1.Val < l2.Val { pos.Next = l1 l1 = l1.Next } else { pos.Next = l2 l2 = l2.Next }
pos = pos.Next }
if l1 == nil { pos.Next = l2 } else { pos.Next = l1 }
return preHead.Next}
复制代码

Review

原文链接:想成为高级开发,必备的后端工程项目。包括了


  • RESTful API with Authentication & authorization 认证、授权和 RESTful 风格 API

  • Task Scheduling & Background Jobs using a Job Queue 任务调度

  • Real-time Chat Application using WebSockets WebSockets 构建的实时聊天应用

  • Microservices Architecture with Communication Protocols 微服务

  • Distributed Systems that are Scalable & Fault-Tolerant 大规模、容错的分布式系统

  • Putting Together a Content Delivery Network (CDN) CDN 内容分发网络

  • Implementing a Caching Layer to Improve Performance 缓存提升性能

  • Creating & Improving Relational Database Schemas 关系性数据库

  • Creating a Data Processing & Web Scraping Service 数据处理

  • Creating a Data Visualisation Analytics Dashboard 数据可视化分析大屏


Tip

原文链接:https://xie.infoq.cn/article/f57fe384726e0cbe06c4e5b01


本期分享的是 HTTP 服务的 4 种认证方法分析。构建安全的应用是每个开发者都应该考虑的问题安全性是非功能性软件特性(性能、可拓展性、可用性、安全性...)之一。可能在工作中这部分功能不用你来开发,但是了解认证、授权的基本原理和解决方案同样有着重要的意义。

Share

Great team + average idea > average team + great idea


Idea is wroth nothing, execution is everything


AfterShip 十周年演讲全文(视频版)


AfterShip 十周年演讲全文(文字版)


发布于: 刚刚阅读数: 3
用户头像

前行

关注

还未添加个人签名 2018-09-06 加入

还未添加个人简介

评论

发布
暂无评论
ARTS 打卡第 5 周:HTTP 服务的4种认证方法分析_习惯养成_前行_InfoQ写作社区