- Adnroid文件存储路径getFilesDir()与getExternalFilesDir的区别
皓皓amous
作为一个开发者,我们经常需要通过缓存一些文件到SD卡中,常见的方式就是,通过:FilesdCard=Environment.getExternalStorageDirectory();获取SD卡根目录,然后自定义文件/文件名进行文件存储.这样做法的结果就是,当手机安装了大量的app时,SD卡根目录会迅速变得杂乱不堪。并且在API6.0之后,根目录文件存储是需要用户授权的,就算你在AndroidMa
- Unity2022.3.15+Android Studio发布Google市场AAB包
蒙双眼看世界
androidstudioandroidide
在尝试去发布AAB包经历,中间也在不断地解决各种配置问题。采用通过Unity发布AndroidStudio工程,然后在AndroidStudio工程再做证书相关的设置一、Unity导出Adnroid工程发布前先设置64位运行环境,否则打包出来的应用会弹出提示:“该应用未适配本机64位处理器”接着通过勾选ExportProject导出工程项目二、AdnroidStudio打开工程这个时候成功导出Ad
- CordovaAndroid项目部分原理解析
键盘之下无新事儿
CordovaAndroid项目源码不完整类图:Cordova——Android类图.pngCordovaAdnroid项目源码启动时序图(不完整):Corodva——启动图.pngCordovaAdnroid项目源码Js端与Navtive端交互时序图(不完整):Cordova——JS端与Native交互时序图.png
- Adnroid系统分布式编译: Ubuntu系统,ccache + distcc + rant
ace_an
编译Android分布式ubuntuandroidcc++
背景:Android工程代码量很大,在普通的个人PC上编译甚至在配置较低的服务器上的编译速度都非常慢,通常完全编译在1h~3h左右。为了加快编译速度,想到了建立distcc分布式编译环境。工具:DISTCC:一个非常快且免费的分布式C/C++编译工具,它可以实现将本地机器的编译任务分配到一台或多台远程服务器上进行编译,完成后再发送回本地机器进行连接。它旨在充分利用局域网内所有PC机器的CPU和Me
- flutter + firebase 云消息通知教程 (android-安卓、ios-苹果)
玫瑰花开一片一片
flutterxcodeandroidios
如果能看到这篇文章的一定已经对手机端的消息推送通知有了一定了解。国内安卓厂商这里不提都有自己的FCM可自行查找。(国内因无法科学原因,不能使用谷歌服务)只说海外的。目前adnroid和ios推送消息分别叫FCM和APNs。这里通过google的firebase分别向两个平台同时推送消息只需要配置一套服务便可以。(firebase推送消息服务免费-它除消息推送还有很多服务收费+)跟多产品了解http
- Android---彻底掌握 Handler
别偷我的猪_09
#Android进阶android
Handler现在几乎是Android面试的必问知识点,大多数Adnroid工程师都在项目中使用过Handler。主要场景是子线程完成耗时操作的过程中,通过Handler向主线程发送消息Message,用来刷新UI界面。下面我们来了解Handler的发送消息和处理消息的源码实现。分析源码的时候最好找到一个合适的切入点,Handler源码的一个切入点就是它的默认构造器。从newHandler开始在无
- Android studio百度地图开发获取SHA1码值
从新开始学android
首先打开androidstudio的Terminal窗口进入到控制台1、cd到cdUsers\Administrator接着输入命令cdUsers\Administrator其中Administrator是自己的用户名我这里是wanggAdministrator文件下有个.adnroid文件,输入命令cd.android,最后就找到了.android,如图:输入命令keytool-list-v-k
- APP逆向基础(APK流程)
Python9724
pythonjava
APK的基本结构Android体系结构和APK基本结构-CSDN博客APK打包流程【Android安装包优化】APK打包流程(文件结构|打包流程|安装流程|安卓虚拟机)_adnroid安装包优化,打指定资源_韩曙亮的博客-CSDN博客APK安装流程
- Adnroid MK BP Stub编译jar包隐藏方法具体实现
xuyewen288
android系统android
Stub编译android.mk和android.bp编译生成的jar包隐藏方式具体实现举例说明Android.mk需要加的#Note:Themaketargetisandroid.car-stub-docsLOCAL_MODULE:=android.car-stubLOCAL_DROIDDOC_OPTIONS:=\-stubs$(callintermediates-dir-for,JAVA_LI
- Adnroid 卡顿分析与布局优化
a136447572
android-文字笔记andriodandroid布局优化卡顿监测
1卡顿分析1SystraceSystrace是Android平台提供的一款工具,用于记录短期内的设备活动,其中汇总了Android内核中的数据,例如CPU调度程序,磁盘活动和应用程序,Systrace主要用来分析绘制性能方面的问题,在发生卡顿时,通过这份报告,可以知道当前整个系统所处的状态,从而帮助开发者更直观的分析系统瓶颈,改进系统性能`2androidprofile中的cpu监测**App层面
- Android11 适配
Billy_Zuo
android
一、修改targetSdkVersion为30将build.gradle的目标版本targetSdkVersion修改为30(Android11)targetSdkVersion30Android11的改变改变主要影响以Adnroid11为目标版本的应用(targetSdkVersion>=30才有影响),和所有应用在Android11设备上适配改动(无论targetSdkVersion是多少,只
- 【PendingIntent FLAG_MUTABLE 和 FLAG_MUTABLE的区别】
阿波_!@
androidjava
最近在获通过NfcAdapter.aenableForegroundDispatch发现不能正确调度使用android.nfc,后来发现是Adnroid12以后PendingIntent的新特性导致。在代码中使用的是PendingIntent.FLAG_IMMUTABLE,此标志创建的PendingIntent是不可变的,而FLAG_MUTABLE是可变的。将FLAG_IMMUTABLE替换为FL
- Android JNI 问题 | missing and no known rule to make it |
WnniandaoYu
问题记录时间:2019/05/06问题详情Buildcommandfailed.ErrorwhileexecutingprocessD:\Android\sdk\cmake\3.10.2.4988404\bin\cmake.exewitharguments{--buildE:\0.WORK\AdnroidStudio_Project\AndroidNDKMyTest\app\.externalNa
- Adnroid存储之SharedPreferences
cat_coffee
昨天和朋友说到SharedPreferences的用法,顺便也自己回顾补习一下。因为很久没用了(没自己撸了,都是用的别人工具类)。首先回顾一下,android五大存储方式:一、使用SharedPreferences存储数据二、文本存储三、SqLite数据库存储四、继承方式的,ContentProvider存储五、网络存储以上就是基本的五种存储方式,那么今天,记录一下刚刚回顾的shreadPrefe
- Android 迁移到androidX教程 Kotlin支持androidX
蜗牛、Z
androidandroidandroidstudiogradle
背景:由于android前期在使用上存在差异化管理,在后期会出现各种冲突问题。google在后期将库整合一个新库,adnroidX系列。相对原来的v4和v7,这样便于有效管理。AndroidX对原始Android支持库进行了重大改进,后者现在已不再维护。androidx软件包完全取代了支持库,不仅提供与支持库同等的功能,而且还提供了新的库。此外,AndroidX还包括以下功能:AndroidX中的
- adnroid 11. 0 Activity启动流程图解
飞yu流星
流程图Android图解
从Launcher到ActivityTaskManager从ActivityTaskManagerService到ApplicationThread从ApplicationThread到onCreate
- 【Android】红米5Note Android9.0版本横竖屏切换
秀叶寒冬
本文主要是验证红米5NoteAndroid9.0版本横竖屏切换问题1背景第一个问题网上查询资料说Andorid3.2以前的SDK可以使用如下配置防止横竖屏切换重新创建Activityandroid:configChanges="orientation|keyboardHidden"Adnroid3.2以后的SDK必须添加一个screenSize属性才能防止横竖屏切换重新创建Activityandr
- Android 源码中添加一个产品
佳朗
Android系统android
在系统源码中新增一个产品,源码下载可参考通过aosp-latest下载Android源码。本文基于Adnroid9.0系统。步骤首先,在deivice目录下,创建目录twitter/m20。一般目录命名规则为:公司名/产品名。然后,在新目录下创建m20.mk、vendorsetup.sh、BoardConfig.mk、AndroidProduct.mk。vendorsetup.sh添加产品启动名称
- Android——8种通知栏-适配 Adnroid12
PlayfulKing
GT使用教程androidjava开发语言
GT库在很早的版本里就有出通知栏封装方法,但使用起来非常有局限性,接下来咋们来看看新版GT库里的8种通知栏,是如何实现的。通知栏效果图:(博主真机一加10TproAdnroid版本12)目录通知栏效果图:(博主真机一加10TproAdnroid版本12)使用GT库里的,当然需要先依赖好GT库啦:第一种:最为常见的普通通知栏第二种:大图通知栏第三种:长文本通知栏第四种:长文本条通知栏第五种:消息通知
- Android异步处理技术(二)
Kinton
异步处理技术(二)写在前面前文写了adnroid的前三种异步处理技术,而且前文结尾也说了在这篇会总结后面三种技术,不多说就直接点吧。ExecutorFrameworkExecutor框架是一使用线程池来解决频繁创建销毁线程而导致应用性能下降的问题,它可以提供以下能力:创建线程池,同时通过队列开控制能够执行的任务的个数可以检测导致线程意外终止的错误等待线程执行完成并获取执行结果可以批量执行任务,并且
- Android-全自动埋点方法论-下
AnonyPer
前面提到了全自动埋点的范围和方法,这个章节主要记录一下关于点击事件采集的相关方法论。Android开发基础知识需要先说明几个基础的知识,这样对于无码采集的方法论理解就更清晰,这也是做一个事情分析的逻辑。Adnroid开发基于java代码(常规)Android的基础语言是java语言,java语言的开发流程包括java代码-class文件-运行Android安装包apk构建打包是将上述class代码
- adnroid 系统OTA升级
m0_71008721
android1024程序员节
OTA功能,主要用于修复bug、系统升级等。一.OTA升级包分为整体完全升级包和增量升级包,增量升级包需要增量编译(编译脚本的修改),相比完全升级包,升级包的体积更小。整体完全升级包优势:使用全包的优势在于无需对应版本号,可以直接从任何之前的版本升级到OTA包中的版本。劣势:全包所占的空间比较大,升级时间较长。全编项目版本,然后使用指令,即可制作ota全包makeotapackageout目录下生
- 关于adnroidStudio一直提示Task 'generateDebugSources' not found in project ':app'
有时有晌
Android
AS中踩的这个坑儿在项目中碰到了,我在gradlesyc之后出现了这个东西,而且无法再次syc,cleanbulid完全不在生效即使执行也是提示Task‘generateDebugSources’notfoundinproject‘:app’。后来注意到在代码框上方始终提示一个Gradleprojectsycinprogressgradle始终在syc不曾停止,那么问题貌似就清楚了。比较坑的是并没
- Adnroid持久化数据存储SharedPreferences
Spencer_wu
零、难过的我做了7年iOS,3年的app,4年的游戏SDK,受不了某些大厂的内卷,找了个离家近的小公司,可他们让我做iOS+Android,我哪会啊!可是不努力就被吸,所以老老实实来学习了。第一个Android项目,就是之前的大兄弟写的登录sdk,虽然我不是很懂安卓,但我也知道,不会有人仅仅存用户名和密码,就用txt文件吧,还存到SD卡,这不是胡闹吗。于是查找有没有类似iOS中NSUserDefa
- adnroid SoundPool短提示音播放
飞天_shine
一、SoundPool相对于MediaPlayer的优点1.SoundPool适合短且对反应速度比较高的情况(游戏音效或按键声等),文件大小一般控制在几十K到几百K,最好不超过1M,2.SoundPool可以与MediaPlayer同时播放,SoundPool也可以同时播放多个声音;3.SoundPool最终编解码实现与MediaPlayer相同;4.MediaPlayer只能同时播放一个声音,加
- Adnroid打开网页-打包app来体验手机网站
蒙双眼看世界
记录为主,直接上代码吧。packagecom.example.myapplication;importandroid.app.Activity;importandroid.net.http.SslError;importandroid.os.Build;importandroid.os.Bundle;importandroid.webkit.SslErrorHandler;importandroi
- Adnroid WebView
舒童1024
AndroidwebView注意问题//解决图片不显示webView.getSettings().setBlockNetworkImage(false);//启用地理定位webSettings.setGeolocationEnabled(true);//启用数据库webSettings.setDatabaseEnabled(true);//启用地理定位Stringdir=this.getAppli
- AndroidStudio 3.0 NDK环境搭建
hero的技术小黑屋
前言网上关于NDK开发环境配置的相关博客已经很多,但是很少有关于NDK在AdnroidStduio3.0以上的环境搭建相关的博客.所以特此记录下.首先是对NDK的介绍,先对NDK有个初步的印象:NDK(NativeDevelopmentkit)是一个工作集,为了能让开发者可以更加直接的接触Android硬件资源和方便地使用传统的C/C++语言编写代码,NDK应运而生。在NDK公布以前,Androi
- Android UI渲染优化
AlvinShen
首先要知道绘制渲染中,主要耗时的是哪些地方:1.CPU的计算时间1.1优化点:减少View层级,加速measure、layout的时间1.2怎么发现:通过工具HierarchyViewer检测View树层级,以及查看个View、ViewGroup的Measure、Layout、Draw所花的时间。1.3工具位置:Androidstudio,Adnroid-device-monitor,Hierar
- Adnroid MVP模式简介
已换号
简称:MVP全称:Model-View-Presenter;MVP是从经典的模式MVC演变而来,它们的基本思想有相通的地方,Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示模式特点1.MVP是根据MVC演变而来mvc.jpg3.在MVC中,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的会包括一些业务逻辑。在MVC模型
- 关于旗正规则引擎规则中的上传和下载问题
何必如此
文件下载压缩jsp文件上传
文件的上传下载都是数据流的输入输出,大致流程都是一样的。
一、文件打包下载
1.文件写入压缩包
string mainPath="D:\upload\"; 下载路径
string tmpfileName=jar.zip; &n
- 【Spark九十九】Spark Streaming的batch interval时间内的数据流转源码分析
bit1129
Stream
以如下代码为例(SocketInputDStream):
Spark Streaming从Socket读取数据的代码是在SocketReceiver的receive方法中,撇开异常情况不谈(Receiver有重连机制,restart方法,默认情况下在Receiver挂了之后,间隔两秒钟重新建立Socket连接),读取到的数据通过调用store(textRead)方法进行存储。数据
- spark master web ui 端口8080被占用解决方法
daizj
8080端口占用sparkmaster web ui
spark master web ui 默认端口为8080,当系统有其它程序也在使用该接口时,启动master时也不会报错,spark自己会改用其它端口,自动端口号加1,但为了可以控制到指定的端口,我们可以自行设置,修改方法:
1、cd SPARK_HOME/sbin
2、vi start-master.sh
3、定位到下面部分
- oracle_执行计划_谓词信息和数据获取
周凡杨
oracle执行计划
oracle_执行计划_谓词信息和数据获取(上)
一:简要说明
在查看执行计划的信息中,经常会看到两个谓词filter和access,它们的区别是什么,理解了这两个词对我们解读Oracle的执行计划信息会有所帮助。
简单说,执行计划如果显示是access,就表示这个谓词条件的值将会影响数据的访问路径(表还是索引),而filter表示谓词条件的值并不会影响数据访问路径,只起到
- spring中datasource配置
g21121
dataSource
datasource配置有很多种,我介绍的一种是采用c3p0的,它的百科地址是:
http://baike.baidu.com/view/920062.htm
<!-- spring加载资源文件 -->
<bean name="propertiesConfig"
class="org.springframework.b
- web报表工具FineReport使用中遇到的常见报错及解决办法(三)
老A不折腾
finereportFAQ报表软件
这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、repeated column width is largerthan paper width:
这个看这段话应该是很好理解的。比如做的模板页面宽度只能放
- mysql 用户管理
墙头上一根草
linuxmysqluser
1.新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into mysql.user(Host,User,Password) values(‘localhost’,'jeecn’,password(‘jeecn’));//刷新系统权限表mysql>flush privileges;这样就创建了一个名为:
- 关于使用Spring导致c3p0数据库死锁问题
aijuans
springSpring 入门Spring 实例Spring3Spring 教程
这个问题我实在是为整个 springsource 的员工蒙羞
如果大家使用 spring 控制事务,使用 Open Session In View 模式,
com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.
- 百度词库联想
annan211
百度
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RunJS</title&g
- int数据与byte之间的相互转换实现代码
百合不是茶
位移int转bytebyte转int基本数据类型的实现
在BMP文件和文件压缩时需要用到的int与byte转换,现将理解的贴出来;
主要是要理解;位移等概念 http://baihe747.iteye.com/blog/2078029
int转byte;
byte转int;
/**
* 字节转成int,int转成字节
* @author Administrator
*
- 简单模拟实现数据库连接池
bijian1013
javathreadjava多线程简单模拟实现数据库连接池
简单模拟实现数据库连接池
实例1:
package com.bijian.thread;
public class DB {
//private static final int MAX_COUNT = 10;
private static final DB instance = new DB();
private int count = 0;
private i
- 一种基于Weblogic容器的鉴权设计
bijian1013
javaweblogic
服务器对请求的鉴权可以在请求头中加Authorization之类的key,将用户名、密码保存到此key对应的value中,当然对于用户名、密码这种高机密的信息,应该对其进行加砂加密等,最简单的方法如下:
String vuser_id = "weblogic";
String vuse
- 【RPC框架Hessian二】Hessian 对象序列化和反序列化
bit1129
hessian
任何一个对象从一个JVM传输到另一个JVM,都要经过序列化为二进制数据(或者字符串等其他格式,比如JSON),然后在反序列化为Java对象,这最后都是通过二进制的数据在不同的JVM之间传输(一般是通过Socket和二进制的数据传输),本文定义一个比较符合工作中。
1. 定义三个POJO
Person类
package com.tom.hes
- 【Hadoop十四】Hadoop提供的脚本的功能
bit1129
hadoop
1. hadoop-daemon.sh
1.1 启动HDFS
./hadoop-daemon.sh start namenode
./hadoop-daemon.sh start datanode
通过这种逐步启动的方式,比start-all.sh方式少了一个SecondaryNameNode进程,这不影响Hadoop的使用,其实在 Hadoop2.0中,SecondaryNa
- 中国互联网走在“灰度”上
ronin47
管理 灰度
中国互联网走在“灰度”上(转)
文/孕峰
第一次听说灰度这个词,是任正非说新型管理者所需要的素质。第二次听说是来自马化腾。似乎其他人包括马云也用不同的语言说过类似的意思。
灰度这个词所包含的意义和视野是广远的。要理解这个词,可能同样要用“灰度”的心态。灰度的反面,是规规矩矩,清清楚楚,泾渭分明,严谨条理,是决不妥协,不转弯,认死理。黑白分明不是灰度,像彩虹那样
- java-51-输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
bylijinnan
java
public class PrintMatrixClockwisely {
/**
* Q51.输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
例如:如果输入如下矩阵:
1 2 3 4
5 6 7 8
9
- mongoDB 用户管理
开窍的石头
mongoDB用户管理
1:添加用户
第一次设置用户需要进入admin数据库下设置超级用户(use admin)
db.addUsr({user:'useName',pwd:'111111',roles:[readWrite,dbAdmin]});
第一个参数用户的名字
第二个参数
- [游戏与生活]玩暗黑破坏神3的一些问题
comsci
生活
暗黑破坏神3是有史以来最让人激动的游戏。。。。但是有几个问题需要我们注意
玩这个游戏的时间,每天不要超过一个小时,且每次玩游戏最好在白天
结束游戏之后,最好在太阳下面来晒一下身上的暗黑气息,让自己恢复人的生气
&nb
- java 二维数组如何存入数据库
cuiyadll
java
using System;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
namespace WindowsFormsApplication1
{
- 本地事务和全局事务Local Transaction and Global Transaction(JTA)
darrenzhu
javaspringlocalglobaltransaction
Configuring Spring and JTA without full Java EE
http://spring.io/blog/2011/08/15/configuring-spring-and-jta-without-full-java-ee/
Spring doc -Transaction Management
http://docs.spring.io/spri
- Linux命令之alias - 设置命令的别名,让 Linux 命令更简练
dcj3sjt126com
linuxalias
用途说明
设置命令的别名。在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。虽然可以为命令建立“链接”解决长文件名的问 题,但对于带命令行参数的命令,链接就无能为力了。而指定别名则可以解决此类所有问题【1】。常用别名来简化ssh登录【见示例三】,使长命令变短,使常 用的长命令行变短,强制执行命令时询问等。
常用参数
格式:alias
格式:ali
- yii2 restful web服务[格式响应]
dcj3sjt126com
PHPyii2
响应格式
当处理一个 RESTful API 请求时, 一个应用程序通常需要如下步骤 来处理响应格式:
确定可能影响响应格式的各种因素, 例如媒介类型, 语言, 版本, 等等。 这个过程也被称为 content negotiation。
资源对象转换为数组, 如在 Resources 部分中所描述的。 通过 [[yii\rest\Serializer]]
- MongoDB索引调优(2)——[十]
eksliang
mongodbMongoDB索引优化
转载请出自出处:http://eksliang.iteye.com/blog/2178555 一、概述
上一篇文档中也说明了,MongoDB的索引几乎与关系型数据库的索引一模一样,优化关系型数据库的技巧通用适合MongoDB,所有这里只讲MongoDB需要注意的地方 二、索引内嵌文档
可以在嵌套文档的键上建立索引,方式与正常
- 当滑动到顶部和底部时,实现Item的分离效果的ListView
gundumw100
android
拉动ListView,Item之间的间距会变大,释放后恢复原样;
package cn.tangdada.tangbang.widget;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import andr
- 程序员用HTML5制作的爱心树表白动画
ini
JavaScriptjqueryWebhtml5css
体验效果:http://keleyi.com/keleyi/phtml/html5/31.htmHTML代码如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="UTF-8" >
<ti
- 预装windows 8 系统GPT模式的ThinkPad T440改装64位 windows 7旗舰版
kakajw
ThinkPad预装改装windows 7windows 8
该教程具有普遍参考性,特别适用于联想的机器,其他品牌机器的处理过程也大同小异。
该教程是个人多次尝试和总结的结果,实用性强,推荐给需要的人!
缘由
小弟最近入手笔记本ThinkPad T440,但是特别不能习惯笔记本出厂预装的Windows 8系统,而且厂商自作聪明地预装了一堆没用的应用软件,消耗不少的系统资源(本本的内存为4G,系统启动完成时,物理内存占用比
- Nginx学习笔记
mcj8089
nginx
一、安装nginx 1、在nginx官方网站下载一个包,下载地址是:
http://nginx.org/download/nginx-1.4.2.tar.gz
2、WinSCP(ftp上传工
- mongodb 聚合查询每天论坛链接点击次数
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
/* 18 */
{
"_id" : ObjectId("5596414cbe4d73a327e50274"),
"msgType" : "text",
"sendTime" : ISODate("2015-07-03T08:01:16.000Z"
- java术语(PO/POJO/VO/BO/DAO/DTO)
Luob.
DAOPOJODTOpoVO BO
PO(persistant object) 持久对象
在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作.
VO(value object) 值对象
通
- 算法复杂度
Wuaner
Algorithm
Time Complexity & Big-O:
http://stackoverflow.com/questions/487258/plain-english-explanation-of-big-o
http://bigocheatsheet.com/
http://www.sitepoint.com/time-complexity-algorithms/