Author: admin

0

按钮和输入的垂直文本对齐

你曾经苦恼于文本的垂直对齐吗?我想很多的前端开发者都会遇到这样的烦恼吧,那么本文就来给你详细介绍一下如何利用line-height, padding以及flexbox实现相应的对齐功能。 基本的按钮和输入风格 一个按钮和输入的高度以及垂直对齐是由他的边框,padding,字体大小以及line-height决定的。 有了这个理解之后,我们来定义按钮以及输入的基本风格:...

0

登录界面的最佳实践

假如你的网页需要用户注册/登录,那么一个好的注册/登录界面就非常重要了,尤其是在用户的网络状况不佳,或者使用移动设备,亦或是心情不太好的时候。一个不佳的界面可能会让用户再也不想访问你的页面。 下面就是一个简单的登录界面,它展示了所有的最佳实践需要关注的地方: 那么一个登录/注册界面有哪些地方需要注意的呢?我们一一道来: 使用有意义的HTML 使用下面这些HTML的tag来创建这个界面:<form><label>以及<button>,这些浏览器内建的功能,可以极大的改进可访问性。...

0

如何使用AVIF:下一代图形压缩格式

一个更加优化的图形格式 目前有一个新的图形格式,它就是AV1 (.avif)格式。总得来说,它是一个高度压缩的图形类型。很多公司已经开始考虑使用.avif来替代JPEG, PNG甚至最新的WebP的图形格式,毕竟他的压缩比真的很好。 这个格式是由Alliance...

你意想不到的默认超时 0

你意想不到的默认超时

有时我们会发现很多应用它不会崩溃,但是很多时候它会hang住。而hang住的一个很重要的原因就是假设网络是可靠的。而事实上却不是。 所以,当你做一个网络调用而没有设置超时的,就意味着你100%确认这个调用会成功,真的可以这么自信吗?哈哈。 假如是一个同步的调用,如果这个调用永远不返回,则显然会永远卡住。不过实际上我们都是使用的异步调用,是的,一个异步调用的不返回是不会卡住主进程的。但是有一个新的问题,就是它会消耗socket。因为很多HTTP客户端的库都使用socket池,这样就不需要每次都创建连接(毕竟创建连接是需要时间的)。一般来说,这种socket池也是有大小限制的,这也就意味着每一次不返回的调用都会消耗socket池中的一个已有的连接。所以,但这种情况发生了比较多了之后,你的应用就会卡在等待连接的释放。 假如你的网络不可靠,我们为什么总是要创建一个不超时的API呢?很多API调用甚至每有一个很方便的设置tiemout的地方,尤其是初始化的时候,你要设置timeout就需要额外进行调用。尤其是这种API很多时候默认的timeout还是无限的。当然,一个好的API都有很方便的设置timeout的方法。 所以,第一个建议就是永远不用把默认的timeout设为无限。...

0

十个最佳数据科学相关的Python库

我们都知道Python很流行也很易学, 本文将列出十个最佳的数据科学相关的Python库。希望对你能有所帮助。 NumPy NumPy十个主要用于数据分析,科学计算以及数据科学的库。NumPy支持多维的数组和矩阵。他是数据科学中的最基础的库之一。NumPy也被TensorFlow内部使用,并且被很多别的库所使用。很多时候,NumPy更像一个同样的Python库一样。 Pandas...

0

ShaZam深入分析之从数字声音到频率

我们在之前的文章中介绍了如何从模拟声音转变到数字声音。现在假如有了一个数字声音,你如何得到他的频率呢?这个部分很重要,因为ShaZam的算法基本都是基于频率的。 对模拟信号来说,这里有一个变化称为连续傅里叶变换。它可以把一个时间的函数转变成频率的函数。也就是假如把傅里叶变换应用到一个声音上,你就会得到它的频率。 但是这里有两个问题: 我们处理的数字信号,所以它是一个有限的不连续声音。 为了更好地理解音乐内部的频率,我们需要把傅里叶变换应用到整个音乐信号的更好的部分,比如我们需要把它应用到0.1s的部分。...

0

ShaZam深入分析之音乐数字化

除非你是发烧友,否则一般来说我们听的音乐都是数字文件,比如mp3等等。但事实上,制作音乐的时候,都是模拟的。音乐其实最终都是数字化以便于用电子设备进行存储和播放。那么本文就来讲讲如何从模拟转变成数字,了解了这些之后,会有助于我们后面的理解 采样 模拟信号其实是连续的信号,这也就意味着你可以把一秒的模拟信号分成无数份。而对数字信号来说,你不可能保存无限的数据。所以,你需要一个最小的单元,比如1毫秒。在这个单元里面,声音是不变的,所以为了能够足够接近模拟信息,这个单元需要足够小,但有不能太小,否则就需要很大的空间来存储这个数字信息。 我们可以想象一下,哪怕是你最喜欢的音乐,但是每两秒的声音都不变,这听起来估计也很奇怪。所以为了你的音乐听起来很好,你可以选择一个很小的单元,比如一个纳秒等,这时你的音乐听起来就非常赞,当然你可能没有足够的磁盘来保存这种音乐。 所以,这时候就需要使用本节的主题:采样。...

0

ShaZam深入分析之音乐基础

我们都知道声音是通过空气(或水等介质)进行传播的振动,然后由人的耳朵进行解析的。比如我们听音乐,声音就是通过空气传播,然后被你的耳朵所接受。光也和声音类似,只是说这次你的耳朵没法解析它,但是你的眼睛可以。本文就来介绍一下,音乐是如何用物理、技术进行描述的。 纯音和真实的声音 所谓的纯音就是正弦波形的音。正弦波有下面这些特性: 它的频率: 每秒的循环数,它的单位是赫兹(HZ),比如100Hz...

0

最好的编程语言

我们经常会听到有人说,PHP是最好的语言,也有人会说Java才是最好的语言,很多时候这些讨论文章的唯一目的就是让我能笑一笑,其实我们大家都知道,哪有什么最好的语言,各种语言都有其擅长和不足的地方,那么在我们实际工作中,如何来选择一个最好的语言呢? 是否有性能要求 假如你有明确的性能要求,那么我们就需要来具体分析了: 秒级:任何语言都可以做到 毫秒级:任何语言,只要程序员本身过关也都可以做到...

如何通过基于OAuth的API连接Vue.js 0

如何通过基于OAuth的API连接Vue.js

很多人都使用过基于OAuth的API,比如你在一些网站使用GitHub登录的时候,你就使用GitHub提高的OAuth2 API,或者你使用Google或者Facebook登录的时候,你也会使用到它。 现在OAuth真的无处不在,也许因为它真的非常好,用户只要点一个按钮,然后得到权限,这样就可以了。 但是当我们进行开发它的时候,就是另外 一个故事了,也许是因为它一次性引入了太多的新的内容。本文我们会介绍一个小的工具Bearer.sh...