自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

noogel's

我思故我在

  • 博客(36)
  • 收藏
  • 关注

原创 将博客搬至CSDN

将博客搬至CSDN

2022-02-13 13:17:49 100

原创 macOS 系统 10 倍高效工具

前言今天要说的是 macOS 下的一款效率软件 —— Alfred,想必大家就算没用过也耳闻过,老实说用好它带来的效率提升绝对不止 10 倍。博主已经安利给很多同事使用,他们普遍觉得上手有些困难,主要是配置复杂,今天的文章会一步步地介绍这款神器的高效之处。有的人可能会说系统自带的 Spotlight 就很好用,确实是这样。在之前我会用 Spotlight 搜应用、文件、进行计算等,而 Alfred...

2022-01-23 09:28:23 160

原创 知一的 2021 年已读书单

2021年已经过去,准备对去年看过的书进行一个复盘,回忆下从中得到了什么成长。文化随笔首先是同事推荐的一本书 ——《书读完了》,由金克木先生所著,豆瓣评分 8.6 ,还是蛮高的。如今书籍浩如烟海,怎么可能读完?其实先生之所谓读完,我主要记住了以下两个观点。一是说书也有层级,有些书是最基础的书,如《诗经》、《春秋》这些表达中国最底层文化思想的书籍,而其他书则是基于这些书发展而来的,所以要读就读经典。...

2022-01-21 10:34:08 466

原创 领域驱动设计落地经验

从事件风暴建模学到什么在这里我说一下电商中比较核心的一个流程。在京东购物我们会选择很多需要的商品添加到购物车,在双十一的时候会凑单满减,然后从购物车选中下单。现在我们要设计的部分是用户在选择多件商品时自动给用户使用上最优的多种促销活动,在用户下单的时候能够计算好用户应该付多少钱,每件商品分别应付和优惠多少钱。后面的表达我会用算价来代表这个流程。领域知识的构成在领域驱动设计中很强调领域专家这角色,与团队人员共同协作完成任务。而往往团队人员就拥有领域专家所拥有的部分知识,从而承担领域专家的职责.

2022-01-19 22:51:40 1587

原创 领域驱动设计在讲什么

概述概念可以简单描述某类事物,这类事物可以是实体也可以是问题。领域驱动设计是为了管理系统复杂性问题而生的一套方法论。随着业务系统的复杂性不断提高,系统的性能和灵活性要求也会越来越高,如何构建一个扩展性强、可用性高的业务系统是需要我们不断思考的问题。我们以交易系统为例,在互联网之初,实体商业占据绝对主导地位的时代,电子商务系统最初的目的就是把货物卖出去,业务需求很简单,就是一手付钱,一手交货,而更多的难点是在于如何让人们接受并认可在网络上进行交易。随着这几十年的发展,电商早已不是最初的样子,需求变

2022-01-19 20:49:26 2721

原创 云之彼端,生活的另一种打开方式

在加乌拉山口拍珠峰,这里可以一眼望尽五座八千米高山。旅行是为了什么?有的人是为了好吃好玩,有的人是为了看风景。我就是后者,如果你喜欢游览祖国广袤的山川河流,看尽一望无际的高原雪山,那么你一定要来趟西藏,看看还是那么相对纯粹的自然风光。去西藏的计划是从八月推迟到了十一黄金周,不过今年西藏的十一却少了往日的火爆,人不是那么多,主要还是因为前一段事件疫情的影响,所以路上的体验都还不错。全国除了西藏都是可...

2021-12-27 23:23:36 114

原创 Python安全编码 — 代码注入的实践与防范

什么是代码注入代码注入攻击指的是任何允许攻击者在网络应用程序中注入源代码,从而得到解读和执行的方法。Python中常见代码注入能够执行一行任意字符串形式代码的eval()函数eval("__import__('os').system('uname -a')")能够执行字符串形式代码块的exec()函数exec("__import__('os').system('uname -a')")反序列化...

2021-12-20 20:55:47 289

原创 周末在厨房的一些思考

