lordGuan

lordGuan 查看完整档案

北京编辑天津科技大学  |  计算机科学与技术 编辑  |  填写所在公司/组织填写个人主网站
编辑

前端后端大杂烩,啥都会一点儿又啥都不会的阅读人员

个人动态

lordGuan 回答了问题 · 2019-05-14

setTimeout实现倒计时不准确的问题

你只要知道setTimeout和setInterval设置的时间间隔绝对不准,你就会发现无法完全100%的进行倒计时

关注 11 回答 8

lordGuan 回答了问题 · 2019-05-10

解决身份证号星号正则

let str = "123456199901011234";
let result = str.replace(/^(\d{14})(\d{4}|\d{3}X)$/g, (sub, ...arg) => {
  return arg[0].replace(/\d/g, "*") + arg[1];
})

捕获组来一波

关注 3 回答 2

lordGuan 赞了文章 · 2019-02-21

链家网前端总架构师杨永林:我的8年架构师成长之路

杨永林,人称“教主”,八年前端开发经验,原新浪微博前端技术专家,现任链家网前端总架构师。长期研究Web访问性能优化和前端框架搭建。
作为初始团队成员,教主参与了新浪微博所有PC版本的开发,其中4~6版以架构师的身份设计了微博PC版的前端架构。在新浪微博任职期间,教主设计实现了流水线加载技术与模块化代码组织,达到了在提高访问性能的同时极大降低了开发成本的目的。主要研究方向是Web访问性能优化与框架组织。在国内为数不多地实现了BigPipe技术,极大地提升了微博的访问速度。同时,微博的前端代码基础包、前端框架和构建工具均出自教主之手。
2015年年底,教主加入链家网,负责前端的整体架构工作。
在8年的前端开发生涯中,教主是如何一步一步地成为知名前端架构师的呢?为何选择加入了链家网呢?

您在微博和链家都是前端架构师,能说说前端架构师这个工种具体是做什么的吗?

杨永林:我对架构师所担任的职责的认识是一步步变化,慢慢深入的。

在刚参加工作的时候,我觉得架构师就是代码写得又快又好的人,是工程师的晋级版本。

工作过一些年以后,我发现仅仅提高自身的开发效率是远远不够的,团队需要整体的提升。发现这一点后,我开始制作并完善各种开发工具,编写开发框架。

最近几年,随着迭代开发了一些产品本,我又发现之前能够提升效率的框架工具很有可能在后来成了产品发展的绊脚石。这时,我开始考虑架构设计的指导原则,开始考虑取舍。一些在短期内能够提升效率但不符合原则的东西,我就选择不做或者想办法在原则的指导下进行改进。比如我相信可变化的代码才是有生命力的代码,在架构设计上我也会趋向于让项目的代码可以一点一点的变化演进,不是那种一言不合就重构到状态。所以我认为前端架构师就是那种在前端领域提出开发的指导原则,在原则下设计开发框架和开发工具,让更多的开发者可以协同工作的人。

您在新浪微博的时候设计了前端架构,能否介绍一下包括了哪些组成部分,有什么关键技术?

杨永林:主要是代码基础包,页面加载框架和前端构建工具。

早期前端开发面临两个主要问题是浏览器兼容和API不够丰富,基础包一般都是用来解决这两个问题。当时新浪有一个自己的Sina包,但是代码比较零散,模式也不统一,各产品线有自己的扩展,同样的功能可能有多种实现,不太好维护。后来我用业余时间开发了一个带有命名空间管理功能的基础包,特点就是简单清晰,易于使用,被团队采纳作为了微博的基础包使用至今。

页面加载框架是被需倒逼着产生的,2010年微博业务膨胀,页面展示的内容越来越多,这使得页面响应速度也变得越来越慢。我所在的团队接到的需求是要求在内容变多的情况下将响应速度变得更快。

