javascript
单例设计模式:
单例模式确保某个类只有一个势力,而且自行实例化并向整个系统提供这个实例。如:cocos2dx中的导演类。【例子】我有6哥漂亮的老婆,他们的老公都是我,我就是我们家里的老公signleton,她们只要说道“老公”,都是指的同一个人,那就是我。
代理设计模式:
代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
【例子】跟MM在网上聊天,一开头总是“hi, 你好”,“你从哪里来呀?”,“你多大了?”,“身高多少?是不是富二代?”,真心很烦人,写个程序作为我的proxy代理吧。凡是接收到这些话都设置好了自己的回答,接收到其他的话时在通知我回答,怎么样,酷不酷??
#include <Windows.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #pragma warning(disable:4996)//屏蔽vs 4996这个错误信息 typedef struct _PC_Client { void(*request)(); }PC_Client; void ftp_request() { printf("request from ftp!\n"); } void http_request() { printf("request from http!\n"); } void smtp_request() { printf("request from smtp!\n"); } typedef struct _Proxy { PC_Client* pClient; }Proxy; void process(Proxy* pProxy) { // assert(NULL != pProxy); pProxy->pClient->request(); } void main() { Proxy p1 ; p1.pClient = (PC_Client *)malloc(sizeof(PC_Client)); p1.pClient->request = smtp_request; process(&p1); free(p1.pClient); Proxy p2; p2.pClient = (PC_Client *)malloc(sizeof(PC_Client)); p2.pClient->request = http_request; process(&p2); free(p1.pClient); getchar(); }
openfire
Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。
Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。
由于是采用开放的XMPP协议,您可以使用各种支持XMPP协议的IM客户端软件登陆服务,
spark
im通讯客户端软件。
xmpp
XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展
以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了
针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。
传输的是与即时通讯相关的指令。在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行符的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。
ffmpeg c语言开发的多媒体框架
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。
多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。
android 万能播放器 vitamio
Vitamio是一款 Android 与 iOS 平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染。
Vitamio能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播。
tomcat服务器
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
JDBC
Java Data Base Connectivity;java数据库连接,由一些接口和类构成的api
j2se的一部分,由java.sql和javax.sql包组成。
sun设计接口, db公司提供各种驱动,实现sun的接口。
连接数据库的步骤:
注册驱动(只做一次)
建立连接(connection)
创建执行sql的语句(statement)
执行语句
处理执行结果(resultset)
释放资源
WCF
Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。
对于 WCF 的客户端来说,WCF 服务就像是一个 Web Service 一样,在 Visual Studio 2008 中,所有 WCF 服务的连接都是由客户端的 服务代理(WCF Service Proxy) 来运行,开发人员不用花费太多心思在通信上,而 WCF Service Proxy 在 Visual Studio 中被称为服务引用(Service Reference)。
在 Visual Studio 中加入 WCF 的服务引用时,Visual Studio 会自动帮开发人员做掉一些必要工作(例如组态创建以及产生 Service Proxy 等),开发人员只需要在代码中取用 WCF Service Proxy 对象即可。
Strom
分布式实时计算系统
流式计算框架
hadoop主要是应用于批量的离线计算
spark 主要擅长实时的迭代计算
kafka消息队列
Strom集群
Nimbus--集群主节点
Supervisor--集群从节点
windows与linux互相传输文件:
securtCRT:sftp
Alt+p
sftp>put F:/QQ.rar
linux下,jps命令,
我想很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其 id。 jps 也是一样,它的作用是显示当前系统的java进程情况,及其id号。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例),和他们的进程号(为下面几个程序做准备),并可通过opt来查看这些进程的详细启动参数。
大数据及hadoop简介
Hadoop是一个开源的可运行于大规模集群上的分布式文件系统和运算处理基础框架。
擅长于在廉价机器搭建的集群上进行海量数据(结构化与非结构化)的存储于离线处理。
1byte = 8bit;
Byte->KBb->MB->GB->TB->PB->EB->ZB->YB
海量数据如何存储
海量数据如何处理
海量数据如何分析
如何提高海量数据处理的速度???
nfs网络文件系统
怎样解决海量数据的计算?
一行一行读取?--磁盘io瓶颈导致效率太低速度太慢
一次性加载到内存?--单击内存容量有限
中间结果全部缓冲到hashmap中?--单机内存容量有限
多线程处理?--无法改变资源瓶颈的现实
横向扩展,用多借点分布式集群处理(通过增加处理节点数据来提高处理能力)
核心思想:任务分摊,通过写作来实现单节点无法实现的任务。
hdfs文件系统
工作原理:
通过分布式集群来存取文件
会给客户端提供一个统一的目录结构和访问接口(命令行的,也有java-api)存储文件的时候,是将文件切成若干个block存放到很多的主机上,而且每一个block都有多个副本。
集群中的节点会分为两类劫色:namenode--管理元数据(hdfs上的文件块所对应的实际存放物理主机地址)datanode--存放hdfs上文件的block
分布式并行计算--资源调度Yam+编程模型Mapreduce
大容量高并发
封装分布式实现细节
Hadoop学习路线
linux系统基本操作能力
java开发语言
hadoop核心组件
MAPREDUCE或SPARK等变成模型
Zookeeper-Sqoop-Flume等工具组件
NoSQL技术,Hbase
数据分析挖掘,及其学习Mahout
胶水语言python
python是一种面向对象、解释性计算机程序设计语言,python语法简洁而清晰,具有丰富和强大的类库。它能够把用其他语言制作的各种模块(尤其是c/c++)很轻松地联结在一起,因此被称为胶水语言。
python用途:
GUI编程:(PIL, Tkinter, pythonQt)
数学处理:(标准数学库接口)
文本处理:(正则表达式,xml)
web编程:(django等web框架)
数据库编程:(oracle,mysql,sqlite)
多媒体编程:(PyMedia,wav, mp3, ogg)
游戏引擎:(OpenGL, android AVG引擎)
云服务管理平台:(openstack)
python源码编辑编译执行
:py
环境变量
import
入口函数
代码
注释
:pyc
字节码文件,提高加载速度,被其他文件引用。
python -m py_compile first.py
:pyo
优化编译 字节码文件 -O选项生成
python -O -m py_compile first.py
JSON
(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。
JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:
"firstName":"John"
反编译android应用
JD-GUI工具的使用
class,jar文件-->java文件
dex2jar工具的使用
apk文件-->jar文件
apktool工具的使用
apk文件-->源文件.9图片,布局,清单文件
Nginx技术内幕
Nginx是一款高性能的HTTP和反向代理服务器,能够支持高达50000个并发连接数的响应,而内存、CPU等系统资源消耗却非常低、运行非常稳定。
反向代理方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代
理服务器对外就表现为一个反向代理服务器。
APP内置IM系统
通讯云
一台服务器能够支持的最大连接数是多少??
错误的认识:2^16个端口号。
正解:区分不同主机的四个元素(srcIP, srcPort, desIP, desPort)故连接数由硬件资源(服务器机器内存)决定。
NAT(network address translation)
P2P net穿透
XML
XML(Extensible Markup language可扩展的标记语言)
xml的本质:一种数据的组织方式!
xml的优势:可扩展的标记;元标记语言。可以定义其他标记语言;
朱元璋 朱重八 明朝 要饭 和尚 皇帝 男
明朝 要饭 朱元璋 朱重八 和尚 皇帝 男
Json
{曾用名:‘朱重八‘, 姓名:‘朱元璋‘,朝代:‘明朝‘,性别:‘男‘,曾经的职业:{‘要饭‘,‘和尚‘},现在的职业:‘皇帝‘}
<resume>
<prename endAge="20">朱重八</prename>
<name startAge="25">朱元璋</name>
<dynasty>明朝</dynasty>
<preJob>要饭</preJob>
<job>皇帝</job>
</resume>
XML解析:
JDOM, DOM4J, XQUERY等
Cordova
混合式应用平台。
Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原声的设备功能,如摄像头,麦克风等。
cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。
cordova支持如下移动操作系统:IOS,Android, Ubuntu, phone os, Webos, symbian等。
移动端的应用有以下几种:WebApp, NativeApp, HybridApp;
WebApp就是网站,HTML+CSS+JS开发,用浏览器访问。
NativeApp是用原生语言开发,用户需要下载按章的手机应用。开发成本很高,每个平台的开发语言都不一样,我们如果需要做一个多平台都能运行的APP, 需用多种语言重复开发多次。
HybridApp中和了NativeApp和WebApp各自的优势。我们可以用HTML+CSS+JS开发,兼容多个平台。用户也要下载安装,并等调用手机的摄像头、通讯录等功能,HybridApp的静态资源也在手机本地。
版权声明:欢迎转载,希望在您转载的同时,添加原文地址,谢谢配合!