- 浏览: 279206 次
- 性别:
最新评论
文章列表
关于UML,纠正了很多之前的谬误。
记录个链接:
https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-aggregation-vs-composition/
两种方式,一种用$unwind。易出错。麻烦。
推荐用$reduce。
eg(mongo in groovy):
[$addFields: [days:[$reduce: [
input: '$days',
initialValue: [],
in: [$setUnion: ['$$value','$$this']]
]]]],
package api.xxx.com.upload.utils;
import cn.hutool.core.io.FileUtil;
/**
*
* @author Kelvin范显
* @createDate 2019年02月21日
*/
final public class FileTypeUtils{
/**
* 根据文件名获取文件类型
* @param filename
* @return
*/
public static String getContentTyp ...
全世界最好的编辑器VIM之Windows配置(gvim)
" three sub mode
v active char visual
V/shift+v active line visual
Ctrl+v active chunk visual
" visual operator
gv reselect last hlselect
o swich selection boundary
------------------
vi{ select content in { ...
" text Object
{operator}{a}{object}
{operator}{i}{object}
daw = delete a word
==a==n object: include tail space
ciw = change inner word
==i==nner object: just content self
exclude tail word space
" word/sentence/paragraph
textObject sp ...
" split screen
vim -O/on open horizen/vertical split n:number
ctrl+w c/q close this/last window
ctrl+w s horizen split this file
:sp filename horizen split, and open a new file
ctrl+w v vertical split this opened file
:vsp filename vertical split, and open a ...
" buffer list
:files :buffers :ls
touch buf-1 buf-2 buf-3 buf-4
vim buf-*
:files
:buffers
:ls
-------------------
1 %a "buff-1" line 1
2 "buff-2" line 0
3 "buff-3" li ...
" Insert
Shift-i/A insert mode and move to head/tail
a/i cursor after/befor insert
[n]O/o line before/afer insert n times
[n]-i insert mode repeate n times
" Convert
~ char upper/lower
g ...
Windows Vim Different
cut delete as cut, rather than just delete
copy yank equal window's copy, but c used to change, yank instead
paste put equal head word
""""""""" ...
" Move
to rowhead 0/^
to end $
w/W next word head
b/B previous word head
e/E next word tail
ge previous word tail
" Jump
Ctrl-f/F page down
Ctrl-b/B page up
Ctrl-d/u down/up half page
gg first row
num-gg num row
G ...
// 折叠效果
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=2
set encoding=utf-8
set number/nonumber
摘抄自https://www.cnblogs.com/aslongas/p/5899586.html
常用
ctrl+左右键:在单词之间跳转
ctrl+a:跳到本行的行首
ctrl+e:跳到页尾
Ctrl+u:删除当前光标前面的文字 (还有剪切功能)
ctrl+k:删除当前光标后面的文字(还有剪切功能)
Ctrl+L:进行 ...
/**
* 调用方式
* let i = new Interval(1000)
* i.do(()=>console.log(new Date()))
* i.stop()
*/
export default class Interval {
constructor(duration) {
this.id = -1
this.duration = duration
}
do(fn) {
if (this.id > 0) {
throw Error('just do one thing')
...
// base function
fn-width-center(w)
position absolute
width w
margin-left 50% - w * 0.5
// caller
invoke(arg, fn)
fn(arg)
// component
c-div-full(imgUrl)
background url(imgUrl) no-repeat center
background-attachment fixed
background-size 100% 100%
width 100%
min- ...