因为浏览器会用一些特殊的字符作为特定的意义,所以在要传输的内容上如果有这些特殊的字符的话,就需要对其进行转义才能正确传输,如以下字符为发送时候的关键字,即特殊字符 ;/?:@&=+$,# 所以我们在遇到传输此字符时可以先编码,然后服务器端在进行解码,就可以拿到正确的数据了.如要传输文本的内容为: A=b&c=d 则编码为 A%3Db%26c%3Dd 服务器端进行相应的解析即可拿到A=b&c=d 可能有人要问了,如果被编码的里边含有%怎么办,同样的,如果被编码的字符串有%则被相应的编…
位图是什么? 位图就是数组,一般来说是bit型的数组,具有快速定位某个值的功能,这种思想有很广泛的应用,比如下边两题: 1 找出一个不在5TB个整数中存在的数 假设整数是32位的,总共有4GB个数,我们可以用bitmap,每个整数一个bit,这样大概是4GB/8=512MB, 初始化时都为0, 依次遍历这个5TB个数,置相应位为1,最后遍历一次数组,找到第一个为零数即可. 2 找出在5TB个数中只出现一次的数字 我们至少需要“未出现”,“出现一次“,”出现多次“等状态,所以我们可以用2bit去表…
程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现) 程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现) 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现) 程序员必知的8大排序(四)-------归并排序,基数排序(java实现) 程序员必知的8大排序(五)-------总结 5.冒泡排序 (1)基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,…
程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现) 程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现) 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现) 程序员必知的8大排序(四)-------归并排序,基数排序(java实现) 程序员必知的8大排序(五)-------总结 3.简单选择排序 (1)基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换: 然后在剩下的数当中再找最小的与第二个位置的数交换,…
1.点评 互联网发展至今已经高度发达,而对于互联网应用(尤其即时通讯技术这一块)的开发者来说,网络编程是基础中的基础,只有更好地理解相关基础知识,对于应用层的开发才能做到游刃有余. 对于Android程序员来说,如果您觉得本文内容稍显枯燥,可以看看即时通讯网之前整理过的一篇类似文章<迈向高阶:优秀Android程序员必知必会的网络基础>,该文内容更偏向于知识点的概括. 如果您希望更系统地学习网络编程方面的知识,可以读一读以下专为初学者整理的系列文章或资料: <TCP/IP详解 - 第11…
1.前言 网络通信一直是Android项目里比较重要的一个模块,Android开源项目上出现过很多优秀的网络框架,从一开始只是一些对HttpClient和HttpUrlConnection简易封装使用的工具类,到后来Google开源的比较完善丰富的Volley,再到如今比较流行的Okhttp.Retrofit. 要想理解他们之间存在的异同(或者具体点说,要想更深入地掌握Android开发中的网络通信技术),必须对网络基础知识.Android网络框架的基本原理等做到心中有数.信手拈来,关键时刻才能…
程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现) 程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现) 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现) 程序员必知的8大排序(四)-------归并排序,基数排序(java实现) 程序员必知的8大排序(五)-------总结 7.归并排序 (1)基本排序:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序…
http://blog.csdn.net/pzhtpf/article/details/7559896 程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现) 程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现) 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现) 程序员必知的8大排序(四)-------归并排序,基数排序(java实现) 程序员必知的8大排序(五)-------总结 前几天,看到一篇前辈的博文“程序员必知的…
c++程序员必知的几个库 1.C++各大有名库的介绍——C++标准库 2.C++各大有名库的介绍——准标准库Boost 3.C++各大有名库的介绍——GUI 4.C++各大有名库的介绍——网络通信 5.C++各大有名库的介绍——XML 6.C++各大有名库的介绍——科学计算 7.C++各大有名库的介绍——游戏开发 8.C++各大有名库的介绍——线程 9.C++各大有名库的介绍——序列化 10.C++各大有名库的介绍——字符串 11.C++各大有名库的介绍——综合 12.C++各大有名库的介绍——…
程序员必知的LinuxShell命令 grep (Globle Regular Expression Print全局正则表达式) 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来 -c:只输出匹配行的计数. -I:不区分大 小写(只适用于单字符). -h:查询多文件时不显示文件名. -l:查询多文件时只输出包含匹配字符的文件名. -n:显示匹配行及 行号. -s:不显示不存在或无匹配文本的错误信息. -v:显示不包含匹配文本的所有行. pattern正则表达式主要…
不管是在哪里,不管发生什么事,不要随便放下自己. ——<当男人恋爱时> 很多求职者都会面临一个问题:别人手拿大把大把的offer了,而自己却是两手空空,别人签约之后已经过着“猪狗不如”的悠闲生活了,自己还在为饭碗流血流汗.东奔西走,于是心急如焚,开始变得不淡定,浮躁.焦虑,大有泰山压顶的感觉.其实,人比人,比死人,更何况人外有人,山外有山,自己不如别人难道不是一件很稀松平常的事情吗?而且,当我们眺望远方的时候,近处的风景便看不清了:当我们看到别人长处的时候,自己的优点便不入法眼了.所以,不要过…
本文关注的主要是python陷阱,具体而言,是指CPython,而且除非特别说明,所有代码示例都是在python2.7运行的. 我个人对陷阱的定义是这样的:代码看起来可以工作,但不是以你“想当然“”的方式.如果一段代码直接出错,抛出了异常,我不认为这是陷阱.比如,Python程序员应该都遇到过的“UnboundLocalError", 示例: >>> a=1 >>> def func(): ...     a+=1 ...     print a ... &g…
Java常用的八种排序算法与代码实现 排序问题一直是程序员工作与面试的重点,今天特意整理研究下与大家共勉!这里列出8种常见的经典排序,基本涵盖了所有的排序算法. 1.直接插入排序 我们经常会到这样一类排序问题:把新的数据插入到已经排好的数据列中.将第一个数和第二个数排序,然后构成一个有序序列将第三个数插入进去,构成一个新的有序序列.对第四个数.第五个数……直到最后一个数,重复第二步.如题所示: 直接插入排序(Straight Insertion Sorting)的基本思想:在要排序的一组数中,假…
8种排序之间的关系 直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数 也是排好顺序的.如此反复循环,直到全部排好顺序. (2)实例 (3)用java实现 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 public class insertSort {     public insertSort(){         int a[]={49,38,65,97,76,13,27…
先来看看8种排序之间的关系: 1,  直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数 也是排好顺序的.如此反复循环,直到全部排好顺序. (2)实例 (3)用java实现 public static int[] insertSort(int a[]) { int temp = 0; for (int i = 1; i < a.length; i++) { int j = i - 1; t…
谷歌Chrome浏览器是网络上可用的最好浏览器之一,并且自2011年11月超越了Firefox浏览器之后,已经成为了互联网上占主导地位的浏览器.今天,HTML5中国与大家分享一些实用的谷歌Chrome浏览器扩展,可以助我们有效提高工作效率. Devtools Terminal ——浏览器终端.牛逼的不得了! LiveReload——为官方LiveReload应用程序(Mac和Windows)和第三方,例如guard-livereload和yeoman,提供Chrome浏览器集成. Browser…
mysql 官网 https://www.mysql.com/ 官网布局很简单, 其中常用的两块就是下载和文档这两块, 其中下载没什么可讲的, 本次重点依旧是文档. 首页 mysql 文档导航页 https://dev.mysql.com/doc/, 点击官网中的文档就能进入到下面的页面, mysql把内容分成了好几大块,第一块内Mysql 服务应用, 是所有内容里面最核心的.其他几块内容在第一块内容里面都有涉及, 稍后我们来看一下. 文档页导航 点开第一块内容的引用手册, 可以看到下面关于my…
1.C#,.Net和ASP.Net的区别: C#(Csharp):  .net平台下的一种语言:注:(其他语言也可以开发.Net程序)                   .net      :     是一个平台,提供运行.net程序,所需要的一种虚拟机,内库等!        Asp.net  :     在.net环境下开发网站的技术. 注:.Net可以通过mono跨平台进行开发 2.开发工具: 1.Visual Studio 是微软官方提供的一种开发工具 2.运行.Net程序 需要依靠 …
先来看看8种排序之间的关系:…
单人开发 1.初始化一个仓库 git init //cd到你工作的文件夹,初始化git仓库,默认会生成.git隐藏目录 2.配置自己的信息(Git 不喜欢不愿透漏姓名的人) git config --global user.name "你的姓名" git config --global user.email '你的邮箱' git remote add origin 'url' //配置推到远程仓库的地址 注:有些文件是我们不希望git来托管的(如github就不能接受过大的文件) 添加…
1. MySQL主从同步实现方式 MySQL主从同步是基于Bin Log实现的,而Bin Log记录的是原始SQL语句. Bin Log共有三种日志格式,可以binlog_format配置参数指定. 参数值 含义 Statement 记录原始SQL语句,会导致更新时间与原库不一致.比如 update_time=now() Row 记录每行数据的变化,保证了数据与原库一致,缺点是数据量较大. Mixed Statement和Row的混合模式,默认采用Statement模式,涉及日期.函数相关的时候…
调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试技巧,保证让你受益匪浅! [CSDN.NET 张红月/编译] 调试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序.但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运行时上面. 在开始之前,推荐大家去看看Ec…
1. android 单实例运行方法 我们都知道 Android 平台没有任务管理器,而内部 App 维护者一个 Activity history stack 来实现窗口显示和销毁,对于常规从快捷方式运行来看都是 startActivity 可能会使用 FLAG_ACTIVITY_NEW_TASK 标记来打开一个新窗口,比如 Launcher,所以考虑单任务的实现方法比较简单,首先 Android123 纠正下大家一种错误的方法就是直接在androidmanifest.xml 的 applica…
 来源:网络 嵌入式程序员应知道的0x10个基本问题 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的.3) 意识到这个表达式将使一个16位机…
[1].[代码] [C/C++]代码 跳至 [1] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77…
最几年,PHP已经成为最受欢迎的一种有效服务器端编程语言.据2013年发布的一份调查报告显示,PHP语言已经被安装在全球超过2.4亿个网站以及210万台Web服务器之上.PHP代表超文本预处理器,它主要用于创建动态网页.当然,PHP还有许多其他用途,在Web开发人员中具有极高的人气.随着相关技术在各个领域的不断发展,PHP开发人员目前拥有非常旺盛的市场需求. PHP库在扩展该语言的核心功能方面具有重要的作用.对于程序员来说,库是非常有用的资源,其中包含了预先写好的代码.类.值.消息模板和配置数据…
程序员必看:如何降低APP软件开发的成本? 作为一名曾经的程序猿,一直想写一点东西给大家分享一下,今天终于动笔了,写写我们在开发的过程中怎样才能更快更好的进行开发,降低app开发成本.无论是个人开发者,还是公司的技术人员,成本是需要考虑的一个很关键的因素,充分考虑成本,降低生产成本之后才会获得相应的竞争优势.如何降低APP软件开发的成本?听我慢慢给您说. 1. 良好的功能需求文档 没有文档化的需求,系统就存在不能满足客户期望的隐患.“比如,也许它不能按照客户认为应该的方式工作,即便是开发团队认为…
似乎由于受这篇文章的影响 http://katemats.com/what-every-programmer-should-know-about-seo/ 于是我也觉得我应该写一个每一个程序猿必知之SEO.作为一个擅长前端兼SEO的设计师. 搜索引擎是如何工作的 假设你有时间,能够读一下谷歌的框架: http://infolab.stanford.edu/~backrub/google.html 这是一个老的,有些过时纸.但非常平易近人,甚至在我们中间的非白皮书的读者图标微笑什么每一个程序猿都应…
56页     第4章DOS和BIOS接口     本章介绍了用户程序访问DOS内核和BIOS所提供的各种服务的方法.为了访问这 些服务,我们可以从任何编程语言中调用各个软件中断,这些中断便是我们在本书中要重 点地讨论的内容.用户当然不必了解访问系统资源的所有细节,但要入门,确实要学习相 当多的这方面知识.       本书重点介绍的是四种编程语言:汇编语言.C(极c++).Pascal和BASIC.所讨论 的实现程序分别有Microsoft Macro Assembler(宏汇编).Micro…
据说年薪30万的Android程序员必须知道的帖子 标签: android 2015-03-12 16:52 28705人阅读 评论(14) 收藏 举报 Android中国开发精英 目前包括: Android开源项目第一篇——个性化控件(View)篇       包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipVi…