<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[坑底Z蛙]]></title><description><![CDATA[该来的自然会来]]></description><link>https://blog.youkuaiyun.com/hsc_1</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hsc_1]]></copyright><item><title><![CDATA[初识NGINX]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/104086572</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/104086572</guid><author>hsc_1</author><pubDate>Sun, 26 Jan 2020 11:54:29 +0800</pubDate><description><![CDATA[前言
此文是翻译的http://nginx.org/en/docs/beginners_guide.html，由于本人不做php部分的开发，所以去掉了最后一节关于php部分的引用。
正文
此文对nginx有一个基本的介绍，并提供了几个nginx可以解决的任务。本文假设读者在电脑上已经安装了nginx，如果没有安装，可以按照nginx安装页面的介绍进行安装。此文档介绍了如何启动和安装nginx，根据...]]></description><category></category></item><item><title><![CDATA[study by example 1]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/103743556</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/103743556</guid><author>hsc_1</author><pubDate>Sat, 28 Dec 2019 13:11:27 +0800</pubDate><description><![CDATA[背景
需求产生的原因：今有一商户，有这个月每日的销量数据，想知道两个特定日期的销量，比如说10号和13号。这个时候用眼睛一扫就可以知道结果了。但是，如果需要在一年的数据中，找到给定的多个日期的销量，那么应该如何找呢？
使用到的文件
year.txt
2019/12/13	1
2019/12/14	2
2019/12/15	3
2019/12/16	4
2019/12/17	5
2019/12/18...]]></description><category></category></item><item><title><![CDATA[sync.RWMutex 解决读写问题]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/103100966</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/103100966</guid><author>hsc_1</author><pubDate>Sat, 16 Nov 2019 17:35:53 +0800</pubDate><description><![CDATA[在一个共享的数据需要被多个线程访问的时候就会出现很多读写问题(由于读写问题有很多变种，所以用许多来形容)。有两种类型的线程需要访问数据—读线程和写线程。读线程仅仅读数据，写线程修改数据。当写线程有权限访问数据的时候，其他线程(包括读线程和写线程)是不可以访问这个共享的数据。这个限制在日常生活中是真的发生的，当写线程无法以原子性的操作修改数据的时候，读线程必须被阻塞，以防读取到脏数据(译者注：为了使...]]></description><category></category></item><item><title><![CDATA[你真的懂Go的切片吗？]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/102880766</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/102880766</guid><author>hsc_1</author><pubDate>Sun, 03 Nov 2019 11:40:13 +0800</pubDate><description><![CDATA[介绍
Go中的切片提供了一种方便、有效的处理一系列特定类型值的方式。切片在其他语言中和数组是相似的，但是有一些不同的特性。这篇文章将会讨论切片，以及如何使用它们。
数组
在go中切片是建立于数组之上的，所以在理解切片之前，我们必须先理解数组。
数组在定义的时候需要明确长度和元素的类型。例如，类型[4]int表示的是一个长度为4的数组。数组的长度是固定的，长度是数组类型的一部分。也就是说[4]int...]]></description><category></category></item><item><title><![CDATA[JavaScript异步编程: 从回调地狱到async和await]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/102650677</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/102650677</guid><author>hsc_1</author><pubDate>Sun, 20 Oct 2019 16:54:53 +0800</pubDate><description><![CDATA[写好一个优秀的web应用关键之一就是可以在一个页面上做许多AJAX请求
前言
我们可以从一个简单的例子的每个解决方式来思考JavaScript异步编程的进步
为了做到这些，我们可以来做一个简单的任务，这个任务是完成下面这些流程：

验证用户的名称和密码
获取应用中用户的角色
打印用户访问应用的时间

回调地狱的方式
最古老的解决这些问题的方式是通过一层套一层的的回调。这在过去是解决简单的异步任务的...]]></description><category></category></item><item><title><![CDATA[Promise对象和任务队列]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/101096458</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/101096458</guid><author>hsc_1</author><pubDate>Sat, 21 Sep 2019 09:16:12 +0800</pubDate><description><![CDATA[Promise对象的两个特点

对象的状态不受外界影响。Promise对象代表一个异步操作，有三种状态：pending(进行中)、fulfilled(已成功)和rejected(已失败)
一旦状态改变，就不会再变。状态的改变有两种可能：从pending到fulfilled和从pending变为rejected。

优点
有了Promise对象，就可以将异步操作以同步操作的流程表达出来，避免了层层嵌...]]></description><category></category></item><item><title><![CDATA[JavaScript的作用域]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/99701014</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/99701014</guid><author>hsc_1</author><pubDate>Sun, 18 Aug 2019 08:26:11 +0800</pubDate><description><![CDATA[前言
js中的一个常见异常是ReferenceError，表示引用的变量不存在
js其实不像大多数认为的那样是一个脚本语言，他是一个编译语言。代码中包括变量和函数在内的所有声明都会在任何代码被执行前首先被处理
编译语言
变量提升
console.log(a)
a = 2
console.log(a)
var a 

上述代码是不会报错的。只不过console.log(a)的时候，打印的是undef...]]></description><category></category></item><item><title><![CDATA[buildout制作特定的脚本]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/97039127</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/97039127</guid><author>hsc_1</author><pubDate>Tue, 23 Jul 2019 21:43:47 +0800</pubDate><description><![CDATA[buildout制作特定的脚本
安装buildout
pip install zc.buildout
初始化
创建文件夹firstbuildout，然后进入该文件夹执行buildout命令,会产生如下就结果
├── bin
│   └── buildout
├── buildout.cfg
├── develop-eggs
│   ├── setuptools.egg-link
│   └── z...]]></description><category></category></item><item><title><![CDATA[通过shell将一个文件划分为多个文件]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/96703067</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/96703067</guid><author>hsc_1</author><pubDate>Sun, 21 Jul 2019 11:08:50 +0800</pubDate><description><![CDATA[通过shell将一个文件划分为多个文件
需求是将下面文件的内容，根据第二列的内容，划分为多个文件
原始文件名为test.xt，文件内容如下
sort a # 3|4
sort a # 2|5
sort b # 1|2
sort b # 2|5

分割后的文件
file1
sort a # 3|4
sort a # 2|5

file2
sort b # 1|2
sort b # 2|5

解决方案...]]></description><category></category></item><item><title><![CDATA[go中的select]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/96186862</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/96186862</guid><author>hsc_1</author><pubDate>Tue, 16 Jul 2019 21:23:53 +0800</pubDate><description><![CDATA[go中的select提供了一种方式来处理多个channels，select语句满足如下条件

每个channel的值都会被计算
如果没有channel有产出的话，会阻塞直到一个channel产出
如果多个channel有产出的话，会选择假随机(pseudo-randomly)的选择一个产出
在有default语句的情况下，没有channel准备好的时候，会立即执行default的语句

下面有一个...]]></description><category></category></item><item><title><![CDATA[mysql中create table的时候设定的int(M)后面的数字的含义]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/95937863</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/95937863</guid><author>hsc_1</author><pubDate>Mon, 15 Jul 2019 07:55:13 +0800</pubDate><description><![CDATA[MySQL可以为整数类型指定宽度，例如INT(11)，对大多数应用是没有意义的：它不会限制值得合法范围，只是规定了MySQL的一些交互工具（例如MySQL命令行客户端）用来显示字符的个数。对于存储和计算来说，INT(1)和INT(20)是相同的。
...]]></description><category></category></item><item><title><![CDATA[Python2的编码问题]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/95733718</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/95733718</guid><author>hsc_1</author><pubDate>Sat, 13 Jul 2019 11:14:19 +0800</pubDate><description><![CDATA[Python2的编码问题
Unicode
Unicode 的学名是”Universal Multiple-Octet Coded Character Set”，简称为UCS。它为世界上每一种语言的每一个字符定义了一个唯一的字符码，Unicode 标准使用十六进制数字表示，数字前面加上前缀 U+，比如字母『A』的Unicode编码是 U+0041，汉字『中』的Unicode 编码是U+4E2D
其他...]]></description><category></category></item><item><title><![CDATA[gawk匹配特定的行]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/95037236</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/95037236</guid><author>hsc_1</author><pubDate>Tue, 09 Jul 2019 08:14:50 +0800</pubDate><description><![CDATA[文章目录gawk匹配特定的行使用正则表达式匹配操作符数学表达式
gawk匹配特定的行

使用正则表达式
打印所有包含字符’abc’的行，其中test.txt包含的内容如下
1 abc def ghk
2 def ghk iou
3 qwe rtu oip
使用如下gawk来打印匹配的行的话
gawk '/abc/{print $0}' test.txt
输出的记过如下
➜  scripts gaw...]]></description><category></category></item><item><title><![CDATA[go解析json]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/92800223</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/92800223</guid><author>hsc_1</author><pubDate>Tue, 18 Jun 2019 21:28:13 +0800</pubDate><description><![CDATA[package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"path/filepath"
	"regexp"
	"runtime"
)

type Contact struct {
	Name string `json:"name"`
	Title string `json:"title,omitempty"`
	Contact struc...]]></description><category></category></item><item><title><![CDATA[有缓冲的channel]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/92071034</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/92071034</guid><author>hsc_1</author><pubDate>Sat, 15 Jun 2019 11:06:09 +0800</pubDate><description><![CDATA[package main

import (
	"fmt"
	"math/rand"
	"sync"
	"time"
)

const (
	numberGoroutines = 4
	taskLoad         = 10
)

var wg sync.WaitGroup

func init() {
	rand.Seed(time.Now().Unix())
}

func worker...]]></description><category></category></item><item><title><![CDATA[go 利用channel进行接力赛]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/92069390</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/92069390</guid><author>hsc_1</author><pubDate>Sat, 15 Jun 2019 10:46:40 +0800</pubDate><description><![CDATA[package main

import (
	"fmt"
	"sync"
	"time"
)

var wg sync.WaitGroup


func Runner(baton chan int) {
	var newRunner int
	runner := &lt;- baton
	fmt.Printf("Runner %d runs with baton\n", runner)

	i...]]></description><category></category></item><item><title><![CDATA[Go中的无缓冲channel]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/92066317</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/92066317</guid><author>hsc_1</author><pubDate>Sat, 15 Jun 2019 10:11:58 +0800</pubDate><description><![CDATA[package main

import (
	"fmt"
	"math/rand"
	"sync"
	"time"
)

func init() {
	rand.Seed(time.Now().UnixNano())
}

var wg sync.WaitGroup

func player(name string, court chan int) {
	defer wg.Done()
	fo...]]></description><category></category></item><item><title><![CDATA[318. 最大单词长度乘积]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/85753026</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/85753026</guid><author>hsc_1</author><pubDate>Fri, 04 Jan 2019 08:09:16 +0800</pubDate><description><![CDATA[
class Solution:
    def maxProduct(self, words):
        &quot;&quot;&quot;
        :type words: List[str]
        :rtype: int
        &quot;&quot;&quot;
        mark = {word: (self.tool(word), len(word)) for word in words}
     ...]]></description><category></category></item><item><title><![CDATA[23. 合并K个排序链表]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/83183648</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/83183648</guid><author>hsc_1</author><pubDate>Fri, 19 Oct 2018 15:51:10 +0800</pubDate><description><![CDATA[ 

合并 k 个排序链表，返回合并后的排序链表。请分析和描述算法的复杂度。

示例:


输入:
[
  1-&amp;gt;4-&amp;gt;5,
  1-&amp;gt;3-&amp;gt;4,
  2-&amp;gt;6
]
输出: 1-&amp;gt;1-&amp;gt;2-&amp;gt;3-&amp;gt;4-&amp;gt;4-&amp;gt;5-&amp;gt;6

 


# Definition for singly-linked list.
# class List...]]></description><category></category></item><item><title><![CDATA[128. 最长连续序列]]></title><link>https://blog.youkuaiyun.com/hsc_1/article/details/83152212</link><guid>https://blog.youkuaiyun.com/hsc_1/article/details/83152212</guid><author>hsc_1</author><pubDate>Thu, 18 Oct 2018 20:14:25 +0800</pubDate><description><![CDATA[给定一个未排序的整数数组，找出最长连续序列的长度。

要求算法的时间复杂度为 O(n)。

示例:


输入: [100, 4, 200, 1, 3, 2]
输出: 4
解释: 最长连续序列是 
[1, 2, 3, 4]。它的长度为4




class Solution(object):
    def longestConsecutive(self, nums):
        &quot;&quot;&quot;
  ...]]></description><category></category></item></channel></rss>