- 博客(80)
- 收藏
- 关注
原创 以macOS为例,如何使用Charles监听,拦截和修改本地的网络通信
1 原理首先,你必须明白Charles工作的大致原理。在本机启动一个网络代理(proxy),所有对外的通信都必须走这个代理。Charles监听经过这个代理的通信。通过设置相关的断点,用户可以拦截特定的请求或回复。拦截之后,用户可以编辑这些请求或回复。2 Steps2.1在本机设置网络代理通过System Preferences - Network入口,设置网络代理。你可以分别...
2019-09-22 17:13:20 5583
原创 如何在PyCharm上配置Python解释器,以及解决Windows上PyCharm不能识别C:\Users\Me\AppData路径的问题。
最近遇到这么一个问题。在Windows上安装Python解释器后,我在PyCharm上却不能找到相应的路径。我花了一些时间去解决这个问题,将解决方案记录于此。1 如何在PyCharm上配置Python解释器我以mac OS系统为例,Windows上也是类似。打开PyCharm的偏好设置,搜索interpreter...
2019-08-29 21:52:07 12019 2
原创 如何在VS Code中配置ESLint(Setting up ESLint in your JavaScript Project with VS Code)
我曾两次遇到这个问题,两次花时间去解决这个问题,为了避免以后遇到同样的问题,我将此记录于此。https://dev.to/iamdammak/setting-up-eslint-in-your-javascript-project-with-vs-code-2amf 这个文章不仅讲述如何在VS Code中配置ESLINT(HOW),也讲述其中一些步骤的原因(WHY)。另外:你必需知道VS Co...
2019-08-25 18:30:39 646
原创 [图文并茂]手把手教你用`U盘启动盘`重装Windows系统
前言两年半前的我的一台windows笔记本系统崩溃,当时我还不会重装系统,而且那台笔记本的性能实在是太差的(内存2G的远古笔记本),索性换了现在的rMBP(现在仍然性能良好)。我现在要做的是:依靠手里的这台rMBP,通过制作U盘启动盘,重装Think Pad的windows系统。(如果你手里有一台能用的windows机器,这个过程会更简单)接下来的过程,如果你遇到问题,可以免费求助于Q...
2018-02-14 16:34:23 18071
原创 记一次Tomcat日志分析:一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
1 问题我将一个应用,MicroStrategy-11.3.0000.13515,部署到Tomcat。然后,我点击start后报错:FAIL - Application at context path [/MicroStrategy-11.3.0000.13515] could not be started2 解决方案如果你谷歌报错信息的话,你会发现造成这个报错信息的场景有很多。换而言之,这个报错信息不明确。比如这个问题:FAIL - Application at context path
2020-09-16 21:07:38 51940 3
原创 Spring实战读书笔记(二):在Java中进行显示配置
1 背景我们可以通过3种方式装配bean,分别是:在XML中进行显式配置在Java中进行显示配置隐式的bean发现机制和自动装配这篇博文讲第2种方式2 在Java中进行显示配置还是以一个项目(地址:https://github.com/AChaoZJU/Vue-Spring-Boot-Get-Started)为例,来描述通过在Java中进行显示配置,以装配bean。这个项目的分支介绍如下:master:隐式的bean发现机制和自动装配Java-Config: 在Java中进行显示配
2020-06-15 20:01:07 389
原创 Spring实战读书笔记(一):隐式的bean发现机制和自动装配
1 背景我们可以通过3种方式装配bean,分别是:在XML中进行显式配置在Java中进行显示配置隐式的bean发现机制和自动装配2 隐式的bean发现机制和自动装配第3种方式,从工作量来说,是最方便的。Spring从两个角度来实现自动化装配组件扫描(component scanning):Spring会自动发现应用上下文中所创建的bean。自动装配(autowiring): Spring自动满足bean之间的依赖我以一个项目为例,来描述自动化装配的过程。项目的github地址如
2020-06-14 13:40:54 658
原创 安装oh my zsh失败:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
1 遇到的问题我需要在macOS系统上安装OhMyZsh。根据oh my zsh的README,我的环境满足它的所有Prerequisites根据文档,运行命令:sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"报错:curl: (7) Fai...
2020-04-18 22:26:02 40063 19
原创 针对Spring/Gradle启动失败的一些通用解决方案
文章目录1 更改Gradle JVM的Java JDK1.1 执行JUnit测试时,Gradle报错1 更改Gradle JVM的Java JDKSettings -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM -> 选择你适合你项目的JVM此通用解决方案的成功案例...
2020-03-27 18:43:29 4001
原创 Intellij报错:Eror running 'AFrameApplication': Command line is too long.
参考文章:https://blog.jetbrains.com/idea/2017/10/intellij-idea-2017-3-eap-configurable-command-line-shortener-and-more/?_ga=2.47950759.1623353199.1585199564-308185560.15837357741 Description:启动Spring项目时...
2020-03-27 18:24:56 354
原创 [Windows Only]Tomcat的下载、配置和启动(图文并茂)
0 前言我发现,在Windows上配置Tomcat还是有一些不那么友好的误区。这个话题也是比较普遍的。所以,我在此记录一下。1 下载一般谷歌搜索“download tomcat version number”,就可以找到下载入口。在我写作这篇文章时,tomcat的新版本是9,找到下面的下载界面。然后,我选择我想要的下载格式,zip。2 配置和启动下载完成并解压后,如果我们直接点击b...
2019-12-31 22:07:59 371
原创 以一个网页爬虫为例:Async/await,让你Promise更舒服地写Promise
There’s a special syntax to work with promises in a more comfortable fashion, called “async/await”. It’s surprisingly easy to understand and use.async/await是一种让开发者更舒服地写Promise的方式。关于它的用法可以详见下面两篇文档:...
2019-12-22 18:08:47 303
原创 Web API: URL.createObjectURL()实践
1 问题URL.createObjectURL的介绍如下:The URL.createObjectURL() static method creates a DOMString containing a URL representing the object given in the parameter. The URL lifetime is tied to the document in...
2019-11-02 13:38:33 3078
原创 Web Server学习笔记(一):apache配置document root
1 背景知识Document root,即docroot,是web server文件系统中的一个特殊文件夹,用来存在web content。以apache web server为例,docroot
2019-10-06 11:26:25 4435
原创 VSCode如何配置styleLint
在VSCode中安装插件ESLint在项目的根目录创建一个规则文件新建.stylelintrc如下{ "extends": "stylelint-config-recommended"}这是一个最简单的配置文件,你可以根据需求自行添加需求安装相关的npm包npm install --save-dev stylelint-config-recommended重启...
2019-09-25 20:20:08 4441
原创 使用git diff时,忽略额外的^M字符
1 遇到问题的场景是这样的我需要用到必需在Windows系统上创建的文本文件。因为这些文本只能由Windows系统上的Microsoft Acesss软件生成。然后,我用这些新生成文本文件覆盖旧有的文本文件。我用git diff查看覆盖后的差异。git diff结果如下:+BBB*^M+AAA*^M+YYY*^M+XXX*^M可以看到,增加的每一行文本的末尾都有额外的^M字...
2019-01-28 21:10:28 5523
原创 The configuration of ftp server and client(ftp服务器和客户端的配置)
This is the first article since April in this year. This is also the first article since I joined Microstrategy.(本来这篇文章是放在博客园上的,虽然他们广告少,但是导流做得不是很好。)1 EnvironmentServer: CentOS release 6.8(Final)Cl...
2018-11-24 13:44:24 494
原创 在React的componentDidUpdate阶段,浏览器的渲染工作并没有结束
1 一个深坑4月第一文。最近在React实践之中踩了很多深坑。先说下面这个深坑:Liftcycle componentDidUpdate of React.js is not really updated did? [duplicate] 在这之前,我自认为对React的lifecycle已经有了足够的了解。但,事实证明我错了。下面这几行的代码的目地是:访问并设置一个DOM ...
2018-04-20 20:29:30 12458 2
原创 微策略2017年秋招线下笔试+技术面+在线测评+主管面总结
1 前言微策略可能在国内的知名度比较小,它是一家总部在美国,在杭州设立研发中心,主要做智能商用软件的外企。更多的信息,请自行搜索。我是17年10月份面试微策略,然后拿到的开发(前端方向)的offer。当时在微策略和网易的前端offer之间纠结;因为微策略work-life-balance的企业氛围以及比网易高那么一点点的待遇,我最后选择了微策略。秋招的事情本来已经过去半年了,很多细节我...
2018-03-28 00:08:30 7501 9
原创 《哈利波特与魔法石》英文版读书笔记:目光实体化
在我小学的时候,我有幸接触到了哈利波特系列小说。后来陆续陆续读完了全部七本。再后来重新阅读了一遍。众所周知,阅读英文技术文档是诸位程序员的一个必备技能。我在休闲时间阅读哈利波特的英文原著,正是基于这个原因。在《哈利波特与魔法石》读完一半之后,我写下此文。1 fix + stare先来看一段文字: “Yeh don’ know… yeh don’ know…” Hagrid ...
2018-03-23 22:06:12 6955
原创 U盘启动盘装Linux系统: 以Kali为例
Kali是Linux的一个发型版本,与Ubuntu、RedHat类似。其实网站的相关教程鱼龙混杂,官网的教程就比较良心和正式了(图文并茂,基本没有坑)。我下面直接贴出了链接,之后再讲几个要注意的地方。只安装Kali: https://docs.kali.org/installation/kali-linux-hard-disk-install已有Windows系统,再安装Kali:ht...
2018-02-16 23:12:44 23206 2
原创 Hibernate中的nuallable, insertable, updatable
nuallable, insertable, updatable in Hibernate本文中示例代码使用kotlin,Java语言也是类似下面的代码描述了一个Table的其中一个column的数据规范。@get:Column(nullable = false, insertable = true, updatable = true)var x: Int = 0一件我们必须...
2018-02-08 19:48:40 1629
原创 Smart cast to 'Type' is impossible, because 'variable' is a mutable property that could have been
我之前在开发jvm应用(kotlin语言)的时候,遇到一个bug。代码如下:if(question.x !=null){ questionProfile.setX(question.x.toTimeStamp())}IDE报错:Smart cast to ‘Type’ is impossible, because ‘variable’ is a mutable propert
2018-02-07 18:44:22 4578
原创 花开彼岸天:我的2017年终总结
2017大约是我自高一以来收获最多,进步最大的一年。我在这一年中也过得比较开心,活得比较滋润。1 编程语言、框架与计算机核心专业课我很长一段时间内,我对于计算机专业的学习是纠结和疑惑的。在学习操作系统、数据库系统、数据结构与算法、计算机网络等课程的时候,我总是会想:我学了这些课之后可以做出什么成果,这些知识在实际开发的过程中有什么用处?这种复杂的情感妨碍了我专注于专业课的学习。即使从网...
2018-01-25 20:54:40 600 5
原创 Destructuring Declarations in kotlin (kotlin的解构声明) 的正确打开方式
熟悉JS的读者朋友们知道,ES6有一个非常好用的特性,解构析值。 这个特性可以帮助我们实现如下简洁的代码:const {a, b} = {a:"Alice", b:"Bob"}简单地说,就是拆解一个对象。我在写kotlin的时候想:kotliin有没有类似的特性呢?kotlin有一个类似的,但是不是非常好用的特性:Destructuring Declarations 我觉得这
2018-01-11 22:09:45 424
原创 Node.js Setup:This may indicate a problem with this package. The error code is 2503.
最近因为实习的原因(具体是因为后端本地调试很吃内存和CPU,我的低配rmbp速度有点慢),要迁移到windows 10上开发。最大的好处是4GHz的CPU,32G的内存,代价是一定的适应成本。在安装Node.js时,我就遇到了下面的问题:错误提示并不显然,但是一般原因是权限不够。解决方法是用管理员权限的powershell下运行Node.js的windows installer C:\Users\a
2017-12-13 21:10:22 2988
原创 chrome不支持showModalDialog造成弹窗失败
最近在解决一个学院官网后台的兼容性问题。这个网站不是我开发的,我也接触不到代码;技术很老,jQuery+ PHP。由于权限的原因,我不能让读者复现此问题。具体情形是这样的:一个弹窗功能在IE11上是工作,但是在chorme62上不能工作。在chrome上的报错信息截图如下:定位showModalDialog这个接口:如果我聪明的话,我应该直接想到:showModalDialog不被支持(没有定义),
2017-11-17 13:55:52 4516
翻译 [译文]CSS的渲染性能
原文链接:Efficiently Rendering CSS我承认,我不经常考虑下面这个问题:我们写的CSS如何才能有效率的,换而言之,如何才能让浏览器更快地渲染它。这的确是浏览器厂商应该考虑的问题:页面加载越快,人们更愿意使用它们的产品。Mozilla 有一篇关于CSS开发的最佳实践(译者注:原文链接已失效)。谷歌(尝试)改进(浏览器)让网页加载地更快。让我们来浏览它们阐述的主要观点,然后讨论这些
2017-11-04 13:42:22 511
原创 一个浙大CS本科生关于2018届秋招(前端方向)的一些干货
0 一路走来秋招是我一路走来最坎坷,也是最充实的经历。自我介绍下,我是18届浙大CS的本科毕业生。我收到的若干个offer中,令我满意的有微策略和网易杭州研究院这两个前端开发的offer。1 干货一个查薪资的网站: offershow(适配了手机端web,没适配PC端),浙大同学开发的,也有相应的微信小程序、微信公众号。笔试&面试牛客网上的题库很好用,尤...
2017-10-25 11:07:36 4411
翻译 [译文]CSS的水平/垂直居中:一篇完整的指南
原文:Centering in CSS: A Complete Guide在CSS中居中是(开发者)抱怨CSS设计的代表问题之一。有人嘲笑说:这有什么困难的呢?我认为,难度不在于解决问题,而在于有如此多的不同解决方法。这些方法在不同的场景下有不同的用处。这让我们手足无措。让我用一个决策树来帮助我们选择合适的解决方案。水平居中(Horizontally)居中的对象是一个inline或者inline-*
2017-09-26 12:17:34 562
原创 51信用卡前端笔试题
回忆一下几道有价值的题目吧:1 写一个能够往超类型构造函数传参的原生JS继承要求能够往超类型构造函数传参:function People(name, age) { this.name = name; this.age = age;}People.prototype.say = function() { console.log(this.name); console
2017-09-18 21:31:11 1694
翻译 [译文]深入理解JavaScript的this关键字(二)
原文:Understand JavaScript’s “this” With Clarity, and Master It上一篇文章:[译文]深入理解JavaScript的this关键字(一)1 this关键词最令人误解的场景和相关技巧当然我们将一个方法(方法内使用this)将作为一个回调函数,事情就变量有些麻烦。比如下面这个例子: // We have a simple object with a
2017-09-08 00:25:07 669
翻译 [译文]深入理解JavaScript的this关键字(一)
原文:Understand JavaScript’s “this” With Clarity, and Master It1 前言(在这篇文章中,我们还会学习所有this关键字容易让人误解的场景。) 前置要求:一点点的JS知识 阅读本文需要的时间:大约40分钟一般来说,无论是新人还是经验丰富的JS开发者,都曾对this关键字感到迷惑。这篇文章目标在于完整地阐述this。(我相信),只要我们理解了
2017-09-06 15:46:40 851 3
翻译 [译文]清除浮动的技巧
原文:Techniques for Clearing Floats如果你很清楚(浮动元素)的后继者元素是什么,那么你只需将clear:both应用于那个元素即可。这是一个理想的情况,因为这种方法无需花式的技巧以及额外的元素。当然,现实不会如此理想化(也就是说,你可能不知道后继者元素是什么),我们需要有更多的清除浮动的方法。The Empty Div Method:这个方法的意思就是字面意思:我们
2017-09-05 15:01:37 408
原创 校招拼多多笔试题(前端工程师)
0) 考试时间:2017-09-02-提前批内推-笔试为了笔试结束后总结,我考试时截了图,然后选取几道有质量的题目。总的来说,坑还是很多的。测试代码:所在仓库1) 测试代码如下:var a = {};b = { key: 'b' };c = { key: 'c' };a[b] = 123;a[c] = 456;console.log(a); //{ '[object Object]':
2017-09-02 16:29:31 4928
原创 多益网络校招笔试题(前端工程师)
写出inline和inline-block的差别:布局方式相同,唯一的区别在inline-block可以设置宽高,inline不可以。另外:inline设置上下内边距和上下外边距会造成一些mess。详见:What is the difference between display: inline and display: inline-block?写出五大主流浏览器的内核简要介绍主流浏览器的内
2017-08-30 22:48:13 12166
转载 简要介绍主流浏览器的内核
1 想说的话浏览器内核(browser kernel)是浏览器最为核心的部分(OS:废话)。国内的浏览器(诸如360,QQ,搜狗)大多数用了第三方的内核,不同的只是外观以及一些装饰性的功能罢了。(有些浏览器是双核模式,标准模式下是chrome的内核,兼容模式下是IE的内核,用以向下兼容旧网页,诸如360浏览器。)浏览器内核可以分为两部分,一部分是渲染引擎(render engineer或layou
2017-08-30 20:34:47 11124
原创 JavaScript异步编程的原理
1 想说的话JavaScript异步编程是前端面试中一个重要内容。为了加深我对此部分内容的印象,故写此博客,主要介绍JS异步编程的运行原理。pre栈队列2 正文本文主要是阐述下面这张图的内容。一图胜千言啊。和C语言类似,JS也有执行栈(execution stack)。执行栈内存储执行上下文(execution context),execution context也被译作执行环境。执行环境一般分为
2017-08-28 16:22:23 1550
原创 《JS高级程序设计》第6章读书笔记:继承对象(四)寄生组合式继承
1 组合式继承的问题组合继承是JS最常用的继承模式,但是它也有问题,(OS:还有完没完了),就是无论在什么情况下,都会调用两次超类型构造函数。具体如何,请看代码:function SuperType(name) { this.name = name; this.colors = ['red', 'blue', 'green'];}SuperType.prototype.sayNa
2017-08-27 14:00:05 476
原创 《JS高级程序设计》第6章读书笔记:对象继承(三)原型式继承和寄生式继承
1 原型式继承原型式继承时道格拉斯,克罗克福德在06年提出的一种新的继承方式。记住这个人,他还推广了另一种继承方式。现给出具体代码:function object(o) { function F() {} F.prototype = o; return new F();}我们可以看到:在object函数内部,我们先创建一个临时性的构造函数,然后让这个构造函数的protot
2017-08-27 11:45:48 479
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人