概况作为一个北方汉子对于面食真的是十分热爱的,尤其是发面后的。从小在家兜包子都是只能看不让参与的,长大后在外面都是买现成的,如今也想自己做一做。也许是从小在家耳濡目染,第一次做整体的效果还不错。 宋丹丹老师曾经说过把大象装进冰箱总共要分三步,那么蒸包子总共需要分为如下五步:准备原材料发面调馅擀面片蒸包子可是,真的就是只蒸了包子吗?关于蒸包子的一些思考分治法就像我之前聊到过的,复杂的东西是由许多简单...

2021-10-31 14:09:49 108

原创 树莓派还能这么玩之做一个语音音箱

关注树莓派很久了,只是没有很感兴趣的应用场景,就没有买来玩。几个月前偶然得到一个小度音箱,发现了新大陆,各种语音控制功能,便捷性不言而喻,还买了一些外部设备可以通过小度控制,发现有红外遥控器可以控制家里的大部分红外家电,奈何码库不是很全,有些设备还是不能控制的,而且不支持定制功能。恰好在知乎看到了一些 geek 视频,想着自己也做一个,可以支持红外数据的定制,做到自由遥控。于是乎说干就干,从一个什...

2021-10-30 22:55:53 5309

原创 DDD 领域概念字典

战略设计与战术设计战略设计主要从业务视角出发,建立业务领域模型,划分领域边界,建立通用语言的限界上下文,限界上下文可以作为微服务设计的参考边界。它是从高层事业来绅士我们的软件系统。从战略设计角度来看,一套基础的电商业务应该包含如下领域,支付域、交易域、商品域、库存域、履约域。不同领域之间通过界限上下文来划分边界。战术设计则从技术视角出发,侧重于领域模型的技术实现,完成软件开发和落地,包括:聚合根、...

2021-10-30 22:42:28 1044

原创 软件架构与系统复杂性

什么是复杂性复杂或复杂性与简单相对立,那么复杂是什么?它是我们大脑中的一个概念,但是我在网上找不到一个给复杂恰当的定义描述,它会有不同的解释。 其中洛克在《人类理解论》中说道:『一些思想是由简单的思想组合而成,我称此为复杂;比如美、感激、人、军队、宇宙等。』 作为研究复杂系统的专家 Melanie Mitchell,也没有给出一个明确的公认的定义。她在《复杂》一书中给出了复杂系统加以定义:『复杂系...

2021-10-29 03:05:02 569

原创 调研技术组件模板V1 —— 以 Drools 为例

初步认知 以 Drools 为例子 这个组件是什么,有什么功能? Drools 是一个基于Charles Forgy's的RETE算法的,易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。业务分析师人员或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规则执行了所需的业务规则。 Drools相关概念 事实(Fact):对象之间及对象属性之间的关系 ...

2021-10-20 22:57:20 136

原创 管道模式在电商售后中的一点思考

背景介绍首先介绍一下实体电商通用的售后流程。用户申请:在用户申请操作时需要填写退货、换货,以及原因。商家审核:商家会根据沟通情况审核售后申请。用户回寄:审核通过后需要用户回寄商品。确认退换:商家收货确认后会给用户退款或者邮寄新货。虚拟商品的售后通用流程如下:管理员发起退换操作处理退换退:先退货后退款换:先退货后发货在以上两个流程的处理流程有个共通的地方,就是一次操作需要涉及多个子流程的处理,这就是...

2021-08-13 00:00:17 124

原创 聊聊知乎订单系统迁移

本文主要介绍知乎订单系统后端语言栈的转型升级过程,包括其间踩过的一些坑和遇到的一些问题。一来是想通过本篇文章为其它应用服务转型提供借鉴经验,二来是总结对于订单系统的理解。鉴于文字功底不足,对于业务理解不充分的地方,欢迎留言交流。迁移背景随着知乎整体技术栈的变化,原有的 Python 技术栈逐渐被抛弃,新的 Go 和 Java 技术栈逐渐兴起。知乎交易系统的稳定性相比其它业务系统的稳定性重要很多,因...

