关于“编程的本质”的探讨
提出问题如果你去面试,被大公司工作20年的资深技术总监问一个问题“说说你对软件工程的理解”,你会怎么回答呢?是不是会像我一样一脸懵逼,一个问题就让人回到了小学。没有经年的编程和架构经历,没有对问题本质的深入探究,恐怕任何回答都会显得非常苍白。探索历程之编程本质有了问题和好奇心之后,令你印象深刻的问题就会在一段时间内充斥你的脑海。让我回答对软件工程的理解,可能我会先从“软件工程”的定义说起,他应该是
单元测试时静态方法注意点
Mockito 很强大, 但是它不支持静态方法.所以, 就用Powermock了. 要测试的对象是Controller中的接口, 对单元测试来说, 这个待测试的街口应该是一个白盒的. 所以, 其中的第三方(service,其他静态类)的调用都应该使用mock对象来stub起来. 下面是## 示例代码(随手写的,说明问题就行):Controller: @Controllerpublic&
MP4视频如何转成mp3?转换视频为音频的解决之道
什么是音频文件呢?我们印象中,全部那些可以听进耳朵里的其实都可以说是音频哦!包括其实我们平常在听的音乐文件格式也是,只能听,没办法看。主要是MP3文件,也有其他的类似AAC、WAV等等!有时候需要将一些视频中的音频提取出来,但是没有专业的工具,很不好办,怎么转换音频文件为视频呢?下面一起来看看快速把视频转换成mp3的方法~ 迅捷视频转换器http://www.xunjieshipin.com
前端杂谈: CSS 权重 (Specificity)
前端杂谈: CSS 权重 (Specificity)css 权重想必大家都听说过, 一些简单的规则大部分人也都知道:较长的 css selector 权重会大于较短的 css selectorid selector 权重高于 class selector.但是具体规范是什么? 浏览器是按照什么标准来判定不同选择器的权重的呢?让我们来看一下官方文档是怎么说的~第一个关键词: Specifi
JavaScript创建对象方法实例小结
本文实例讲述了JavaScript创建对象方法。分享给大家供大家参考,具体如下:最简单的方式就是创建一个Object对象,并为其添加属性和方法。//示例代码var person=new Object() person.name="yumi"person.age=18person.job="coder"person.sayName=fun
2018最小巧实用的视频剪辑工具大集合
在学习生活中,我们经常要用到视频剪辑软件,可是对于小白来说,要立马学会AE这种高大上的视频剪辑软件,还不如让小白去搬砖。下面有一些小巧实用的视频剪辑软件,可以剪辑一段小视频,或合并两段视频、转换格式等等,让你成为轻松成为视频剪辑大师。 迅捷视频转换器http://www.xunjieshipin.com/download-converter1、下载视频类: ①如果想从一些视频网站上下载视频
Apollo 发布 GraphQL 平台和 VS 代码扩展
GraphQL背后的公司Apollo刚刚推出了其旗舰产品Apollo GraphQL 平台,称其为“旨在以正确方式进行 GraphQL 的公司的完整解决方案”。GraphQL 已逐渐成为现代应用程序开发的一个有用组件,大型企业都是依赖于专家来实现它。Apolloy 认为这个新平台可以让任何应用开发团队轻松地创建出 GraphQL 系统。与该平台发布同时发布的还有一个新的VS 代码扩展,它提供了使用
放弃 Python,Uber 用 Go 重写 Schemaless 数据库的分片层
摘要: 2014 年,Uber 构建了可扩展的容错数据库 Schemaless,但随着业务的增长,原实现方式对资源消耗更多,同时请求延迟也在增加,为了保持 Schemaless 的性能,Uber 在不影响生产服务的情况下用 Go 重写了 Schemaless 数据库的分片层,完成了将产品系统从旧实现迁移到新实现的 Frontless 项目。2014 年,Uber 工程构建了可扩展的容错数
视频剪辑软件哪个好用 视频剪辑选哪款软件
随着社会的发展,大家的英语生活也越来越丰富,常常在网站上看到别人制作的视频,有些是从影视剧上截取出来自己剪辑合成了,还别说,剪辑的效果还不错,画面或唯美或炫酷,每一部作品都让人叹为观止,相信不少朋友都想学习制作方法吧,其实这也不算难,只要你有一款合适的视频剪辑软件,就能制作一个同样优秀的视频,那么用什么软件好呢?下面小编为大家推荐了几款可供参考。
Python函数属性和PyCodeObject
函数属性python中的函数是一种对象,它有属于对象的属性。除此之外,函数还可以自定义自己的属性。注意,属性是和对象相关的,和作用域无关。自定义属性自定义函数自己的属性方式很简单。假设函数名称为myfunc,那么为这个函数添加一个属性var1:myfunc.var1="abc"那么这个属性var1就像是全局变量一样被访问、修改。但它并不是全局变量。可以跨模块自定义函数的属性。例
用Redis轻松实现秒杀系统
导论曾经被问过好多次怎样实现秒杀系统的问题。昨天又在CSDN架构师微信群被问到了。因此这里把我设想的实现秒杀系统的价格设计分享出来。供大家参考。秒杀系统的架构设计秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路: 写入内存而不是写入硬盘 异步处理而不是同步处理 分布式处理 用上这三招,不论秒杀时负载多大,都能轻松应对。更好的是,Re
基于Redis实现分布式锁
背景在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现分布式锁机制。Redis命令介绍使用Redis实现分布式锁,有两个重要函数需要介绍SETNX命令(S
如何将手机里的wav录音转换成mp3格式?
在给朗诵录音或者通话录音都会保存录音文件,而很多人希望将手机录音文件转换成mp3,这样就更容易播放了,方法其实很简单,迅捷视频转换器就能够转换录音文件。 迅捷视频转换器http://www.xunjieshipin.com/download-converter 录音即是将声音信号记录在媒质上的过程。将媒质上记录的信号重放出声音来的过程称为放音。录音和放音两过程合称录放音。常见的有唱片录放音
HTML 框架
通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。iframe语法:<iframe src="URL"></iframe>该URL指向不同的网页。Iframe - 设置高度与宽度height 和 width 属性用来定义iframe标签的高度与宽度。属性默认以像素为单位, 但是你可以指定其按比例显示 (如:"80%").实例&
Java基础——注解(入门)
Java基础之注解最近在写一些小玩具,当使用Spring框架的时候,发现JDBCTemplate对于保存和插入数据支持的不是特别好。所以自己写了一个简单的公共类,这里面用了很多注解相关的知识点,所以想着写出来跟大家分享一下。简介Java5.0版本(JDK1.5)引入注解之后,注解成为了Java技术平台一项非常重要的部分。注解(Annotation),元数据,一种代码级别的说明。特性级别与类、接口和
《亲爱的客栈2》爱奇艺视频怎么转换MP4
《亲爱的·客栈》是湖南卫视推出的经营体验类观察真人秀节目,第一期邀请了刘涛夫妻远离城市喧嚣,到泸沽湖经营一所客栈,由明星陈翔、阚清子、纪凌尘等帮忙打下手,招待客人。节目带起了一股慢综艺的热潮,也唤起了电视机前不少观众回归生活的初心。而第二期最近又开播啦!而且从客栈的选址到设计、搭建,都有老板和员工们参与其中,亲身体验。相当有趣,不知道大家是否也喜欢这一类节目。但是节目虽然=好看,但如果我们想从
TarsGo支持Protocol Buffer
Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(Total Application Framework),目前支持C++,Java,PHP,Nodejs,Golang语言。该框架为用户提供了涉及到开发、运维、以及测试的一整套解决方案,帮助一个产品或者服务快速开发、部署、测试、上线。 它集可扩展协议编解码、高性能RPC通信框架、名字路由与发现、发布监控、日志统计、配置管理
一文了解JVM全部垃圾回收器,从Serial到ZGC
上文提到过现代的商用虚拟机的都是采用分代收集的,不同的区域用不同的收集器。常用的7种收集器,其适用的范围如图所示Serial、ParNew、Parallel Scavenge用于新生代;CMS、Serial Old、Paralled Old用于老年代。 并且他们相互之间以相对固定的组合使用(具体组合关系如上图)。G1是一个独立的收集器不依赖其他6种收集器。ZGC是目前JDK 11的实验收集器。下面
单元测试时静态方法注意点
Mockito 很强大, 但是它不支持静态方法.所以, 就用Powermock了. 要测试的对象是Controller中的接口, 对单元测试来说, 这个待测试的街口应该是一个白盒的. 所以, 其中的第三方(service,其他静态类)的调用都应该使用mock对象来stub起来. 下面是## 示例代码(随手写的,说明问题就行):Controller: @Controllerpublic&
使用Spring Boot和H2完全工作的原型
我们在Spring中使用了很多H2,特别是用于单元测试。但是,我们可能希望拥有一个包含数据的全功能原型,而不是单元测试。H2是完美的候选者。它适用于Spring,与大多数数据库具有很强的语法兼容性,并提供用于检查数据的UI。想象一下面试任务的情景。您希望您的示例开箱即用,尽可能少的配置为审阅者。计划是使应用程序启动并运行数据。在访问应用程序之前,我们不妨向其添加数据。然后,我们需要有一个正确的方法