<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[alvine008的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/alvine008</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; alvine008]]></copyright><item><title><![CDATA[0基础也能设计爆款？5个AI珠宝神器亲测推荐]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/148290188</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/148290188</guid><author>alvine008</author><pubDate>Wed, 28 May 2025 19:20:42 +0800</pubDate><description><![CDATA[5个AI珠宝神器亲测推荐，deepseek,midjourney,MJ]]></description><category></category></item><item><title><![CDATA[GO语言高并发学习心得体会]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/52038565</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/52038565</guid><author>alvine008</author><pubDate>Tue, 26 Jul 2016 18:53:30 +0800</pubDate><description><![CDATA[信号sigRecv1:=make(chan os.Signal,1)
sigs1:=[]os.Signal{syscall.SIGINT,syscall.SIGQUIT}
signal.Notify(sigRecv1,sigs1...)
sigRecv2:=make(chan os.Signal,1)
sigs2:=[]os.Signal{syscall.SIGINT,syscall.SIGQUIT]]></description><category></category></item><item><title><![CDATA[GO语言Comma-ok断言]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/52038559</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/52038559</guid><author>alvine008</author><pubDate>Tue, 26 Jul 2016 18:52:32 +0800</pubDate><description><![CDATA[Comma-ok断言的语法是：value, ok := element.(T)。element必须是接口类型的变量，T是普通类型。如果断言失败，ok为false，否则ok为true并且value为变量的值。来看个例子：package mainimport (
    "fmt"
)type Html []interface{}func main() {
    html := make(Html,]]></description><category></category></item><item><title><![CDATA[Docker笔记]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/52038555</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/52038555</guid><author>alvine008</author><pubDate>Tue, 26 Jul 2016 18:51:39 +0800</pubDate><description><![CDATA[docker 镜像启动docker instance: sudo docker run -t -i training/sinatra /bin/bash 
:)导出镜像docker save -o ubuntu.tar ubuntu:14.04载入镜像docker load –input ubuntu.tar移除本地镜像docker rmi training/sinatra 注意 docker rm]]></description><category></category></item><item><title><![CDATA[九、Go语言库之strconv包--GO语言笔记]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/51283189</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/51283189</guid><author>alvine008</author><pubDate>Fri, 29 Apr 2016 17:15:29 +0800</pubDate><description><![CDATA[package mainimport "fmt"
import "strconv"func main() {
    /*
            由于将字符串转为其他数据类型可能会出错，strconv 包定义了两个 error 类型的变量：ErrRange 和 ErrSyntax。
            其中，ErrRange 表示值超过了类型能表示的最大范围，比如将 "128" 转为 int8]]></description><category></category></item><item><title><![CDATA[八、Go语言包之strings--go语言学习笔记]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/51283032</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/51283032</guid><author>alvine008</author><pubDate>Fri, 29 Apr 2016 16:58:40 +0800</pubDate><description><![CDATA[package mainimport (
    "fmt"
    "unicode"
    "strings"
)
func main() {
    //是否存在某个字符串
    str := "a has a b"
    subStr := "a"
    subAny := "ab"
    fmt.Println("contains:%t", strings.Contains(st]]></description><category></category></item><item><title><![CDATA[git 常用手册]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/51282942</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/51282942</guid><author>alvine008</author><pubDate>Fri, 29 Apr 2016 16:49:32 +0800</pubDate><description><![CDATA[http://gitref.justjavac.com/remotes/#fetch 
git 常用手册索引
创建
本地修改
搜索
提交历史
分支与标签
更新与发布
合并与重置
撤销
Git Flow
创建复制一个已创建的仓库:$ git clone ssh://user@domain.com/repo.git
创建一个新的本地仓库:
$ git init
—
###本地修改显示工作路径下已修改的文]]></description><category></category></item><item><title><![CDATA[七、GO语言库学习--net/url包--go语言笔记]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/51282868</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/51282868</guid><author>alvine008</author><pubDate>Fri, 29 Apr 2016 16:40:08 +0800</pubDate><description><![CDATA[QueryEscape(s string) stringescape 转义string 到url queryQueryUnescape(s string) (string,err)转化 %AB 为 byte 0xAB 以及 ‘+’ 到 ’ ’ (space)type Errortype Error struct {
        Op  string
        URL string]]></description><category></category></item><item><title><![CDATA[一、go语言基础流程控制，语法，反射特性--go语言笔记]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/51144404</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/51144404</guid><author>alvine008</author><pubDate>Wed, 13 Apr 2016 16:17:15 +0800</pubDate><description><![CDATA[for循环sum := 1
for ; sum < 1000;  {
    sum += sum
}for sum<1000{
    sum ++
}在第5行中，我们把很多值聚合在了一个case里面，同时，Go里面switch默认相当于每个case最后带有break，匹配成功后不会自动向下执行其他case，而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码。]]></description><category></category></item><item><title><![CDATA[redis 学习笔记]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/51084373</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/51084373</guid><author>alvine008</author><pubDate>Thu, 07 Apr 2016 11:25:39 +0800</pubDate><description><![CDATA[configCONFIG GET * 
编辑配置： 
CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUERedis 数据类型Redis支持五种数据类型：string（字符串），hash（哈希），list（列表），set（集合）及zset(sorted set：有序集合)。stringstring是redis最基本的类型，你可以理解成与Memcached一模]]></description><category></category></item><item><title><![CDATA[六、go语言一些常用方法--go语言笔记]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/51064112</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/51064112</guid><author>alvine008</author><pubDate>Tue, 05 Apr 2016 13:41:24 +0800</pubDate><description><![CDATA[遍历以及mapfor i,value range slice{}//方式一
ages:=make(map[string]int)//方式二
ages:=map[string]int{
    “alice”:31,
       “charlies”:34,
}
//delete 一个元素
delete(ages,"alice")
ages["bob"] = ages["bob"] + 1 //如果]]></description><category></category></item><item><title><![CDATA[五、go语言特性--go语言笔记]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/51064085</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/51064085</guid><author>alvine008</author><pubDate>Tue, 05 Apr 2016 13:37:21 +0800</pubDate><description><![CDATA[deferdefer:调用一个被 defer 的函数时在函数刚要返回之前延迟执行，当函数无论怎样返回，某资源必须释放时，可用这种与众不同、但有效的处理方式。传统的例子包括解锁互斥或关闭文件。这样延迟一个函数有双重优势：一是你永远不会忘记关闭文件，此错误在你事后编辑函数添加一个返回路径时常常发生。二是关闭和打开靠在一起，比放在函数尾要清晰很多。package mainimport "log"func]]></description><category></category></item><item><title><![CDATA[四、golang类型讲解--go语言学习笔记]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/51064070</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/51064070</guid><author>alvine008</author><pubDate>Tue, 05 Apr 2016 13:34:56 +0800</pubDate><description><![CDATA[擅自使用了七牛大牛们的PPT资料，希望不要怪罪，这里谢谢大牛们的分享。映射 map
一个”键-值”对
关键点：注意并发读写情况，上锁
不能对未初始化的 map 进行写，会抛异常（panic）
对于迭代操作，每次结果可能不一致（乱序）
var m map[string]int
m["k1"] = 7 // 错误: assignment to entry in nil mapm := make(map[]]></description><category></category></item><item><title><![CDATA[三、go语言操作 mongodb mgo --go语言学习笔记]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/51064050</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/51064050</guid><author>alvine008</author><pubDate>Tue, 05 Apr 2016 13:31:46 +0800</pubDate><description><![CDATA[mgo使用指南mgo简介 
mgo（音mango）是MongoDB的Go语言驱动，它用基于Go语法的简单API实现了丰富的特性，并经过良好测试。官方网站：http://labix.org/mgo。golang.tc（golangtc.com）网站的数据存储就是是用的MongoDB+mgo。近一年使用下来表现良好。API文档 
下面是mgo、mgo/bson、mgo/txn的在线文档。mgo GoDo]]></description><category></category></item><item><title><![CDATA[sublime3 build3103版本 注册码 能用最新]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/50915914</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/50915914</guid><author>alvine008</author><pubDate>Thu, 17 Mar 2016 18:13:22 +0800</pubDate><description><![CDATA[升级后的sublime3，之前的key无效了，找到几个能用的.当然支持正版
—– BEGIN LICENSE —–
Michael Barnes
Single User License
EA7E-821385
8A353C41 872A0D5C DF9B2950 AFF6F667
C458EA6D 8EA3C286 98D1D650 131A97AB
AA919AEC EF20E14]]></description><category></category></item><item><title><![CDATA[二、slice和数组的区别,map的注意事项 -go语言笔记]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/50913250</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/50913250</guid><author>alvine008</author><pubDate>Thu, 17 Mar 2016 14:07:11 +0800</pubDate><description><![CDATA[这次要说说array，slice，map。虽然前面已经说过了，但是实际使用中发现对这几个的使用和理解还是不够详细
现在再重新看看这几个类型
array类型
array是固定长度的数组，这个和C语言中的数组是一样的，使用前必须确定数组长度。但是和C中的数组相比，又是有一些不同的：
 
1 Go中的数组是值类型，换句话说，如果你将一个数组赋值给另外一个数组，那么，实际上就是将整个数组拷贝一份]]></description><category></category></item><item><title><![CDATA[Django教程笔记：六、中间件middleware]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/50249777</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/50249777</guid><author>alvine008</author><pubDate>Thu, 10 Dec 2015 15:14:39 +0800</pubDate><description><![CDATA[中间件介绍中间件顾名思义，是介于request与response处理之间的一道处理过程，相对比较轻量级，并且在全局上改变django的输入与输出。因为改变的是全局，所以需要谨慎实用，用不好会影响到性能。 
每个中间件都会负责一个功能，例如，AuthenticationMiddleware,与sessions处理相关。激活中间件需要在settings.py配置文件中，配置MIDDLEWARE_CLAS]]></description><category></category></item><item><title><![CDATA[Django教程笔记：五、post get ajax异步操作]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/50233339</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/50233339</guid><author>alvine008</author><pubDate>Wed, 09 Dec 2015 10:50:48 +0800</pubDate><description><![CDATA[我们可以用form方式提交表单，不过我一般喜欢用jquery的方式来操作。主要有两种方式。get方式get方式不需要预设并且传递csrf标签。 
js代码部分:$("#buy-button").click(function(){
            var productId=$(this).attr("product_id");
            var url =$(this).att]]></description><category></category></item><item><title><![CDATA[Django笔记教程：四、会话、注册、以及用户]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/50216113</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/50216113</guid><author>alvine008</author><pubDate>Tue, 08 Dec 2015 12:19:44 +0800</pubDate><description><![CDATA[这个部分，主要是看得django cookbook以及官方文档。cookie，session、注册 
一直以来都是web开发的重要的组成部分。项目中有用到一些，所以还是记录下来，方便以后查阅。 
 HTTP被设计为”无状态”，每次请求都处于相同的空间中。 在一次请求和下一次请求之间没有任何状态保持，我们无法根据请求的任何方面(IP地址，用户代理等)来识别来自同一人的连续请求。首先，我们会从较低的层次]]></description><category></category></item><item><title><![CDATA[Django Ckeditor Ueditor 内容 展示 显示 HTML 显示不正常问题]]></title><link>https://blog.youkuaiyun.com/alvine008/article/details/50214803</link><guid>https://blog.youkuaiyun.com/alvine008/article/details/50214803</guid><author>alvine008</author><pubDate>Tue, 08 Dec 2015 09:53:47 +0800</pubDate><description><![CDATA[django中使用Uedtor，输入都没有问题，但是HTML内容想显示出来（一直把HTML源码显示出来），网上搜了一天，
最后发现是django模版的问题。特此记录希望能够帮助到有需要的人。

Ueditor 是一款非常优秀的嵌入到网页中的编辑器，使用简单，功能强大，但是在django中使用的时候却出现了问题。输入的时候还好，输出的时候会直接显示html源码而不是拥有格式的文本。
显示如下]]></description><category></category></item></channel></rss>