package.json和package-lock.json的区别

package.json和package-lock.json的区别

介绍

把npm更新到v5.x.x以后, 会出现一种新的自动生成文件 – Package-lock.json. 如果打开这个文件, 会发现它看着像package.json里面的依赖.

背景知识

  • 在解package.jsonpackage-lock.json前, 需要先了解semver 语义化版本号变更. 它是npm依赖管理背后的精髓. 点这里了解npm是如何使用它的. 总的来说, 所谓的语义化版本号变更, 就是当你修改了你所维护的第三方库时, 告诉那些使用了你的库的项目, 你做[……]

    继续阅读

关系型数据库设计:三大范式的通俗理解

关系型数据库设计:三大范式的通俗理解

目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。

而通常我们用的最多的就是第一范式(1NF)、第二范式(2NF)、第三范式(3NF),也就是本文要讲的“三大范式”。

第一范式(1NF):要求数据库表的每一列都是不可分割的原子数据项。

举例说明:

在上面的表中,“家庭信息”和“学校信息”列均不满足原子性的要求,故不满[……]

继续阅读

[GIT] git中fetch和pull的区别

[GIT] git中fetch和pull的区别

git中都fetch命令是将远程分支的最新内容拉到了本地,但是fetch后是看不到变化的,在tortoiseGit中使用switch/checkout查看当前分支,发现此时后本地多了一个FETCH_HEAD的指针,checkout到该指针后可以查看远程分支的最新内容。然后checkout到master分支,执行metch,选中FETCH_HEAD指针,合并后如果出现冲突则解决冲突,最后commit。

p[……]

继续阅读

Mysql 工具集

Mysql 工具集

1. 查询所有的表名

select column_name from information_schema.columns where table_schema='your schema' and table_name='table name'

2. dump/restore

mysql -uroot -h -p -P3306   < tbike.sql;
mysqldump -h -P3306 -uroot -p  > tbike.sql;

3.修改blob的大小

mysql根据配置文件会限制server接受的数据包大小。
有时候大的插入和更新[......]

继续阅读

谈谈我的博世hackathon感受

谈谈我的博世hackathon感受

一年一度的博世黑客马拉松要开始了,极客圈的小伙伴们都在跃跃欲试。好些个朋友都来问我这个参加过的选手,诸如xdk是啥啊,容易上手吗等问题,我干脆写到我自己的技术日记,要看随取。这里的确要吐槽下博世,的确宣传力度和技术社区培养不够,资料的确难找,不像STM32啊,Arduino啥的开源智能硬件,有强大的社区支持,例程和开发人员非常多。这也让xdk这个好东西让极客们有些陌生感。

粗暴的说,XDK是博世推出的IoT平台开发套件,它包含一个高度集成化的硬件终端,一些中间件,IDE和云平台。XDK秉承[……]

继续阅读

Python时间函数

Python时间函数

在用Python编写程序时经常会遇到需要求解一个函数运行时间的情况,发现一个利用Python语言特性编写的比较巧妙的计算方法,这里记录和大家分享一下:

def time_function(f, *args):
    """
    Call a function f with args and return the time (in seconds) that 
    it took to execute.
    """
    import time
    t[......]

继续阅读

jobconverter文档详解

jobconverter文档详解

版本: 4.2.0
https://github.com/sbraconnier/jodconverter/wiki/Getting-Started

概览

Jodconvert , 是一个java的文档转换器, 利用 openoffice 或 libreOffice 来进行文档格式转换.

其支持的格式如下:

对于html格式的特殊注意:

  • HTML可以用作输入格式,但您不应期望OOo像Chrome或IE那样正确地呈现复杂的网页。 仅适用于简单和“[……]

    继续阅读

软件测试–Bug等级划分方法

软件测试–Bug等级划分方法

测试BUG等级划分标准

  • Blocker(崩溃):阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发生死锁、重要的一级菜单功能不能使用等
  • Critical(严重):系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出,关联程序间调用冲突,安全问题、稳定性等。如:软[……]

    继续阅读

【转载】微服务架构下的分布式Session管理

【转载】微服务架构下的分布式Session管理

大家好,很高兴在这里和大家进行微课堂的分享,今天进行分享的主题是《微服务架构下的分布式Session管理》。

主要大纲:

一、应用架构变迁下的Session管理

二、微服务架构下的Session管理

三、Session管理实践分享

一、应用架构变迁下的Session管理

Session一词直译为“会话”,意指有始有终的一系列动作/消息。Session是Web应用蓬勃发展的产物之一,在Web应用中隐含有“面向连接”和“状态保持”两个含义,同时也指代了Web服务器与客户端之间进行状态保持的解决方案。

在Web应用[……]

继续阅读

maven filter和resource

maven filter和resource

1. 利用filter实现对资源文件(resouces)过滤


maven filter可利用指定的xxx.properties中对应的key=value对资源文件中的${key}进行替换,最终把你的资源文件中的username=${key}替换成username=val

       <!-- 过滤器,用于过滤resource中的各个文件 --> 
        <filters>
            <filter>src/main/res[......]

继续阅读