Toml文件使用指南
一. 前言
TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics. TOML is designed to map unambiguously to a hash table. TOML should be easy to parse into data structures in a wide variety of languages.
在了解这个文件格式前, 需要了解以下配置文件的常见格式.
- json, json格式可以说是互联网中最重要的数据交换载体, 简洁明了, 轻量, 但是唯一遗憾的是不支持注释.
- ini, 作为一种非常简单易用的格式, 但是不支持复杂的配置, 不支持数字(仅限于字符串), 支持注释,
windows
上相对流行. - xml, 一个逐步退出历史舞台的文件格式, 过于臃肿.
- yaml, 支持复杂的配置(号称
json
的扩展版), 但是可阅读性较差?书写规条较多?.
简而言之, 作为一个好用的配置文件, 既需要数据易于存储/读取(同时需要有效数据密度高), 同时也需要有较好的阅读体验. 以json为例, 假如不进行格式化, 将难以阅读其内容.
而Toml
就号称满足上述要求:
TOML 旨在成为一个语义明显且易于阅读的最小化配置文件格式.TOML 被设计成可以无歧义地映射为哈希表.TOML 应该能很容易地被解析成各种语言中的数据结构.
目前主流的语言多已支持这种文件格式, 详情见v1.0.0 compliant
Git(简单)使用指南
一. 前言
Git
, 分布式版本管理系统(Distributed Version Control System
)的一种.
突然有新的想法, 准备使用新的思路来写代码, 但是担心写不去, 需要在写之前预留一个副本. 避免写不下去时可以返回初始的状态.
多个需求或者多个方案, 代码存在多个分支, 方便维护.
多人同时对一项目作业, 不同部分的协作.
简而言之, 可以归结为以下三大功能:
- 版本控制
- 协同工作
- 代码管理.
Python正则表达式 -" \w "-坑
>>> import re
>>> s = '请你查找在职员工自入职以来123的薪水涨anx-d幅情况'
>>> re_a = re.compile('\w+')
>>> re_a.search(s)
<re.Match object; span=(0, 23), match='请你查找在职员工自入职以来123的薪水涨anx'>
对, 没错, \w+
这个正则表达式居然匹配出中文来了.
牛客网-SQL测试(困难)
题号 | 题目 | 难度 | 通过率 |
---|---|---|---|
SQL206 | 获取每个部门中当前员工薪水最高的相关信息 | 困难 | 20.23% |
SQL264 | 牛客每个人最近的登录日期(五) | 困难 | 20.64% |
SQL215 | 查找在职员工自入职以来的薪水涨幅情况 | 困难 | 22.48% |
SQL280 | 实习广场投递简历分析(三) | 困难 | 26.82% |
SQL220 | 汇总各个部门当前员工的title类型的分配数目 | 困难 | 27.95% |
SQL270 | 考试分数(五) | 困难 | 28.20% |
SQL275 | 牛客的课程订单分析(五) | 困难 | 28.98% |
SQL219 | 获取员工其当前的薪水比其manager当前薪水还高的相关信息 | 困难 | 31.20% |
SQL285 | 获得积分最多的人(三) | 困难 | 33.74% |
- 传统方法实现
- 窗口函数实现
不建议直接看相关的答案, 先手动过一遍, 然后再交叉对比. 特别是264, 270, 179, 189
, 这几道题, 其解法非常巧妙.
MySQL翻译系列-Window Function Frame Specification
注: frame
这里翻译为帧, 取其在行数据上滚动如同胶卷滚动前行之义.
(以下内容实际上陈述的是如何定义滚动窗口的数据范围)
The definition of a window used with a window function can include a frame clause. A frame is a subset of the current partition and the frame clause specifies how to define the subset.
与窗口函数一起使用的窗口的定义可以包括帧子语句, 帧是当前分区的子集,帧语句确定如何定义这个子集.