TonyDeng's Blog

“In me the tiger sniffes the rose.” -- Siegfried Sasson


  • 首页

  • 分类

  • 归档

  • 标签

  • PPT

  • GitBook

  • 关于

  • 搜索

JUnit5教程-简介

发表于 2017-10-09 | 分类于 JUnit5 Tutorial

junit5 logo

这个JUnit5教程将讲述如何使用Java8风格的编码以及其他功能,同时也了解JUnit5与之前的版本的区别。

Junit5简介

JUnit是Java中使用最广泛的测试框架,之前Java8发布了最引人注目的lambda表达式,整个Java的编码风格发生巨大的变化,JUnit5主要在希望能够适应Java8风格的编码以及相关工,这就是为什么建议在Java8之后的项目中使用JUnit5来创建和执行测试。

JUnit官方说明:

JUnit 5 is the next generation of JUnit. The goal is to create an up-to-date foundation for developer-side testing on the JVM. This includes focusing on Java 8 and above, as well as enabling many different styles of testing.

JUnit5的第一个可用性版本是在2017年9月10日发布的。

阅读全文 »

RUN vs CMD vs ENTRYPOINT in Dockerfile

发表于 2017-09-26 | 分类于 效率

docker logo

RUN、CMD 和 ENTIRYPOINT这三个Dockerfile指令看起来都很类似,很容易搞混。我们来通过一些实践来详细讨论一下它们之间的差别。

简单的说:

  1. RUN执行命令并创建新的镜像层,RUN经常用来安装Docker image中需要的软件。
  2. CMD设置容器启动后默认执行的命令及其参数,但CMD能够被docker run后面跟着的命令行参数代替。
  3. ENTIRYPOINT配置容器启动时运行的命令。
阅读全文 »

Git常见分支管理实践

发表于 2017-08-31 | 分类于 效率

git branches

Git是目前最流行的代码版本管理系统,像Github也被称为全球最大的同性交友网站 ;-) 可见Git在工程师人群中的流行程度。不过在使用Git时,经常会碰到一个问题,就是采用什么样用的分支模型进行管理,Git官方也提供了很多分支模型推荐(分布式工作流程这篇文章有相应的记载)。

我们这次主要介绍三种常见的Git分支模型。

阅读全文 »

浅谈传统企业转型互联网

发表于 2017-08-17 | 分类于 管理


最近几年的确有很多原来传统行业的企业都在做一件事情,就是拥抱互联网。这些企业都希望能够进入这个在中国发展只有20年(1996年-2017年),但是却制造了太多奇迹和富豪的行业。尤其是国家全面提出了“互联网+”这个概念,所有的人都蜂拥而至,貌似如果再不和这个奇妙的“Internet”建立联系,就会被整个时代所抛弃。

我这几年也一直在一家传统医疗器械出身的互联网医疗公司负责产品和技术相关的工作,最近也和一些在类似从传统企业转型到互联网的老板们、管理者及员工聊在互联网转型过程中的一些事情,其中发现了很多共同的困境和痛苦。

下面就简单聊聊,我在这方面的一些思考。

阅读全文 »

管理者的六项关键能力

发表于 2017-05-07 | 分类于 管理

前言

在国内的程序员圈子里面流传着一句经典名言:“程序员干不过30岁”(可能现在已经将这个年龄推迟到35岁)。这句名言行内的人大部分人都听过,字面上的意思大家应该都明白,说的是在软件开发领域里面,如果到一定年龄之后,如果你还是在做单纯的编码工作的话,发展空间就不大了。所以行业内的很多年轻人,在入行的时候,就有一个目标,“我要在做几年程序员之后,一定要做管理者或者转到其他职位”。在网上相关问题也是一搜一大把。

这句话,我其实还想引申到其他行业和职位上,貌似大家都会觉得当年龄增长之后,只有当上管理者之后,才算是一个顺利的或者说是安全的职业发展。

今天在这里,我先不谈所谓的国人的“官本位”思想,也不撒鸡汤来鼓吹“有技者,事竟成”,只是和大家聊聊我对管理的理解,以及对管理者需要具备的关键能力的理解。

希望大家能够在本文中看到管理应该是怎么样的,以及管理者应该是怎么样的,并且和自身对照,看看自己是否真的适合走这条道路。

阅读全文 »

Plantuml介绍以及在Hexo中的相关插件

发表于 2017-04-14 | 分类于 效率

plantuml logo

PlantUML 简介

PlantUML是一个画图脚本语言,官方介绍如下:

Generate UML diagram from textual description

阅读全文 »

机器学习常见算法分类汇总

发表于 2017-03-03 | 分类于 算法及实现

机器学习无疑是当前数据分析领域的一个热点内容。很多人在平时的工作中都或多或少会用到机器学习的算法。本文为您总结一下常见的机器学习算法,以供您在工作和学习中参考。

机器学习的算法很多。很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的。这里,从两个方面来给大家介绍,第一个方面是学习的方式,第二个方面是算法的类似性。

阅读全文 »

Python的JIT

发表于 2017-03-03 | 分类于 性能

编译型 or 解释型?

玩过 Python 的同学应该都听过 python 是解释型语言,那么什么是解释型语言,其实在现代的编程语言中,关于解释型 和 编译型 的界限越来越模糊了,这里我根据我自己的理解下个定义:

  • 解释型:不能直接编译成可执行二进制程序的语言
  • 编译型:可以直接编译成可执行二进制程序运行的语言

根据这个定义的话,可以明确给出界定,C/C++ 是 编译型 的,而 Java 则是 解释型 的,为什么我没说 Python,因为 Python 我也不敢说它是哪种类型的。为什么?因为这要看你说的 Python 是什么?是说 Python 编程语言,还是 CPython 解释器。如果说的是 CPython 解释器,那么毫无疑问 Python 是解释型的;那如果说的是编程语言,那么还真无法界定,因为 Python 规范只定义了 Python 的语法规定,并没有规定要如何实现编译解析,所以无法确定。

阅读全文 »

协同过滤实现及算法

发表于 2017-01-01 | 分类于 算法及实现

本文来自团队中学科同学的分享

recommend

场景

根据用户行为分析用户偏好,将不同偏好的用户进行群组划分和“商品”推荐
常见于网上购物,点评,游戏市场等

SPARK实现

  • 步骤

  1. 读取原始数据
  2. 格式化成RDD数据:用户,产品,评分
  3. 矩阵SVD分解
  4. 计算用户相似度
  5. 根据加权评分计算推荐结果
阅读全文 »

etcd4j阻塞排查和解除过程

发表于 2016-11-03 | 分类于 程序设计

debug

先说一下背景

最近将整个微服务的体系从原来的通过使用TCP4J加上固定的HOST+PORT的方式转成使用ETCD的服务发现体系(大家想了解ETCD可以关注我之前的两篇博文初试ETCD,ETCD应用场景 )。

阅读全文 »
<i class="fa fa-angle-left"></i>123…8<i class="fa fa-angle-right"></i>
Tony Deng

Tony Deng

73 日志
18 分类
145 标签
RSS
GitHub Twitter 知乎
© 2005 - 2022 Tony Deng
由 Hexo 强力驱动
主题 - NexT.Mist