GitChat 答疑:《BP 神经网络入门:从原理到应用》

本文主要是对于 GitChat 答疑《BP 神经网络入门:从原理到应用》的部分记录。

介绍

《BP 神经网络入门:从原理到应用》,作者:张仕超,研究生在读。 本科有过校赛培训经验,擅于清晰简明地讲解复杂的知识。本研期间获奖若干: robocup机器人中国赛亚军 类脑计算大赛二等奖 数模美赛一等奖……我的博客:http://blog.csdn.net/u014303046

QA

Q1. 文中的公式是怎么写的?

Q1. 文章都是 markdown 写的,公式是使用 latex 语法写的。

Q2. 公式都看不懂,数学基本都还给老师了,应该怎么办?

把数学都复习一下,复习建议:机器学习涉及到的数学知识主要包括:线性代数,概率统计和微积分。这些内容建议网上搜索斯坦福大学 CS229 课程(注意这里不是说的网易公开课的 CS 229 课程),课程所对应的补充资料里面都有这些内容的复习,这些内容比较精简,加起来大概 100 页不到,很适合初学者。

Go 延迟函数 defer 详解

摘要: Go 语言中延迟函数 defer 充当着 try...catch 的重任,使用起来也非常简便,但是当它和 return、返回值一起出现时,你可能会不小心掉进坑里……

Go 语言中延迟函数 defer 充当着 try…catch 的重任,使用起来也非常简便,然而在实际应用中,很多 gopher 并没有真正搞明白 defer、return 和返回值之间的执行顺序,从而掉进坑中,今天我们就来揭开它的神秘面纱!

先来运行下面两段代码:

A. 匿名返回值的情况

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main

import (
    "fmt"
)

func main() {
    fmt.Println("a return:", a()) // 打印结果为 a return: 0
}

func a() int {
    var i int
    defer func() {
        i++
        fmt.Println("a defer2:", i) // 打印结果为 a defer2: 2
    }()
    defer func() {
        i++
        fmt.Println("a defer1:", i) // 打印结果为 a defer1: 1
    }()
    return i
}

Golang strconv 包源码剖析

本文是对 Go strconv 包部分源码剖析,我自己收获很多,希望我这篇博文让你也能有收获。

准备工作

基本工作

  • Mac OSX
  • VSCode
  • go_1.9.1

阅读源码方法

  1. 选定要阅读的源码包 strconv
  2. 从上往下顺序阅读,见下图
  3. 从可导出函数到非导出函数(根据逻辑代码来跳转)
  4. 有需要时也要读 _test.go

Golang 的十二条最佳实践

本文是对十二条 Golang 最佳实践的解读,补充了 Rob Pike 给我们整理的 Go 箴言,大家可以学习学习。

  1. 首先避免嵌套处理错误
  2. 尽可能避免重复
  3. 重要的代码先行
  4. 注释代码
  5. 短即是好/越短越好
  6. 具有多个文件的包
  7. 让你的包能够通过 “go get” 得到
  8. 了解你自己的需求
  9. 保持包的独立
  10. 避免在你的方法中内置并发
  11. 使用 goroutines 来管理状态
  12. 避免 goroutine 泄漏

Kafka 入门指南

本文是 Kafka 的入门指南。

kafka(http://kafka.apache.org/) 非常强大,应用场景也很多,性能很好。


基本要求

  1. JDK
  2. zookeeper

单机单点安装测试

第一步:下载解压

下载地址 http://kafka.apache.org/downloads.html

tar -xzf kafka_2.11-0.11.0.1.tgz cd kafka_2.11-0.11.0.1

第二步:启动 zookeeper-server 和 kafka-server

bin/zookeeper-server-start.sh config/zookeeper.properties


bin/kafka-server-start.sh config/server.properties

关于 server.properties 配置文件请参考后文:《server.properties配置文件参数说明

logkit 进阶玩法

本文是我在使用 logkit 过程中遇到的问题总结,希望可以帮助到大家。

logkit(https://github.com/qiniu/logkit) 非常强大,一定要抽时间阅读分析源码。


前情回顾

在上一篇文章中已经介绍了 logkit 的使用,参考运维日志分析 – Nginx 日志分析搭建案例构建日志检索系统。

再来回看一下效果图吧,😜

Kibana 统计

以上图表中的数据均由 logkit 上报所得。

其实 logkit 最核心的就是主配置和 Runner 配置。

Pandora 平台提供的酷炫远不仅于此,你以为 logkit 只能用于日志上报构建日志检索系统吗?那你就错了。

logkit 还可以被用来打点数据

UDB、UDDB 以及 TokuDB 的使用分析总结

本文是我对 UDB, UDDB, TokuDB 的使用分析,以及一些问题总结,希望可以帮助到大家。

TokuDB 非常不错,你值得拥有。


自建数据库和云端数据库

几年前,一般企业可能都是自建数据库吧(至少得配一个 DBA),随着云服务(AWS, AliYun, UCloud)的蓬勃发展,云主机和云数据库都是他们的标配。我们用上云数据库也就顺理成章,也算是明智的选择吧。

不然常规的各种维护都会让你疲于奔命,哪还有人力去做产品,做迭代啊。

一般自建的数据库都存在这么几个问题:

  1. 单点
  2. 物理机故障
  3. 数据库故障
  4. 维护成本不低

鉴于我个人经验,我对 AWS,Aliyun 的产品没有怎么广泛使用,所以也没有什么发言权,今天就只说说我们正在使用的吧。