- 博客(118)
- 资源 (1)
- 收藏
- 关注
原创 简单的go写的websocket协议 im 聊天 服务,流程简单清晰,采用golang编写,flutter im客户端。免费开源哈,随意用
简单的go写的websocket协议 im 聊天 服务,流程简单清晰,采用golang编写,flutter im客户端,免费开源哈
2024-12-17 10:59:49
471
原创 android、flutter离线推送插件,支持oppo、vivo、小米、华为
开源android、flutter离线推送插件,支持oppo、vivo、小米、华为
2024-12-17 10:54:39
806
转载 第一个python程序
本文转自 「好专栏」《第一个python程序》咱们上节课讲了Python3编程环境搭建,大家按照课程已经搭建好python3环境了。咱们这节课讲解第一个python程序。首先按照上节课Python3编程环境搭建的步骤根据自己的操作系统打开终端:如果您是windows操作系统,输入python,并且回车,进入python交互模式。 如果您是macos操作系统,输入python3...
2020-05-07 10:48:04
319
转载 Python3编程环境搭建
本文转自 「好专栏」《Python3编程环境搭建》第一节课讲了Python介绍,相信大家对Python有了大概的认识,这节课咱们搭建Python3环境。在讲解Python3环境搭建之前我需要介绍一些知识为了照顾零基础小白用户。一、什么是操作系统第一节课Python介绍我们已经讲了电脑或者手机是由 硬件+程序 构成。但是人们还需要和电脑进行交互,比如手机界面、电脑界面等这...
2020-05-07 10:41:26
839
1
转载 Python语言介绍
本文转自 「好专栏」《Python语言介绍》在讲解Python介绍之前我需要从解释一些基础概念,为了照顾零编程基础小白。一、什么是程序?电脑(包括手机)由硬件和程序构成:很多硬件 + 很多程序 = 电脑具体硬件和程序如何集成这个咱们不用太了解,这个是计算机设计原理里面的东西了,咱只需要了解,电脑就是硬件(摄像头、键盘、鼠标、电源啊等等)加上一大堆程序(别名也叫软件)...
2020-05-07 10:36:37
702
转载 Python列表(list)和元组(tuple)
咱们上节课讲了Python赋值和变量,而变量在赋值语句中是一种体现,对变量有了一个感性的认识(变量就是一个贴了标签的盒子。),这节课我们讲解下python的列表(list)和元组(tuple)这2个“基础数据类型”,所谓数据类型:用来存放数据的结构。上一小节咱们讲解了变量就是一个贴了标签的盒子,盒子里面存放的是值,而这今天讲解的2个新的基本类型可以存放多个值。有人说我也可以用多个变量存放多...
2020-05-06 18:06:16
879
转载 2020年 支付宝 福字列表
更多查看原文:https://blog.xbss.net/article/1824/2020%E5%B9%B4%20%E6%94%AF%E4%BB%98%E5%AE%9D%20%E7%A6%8F%E5%AD%97%E5%88%97%E8%A1%A8
2020-01-13 10:51:21
359
原创 最新webrtc视频全套教程
为了满足广大朋友需要,特地制作了webrtc视频教程,此课程是作者多年经验总结出的所制作的一套webrtc快速入门教程,学完此课程,你能搭建出一套android互通或者web互通或者android对web互通的webrtc demo,此课程由浅入深讲解了从编译到完整搭建一套webrtc demo,包括apprtc房间服务、collider信令服务、coturn穿透服务,即便你没有linux基础也能
2018-01-03 10:14:00
17752
15
原创 webrtc入门与实战视频教程-杨鑫-专题视频课程
webrtc入门与实战视频培训课程是通过作者多年经验总结出的一套webrtc入门教程,学完此课程,你能搭建出一套android互通或者web互通或者android对web互通的webrtc服务器,此课程由浅入深讲解了从编译到完整搭建一套webrtc demo,包括apprtc房间服务、collider信令服务、coturn穿透服务,即便你没有linux基础也能搭建,让你轻轻松松入门。...
2017-09-18 10:03:41
2801
翻译 nginx php显示空白处理
$ sudo kate /etc/php5/fpm/php.inishort_open_tag = On$ sudo service php5-fpm restart$ sudo service nginx reload
2017-05-03 14:39:14
3119
原创 jvm调优
-Xms1024m -Xmx1024m -Xmn256m -XX:PermSize=128m -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=512m -XX:MaxTenuringThreshold=0
2017-03-16 11:49:35
542
翻译 redis cluster
Redis Cluster data shardingRedis Cluster does not use consistent hashing, but a different form of sharding where every key is conceptually part of what we call an hash slot. hash槽There are 163
2016-12-28 15:58:58
529
转载 Google V8编程详解(五)JS调用C++
最近由于忙着解决个人单身的问题,时隔这么久才更新第五章。上一章主要讲了Google V8的Context概念。那么其实Google V8的基本概念还有FunctionTemplate, ObjectTemplate等比较重要的基本概念,这些概念将在后续章节中进行渗透。本章主要来讲讲如何通过V8来实现JS调用C++。JS调用C++,分为JS调用C++函数(全局),和调用C++类。
2016-12-02 17:19:13
5928
转载 Google V8编程详解(四)Context
上一章,比较略提了下V8的Context。本章将详细的讲解下Context的概念以及用法。ContextContext是V8中一个非常重要的类,理解起来就一句话:JavaScript的执行环境。Context中包了JavaScript内建函数、对象等。所以,通过Context::New出来的Context都是一个全新的干净的JavaScript执行环境,切其他JavaScript环
2016-12-02 17:18:29
1761
转载 Google V8编程详解(三)Handle & HandleScope
上一章简单的演示了一个Helloworld Demo。里面涉及到了V8的一些基本类型和概念,本章将围绕这个Demo对V8的基本类型和相关概念进行讲解。这里还是先把Demo贴出来便于后面分析: #include using namespace v8; int main(int argc, char* argv[]) { // C
2016-12-02 17:16:41
1386
转载 Google V8编程详解(二)HelloWorld
上一章讲到了V8的编译和安装,这一章开始从一个demo着手。这里选用了官方文档的一个非常简洁的HelloWorld.cc,代码如下: #include using namespace v8; int main(int argc, char* argv[]) { // Create a stack-allocated handl
2016-12-02 17:15:55
2129
原创 ssh免密码设置
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsacat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
2016-11-12 14:04:39
490
转载 Java内部类详解
Java内部类详解 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有
2016-10-25 09:33:18
397
转载 libPhenom:Facebook开源的高性能C语言并发编程框架
简介libPhenom是Facebook发布的一个C语言事件框架,用于构建高性能和高可扩展的系统。支持多线程、提供内存管理和常用数据结构、json处理。特性带有计数器的内存管理——记录应用程序正使用的内存类型的次数。工作——分解你的应用程序并用调度管理来搞定它们带缓冲的I/O流常用的数据结构 (哈希表, 列表, 队列)数据类型的变种来使能JSON的序列化和反序列化带有注册对
2016-10-08 18:28:02
2131
转载 视音频数据处理入门:PCM音频采样数据处理
=====================================================视音频数据处理入门系列文章:视音频数据处理入门:RGB、YUV像素数据处理视音频数据处理入门:PCM音频采样数据处理视音频数据处理入门:H.264视频码流解析视音频数据处理入门:AAC音频码流解析视音频数据处理入门:FLV封装格式解析视音
2016-09-29 15:59:00
1672
转载 视音频数据处理入门:RGB、YUV像素数据处理
=====================================================视音频数据处理入门系列文章:视音频数据处理入门:RGB、YUV像素数据处理视音频数据处理入门:PCM音频采样数据处理视音频数据处理入门:H.264视频码流解析视音频数据处理入门:AAC音频码流解析视音频数据处理入门:FLV封装格式解析视音
2016-09-29 15:12:22
671
转载 YV12,I420,YUV420P的区别
YV12和I420的区别一般来说,直接采集到的视频数据是RGB24的格式,RGB24一帧的大小size=width×heigth×3 Byte,RGB32的size=width×heigth×4,如果是I420(即YUV标准格式4:2:0)的数据量是 size=width×heigth×1.5 Byte。在采集到RGB24数据后,需要对这个格式的数据进行第一次压缩。即将图像的颜色空间由
2016-09-29 11:54:10
687
转载 ffmpeg参数中文详细解释
a) 通用选项-L license-h 帮助-fromats 显示可用的格式,编解码的,协议的...-f fmt 强迫采用格式fmt-I filename 输入文件-y 覆盖输出文件-t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持-ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持-
2016-09-29 10:43:05
894
转载 java内部类、静态内部类 小结
1)首先,用内部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放这个类。2)静态都是用来修饰类的内部成员的。比如静态方法,静态成员变量,静态常量。它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,以致可以用类名+静态成员名直接获得。这样静态内部类就可以理解了,因为这个类没有必要单独存放一个文件,它一般来说只被所在外部类使
2016-09-28 16:24:32
393
转载 String、StringBuffer与StringBuilder之间区别
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String
2016-09-26 10:02:42
300
转载 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安全就是说多线程访问同
2016-07-15 14:41:19
479
转载 ArrayBlockingQueue和LinkedBlockingQueue的使用
BlockingQueue接口定义了一种阻塞的FIFO queue,每一个BlockingQueue都有一个容量,让容量满时往BlockingQueue中添加数据时会造成阻塞,当容量为空时取元素操作会阻塞。 ArrayBlockingQueue是一个由数组支持的有界阻塞队列。在读写操作上都需要锁住整个容器,因此吞吐量与一般的实现是相似的,适合于实现“生产者消费者”模式。
2016-06-02 11:16:34
1407
原创 Modsecurity白名单
SecRule REMOTE_ADDR "@streq 192.168.1.1" phase:1,t:none,nolog,allowSecRule REMOTE_ADDR "@rx ^192\.168\.1\.(1|5|10)$" phase:1,t:none,nolog,allowSecRule REMOTE_ADDR "@streq 192.168.1.1"
2016-05-31 15:54:07
1852
原创 java中ReentrantLock 、 Condition、synchronized差异
ReentrantLock + Condition 是给用户更加精确的线程控制的ReentrantLock表示可从入锁Condition 表示条件变量synchronized是没一个对象内部已经定义好的一个关键,在每一个对象内部都有一个锁,如果一个方法使用了 synchronized关键字,那么对象将保护整个方法他和:public void fun(){try{
2016-05-31 15:11:24
478
转载 ReentrantLock Condition使用详解
我们通过一个实际的例子来解释Condition的用法:我们要打印1到9这9个数字,由A线程先打印1,2,3,然后由B线程打印4,5,6,然后再由A线程打印7,8,9. 这道题有很多种解法,现在我们使用Condition来做这道题(使用Object的wait,notify方法的解法在这里)。package cn.outofmemory.locks;import java.util.c
2016-05-31 14:49:58
736
原创 类设计感悟
1、一定保证数据私有化2、一定要对数据初始化3、不要在类中使用过多的基本数据类型4、不是所有的域都需要setter和getter5、将职责过多的类进行分解6、类的名字能体现他的职责
2016-05-27 15:29:45
407
原创 ssl
openssl genrsa -des3 -out key.key 1024openssl genrsa -out key.pem 1024openssl req -new -key key.pem -out key.csrcp key.key server.key.orgopenssl rsa -in server.key.org -out key.keyopenssl x5
2016-05-03 20:44:43
317
翻译 modsecurity系列五:白名单
Whitelisting mechanicsWhitelisting rules need to be executed before all your other detection rules, which means they should always follow your configuration and system rules. It is a good idea to ha
2016-04-26 14:45:29
2418
翻译 modsecurity系列四:规则实战2
Unconditional rules无条件规则The actions you specify in a SecRule execute when a match occurs, but you can use the SecAction directive to do something unconditionally. This directive accepts only one p
2016-04-25 18:22:39
3498
翻译 modsecurity系列四:规则实战1
Introducing simple rules and operators介绍简单的规则和操作The simplest possible rule will specify only a variable and a regular expression. In the example that follows, we look at the request URI, trying to
2016-04-22 17:16:08
2121
原创 正则表达式学习一
1、匹配数字123-123-1234 匹配:[0-9] 匹配0-9任意数字[0,1,3] 只匹配0,1,3三个数字[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9]简写模式:\d 代表0-9任意数字\d \d \d -\d \d \d -\d \d \d \d 和上面效果一样可以用\D来匹配任意非数字字符\d
2016-04-21 18:24:25
577
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人