webp

Now in Android #15 —— 最新 Android 知识分享

ぃ、小莉子 提交于 2020-12-25 03:40:43
(微信不支持外链,点击文末 阅读原文,体验更佳!) 大家好,我是秉心说。 新一期的 Now in Android 又更新了,原文地址如下: https://medium.com/androiddevelopers/now-in-android-15-44bf3307a8f2 照例给大家总结一下。往期所有文章可以在这里查看: https://luyao.tech/categories/nowinandroid 下面进入这一期的最新内容。 Android 11 上一期中介绍了 开发者预览版 2 ,到目前为止没有新版本的发布。Chet Haase 在原文中分享了几个值的一提的内容。 Can You Take the Heat? Android 11 开发者预览版 2 为 Native 开发者新增了 Thermal API 。(我也不知道这是个啥) 在 Android 模拟器上运行 ARM 应用 Michael Hazard 发布了一篇关于在 Android 模拟器上运行 ARM 应用的文章: https://android-developers.googleblog.com/2020/03/run-arm-apps-on-android-emulator.html 我们的 PC 大多基于 x86 架构,对于依赖 ARM 库且无法构建 x86 版本应用的开发者来说,只能使用完整的 ARM

JavaScript优化技巧

无人久伴 提交于 2020-12-18 23:19:13
作为开发人员,我们一直在寻找让我们的代码更快更好的方法。但在此之前,编写高性能代码需要做三件事: 了解语言及其工作原理 基于用例进行设计 调试!修复!重复 记住这一点 任何傻瓜都可以编写计算机可以理解的代码,优秀的程序员编写人类可以理解的代码。- 丁·福勒 我们来看看如何使 JavaScript代码运行得更快。 延迟 延迟算法将计算延迟到需要执行时才执行,然后生成结果。 const someFn = () => { doSomeOperation() return () => { doExpensiveOperation() } } const t = someArray.filter((x) => checkSomeCondition(x)).map((x) => someFn(x)) // 现在,如果有需要在执行 t.map((x) => t()) 最快的代码是未执行的代码,所以尽量延迟执行。 JavaScript 使用原型继承,JS 中所有对象都是Object的实例。 MDN说: 尝试访问对象的属性时,不仅会在对象上搜索该属性,还会在对象的原型,原型的原型等上搜索该属性,直到找到匹配属性名或原型链的末端。 对于每个属性,JavaScript引擎都必须遍历整个对象链,直到找到匹配项。 如果使用不当,这会占用大量资源,并影响应用程序的性能。 所以不要这样: const name

用ngnix上的伪静态解决webp和jpg自动匹配问题

给你一囗甜甜゛ 提交于 2020-12-18 17:33:09
最近弄个站,图片特别多,加载速度很慢,于是想到用webp格式,可是网站仍然有很多用IE之类的用户,只能用ngnix适配一下,费了许多周折,终于做出了一个伪静态的方法。即判断accept头部,调用不同的图片,不支持webp的浏览器调用jpg之类的,支持的调用webp格式,上传图片时用jpg格式,然后用软件转成webp格式。伪静态代码如下: location ~ .*\.(gif|jpg|jpeg|png)$ { if ($http_accept ~* '(image/webp)'){ rewrite ^/(.*).jpg$ /$1.webp last; break; } } location / { if (!-e $request_filename){ rewrite ^/admin(.*)$ /admin.php?s=$1 last; rewrite ^/index(.*)$ /index.php?s=$1 last; rewrite ^(.*)$ /index.php?s=$1 last; break; } } 来源: oschina 链接: https://my.oschina.net/u/3782143/blog/4815528

前端--css篇

一个人想着一个人 提交于 2020-12-18 02:22:38
继上一篇html篇之后,看到小伙伴留言说期待后面整理的CSS和JS篇,工具人小编整理出了本篇有关CSS部分的知识点。本篇文章作为对CSS知识点的统筹,囊括了目前大部分在面试当中常见的内容,包括一些易踩雷的知识点。文章篇幅较长,建议收藏慢慢细品。 文中篇概念性的内容也蛮多,小编一如既往的做了分割线,记忆力好的童鞋请自行忽略。 1.🤨标准的CSS盒子模型及其和低版本的IE盒子模型的区别? 标准(W3C)盒子模型: width = 内容宽度 (content) + border + padding + margin 低版本IE盒子模型: width = 内容宽度 (content + border + padding)+ margin 图片展示: 区别:标准盒子模型盒子的 height 和 width 是 content (内容)的宽高,而IE盒子模型盒子的宽高则包括 content+padding+border 部分。 2.几种解决IE6存在的bug的方法 由 float 引起的双边距的问题,使用 display 解决; 由 float 引起的3像素问题,使用 display: inline -3px ; 使用正确的书写顺序 link visited hover active ,解决超链接 hover 点击失效问题; 对于 IE 的 z-index 问题,通过给父元素增加

get width and height of webp with java

﹥>﹥吖頭↗ 提交于 2020-12-12 11:41:10
问题 When I Upload a WEBP file to Controller, I want to get the width and height with java. It returns null when I use the following code: Image image = ImageIO.read(uploadFile); When I search on the Internet I find webp-imageio.jar could be used but it's too complex. Is there any easy way to achieve that? 回答1: Yes, the Webp Container Sepcs defines that the Webp Extended File Format images which are currently in use has headers in the starting few bits corresponding to the type, file size, is

get width and height of webp with java

