- 博客(34)
- 资源 (5)
- 收藏
- 关注
原创 Python JSON格式处理
从外部读入的json经过loads反序列化后可以转换为dict类型的数据 dict类型的数据可以通过dumps转换为json格式的数据param = self.request.body.decode('utf-8')dict_data = json.loads(param)json_data = json.dumps(dict_data)
2017-08-04 11:48:41
567
原创 KMP算法的理解
首先参考阮一峰的KMP博文,简单明了。看完这篇文章以及其他相关文章,我大概知道整个过程该怎么算,但是仍然不明白这个算法的精髓Next数组为什么要这么做,后来用反证法简单的证明了一个困扰了一上午的问题。记录如下:最后一句话“部分匹配”的实质是,有时候,字符串头部和尾部会有重复。比如,”ABCDAB”之中有两个”AB”,那么它的”部分匹配值”就是2(”AB”的长度)。搜索词移动的时候,第一个”AB”向后
2017-03-20 16:31:40
521
原创 2017网易游戏·在线笔试编程题·第一题
题目描述: 目前有一款益智小游戏,对经典的吃豆子游戏进行了改编。玩家将在类似如下图中所示的网格地图中进行游戏,当玩家将所有的“豆子”吃完后,游戏便结束。具体的游戏规则如下: 1.玩家在游戏开始后,出生在地图的左上角,且面朝右侧。 2.玩家每次只能移动一格,移动的方式只能从如下两种方式中选择一种: a.按玩家当前的朝向水平移动一格(如果玩家目前面朝右侧,
2016-09-18 22:15:58
3165
原创 Leetcode - Move Zeroes
Given an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of the non-zero elements.For example, given nums = [0, 1, 0, 3, 12], after calling your funct
2016-08-30 14:30:55
439
原创 leetcode- Preorder/Inorder/PostOrder without Recursive
Recursive solution is trivial方法一(麻烦):/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(
2016-08-30 14:14:53
457
原创 Leetcode-Symmetric Tree
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree [1,2,2,3,4,4,3] is symmetric: 1 / \ 2 2 / \ / \3 4 4 3But the
2016-08-26 11:07:25
346
原创 leetcode-MaxDepth of a binaryTree
Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.两种递归: int maxDepth(TreeNode* root) {
2016-08-26 11:04:43
465
原创 Leetcode-Binary Tree Level Order Traversal
Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).For example: Given binary tree [3,9,20,null,null,15,7], 3 / \ 9 20
2016-08-25 11:24:49
429
原创 Git常用命令
为了方便自己查询,将最近用到的Git命令整理如下: git init # 在本地建立一个仓库 git clone (repository) # git clone默认会把远程仓库整个给clone下来 git status git add modified_file #可以用Regular Expression匹配多个文件 git bra
2016-08-23 18:41:06
312
原创 JavaScript 三级联动的实现
最近项目用用到了“添加商品”,商品有所属商品、一级类目、二级类目等,从而构成了三个级别,为了提升用户体验,做了如下的三级联动准备工作: 一、获取后台数据,public class MenuJSON { public static void GetMenuJsonData(HttpServletRequest request) { User user = (User) requ
2016-01-15 11:33:57
823
原创 JavaWeb开发日期类型处理总结
mysql中日期类型datatime,可以理解为一种特殊的字符串,java在daoImpl中往db中插入时,需要先将java中的Date类型的转化为String类型 方法如下:String nowTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
2016-01-15 10:54:27
1825
原创 Web前端开发之定义全局的上下文路径
1.在jsp文件头添加js对象<script type="text/javascript">var basePath='<%=request.getContextPath()%>';</script>2.引用js对象中定义的全局上下文路径变量 内部直接引用:alert(basePath);外部文件引用:// 头部添加外部js文件<script type="text/javascript"
2015-12-07 20:44:35
1772
原创 分页程序的实现
一、前端代码: 前端采用标签库,需要导入<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><div class="pagging"> <div class="left">总记录数:${pagination.countSize} - 总页数:${pagination.countPage}</div>
2015-11-29 11:08:11
545
原创 Web后台开发之CRUD操作的两种实现
一、常见的CRUD操作方法public List<Commodity> getAllCommodity(Pagination pagination) { List<Commodity> commodities = new ArrayList<Commodity>(); Connection conn = null; PreparedStatement
2015-11-29 10:34:19
1699
原创 JS实现动态监听select标签,并修改属性
直接上Demo: 功能:通过监听select选项,当下拉框选择“下单时间”,则后面的输入框内要有时间格式的提示,即动态更新input标签的placeholder属性1.html代码如下:<select id="select_id" name="condition"> <option id="order_id" value="order_id">订单号</option> <optio
2015-11-25 22:06:49
55091
原创 多态机制原理解析--从内存角度分析
回头看多态,又有了新的认识。 理解多态主要搞清楚以下几个问题就可以了:(以父类Pet,子类Dog为例) 1.为什么可以用表达式 Pet p1= new Dog(); //为什么可以用父类的引用指向子类创建的对象? 2. 当用父类的引用p1,操作子类的对象的时候,为什么可以操作复写(override)的Method,怎么知道该Method是子类的而不是父类的? 3. 当用父类的引用p1操作子类
2015-11-10 14:59:10
3108
1
原创 Web开发(jsp+javaBean+servlet )之文件上传
最近在做一个公众号项目,设计到了文件上传等功能模块,特此记录,温故而知新。Demo: 上传图片 第0步:环境配置,添加jar包 commons-fileupload-1.3.jar第1步: 表单中添加 enctype=”multipart/form-data” <form name="updateForm" id="updateForm" action="<%= request.getCo
2015-11-05 10:39:00
1056
原创 JSP+JQuery Ajax+Servlet 实现轮询方式消息提示功能
Talk is cheap,Show me the codes ! –Linus准备工作: jsp文件中,合适的位置添加消息提示: <span id="tongzhi" style="display:none"> 您有<a href="#"><strong id="tongzhi-content">0</strong></a>条新消息</span>第一步:写JS文件,部分元素需要根据jsp的
2015-10-27 15:00:41
7218
原创 设计模式总结
所有的设计模式都在围绕着“高内聚,低耦合,提高复用,提高可维护性”三大类模式:创建型、结构型、行为型1.创建型:1.1工厂模式(Factory)将定义一个用于创建对象的接口,让子类决定实例化哪一个类。1.2抽象工厂模式(Abstract Factory)提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。1.3建造者模式(Builder)构建过程和表示过程分离,达到隐藏产品组装的过程
2015-09-30 15:26:47
348
原创 Android中ArrayAdapter、SimpleAdapter、BaseAdapter总结
因为经常忘记,总结一下之前学过的各种Adapter。1. ArrayAdapter构造函数 public ArrayAdapter (Context context, int resource, T[] objects)Parameters context: 上下文. resource: 资源ID,该资源包含了一个TextView组件(The resource ID for a layo
2015-07-28 22:57:49
870
原创 OSChina客户端源码学习(3)--轮询机制的实现
主要以OSChina Android客户端源码中Notice的轮询机制进行解读。一、基础知识一般IM(即使通讯)的实现有两种方式:推送和轮询,推送就是服务器主动向客户端发送消息,用特定的协议比如XMPP、MQTT。另一种是轮询,实时性并不高,而且比较耗电。这种有分为两种情况:一段时间发起一次查询和死循环进行查询。 参考: http://jcodecraeer.com/a/anzhuokaifa/
2015-07-20 16:49:26
1239
原创 OSChina客户端源码学习(2)--缓存的设计
一、缓存的作用请求数据的时候,首先进行判断,是否可以从缓存中获取数据,如果满足条件,则直接从缓存中获取数据。否则请求新的数据。这样比没有缓存的情况下,每次都要从服务器请求数据要快,而且,没有网的情况下,也可以浏览已经缓存了的数据,极大的提高了用户的体验。二、源码解析源码中用到缓存的地方有:1 请求数据之前,先判断是否可以从缓存中获取,如果满足条件,则直接从缓存中读取,否则,向服务器请求新的数据。//
2015-07-15 17:43:19
848
原创 OSChina客户端源码学习(1)--Android与Server的交互
这里主要针对“综合”这个选项卡下的“资讯”模块为例子,对核心代码进行解读。准备工作:参考我的另外一篇博客 http://blog.csdn.net/csp277/article/details/46610893 然后点击下面的类 Class AsyncHttpResponseHandler第一步:定义AsyncHttpResponseHandler,该handler对象作为get请求的参数,用
2015-07-13 19:47:07
850
原创 ButterKnife学习
ButterKnife是为了将代码变得更加简洁,提高可读性的一种标签注入的框架。配置方法可参考如下链接: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0102/2247.html使用方法如下:情况1 @InjectView. 绑定xml中的view到一个自定义的View变量中package com.example.bu
2015-07-07 11:53:34
587
原创 Struts2学习--配置及原理简述
一、配置如图所示,开发前先配好工作环境。 1. 将Structs压缩包(自行下载后)解压缩,将目录 struts-2.3.20\apps\struts2-blank\WEB-INF\lib 下的jar包全部导入到项目的WEB-INF的lib目录下。2 WEB-INF下建立web.xml<?xml version="1.0" encoding="UTF-8"?><web-app id="WebAp
2015-06-30 20:18:53
703
原创 解决JEB打开一闪而退
已经遇到这个问题两次了,每次都花了些时间解决。在这里总结一下。 JEB压缩包打开后运行jeb_wincon.bat,显然这是windows的bat批处理文件。用编辑器打开可以看到如下代码: 其中pause和echo %base%、echo %JAVA%命令是我自己添加的,为了更加方便的看到运行过程和效果。这是自己总结的一个动态调试的一个方法@echo offrem Start-up script
2015-06-28 17:29:20
19222
2
原创 在Windows7环境下安装Kali双系统方法总结
说明:我的方法是通过刻录软件,将Kali系统刻录到U盘中,然后开机通过U盘启动,实现kali系统的安装。下载刻录软件Win32Diskimager软件。 之前我用的是UltraIso , 后来报错: Failed to load ldlinux.c32 Boot failed: please change disks and press a key to continue. 解决办法:
2015-06-28 13:56:19
6587
1
原创 Android客户端与服务器端交互方式总结
一、HttpClient 方式://第一步:创建一个客户端实例HttpClient httpClient = new DefaultHttpClient(); //第二步:创建Http请求HttpPost httpRequest = new HttpPost(url); //第三步: Entity作为Http的request报文的一部分进行传输 httpRequest.setEntit
2015-06-23 22:08:02
1993
原创 Java集合体系总结—Map、Set、List、Queue
首先上来一张自己画的图,主要根据《疯狂Java讲义》一书中的两个图整合而来。主要讲解重要的集合及其特点。 0x01 Collection 接口 Collection接口比较宽泛,该集合就是单一对象的集合(对比Map容器,是key-value这样的一对元素构成的键值对的集合)。一般作为工具使用,比如在“向上转型”中,定义一个Collection对象接受任何实现类, 该接口提供了很多有用的API,比
2015-06-11 22:09:31
4297
3
原创 apk文件结构解析一
Apk文件用WINRAR压缩软件解压缩后,如下图所示:主要是三个文件(lib、META-INF、res)和三个文件夹(AndroidManifest.xml、classes.dex、resources.arsc) 用工具展开可以看到如下所示的文件结构(文件夹中的内容可能不一致,这里我举得例子是一个JNI的Demo) 下面再详细介绍各个文件或者文件夹的作用或内容META-INF文件夹
2015-06-05 17:25:40
2915
1
原创 正则表达式—不含某特定字符串
1.正则表达式中有(?=string)和(?!string)来表示我们是否需要匹配某个东西。 例一 取出不含有word的部分 例二 取出含有word的例三 以abcd打头,以1234结尾,且中间不能有abcd和1234 注意:区别于[^string],该表达式表示的是:在匹配的字符串中,不含有字符集中的任意字符,该字符集是由string的各个字符构成。//*作者:守静居士 //*转载
2015-05-20 23:01:00
2334
原创 Java中I/O流总结
Java中只有两种类型的流:字节流和字符流 1.字符流,主要是指处理的时候是以字符为单位,一般是用来处理TXT文本文档的读写。特点:处理更方便。 2.字节流,除了字符流,其他的都是以字节流的形式出现。处理所有的二进制文件。特点:使用更广泛。另外,为了把流的概念彻底搞清楚,首先要了解以下几个
2015-05-19 10:23:57
619
原创 Android逆向之静态分析
Android逆向之静态分析 1.入口分析 androidManifest.xml(AM文件)中的权限、Receiver中的action、Service中的action,但凡遇到比较敏感的权限、动作,要优先关注相应的组件 例如:敏感权限<uses-permission android:name="android.permission.READ_SMS" /><uses-permission
2015-05-12 17:15:40
574
重构与模式
2015-09-30
Java实现高级计算器
2015-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人