这个时候Facebook推出了BigPipe技术,我们觉得这个理念正好能够解决我们应对的问题,所以决定实施,但当时Facebook只是分享了他们的做法,并没有提供实现,所以对我来说也是巨大的挑战。我当时将页面划分成多个独立的子模块,模块是完全可以自主运行的,模块可以嵌套,所以页面就是一批模块的树形堆叠。服务端用Chunked的方式将模块的信息以JavaScript代码块的方式传输到页面,而前端需要做的很重要的工作是管理每个模块的生命周期。

我很荣幸那时能有机会和团队成员一起开发了这个加载框架,我们可能是国内第一个在大型互联网应用上全面使用这项技术的。之后的一年我一直致力于此项技术的优化工作,比如支持服务端乱序输出,保证服务端可以使用并行策略,压缩,减少前置依赖条件等,并在2013年与@Laruence(鸟哥)合作实施了CBigPipe(并行的BigPipe)技术,进一步提高了这项技术的性能。微博的V5版的加载性能也达到了顶峰,页面的加载速度几乎相当于静态网页。

前端构建工具是这几年才开始流行,其实早在2008年的时候,新浪就已经使用前端小文件开发,使用构建工具进行开发,测试和上线。现在想想应该是比较超前了,不过那时的版本是需要PHP、Python和Java环境,团队维护起来比较困难,而且使用的是字符串替换方案,功能比较有限。2012年我将这个工具进行了改造,使其仅需要Node环境,同时支持开发、测试部署和打包上线。由于使用了UglifyJS,有了语法树,我加了一些以前没有的功能,比如预编译的模版引擎、支持模版嵌套和母模版、代码健康度检测、冗余模块分析等。

前端构建工具前后有Grunt/Gulp、Webpack、npm scripts等,您对这些工具有什么看法,哪个更好?如何选择适合公司产品的工具?应从哪些方面考虑?

杨永林:我觉得这些工具有效地解决了前端开发效率的问题,它们的出现都是对技术的推动,如果在我做工具的时候有这些项目的出现,会减少我很多的工作量。至于哪个更好,我觉得,你能掌握哪个,哪个就是最好的。因为说到底,工具是为你的业务服务的,你可能需要对它做些改造或者是写一些扩展,在这个时候你发现你对他的熟悉变的很重要。构建工具的迁移成本还是挺高的,我不太推荐频繁地变更它,所以最好不要追着流行走,还是要根据自己团队的特点,因地制宜地选择一款合适的。如果不是超大型的应用,其实build的结果的影响并没有太大的差异,与其想着哪个更好哪个更牛逼,不如将其中一个玩熟玩透。

如何保证团队成员不会踩到同样的坑?在设计框架和构建工具时有无这方面的考虑?请举例说明。

杨永林:首先,制定规范、分享经验是免不了的,但纸上得来终觉浅吧,很多时候,亲身踩一次坑,得到的经验才会深刻。而我所要做的是在团队成员踩到坑的时候降低这件事造成的后果。比如我提供的开发环境是可以完全模拟线上环境的,测试代码和线上保持一致,很多意外情况都可以在开发、测试期被发现。同时,制定的开发规范要由工具检测来保证,不符合规范的代码不能够打包上线。对于规范代码可以使用工具计算出业务影响范围,能有效保证测试覆盖面。总的来说,踩坑不要紧,架构来帮你兜底,爬出坑的过程就成为了团队成员所得到的财富。

您认为对Web访问性能的优化需要关注哪些方面?其中,最值得关注的点是什么?为什么?

杨永林:我觉得性能优化需要方方面面都要兼顾,包括网络时间、服务器计算时间、页面请求数、下载量、页面载入模型等。而这里面任何一项的性能提升可能都需要你修改大量代码或者调整架构来实现,但是得到的效果可能就是一点点。因此很少见到银弹,一般都是一点一点地做出来的。我这里谈两个我觉得比较值得关注但很容易被忽视的点吧。

一是你所服务产品的形态,用户关心什么,这是一些工程师比较容易忽略的。有些产品需要用户打开时很快,有些需要用户使用时流畅;有些产品用户可以容忍看旧数据,而有些则必须是新内容;有些产品用户一天打开很多次,而有些看一次就关掉了。这些产品需求的差异都会影响你的决策。

