<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[magic的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/afar_ch</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; afar_ch]]></copyright><item><title><![CDATA[下一代Web协议——IPFS(星际文件系统)]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/81458774</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/81458774</guid><author>afar_ch</author><pubDate>Mon, 06 Aug 2018 18:08:09 +0800</pubDate><description><![CDATA[

简介
HTTP低效并且昂贵
人类的历史数据不能被永久保存，会被删除
中心化的web服务让权利掌握在少数人手中
网络应用太依赖骨干网


理论介绍
IPFS是什么？


IPFS安装
Go 安装
源码安装
测试安装
Ipfs 初始化


Quick Start
添加文件到ipfs
浏览文件
添加一个文件夹
浏览
查看链接信息
获取文件
IPFS对象
Pin + GC
启动服务
网络
文件挂载
...]]></description><category></category></item><item><title><![CDATA[Python实现一条基于POS算法的区块链]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/81392697</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/81392697</guid><author>afar_ch</author><pubDate>Fri, 03 Aug 2018 18:34:22 +0800</pubDate><description><![CDATA[

区块链中的共识算法
代码实战
生成一个Block
创建一个TCP服务器
消息处理器
POS算法实现


测试POS的记账方式
添加节点连接到TCPServer
测试POS的记账方式
生成区块链
总结
项目地址
参考







区块链中的共识算法

在比特币公链架构解析中，就曾提到过为了实现去中介化的设计，比特币设计了一套共识协议，并通过此协议来保证系统的稳定性和防攻击性。 并且我们知道...]]></description><category></category></item><item><title><![CDATA[基础篇——Go语言栈实现]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/81153183</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/81153183</guid><author>afar_ch</author><pubDate>Sun, 22 Jul 2018 11:40:17 +0800</pubDate><description><![CDATA[理论介绍

栈(stack)，是计算机科学中一种特殊的串列形式的抽象数据类型，其也通常使用链表或者数据来实现， 与队列不用，栈的性质是后进先出。也就是只能总栈的顶部插入元素与取出元素。

性质： 
后进先出



代码实现



package stack

type Item interface {
}

// ItemStack the stack of items
type ItemStac...]]></description><category></category></item><item><title><![CDATA[基础篇——Go语言队列实现]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/81153173</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/81153173</guid><author>afar_ch</author><pubDate>Sun, 22 Jul 2018 11:39:38 +0800</pubDate><description><![CDATA[理论介绍

队列(queue)， 是一种先进先出的线性表。通常用数据或者链表来实现队列。 队列只允许在后端插入，前端删除操作。 
性质： 
先进先出 



代码实现

了解了队列的概念，实现一个队列也相当简单，下面看代码



package queue

type Item interface {
}

// Item the type of the queue
type ItemQueue...]]></description><category></category></item><item><title><![CDATA[基础篇——链表反转以及增删改查]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/81153164</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/81153164</guid><author>afar_ch</author><pubDate>Sun, 22 Jul 2018 11:38:56 +0800</pubDate><description><![CDATA[理论介绍

本节介绍链表的操作，在本节中我们将学到下面的内容：


生成一个链表
链表添加节点
链表删除节点
链表插入节点
获取链表长度
查找链表节点
获取所有节点
链表反转


之前我们在go语言中，我们用interface来表示范性，今天我们说说interface在go语言当中的另一层含义——接口

在go语言中，接口类型是对其他类型行为的抽象和概括，接口不会跟特定的实现细节绑定在一起，接口可...]]></description><category></category></item><item><title><![CDATA[基础篇——数组与链表]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/81153153</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/81153153</guid><author>afar_ch</author><pubDate>Sun, 22 Jul 2018 11:38:11 +0800</pubDate><description><![CDATA[



理论介绍



数组&amp;amp;切片

在go语言的复合数据类型中，需要认识两种必要的数据类型


数组
切片


数组跟切片都是指一系列同一类型数据的结合。数组中包含的每个数据被称为数组元素，一个数组包含的元素个数成为数组的长度。不过，在go语言中数组与切片有一个很大的区别，数组长度在定义后不可更改，数组声明的时候指定的元素个数，就是此数组添加元素的上限数目。

切片可以动态扩充存放...]]></description><category></category></item><item><title><![CDATA[Go语言环境准备]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/81153143</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/81153143</guid><author>afar_ch</author><pubDate>Sun, 22 Jul 2018 11:36:52 +0800</pubDate><description><![CDATA[背景介绍



2009年，go语言诞生了！正如历史上其他一切新事物一样，go也有它自己的梦想与使命。2009年，我自认为不管是在计算机软件发展史、还是在人类发展史上，都是一个相当重要的年份。2008年金融危机爆发，经济下行全球产生信任危机。从此绝大多数行业开始走向转折，互联网行业跟随时代的步伐，异军突起，开始了草莽式的发展。

正是在这样的历史时刻，go语言作为google的金宝贝（golden...]]></description><category></category></item><item><title><![CDATA[区块链的前世今生]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/81019773</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/81019773</guid><author>afar_ch</author><pubDate>Thu, 12 Jul 2018 17:39:03 +0800</pubDate><description><![CDATA[&quot;The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.&quot;  


这句话相信大家都不会陌生，2008年，在我沉浸于初中毕业漫长的假期之际，国际金融危机全面爆发，全球经济一片萧条，大人们的脸上满是焦虑与困惑。然而，同年11月1日，一个自称中本聪的“神秘人”发表了比特币白皮书。题为: 《Bitcoin: A Pee...]]></description><category></category></item><item><title><![CDATA[后端初始化 —— Go（全栈）开发企业级后台管理系统]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/78511172</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/78511172</guid><author>afar_ch</author><pubDate>Sun, 12 Nov 2017 12:54:01 +0800</pubDate><description><![CDATA[Abstract：
  终于要跟go语言沾边了，到此，作者还有点小小的兴奋呢，也不知道为啥！ 
  不管你之前是否从事过web相关的开发，相信你一定听过【框架】这个词，不为什么，因为随着社会的发展进步，被前人总结出来的架构，经验等等，系统的、可复用的东西，我们都能认为其为框架。既然说到了框架，那么毫无疑问，我们这里要用框架了，不要问我为什么，因为时间宝贵，我们没有必要重复造轮子，当然如果你想自己写框]]></description><category></category></item><item><title><![CDATA[前端初始化 —— Go（全栈）开发企业级后台管理系统]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/78507918</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/78507918</guid><author>afar_ch</author><pubDate>Sat, 11 Nov 2017 18:28:24 +0800</pubDate><description><![CDATA[Abstract： 之前在从事VR（Virtual Reality[虚拟现实]）相关的工作时，有句话印象特别深刻——人是视觉动物。所以，一个美观、漂亮、大方的前端页面是必不可少的，所以在本项目中，博主为了让大家看此系列文章的时候不至于恶心到吐，能让大家有个轻松，预约的心情，特意筛选了一套工具，基于Antd（An Ui Design Language）实现的前端系统，项目原地址在这里：https://]]></description><category></category></item><item><title><![CDATA[Go（全栈）开发企业级后台管理系统]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/78507612</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/78507612</guid><author>afar_ch</author><pubDate>Sat, 11 Nov 2017 17:28:08 +0800</pubDate><description><![CDATA[目录：
环境准备 
前端初始化
后端代码初始化
前后端交互
使用MongoDB数据库
用户列表页面
发布文章列表
表单数据处理
Echarts实现消费数据统计表
用户注册、登录、登出
利用3D图形库展示三维模型
代码编辑器
ElasticSearch实现站内全文搜索
Abstract：随着Go语言越来越成熟，社区越来越活跃，应用越来越广泛，很多企业在技术选型上，逐渐的开始使用Go语言来开发。尤其在云]]></description><category></category></item><item><title><![CDATA[CentOS7 下安装mysql 并设置远程访问]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/52254466</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/52254466</guid><author>afar_ch</author><pubDate>Fri, 19 Aug 2016 21:54:24 +0800</pubDate><description><![CDATA[目录
目录
更换yum安装源
安装mysql
设置远程访问更换yum安装源由于默认安装源比较慢，推荐大家使用aliyun或者douban的源。 
建议在换源的时候将原先的文件做个备份，这样以后要用到的时候可以方便找到。
  cd  /etc/yum.repo.d/ 
  mv epel.repo epel.repo.bak  
  wget -O epel.repo : http://mirrors]]></description><category></category></item><item><title><![CDATA[python类与面向对象编程]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/51925768</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/51925768</guid><author>afar_ch</author><pubDate>Sat, 16 Jul 2016 18:44:24 +0800</pubDate><description><![CDATA[类与面向对象编程类(class)是python中的一种内建模块，在许多语言甚至在一些库中都用到了类， python的标准库也不例外。理解什么是类，如何实用，并且怎样用好python的类是非常重要的，当然这也是此文的目的所在。在此过程中，我们讲解释和类息息相关的面向对象编程的含义。一切皆对象在python中class关键字定义一个类，在class中有def定义的函数，也就是类的方法。那么具体什么是类？]]></description><category></category></item><item><title><![CDATA[为什么年轻人喜欢北上广? 因为这里点燃改变世界的梦想！]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/51913851</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/51913851</guid><author>afar_ch</author><pubDate>Thu, 14 Jul 2016 23:33:04 +0800</pubDate><description><![CDATA[“互联网行业泡有泡沫, 但机会也大”, “不管干什么，一定要跟对人”。已经离职三个月了，前公司 
经理的忠告依旧萦绕在我的脑海，在这里默默感谢一波自己的前经理。 
 
 
记不清具体是什么时候关注互联网，当然也不想去记。如今互联网+的火热程度已经远远超 
过了上海太阳的热度。而我作为一个对互联网的关注者与热爱者没理由躲起来乘凉，当然也没地方 
可躲。所以三个月前还在国企兢兢业业工作的我，当这把火烧过]]></description><category></category></item><item><title><![CDATA[python中变长参数的用法举例？]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/51778277</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/51778277</guid><author>afar_ch</author><pubDate>Tue, 28 Jun 2016 19:40:49 +0800</pubDate><description><![CDATA[慎用变长参数 
python支持可变长度的参数列表，可以通过*arg, **kwargs这两个特殊语法来实现。以下为变长参数使用的例子：
* 使用*args 来实现可变参数列表： *args用接受 
一个包装为元组形式的参数列表来传递非关键字参数，参数个数可以随意。def SumFun(*args):
    result = 0
    for x in args[0:]:
      resul]]></description><category></category></item><item><title><![CDATA[如何用在python中迭代一个列表以及字典的索引和值？]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/51762518</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/51762518</guid><author>afar_ch</author><pubDate>Sun, 26 Jun 2016 14:00:17 +0800</pubDate><description><![CDATA[本文摘自《编写高质量代码，改善python程序的91个建议》大家有兴趣的可以看看本书。其中列出了很多非常实用的建议。对序列进行迭代并获取序列中的元素。方法一:在每次循环中对索引变量进行自增li = ['a', 'b', 'c', 'd', 'e']
index = 0
for i in li:
  print "index":,index, "element":, i
  index +=1方法二]]></description><category></category></item><item><title><![CDATA[写个小文件让自己的电脑定时关机吧！]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/51759395</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/51759395</guid><author>afar_ch</author><pubDate>Sat, 25 Jun 2016 17:51:08 +0800</pubDate><description><![CDATA[对于很多windows用户来说，可能很想让自己的电脑定时关机。在windows下有一种bat文件，也就是批处理文件，利用此文件可以完成很多有意思的事情。下面就介绍大家一个非常简单实用的小文件，让你的电脑定时关机。 
新建一个closecomputer.bat的文件，然后写入以下代码：@echo off
at 23:30 shutdown -s -t 1000
echo Hi
echo your co]]></description><category></category></item><item><title><![CDATA[Linux系统Centos以及Ubuntu下安装新的python版本]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/51758096</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/51758096</guid><author>afar_ch</author><pubDate>Sat, 25 Jun 2016 13:12:01 +0800</pubDate><description><![CDATA[Centos 下安装并更新python版本本文前面六步参考自博客By ruichao.lin  在其基础上，本文对其进行了更新与补充，希望对大家有用，谢谢。
更新系统和开发工具集
yum -y update
yum groupinstall -y 'development tools'# 安装额外的工具包yum install -y zlib-devel bzip2-devel openssl-de]]></description><category></category></item><item><title><![CDATA[如何在Django中使用mongodb数据库？]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/51757960</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/51757960</guid><author>afar_ch</author><pubDate>Sat, 25 Jun 2016 12:21:12 +0800</pubDate><description><![CDATA[说在前面的话在Django的官方文档中，没有介绍mongodb数据库的任何使用方法，mongodb也不是django官方推荐使用的数据库。以下是django官方列出的内建数据库。官方地址： 
django settings databaseThe database backend to use. The built-in database backends are:'django.db.backen]]></description><category></category></item><item><title><![CDATA[如何利用python生成随机验证码？]]></title><link>https://blog.youkuaiyun.com/afar_ch/article/details/51756003</link><guid>https://blog.youkuaiyun.com/afar_ch/article/details/51756003</guid><author>afar_ch</author><pubDate>Fri, 24 Jun 2016 22:12:07 +0800</pubDate><description><![CDATA[########################################### 
# 第一步，引入random， string
import random, string
#定义一个生成随机数的函数，传入两个参数，一个为num（生成随机码的个数），一个为length（随机码的长度）
def random_code(num,length=8):
    with open('Activate_]]></description><category></category></item></channel></rss>