标签:关于 成就 阅读 ons inf 为什么 sha code 用两个
Algorithm:每周至少做一个leetcode的算法题;
Review:阅读并点评至少一篇英文技术文章;
Tip/Techni:学习至少一个技术技巧;
Share:分享一篇有观点和思考的技术文章。
本周的算法题是一道关于链表的题目19. Remove Nth Node From End of List,给定一个列表,要求移除倒数第n个节点,并返回头结点。
?
由于我们并不知道列表有多长,所以得遍历列表探测当前节点是否是列表尾节点,又因为我们需要移除倒数第n个节点,因此我们使用两个间距为n的指针来指向前后两个节点,当前面的节点指向尾节点的时候,后面的指针指向的节点的下一个节点正好是我们需要移除的倒数第n个节点。
?
public ListNode removeNthFromEnd(ListNode head, int n) {
//哨兵节点
ListNode guard = new ListNode(0);
guard.next = head;
ListNode first = guard;
ListNode second = guard;
for (int i = 0; i < n + 1; i++) {
first = first.next;
}
while (first != null) {
first = first.next;
second = second.next;
}
//当first走到尾节点的时候,second.next就是我们要移除的节点
second.next = second.next.next;
return guard.next;
}
?
Beancon API是一种基于js的web api,可以用于将少量数据从浏览器发送到给web服务端,而不用等待响应。在这篇文章里,我们将看到它能用来做什么,它和ajax技术的不同点,以及如何使用它。
?
Beancon使用场景,例如Google Analytics只需要记录页面行为发送到服务器而无需获取服务器的响应。
另一种使用场景是从js代码中记录信息,它可以在游戏创建保存点,收集有关功能使用的信息,或记录多变量测试的结果,这些事情都可以考虑使用Beacon。
?
通常,你可以使用unload或beforeunload事件来执行日志记录。 当用户执行类似跟踪页面上的链接以导航时,会触发这些操作。 这里的问题是在其中一个卸载事件上运行的代码可以阻止执行并延迟卸载页面。 如果页面的卸载被延迟,那么加载下一页也会延迟,因此体验感觉非常缓慢。Beacon通过排队请求而不阻塞来解决这个问题,将控制权立即返回到您的脚本。 然后浏览器负责在后台发送该请求而不会阻塞。 这使得一切都变得更快,这让用户更快乐,让我们都能保住工作。
?
使用Beancon很简单,代码如下:
let result = navigator.sendBeacon(url, data);
返回一个boolean类型的结果,如果浏览器接受请求并将其排队,则为true;如果执行此操作,则为false。
?
navigator.sendBeacon
方法有两个参数,第一个参数是要请求的URL,请求类型是POST,发送第二个参数中所带的数据。
// URL to send the data to
let url = '/api/my-endpoint';
// Create a new FormData and add a key/value pair let data = new FormData(); data.append('hello', 'world');
let result = navigator.sendBeacon(url, data);
if (result) {
console.log('Successfully queued!');
} else {
console.log('Failure.');
}
?
Beancon支持绝大多数浏览器,除了IE(支持Edge)和Opera mini,可以使用navigator.sendBeacon
测试当前浏览器是否支持。
if (navigator.sendBeacon) {
// Beacon code
} else {
// No Beacon. Maybe fall back to XHR?
}
?
除了上文,文中还展示了一个在页面上记录时间的实例。
?
Beancon API是一种非常有用的方法可以把数据从页面发回服务器,尤其是在记录上下文环境中。它支持的浏览器也非常广泛,它使您能够无缝地记录数据,而不会对用户的浏览体验和站点性能产生负面影响。请求的非阻塞性质意味着比XHR、Fetch等其他替代方案有更快的性能。
?
更多信息请查阅下列文章:
这周学习用pyqt5写了个带GUI的python小软件,但也仅仅是使用了pyqt的一点皮毛而已,在此只是推荐一下pyqt,作为使用python编写GUI的一个选择。
?
今天分享一篇比较有意思的文章,来自于React团队成员、Redux作者Dan Abramov的年终总结Things I Don’t Know as of 2018,文章主要叙述了作者不是很擅长的一些知识,比如Unix命令、bash、低级语言、容器、python、node后端、java等等,作者在文章的结尾道出了他写作此文的意图:
标签:关于 成就 阅读 ons inf 为什么 sha code 用两个
原文地址:https://www.cnblogs.com/muxuanchan/p/10206058.html