<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[蒋故事的专栏]]></title><description><![CDATA[学习]]></description><link>https://blog.youkuaiyun.com/arestrack</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; arestrack]]></copyright><item><title><![CDATA[Go语言笔记 | 01-为什么要学Go语言]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/85725066</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/85725066</guid><author>arestrack</author><pubDate>Thu, 03 Jan 2019 22:28:42 +0800</pubDate><description><![CDATA[Go 是一个开源的编程语言，它能让构造简单、可靠且高效的软件变得容易。]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第13关 call him]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/85116320</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/85116320</guid><author>arestrack</author><pubDate>Thu, 20 Dec 2018 11:52:25 +0800</pubDate><description><![CDATA[
phone that evil

挑战地址，点我

分析
图片上一个电话，下面还有一行提示 phone that evil。
右键查看网页源码，可以看到一个 phonebook.php，这是电话本。
打开可以看到是一个类似 xml 的东西，但是报错了。
&amp;lt;?xml version=&quot;1.0&quot;?&amp;gt;
&amp;lt;methodResponse&amp;gt;
&amp;lt;fault&amp;gt;
&amp;lt;val...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第12关 dealing evil]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/85055694</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/85055694</guid><author>arestrack</author><pubDate>Mon, 17 Dec 2018 20:28:55 +0800</pubDate><description><![CDATA[

挑战地址，点我

分析
页面上的图片像有明显的行间隔，安装上一关的方法尝试分割，没有什么结果。
搜索了一下，图片的主题是分牌，当前图片的 url 是 http://www.pythonchallenge.com/pc/return/evil1.jpg，
图片上牌被分成了 5 份，那么看下：
http://www.pythonchallenge.com/pc/return/evil2.jpg
h...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第11关 odd even]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84978105</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84978105</guid><author>arestrack</author><pubDate>Wed, 12 Dec 2018 19:32:13 +0800</pubDate><description><![CDATA[

挑战地址，点我

分析
页面上是一张模糊的图片，提示信息只有这一关的主题 odd even。
仔细看图片，上面有一些重影，考虑应该是需要分离出奇数和偶数像素。
奇数和偶数像素怎么定义？现在有两个维度，可能有如下集中方式：

只考虑 x
只考虑 y
考虑 x + y
同时考虑 x 和 y

测试发现 3 和 4 是可以的，python 实现如下，第 3 种方式：
#!/usr/bin/env/ ...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第10关 what are you looking at]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84971466</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84971466</guid><author>arestrack</author><pubDate>Wed, 12 Dec 2018 13:33:10 +0800</pubDate><description><![CDATA[
len(a[30]) = ?

挑战地址，点我

分析
图片上的牛是可以点击的，点击牛打开新的页面 http://www.pythonchallenge.com/pc/return/sequence.txt，显示如下内容：
a = [1, 11, 21, 1211, 111221,

联系原来页面上的提示 len(a[30]) = ?，应该是需要找到规律，推到出第 31 项 a[30]。
想了一...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第9关 connect the dots]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84946412</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84946412</guid><author>arestrack</author><pubDate>Mon, 10 Dec 2018 21:02:51 +0800</pubDate><description><![CDATA[

挑战地址，点我

分析
右键查看网页源码，可以看到提示：
&amp;lt;!--
first+second=?
...省略

first 和 second 是两组数，图片上还有一些黑点，在联系这一关的主题是 connect the dots。
如果把图片上的黑点连接起来，好像也看不出什么东西，也许 first 和 second 对应的是图片上的坐标，把这些坐标连接起来？
统计下两组数的个数分别是 44...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第8关 working hard]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84945262</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84945262</guid><author>arestrack</author><pubDate>Mon, 10 Dec 2018 19:49:19 +0800</pubDate><description><![CDATA[
Where is the missing link?

挑战地址，点我

分析
点击蜜蜂，提示需要输入用户名和密码：

右键查看网页源码，可以看到两行提示：
&amp;lt;!--
un: 'BZh91AY&amp;amp;SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07&amp;lt;]\xc9\x14\xe1BA\x06\xbe\x...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第7关 smarty]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84933801</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84933801</guid><author>arestrack</author><pubDate>Sun, 09 Dec 2018 23:23:09 +0800</pubDate><description><![CDATA[

挑战地址，点我

分析
图片中间有一条灰色带，就像打了马赛克，右键查看网页源代码也没有任何提示信息。
那应该需要处理这条灰色的马赛克了，python 标准库中并没有处理图片的，需要用到第三方图像处理模块 pillow。
#!/usr/bin/env/ python3

import urllib.request
import io
from PIL import Image

# 从图片链接读...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第6关 now there are pairs]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84885935</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84885935</guid><author>arestrack</author><pubDate>Fri, 07 Dec 2018 19:17:45 +0800</pubDate><description><![CDATA[

挑战地址，点我

分析
右键查看网页源代码看一下：
&amp;lt;html&amp;gt; &amp;lt;!-- &amp;lt;-- zip --&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;title&amp;gt;now there are pairs&amp;lt;/title&amp;gt;
  &amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;../s]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第5关 peak hell]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84844545</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84844545</guid><author>arestrack</author><pubDate>Wed, 05 Dec 2018 22:14:16 +0800</pubDate><description><![CDATA[第 5 关
挑战地址，点我
问题

pronounce it
分析
页面干干净净，没有任何信息，我们右键查看网页源代码看一下。
&amp;lt;peakhell src=&quot;banner.p&quot;/&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&amp;lt;!-- peak hell sounds familiar ? --&amp;gt;

这里有一段提示 peak hell sounds famil...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第4关 follow the chain]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84781711</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84781711</guid><author>arestrack</author><pubDate>Mon, 03 Dec 2018 23:47:05 +0800</pubDate><description><![CDATA[第 4 关
挑战地址，点我
问题

分析
鼠标移动到图片上可以看到图片是可以点击的，我们点击试下，看会发生什么。
来到了一个新的网页，显示了如下内容：

and the next nothing is 44827

我们再看下当前页面的 url: http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=12345
根据这些信息，我们...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第3关 re]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84640039</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84640039</guid><author>arestrack</author><pubDate>Thu, 29 Nov 2018 21:04:44 +0800</pubDate><description><![CDATA[第 3 关
挑战地址，点我
问题


One small letter, surrounded by EXACTLY three big bodyguards on each of its sides.
一个小写字母，每边都有三个大保镖。

分析
联想到上一关，我们再右键查看页面源码，可以看到也有一堆字符，根据提示信息，我们需要找到左右两边都被3个大写字母包围的小写字母。我们可以使用正则表达式来实...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第2关 ocr]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84639291</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84639291</guid><author>arestrack</author><pubDate>Thu, 29 Nov 2018 20:21:23 +0800</pubDate><description><![CDATA[第 2 关
挑战地址，点我
问题


recognize the characters. maybe they are in the book,
but MAYBE they are in the page source.

分析
根据提示我们需要右键查看页面源码，我们可以看到有一段提示，和一堆字符：
&amp;amp;amp;lt;!--
find rare characters in the mess below:
...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第1关 what about making trans]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84575017</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84575017</guid><author>arestrack</author><pubDate>Tue, 27 Nov 2018 22:40:45 +0800</pubDate><description><![CDATA[第 1 关
挑战地址，点我
问题


everybody thinks twice before solving this.
g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr’q ufw rfgq rcvr gq qm jm...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]第0关 warming up]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84558735</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84558735</guid><author>arestrack</author><pubDate>Tue, 27 Nov 2018 00:05:54 +0800</pubDate><description><![CDATA[第 0 关
挑战地址，点我
题目：


Hint: try to change the URL address.

分析：
根据提示信息 Hint: try to change the URL address. 尝试修改 URL 地址。
图片上显示的是2的38次方，猜测是计算2的38次方的结果来修改URL。
2 ** 38
# 274877906944

当前页面的 URL 地址是：http://...]]></description><category></category></item><item><title><![CDATA[[Python Challenge通关]准备]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84558725</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84558725</guid><author>arestrack</author><pubDate>Tue, 27 Nov 2018 00:04:07 +0800</pubDate><description><![CDATA[准备
The Python Challenge 是 Nadav Samet 写的一个通过编程闯关的游戏，边玩边学习 Python。
当前一共有 33 个关卡，所有的关卡都可以通过非常明了的、简单的脚本解决。
站点地址：http://www.pythonchallenge.com/。

开始通关~~~

...]]></description><category></category></item><item><title><![CDATA[[go语言]变量声明-总结]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84557825</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84557825</guid><author>arestrack</author><pubDate>Mon, 26 Nov 2018 22:32:21 +0800</pubDate><description><![CDATA[go 语言中提供了 var 语句支持变量声明，在包含初始化的时候编译器可以根据默认类型进行自动推导。go 语言还提供了更加简洁的声明语法 :=。
通过这些不同的方式都可以用来声明变量，但我们在编码时应该尽可能使用规范的风格。
下面是Dave 大神提到的最佳实践：
最佳实践


声明变量后将稍后再初始化时，请使用 var 语句。变量被声明为指定类型的零值。


声明变量时同时初始化，请使用 := 语...]]></description><category></category></item><item><title><![CDATA[[go语言]变量声明-短变量声明]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84503036</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84503036</guid><author>arestrack</author><pubDate>Sun, 25 Nov 2018 21:37:51 +0800</pubDate><description><![CDATA[短变量声明
在函数中，可以使用短变量声明的方式进行变量的声明和初始化，变量名:= 表达式。
package main

import (
    &quot;fmt&quot;
    &quot;math&quot;
)

// hi := &quot;hello&quot; // 非法，短变量声明方式只能用于函数内部

func main() {
    min, max := 1, 1000
    a, b, c := 1, true, &quot;mess...]]></description><category></category></item><item><title><![CDATA[[go语言]变量声明-初始化]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84313587</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84313587</guid><author>arestrack</author><pubDate>Sun, 25 Nov 2018 21:36:53 +0800</pubDate><description><![CDATA[零值
当一个变量被声明之后,系统自动赋予它该类型的零值：

bool 的零值为 false
整数的零值为 0
浮点数的零值为 0.0
string 的零值为 空字符串 &amp;quot;&amp;quot;

package main

import &amp;quot;fmt&amp;quot;

func main() {
	var (
		b   bool
		i   int
		f   float32
		str string
	)
	fmt.Println...]]></description><category></category></item><item><title><![CDATA[[工具]分享一个支持linux的网盘工具-坚果云]]></title><link>https://blog.youkuaiyun.com/arestrack/article/details/84319740</link><guid>https://blog.youkuaiyun.com/arestrack/article/details/84319740</guid><author>arestrack</author><pubDate>Wed, 21 Nov 2018 14:29:19 +0800</pubDate><description><![CDATA[Dropbox 在国内没有梯子不能访问，百度网盘之类的官方没有支持 linux，而且百度网盘非会员还被限速。这里分享一个支持 linux 的全平台网盘工具-[坚果云](https://www.jianguoyun.com/)。]]></description><category></category></item></channel></rss>