换行符

换行符\r\n和\n的关系和区别可以追溯到60年前,打字机广泛被使用的时代。 在打字机还刚刚被发明的时候,人们输入完一行字之后,需要两个动作才能开始输入下一行的内容。 滚动滚轮,让纸张往上移动一行, 即是 \n 操作; 移动 打字的指针到 行首, 即是\r 。 上面两个操作没有顺序的要求, 1->2 ; 2->1 都可以。 windows Windows 操作系统 的文本对 new line的 编码 使用的是 2->1 的 组合操作; unix Linux/Unix 操作系统 则只使用操作 1 。 A line feed means moving one line forward. The code is \n. A carriage return means moving the cursor to the beginning of the line. The code is \r. Windows editors often still use the combination of both as \r\n in text files. Unix uses mostly only the \n. ...

November 17, 2021 · datewu

bash简介

本文会不定期更新 :) set 可以使用set命令改变shell脚本默认的执行流程。 比如 set -e 可以使得shell脚本遇到某一条命令出错( echo $? 不为0)时立即退出执行。 1 2 3 4 #/bin/bash set -e false echo you cannot see me, unless you comment out the 'set -e' flag, haha set详细文档 du 1 2 ❯ du -sh Downloads 4.1G Downloads wiki rm 1 rm $0 # 删除当前文件 for cleanup job nohup 在后台执行当前命令: 1 nohup /usr/sbin/script.sh & 默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程, 我们希望将其在后台启动,可以在启动参数的时候加一个’&‘实现这个目的。 1 2 3 4 5 ❯ sleep 5 & [1] 34769 ✦ ❯ [1] + 34769 done sleep 5 ✦ ❯ 进程切换到后台的时候,我们把它称为job。切换到后台时会输出相关job信息,上面&的输出 [1] 34769 : [1]表示job ID 是1,11319表示进程ID是34769。切换到后台的进程,仍然可以用ps命令查看。 ...

November 17, 2021 · datewu

清理git submodule

当我们本地对git的submodule目录下的文件做了改动时,会发现不论是用git checkout . 还是 git clean -df都无法丢弃修改。使用git status命令查看工作树的状态时会有如下 报错信息git submodule modified content 错误 以hugo为例,当使用hugo server本地预览博客文章时, hugo会修改主题目录的内容。从而出现 git submodule modified content的问题。 1 2 3 4 5 6 7 8 9 10 11 12 ❯ git status 位于分支 main 您的分支领先 'origin/main' 共 1 个提交。 (使用 "git push" 来发布您的本地提交) 尚未暂存以备提交的变更: (使用 "git add <文件>..." 更新要提交的内容) (使用 "git restore <文件>..." 丢弃工作区的改动) (提交或丢弃子模组中未跟踪或修改的内容) 修改: themes/stack (修改的内容) 修改尚未加入提交(使用 "git add" 和/或 "git commit -a") 这个问题挺常见的,Google后使用下面两条命令即可清理submodule: ...

November 16, 2021 · datewu

加油

上个周末jj回家看小宝发了好多脾气。 表面上是和妈妈吵架,实际上还是怪我没工作。 “你爸妈其实很想你去上班,应该把你赶出去,却想让我来当坏人。让我来和你吵架。” 工作找了3个月了,确实很对不住家人们的期待。 这周四去武汉吧,打工或者做生意,不在家里呆着了。

July 1, 2021 · datewu

'小'偷

凌晨5点不到,二楼的房门被打开。 老妈下来翻箱倒柜找东西,我睡眼朦胧,不情不愿的问了下在找什么。 老妈说有没有看到装钱的包包。 几句话交流下来,原来是今天准备去买菜,发现4000多块人民币连钱带包都不见了,最后一次拿钱是在3楼。 结合以往的经验,我说应该是又被小孩子偷,老妈想了想去3楼了。 十多分钟后,我去3楼去看看情况,果然是被家里全托的4个小孩偷了。 每天偷100块,主要是买烧烤,平均每次吃80多块钱的烧烤。 4个小孩,全部知情,无一人上报/揭发。 其中一个小女孩,读2年级,经常被另外3给小男孩欺负,她虽然没有分赃但也是啥也不说。 3个男孩子,两个读2年级,一个读4年级。 3个男孩子吃不完的烧烤就带给学校别的小伙伴吃(但是不给另外全托的那个女孩子)。 我把他们一个个单独拉出来问话。 结果有问题的是二年级的a男生和四年级的A男生。 A有前科,在我家偷过好几次,只是数额比较小,最多20。 另外,b男生的2000多块钱的儿童手表不见过好几次,有一次是A帮着从a的书包里搜出来了,手表用袋子包了好几层。 回到这次偷钱事件上。 a虽然承认每次事自己拿的钱,但是一口咬定说:“是A叫他拿的,不拿的话A就打死他。" A很狡猾,啥也不承认。 综合所有人的口供,总的说来,就是罗生门,所有人都说自己没问题,或者是被胁迫的。 我心中暗想,去吃烧烤的时候咋没说是被胁迫的(小女孩除外,他们不带她去吃)。 只是没想到9,10岁年纪的小孩子已经可以演绎罗生门了。 人之初性本善,人到底是啥时候忘记的本心呢?3岁? 5岁? 救救孩子吧

