<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dskwe的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dskwe</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dskwe]]></copyright><item><title><![CDATA[Javascript内存优化]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/51050315</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/51050315</guid><author>dskwe</author><pubDate>Sun, 03 Apr 2016 14:43:52 +0800</pubDate><description><![CDATA[转自：http://lifemap.in/javascript-memory-optimize/

相對 C/C++ 而言，我們所用的 JavaScript 在內存這一方面的處理已經讓我們在開發中更注重業務邏輯的編寫。但是隨著業務的不斷複雜化，單頁面應用、移動 HTML5 應用和 Node.js 程序等等的發展，JavaScript 中的內存問題所導致的卡頓、內存溢出等現象也變得不再陌生。
]]></description><category></category></item><item><title><![CDATA[Redis expire]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50968230</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50968230</guid><author>dskwe</author><pubDate>Thu, 24 Mar 2016 06:44:04 +0800</pubDate><description><![CDATA[本文转自：http://jiorry.iteye.com/blog/961172





memcached 和 redis 的set命令都有expire参数，可以设置key的过期时间。但是redis是一个可以对数据持久化的key-value database，它的key过期策略还是和memcached有所不同的。梳理，整理如下：

 

redis通过expire命令来设置]]></description><category></category></item><item><title><![CDATA[hash_map快于STL中的map]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50891185</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50891185</guid><author>dskwe</author><pubDate>Tue, 15 Mar 2016 00:15:24 +0800</pubDate><description><![CDATA[0 为什么需要hash_map

用过map吧？map提供一个很常用的功能，那就是提供key-value的存储和查找功能。例如，我要记录一个人名和相应的存储，而且随时增加，要快速查找和修改：


岳不群－华山派掌门人，人称君子剑
张三丰－武当掌门人，太极拳创始人
东方不败－第一高手，葵花宝典
...



这些信息如果保存下来并不复杂，但是找起来比较麻烦。例如我要找"张三丰"的信]]></description><category></category></item><item><title><![CDATA[Redis]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50562724</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50562724</guid><author>dskwe</author><pubDate>Fri, 22 Jan 2016 16:16:53 +0800</pubDate><description><![CDATA[Redis是什么 
这个问题的结果影响了我们怎么用Redis。如果你认为Redis是一个key value store, 那可能会用它来代替MySQL；如果认为它是一个可以持久化的cache, 可能只是它保存一些频繁访问的临时数据。Redis是REmote DIctionary Server的缩写，在Redis在官方网站的的副标题是A persistent key-value database wi]]></description><category></category></item><item><title><![CDATA[自媒体]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50531625</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50531625</guid><author>dskwe</author><pubDate>Sun, 17 Jan 2016 13:32:17 +0800</pubDate><description><![CDATA[自媒体现在更多的是指小众运营，发出个人或者小众声音的一个东西。自媒体本身和纸质媒体，并不是相背的概念，一个人搞的杂志也可以说是自媒体，只不过自媒体通过互联网途径传播更加方便。自媒体和传统的官方媒体，和传统职业化作者编辑群体最主要的区别是，传统的媒体，作者和编辑协作发出的是某个组织或官方的声音，很多不能代表自己的态度。而自媒体更加灵活，更加自由，更加能表明自己的态度，发出自己的声音。这也是自媒体的优势]]></description><category></category></item><item><title><![CDATA[laravel 修改migration属性]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50500794</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50500794</guid><author>dskwe</author><pubDate>Tue, 12 Jan 2016 02:22:12 +0800</pubDate><description><![CDATA[在laravel5.1之前，如果你用migration为表结构设定了一些属性，之后如果再想修改的话，那就费劲了，需要rollback重新来过。而这种修改在设计中是经常会遇到的，特别是当你的表中已经有一堆测试数据的时候，你不会想轻易地rollback。 
laravel5.1提供了修改的功能，不过需要先装一个包“doctrin  e/dbal”. 
之后你就可以新建一个migration，然后直接修改]]></description><category></category></item><item><title><![CDATA[手机验证码登录与注册]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50499793</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50499793</guid><author>dskwe</author><pubDate>Mon, 11 Jan 2016 21:39:26 +0800</pubDate><description><![CDATA[注册大概要实现几个API： 
1.收到注册电话号码，验证号码格式有效后，生成验证码，并提交到短信发送队列中。短信处理任务负责将队列中的短信发送到相应的短信供应商API中，得到处理结果，如果正确，则返回给客户端验证码及正确标志码。注意这里要限制同一个号码，60秒内不能重复发送请求！ 
2.提交电话号码，设置的密码给服务器，服务器默认将用户名设置为“手机用户+手 
机号”，在user表格中新增用户信息，]]></description><category></category></item><item><title><![CDATA[JWT中的一些错误]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50494644</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50494644</guid><author>dskwe</author><pubDate>Mon, 11 Jan 2016 00:14:06 +0800</pubDate><description><![CDATA[POST请求时候，http方法时需要加一些信息到header，而且如果用apache得话，还需要做一些特殊配置来防止apache将认证头丢弃。 
或者直接将token值放在url中传递也可以。 
不然你就会得到token_absent的错误- -！~ 
所以，第三方库的使用说明一定要每个字都看清楚，如果不行，那至少要把每行代码都看清楚！ 
附原文：To make authenticated requ]]></description><category></category></item><item><title><![CDATA[JWT中的refresh_token]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50494364</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50494364</guid><author>dskwe</author><pubDate>Sun, 10 Jan 2016 22:46:36 +0800</pubDate><description><![CDATA[参考链接： 
https://github.com/tymondesigns/jwt-auth/issues/186 
https://github.com/tymondesigns/jwt-auth/issues/11利用JWT处理过期： 
1.在普通路径下请求时如果token过期，则客户端再次发出一个请求给服务器到一个设定的refresh路径 
2.在该路径下采用middleware = ‘jw]]></description><category></category></item><item><title><![CDATA[ACCESS_TOKEN与FRESH_TOKEN]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50493616</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50493616</guid><author>dskwe</author><pubDate>Sun, 10 Jan 2016 20:35:18 +0800</pubDate><description><![CDATA[OAuth1.0中的access_token过期时间通常很长，安全性差。于是OAuth2.0推出了refresh_token。OAuth2.0中，客户端用账户名，密码经过一定方式（比如先请求code），获得ACCESS_TOKEN，expire_in与refresh_token。 
然后在expire_in到期的时候，通过refresh_token获得新的access_token，expire_in]]></description><category></category></item><item><title><![CDATA[IoC与DI]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50446568</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50446568</guid><author>dskwe</author><pubDate>Sat, 02 Jan 2016 02:17:31 +0800</pubDate><description><![CDATA[谈一下这两个词蕴含的思想。 
依赖指一个类或对象A需要在其中依赖别的类或对象B。这样A就依赖于B。比如 class A{
        protect $b;
        public function __construct()
        {
            $this->b = new B();
        }
}这就是说A类依赖B类。 
如果依赖关系比较多得话，A的co]]></description><category></category></item><item><title><![CDATA[注册入口和引导加载]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50446525</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50446525</guid><author>dskwe</author><pubDate>Sat, 02 Jan 2016 01:28:57 +0800</pubDate><description><![CDATA[今天对两个词有了新的理解。在电脑运行时，一般首先运行BIOS，进行基本的硬件检测后告诉系统引导程序bootloader在哪里，然后再由bootloader来将指定位置的操作系统由硬盘加载到内存，将PC跳转到相应位置开始执行。在游戏程序设计中，在主函数开始运行时，通常会调用一个register函数，注册可能用到的各种类，然后等到具体使用的时候再实例化。这是因为首先我们要确保后面用到的东西，在系统里有入]]></description><category></category></item><item><title><![CDATA[APP登录设计]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50445167</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50445167</guid><author>dskwe</author><pubDate>Fri, 01 Jan 2016 16:01:19 +0800</pubDate><description><![CDATA[对登录逻辑做一些总结。 
在APP中登录有两种： 
APP内部登录，以及第三方登录。 
一般APP内部登录，采用token代替网站的cookies。做法是用户先用账户名/密码取得token，然后做后续访问时携带token，当token过期后再次请求。 
第三方登录，为了提高安全性，一般采用OAuth2.0。即在第三方平台注册app的clientid，设置回调界面，然后在本地APP调用第三方平台相关A]]></description><category></category></item><item><title><![CDATA[laravel5 timestamp]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50412197</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50412197</guid><author>dskwe</author><pubDate>Sun, 27 Dec 2015 20:11:02 +0800</pubDate><description><![CDATA[提纲： 
-timestamp与Timestamp类型 
-mysql中的时间数据类型 
-php中的时间函数 
-Laravel5 中的timestamp问题的引出： 
laravel5选择carbon做时间库函数，同时在migration中有timstamps这个函数。有如下问题： 
1.carbon相关属性？与timestamp联系？ 
2.在做处理时，timestamp应该如何与UNIX时间]]></description><category></category></item><item><title><![CDATA[Swagger工具]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50284625</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50284625</guid><author>dskwe</author><pubDate>Sun, 13 Dec 2015 17:19:11 +0800</pubDate><description><![CDATA[利用Swagger工具可以快速进行API文档开发，并且用于前后台共享和测试。它是一组开源项目，主要包括： 
Swagger-tools:提供各种与Swagger进行集成和交互的工具。例如模式检验、Swagger 1.2文档转换成Swagger 2.0文档等功能。 
Swagger-core: 用于Java/Scala的的Swagger实现。与JAX-RS(Jersey、Resteasy、CXF…)、]]></description><category></category></item><item><title><![CDATA[REST API设计步骤]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50284479</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50284479</guid><author>dskwe</author><pubDate>Sun, 13 Dec 2015 17:06:26 +0800</pubDate><description><![CDATA[REST API的设计大概要经过7个步骤： 
1）根据业务模型，确定所有组成部分，比如各种语义描述符 
2）初步绘制状态转移图，每次变化中还不用急着指明用哪个协议方法。只要标明变化是安全的（比如HTTP GET），还是不安全/非幂等的（比如HTTP.POST），或者不安全/幂等的（PUT）。 
3）调和魔法字符串：将描述符适配为更公用的名字 
4）选择媒体类型：选定CS通讯采用的媒体格式，比如JSO]]></description><category></category></item><item><title><![CDATA[RESTful API]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50063617</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50063617</guid><author>dskwe</author><pubDate>Sat, 12 Dec 2015 01:28:46 +0800</pubDate><description><![CDATA[记录一些对REST API的一些理解： 
1.REST是一种规范约束，并不是一种具体技术或像设计模式一样的方法。 
2.REST的根本是讲软件与网络两者相结合，从而构建一个松耦合，高效率的架构设计。Roy Thomas Fielding在2000年他的博士论文中原话是：My work is motivated by the desire to understand and evaluate the]]></description><category></category></item><item><title><![CDATA[Add Bootstrap to laravel 5]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50046957</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50046957</guid><author>dskwe</author><pubDate>Thu, 26 Nov 2015 01:17:07 +0800</pubDate><description><![CDATA[Hoho, after reading so many English pages tonight, I just wanna write some English- -!~I found a good blog about this topic, and here is the site: 
https://bhavyanshu.me/tutorials/styling-laravel-5-bas]]></description><category></category></item><item><title><![CDATA[Elixir & Gulp]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50044937</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50044937</guid><author>dskwe</author><pubDate>Wed, 25 Nov 2015 23:56:30 +0800</pubDate><description><![CDATA[Elixir & Gulp为了方便构建前端，需要了解Elixir和Gulp。同时这篇博文尝试下markdown编辑，主要介绍以下内容：-Elixir简介、安装与配置 
-Elixir使用方法-Gulp介绍 
-Gulp主要方法Elixir简介、安装与配置Laravel Elixir用一些API为laravel应用定义了基本的Gulp任务，以方便前端的构建。 
其使用需要先安装node.js, gul]]></description><category></category></item><item><title><![CDATA[分离与融合]]></title><link>https://blog.youkuaiyun.com/dskwe/article/details/50004775</link><guid>https://blog.youkuaiyun.com/dskwe/article/details/50004775</guid><author>dskwe</author><pubDate>Tue, 24 Nov 2015 00:21:22 +0800</pubDate><description><![CDATA[接着上一篇博文最后的疑惑，今天写点儿东西：
突然发现又是一个哲学问题，上一篇的最后提出服务器做还是给客户端做。其实是需要根据实际情况来定夺。
这就好比，一个任务可以由处理器做，也可以由操作系统做，甚至可以完全由应用程序来作，到底谁来负责还要根据实际的应用场景，在技术的发展中逐步明确。比如地址管理，又比如数据缓存，处理器和操作系统乃至应用层都有分层次不同程度的任务。
再好比VLIW与Super]]></description><category></category></item></channel></rss>