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 最佳实践的解读。


  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配置文件参数说明*》

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

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


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


自建数据库和云端数据库

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

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

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

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

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

logkit 进阶玩法

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


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


前情回顾

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

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

Kibana 统计

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

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

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

logkit 还可以被用来打点数据