java N 问

如何理解面向对象? 编程中有面向对象和面向过程两种思想。它们都是从编程实践中总结出来的 面向对象就是把实际问题抽象成不同的实体(类),在实体中封装对象的属性和方法,来方便地解决问题。 以飞机大战游戏为例。若想实现这样的功能,该如何用java OOP来设计思路?先抽象这个游戏中的实体:敌人飞机、英雄飞机、蜜蜂、子弹。所有的事物都要飞行、移动;不同的飞行实体又有各自的特点。所以我们抽象一个父类FlyingObject,飞机、蜜蜂等继承这个类再扩展自己的属性和方法。最后再在一个主类中实现、组织游戏逻辑。 对于简单的问题容易抽象实现OOP,而复杂的问题体现了一个人的设计和抽象能力。 »

RESTful API设计系列四:URLs

说明 原文链接 翻译:@adolphlwq 项目地址 tt:自动生成翻译模板 用时: 2h Entry Point RESTful API有且只有一个入口点(entry point)。入口点的URL要告知API客户端,以便它们可以找到。 技术上讲,入口点可以被看作任何集合外的单个资源。通常入口点包含下列部分或全部信息: API版本信息,支持的特性等。 顶层集合列表。 单个资源列表。 API设计者认为有用的信息,比如: »

RESTful API设计系列三:资源

说明 原文链接 翻译:@adolphlwq 项目地址 翻译/校对:3.5h 资源是任何RESTful API中的基本概念。资源是对象,包括类型、关联的数据、资源间的关系以及资源上的操作集合。它和面向对象编程语言中的对象类似,不同点在于资源 只定义了有限的标准方法(对应HTTP协议中标准的GET,POST,PUT,DELETE方法),而对象实例可以有很多方法。 资源可以被分类到不同的集合中。每个集合都包含一种类型的资源,因此集合都是均匀( »

RESTful API设计系列二:API设计者的职责

说明 原文链接 翻译:@adolphlwq 项目地址 翻译/校对:1.5h 在完全深入RESTful API设计之前,详细了解RESTful API设计者的工作细节很重要。 APIs之间不是孤立的,对于API中已经存在的应用或者服务的API,新的API要和它们在功能上独立开来。在我看来,API设计者的职责是双重的: 1. 足够理解新建API在应用中的重要细节,这样你就能决定哪些功能需要暴露、如何暴露,以及哪些功能可以排除。 2. 对API中的功能建模,要能解决出现的所有使用场景, »

RESTful API设计系列一:简介

说明 原文链接 翻译:@adolphlwq 项目地址 简介 这篇文章里,我尝试写下我心中的、真正优美的RESTful API设计原则。这些经验来自于我之前参与的项目twice,它是红帽企业版中的虚拟化产品。在API设计阶段我们必须解决真实场景中的很多问题,同时我们不希望添加那些容易实现的非RESTful或者类RPC接口到我们的API中。 在我的理解中,真实的RESTful API提供了问题的答案,你不需要再去看介绍文字。但是做到如此不可避免要遇到很多问题: - 是否要正规描述资源? - 如何创建有帮助、自动化的命令行接口? - 如何做轮询、 »

个人英文翻译的反思总结

最初目的 我是一名软件工程师,在项目开发中要接触大量的英文文档,阅读非常多的英文文章。这让我深深感触到: - 英语的读、说、写能力严重限制软件工程师的个人发展 - 语言不通带来的信息不对称也会影响着个人视野 这也是我决定通过翻译文章学习英文的初衷,后来慢慢衍生出adolphlwq/translate这个项目。 翻译历程 2015:阶段一 2015年5月对Docker非常感兴趣,于是开始阅读官方文档。记得那时候还是1.6版本,文档还很清新简洁,没有现在(1.13) 那么臃肿, »

Docker与深度学习

说明 原文链接 翻译:@adolphlwq tt: 自动生成译文模板 项目地址 Docker提供了一种将Linux Kernel中需要的内容静态链接到你的应用中的方法。Docker容器可以使用宿主机的GPUs,因此我们可以把TensorFlow或者机器学习代码的任何依赖都链接到 容器中,这样其他小伙伴就可以使用你的工作成果了。 你可以发布一个可再现的机器学习项目,它几乎不需要用户设置,不需要用户花6小时去下载依赖或者报错: # 6 hours of installing dependencies python train.py > ERROR: »

RHEL/CentOS 7.x/6.x/5.x开启EPEL仓库

说明 原文链接 翻译:@adolphlwq 项目地址 这篇指南文章教你如何在RHEL/CentOS 7.x/6.x/5.x系统中开启EPEL仓库支持,以便你可以使用yum命令 安装额外的标准开源软件包。 您还可以参考:Install and Enable RPMForge Repository in RHEL/CentOS 7/6/ »

linux common knowledge

安装指定版本软件 CentOS yum list docker-engine --showduplicates Available Packages docker-engine.x86_64 1.7.0-1.el7.centos dockerrepo docker-engine.x86_64 1.7.1-1.el7.centos dockerrepo »

kubernetes dashboard unauthentication

前言 参考文档安装完Kubernetes cluster后安装k8s dashboard,发现不能访问。 这个问题在dashboard-issue上面引发了很多开发者的讨论,笔者浏览后发现可用的解决方案被淹没在众多讨论中,不易发现,这里列出来方便大家。 基础环境 Kubernetes: { "Client Version": { "Major": "1", "Minor": "5", "GitVersion": "v1.5.1", "GitCommit": "82450d03cb057bab0950214ef122b67c83fb11df", "GitTreeState": "clean", "BuildDate" »