• 等级
  • 4762614 访问
  • 105 原创
  • 1 转发
  • 474 排名
  • 767 评论
  • 1476 获赞

CSS高级技巧:自动省略左侧文本

难以置信! 浏览器和CSS规范居然支持自动省略左侧的文本了。 通过 text-overflow: ellipsis, 搭配固定的 width 属性, 以及overflow: hidden 样式, 就可以实现这样的功能; 能用CSS实现,就不需要编写复杂的 JavaScript 代码来计算字符串宽度, 或者进行截断了. CSS的自动省略特性, 对无障碍环境也非常友好。 text-overflow: ...

2018-12-21 12:00:41

WebRTC基础实践 - 10. 总结

我们创建了一个视频聊天的APP, 同时支持传输文件以及其他数据! 内容回顾 在本教程中, 我们学习了以下内容: 获取webcam摄像头的视频内容。 通过 RTCPeerConnection 传输视频。 通过 RTCPeerConnection 传输数据。 配置信令服务来交换消息。 集成对等连接和信令服务。 拍照并用数据通道传递给对方。 下一步 体验WebRTC官方示例程序AppRTC: ht...

2018-12-16 21:30:59

WebRTC基础实践 - 9. 拍照并传给对方

本节内容 在本节课程中, 我们将学习以下内容: 拍照并通过canvas元素获取图像数据。 给对面发送图片。 本节的完整版代码位于 step-06 文件夹中。 工作原理 前面的小节中, 我们使用 RTCDataChannel 来传递文本消息。 本节课程, 将学习如何发送文件: 下面的示例发送的是通过 getUserMedia() 捕获的照片文件, 原理都是一样的。 核心内容包括: 建立数据通道...

2018-12-16 21:29:12

WebRTC基础实践 - 8. 集成对等通信和信令服务

本节内容 在本节课程中, 我们将学习以下内容: 在Node.js平台, 通过Socket.IO来启动信令服务。 用信令服务交换WebRTC客户端之间的元数据(metadata)。 本节的完整版代码位于 step-05 文件夹中。 更新HTML和JavaScript代码 更新 index.html 文件, 内容如下: <!DOCTYPE html> <html> &lt...

2018-12-14 11:01:45

WebRTC基础实践 - 7. 配置信令服务

本节内容 在本节课程中, 我们将学习以下内容: 通过 npm 安装 package.json 文件中指定的项目依赖 运行Node.js服务器, 通过 node-static 提供静态文件服务。 用Socket.IO创建消息传递服务 创建聊天室以及发送聊天消息。 本节的完整版代码位于 step-04 文件夹中。 基本概念 要创建并保持WebRTC通话, 客户端之间需要互相交换元数据信息, 包括:...

2018-11-28 16:43:55

WebRTC基础实践 - 6. 通过RTCDataChannel传输数据

本节内容 WebRTC客户端(peers)之间如何传递数据。 本节的完整版代码位于 step-03 文件夹中。 修改HTML代码 在本示例中, 使用WebRTC的数据通道(data channel), 将一个 textarea 的内容, 传递给同页面中的另一个textarea。这个demo本身没什么实用价值, 主要目的是展示怎样使用WebRTC来传输数据和视频。 接着上一节的代码, 将 ind...

2018-11-20 19:16:38

WebRTC基础实践 - 5.通过RTCPeerConnection传输流媒体视频

本节内容 在本节课程中, 我们将学习以下内容: 使用WebRTC兼容库: adapter.js, 来抹平各浏览器间的差异。 通过 RTCPeerConnection API 传输流媒体视频。 控制 media 的捕捉和传输。 本节的完整版代码位于 step-02 文件夹中。 RTCPeerConnection 简介 在WebRTC规范中, RTCPeerConnection用于视频流/音频流、...

2018-11-13 19:36:51

WebRTC基础实践 - 4. 获取摄像头的视频流

本节内容 在本节课程中, 我们将学习以下知识点: 从摄像头(webcam)获取视频流(video stream) 控制视频内容的回显 通过CSS和SVG处理视频内容。 本节的完整版代码位于 step-01 文件夹中。 HTML代码 在 work 目录下的 index.html 文件中, 增加 video 标签和 script 标签: <!DOCTYPE html> <html...

2018-11-12 19:50:09

WebRTC基础实践 - 3. 获取示例代码

下载示例代码 如果安装有git工具, 直接用下面的脚本, 从GitHub克隆代码即可: git clone https://github.com/googlecodelabs/webrtc-web.git 或者, 点击链接下载 zip 压缩包: https://github.com/googlecodelabs/webrtc-web/archive/master.zip 如果下载失败或者本地...

2018-11-09 15:40:36

WebRTC基础实践 - 2. WebRTC课程概述

本课程将逐步开发一个 WebRTC 应用, 通过网络摄像头来拍照、录像、并将这些信息传递给另一方. 在此过程中, 我们将学习如何使用WebRTC的核心API, 还会通过 Node.js 来搭建一个消息服务器。 课程内容 从摄像头获取视频 通过 RTCPeerConnection 传输视频流 通过 RTCDataChannel 传输数据流 配置信令服务来交换消息 集成对等连接与信令服务 拍照, 并...

2018-10-15 18:08:57