2021-06-24 20:30:12 633

原创 订单系统领域建模思考

本文是对于订单建模的一点思考整理,里面应用一些对领域驱动设计的思考,默认读者对于领域概念有一些基本了解。基本元素交易最早是通过以物易物的方式来交换,后面产生等价通用物品即货币。交易上下文领域对象包括:顾客 Consumer货 Goods货币 Currency商家 Merchant对于交易一句话描述就是,顾客在商家那里通过等价货币购换取了货物。上面描述的四种领域对象作为领域实体,每一种领域实...

2021-01-31 12:33:55 326

原创 知一的 2020 已读书单

2020年我们经历了太多的苦难,疫情之下被禁足家中,太过于无聊,我正好也能抽出时间来看看书。每一本都很经典,可以让我们对当下有着一个更深刻的认知,这些书里既有编程经典,也有其它各科的通俗读物,也有经典的文学小说。我不太喜欢用“茧房”这个词,我知道在这算法的世界里,被囚禁在自己筑起的高墙之中,而不断成长便能与之对抗。技术类Java经典,开发的必经之路,绕不过,逃不出,每读一遍都会产生一些新的思路。E...

2020-12-31 11:34:31 72

原创 语言栈转型经验谈

背景介绍近一年都在做语言栈的转型,也注意到周围很多公司都在做相似的事情,大概的路径是 Python -> Go -> Java,转型的起因也是有诸多的因素,像 Python 这种开发速度快,执行相对慢的语言更适合中小型项目,加上国内语言生态不够成熟,项目做大了会发现大家一刀切的转到其它语言上,当然这些说的是在做 web 后端方向上,Python 在数据分析和人工智能方向上还是势头很猛的...

2019-12-08 00:24:31 893

原创 去云南看你们风花雪月

多图预警!!! 多图预警!!! 多图预警!!! 多图预警!!! 云南是一个离家好几千公里的地方。最初要去的想法是在一次同学聚会上大家商量的,结果到了十月一只有们两个人过来玩了,倒也好,制定行程和订票比较省事。于是,参加完同学婚礼就开始了我们的云南之旅,从国际庄直飞昆明。 去之前做攻略的时候并没有觉得昆明有什么好玩的地方,所以只是做了一天半的行程,要说昆明吃的地方也就是鲜花饼和米线了。对比过几家...

2019-12-08 00:15:54 130

原创 请给我一面五星红旗 @微信官方

临近国庆,不知道从哪里开始的,整个朋友圈都开始 @微信官方 要一面五星红旗,然后发完朋友圈的小伙伴们纷纷开始说已经收到了。这样发朋友圈真能拿到国旗?估计等到花都谢了微信团队也不会理你!(当然,这并不是他们的锅)微信团队表示:你是否还记得多年前,曾转发过这样一条信息:看着大家在朋友圈的热情,边感叹着今天的最忙官方,边想着不如自己动手丰衣足食,哈哈。然后下班回来自己动手搞了个脚本一键生成,就不麻烦官方...

2019-09-25 00:18:09 77

原创 四人小组交流 P/NP 问题

夜色降临,三男(老张、老王和老李)一女(小刘)三人对视而坐。老王率先打破僵局,说:既然大家都还没吃饭,今晚我们叫麻辣烫怎么样?我来点。小刘:可以哦,终于可以吃上王哥的麻辣烫了呀~老张:下次我来。老李:不如今天一起呗。四人迅速点完,等待外卖小哥上门,期间有些无聊,老李趁机开启了话题。老李:现在有些无聊,不如我们聊一聊 NP 咋样?嘿嘿嘿~小刘:李哥你在说什么呀(脸色微微泛红)老王:我知道,我先来说吧...

2019-09-23 12:26:19 326

原创 记第一次露营的不完全体验及攻略

