201609-20 Android开发必须把握的七大开源项目 HOT 1,LoginButtons编写各类展示效果,项目代码量比较少,也很适合新手学习。2,MaterialAnimations演示View的平移、缩放动画,activity进入和退出动画,界面间元素共享,并且开发者在README中,对动画原理进行了精讲,是学习动画很好的项目,项目代码量比较少,也很适合新手学习。3,Meizhi每天推送一张妹子图、一个小视频和一系列程序员精选文章,数据来源于代码家的干货集中营。唯一不足就是视频解析还有bug,声音视频无... 继续阅读 >
201609-14 Python利用ctypes提高执行速度 HOT ctypes库可以让开发者借助C语言进行开发。这个引入C语言的接口可以帮助我们做很多事情,比如需要调用C代码的来提高性能的一些小型问题。通过它你可以接入Windows系统上的kernel32.dll和msvcrt.dll动态链接库,以及Linux系统上的libc.so.6库。当然你也可以使用自己的编译好的共享库我们先来看一个简单的例子我们使用Python求1000000以内素数,重复这个过程10次,并计算运行时间。importmathfromtimeitimporttimeit... 继续阅读 >
201609-07 Android自定义控件常用方法总结 inflateinflate方法常常用来解析一个xml布局文件,在自定义组合式控件中常常使用,使用的姿势包括:View.inflate(context,resource,root)LayoutInflater.from(getContext()).inflate(resource,root);而View.inflate其实还是调用的LayoutInflater去解析一个xml:publicstaticViewinflate(Contextcontext,intresource,ViewGrouproot){LayoutInflaterfactory=LayoutInflater.from(context);returnf... 继续阅读 >
201609-06 你应该知道的计算机网络知识 前言作为一名程序员,不可能不与网络打交道.现在我们的手机,电脑,不夸张地说,离开了网络就是一块'废铁',它们的作用将大打折扣..本文的作用呢,主要是针对不是非网络专业开发的人员准备的,以'最短的时间,了解计网最多的知识'为前提起笔.目录概述物理层数据链路层网络层传输层应用层概述先来了解下各种我们知道,但是不太了解的专业名词的意思因特网因特网因特... 继续阅读 >
201609-05 你真的了解一段Java程序的生命史吗 作为一名程序猿,我们每天都在写Code,但你真的了解它的生命周期么?今天就来简单聊下它的生命历程,说起一段JavaCode,从出生到gameover大体分这么几步:编译、类加载、运行、GC。 编译Java语言的编译期其实是一段“不确定”的过程,因为可能是一个前端编译器把.java文件转变为.class文件的过程;也可能是指JVM的后端运行期编译器(JIT编译器)把字节码转变为机器码的过程;还可能是指使用静态... 继续阅读 >
201608-31 C语言可以开发哪些项目? C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中……,这些迷茫也导致了我们在学习的过程中不知道如何学、学什么,所以,总结这个列表,希望对C语言初学者可以有所帮助~C语言可以做什么?从最简单的、最熟悉的说起吧,毕竟我们在学校学习的时候,老师几乎都会让我们去开发:一、C语言可以实现一些常... 继续阅读 >
201608-30 java和CPU到底有多少关系 其实写Java的人貌似和CPU没啥关系,最多最多和我们在前面提及到的如何将CPU跑满、如何设置线程数有点关系,但是那个算法只是一个参考,很多场景不同需要采取实际的手段来解决才可以;而且将CPU跑满后我们还会考虑如何让CPU不是那么满,呵呵,人类,就是这么XX,呵呵,好了,本文要说的是其他的一些东西,也许你在java的写代码时几乎不用关注CPU,因为满足业务才是第一重要的事情,如果你要做到框架级别,为框架提供很多共享数据缓... 继续阅读 >
201608-25 iOS之同步请求、异步请求、GET请求、POST请求 1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作,2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节;4、POST请求,将参数放到body里面。POST请求操作相对复杂,需要将参数和地... 继续阅读 >
201608-25 iOS 常见知识点 锁是最常用的同步工具。一段代码段在同一个时间只能允许被有限个线程访问,比如一个线程A进入需要保护代码之前添加简单的互斥锁,另一个线程B就无法访问,只有等待前一个线程A执行完被保护的代码后解锁,B线程才能访问被保护代码。iOS中的八大锁NSLock@protocolNSLocking-(void)lock;-(void)unlock;@end@interfaceNSLock:NSObject<NSLocking>{@privatevoid*_priv;}-(BOOL)tryLock;-(BOOL)lockBeforeDate... 继续阅读 >
201608-25 Android的线程和线程池 HOT (1)在Java中默认情况下一个进程只有一个线程,也就是主线程,其他线程都是子线程,也叫工作线程。Android中的主线程主要处理和界面相关的事情,而子线程则往往用于执行耗时操作。线程的创建和销毁的开销较大,所以如果一个进程要频繁地创建和销毁线程的话,都会采用线程池的方式。(2)在Android中除了Thread,还有HandlerThread、AsyncTask以及IntentService等也都扮演着线程的角色,只是它们具有不同的特性和使用场景。AsyncTa... 继续阅读 >
201608-16 最近十年,编程领域有什么重大变化? 如今各种智能设备层出不穷,编程培训学校如雨后春笋般大量涌出,自然也为IT领域输送了大批的编程人才。那么,在这个互联网/移动互联网崛起的时代,编程领域发生了哪些变化,又取得了哪些重要进展呢?知乎各路大神给出了自己的见解,我们一起看下。注:本文由DEV小编整理自知乎,本着分享的原则整理发布,以下回答内容版权归原作者所有。@caoglish 作者分析的比较详细全面,还给学生们提出了一些建议:编程语言层出不穷... 继续阅读 >
201608-12 Android 开发中不可不知的小技巧 这里收集了大家常用的一些Android代码,持续更新中,内容来自自己的平时积累和网络上看到的文章,部分原文地址在最下方。如有错误欢迎指正,如有侵权,请联系我删除。里面可能会有重复内容,请忽略或者提醒我删除。setBackgroundResource(0)可以移除View的背景色Resources.getSystem().getDisplayMetrics().density可以不用Context也能获取屏幕密度哦通过重载ViewGroup的dispatchDraw... 继续阅读 >
201608-09 Java 8的五大开发技巧 我使用Java8编码已经有些年头,既用于新的应用程序,也用来迁移现有的应用,感觉是时候写一些我发现的非常有用的“最佳实践”。我个人并不喜欢“最佳实践”这个说法,因为它意味着“一刀切”的解决方案,而编码不可能是这样的工作方式——我们需要亲自去发现什么样的解决方案才是有效的。但是我发现了一些Java8代码中可以帮助我们的一些选择,让我们一起来看看吧。1.Optional... 继续阅读 >
201608-05 Python 超详细的入门教程 为什么使用Python 假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200. 思路:用shell编程.(Linux通常是bash而Windows是批处理脚本).例如,在Windows上用pingip的命令依次测试各个机器并得到控制台输出.由于ping通的时候控制台文本通常是"Replyfrom..."而不通的时候文本是"timeout...",所以,在结果中进行字符串查... 继续阅读 >
201608-05 Python性能优化的建议 优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。合理使用copy与deepcopy对于dict和list等数据... 继续阅读 >
201608-03 Android 多线程编程的总结 前言这几天在研究Android的多线程方面的知识,阅读了许多大牛的文章,发现Android的多线程方式挺多的,关于各种方式的优缺点也都各有看法,所以这部分的知识还是很容易令人觉得混乱的,所以自己梳理了相关知识,用自己的角度去简单总结这些知识,巩固自己知识的同时也希望帮助到其他人。首先,从两个问题入手:我们为什么需要多线程机制?什么时候需要到多线程?答:1、因为Android官方明确声明在多线程编程时有两大原则:第一、... 继续阅读 >
201608-01 redis 常用命令 一:客户端启动redis./redis-server&二:在客户端打开redis操作窗口sudoredis-cli三:获取所有的keykeys*四:Hashes相关1:获取某个hash中全部的filed及value。hgetalluser2:设置hashfield为指定值,如果key不存在,则先创建。hsetmyhashfield1Hello3:同时设置hash的多个field。hmsetmyhashfield1Hellofield2World4:获取指定的hashfield: hgetmyhashfield 5:获取全部指定的hashfiled... 继续阅读 >
201607-30 Android组件化和插件化开发 什么是组件化和插件化?组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。插件化开发和组件化开发略有不用,插件化开发时将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和插... 继续阅读 >
201607-30 汇总Android Manifest 权限描述大全 权限名称描述android.permission.ACCESS_CHECKIN_PROPERTIES访问登记属性读取或写入登记check-in数据库属性表的权限android.permission.ACCESS_COARSE_LOCATION获取错略位置通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米android.permi... 继续阅读 >
201607-19 每一个C#开发者必须知道的13件事情 每一个C#开发者必须知道的13件事情1.开发流程程序的Bug与瑕疵往往出现于开发流程当中。只要对工具善加利用,就有助于在你发布程序之前便将问题发现,或避开这些问题。标准化代码书写标准化代码书写可以使代码更加易于维护,尤其是在代码由多个开发者或团队进行开发与维护时,这一优点更加突出。常见的强制代码规范化的工具有:FxCop、StyleCop和ReSharper。开发者语:在掩盖错误之前请仔细地思考这些错误,并且去分析结果。... 继续阅读 >
201607-07 coreseek中文全文检索引擎常见错误原因及解决方法 Coreseek是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景,用户可以免费下载使用本文为大家整理了coreseek/sphinx中文检索引擎的常见问题和解决方法,感兴趣的同学参考下。Coreseek是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立... 继续阅读 >
201607-07 2016最全面的编程语言技术开发视频+源码+技巧+软件+面试全汇总 HOT 如果您觉得这样教程对您有帮助。请关注下面“编程技巧”回复关键词“学习资料”即可获取全部资料如果您觉得这样教程对您有帮助。请关注下面“编程技巧”回复关键词“学习资料”即可获取全部资料 继续阅读 >
201607-06 构建高性能Java持久层的14个建议 Introduction一个高性能的数据访问层需要很多关于数据库的内部结构、JDBC、JPA、Hibernate以及很多优化商业应用的技术建议。SQLStatementLogging:SQL语句日志如果你正在使用譬如Hibernate或者MyBatis这样的ORM框架,那么可以参考验证执行语句的效率。另外推荐一个测试中断言机制可以帮你在提交代码之前就发现很多的查询问题。Connectionmanagement:连接管理数据库连接一直是数据库中比较耗时的操作,因... 继续阅读 >
201607-04 Java 并发学习笔记总结 并发最近重新复习了一边并发的知识,发现自己之前对于并发的了解只是皮毛。这里总结以下Java并发需要掌握的点。使用并发的一个重要原因是提高执行效率。由于I/O等情况阻塞,单个任务并不能充分利用CPU时间。所以在单处理器的机器上也应该使用并发。为了实现并发,操作系统层面提供了多进程。但是进程的数量和开销都有限制,并且多个进程之间的数据共享比较麻烦。另一种比较轻量的并发实现是使用线程,一个进程可以包含多个线程... 继续阅读 >