二是评测标准,用什么来测量性能的好坏。一些人认为请求数或者请求量减少了,访问就快了,其实这是不一定的,有可能你花了很大精力做的事情在用户看来并没有什么太大变化。所以,找一个评测标准让每一个优化在数据上有所体现是很重要的。

度量前端性能的指标有哪些?如何对Web访问性能进行监控?

杨永林:我所服务的产品一般都关注访问性能,也就是用户看到内容的快慢,所以我们一般用首屏时间来评估,一般的性能检测服务商都能提供这个指标。

选这个指标有两点考虑:一是因为它并不是一个技术指标,而是一个感知指标,所以更接近人类的感受。二是旁路检测,它并不在系统内,不是系统汇报上来的数据,这样就有效的规避了幸存者偏差的问题。当然它也有些不足:一是数据采样小,二是可以被欺骗。所以可能需要一点儿统计学功底和性能监控的正确认识。

在监控的过程中,一是要关注长期趋势的变化,如果不是突发状况,单点的数据的绝对值是没有意义的,要收集长期的数据,分析其中的变化,当有变更的时候尤其要关注数据的变化。二是关注最差25%的状况,有些人,会在公司内网刷自己的产品,感觉挺快,其实不论你用什么手段,只要网快,用户的体验都不会太差,体验的差异在于最差那部分用户。三是从不同维度分析数据,如地区、网络、时段、运行环境等。

前端工程师如何成为前端架构师,除了编程能力和架构知识,还需要培养哪些能力?

杨永林:我想,大部分领域的架构师工作都是差不多的,就是搭建一个解决问题的框架,让团队成员能在框架下良好的配合工作,完成产品的开发需求。

我们知道,解决一个问题的手段有很多,在这个过程中取舍就很重要了,我们也知道,没有银弹,很少能遇见那种全面优势的解决方案,大部分方案都是牺牲掉一部分东西来换取一部分东西。因此,作为架构师,不仅要对各个技术方案的特点、成本要熟知(也就是编程能力和架构知识),还要学会如何选择。显然,架构师需要根据产品的特点和发展方向做出决定,在前端领域的架构要能让配合的团队对接的顺畅。那么在这个过程中,良好的沟通能力、同理心、利他的思维方式,就显得很重要了。因为我们不仅要完成开发任务,也要思考在自己的领域内如何帮助项目解决问题。

据说有些同事在对技术的讨论中以“击败”您为荣,您是如何看待的?这对团队及其个人的发展带来了哪些影响?

杨永林:这是我一个毛病,喜欢给别人的方案着茬。我觉得这是一个思辨的过程,通过从不同角度分析问题,去挑战解决方案的合理性,才能让问题解决的更稳妥。在知识的获取中也是这样,一次一次地去问为什么,去追根溯源,才能让知识体系更牢固。

我很喜欢在团队内扮演一种“反派”的角色,从反面的角度分析问题,去挑战别人的方案。其实,我不是真的去否定他,而是希望他的方案是经过反复推敲、深思熟虑产生的,这样的方案会更健壮。时间长了,他们会觉得我是一个爱抬杠的人,就会做足准备来“挑战”我。能把我说得接不上话来,他们会觉得很开心。这个结果是我想看到的,因为这说明团队成员在解决问题时进行了充分的思考。

您为什么放弃了在之前新浪微博的元老级身份,而选择加入链家网?

杨永林:这可能源自我对工作的看法吧,我觉得人生活在社会上,工作是在为社会创造价值和财富,这和他具体从事哪种职业没有直接关系。现在行业里有一种风气,就是觉得程序员写好代码就好了,不用关心自己做的事情是什么。甚至社会上也给程序员打一些什么“木讷”、“情商低”之类的标签。我觉得不应该是这样的,程序员也是社会人,也有他的社会责任,也有家庭责任,也需要陪伴他的伴侣,照顾他的小孩,不是每天只是面对代码而不管其他的事。人不要因为群体印象就把自己限制住,人的生活就应该是多种多样、丰富多采的,人生应该是有意义的。

就我个人而言,在过去的几年,我所服务的产品不仅加深了人们之间的沟通和理解,也使得国家的信息变得更透明。而我所做的工作对这样的一个产品做出了贡献,可以说我的工作让世界变得美好了那么一点点。这让我觉得我的人生增添了那么一点意义。而当我搭建起前端框架后,我个人能起的作用变得越来越小,我能继续创造的价值也越来越少,所以需要另一个平台来继续发挥我的能量。

这时我有机会接触到链家网,这家公司致力于解决人们的居住问题,它让中国最大的市场变得透明、有序。我觉得链家网做的是很有意义的事,同时,它仅仅用了不到两年的时间,就集结了一批各领域的牛人,维护了国内规模最大的房地产交易系统,用技术手段让房屋的买卖变的更轻松、透明、快捷。在与链家网的接触中,我感受到了那种积极解决问题的活力和务实做事的态度。再加上链家网中大部分技术人,在之前也都是各个大型互联网公司的中坚力量,我想没有什么比与志同道合的人来一起改变世界更令人激动的了。此时,鸟哥专门来邀请我加入链家网,我就毫不犹豫地同意了。

教主答群友问:
Q:您对初级前端人员有什么好的建议吗?
A:多尝试一些解决方案,多想想这些方案的特点,对别人的方案深究原理。
Q:前端学习方面有什么书籍可以介绍吗?
A:现在前端书籍都挺多挺好多呀,我一般推荐高级程序设计,图解CSS3。
Q:您在担任架构师这个角色中遇到的最严重的线上事故是什么?当时是怎么解决的?
A:工作这么多年,在前端应该就只有一次B级故障,做非前端的时候倒是通过大篓子,因为上线速度比较快,而且大问题也都是很明显的解决方案,所以就是快速上线了。这个要感谢测试同学,很给力,避免了很多线上故障。
Q:学前端是否去参加商业培训更见效?亦或是这种商业培训反而更会僵化思维?这样流水线培训出来的学员在企业认可度如何。
A:我没参见过商业培训,也不太好评价,我是觉得被灌输的知识可能不如自己躺坑得来的扎实吧。企业认可这方面,我基本只看能力。
Q:对于您来说技术比较重要还是产品比较重要?因为刚才您说是因为觉得链家的“产品”比较有意义才考虑去的,那能理解为你觉得产品比技术更重要吗?
A:我所说的产品不是“产品人员”,是公司的产出的服务。显然对于一家公司来说,产品是最重要的,技术是如何实现产品的手段啊。
Q:您觉得什么样的代码才算是可变化的代码?这方面又做出了哪些实践?有哪些系统化的产出?
A:我说变化的代码其实代码是可控的,可以方便的去调整项目,可以一步一步的改造项目而不是重构,我做开发一致遵循这个理念。
Q:前面提到搭建团队可用的框架,但我感觉这个工作量非常巨大而且需要很多改进和测试,教主当时有同感吗?怎么解决这么大的工作量问题?
A:我可能比较幸运,曾经有一段时间来调整结构,我是这样想的,每当我向前迈一步的时候,我就是在进步,所以我没有急于让架构搭建一次到位,我会想好调整的步骤,每一步都会让架构进步,把大问题拆解成小问题一步一步做。
Q:小公司开发前端,由于缺少项目管理经验,导致许多冗余性的工作,请问教主在管理方面有何建议?
A:这个不同公司的情况都不一样吧,不太好建议。
Q:多尝试一些解决方案和“一步一步逐步改进产品”是否矛盾?
A:不矛盾啊,多尝试不代表多实施啊。

查看原文

赞 75 收藏 46 评论 4

lordGuan 收藏了文章 · 2019-01-07

推介几款 windows 下非常好用的工具

在下工具控一枚,平时会留意收集各种各样给我们生活生产带来便捷的工具,毕竟人生苦短;下面介绍一些 Windows 系统上发现的一些好用的工具,并且将一笔带过主要特点,详细用法可以搜一下,相关帖子挺多的,每个都展开介绍的话那就太长啦~

