<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhcourse的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhcourse</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhcourse]]></copyright><item><title><![CDATA[Golang：02-Web 开发的本质]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111638101</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111638101</guid><author>zhcourse</author><pubDate>Thu, 24 Dec 2020 16:30:41 +0800</pubDate><description><![CDATA[一个请求对应一个响应。

一个简单的服务器


package main

import (
   "fmt"
   "io/ioutil"
   "net/http"
)

func sayHello(w http.ResponseWriter, r *http.Request) {
   b, _ := ioutil.ReadFile("./hello.txt")
   _, _ = fmt.Fprintln(w, string(b))
}

func main() {
   http.HandleFu]]></description><category></category></item><item><title><![CDATA[自定义 Opener]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111637929</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111637929</guid><author>zhcourse</author><pubDate>Thu, 24 Dec 2020 16:29:03 +0800</pubDate><description><![CDATA[urlopen() 方法不支持代理、cookie 等其他的 HTTP/HTTPS 高级功能，需要自定义 opener。

如需频繁使用自定义的 opener，可将自定义的 opener 设置为默认全局 opener；否则的话，简单的使用 OpenerDirector.open() 来代替 urlopen() 即可。



示例：


from urllib import request

url = r'http://www.baidu.com'
req = request.Request(url)...]]></description><category></category></item><item><title><![CDATA[urllib.request 库]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111637879</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111637879</guid><author>zhcourse</author><pubDate>Thu, 24 Dec 2020 16:27:47 +0800</pubDate><description><![CDATA[官方文档地址：https://docs.python.org/3/library/urllib.request.html#urllib.request.urlopen



urlopen

urllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None)



参数

url：可以是 url 字符串，也可以是 Request 对象。
	data：默认...]]></description><category></category></item><item><title><![CDATA[urllib 库]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111637835</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111637835</guid><author>zhcourse</author><pubDate>Thu, 24 Dec 2020 16:26:59 +0800</pubDate><description><![CDATA[Python 内置的 Urllib 库，有 4 个模块：
request：熟悉，用来发起请求
parse：熟悉，用来解析 URL 地址
error：当使用 request 库时发生错误，可以用它进行错误处理
robotparser：了解，解析网站的 robot.txt

]]></description><category></category></item><item><title><![CDATA[2020逆冬权重站实战教程]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111147991</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111147991</guid><author>zhcourse</author><pubDate>Thu, 24 Dec 2020 16:24:54 +0800</pubDate><description><![CDATA[详细信息
1、采用技术+变现模式、权重网站做成之后、可交于逆冬老师负责变现、省时、省心！不用担心变现问题！
2、门槛较低、会常用CMS建设网站者皆可操作、不必懂HTML、CSS以及一些代码类知识!
3、操作周期短、单价较高。一般周期为(2-3)个月、单个网站价格在5k以上。
4、批量操作无压力、一般学员可同时操作10个网站左右、每天时间不超过30分钟！
5、2020最新权重站视频(后期会根据最新知识点、录制最新视频)简单、实战讲解权重站选词以及内容处理！



...]]></description><category></category></item><item><title><![CDATA[使用 VSCode 配置 Golang 开发环境]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111637334</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111637334</guid><author>zhcourse</author><pubDate>Thu, 24 Dec 2020 16:22:04 +0800</pubDate><description><![CDATA[前言
在 Ubuntu 上使用 VSCode 开发 Go 语言程序时，提示安装 Go 插件，但是安装失败，提示:
Installing github.com/mdempsky/gocode FAILED
Installing github.com/uudashr/gopkgs/cmd/gopkgs FAILED
Installing github.com/ramya-rao-a/go-outline FAILED
Installing github.com/acroca/go-symbols FAILED
]]></description><category></category></item><item><title><![CDATA[Go 语言的安装与配置：Windows 篇]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111637166</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111637166</guid><author>zhcourse</author><pubDate>Thu, 24 Dec 2020 16:19:04 +0800</pubDate><description><![CDATA[下载 Go SDK
下载文件：go1.12.4.windows-amd64.zip
我的电脑是 64 位的，可下载 .zip 文件或 .msi 文件，推荐下载 .zip 文件，如果你的电脑是 32 位的，请选择以 -386 结尾的文件，下面讲解 .zip 文件安装方法。
安装 Go
将 .zip 文件解压到你的软件目录，得到 go 文件夹。
配置环境变量
新建系统变量 GOROOT，变量值填写刚才解压的 go 文件夹。
新建系统变量 GOPATH，变量值填写你存放 Go 项目的目录。
将 %GOROOT%\]]></description><category></category></item><item><title><![CDATA[MySQL 无密码登录解决方案：Ubuntu 18.04]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111637039</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111637039</guid><author>zhcourse</author><pubDate>Thu, 24 Dec 2020 16:17:31 +0800</pubDate><description><![CDATA[MySQL 安装后，发现可以无密码登录，例如 mysql -u root，或 mysql -u root -p，不输入密码也可以登录；同时，代码中使用 root 用户和密码却无法登录。我上网查了一下，发现是没有启用 mysql_native_password plugin 的问题。下面是一个简短的教程使得 MySQL 必须使用密码才可以登录。
登录 MySQL：
sudo mysql -u root
注意到这里没有使用密码。
下面运行以下命令，开启 mysql_native_password：
USE my]]></description><category></category></item><item><title><![CDATA[Go 语言的安装与配置：Ubuntu 篇]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111636716</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111636716</guid><author>zhcourse</author><pubDate>Thu, 24 Dec 2020 16:15:41 +0800</pubDate><description><![CDATA[下载 Go
下载文件：go1.13.5.linux-amd64.tar.gz
安装 Go
将文件解压到 /usr/local 目录下。
sudo tar -xzf go1.13.5.linux-amd64.tar.gz -C /usr/local
配置环境变量
如果是单用户配置，则需修改~/.bashrc 文件；如果是多用户配置，则修改 /etc/profile 文件，这里推荐多用户配置。
sudo vim /etc/profile
文件末尾添加以下内容。
export GOPATH=/home/jjy/g]]></description><category></category></item><item><title><![CDATA[解决 VSCode Python 输出中文乱码问题]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111636678</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111636678</guid><author>zhcourse</author><pubDate>Thu, 24 Dec 2020 16:11:57 +0800</pubDate><description><![CDATA[使用 VSCode 编写 Python 代码时，输出的中文是乱码，于是上网找了一个简单的解决办法。
解决办法

添加环境变量 PYTHONIOENCODING，值为 UTF8。
重启 VSCode。

完。

]]></description><category></category></item><item><title><![CDATA[安装Kali后要做的事情]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111381126</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111381126</guid><author>zhcourse</author><pubDate>Fri, 18 Dec 2020 16:39:05 +0800</pubDate><description><![CDATA[总结：安装Kali后需要做的事情


更新软件源
修改软件源：
vi /etc/apt/sources.list
注释掉原来的软件源并添加：
 #阿里云kali源
 deb http://mirrors.aliyun.com/kali sana main non-free contrib
 deb-src http://mirrors.aliyun.com/kali sana main non-free contrib
 deb http://mirrors.aliyun.com/kali-security]]></description><category></category></item><item><title><![CDATA[安装Ubuntu后要做的事情]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111379619</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111379619</guid><author>zhcourse</author><pubDate>Fri, 18 Dec 2020 16:32:23 +0800</pubDate><description><![CDATA[安装 VMware Tools：将压缩包复制到主目录，解压，安装


卸载libreoffice：sudo apt remove libreoffice-common


卸载Amazon可直接在ubuntu软件里面进行卸载


删掉基本不用的自带软件：sudo apt-get remove thunderbird totem rhythmbox empathy brasero simple-scan gnome-mahjongg aisleriot gnome-mines cheese transmi..]]></description><category></category></item><item><title><![CDATA[Go 读取文件的几种方法]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111379079</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111379079</guid><author>zhcourse</author><pubDate>Fri, 18 Dec 2020 16:22:25 +0800</pubDate><description><![CDATA[ioutil.ReadFile
const filename = "abc.txt"
if contents, err := ioutil.ReadFile(filename); err != nil {
	fmt.Println(err)
} else {
	fmt.Printf("%s\n", contents)
}

bufio.NewScanner
file, err := os.Open(filename)
if err != nil{
	panic(err)
}

scanner := bufi]]></description><category></category></item><item><title><![CDATA[Golang：自增自减]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111246258</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111246258</guid><author>zhcourse</author><pubDate>Wed, 16 Dec 2020 09:55:08 +0800</pubDate><description><![CDATA[只能作为语句，不能作为表达式
a := 1
a ++  // 注意：不能写成 ++ a 或 -- a 必须放在右边使用
// b := a++ // 此处为错误的用法，不能写在一行，要单独作为语句使用


]]></description><category></category></item><item><title><![CDATA[上传的文件尺寸超过php.ini中定义的upload_max_filesize值]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111246227</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111246227</guid><author>zhcourse</author><pubDate>Wed, 16 Dec 2020 09:53:52 +0800</pubDate><description><![CDATA[find / -name php.ini
修改 upload_max_filesize
重启服务器

]]></description><category></category></item><item><title><![CDATA[cURL error 28: Operation timed out after 300000 milliseconds with 7552619 out of 127654]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111246191</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111246191</guid><author>zhcourse</author><pubDate>Wed, 16 Dec 2020 09:53:16 +0800</pubDate><description><![CDATA[打开 wp-admin\includes\file.php
$timeout = 300 改为 3000
function download_url( $url, $timeout = 3000, $signature_verification = false )

]]></description><category></category></item><item><title><![CDATA[cURL error 18: transfer closed with xxxxxxx bytes remaining to read]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111246182</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111246182</guid><author>zhcourse</author><pubDate>Wed, 16 Dec 2020 09:52:12 +0800</pubDate><description><![CDATA[安装或者更新nss
yum install nss 或者 yum update nss

]]></description><category></category></item><item><title><![CDATA[创建数据库时，指定utf8编码]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111246150</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111246150</guid><author>zhcourse</author><pubDate>Wed, 16 Dec 2020 09:51:12 +0800</pubDate><description><![CDATA[创建数据库时，指定utf8编码
create database test default charset utf8 collate utf8_general_ci;

]]></description><category></category></item><item><title><![CDATA[【LeetCode】461 Hamming Distance]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111245700</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111245700</guid><author>zhcourse</author><pubDate>Wed, 16 Dec 2020 09:30:48 +0800</pubDate><description><![CDATA[原题地址：461. Hamming Distance。
汉明距离指的是两个数字的二进制表示间对应位置的不同数字的个数。
解法一
直接解法：循环依次判断x和y的对应位是否相同，由异或判断是否相同：
int hammingDistance1(int x, int y) {
    int count = 0;

    for (int i = 0; i &lt; 32; ++i) {
        if ((x &amp; (1 &lt;&lt; i)) ^ (y &amp; (1 &lt;&lt; i))]]></description><category></category></item><item><title><![CDATA[【LeetCode】476 Number Complement]]></title><link>https://blog.youkuaiyun.com/zhcourse/article/details/111245680</link><guid>https://blog.youkuaiyun.com/zhcourse/article/details/111245680</guid><author>zhcourse</author><pubDate>Wed, 16 Dec 2020 09:30:04 +0800</pubDate><description><![CDATA[原题地址：476. Number Complement。
给定一个正数，输出它的补数，相当于对这个数的二进制表示，每位取反。例如5的二进制是101，每位取反是010，输出就是2。
解法
计算中数字是用补码表示的，补码包括符号位，正数是0，负数是1。例如5的补码是00000101，所以我们不能直接每位按位取反，我们需要考虑前导零。下面使用一种方法可以生成一个掩码，这个掩码可以屏蔽掉前导零。
int findComplement(int num) {
    int mask = ~0;
    while (]]></description><category></category></item></channel></rss>