ARTS week1
Algorithm
第一次尝试算法题,希望在后面的学习中慢慢提高
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array
Review
来源:http://blog.thefirehoseproject.com/posts/learn-to-code-and-be-self-reliant/
步履蹒跚的中英文对比看完了整篇文章,主要讲了开始学习编程的两个问题,第一步是熟悉编程,第二步是学习编程。
第一步主要是根据教程,也就是根据前人整理的路线,快速入门,学会写代码。这一步应该就是达到了初级或中级程序员的水平,也就是开发的第一个拐点The web development inflection point,学会building any database-driven application,基础的增删改查。通过代码中的bug和错误信息来提高编程的经验。大部分情况下,这一步都是按照别人的教程来的,学的很快,但不是自己思考总结得到的,很难提高独自解决问题的能力。
第二步就是抛开教程,独自学习。首先是学习特定领域的知识(domain-specific knowledge),学习算法和数据结构这种与具体编程语言无关的知识,触类旁通,入手其它语言也就很快了。这一步最关键的就是抛开别人的教程,通过第一手的资料、文档、博客还有第一步学到的基础知识(如果不扎实还要继续深入学习)掌握通用的知识。
第二步注定是令人沮丧的,困难的,就像在黑暗中摸索,不会像第一步一样快速,但相比较下更重要。所以心态很重要,不要被打击到,要坚持,每天都超越昨天的自己,总会见到阳光的。
最后,在这个过程中最重要的是坚持,要保持一个轻松的心态,不要过于劳累,这样只会延迟通过转折点的时间(但轻松不是拖延症的接口)。
Tip
Spring Boot的自动重启
加入依赖
可以通过设置触发文件防止每次都重启spring.devtools.restart.trigger-file
Share
最近看的一篇,http API认证,最开始使用session识别用户,后来使用token来识别用户,总感觉有些粗糙,相当于简化版的jwt token。
最主要的是区分Authentication(认证)和Authorization(授权);编码Base64Encode、签名HMAC、加密RSA,编码是为了更快的传输,签名是为了信息不被篡改,加密是为不让别人看到信息
https://coolshell.cn/articles/19395.html
评论