10月 202016
 

有这样一个场景。你得到一个归属地,归属地包含省市地区,并且这个归属地信息是连续在一起的。当你想分别得到省,市,地区呢。人工,头脑分析,熟悉的地方,你估计可以分开。但在代码的世界里,怎么分开呢。在python中有个很好用的库,jiaba。结巴啊。

先看一个列子。

“工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作”分开一个一个的词组。

seg_list = jieba.cut("工信处女干事每月经过下属科室都要亲口交代24口
             交换机等技术性器件的安装工作
", cut_all=False) print("Default Mode: " + " - ".join(seg_list))
Default Mode: 工信处 - 女干事 - 每月 - 经过 - 下属 - 科室 - 
都 - 要 - 亲口 - 交代 - 24 - 口 - 交换机 - 等 -
技术性 - 器件 - 的 - 安装 - 工作

Continue reading »

10月 202016
 

python太灵活,api太多,还很简洁。能记住一个是一个。那开始吧。

********************************************************************************************
DataFrame.drop_duplicates, 删除DF中,某列或某几列存在相同值的行(可以留重复的第一行,或最后一行,或都不留)
subset中是目标key的list(list中如果有多个key,必须多个key同时满足),取与删除,keep表示留的对象,可以留最后一个,或第一个或都不留
inplace为true表示原DF也跟着改变了
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop_duplicates.html
******************************************************************************************** Continue reading »

10月 192016
 

数据统计中,通常,我们作用的不止一张表,对应的DataFrame也会有几个。有时候,两张或几张有关联的表需要进行合并处理。padans提供了merge,join,concat等方法。下边,就整理记录一下下。

merge(left, right, how='inner', on=None, left_on=None, 
      right_on=None, left_index=False, right_index=False, 
      sort=True, suffixes=('_x', '_y'), copy=True, 
      indicator=False)  

Continue reading »

10月 182016
 

大数据时代,对数据的采集,处理,需要效率和成本。解决方案从来都不是唯一的,只有是否合适的。目前在学python,就记录一些python相关的知识吧。大数据的状况,可以看阿里云栖社区 https://yq.aliyun.com/

在统计数据的时候,要对数据进行分析。在不破话原始数据以及对原始服务器的多次请求。可以将原始数据保存一份到其他数据库或文件中。这个中间你可以做处理以及优化,比如排重,去掉某些自己认为定义的无效数据等。然后,对这些数据,你可以进行多次的操作分析处理。

于是,操作数据库就很必要了。SQLAlchemy是python的一个框架,利用它可以将相对应的数据库(mysql等)中的数据读取出来,还可以将数据写入数据库。中间经常用到的有.csv文件或DataFrame数据。

在干干净净的电脑上,你调用的时候,可能缺少相应的库,这个时候你需要先装好。

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0014021031294178f993c85204e4d1b81ab032070641ce5000

先说下将mysql中的数据保存为本地csv文件。
Continue reading »

9月 262016
 

在表格中,有时候需要排序的功能。网上用的多的是tablesorter。那么就用tablesorter吧。然后,就开始做了。然后,就会有一个有一个的问题。

1,tablesorter有官网没,有文档没,怎么下,怎么用。

2,我想要table的第一列不参与排序。或某一列几列才参与排序。

3,我想要table的最后一行不参与排序或某一行不参与排序。

4,tablesorter的默认样式太丑了。而表示降序升序的三角图标还蛮好看的。我只想要这个图标,不要其他的又该如何。

5,tablesorter的常见排序规则。

6,tablesorter是否可以自定义排序方式。

7,tablesorter是否可以多列排序。就是多列与。

8,table动态更新,或翻页。

那么,就围绕上边的问题一个一个的来解决。

Continue reading »

8月 032016
 

既然是想要历史消息,那么肯定会想到将消息存储起来。存储数据有服务端的mysql等,也有本地的indexedDB,websql,localStorage,cookie,session等。使用场景,可能是app,也可能是web。这个时候就需要去衡量用那个了。

如果不是对消息非常重视,安全,消息查看等,就先丢掉服务端mysql等。h5推崇使用indexedDB,可是indexedDB的兼容性问题比较大,支持度不是很广。localStorage,cookie等,这些存储些简单,小的数据还行,存储聊天等大量,有一定结构的数据,就不方便了。这里,因为app需要,我用了websql。websql虽然对平台支持也不全,可已相当可观了。其语句,也类似mysql。比较好理解。

先看一个东东。sqlite_master

再看一个东东。删除所有表。
1,先select,获取所有表的表名。
S E L E C T name F R O M sqlite_master W H E R E type=’table’ O R D E R B Y name

2, 删除表。D R O P TABLE test

最后看一个东东。怎么创建数据库,打开,操作增删改查。http://www.jb51.net/html5/431355.html

看完这些。自己建库建表,可以干活了。

最后,为了方便显示最近消息。可以创建一个总表,用来存储聊天对象的引用。因为聊天,除了群聊,还有一对一聊天。你可以一对一,群聊都整在一起。可是这样有点乱也不好看。可以像qq,微信等。单聊和群聊都分窗口。步骤:

1,消息来了。建一个表,存储该对象的消息。可能是单一聊天,也可能是群聊。单一聊天,可用对方的uid加自己的uid加特定字符组成一个表(创建它)。如果是群,可以用群的uid+特定字符串组成一个表(创建它))
2, 建立一个总表,存储上边表的表名,还有一些简要的聊天信息。比如发送消息人的uid,最后一次发的消息等。
3,通过对应关系。在适当的时候取出来。渲染出来。算是基本完成了。

