自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Edison_N的博客

胡说八道

  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 敏捷开发辅助新项目验证与落地

敏捷开发辅助新项目验证与落地文章目录敏捷开发辅助新项目验证与落地精益创业中的反馈循环何为MVP验证需求而不是满足需求敏捷开发辅助新产品实践总结精益创业中的反馈循环在《精益创业》这本书中提到的一个反馈循环为开发-测量-认知。即,使用最小的力量开发一个产品,将其投入到小范围的市场中进行假设验证,最后收集反馈进行认知更新,并迭代到开发中。在这个循环中,如果一切顺利的话,我们会将产品逐渐优化。如果测量验证出现非期望的结果,我们可以及时终止投入,减少沉没成本。何为MVPMVP,英文为:Minimum Via

2020-11-08 17:55:59 300

原创 Django Restful Framework API Test

Django Restful Framework API Test文章目录Django Restful Framework API Test为什么关注API测试什么时候开始写测试DRF中的测试方案基本模型测试用例把访问API的逻辑写成公共的方法校验测试返回未来要做的事Django 及 DRF 框架提供了丰富完整的测试方案。本文核心关注进行API接口测试的方式方法。由于笔者在一个迭代快速的创业公司,我们更关注产品上线的效果。所以不一定会有完整的工程流程。为什么关注API测试API指应用提供给外部系统

2020-10-25 10:08:14 298

原创 为什么强烈建议使用软删除

为什么强烈建议使用软删除删数据是一个非常有风险的事情,也许你会认为一些无效数据没有保留的必要,却很容易给后续的数据分析带来糟糕的事情。本篇所说的删除数据,是指提供给用户删除操作的权限,并在数据库中实际删除了数据。无效数据也有很大价值无效的数据,是指,用户行为在数据库创建了记录,而用户行为本身只是一个简单的尝试操作,或是用户完成操作后认为是一个错误的操作,为避免造成干扰进行删除。比如,很多平台在做活动的时候,提供了某种注册操作,包括注册新账号,注册VIP等。部分用户会在发现实际使用率不高等情况后,主

2020-08-29 00:26:15 1105

原创 关于敏捷开发的想法

关于敏捷开发的想法跟随公司两个IT团队开发项目,前一个团队使用敏捷开发的方式进行,团队有专职的scrum master进行指导;后一个团队几乎没有使用敏捷开发,仅仅在jira记录了任务,尽管如此,也没有真正将任务管理用起来。在经历两种模式一段时间后,在此记录一下关于敏捷开发的一些想法。工程师与产品经理的交流首先,产品经理一定要大胆的提前跟工程师的交流时间。产品经理习惯于设计一个更完整的模型与原型,列举充足的需求说明,然后开始跟工程师对需求。通常 ,需求评审又臭又长,而工程师只是理解一个大概,并不能真

2020-08-26 01:19:51 180

原创 为什么python没有interface

为什么python没有interface对于熟悉Java中interface应用的开发者来说,原因明确不过,对于不熟悉Java的python开发者,可能会在了解interface后,很好奇,为什么python没有interface。很重要的一个原因是,Java是静态类型语言,每一个函数的输入参数,需要定义参数类型。如果在一个主函数中,传入的参数是一个具体的类的类型,那么,当函数增加传入参数类型...

2020-05-07 21:34:18 1359

原创 基于ubuntu构建R-4.0.0版本docker镜像

基于ubuntu构建R-4.0.0版本docker镜像记录只是为了方便一部安装所有依赖,免得持续的重试浪费时间直接附上Dockerfilefrom ubuntu:latestWORKDIR /root/RUN apt update && apt install wget -y && \ wget http://mirrors.ustc.edu.cn...

2020-05-06 16:21:14 374

原创 软件配置设计、访问与管理

软件配置设计、访问与管理文章目录软件配置设计、访问与管理前言结构化软件配置中可扩展性设计配置解析抽象化环境变量 or 配置文件前言最近在进行项目维护与新的feature开发过程中,涉及到为新的部署环境增加配置问题。服务本身涉及到使用不同的计算与存储环境,所以配置需要在最简化的代码逻辑下兼容不同的环境。同时不同的计算任务托管在服务上,服务需要协助管理任务的运行环境,即配合管理并准备任务使用...

