<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TCP/IP协议栈学习ing]]></title><description><![CDATA[Android, Linux，TCP/IP Stack~~~~]]></description><link>https://blog.youkuaiyun.com/tcpipstack</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tcpipstack]]></copyright><item><title><![CDATA[求解斐波那契数列(Fibonacci Numbers)算法居然有9种，你知道哪几种吗？]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/119942340</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/119942340</guid><author>tcpipstack</author><pubDate>Thu, 26 Aug 2021 23:08:44 +0800</pubDate><description><![CDATA[By LongLuo
斐波那契数列(Fibonacci sequence)，又称黄金分割数列，因数学家莱昂纳多·斐波那契（Leonardoda Fibonacci）以兔子繁殖为例子而引入，故又称为“兔子数列”，指的是这样一个数列：0,1,1,2,3,5,8,13,21,34,55,89,144,233……0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233……0,1,1,2,3,5,8,13,21,34,55,89,144,233……
这个数列从第3项开始，每一]]></description><category></category></item><item><title><![CDATA[解决使用LeanCloud国际版时网站文章浏览次数不显示的bug]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/115381937</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/115381937</guid><author>tcpipstack</author><pubDate>Thu, 01 Apr 2021 19:28:00 +0800</pubDate><description><![CDATA[***By Long Luo***

之前[个人网站](www.longluo.me)文章阅读次数存储一直在[Leancloud](http://www.leancloud.cn)上，由于去年国内版要求网站必须备案才能使用之后，个人网站的浏览次数一直是不可用状态。几个月前切换到国际版，但是切换之后浏览次数一直是`空白null`值，正常应该是`0`，数据也不会更新。

后台查看`Counter`数据，也一直是没有数据的状态。当时花费了时间去检查，试图找到问题所在，当时还是怀疑LeanCloud国际版后台接口A]]></description><category></category></item><item><title><![CDATA[如何根据数组创建二叉树和打印二叉树？]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/115321803</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/115321803</guid><author>tcpipstack</author><pubDate>Tue, 30 Mar 2021 11:45:12 +0800</pubDate><description><![CDATA[***By Long Luo***

之前的[如何根据数组或者字符串创建链表？](http://www.longluo.me/blog/2020/12/10/Construct-A-LinkedList-From-An-Array-Or-String/)详述了[Leetcode](https://leetcode-cn.com/problemset/all/)中[链表](https://leetcode-cn.com/tag/linked-list/)相关算法题的测试方法。在Leetcode中关于[树](h]]></description><category></category></item><item><title><![CDATA[如何根据数组或者字符串创建链表？]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/115321765</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/115321765</guid><author>tcpipstack</author><pubDate>Tue, 30 Mar 2021 11:44:15 +0800</pubDate><description><![CDATA[***By Long Luo***

在[Leetcode](https://leetcode-cn.com/problemset/all/)做[链表](https://leetcode-cn.com/tag/linked-list/)相关的题时，给出的测试用例总是数组或者字符串形式，比如[61. 旋转链表](https://leetcode-cn.com/problems/rotate-list/)这道题，Testcase如下所示：

**示例 1：**

![img](https://upload-im]]></description><category></category></item><item><title><![CDATA[使用Hugo搭建个人网站]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/115321705</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/115321705</guid><author>tcpipstack</author><pubDate>Tue, 30 Mar 2021 11:42:41 +0800</pubDate><description><![CDATA[***By Long Luo***

# Hugo vs. Hexo
目前我的个人网站使用的是: Hexo + Next，这也是目前绝大多数个人网站的标配。[Hugo](https://gohugo.io)官网号称是最快的网站框架，构建速度快，因为我的文章数比较多，以后考虑切换成Hugo，今天花了点时间来学习了下。

以下是学习过程：

# Hugo使用指南

## 下载Hugo

因为是Windows 10系统，先去下载：https://github.com/gohugoio/hugo/releases.]]></description><category></category></item><item><title><![CDATA[5分钟掌握矩阵乘法的Strassen算法]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/99707765</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/99707765</guid><author>tcpipstack</author><pubDate>Sun, 18 Aug 2019 18:41:55 +0800</pubDate><description><![CDATA[By LongLuo
机器学习中需要训练大量数据，涉及大量复杂运算，例如卷积、矩阵等。这些复杂运算不仅多，而且每次计算的数据量很大，如果能针对这些运算进行优化，可以大幅提高性能。
一、矩阵乘法
假设AAA为m×pm \times pm×p的矩阵，BBB为p×np \times np×n的矩阵，那么称m×nm \times nm×n的矩阵CCC为矩阵AAA与BBB的乘积，记作C=ABC = ABC=...]]></description><category></category></item><item><title><![CDATA[经典算法：从约瑟夫问题说开去]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/99702616</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/99702616</guid><author>tcpipstack</author><pubDate>Sun, 18 Aug 2019 11:15:50 +0800</pubDate><description><![CDATA[By LongLuo
约瑟夫问题是每个学计算机的同学都会遇到的经典编程题，下面我们就来通过这道题对好好学习下算法和编程吧，Let’s go!
一、约瑟夫问题简介
据说著名犹太历史学家Josephus有过以下的故事：
在罗马人占领乔塔帕特后，39个犹太人与Josephus及他的朋友躲到一个洞中，39个犹太人决定宁愿死也不要被敌人抓到，于是决定了一个自杀方式，41个人排成一个圆圈，由第1个人开始报数，...]]></description><category></category></item><item><title><![CDATA[掌握Java: HashMap]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/52618692</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/52618692</guid><author>tcpipstack</author><pubDate>Thu, 22 Sep 2016 09:27:58 +0800</pubDate><description><![CDATA[HashMap也是我们使用非常多的Collection，它是基于哈希表的 Map 接口的实现，以key-value的形式存在。在HashMap中，key-value总是会当做一个整体来处理，系统会根据hash算法来来计算key-value的存储位置，我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。一、定义HashMap实现了Map接口，继承AbstractMap。其中]]></description><category></category></item><item><title><![CDATA[关于Java Collections应知应会]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/52512184</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/52512184</guid><author>tcpipstack</author><pubDate>Mon, 12 Sep 2016 11:40:41 +0800</pubDate><description><![CDATA[翻译 By Long Luo

下面这些问题Stackoverflow上关于Java collections提问和讨论最多的问题。在你阅读这些问题之前，有必要先阅读下这篇文章3分钟速读：图解Java
 Collections的接口以及类层级关系。



1. 什么时候用LinkedList？什么时候用ArrayList？

ArrayList本质上是一个数组。它的元素可以直接通过]]></description><category></category></item><item><title><![CDATA[Java Array最重要的10个方法]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/52484067</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/52484067</guid><author>tcpipstack</author><pubDate>Fri, 09 Sep 2016 09:20:25 +0800</pubDate><description><![CDATA[本文将展示Java Array的最重要的10个方法：0. 声明一个数组String[] aArray = new String[5];
String[] bArray = {"a","b","c", "d", "e"};
String[] cArray = new String[]{"a","b","c","d","e"};1. 打印数组int[] intArray = { 1, 2, 3, 4,]]></description><category></category></item><item><title><![CDATA[关于Java字符串(String)10个最常见问题]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/52471546</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/52471546</guid><author>tcpipstack</author><pubDate>Thu, 08 Sep 2016 14:54:16 +0800</pubDate><description><![CDATA[Java语言中，String一直很基础，但很多人都很多概念还是很模糊。这里我们选取了网络上最常见的10个问题，希望通过1. 如何对字符串进行比较？用“==” 还是equals()？简单来说，如果引用是否相同那么使用==， 判断值是否相等则用equals()。除非你想判断2个字符串是否是同一对象，否则你都应该使用equals()。2. 为什么在安全敏感信息场合应该用char[]而不是string？St]]></description><category></category></item><item><title><![CDATA[3分钟速读：图解Java Collections的接口以及类层级关系]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/52468537</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/52468537</guid><author>tcpipstack</author><pubDate>Thu, 08 Sep 2016 10:25:08 +0800</pubDate><description><![CDATA[翻译 By Long Luo本文翻译自The Interface and Class Hierarchy Diagram of Java Collections，主要通过一系列简单易懂的图片让你迅速了解Java容器类，容器接口以及类层级关系。大段文字会看得很烦，图片才是王道！一、 Collection vs Collections“Collection”和”Collections”是2个完全不同的概]]></description><category></category></item><item><title><![CDATA[5分钟学会Java反射]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/52457653</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/52457653</guid><author>tcpipstack</author><pubDate>Wed, 07 Sep 2016 11:05:21 +0800</pubDate><description><![CDATA[By Long Luo    最近在部门内部做了一次知识分享，关于***Java反射***，因此有了这篇文章：《5分钟学会Java反射》。这篇文章篇幅不长，用了大量示例，力求在很短的时间里让大家明白Java反射知识。关于Java反射，我们需要弄懂以下几个问题：
反射是什么？
反射有什么用？
怎么用反射？
下面我们来一一进行讲解：一、反射是什么？Reflection的意思是“反射、映象、倒影”，用在J]]></description><category></category></item><item><title><![CDATA[Android自定义View: 如何实现类钟摆的动画效果?]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/52453097</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/52453097</guid><author>tcpipstack</author><pubDate>Tue, 06 Sep 2016 20:08:19 +0800</pubDate><description><![CDATA[By Long Luo继第一篇Android自定义View：如何实现一个模拟时钟？，我们使用Android自定义View实现了一款模拟表盘，第二篇Android自定义View：另一种实现手表指针转动的方法我们又通过另外一种方法实现了手表指针的另外一种转动实现。在日程生活中，我们常见的挂钟实际都是有个钟摆的，那么，如果我们想在我们所作的模拟时钟实现这种钟摆动画呢？那么具体应该如何实现呢？一、钟摆遇到问]]></description><category></category></item><item><title><![CDATA[Android自定义View：另一种实现手表指针转动的方法]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/52325111</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/52325111</guid><author>tcpipstack</author><pubDate>Fri, 26 Aug 2016 09:15:04 +0800</pubDate><description><![CDATA[By Long Luo在上一篇Android自定义View：如何实现一个模拟时钟？中我们实现了一款模拟时钟。在上一篇中，我们使用了Canvas中的canvas.rotate()方法让坐标系旋转从而绘制出指针。但是，其实我们也可以使用另外一种方法去实现指针绘制，这种更直观，更容易理解。一. 绘制指针要绘制指针，需要知道指针的起点和终点，而起点就是圆心，终点就需要根据指针的sin及cos值及圆心进行对应]]></description><category></category></item><item><title><![CDATA[Android自定义View：如何实现一个模拟时钟？]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/52129871</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/52129871</guid><author>tcpipstack</author><pubDate>Fri, 05 Aug 2016 15:47:59 +0800</pubDate><description><![CDATA[By Long LuoAndroid中自定义控件一直都是Android开发中的一个难点。最近看大牛@Tomcat的猫写的《Android群英传》里面的第六章Android绘图机制及处理技巧，里面通过Canvas实现了一个如下所示的仪表盘：在书中详细描述了如何实现这个仪表盘，这里就不赘述了，可以参考其具体实现代码。但是这个表盘的指针是静止不动的，如果我们能让这个表盘的指针展示当前时间，随着时间而转动，]]></description><category></category></item><item><title><![CDATA[VR晕眩原因及解决方法]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/52024537</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/52024537</guid><author>tcpipstack</author><pubDate>Mon, 25 Jul 2016 15:59:13 +0800</pubDate><description><![CDATA[前言随着VR产业渐渐进入人们的视线，VR热潮正处于爆发前期。
纵观国内几家VR领域的尖端企业，中国的VR硬件与国际水准相比并不低。如果以“国际标准”Oculus的VR硬件来说，可以说与其基本持平。
对于过国内广大普通产品使用者来说无疑是个好消息，国内的VR团队在保持硬件的技术过关的前提下，性价比颇高。
VR晕眩的问题没有解决]]></description><category></category></item><item><title><![CDATA[Android编译时出现aapt.exe finished with non-zero exit value 1错误的解决方法]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/51559613</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/51559613</guid><author>tcpipstack</author><pubDate>Wed, 01 Jun 2016 22:20:35 +0800</pubDate><description><![CDATA[By Long Luo昨天在开发一个项目时，在Android Studio中编译时，gradle编译之后出现了如下错误：Error:Execution failed for task ':samples-simplevideowidget:processDebugResources'.
> com.android.ide.common.process.ProcessException: org.g]]></description><category></category></item><item><title><![CDATA[Android Launcher 学习笔记]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/50971489</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/50971489</guid><author>tcpipstack</author><pubDate>Thu, 24 Mar 2016 14:26:02 +0800</pubDate><description><![CDATA[欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来，用它写博客，将会带来全新的体验哦：
Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键
快捷键
加粗    Ctrl + B 
斜体    Ctrl + I 
引用    Ctrl]]></description><category></category></item><item><title><![CDATA[学钢琴最重要的是什么？]]></title><link>https://blog.youkuaiyun.com/tcpipstack/article/details/50712530</link><guid>https://blog.youkuaiyun.com/tcpipstack/article/details/50712530</guid><author>tcpipstack</author><pubDate>Mon, 22 Feb 2016 01:24:31 +0800</pubDate><description><![CDATA[文/ Long Luo今天下午去玛格丽特音乐文化教育中心以地板价试听了一节钢琴课，学到了很多东西，再结合自己的一些思考，在此简单记录下来。对于成人学钢琴来说，一大问题是时间有限，如果你是个上班族，不可能有很多时间让你去学习和练习，所以你得用脑子去学习。美女老师说，你的脑子里得时时刻刻有钢琴这东西。这种潜意思的学习，你可以在脑海中想象去弹琴，多思考，多分析，多总结，带着疑问去学习，这样才会学得快。学习]]></description><category></category></item></channel></rss>