自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

闭眼卖布

技术学习,自我提升的学习心得和笔记。

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

原创 共识算法: Raft

上篇讲到了「拜占庭将军问题」:多个拜占庭将军要如何在可能有叛徒、信使可能被策反或者暗杀的情况下达成是否要进攻的一致性决定?还不了解的先看看上一篇《拜占庭将军问题》。这篇主要是介绍简化版拜占庭将军问题的解决方案:Raft 共识算法。拜占庭将军问题是分布式领域最复杂、最严格的容错模型。但在日常工作中使用的分布式系统面对的问题不会那么复杂,更多的是计算机故障挂掉了,或者网络通信问题而没法传递信息,...

2019-06-19 21:09:50 168

原创 浅谈 RPC 和 REST: SOAP, gRPC, REST

在一次高盛面试中,被问到了一个问题,SOAP 和 REST 之间的区别是什么?当时东一榔头西一棒槌的答了几条,总感觉很了解的很肤浅。怎么从一个比较全面的角度,去了解 SOAP 和 REST ?最近看了个专栏,文章里相对详细的介绍了他们,加上一些别的搜索和理解,在这里做个总结和梳理。首先,第一个问题应该是 为什么会将 SOAP 和 REST 进行对比?为了搞清楚这个问题,这篇文章会先介绍 SOA...

2019-03-25 14:35:00 1230

原创 FedReID: 联邦学习在行人重识别上的首次深入实践

行人重识别的训练需要收集大量的人体数据到一个中心服务器上,这些数据包含了个人敏感信息,因此会造成隐私泄露问题。联邦学习是一种保护隐私的分布式训练方法,可以应用到行人重识别上,以解决这个问题。但是在现实场景中,将联邦学习应用到行人重识别上因为数据异构性,会导致精度下降和收敛的问题。数据异构性:数据非独立分布 (non-IID) 和 各端数据量不同。这是篇来自 ACMMM20 O...

2020-10-16 22:40:27 1201 3

原创 联邦学习资料整理:文献、视频、应用

整理了一个联邦学习相关的 Github,分模块整理了不同主题相关的论文、网页、博客、视频等,总共应该有上百篇的内容连接了,并会根据不断的加深理解,持续更新。对于想要了解什么是联邦学习的朋友,可以看看 Introducton 里的内容。刚开始做这方面研究的朋友,可以先看看 Survey 部分的几篇总结的很好的 Survey。对于想针对某问题深入研究的朋友,可以看相对应模块的论文...

2020-02-23 22:34:30 508

原创 你的Siri收集了你的个人数据?联邦学习介绍

MIT Technology Review - Apple Siri这是 MIT Technology Review 12月11日的 Newsletter 的部分摘录,大概意思是,iPhone 上的 Siri 在听到我们个人说 "Hey Siri" 时有反应,但是对其他人说的都没有反应,按理来说,训练一个这种模型,会需要收集我们大量的声音数据,并且这些数据都会保存在苹...

2020-01-12 22:50:53 1244

原创 微信小程序开发-入门尝试

前段时间有做一个分账小程序的想法,所以去学习了下小程序的开发。小程序开发并不难,门槛挺低的。本质上是像 网页、手机软件这种另一个前端平台的开发,但是是在微信定义的框架内完成的,有一些微信里独有的一些功能,比如说获取用户的基本信息,登陆,分享到微信群等。微信提供了非常详细的文档,网上也有很多组件可以使用,整体感觉会比开发网页和手机软件来得更加简单,很大程度降低了懂点技术的人有想法,...

2019-09-20 16:06:33 186

原创 函数式和面向对象编程有什么区别?

函数式编程 (Functional Programming) 和 面向对象编程 (Object Oriented Programming) 是两个主流的编程范式,他们有各自独特的闪光点,比如函数式编程的数据不可变、惰性求值,面向对象编程的继承、多态等。这些语言特性上的区别,可以参考之前的文章,这篇文章主要从实现相同功能的角度,来对比这两种编程范式,他们在实现上的逻辑是截然相反的。初步实现在函数...

2019-07-02 15:07:08 9645

原创 编程语言的一些基础概念(一):静态函数式编程