2019-11-19 22:43:21 432

原创 Python编码

Python的编码是令人头疼的问题。但是学习计算机,必须要了解计算机编码,这跟学不学python本身是没有什么关系的。关于计算机编码的问题很多文章都做过分析。本篇不做赘述,只转载讲解。感谢所有贡献智慧和知识的伙伴。关于计算机编码Python中str与unicode的不同...

2019-10-24 11:25:35 129

原创 【读书笔记】程序员的职业素养

写在最前读书笔记只是对于读到的部分内容的想法看法写下来,与全书内容不无关系也没有全部的联系。想要知道全书在讲些什么,最好还是自己去翻阅原书。关于想读这本书想读这本书是因为,自己属于一众普通程序员中的最普通的一员。人一普通,就只能是学习并遵循一些前人给予的好的建议,以此来规范自己的行为。读这本书希望先让自己在抛开技术本身,对待一个技术类的工作的时候,有一套合格的工作素养。当然,这有一些舍本逐末...

2019-10-06 00:33:46 193

原创 【吐槽】编程语言设计哲学

技术栈语言选型要考虑语言本身的设计哲学写这篇文章的起意是看一位博主写的年终总结,谈到他学习go语言及其编程哲学。这让我突然意识到,最近一直觉得自己写python写的很不舒服,总觉得这门语言有很多弊病。现在看来,是因为我忘了这门语言的设计哲学了。python本身就是以优雅著称,代码本来就是要易看易读。尽管这门语言被用于很多领域,但这也是因为他的“优雅”而让人喜欢和使用。正如“二八定律”所指,让人...

2019-10-04 16:11:40 450

原创 【论文解读】Occupy the Cloud: Distributed Computing for the 99%

Occupy the Cloud: Distributed Computing for the 99%概述Why is there no cloud button示例:PyWren讨论概述这是一篇非常值得阅读的关于serverless与数据科学处理相结合的文章。我先后供职的软件开发部门,产品的使用方都是进行大数据处理与研发的团队,对于他们使用云服务器或者本地大型机的需求有一些体会,也了解常规的...

2019-09-30 17:32:53 396

转载 【转】降低软件复杂性的一般原则和方法

一、前言斯坦福教授、Tcl语言发明者John Ousterhout 的著作《A Philosophy of Software Design》[1],自出版以来,好评如潮。按照IT图书出版的惯例,如果冠名为“实践”,书中内容关注的是某项技术的细节和技巧;冠名为“艺术”,内容可能是记录优秀作品的设计过程和经验;而冠名为“哲学”,则是一些通用的原则和方法论,这些原则方法论串起来,能够形成一个体系。正如...

2019-09-29 20:54:51 505

原创 异常处理设计

