<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[忆浅曦]]></title><description><![CDATA[一个小小程序媛的coding之路]]></description><link>https://blog.youkuaiyun.com/sinat_29673403</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sinat_29673403]]></copyright><item><title><![CDATA[Scala Spark SQL 将dataframe中某一列的所有值转化成list取出（包含列值为Seq(String)的情况）]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/110580979</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/110580979</guid><author>sinat_29673403</author><pubDate>Thu, 03 Dec 2020 22:55:46 +0800</pubDate><description><![CDATA[很久没有更新博客了，因为最近工作确实也很忙，不过忙碌的工作也让我收获了很多新的知识，趁着忙碌的间隙，来记录一下自己的成长。
这次的场景是：需要单独取出DataFrame中的某一列的所有值供Java程序使用。
下面的demo包含两个例子：
1.column value Type -&gt; String, 即 row-&gt;String ,需要用到mkString这个方法
2.column value Type -&gt; WrappedArray, 即Seq(String) -&gt;String, 需要]]></description><category></category></item><item><title><![CDATA[Installing Linux Using Windows Subsystem for Linux(WSL)]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/107980651</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/107980651</guid><author>sinat_29673403</author><pubDate>Thu, 13 Aug 2020 18:06:35 +0800</pubDate><description><![CDATA[因为现在拿到的电脑OS版本比较低，只能支持wsl1，所以该文章只针对wsl1进行配置和使用。（ps:wsl1没有完整的linux内核，所以很多功能不支持，在这里我只针对我遇到的一些问题提供一些解决方法。也欢迎大家有更好的解决方法可以和我一起分享）
启用Windows的linux支持项：
打开 控制面板-&gt; 程序 -&gt;启用/关闭Windows功能

勾选Windows Subsystem for Linux 和 Virtual Machine Platform

然后等待配置完成，重启电脑。
下载]]></description><category></category></item><item><title><![CDATA[Mockito实战使用： 修改方法入参]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/93212568</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/93212568</guid><author>sinat_29673403</author><pubDate>Fri, 21 Jun 2019 18:20:15 +0800</pubDate><description><![CDATA[我们都知道在写UnitTest的时候，经常会使用Mockito去mock类中的某一个方法，让调用该方法的函数不调用这个实际方法，而是使用我们mock的方法返回我们事先准备好的返回值。通俗意义上解释就是实际方法的替代品，解决我们要测试的方法会与其他不好测试的模块耦合问题。
在这里首先要说明两个使用方式，Mock和Spy
Mock: Mock声明的对象，对函数的调用均执行mock（即虚假函数），不执行...]]></description><category></category></item><item><title><![CDATA[关于使用RedisTemplate缓存hashMap的使用小结]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/91375484</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/91375484</guid><author>sinat_29673403</author><pubDate>Mon, 10 Jun 2019 14:31:08 +0800</pubDate><description><![CDATA[在实际项目中我们经常需要使用到Redis缓存来持久化一些我们需要的数据。很多时候这些数据是使用HashMap存储的一些对象集合，这样形式的数据我们如何正确从Redis中存取呢？
在我实际使用的过程中使用了一个形式是Map&lt;String, JobProperty&gt; 的HashMap。而JobProperty是一个内部类，这个内部类的结构如下：
static class JobProper...]]></description><category></category></item><item><title><![CDATA[echarts图表显示相关]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/82841214</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/82841214</guid><author>sinat_29673403</author><pubDate>Tue, 25 Sep 2018 17:23:08 +0800</pubDate><description><![CDATA[最近做了一个跟图表显示相关得项目，在图表插件得选用上，我使用了百度得插件echarts。一些基本的功能文档里都写的很清楚。
在这里主要说明一下，如何自定义toolbox里得工具，以实现自己想要得功能。
以画辅助线为例，如何在图表工具箱中增加辅助线这个工具项，在echarts3之前辅助线工具是本来就有的，到了echarts3之后，辅助线工具就被移除。如果想要使用，必须自己自定义编写功能代码才能实现。...]]></description><category></category></item><item><title><![CDATA[关于堆栈和队列求最大值问题]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/82151243</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/82151243</guid><author>sinat_29673403</author><pubDate>Tue, 28 Aug 2018 17:12:45 +0800</pubDate><description><![CDATA[最近跟人家讨论到这么一个问题，怎么求stack的最大值？ 
我的实现方法是再建一个辅助栈，用来存放stack的当前max值以及历史max值。 
代码实现方式如下：



public multiStack{
    private Stack dataStack;
    private Stack maxStack;
    public multiStack(){
        this.d...]]></description><category></category></item><item><title><![CDATA[python根据关键词实现信息检索推荐（使用深度学习算法）]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/80422953</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/80422953</guid><author>sinat_29673403</author><pubDate>Wed, 23 May 2018 17:14:43 +0800</pubDate><description><![CDATA[算法中最主要的是用到了gensim.models.doc2vec将信息存储成词典进行建模并将信息文件转存到数据库中供其他代码使用。因为注释写的比较清晰。所以逻辑不再赘述，直接上代码看看就知道啦~因为在前面的算法中已经对数据库操作类进行了描述，这里就不再黏贴出来，有需要的亲可以翻看以前的文章参考即可~算法代码如下：



import tensorflow as tf
import os
impor...]]></description><category></category></item><item><title><![CDATA[python实现wsgi接口提供http服务响应http请求（跨代码语言数据交互）]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/80421302</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/80421302</guid><author>sinat_29673403</author><pubDate>Wed, 23 May 2018 16:01:48 +0800</pubDate><description><![CDATA[上一篇说完Java如何实现restful API提供http服务与php进行数据交互，这篇就要开始说python语言如何提供http服务进行跨语言数据交互的实现了。同样也是基于实际的需求要求，需要根据不同的关键词推荐信息库中的相应匹配信息。（让机器自己进行分析推荐，需要结合深度学习的部分监督算法实现。）很明显算法部分需要用到python去进行，而显示则是通过php生成的页面将数据展示给用户看。这一...]]></description><category></category></item><item><title><![CDATA[jersey实现restful API提供http服务，实现资源跨代码共享]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/80405641</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/80405641</guid><author>sinat_29673403</author><pubDate>Wed, 23 May 2018 14:50:43 +0800</pubDate><description><![CDATA[最近产品提了一个新需求，希望做出像淘宝一样的搜索框（就是那种输入一个字，就有一个下拉框给你推荐以这个字开头的商品名称，然后随着你的输入，变化出不同的提示的那种关联搜索框）。至于效果图的话，嗯，我去扒一张淘宝的图贴上： 
效果就类似这种，当然要想实现这样的效果，首先你得有个数据库，里边放着这些可以被检索到的名称用来备选。在页面与后端语言进行ajax交互的时候，将符合用户输入格式的数据传输到前台显示，...]]></description><category></category></item><item><title><![CDATA[Tensorflow+gensim实现文章自动审核功能]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/79528364</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/79528364</guid><author>sinat_29673403</author><pubDate>Mon, 12 Mar 2018 15:58:35 +0800</pubDate><description><![CDATA[首先，一定要吐槽一下，千万不要拿笔记本跑训练集很大的模型，不然真的能跑到吐血三升，而且电脑卡到宕机之后好不容易等到电脑能动了就是报错“内存不足”，简直能逼死我。每次跑程序都得把虚存开到最大，然后看着我的电脑在那卡卡卡，我都在想会不会把我电脑跑废了。当然结局是美好的，因为模型跑出来的审核结果正确率在94%以上，简直是惊喜到不行，嗯，基于这个理由，给我配工作站让我专门跑算法了，开心~ 
好了，言归正传...]]></description><category></category></item><item><title><![CDATA[使用Thuctc进行中文文本分类应用]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/79526143</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/79526143</guid><author>sinat_29673403</author><pubDate>Mon, 12 Mar 2018 14:10:58 +0800</pubDate><description><![CDATA[这几个月一直在做跟机器学习相关的东西用来减轻运营在文章方面的工作量：文章自动审核及分类（单分类与多分类并存情况，及对文章进行标签化） 
这里介绍的是使用Thuctc对文章进行分类，根据条件来判断多分类情况的取舍（ps：为什么不使用thuctc对文章进行审核，是因为用来训练审核的样本并不好，可能存在脏数据，而且对于关键词的标识度有所偏差，导致结果不太理想，便改用了其他方法）

首先介绍一下：THUC...]]></description><category></category></item><item><title><![CDATA[jieba分词的应用（java）]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/79005590</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/79005590</guid><author>sinat_29673403</author><pubDate>Mon, 08 Jan 2018 17:49:31 +0800</pubDate><description><![CDATA[在上一篇说的猜你喜欢功能中，又加了新的需求，需要对关键词进行分词，扩大推荐文章的范围，这样能够拓展用户的喜欢范围，这时候我就想到可以用jieba分词对中文进行分词，同样的需要去官网下载源码，这样方便自己对源码的修改以达到自己的目的。这里，我需要判断切分出来的词是否是无意义的词，就需要对切出来的词进行筛选，这时候，jieba分词的一个属性就体现出它的强大之处了，jieba分词会将切分出来的词进行词性]]></description><category></category></item><item><title><![CDATA[lucence的应用（java）]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/79004488</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/79004488</guid><author>sinat_29673403</author><pubDate>Mon, 08 Jan 2018 16:35:14 +0800</pubDate><description><![CDATA[最近做了一个需要猜测用户需求推送文章的猜你喜欢功能，为了便于查找关键词在文章中出现的次数，计算词频，通过词频对推送的文章进行排序获取文章list进行推送，通过自己的实践发现每次查询数据库去计算然后sort获取最终的文章list需要耗费大量的时间，用户体验非常不好；所以最后想到了用lucence这个文章全文检索引擎来简化流程，缩短用户等待时间。通过linux的定时任务增量索引文章表，大大减少了使用关]]></description><category></category></item><item><title><![CDATA[使用python selenium TouchAction模拟实现lCalendar滚动和点击效果]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/78520711</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/78520711</guid><author>sinat_29673403</author><pubDate>Mon, 13 Nov 2017 15:37:12 +0800</pubDate><description><![CDATA[在做移动端页面自动化测试时，遇到了一个用Icanlendar实现的地区选择框。不同于PC所用的select，这个需要通过控制手指滑动的幅度来选择不同的地区。通过翻阅文档，我发现可以用selenium的TouchAction模拟用户在移动端的操作。TouchAction的文档地址：https://seleniumhq.github.io/selenium/docs/api/py/webdriver/s]]></description><category></category></item><item><title><![CDATA[关于selenium python Message: unknown error: Element is not clickable at point错误]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/78459648</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/78459648</guid><author>sinat_29673403</author><pubDate>Mon, 06 Nov 2017 17:36:53 +0800</pubDate><description><![CDATA[今天在用python写平台页面自动化测试代码的时候，因为textarea使用的UEditor文本框，不同于一般的输入操作，直接根据element的相关属性名找到对应元素进行用户输入模拟，为了将值通过程序模拟的方式填入UEditor中，我在官方文档中找到了这段代码：UE.getEditor('editor').execCommand('insertHtml', '页面自动化测试')'然后用Python]]></description><category></category></item><item><title><![CDATA[移动web顶部导航修订版（续上版）]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/78214681</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/78214681</guid><author>sinat_29673403</author><pubDate>Thu, 12 Oct 2017 14:42:57 +0800</pubDate><description><![CDATA[上一版的链接地址：http://blog.youkuaiyun.com/sinat_29673403/article/details/53195760为什么会出这么一个新版的原因，是因为产品需求的改变，导致分类从二级分类变换为三级分类，导致顶部导航栏的布局出现了调整。对右侧二级分类的展开添加了划入划出的效果，同时对整个导航栏的布局进行了调整。 
效果图如下： 
 
看到了大概的效果图，现在话不多说，来看看代码吧]]></description><category></category></item><item><title><![CDATA[使用Ajax实现异步导出数据到excel]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/77962026</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/77962026</guid><author>sinat_29673403</author><pubDate>Wed, 13 Sep 2017 10:03:47 +0800</pubDate><description><![CDATA[最近做项目的时候就遇到需要把用户分散在多个数据表中的数据整合到一起既可以在线查看，又能导出excel。对于这个需求，如果用户量小的情况下直接点击链接跳转请求服务器处理从数据表中取出数据生成excel再返回客户端进行打开下载操作即可。但是当用户非常多，数据非常大的时候服务器处理请求的所需要的时间就会越长，当超出客户端获取响应的等待时间就会返回“502 Bad GateWay”这样的超时反馈。这显然不是]]></description><category></category></item><item><title><![CDATA[使用nodeJs+web Socket构建即时通讯（WebIM）]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/77880626</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/77880626</guid><author>sinat_29673403</author><pubDate>Thu, 07 Sep 2017 15:22:17 +0800</pubDate><description><![CDATA[在文章的开头，我要解释一下，为什么不直接使用web Socket实现即时通讯，因为一部分浏览器并不兼容web Socket，导致即时通讯在这些浏览器上无法正常使用，所以才需要用到nodeJs里封装好webSocket协议的socket.io包模块来提供不兼容websocket浏览器的解决方案并接管客户与服务器端交互的IO流。（一般处理不兼容websocket的浏览器的方法就是考虑 commit 方式]]></description><category></category></item><item><title><![CDATA[git使用记录（持续更新中）]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/77879265</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/77879265</guid><author>sinat_29673403</author><pubDate>Thu, 07 Sep 2017 11:29:26 +0800</pubDate><description><![CDATA[一.如何创建git远程分支并fetch到本地1.使用cd命令进入远程服务器上git所在的那级目录2.git fetch origin temp：temp //拉取远程服务器上temp分支的代码到本地temp分支；如果服务器上不存在temp分支，将自动创建temp分支3.git branch --set-upstream-to=origin/temp temp //将远程分支与本地分支关联进行追踪如果]]></description><category></category></item><item><title><![CDATA[windows下phpunit安装及测试]]></title><link>https://blog.youkuaiyun.com/sinat_29673403/article/details/74946326</link><guid>https://blog.youkuaiyun.com/sinat_29673403/article/details/74946326</guid><author>sinat_29673403</author><pubDate>Tue, 11 Jul 2017 13:13:21 +0800</pubDate><description><![CDATA[本文phpunit安转载自：http://blog.youkuaiyun.com/wangyibo5843/article/details/53183321 
感谢作者大大的经验分享~1.根据phpunit官方手册，安装PHPUnit需要这些扩展：dom,json,pcre,reflection,spl,如果你安装的是wampserver环境，这些扩展默认是开启的。2.配置PHP环境变量，如何配置，自己百度3.下载PHPUni]]></description><category></category></item></channel></rss>