<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Winterto1990的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Winterto1990</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Winterto1990]]></copyright><item><title><![CDATA[Apache MINA]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/109632914</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/109632914</guid><author>Winterto1990</author><pubDate>Thu, 12 Nov 2020 08:21:52 +0800</pubDate><description><![CDATA[是什么？

一个网络通信应用框架，基于TCP/IP、UDP/IP协议栈的通信框架。

做啥用？

快速开发高性能、高扩展性的网络通信应用。

啥优势？

Mina 提供了事件驱动、异步(底层JAVA NIO、上层异步)

基于 Apache MINA 的网络应用有三个层次，分别是 IoService、IoProcessor、IoFilter、IoHandler和IoSession：

IoService：

   I/O 服务用来执行实际的 I/O 操作。MINA 已经提供了一系列支持不同协议的 ...]]></description><category></category></item><item><title><![CDATA[ProcessOn 在线作图，真香指南]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/108428608</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/108428608</guid><author>Winterto1990</author><pubDate>Sun, 06 Sep 2020 10:21:15 +0800</pubDate><description><![CDATA[你还在为没有破解Visio而烦恼？因为准备PPT画图毫无头绪？来看看一款在线产品ProcessOn轻松制作流程图、思维导图、UI、UML等类型作图。

登录模块





登录模块比较清爽，且支持微信 QQ 微博 Google第三方平台登录，方便。



首页







登录之后，是个人模块，左侧功能栏有文件管理，中间是文件及文件夹内容展示，上侧是团队协作、个人模块、人气推荐(大部分付费可克隆)、模板。



文件管理







新建文件夹
支持新建文件夹
	支持直接新建空白画布
	...]]></description><category></category></item><item><title><![CDATA[Typora 从入门到熟练使用]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/108428529</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/108428529</guid><author>Winterto1990</author><pubDate>Sun, 06 Sep 2020 10:18:28 +0800</pubDate><description><![CDATA[Typora动态显示效果图

上图酷炫的操作效果便是Typora，下面带你了解一下神器typora。



认知


有没有考虑过哪天你也能使用Markdown（一种可以使用普通文本编辑器编写的标记语言）溜溜的，除了尽显逼格之外，也为我们在记录所学的知识点提供了便捷的途径。



Markdown logo



Markdown的语法因不同的解析器或编辑器而异，Typora使用的是Markdown的语法因不同的解析器或编辑器而异，Typora使用的是GitHub Flavored Markdown...]]></description><category></category></item><item><title><![CDATA[树莓派raspberryPI使用goproxy实现内网穿透]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/90208724</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/90208724</guid><author>Winterto1990</author><pubDate>Tue, 14 May 2019 16:00:42 +0800</pubDate><description><![CDATA[树莓派raspberryPI使用goproxy实现内网穿透。

对于树莓派，需要使用轻量级的工具实现功能，毕竟资源太有限，省着点儿用得。

内网穿透既可以用frp，也可以goproxy.下面主要讲的是使用goproxy内网穿透。

初衷 有这样的情况，树莓派启动后网络环境大部分可能是在一个路由器下的局域网(内网)，但是我们需要在其他网络(异地)环境访问树莓派资源(22端口)，这时候goproxy站...]]></description><category></category></item><item><title><![CDATA[python写入csv文件的几种方法总结]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/79487210</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/79487210</guid><author>Winterto1990</author><pubDate>Thu, 08 Mar 2018 17:17:39 +0800</pubDate><description><![CDATA[最常用的一种方法，利用pandas包import pandas as pd

#任意的多组列表
a = [1,2,3]
b = [4,5,6]    

#字典中的key值即为csv中列名
dataframe = pd.DataFrame({'a_name':a,'b_name':b})

#将DataFrame存储为csv,index表示是否显示行名，default=True
dataframe...]]></description><category></category></item><item><title><![CDATA[shell中if操作手册]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/78999472</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/78999472</guid><author>Winterto1990</author><pubDate>Mon, 08 Jan 2018 09:30:47 +0800</pubDate><description><![CDATA[一 简介 


1 字符串判断


str1 = str2　　　　　　当两个串有相同内容、长度时为真 
str1 != str2　　　　　 当串str1和str2不等时为真 
-n str1　　　　　　　 当串的长度大于0时为真(串非空) 
-z str1　　　　　　　 当串的长度为0时为真(空串) 
str1　　　　　　　　   当串str1为非空时为真


\ >  ]]></description><category></category></item><item><title><![CDATA[linux中使用shell进行数据库各种操作]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/78999243</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/78999243</guid><author>Winterto1990</author><pubDate>Mon, 08 Jan 2018 08:49:37 +0800</pubDate><description><![CDATA[下面附上通过shell命令行非交互式的操作数据库的方法：


mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句，不用在mysql的提示符下运行mysql，即可以在shell中操作mysql的方法。


#!/bin/bash
HOSTNAME="127.0.0.1"  #数据库信息
PORT="3306"]]></description><category></category></item><item><title><![CDATA[python的二维数组操作]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52946105</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52946105</guid><author>Winterto1990</author><pubDate>Thu, 27 Oct 2016 15:23:56 +0800</pubDate><description><![CDATA[需要在程序中使用二维数组，网上找到一种这样的用法：







1

2

3

4

5

6




#创建一个宽度为3，高度为4的数组

#[[0,0,0],


#
 [0,0,0],

#
 [0,0,0],

#
 [0,0,0]]

myList
= [[0]
* 3]
* 4





]]></description><category></category></item><item><title><![CDATA[Spark RDD API详解(一) Map和Reduce]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52871865</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52871865</guid><author>Winterto1990</author><pubDate>Thu, 20 Oct 2016 13:46:29 +0800</pubDate><description><![CDATA[RDD是Spark中的抽象数据结构类型，任何数据在Spark中都被表示为RDD。从编程的角度来看，RDD可以简单看成是一个数组。和普通数组的区别是，RDD中的数据是分区存储的，这样不同分区的数据就可以分布在不同的机器上，同时可以被并行处理。因此，Spark应用程序所做的无非是把需要处理的数据转换为RDD，然后对RDD进行一系列的变换和操作从而得到结果。本文为第一部分，将介绍Spark RDD中与Ma]]></description><category></category></item><item><title><![CDATA[Ubuntu系统上集群之间ssh实现无密码登录]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52857084</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52857084</guid><author>Winterto1990</author><pubDate>Wed, 19 Oct 2016 10:29:00 +0800</pubDate><description><![CDATA[准备条件：

安装ssh-server
sudo apt-get install openssh-server
安装ssh-client
sudo apt-get install openssh-client





这个操作是要让Master节点可以无密码SSH登陆到Slave节点上。

首先生成 Master 的公匙，在 Master 节点终端中执行：

cd ]]></description><category></category></item><item><title><![CDATA[在windows上安装python的机器学习包numpy scipy scikit_learn matplotlib]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52809725</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52809725</guid><author>Winterto1990</author><pubDate>Thu, 13 Oct 2016 20:42:20 +0800</pubDate><description><![CDATA[最近想要安装python的机器学习库，发现这个安装过程很容易走弯路，自己也是折腾了好久才找到一条捷径，现在分享出来给大家。


准备条件： 安装python软件，这里两种可选2.7.x或者3.5.x（这里使用2.7.x为例），将python的安装路径添加到环境变量中。


安装步骤：
1. nose => 2.numpy =>3.scipy =>4.scikit_learn =>5.]]></description><category></category></item><item><title><![CDATA[伟大是熬出来的]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52528589</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52528589</guid><author>Winterto1990</author><pubDate>Tue, 13 Sep 2016 19:23:29 +0800</pubDate><description><![CDATA[今天偶然的机会看到一篇文章，很好，应该让它在csdn上，让更多的朋友看到。



伟大都是熬出来的！熬：是真面问题，如果有问题，去解决他而不是逃避；熬代表这坚持。就像爬山，熬过艰难的攀登过程，只有经历了前面，才能真正体会到后面的愉悦。


痛苦是男人必须经历的东西，经历过才会慢慢成长，慢慢积淀毅力、勇敢、包容、智慧。


熬是一个成功男人必经的过程，坚持下来的人都是有着坚定的理]]></description><category></category></item><item><title><![CDATA[c++中vector的用法详解]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52221309</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52221309</guid><author>Winterto1990</author><pubDate>Tue, 16 Aug 2016 15:11:12 +0800</pubDate><description><![CDATA[vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.

     用法:
          1.文件包含:     
           首先在程序开头处加上#include以包含所需要的类文件vector
          还有一定要加上using name]]></description><category></category></item><item><title><![CDATA[Scala Actor并发编程]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52116495</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52116495</guid><author>Winterto1990</author><pubDate>Thu, 04 Aug 2016 10:10:32 +0800</pubDate><description><![CDATA[Java中的并发编程主要通过线程实现的，通过共享资源的机制实现并发，但会面临着死锁的问题。在Scala中，是通过消息传递来实现并发的，而Actor正是实现消息传递的。


Scala的actor提供了一种基于事件的轻量级线程。只要使用scala.actors.Actor伴生对象的actor方法，就可以创建一个actor。它接受一个函数值/闭包做参数，一创建好就开始运行。用！（）方法给acto]]></description><category></category></item><item><title><![CDATA[Scala 文件 I/O]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52108602</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52108602</guid><author>Winterto1990</author><pubDate>Wed, 03 Aug 2016 23:17:54 +0800</pubDate><description><![CDATA[Scala Option(选项)类型用来表示一个值是可选的（有值或无值)。

Option[T] 是一个类型为 T 的可选值的容器： 如果值存在， Option[T] 就是一个 Some[T] ，如果不存在， Option[T] 就是对象 None 。

接下来我们来看一段代码：
// 虽然 Scala 可以不定义变量的类型，不过为了清楚些，我还是
// 把他显示的定义上了
 
val ]]></description><category></category></item><item><title><![CDATA[Scala 异常处理]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52108563</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52108563</guid><author>Winterto1990</author><pubDate>Wed, 03 Aug 2016 23:11:26 +0800</pubDate><description><![CDATA[Scala 的异常处理和其它语言比如 Java 类似。

Scala 的方法可以通过抛出异常的方法的方式来终止相关代码的运行，不必通过返回值。


抛出异常

Scala 抛出异常的方法和 Java一样，使用 throw 方法，例如，抛出一个新的参数异常：
throw new IllegalArgumentException


捕获异常

异常捕捉的机制与其他语言中一样]]></description><category></category></item><item><title><![CDATA[Scala基础语法]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52106488</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52106488</guid><author>Winterto1990</author><pubDate>Wed, 03 Aug 2016 19:04:23 +0800</pubDate><description><![CDATA[如果你之前是一名 Java 程序员，并了解 Java 语言的基础知识，那么你能很快学会 Scala 的基础语法。

Scala 与 Java 的最大区别是：Scala 语句末尾的分号 ; 是可选的。

我们可以认为 Scala 程序是对象的集合，通过调用彼此的方法来实现消息传递。接下来我们来理解下，类，对象，方法，实例变量的概念：



对象 - 对象有属性和行为。例如：一只狗的状]]></description><category></category></item><item><title><![CDATA[Scala之旅-class和object详解]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52106259</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52106259</guid><author>Winterto1990</author><pubDate>Wed, 03 Aug 2016 18:27:28 +0800</pubDate><description><![CDATA[1.class

scala的类和C#中的类有点不一样，诸如： 声明一个未用priavate修饰的字段 var age，scala编译器会字段帮我们生产一个私有字段和2个公有方法get和set ，这和C#的简易属性类似；若使用了private修饰，则它的方法也将会是私有的。这就是所谓的统一访问原则。

细节的东西太多，还是上代码在注释里面细讲吧





[java] view]]></description><category></category></item><item><title><![CDATA[Scala中常见的容器 Iterator (迭代器)]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52105787</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52105787</guid><author>Winterto1990</author><pubDate>Wed, 03 Aug 2016 17:34:56 +0800</pubDate><description><![CDATA[Scala Iterator（迭代器）不是一个集合，它是一种用于访问集合的方法。

迭代器 it 的两个基本操作是 next 和 hasNext。

调用 it.next() 会返回迭代器的下一个元素，并且更新迭代器的状态。

调用 it.hasNext() 用于检测集合中是否还有元素。

让迭代器 it 逐个返回所有元素最简单的方法是使用 while 循环：
object Te]]></description><category></category></item><item><title><![CDATA[Scala中常见的容器 Option(选项)]]></title><link>https://blog.youkuaiyun.com/Winterto1990/article/details/52105674</link><guid>https://blog.youkuaiyun.com/Winterto1990/article/details/52105674</guid><author>Winterto1990</author><pubDate>Wed, 03 Aug 2016 17:26:18 +0800</pubDate><description><![CDATA[Scala Option(选项)类型用来表示一个值是可选的（有值或无值)。

Option[T] 是一个类型为 T 的可选值的容器： 如果值存在， Option[T] 就是一个 Some[T] ，如果不存在， Option[T] 就是对象 None 。

接下来我们来看一段代码：
// 虽然 Scala 可以不定义变量的类型，不过为了清楚些，我还是
// 把他显示的定义上了
 
val ]]></description><category></category></item></channel></rss>