本文是 <那些好用的工具> 系列文章之一:

  1. 推介几款 windows 下非常好用的工具
  2. 打造舒适搬砖环境,这些是我最想推介的桌面好物
  3. 干货满满!推介几款 Mac 下非常好用的软件(第一弹)
  4. 干货满满!推介几款 Mac 下非常好用的软件(第二弹)
  5. 干货满满!推介几款 Mac 下非常好用的软件(第三弹)

1. Listary

啥都憋说了,Listary 必须排在第一个,用过 Everything,觉得还是 Listary 更胜一筹;它不仅可以在本地非常快速的搜索,还可以打开网站、在搜索引擎中搜索、随时随地打开快捷菜单、文件快速定位、快速打开cmd窗口等等优秀的功能,轻量、简洁、随时随地;

比如输入cmd打开cmd窗口,输入cmda使用管理员权限打开cmd窗口,输入wyyyy打开网易云音乐,焦点在某个文件的时候Enter直接打开,Ctrl + Enter 是打开文件所在文件夹;

值得一提的是搜索关键词功能,让我们可以非常便捷的打开相应网站或用搜索引擎搜索,比如输入gg 我的存款呢?就可以直接打开默认浏览器在谷歌搜索中搜索,还可以自定义输入其他关键字,只需把搜索链接中的关键字换成{query} ~

2. Ditto

Ditto 是一款免费开源的 windows 剪切板管理工具,作为Ctrl C V工程师,复制粘贴少不了,更厉害的是,它可以批量的复制,Ctrl+C一堆别人的代码,一次性全粘上,岂不美哉;

使用快捷键打开剪切板历史,然后Ctrl / Shift来选择你希望粘贴的内容,Enter即可选择性的粘贴多行内容;另外剪切板历史还可以搜索,快速找到复制内容;

只需设置寥寥几个快捷键,就可以很方便的操作剪切板,带来极大幸福~

3. Winsnap

看到上边的截图没,旁边都有很骚包的阴影,怎么做到的?不需要各种高大上的图片处理软件,使用 Winsnap ,它可以在截图的时候自动帮你加上背景阴影,然后帮你自动复制到剪切板;

它可以使用全屏、应用程序、窗口、对象等捕捉模式,更牛的是它还可以在截图的时候同时选择和捕捉多个对象,按住CtrlShift选择多个窗口或对象...这个就比较厉害了,试试看?

4. Cmder

Cmder 是一个美观又实用的命令行工具,它支持大部分Linux命令,支持ssh连Linux,还可以在它的窗口中新建cmd和powershell,更多玩法等你来战~

比较方便的是在安装目录下 \config\user-aliases.cmd 设置 alias 别名,比如常见的 Git 操作:

ga=git add $*
gb=git branch $*
gc=git commit $*
gch=git checkout $*
gd=git diff $*
gl=git log $*
gs=git status $*

还可以将cmder配置到右键菜单,快捷在当前目录打开cmder,方法是先把这个地址加到系统的path环境变量里面,比如我的是D:cmder,然后右键Cmder.exe属性-兼容性-以管理员身份运行此程序,再重新打开Cmder.exe输入Cmder.exe /REGISTER ALL就行了~

记得安装完在配置Setting-Startup-Environment里面加上set LANG=zh_CN.UTF8,否则输出的一些中文会乱码;

5. Typora

使用过很多 Markdown 编辑器,最后选择了 Typora,与主流编辑器一边编辑一边预览的形式不同,Typora 是将编辑和预览合并到一起,简洁大方,目光也不需要在编辑区和预览区中来回切换了,只有当焦点移入的时候才显示 Markdown 语法;

另外 Typora 还支持 Latex、[TOC]动态目录、拖拽图片自动生成本地预览链接、自定义主题等方便的功能;

6. Quick Look