7月 282016
 

在一对一聊天,在给某个人发消息的时候。某个人可能刚好不在线。就是没连到服务器。如果不做处理,对方就会丢失掉你给他发的消息了。于是,就想。当对方不在线的时候,将发的消息存储到数据库。下次,他上线的时候,从数据库中读出来不就可以了吗。于是,一个简单点的离线消息模式就出来了。

既然在node.js上开发聊天室,那么就用node-mysql吧。他能在node服务端操作mysql。对mysql进行增删改查等等。于是看啊看,瞄啊瞄。用js的形式来query sql吧。

那么,开始走起。

1,安装node-mysql。 node install mysql -g;

2,封装一个mysql类。可以创建一个connect的引用也可以用连接池。这里用连接池。里边封装了query方法。一个参数是sql语句,和mysql语句一样一样的。还有一个参数是回调函数。

3,在聊天服务中,当接收消息方不存在的时候,就可以调用定义的的mysql的query方法。通过回调函数,得到执行的结果。

更多详细的内容:http://www.111cn.net/database/mysql/90774.htm

port最好不要填写。以为是随网站的80端口。超时等错误,可以修改超时参数。请看:http://stackoverflow.com/questions/35553432/error-handshake-inactivity-timeout-in-node-js-mysql-module

7月 272016
 

装了node.js,express,socket.io,开始做聊天程序的时候。你会发现,每次都要对server js进行node。关闭命令行后,服务就终止了。这样让人很痛苦。怎么办呢。

找啊找,问啊问。终于知道有个玩意可以让进程在后台运行了,不必守着了。这个玩意就是pm2.

装个pm2: npm install -g pm2

常用命令: pm2 start pm2 restart pm2 stop等。

更多详情,快到碗里来。https://yq.aliyun.com/articles/2993

6月 202016
 

mui框架中,在app中,input比网页的input后边会多一个XX按钮。不排除网页也会这么做。可是这个XX随着input的高度变化,不会去自适应。这个体验肯定不好。还有如果我想改变XX的颜色或形状或大小呢。这个还是得涉及到修改input的样式。不过,与之对应的样式的样式名是mui-icon-clear。还是,依着之前的思路,想去看看mui.css样式中,怎么实现的。然后再重新mui-icon-clear的样式。

    .mui-input-row .mui-input-clear~.mui-icon-clear
    {
        top:15px; /*坐标*/
        color: #fb7299; /*颜色修改*/
    }

 Posted by at 上午10:54
网站地图