WebRTC基础实践 - 1. WebRTC简介

WebRTC 是一个开源的实时通信项目, 主要目标是对Web/原生App平台上的语音、视频、以及数据传输等实时通讯提供支持。 WebRTC 主要包括以下 JavaScript API(点击链接可查看相关demo)。 getUserMedia(): 获取用户设备的音频和视频. MediaRecorder: 录制音频和视频. RTCPeerConnection: 流式传输两个客户端之间的音频与视频....

2018-10-14 11:17:27

OOM终结者参数调优

内存溢出(Out of Memory,OOM), 是指计算机的所有可用内存(包括交换空间, swap space), 都被使用满了。 这种情况下, 默认配置会导致系统报警, 并停止正常运行. 当然, 将 /proc/sys/vm/panic_on_oom 参数设置为 0, 则告诉系统内核, 如果系统发生内存溢出, 就可以调用 oom_killer(OOM终结者)功能, 来杀掉最胖的那头进程(rog...

2018-05-27 11:56:54

配置catalina.out的日志格式

启动 Tomcat 时, catalina.out 中输出的日志格式可能不太理想。 看看某些版本默认的格式: 四月 24, 2018 6:49:32 下午 org.apache.catalina.startup.Catalina start 信息: Server startup in 9772 ms 有点别扭, 想要调整成下面的格式: 24-Apr-2018 18:52:16.13...

2018-05-07 19:27:33

没有立场的专业人士最容易背锅

今天在tweet上看到一幅有趣的漫画: http://theoatmeal.com/comics/design_hell。说的是上级领导怎样坑死一个专业的设计师。 漫画很有趣, 而且在实际工作中也经常发生这种悲剧。 到底是谁的锅 ? 普通员工和专业人士的不同, 在于普通员工需要别人指挥着干活, 而专业人士能够为BOSS提供各种决策建议。招聘普通员工的关注点主要是执行能力, 要听指挥, 还能出活...

2018-03-07 20:08:25

spring通过QQ邮箱发送Email

本文简要介绍如何通过Spring框架的支持,通过QQ邮箱来发送邮件,包括简单文本,附件、以及内联图片、HTML以及HTTP图片。 spring-context-support很早就内置支持邮件发送。 当然, 官方文档明确指出, 需要依赖 JavaMail 这个库。 在这个年代, 我们很少自己搭建 smtp 服务器来发送邮件, 一般都是使用邮件提供商的服务。 例如 QQ邮箱, 企业邮箱...

2018-03-01 15:28:20

Java-根据IP统计访问次数

JSP根据IP统计访问次数 本文简要介绍如何实现一个IP访问计数器。 为了简单, 使用 JSP 来实现, 但读者需要明白, Java代码可以在到处运行。 示例Demo页面: http://www.cncounter.com/test/counter.jsp 返回JSON: http://www.cncounter.com/test/counter.jsp?format=json 清空本I...

2018-02-09 15:08:39

5.3 Java Web应用目录结构

web模块, 也就是 Servlet 规范中的web应用。在Java EE架构中, web模块(web module) 是最小的web部署单元。 其中包含web组件以及静态资源; 如图片之类的静态资源也被称为 web资源。 除web组件和web资源以外, web模块中还可以包含其他文件, 例如服务端运行所需的工具类,JAR 包等等。 web模块有特定的结构。顶层目录对应Web应用的 docu

2018-01-21 21:48:11

Java正则系列: (2)量词

翻译说明 greedy: 贪婪型, 最大匹配方式; reluctant: 懒惰型, 最小匹配方式; possessive: 独占型, 全部匹配方式; 也翻译为[支配型]; 这3种量词, 是修饰量词的量词, 可以理解为正则格式重复的匹配类型。 量词 量词(Quantifier)用来指定某部分正则所重复的次数。为了方便,本文分别介绍 Pattern A

2018-01-11 00:08:27

Java正则系列: (1)入门教程

本文简要介绍Java的正则表达式及其实现方式,并通过实例讲解正则表达式的具体用法。 1. 正则表达式 1.1. 简介 正则表达式(Regular Expression), 简称 正则, 也翻译为 正规式, 用来表示文本搜索模式。英文缩写是 regex(reg-ex). 搜索模式(search pattern)可能多种多样, 如, 单个字符(character), 特定字符串(f

2018-01-03 02:04:04

Java技巧: 根据网址/域名查询DNS/IP地址

需求: 给定一个URL地址, 例如: http://www.cncounter.com/tools/shorturl.php, 解析对应的IP地址和端口号。 说明: 本文不涉及底层的 DNS 协议, 直接使用Java平台提供的API进行操作。 DNS也就是 Domain Name Service,即 域名服务。 我们知道, Java中与网址有关的类包括 java.net.URL 和 ...

2017-12-05 16:48:58

博客专家

铁锚

系统架构师,Java性能调优专家。热爱程序开发和设 计; 积极应对各种情境和挑战; 喜欢钻研新技术, 闲暇时喜欢翻译和分析英文文档/技术博客。 ...展开 收起
关注
  • 教育·培训·科研·院校/架构师
  • 中国 北京 海淀区
奖章
  • 博客专家
  • 专栏达人
  • 持之以恒