世界上最好的编程语言是什么?这就好像问 世界上最好的车是什么车?F1 比赛的,日常家用的和跑山路的最好的车显然是不一样的。同理,不同的编程语言也有他们最适合的使用场景,程序员们通常都会个几种语言,因为工作需要可能要学新的语言。不同编程语言之间是不是完全不一样呢?他们之间有没有什么共同点是不同语言间类似的呢?有没有一些最基本的概念?最近在看了 Coursera 上的 Programming ...

2019-07-02 15:06:32 895 2

原创 静态类型和动态类型有什么区别?

编程语言按照类型检查可以分为两大类:**静态类型 (Static Typing) **和 动态类型 (Dynamic Typing)。在现在比较流行的这些语言里,静态类型的代表人物有 Java、C/C++、Golang 等,动态类型有 Python、Ruby 等。静态类型和动态类型有什么区别呢?为什么在程序语言设计时要考虑是静态还是动态?在写代码时,Python 写起来简洁,效率高,可能100行...

2019-07-01 14:30:25 10905 1

原创 编程语言的一些基础概念(三):面向对象

在前面两篇中,主要讲了函数式编程语言的一些基础概念。这篇是 Coursera Programming Languages, Part C 的总结,通过 Ruby 介绍面向对象编程里的一些概念。了解这些概念能让你在上手任何一门新的面向对象语言时,都更加得心应手。虽然用的是 Ruby,但是不会涉及很深的 Ruby,即使不懂 Ruby,读下来应该没问题。对于已经了解面向对象编程的朋友,可以考虑直接跳到...

2019-06-30 23:11:07 3389

原创 编程语言的一些基础概念(三):面向对象

在前面两篇中,主要讲了函数式编程语言的一些基础概念。这篇是 Coursera Programming Languages, Part C 的总结,通过 Ruby 介绍面向对象编程里的一些概念。了解这些概念能让你在上手任何一门新的面向对象语言时,都更加得心应手。虽然用的是 Ruby,但是不会涉及很深的 Ruby,即使不懂 Ruby,读下来应该没问题。对于已...

2019-06-30 23:09:00 198

原创 编程语言的一些基础概念(二):动态函数式编程

在上一篇《编程语言的一些基础概念(一)》中,通过静态类型的函数式编程语言,介绍了一些编程语言的特性,包括数据不可变,尾递归,匿名函数等。这一篇在上篇的基础上,通过 Dynamic Typing (动态类型) 的函数式编程语言 Racket,再介绍一些编程语言的特性,比如 Stream, 惰性求值, 宏 Macro 等。括号的使用天花乱坠的括号,这是 Racket 和 LISP 等这类语言最直观...

2019-06-22 17:04:50 773

原创 手把手教你区块链表白,敢不敢试试?

前天晚上知道了北大学生的话被放到区块链,昨天朋友圈就被这个信息刷屏了,大家都在转发那个交易记录的链接。为什么要放到区块链上呢?因为区块链的特性之一就是不能删除,不可篡改。评论数量从刚看到时的2个涨到现在的200多个,最多提到的是「没有404」,没办法被河蟹。大家似乎看到了正义的曙光,言论自由的天堂,「北大第一次离区块链那么近」。这里不讨论这个事件,还是讲讲区块链。在区块链上的信息是永久存在...

2019-06-20 17:20:25 1101

原创 简谈《如何高效学习:1年完成麻省理工4年33门课程的整体性学习法》

这是一本讲方法的书。书名对想要快速学习远超过自己现有知识的人很有诱惑力,但是却不是一本能够让你速成的方法书,翻看完这本书,先不说书中讲的方法是不是都有效,一些简单的方法可以直接应用,比如如何提高阅读速度,但是另外一些方法,比如比喻法,内在法,想要能够信手拈来,就需要通过一定量的练习,这里的“一定量”通常会需要一两个月的积累。所以如果你想花几个小时读完书,就能独步天下,马上能很有效率的应用方法来学...

2019-06-20 11:49:29 577

原创 如何给网站加 HTTPS ?

HTTPS 是在 HTTP 上加上 SSL/TLS,能更好的确保网站数据的安全性。最近想给个人网站加上 HTTPS,因为个人网站和博客都是在同一个服务器上,用 nginx 给两个网址做代理,不像只有一个网站那么直接,踩了一些坑,用一篇文章总结梳理一下。环境:服务器提供商:DigitalOcean操作系统:UbuntuWeb 服务器:nginx网址: zhuangweiming.me,bl...

2019-06-20 11:47:52 1412

原创 如何用 Vue + Vuetify 快速建站?