QuickLook 是在 Microsoft Store 里面下载的一个速览工具,有时候打开一个PDF、视频之类的需要等关联程序启动半天,有了它之后只要选中目标文件,按空格就可以快速预览了,速度非常快,支持图片、视频、音频、压缩包、PDF、文本文件、Markdown、HTML等格式;

用它来看一些代码什么的,甚至不需要 Sublime\VSCode 启动就可以直接看了,如果只是速览一下的场景的话非常适合。

7. Myper Splash

Myper Splash 也是可以在 Microsoft Store 里面下载的一款高质量壁纸库,所有壁纸来源 Unsplash 网站,均无版权可以免费使用,再加上简洁美观的UI/UX设计,让你体验一见钟情的感觉。

另外 MyperSplash 可以设置自动每天自动更换壁纸或锁屏,每天早晨来到办公室点亮屏幕就可以看到 Awesome 的锁屏或壁纸,让你带着好心情开启一天的工作。

8. GifCam / ScreenToGif

相信大家都有过需要截一个 Gif 的时候,这里有两个免费 Gif 屏幕录制工具都很不错,小而美的 GifCam 和开源强大的 ScreenToGif

GifCam 小巧便捷,如果希望快速录屏分享,那么它是不二选择,可以选择录屏帧率,录制的过程可以调整窗口大小和位置,也可以暂停和继续,足以满足大部分的使用场景;

SceenToGif 的编辑功能更为强大,可以单独操作录制的帧,删除、加速或修改都可以,试试看吧~

9. Free Download Manage

Free Download Manage (FDM) 是一款免费的下载工具,如果你已经受够了国内一些软件的广告和限速,那么 FDM 是一个不错的选择,另外多线程、断点续传、计划任务等功能让 FDM 值得推介。

10. Sourcetree

Sourcetree 是跨平台免费的 Git 客户端管理工具,如果受够了手打各种 Git 操作命令,那么 Sourcetree 是一个不错的选择;

Sourcetree 可以大大简化你的代码操作,特别是对于一些不甚熟悉 Git 命令的人来说灰常实用;一些对 Git 操作比较熟练的用户也可以用它来提升效率,减少出错。


PS:欢迎大家关注我的公众号【前端下午茶】,一起加油吧~

另外可以加入「前端下午茶交流群」微信群,长按识别下面二维码即可加我好友,备注加群,我拉你入群~

查看原文

lordGuan 赞了文章 · 2019-01-07

推介几款 windows 下非常好用的工具

在下工具控一枚,平时会留意收集各种各样给我们生活生产带来便捷的工具,毕竟人生苦短;下面介绍一些 Windows 系统上发现的一些好用的工具,并且将一笔带过主要特点,详细用法可以搜一下,相关帖子挺多的,每个都展开介绍的话那就太长啦~

本文是 <那些好用的工具> 系列文章之一:

  1. 推介几款 windows 下非常好用的工具
  2. 打造舒适搬砖环境,这些是我最想推介的桌面好物
  3. 干货满满!推介几款 Mac 下非常好用的软件(第一弹)
  4. 干货满满!推介几款 Mac 下非常好用的软件(第二弹)
  5. 干货满满!推介几款 Mac 下非常好用的软件(第三弹)

1. Listary

啥都憋说了,Listary 必须排在第一个,用过 Everything,觉得还是 Listary 更胜一筹;它不仅可以在本地非常快速的搜索,还可以打开网站、在搜索引擎中搜索、随时随地打开快捷菜单、文件快速定位、快速打开cmd窗口等等优秀的功能,轻量、简洁、随时随地;

比如输入cmd打开cmd窗口,输入cmda使用管理员权限打开cmd窗口,输入wyyyy打开网易云音乐,焦点在某个文件的时候Enter直接打开,Ctrl + Enter 是打开文件所在文件夹;

值得一提的是搜索关键词功能,让我们可以非常便捷的打开相应网站或用搜索引擎搜索,比如输入gg 我的存款呢?就可以直接打开默认浏览器在谷歌搜索中搜索,还可以自定义输入其他关键字,只需把搜索链接中的关键字换成{query} ~

2. Ditto