先上个拍的云海视频发现自己没玩过的事情好多,夏天的某个周末便实施了一次露营⛺️之路,叫上小伙伴一起报了个户外团,第一次去选择的比较休闲级别的,然后自带了几十斤装备在山上扎营看天。去之前连帐篷都没有打开过,不过好在很好弄,去到了迅速选择好营地很快就扎好了。然后在山顶四处转了转。第一次出来玩还是挺兴奋的,但没多久就冻得回帐篷换上了衣服,对比去的时候早上北京的天气超级闷热。 周围也有好多同行的人在扎营,...

2019-09-21 03:06:30 107

原创 会生活会编程——我的极简主义尝试

前段时间看过一本书《极简主义》,有一些收货,罗列一下其中的观点,以及作用到生活中的尝试。首先来引述原文介绍下什么是极简主义: 极简主义是一个工具,我们用它来获得人生的满足感。极简主义中没有规则。确切的说,极简主义只是去除生活中那些无关紧要的事物,从而使我们能够专注于最重要的东西——而它们事实上根本就不是实物。 这并不是它的定义,而是说明了从极简主义带给我们什么,让我们从杂乱的生活中抽离出来,让我们...

2019-09-21 02:37:07 163

原创 基本数据结构与算法思想

数据结构数组栈,先进后出队列,先进先出双端队列,双端队列中的元素可以从两端弹出,插入和删除操作限定在队列的两边进行。环形队列,环形队列是一种特殊的队列结构,保证了元素也是先进先出的,但与一般队列的区别是,他们是环形的,即队列头部的上个元素是队列尾部,通常是容纳元素数固定的一个闭环。堆,一种特别的树状数据结构。堆总是一棵完全树。即除了最底层,其他层的节点都被元素填满,且最底层尽可能地从左到右填入。链...

2019-09-15 21:15:27 100

原创 这些GIT经验够你用一年了

使用git在本地创建一个项目的过程$ mkdir ~/hello-world //创建一个项目hello-world$ cd ~/hello-world //打开这个项目$ git init //初始化 $ touch README$ git add README //更新README文件$ git commit -m 'first...

2019-07-30 09:10:50 79

原创 如何高效学习一门编程语言

首先这篇文章是建立在有一些编程基础之上来展开的,做为一种效率学习编程语言的自我总结输出。把编程语言当做一个工具,而这些不同种类的工具有很多的共通之处,抓住其中的关键之处可以大大提升学习效率,也是一篇自我总结的学习方法论,里面有的方法可能不适合我,但也会讲讲。如果要学习一门编程语言,先要问一下为什么要学?学会了能做什么?要达到什么样的目标?只有把这些问题想清楚了再去做,不然稀里糊涂不知所以,很可能半...

2019-07-30 00:56:52 124

原创 从小重构说起

首先要说的是重构最基本的定义:重构是在不改变软件可观察行为的前提下改善其内部结构。每一个开发人员肯定都经历过『坏代码』的味道。在一个古老又庞大的项目中,这里面一些函数的作用和逻辑变的很难理解,没有人了解这里的所有 case,加上没有足够的注释,之前开发的人员离职等诸多因素,可维护性非常低,谁都不愿意碰,这时候再改动一个需求,会很容易引入一些 bug。当你遇到上面的这些情况时那么时候要把这摊『臭水坑...

2019-06-27 00:18:34 107

原创 提高代码可读性的几条准则

优雅的代码注释准确描述代码的行为。代码分块,描述每一块的行为。合理的变量命名使用更具像化的词语描述,使别人不会误解。对于返回是否的变量命名通过『is_』做前缀。简化循环流程条件语句中将常量放表达式右边。避免使用 三目运算符、do/while 、goto 这些可读性比较差的结构。把超长的表达式拆分成更容易理解的小块。复杂表达式的等价转换写法,使可读性更高(德摩根定理)。减少中间变量,减少中间变量的作...

2018-09-15 16:14:59 299

原创 佳软分享有三

这篇文章主要记录可以提高效率和网络使用体验的优秀软件服务。IFTTTIFTTT 是一个网络自动化神器,目前是免费的,全称为 if this then that 。可以将你各种互联网服务之间的数据同步打通,例如社交、相册、云存储、笔记等等,一个例子是如果你印象笔记保存了一篇文章那么自动发送消息到你的邮箱,或者自动发送短信到指定号码;下雨天提醒你带伞;将你邮件中的附件自动备份到 Dropbox 上等等...