懂点基础,学点套路,轻松用 Vue 写个网站几个月前用 Vue + Vuetify 这一套框架写了个 仓库管理系统 和 个人网站,近来不写前端了,所以整理了如何用 Vue,Vuetify,Vuex,Vue-router 写一个单页应用 (SPA),为以后回忆方便,也供初学者参考,少踩坑。(这篇不是 Vue 的基础介绍,所以建议先读了 Vue 的官方文档,再来看怎么应用。)这篇以开发的个人...

2019-06-20 11:47:03 15133

原创 如何使用 Git Hook 自动部署服务器?

一行命令,自动将本地文件部署到远程服务器上。最近搭了个个人网站,在放到服务器上时,考虑到,如果每次更新的内容,都要用 FTP 或者别的文件传输方式,将文件一个个的放到服务器上,简直是太麻烦了,有没有什么办法更好,更快的完成部署呢?使用 Git Hooks(Git 钩子),可以做到这点。Git Hooks 是什么?「Git 能在特定的重要动作发生时触发自定义脚本」,比如说pre-commit...

2019-06-20 11:46:07 578

原创 分布式负载测试实践

上篇文章介绍了 Raft 共识算法,会去了解这些分布式的内容是因为工作上的需要。每个月代码总结也停了好久,用这篇文章完整总结一下前一段时间做的小工具:分布式定时负载测试,主要目的有一下几点:测试内部开发 API 在不同请求发送速度和不同数量请求下的延迟,找出延迟过高的让开发程序员去优化。不断增加请求的数量模拟增长的用户量,找出系统能处理请求数量的瓶颈。监控系统在不同数量的请求下需要多少的资...

2019-06-20 11:41:16 257

原创 Linux 入门手册——《鸟哥的 Linux 私房菜》

对 Linux 的了解一直停留在简单的 command line 层面,比如 ls 能列出所有当前文件夹下的文件和文件夹,但这个功能是怎么实现的?能不能自己定义命令来简化日常的工作?在安装完一个软件后,安装在里哪里?比如说安装完了 node, 为什么在终端能使用 npm 指令了?在/目录下有 /bin, /var, /etc, /home, /dev 等文件夹,这些文件夹都是做什么用的?为什么要按...

2019-06-20 11:39:31 295

原创 HTML Form 传值

今天碰到一个 HTML 的问题,一个表单在提交后,到达 action 指向的页面后,在连接中所传递的值,都直接被删除了的问题。比如 <form action="http://dest.com?id=1" method="GET"></form>,这个表单在提交后,网页的链接为 http://dest.com? 而后面本来想要传递的值 id = 1 没了。以前在处理 for...

2019-06-20 11:37:17 4389

原创 编程语言的一些基础概念(一)

世界上最好的编程语言是什么?这就好像问 世界上最好的车是什么车?F1 比赛的,日常家用的和跑山路的最好的车显然是不一样的。同理,不同的编程语言也有他们最适合的使用场景,程序员们通常都会个几种语言,因为工作需要可能要学新的语言。不同编程语言之间是不是完全不一样呢?他们之间有没有什么共同点是不同语言间类似的呢?有没有一些最基本的概念?最近在看了 Coursera 上的 Programmin...

2019-06-09 17:55:00 631

原创 为什么一定要了解基础?

刚开始玩王者荣耀时,用后裔无脑走天下,按推荐出装站撸随便上分。差不多到黄金铂金,就遇到了瓶颈,一方面是对手变强了,一方面是自己对游戏了解太少,不懂英雄,不懂装备。当时如果对面有个蔡文姬,游戏一开始,总有队友“善意”的提醒,「射手出个制裁」,然后我刷刷的开始翻装备,制裁?什么是制裁?干嘛用的?不了解装备,按照系统推荐出装,游戏可以玩的很开心。那还有必要去了解里面的 90 来个英雄和近 100 件装备...

2019-03-29 17:48:00 308

原创 他心中的你,不一定是你 ——《定位》

1「怕上火,喝王老吉」,这句脍炙人口的广告语是这本书在的典型应用,将本来不温不火的“凉茶”定位成“预防上火的饮料”,销售额从1亿涨到了200亿,除了王老吉,还有「滋补国宝,东阿阿胶」,把补血药物定位成“滋补国宝”,销售额也涨了将近200倍,从22亿到400多亿。运用了「定位」这个思想的公司很多都取得了不凡的成就。对《定位》这本书也是神往已久,听说是营销界的神作,8月份回国终于是买了。比起同...