Ditto 是一款免费开源的 windows 剪切板管理工具,作为Ctrl C V工程师,复制粘贴少不了,更厉害的是,它可以批量的复制,Ctrl+C一堆别人的代码,一次性全粘上,岂不美哉;

使用快捷键打开剪切板历史,然后Ctrl / Shift来选择你希望粘贴的内容,Enter即可选择性的粘贴多行内容;另外剪切板历史还可以搜索,快速找到复制内容;

只需设置寥寥几个快捷键,就可以很方便的操作剪切板,带来极大幸福~

3. Winsnap

看到上边的截图没,旁边都有很骚包的阴影,怎么做到的?不需要各种高大上的图片处理软件,使用 Winsnap ,它可以在截图的时候自动帮你加上背景阴影,然后帮你自动复制到剪切板;

它可以使用全屏、应用程序、窗口、对象等捕捉模式,更牛的是它还可以在截图的时候同时选择和捕捉多个对象,按住CtrlShift选择多个窗口或对象...这个就比较厉害了,试试看?

4. Cmder

Cmder 是一个美观又实用的命令行工具,它支持大部分Linux命令,支持ssh连Linux,还可以在它的窗口中新建cmd和powershell,更多玩法等你来战~

比较方便的是在安装目录下 \config\user-aliases.cmd 设置 alias 别名,比如常见的 Git 操作:

ga=git add $*
gb=git branch $*
gc=git commit $*
gch=git checkout $*
gd=git diff $*
gl=git log $*
gs=git status $*

还可以将cmder配置到右键菜单,快捷在当前目录打开cmder,方法是先把这个地址加到系统的path环境变量里面,比如我的是D:cmder,然后右键Cmder.exe属性-兼容性-以管理员身份运行此程序,再重新打开Cmder.exe输入Cmder.exe /REGISTER ALL就行了~

记得安装完在配置Setting-Startup-Environment里面加上set LANG=zh_CN.UTF8,否则输出的一些中文会乱码;

5. Typora

使用过很多 Markdown 编辑器,最后选择了 Typora,与主流编辑器一边编辑一边预览的形式不同,Typora 是将编辑和预览合并到一起,简洁大方,目光也不需要在编辑区和预览区中来回切换了,只有当焦点移入的时候才显示 Markdown 语法;

另外 Typora 还支持 Latex、[TOC]动态目录、拖拽图片自动生成本地预览链接、自定义主题等方便的功能;

6. Quick Look

QuickLook 是在 Microsoft Store 里面下载的一个速览工具,有时候打开一个PDF、视频之类的需要等关联程序启动半天,有了它之后只要选中目标文件,按空格就可以快速预览了,速度非常快,支持图片、视频、音频、压缩包、PDF、文本文件、Markdown、HTML等格式;

用它来看一些代码什么的,甚至不需要 Sublime\VSCode 启动就可以直接看了,如果只是速览一下的场景的话非常适合。

7. Myper Splash

Myper Splash 也是可以在 Microsoft Store 里面下载的一款高质量壁纸库,所有壁纸来源 Unsplash 网站,均无版权可以免费使用,再加上简洁美观的UI/UX设计,让你体验一见钟情的感觉。

另外 MyperSplash 可以设置自动每天自动更换壁纸或锁屏,每天早晨来到办公室点亮屏幕就可以看到 Awesome 的锁屏或壁纸,让你带着好心情开启一天的工作。

8. GifCam / ScreenToGif

相信大家都有过需要截一个 Gif 的时候,这里有两个免费 Gif 屏幕录制工具都很不错,小而美的 GifCam 和开源强大的 ScreenToGif

GifCam 小巧便捷,如果希望快速录屏分享,那么它是不二选择,可以选择录屏帧率,录制的过程可以调整窗口大小和位置,也可以暂停和继续,足以满足大部分的使用场景;

SceenToGif 的编辑功能更为强大,可以单独操作录制的帧,删除、加速或修改都可以,试试看吧~

9. Free Download Manage