异常处理设计程序执行过程中,对于可以预测的不符合程序本身逻辑的操作,都可以归为异常。包括输入异常,执行异常,数据异常等。区分的方式复杂多样。一般的处理异常方式有两种,一种是try-catch形式对异常进行捕捉及处理,一种是直接使用if语句捕捉。异常的处理需要专门的设计。任何使用程序的人都不希望经常见到各种异常的抛出。未经设计的异常处理模式要么直接被忽略(pass),要么直接被抛出(raise...

2019-09-29 12:06:31 568

原创 serverless应用

应用场景异步事件对于冷启动冷启动带来的延时决定了本身不能支持加载与启动非常耗性能的函数,这也意味着serverless不会适合运行时长极短的瞬时任务,而最好是一个批量的任务,数据量非常大,耗内存耗cpu,执行完成需要相当的时间(几小时到几天不等)。对于对响应时间有强要求,需要快速返回结果的任务,则非常不适用。环境配置虽然serverless不需要环境配置,但是函数的执行环境...

2019-09-26 11:44:25 438

原创 创业公司工作的一点心得

创业公司工作的一点心得大公司的工作氛围创业小公司的乐趣选择老牌大公司还是初创小公司做事情的态度大公司的工作氛围谈大公司的工作氛围没什么资格,因为那都是道听途说与想象中的氛围。所以只分享看法,可能全是错的,但还是要说一说。大公司最大的好处,在于已经在行业形成规模,行业的市场已经占领相当的份额。所以,在大公司,会比较有机会接触做大事的人。所谓做大事的人,往往是有较强的改变世界可能的人。** 与他...

2019-09-16 14:27:55 498

原创 如何攥写技术博客

如何攥写技术博客为什么要写技术博客写技术博客需要什么技术储备写专业的技术博客写在最后为什么要写技术博客学习的目的在于学有所用。即使是文学类思想类的知识,学到了新的思路、理论或者想法,也需要将这些整理后输出。无论是什么样的形式,只有将知识输出,才真正足够说明知识已内化并掌握。写技术博客需要什么技术储备很多人也期望自己可以攥写技术博客。但是,不少人认为,自己掌握的并不深厚,不可为人师;也有人觉...

2019-09-13 20:03:55 278

原创 PostgreSQL 中的单引号与双引号

文章目录PostgreSQL 中的单引号与双引号PostgreSQL 中的单引号与双引号在pg中的sql,单引号用来标识实际的值,双引号用来标识表名(table name)或列名(column name)等数据库中存在的值。如,执行一句query:select "name" from "students" whete "id"='1' 加上引号的好处在于,当在程序中进行sql拼装的时候...

2019-08-27 18:18:51 5221

原创 Python import 机制

Python import 机制sys.pathPYTHONPATH本地开发的软件import建议sys.path>>> import sys>>> sys.path以上代码输出包含一组地址的list,当进行import操作时,会从该list中的地址分别遍历寻找模块。执行操作可以看到,list中包含python执行文件所在的lib目录< sit...

2019-08-05 20:31:45 125

原创 【PAT】1154 Vertex Coloring (25)

Aproper vertex coloringis a labeling of the graph's vertices with colors such that no two vertices sharing the same edge have the same color. A coloring using at mostkcolors is called a (proper)k...

2019-07-25 20:18:59 180

原创 【PAT】1155 Heap Paths (30)

In computer science, aheapis a specialized tree-based data structure that satisfies the heap property: if P is a parent node of C, then the key (the value) of P is either greater than or equal to (i...

2019-07-25 11:36:31 94

原创 【PAT】1008 Elevator (20)

The highest building in our city has only one elevator. A request list is made up withNpositive numbers. The numbers denote at which floors the elevator will stop, in specified order. It costs 6 sec...

2019-07-23 19:09:55 101

原创 【PAT】1005 Spell It Right (20)

Given a non-negative integerN, your task is to compute the sum of all the digits ofN, and output every digit of the sum in English.Input Specification:Each input file contains one test case. Eac...

2019-07-23 10:35:05 65

原创 数据库设计范式及数据冗余存储

数据库设计范式及数据冗余存储文章目录数据库设计范式及数据冗余存储数据库三大范式数据冗余存储结论数据库三大范式第一范式:数据库表中的每一字段都是不可再分的原子值第二范式:数据库表中的非主键字段必须唯一依赖全部的主键而不是部分的主键第三范式:数据库表中的非主键必须直接依赖于主键而不是间接依赖于主键举例来说,比如订单与商品与消费者三者关系建表。订单与商品之间是多对多的关系,一个订单对应多...

2019-07-22 12:06:07 3186

原创 【PAT】1001 A+B Format (20)

Calculatea+band output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).Input Specification:Each input ...

2019-07-21 14:58:06 89

原创 【PAT】1116 Come on! Let's C (20)

"Let's C" is a popular and fun programming contest hosted by the College of Computer Science and Technology, Zhejiang University. Since the idea of the contest is for fun, the award rules are funny as...

2019-07-19 17:26:41 86

原创 Go异常处理defer panic recover

Go异常处理defer panic recover文章目录Go异常处理defer panic recover概述deferpanicrecover参考概述异常处理功能犹如 try … catch … finally …deferdefer主要用于函数体中,预先定义函数返回前最后执行的语句。扮演finally的角色。如用于文件或连接关闭func d() { f, err := os...

2019-07-12 16:15:00 165

原创 如何阅读源码

如何阅读源码文章目录如何阅读源码使用IDE阅读最近源码看得越来越多,遇到了一些编程的问题,也越来越喜欢直接去查看源码和官方文档,而不是随便上论坛搜答案。除非是一些总结性的或者讨论性的问题,亦或是为了迅速得到某一个答案而不关心具体问题,才会在论坛找答案。这也是看源码的好处,当为了某一个问题去看源码的时候,其实不仅仅是解决了遇到的问题,对编码能力也会有显著帮助与提高。最直接不过的就是,可以学习优...

2019-07-11 10:41:51 163

原创 Python使用装饰器注册函数和方法

Python使用装饰器注册函数和方法装饰器简介装饰器简介【标题没有骗人系列】参考链接:https://foofish.net/python-decorator.html

2019-06-19 16:59:10 842

原创 GO WorkSpace 及 GOPATH设置

GO WorkSpace 及 GOPATH设置Go Work SpaceGOPATH设置Go Work SpaceGo 语言设置work space(工作区)概念,在工作区中,包含三个目录$GOPATH - bin - pkg - src其中,分别储存可执行bin文件,编译完成的文件及源代码文件一般的,如要开发一个Go编写的项目,则直接在$GOPATH下进行开发,代码存储在src...

2019-06-17 20:02:58 2993

原创 Python连接基于docker运行的Postgres数据库

Python连接基于docker运行的Postgres数据库在docker中生成Postgres数据库服务构建镜像,运行服务Python关键点在docker中生成Postgres数据库服务https://github.com/docker-library/postgres参考上述链接,运行docker build构建postgres镜像构建镜像,运行服务参考下述链接,运行docker ...

2019-06-17 14:21:56 1007

原创 工程的容错性

最近看分布式系统的相关文章。无论是分布式计算的MapReduce或是分布式存储的GFS,一致性的raft算法等等,都无不提到分布式中的容错性,每一块都对容错性进行了大篇幅的描述说明。Google的分布式系统是非常典型的基于机器随时可能发生故障,客户端不应该感知到的基础进行搭建的。从系统设计之初他们就考虑到这一点。回过头来看日常的程序设计,常常会强调程序的鲁棒性,即要求无论输入输出或程序运...

2019-03-29 10:22:34 310

原创 docker 部署 redis

docker 部署redis 并支持从外部访问1. 拉取base镜像docker pull centos2. Dockerfile构建redis镜像Dockerfile:centos源无redis,先安装镜像源,再安装redisFROM centosRUN yum install -y epel-release \ &amp;&amp; yum insta...

2019-03-09 20:45:24 194

原创 【PAT】1122. Hamiltonian Cycle (25)

1122. Hamiltonian Cycle (25)The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a graph. Such a cycle is called a "Hamiltonian cycle".In this problem, you

2018-01-30 20:04:37 233

原创 【PAT】1013. Battle Over Cities (25)

1013. Battle Over Cities (25)It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed.

2017-02-14 15:44:37 358

原创 【PAT】1009. Product of Polynomials (25)

1009. Product of Polynomials (25)This time, you are supposed to find A*B where A and B are two polynomials.Input Specification:Each input file contains one test case. Each case occupies

2017-02-14 14:53:35 206

原创 【PAT】1007. Maximum Subsequence Sum (25)

1007. Maximum Subsequence Sum (25)Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, Ni+1, ..., Nj } where 1 Maximum Subsequence is the continu

2017-02-14 11:52:01 247

原创 【PAT】1114. Family Property (25)

1114. Family Property (25)This time, you are supposed to help us collect the data for family-owned property. Given each person's family members, and the estate(房产)info under his/her own name, we

2017-02-09 20:17:42 271

原创 【PAT】1102. Invert a Binary Tree (25)

1102. Invert a Binary Tree (25)The following is from Max Howell @twitter:Google: 90% of our engineers use the software you wrote (Homebrew), but you can't invert a binary tree on a whiteboar

2017-02-05 23:13:38 210

原创 【PAT】1118. Birds in Forest (25)

1118. Birds in Forest (25)Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in the same picture belong to the same tree. You are supposed to help

2017-01-29 21:36:25 249

原创 【PAT-T】1014. Circles of Friends (35)

1014. Circles of Friends (35)A circle of friends is a network of friend relationships. If A is a friend of B, then B is considered a friend of A no matter B admits or not, and they are said to b

2017-01-26 15:56:53 456

大规模分布式存储系统:原理解析与架构实战.杨传辉

大规模分布式存储系统:原理解析与架构实战。杨传辉版本。

2019-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除