22. Generate Parentheses (Medium)
给你一个数字 n
,你需要用 n
对括号进行组合,找到所有可能的组合。
没对括号需要正常关闭才算一个有效的组合。
删除链表的指定节点,返回修改后的链表 head
。
Given the
head
of a linked list, remove thenth
node from the end of the list and return itshead
.Follow up: Could you do this in one pass?
Homelab 使用一段时间,有时 ssh 登陆上去会提示这样一段信息。
There were xxxxx failed login attempts since the last successful login.
这说明有不明身份的人正在尝试暴力破解我们的 root 用户密码。通常是黑客的 robot 程序在寻找容易入侵的机器。
出于安全考虑,也想避开这些烦人的警告,可以采取一些措施。
安装 nginx 进行反向代理和端口转发。在进行之前确保 Docker 已经安装。
国内宽带环境个人用户很难拿到固定公网 IP。不过如果你没有公网 IP,通过联系电信运营商的客服,还是可以拿到公网动态 IP 的。
具体也要看运营商的情况。
确保公网 IP 是 DDNS 的前提。使用 DDNS,可以将 IP 动态绑定到对应的域名上,可以保证域名随时都能访问到我们的 Homelab 机器。
所以,你也知道了,要域名的。(散了散了!)
在 CentOS 8 上安装 Docker。参考官网文档。
https://docs.docker.com/engine/install/centos/
这里使用官方推荐的方法进行安装并记录一下步骤。
最近准备搭建一个 Homelab,用来方便生活&方便学习。在考虑购入合适硬件的同时,不妨用手头更新换代闲置的旧 PC 来先做一下尝试。我的旧 PC 当年配置尚可,相信现在还是可以胜任一个入门 Homelab 来耍耍。
首先在闲置 PC 上安装 CentOS 系统,同时移除不再使用的 Windows 系统。
高级操作符感觉通篇都让人感觉到 Awwwwwwwa
,还可以这么玩。
你可以给你的类型自定义各种操作符下的实现。很棒吧。
这篇内容讲述了一些不常用但是用到就会觉得很方便的操作符。
包括位操作符,可以按位操作和位移操作。
溢出操作符,可以让数值溢出但是不报错。
自定义操作符。自定义自己的操作符。
到此语法指南就结束了。但是我仍然没看到多线程话题,Swift 没有多线程?
乍一看,好高级的话题。仔细一看,无非就是外部能访问的限制程度而已,功能和 Java 的 public
、private
修饰符一样,无非细化程度更多。总结如下:
按照等级从高到低排序。
open
和 public
关键字允许最少的访问限制,open
对于类来说,允许外部继承和覆盖类的属性,public
则不允许;internal
模块外部不能访问;fileprivate
定义文件内可访问;private
定义仅两个打括号之间的代码能访问。普遍的规则是,内部的访问权限不能高于外部,可以低于外部。比如类标注为 internal 那么类成员就不能高于 internal 比如说 public。
默认不写访问控制等级就都是 internal。
对于元组、函数来说,访问控制等级是其内部等级最低的那个。函数必须显式声明访问等级,如果 internal 不适用的话。
内存安全依然不需要我们多做考虑。本篇最大的目的还是了解什么情况下会出现内存不安全的问题,并且在编码时避免这些问题。由于目前为止没有涉及到协程或多线程的内容,要保重内存安全相对来说是简单的。
内存访问存在三个属性:操作是读还是写;操作持续多久;操作哪个内存位置。
一旦后两者出现重叠,也就是说对同一个内存位置同时进行操作,那么就会出现内存不安全的冲突情况。