whiledoing

喜欢一切简单且美的事物,包括人。


  • 首页

  • 关于

  • 标签

  • 归档

learn-go-lang

发表于 2020-03-21

学习 go-lang 的笔记,主要的学习站点:

  • go-lang-articles
  • go-lang-blog
  • go-vs-python
  • go-by-example
阅读全文 »

《Java编程思想》读书笔记

发表于 2018-10-01

学习Java编程思想的笔记。

阅读全文 »

《Java并发编程实战》读书笔记

发表于 2018-09-05

如果你在亚马逊搜索java相关的书,本书排名是非常靠前的,豆瓣的评分也很高。刚好我最近忙找工作,也需要复习并发相关的技术,所以果断买之。

书并不厚,但是知识量却非常的厚道,基本上对并发编程涉及到的规范、原理、设计模式、基础类库都进行了系统全局性的说明,并同时附带非常有代表性的代码辅以理解。即使是不使用java的工程师,也可以从本书中学到独立于java之外的并发编程思想和范式。这本书我仔细看了两遍,甚有收获,将相关笔记整理成文。英文电子版

阅读全文 »

python coroutine and asyncio

发表于 2018-06-13

最近在复习并发编程相关知识,顺带着就学了下python的协程,觉得值得写一篇文章记录下。

协程是一个非常有意思的概念,其设定非常类似于线程,不过比线程的调度更轻量。线程的调度依赖于操作系统,可以并发(parallelism)执行;协程由应用层调度,并不会利用多CPU,其实质是在应用层维持运行队列,单进程并行(concurrency)运行。

那么协程为什么有用呢(至少在python中非常有用),有几点原因:

  • 多I/O并发场景,可能并不需要太多CPU,但确会阻塞进程。
  • 在python中如果I/O多的场景,可以用多线程来实现并发,但众所周知,python的GIL使得多线程等价于单进程,只是不会阻塞主进程而已。
  • 而协程刚好满足了需求,即轻量,又不阻塞,又不存在创建线程的开销。
阅读全文 »

《淘宝产品十年事》与「优雅」的解决之道

发表于 2018-05-04

《淘宝产品十年事》这本书描写了淘宝发展背后的故事,以及决策背后的深层次思考。淘宝做为一款改变中国人生活方式的产品,其所属范畴已经不单是一款产品,而更是一种生态。也就可想而知设计这样的生态产品将会遇到怎样的复杂和困难。也许正如作者所写的那样,做产品往大了说,都是在阐释人性和哲学。

读完本书,我最先想到的就是《简约至上》中提到的乔老爷子的话:

乍一看到某个问题,你会觉得简单,其实你并没有理解其复杂性。当你把问题搞清楚之后,又会发现真的很复杂,于是你就拿出一套复杂的方案来。实际上,你的工作只做了一半,大多数人也都会到此为止。但是,真正伟大的人还会继续向前,直至找到问题的关键和深层次原因,然后再拿出一个优雅的、堪称完美的有效方案。 —— 史蒂夫 ∙ 乔布斯

我自己在做程序设计时也会有类似的感受。一般而言,写代码解决一个领域问题或者设计一个软件框架,要在第三次实现时才可以做好。前两次写的代码总会存在一些「不那么优雅」的地方,可一旦你对问题有了更深入的理解,就会发现最好的解决方案原来如此「优雅」(个人理解:优雅不代表就是简单,但一定需要清晰,简洁,有效)。

本书提到的案例和对应的解决方案,亦会让我想到乔老爷子提到的「优雅」之概念。书中提到的问题,很多看似简单,其背后却对应着非常复杂的需求,有些甚至是人性的博弈,而最后的解决方案却又优雅有效。看完本书,重新复盘个中案例还是很有意思。所以我将个中我感兴趣的案例,按我个人理解的逻辑重新整理了一遍,分成下面几个部分:

  1. 调动积极性。
  2. 灰度测试与可用性测试。
  3. 规则可解释。
  4. 分层设计。
  5. 数据的价值。
  6. 集权与放权。
  7. 墨菲定律。
阅读全文 »

Coursera - Andrew Ng - Deep Learning - 5 - Sequence Models - 学习记录

发表于 2018-05-01

深度学习第五门课程: Sequence Models的学习笔记。

阅读全文 »

Coursera - Andrew Ng - Deep Learning - 4 - Convolutional Neural Networks - 学习记录

发表于 2018-05-01

深度学习第四门课程: Convolutional Neural Networks的学习笔记。

阅读全文 »

Coursera - Andrew Ng - Deep Learning - 3 - Structuring Machine Learning Projects - 学习记录

发表于 2018-05-01

深度学习第三门课程: Structuring Machine Learning Projects的学习笔记。

阅读全文 »

Coursera - Andrew Ng - Deep Learning - 2 - Improving Deep Neural Networks - 学习记录

发表于 2018-05-01

深度学习第二门课程: Improving Deep Neural Networks的学习笔记。

阅读全文 »

Coursera - Andrew Ng - Deep Learning - 1 - Neural Network and Deep Learning - 学习记录

发表于 2018-05-01

之前学完了Coursera - Andrew Ng - Machine Learning课程,受益匪浅,对machine learning的很多概念和实际应用有了更深入的理解。不过这个课程时间已经比较久了,那时ml的应用情况和现在应该有了天壤之别,所以内容上有些滞后。不过入门学习的话,还是推荐看一遍该课程。至少与我个人而言,觉得教的非常好,学习内容放在博客中。

Andrew老师最近创办了deeplearning.ai,主页上目前的内容是关于deep learning的课程。课程内容还是放在了Coursera - Andrew Ng - Leep Learning,所以继续学习,记录,总结。

又及,网易云课堂上有免费的专业课,一样的课程,而且上面字幕是中英对照的,看起来比较舒服,但我看了一会发现没有课后问题,也没有编程作业,所以还是转到coursera上学习。因为按我之前学习的经验,课后习题和编程作业非常重要,练习和编程实现可以极大地提高对知识的理解程度。(coursera上课程,7天免费,后面每月付费49刀。)

又及,deep learning课程要求不可以公开作业代码,包括上传到github,所以不整理代码了。😆

深度学习第一门课程: Neural Network and Deep Learning的学习笔记。

相关笔记:

  1. Neural Network and Deep Learning
  2. Improving Deep Neural Networks
  3. Structuring Maching Learning Projects
  4. Convolutional Neural Networks
  5. Sequence Models

还有之前记录machine learning学习笔记

阅读全文 »
12…7
whiledoing

whiledoing

喜欢一切简单且美的事物,包括人。

63 日志
34 标签
GitHub 豆瓣 知乎
© 2016 – 2020 whiledoing
由 Hexo 强力驱动 v3.7.1
|
主题 – NexT.Mist v6.4.2