Free Download Manage (FDM) 是一款免费的下载工具,如果你已经受够了国内一些软件的广告和限速,那么 FDM 是一个不错的选择,另外多线程、断点续传、计划任务等功能让 FDM 值得推介。

10. Sourcetree

Sourcetree 是跨平台免费的 Git 客户端管理工具,如果受够了手打各种 Git 操作命令,那么 Sourcetree 是一个不错的选择;

Sourcetree 可以大大简化你的代码操作,特别是对于一些不甚熟悉 Git 命令的人来说灰常实用;一些对 Git 操作比较熟练的用户也可以用它来提升效率,减少出错。


PS:欢迎大家关注我的公众号【前端下午茶】,一起加油吧~

另外可以加入「前端下午茶交流群」微信群,长按识别下面二维码即可加我好友,备注加群,我拉你入群~

查看原文

赞 102 收藏 76 评论 16

lordGuan 赞了文章 · 2019-01-02

mac终端连接阿里云服务器报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

今天在做微信开发时,遇到点小问题,没有在win的虚拟机环境下运行.想着mac自带ssh
于是就直接在终端进行了结果蹦出来这么一错误.
在Google上搜了搜,发现了这个解决办法
应该是香港或者太晚的小伙伴提供的.

clipboard.png

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that a host key has just been changed.

The fingerprint for the RSA key sent by the remote host is

SHA256:这里每个人都不同

Please contact your system administrator.

Add correct host key in /Users/Anan/.ssh/known_hosts to get rid of this message.

Offending RSA key in /Users/Anan/.ssh/known_hosts:1

RSA host key for 这里是服务器的IP has changed and you have requested strict checking.

Host key verification failed.

会出现这些信息是因为,第一次SSH连接时,会生成一个认证,储存在客户端(也就是用SSH连线其他电脑的那个,自己操作的那个)中的known_hosts,但是如果服务器验证过了,认证资讯当然也会更改,服务器端与客户端不同时,就会跳出错误啦~因此,只要把电脑中的认证资讯删除,连线时重新生成,就一切完美啦~要删除很简单,只要在客户端输入一个指令

ssh-keygen -R +输入服务器的IP

接下來再次连接一次,會出現

Are you sure you want to continue connecting (yes/no)?

输入yes,
就完成连接啦!同時,新的认证也生成了
在mac下使用终端连接服务器方式

ssh root@服务器地址 

(原文链接找不到了.如果侵权了请联系我,我会及时删除)

查看原文

赞 11 收藏 4 评论 4

lordGuan 回答了问题 · 2018-09-12

解决请问一下前端啊查询问题。

鉴于你表格已经生成完了,$("table tr").html()字符串模糊匹配,不匹配的行都display:none吧

关注 4 回答 4

lordGuan 回答了问题 · 2018-09-06

解决嵌套数组的截取

arr.forEach(value => {
  value.splice(3);
});

这样是直接修改原来的arr

let arr2 = arr.map(value => {
  return value.slice(0,3);
});

这样既不更改原来的数组,新数组是满足要求的

关注 3 回答 3

lordGuan 回答了问题 · 2018-09-06

使用vue框架怎么实现这种注册切换效果

路由(讲道理不推荐,组织起来有点儿复杂),v-if/v-show(讲道理不利于维护),两个组件(动态组件,配合keep-alive,两个组件相似点其实有点儿多,但是各自维护各自的data会更加清晰一点)。从简单易懂的角度来说我推荐v-show,组件形式应该更加实用一点

关注 5 回答 4

lordGuan 回答了问题 · 2018-09-06

解决怎么把awk的结果作为grep的pattern参数?

用 xargs的选项-I指明需要将管道中的内容填充到后续命令的具体哪个参数位。

grep 20180906834424 test.log | awk '{print $2}' | xargs -I {} grep {} test.log

应该是可以满足你的需求的

关注 4 回答 2

认证与成就

  • 获得 66 次点赞
  • 获得 14 枚徽章 获得 1 枚金徽章, 获得 2 枚银徽章, 获得 11 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2017-08-31
个人主页被 2k 人浏览