June 1, 2021 · datewu

19公里80块

昨天在武汉打了个的士,19公里,80块,路况基本一路通畅,3到4个红绿灯。 在2021年网约车这么多的情况,的士师傅还是这么狂的也是少见。 经过 本来是打开滴滴,弹出来青菜拼车,只要40来块钱两个人,但是一直拼不到。 看了下滴滴快车是69块。 但是等了15来分钟的拼车,还要赶着去客运站,感觉被滴滴耍了,怒退单。 同行的伙伴说打的士吧,应该不贵。 这个武汉的的士师傅,还是个女师傅,真的是太心黑了。 打表,跑了16来公里就上80多块钱了。我们提出抗议后,大方的说“行,反正快到了了,那就不打表了,给80就行”。 惹不起她,达到目的地 给了80块。 后记 最后我们几十赶到客运站了,但是直达老家的车去保养了,我们转了两次车回家了。 另外在的士上接到了个约我面试的电话:>

May 20, 2021 · datewu

vscode按键调整

今天发现vscodevim插件不能连续输入方向键j, 以为是插件的问题,关闭了插件。 发现在vscode里按住j不放,编辑器并不会连续输入j。 需要调整系统的dafaults关闭PressAndHold选项: enable key-repeating To enable key-repeating, execute the following in your Terminal, log out and back in, and then restart VS Code: 1 defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false # Enable key-repeating for vs code

May 9, 2021 · datewu

快慢指针

4月份腾讯面试的时候被问到如何在空间复杂度为O(1)前提下检查连表是否为闭环: 当时没想出来,面试官提醒用快慢指针也没写出来。 回到家里想了下,其实当时已经想出来了,没敢写出来: 1 2 3 4 5 6 7 8 9 10 11 func circular(head *ListNode) bool { slow, fast := head, head for fast != nil && fast.Next != nil { slow = slow.Next fast = fast.Next.Next if slow == fast { return true } } return false }

April 19, 2021 · datewu

自研

同事问我,把企业的harbor镜像仓库服务暴露到公网之后,有人暴力登陆怎么办? harbor默认是没有captcha的,google了很久也没看到。 咋办呢? 所以还是自研的产品好哦,随随便便就可以加个手机验证码。 ps:今天是在招商金科的最后一天了。

March 31, 2021 · datewu

React 17.0.2

今天看到react 17.0.2 发布一个礼拜了(快有1年没大的更新了),想升级试一试,在项目下执行 npm update指令,结果报错如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ✗ npm update npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! Found: @babel/[email protected] npm ERR! node_modules/@babel/core npm ERR! @babel/core@"7.12.3" from the root project npm ERR! @babel/core@"^7.9.0" from @svgr/[email protected] npm ERR! node_modules/@svgr/webpack npm ERR! @svgr/webpack@"5.4.0" from the root project npm ERR! 9 more (babel-jest, babel-loader, ...) npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer @babel/core@"^7.13.0" from @babel/[email protected] npm ERR! node_modules/@babel/preset-env/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining npm ERR! @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@"^7.13.12" from @babel/[email protected] npm ERR! node_modules/@babel/preset-env npm ERR! @babel/preset-env@"^7.9.5" from @svgr/[email protected] npm ERR! node_modules/@svgr/webpack npm ERR! @svgr/webpack@"5.4.0" from the root project npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force, or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution. npm ERR! npm ERR! See /Users/r/.npm/eresolve-report.txt for a full report. npm ERR! A complete log of this run can be found in: npm ERR! /Users/r/.npm/_logs/2021-03-30T08_44_22_160Z-debug.log 这个项目运行过 npm run eject,所以担心是eject造成的。 ...

March 29, 2021 · datewu