2017-12-30 23:09:15 4072

原创 Tornado 异步非阻塞浅析

[以下代码基于 Tornado 3.2.1 版本讲解][主要目标:讲解 gen.coroutine、Future、Runner 之间的关系]这里是示例运行代码#!/usr/bin/python# coding: utf-8"""File: demo.pyDate: 2017-08-28 22:59Description: demo"""import tornadofrom torn...

2017-11-18 01:28:31 336

原创 基于 Alfred Workflow 的开发效率小工具

前几天搞了一个效率小工具,基于 Alfred Workflow 制作,提高开发效率。目前只实现了基础的一些需求,后面会继续更新完善?一些使用场景,比如 数据库时间字段记录的时间戳,排查问题可读性差,这个小工具两步即可查完。还有调试的时候异常内容常常是 Unicode 码,这时就需要方便转换成中文查看。还有 IP 地址的查询,随机数生成等功能?回车保存结果到剪贴板。全局预览图:支持的命令:ntime...

2017-10-08 23:51:47 201

原创 深度神经网络学习笔记

第一节这篇文章是深度神经网络的学习笔记,首先抛出下面一个问题。人工智能、机器学习和深度学习之间的关系?从图中可以看出人工智能概念的范围更广,机器学习是其中的一个子集,而深度学习又是机器学习中的一个子集。深度学习的应用领域在计算机视觉、语音识别、自然语言处理和人机博弈方面比基于数理统计的机器学习会有更高的准确度。这里主要是做深度学习方面的学习笔记。深度学习的发展历程以下部分图片摘自《TensorFl...

2017-10-08 23:51:01 420

原创 深度神经网络之MNIST数字识别

这一节将上一节学到的深度神经网络的概念运用起来,通过 tf 来实现 MNIST 手写字识别。上一节地址: 深度神经网络学习笔记首先导入 tf 库和训练数据:import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("MNIS...

2017-10-08 23:50:17 284

原创 这些Mac神器也许你正需要

这篇文章主要介绍Mac下常用的效率工具,也许正是你所需要的或者使用后对你的工作有很大的效率提升,废话不多说,看下面介绍的五款常用效率工具。AlfredAlfred 作为神器的霸主地位可谓实至名归,它不仅可以帮我们快速打开切换应用、打开网址,使用计算器、词典、剪贴板增强等功能,还可以通过Workflow模块实现功能的扩展,下面详细介绍一下此神器的一些功能。首先我们定义调出 Alfred 的快捷键,这...

2017-10-08 23:49:32 49

原创 我用Hexo写博客

声明: 本文禁止转载,发布地址为我的 个人博客 和 知乎专栏,其它地方看到均为抄袭。基本介绍Hexo 是一款简单、快速、强大的 node.js 静态博客框架。npm 是 node.js 的包管理工具,我们通过使用 npm 来安装 Hexo。node.js 和 npm 安装这里不再赘述,网上有很多教程,提醒的是需要到官网下载新版的安装包,直接通过 apt-get 安装的版本太低。npm 官方镜像一般...

2017-06-27 22:44:55 258

原创 你的Ubuntu还可以这么美

先上两张桌面和开发环境见下图系统优化更新源更新前先设置源为aliyun的,国内访问速度快。sudo apt-get updatesudo apt-get upgrade删除Amazon的链接sudo apt-get remove unity-webapps-common主题美化先装 Unity 图形管理工具sudo apt-get install unity-tweak-tool然后安装...

2017-06-19 22:30:13 35

原创 结算开发中遇到的坑

坑1:浮点数不精确性In [1]: 0.1+0.1+0.1-0.3Out[1]: 5.551115123125783e-17解决办法:In [2]: from decimal import DecimalIn [3]: Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.3')Out[3]: Decimal('0.0'...

2017-03-18 21:44:36 586

空空如也

空空如也

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

TA关注的人

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