时光总嘲笑我的痴心妄想 提交于 2020-12-12 11:38:06
问题 When I Upload a WEBP file to Controller, I want to get the width and height with java. It returns null when I use the following code: Image image = ImageIO.read(uploadFile); When I search on the Internet I find webp-imageio.jar could be used but it's too complex. Is there any easy way to achieve that? 回答1: Yes, the Webp Container Sepcs defines that the Webp Extended File Format images which are currently in use has headers in the starting few bits corresponding to the type, file size, is

K8s 将弃用 Docker;TypeScript 超越 C++ 成第四大语言

橙三吉。 提交于 2020-12-08 14:03:10
开发者社区技术周刊又和大家见面了,让我们一起看看,过去一周有哪些值得我们开发者关注的重要新闻吧。 Kubernetes 将弃用 Docker TypeScript 超越 C++ 成第四大语言 ASML 已完成 1nm 光刻机设计 摩尔定律再次重新起效 中国量子计算原型机九章问世 三星新无线充电专利曝光 用“戒指”就能为手机充电 CloudTech公布 2021 年值得关注的云计算趋势 RelationNet ++:桥接视觉以通过变压器解码器进行对象检测 NeurIPS 2020 | 自步对比学习:充分挖掘无监督学习样本 技 术 要 闻 Industry News 1, Kubernetes 将弃用 Docker 近日,Kubernetes 官方发布公告,宣布自 v1.20 起放弃对 Docker 的支持,届时用户将收到 Docker 弃用警告,并需要改用其他容器运行时。但 Docker 作为容器镜像构建工具的作用将不受影响,用其构建的容器镜像将一如既往地在集群中与所有容器运行时正常运转。官方解释称,Docker 作为一个完整的容器技术堆栈,在其创建之初就不是为了将其嵌入 Kubernetes 而设计的。除了其作为容器运行时本身的作用以外,Docker 还包含了一系列方便用户交互的 UX 更改,而这些额外的功能对于 Kubernetes 来说过于臃肿。事实上,Docker 并不符合

Parsing webp file header in Kotlin to get its height and width, but getting unexpected results

有些话、适合烂在心里 提交于 2020-11-29 19:27:49
问题 I am trying to read the WebP image header, according to the WebP Container Specification of Extended File Format. fun get24bit(data: ByteArray, index: Int): Int { return ((data[0 + index].toInt()) or (data[1 + index].toInt() shl 8) or (data[2 + index].toInt() shl 16)) } fun get32bit(data: ByteArray, index: Int): Int { return get24bit(data, index) or (data[3 + index].toInt() shl 24) } // data -> File(fileName).readBytes() for testing purpose fun webpExtract(data: ByteArray) { println(String

图片压缩原理

爷,独闯天下 提交于 2020-11-24 06:32:30
前言 说起图片压缩,大家想到的或者平时用到的很多工具都可以实现,例如,客户端类的有图片压缩工具 PPDuck3, JS 实现类的有插件 compression.js ,亦或是在线处理类的 OSS 上传,文件上传后,在访问文件时中也有图片的压缩配置选项,不过,能不能自己撸一套 JS 实现的图片压缩代码呢?当然可以,那我们先来理一下思路。 压缩思路 涉及到 JS 的图片压缩,我的想法是需要用到 Canvas 的绘图能力,通过调整图片的分辨率或者绘图质量来达到图片压缩的效果,实现思路如下: 获取上传 Input 中的图片对象 File 将图片转换成 base64 格式 base64 编码的图片通过 Canvas 转换压缩,这里会用到的 Canvas 的 drawImage 以及 toDataURL 这两个 Api,一个调节图片的分辨率的,一个是调节图片压缩质量并且输出的,后续会有详细介绍 转换后的图片生成对应的新图片,然后输出 优缺点介绍 不过 Canvas 压缩的方式也有着自己的优缺点: 优点:实现简单,参数可以配置化,自定义图片的尺寸,指定区域裁剪等等。 缺点:只有 jpeg 、webp 支持原图尺寸下图片质量的调整来达到压缩图片的效果,其他图片格式,仅能通过调节尺寸来实现 代码实现 < template > < div class = "container" > < input

李宏毅强化学习完整笔记!开源项目《LeeDeepRL-Notes》发布

血红的双手。 提交于 2020-11-23 02:28:01
Datawhale开源 核心贡献者:王琦、杨逸远、江季 提起李宏毅老师,熟悉强化学习的读者朋友一定不会陌生。很多人选择的强化学习入门学习材料都是李宏毅老师的台大公开课视频。 现在,强化学习爱好者有更完善的学习资料了! Datawhale开源项目组成员总结了李宏毅的强化学习视频,实现了 视频教程 的完整梳理和复现,再也不用担心强化学习 。 目前,项目已完全开源,包括课程内容、配套的习题和项目,供大家使用。 1. 李宏毅深度强化学习简介 李宏毅老师现任台湾大学电气工程系副教授,主要研究方向是机器学习,特别是深度学习。他有一系列公开的强化学习课程视频,也是很多人入门的教程。 李宏毅老师的课程包括很多常见的强化学习算法,比如策略梯度、PPO、DQN、DDPG、演员-评论员算法、模仿学习、稀疏奖励等算法。此外,我们还补充了马尔可夫决策过程、Q-learning、Sarsa、REINFORCE 等强化学习常见的算法及概念。 「策略梯度」课程中的 PPT,解释了策略梯度的过程 「近端策略优化算法」课程中的 PPT,展示了重要性采样的问题 李宏毅老师的《深度强化学习》是强化学习领域经典的中文教程之一。李老师幽默风趣的上课风格让晦涩的强化学习理论变得轻松易懂,他会通过很多有趣的例子来讲解强化学习理论。比如老师经常会用玩 Atari 游戏的例子来讲解强化学习算法。 此外,为了课程的完整性,