2018-09-12 17:40:00 116

原创 安装 CMake 错误: c++: internal compiler error: Killed (program cc1plus)

根据 https://cmake.org/install/ 安装 CMake 时, 在运行完 ./bootstrap 的过程中出现这个错误:c++: internal compiler error: Killed (program cc1plus)Please submit a full bug report,with preprocessed source if appropriate...

2018-02-06 12:38:00 2798

原创 看 草间弥生 展览前,你要知道的

你将看到的是幻象中的真实世界。草间弥生(Yayoi Kusama),二十世纪最伟大的艺术家之一,是日本地位举足轻重的当代艺术家。看了 草间弥生 在 National Gallery 的展览,第一感觉是视觉冲击强,但对于她的作品,更多的是对这种「抽象」的无解,做了点功课,再重新看一些照片,似乎略懂。这里做个概要,让大家在去看展时,能够更好的欣赏,理解和体会。主要包括 背景介绍,作品类别,看展...

2017-06-11 12:57:00 250

原创 从100到10000的方法论 ——《从优秀到卓越》

你是否在迷茫,如何升职加薪,赢取白富美,走上人生巅峰?先讲个故事:故事的主角是森林里的狐狸和刺猬,狐狸生来狡猾,行动敏捷迅速,每天都在谋划怎么抓住各种小动物。刺猬笨拙,迟缓,但是心里清楚要去哪里,找什么吃的。一天,狐狸和刺猬在路上偶遇,狐狸暗自高兴,终于又让我碰上这只小刺猬了,这次它肯定跑不了,一个劲的扑上去。刺猬不慌不忙,心里纳闷,这傻狐狸怎么就是不吸取教训呢?然后缩成了团刺球。上次被...

2017-06-09 23:35:00 192

原创 Commonly Used JavaScript Functions

Dynamic call functions// function to callfunction toCallFn() { console.log('fn called');}const dynamicCallFn = { toCallFn };dynamicCallFn['toCallFn']();References:http://stackoverflow.co...

2017-05-27 02:22:00 70

原创 所见即所缚,设计一个新软件该有怎样的思维方式?

你们有没有碰到过这么一种情况?在小组进行头脑风暴时,有人讲出一个不错的想法,它就会在脑子里挥之不去,刚想到点别的,还没深入,就又回到了这个想法。知道的越多,思维越受束缚。创新难,难在不容易走出思维的牢房和知识的边界。以前大家都用带键盘的诺基亚手机,习惯了手机有按键,研发一款新手机时,有几家手机厂商能够想到将键盘删除,改成触屏手机?现在大家习惯了触屏手机,在下一代个人通信设备中,会是以什么样的方式进...

2017-04-14 21:51:00 151

原创 JavaScript bind() 的用法

本以为学会了独孤九剑,结果握剑姿势都不对。bind() 怎么用?码的过程中用了无数次,$('button').bind('click', function() {...} );,结果要给室友解释时,竟无从开口,果然,行不行,溜一溜就知道了。赶紧把自己关进小黑屋,再磨磨剑。MDN 官方文档对 bind() 的定义The bind() method creates a new fun...

2017-04-12 01:29:00 90

原创 Webpack快速入门实践

源起能碰上 webpack,是偶然也是必然。本来想在公司下个项目试试 AngularJS,但是又不能使用 server。奇怪要求的限制,滋生了奇怪的请求,所以在 Google 上查了半天没有找到合理的解决方案,只在 Google Group 里面看到有两个人讨论的热火朝天,里面提到了 webpack.config.js 貌似能够成功解决能够这个问题,尝试了下,老是有问题,就开始读 webpac...

2017-04-08 22:45:00 277

原创 游戏化

游戏化这个概念是2002年的时候由Nick Pelling提出来的,但是直到2010年才开始慢慢火起来,接着就成为了2011年的GDC(Game Developers Conference)的一个热词。基本概念就是将游戏的思维和游戏的机制应用到非游戏场景中,进而起到吸引用户,引导并改变用户行为的效果。游戏化的概念可以说是将生活中一类事情提炼到理论层面,比如说公司里每月的销售业绩评比,会员制积分兑换...

2016-11-08 18:49:00 344

空空如也

空空如也

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

TA关注的人

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