综合( 右侧选择分类 )
xiaozhi

2.Web 性能优化: 图片优化让网站大小减少 62%

图像是web上提供的最基本的内容类型之一。他们说一张图片胜过千言万语。但是如果你不小心的话,图片大小有时高达几十兆。因此,虽然网络图像需要清晰明快,但它们尺寸可以缩小压缩的,使用加载时间保持在可接受的水平。在我的网站上,我注意到我的主页的页面大小 超过了1.1MB,图片占了约88%,我还注意到我提供的图像比它们需要的大(在分辨率方面),显然,还有很多改进的空间。我开始阅读 Addy Osmani
854 人浏览
xiaozhi

28.JS 在获取当前月的最后一天遇到的坑

为了更好的讲这节的内容,提示一个 JS 处理日期的小技巧,想获取上个月最后一天,只需要设置SetDate参数为0即可。varendDate=newDate(); //上个月最后一天 endDate.setDate(0);接着正文开始:使用 JS 获取当前月的最后一天,咱们通常的思路先获取下个月的第一天,然后在减去一天,就是当前月的最后一天,所以自然会用到下面的代码:vardate=newDat
853 人浏览
bbsmax

从一道看似简单的面试题重新理解JS执行机制与定时器

壹 ❀ 引最近在看前端进阶的系列专栏,碰巧看到了几篇关于JS事件执行机制的面试文章,因为我在之前一篇JS执行机制详解,定时器时间间隔的真正含义博文中也有记录JS执行机制,所以正好用于作为测试自己的理解情况,那么本文顺着题目来重新理一理思路,说说我对于题目的理解,扩充知识点。本文站在你对于JS执行机制与定时器已经有所了解的前提下展开,若非如此,建议先了解相关概念会更好,那么本文开始。贰 ❀ 一道变化
852 人浏览
cheng

刷了几千道算法题,这些我私藏的刷题网站都在这里了!

遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几
852 人浏览
xiaozhi

24.处理 JS中 undefined 的 7 个技巧

原文:https://dmitripavlutin.com/7-tips-to-handle-undefined-in-javascript/译者:前端小智为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!大约8年前,当原作者开始学习JS时,遇到了一个奇怪的情况,既存在undefined的值,也存在表示空值的null。它们之间的明显区别是什
850 人浏览
android01

Android源码解析之(二)-- Android异步消息机制

知乎上看了一篇非常不错的博文:有没有必要阅读ANDROID源码痛定思过,为了更好的深入android体系,决定学习android framework层源码,就从最简单的android异步消息机制开始吧。(一)Handler的常规使用方式publicclassMainActivityextendsAppCompatActivity{ publicstaticfinalStringTAG=Mai
849 人浏览
hangge

SpringBoot - 网络请求模版类RestTemplate使用详解2(GET请求)

二、GET 请求1:getForObject() 方法的使用1,方法介绍 getForObject() 用于发送一个 HTTP GET 请求。它和 getForEntity() 用法几乎相同。区别在于 getForObject() 返回值返回的是响应体,省略了很多 response 的信息。 2,获取 String 结果数据下面代码将响应结果映射为一个 String 字符串,并打印出来。 @
849 人浏览
android01

android源码解析(三十)--触摸事件分发流程

前面一篇文章中我们分析了App返回按键的分发流程,从Native层到ViewRootImpl层到DocorView层到Activity层,以及在Activity中的dispatchKeyEvent方法中分发事件,最终调用了Activity的finish方法,即销毁Activity,所以一般情况下假如我们不重写Activity的onBackPress方法或者是onKeyDown方法,当我们按下并抬起
849 人浏览
android01

Android源码解析(二十五)-- Android onLowMemory执行流程

上篇文章中我们分析了Activity的onSaveInstanceState方法执行时机,知道了Activity在一般情况下,若只是执行onPause方法则不会执行onSaveInstanceState方法,而一旦执行了onStop方法就会执行onSaveInstanceState方法,具体的信息,可以参见onSaveInstanceState方法执行时机:android源码解析(二十四)--&g
849 人浏览
hangge

SpringBoot - 实现启动时执行指定任务(CommandLineRunner、ApplicationRunner)

有时一些特殊的任务需要在系统启动时执行,例如配置文件加载、数据库初始化等操作。Spring Boot 提供了两种解决方案:CommandLineRunner 和 ApplicationRunner。二者使用方式大体一致,差别主要体现在参数上。一、使用 CommandLineRunner1,基本介绍Spring Boot 项目在启动时会遍历所有的 CommandLineRunner 的实现类并调用其
848 人浏览
hangge

SpringBoot - 网络请求模版类RestTemplate使用详解3(POST请求)

四、POST 请求1:postForObject() 方法的使用1,方法介绍 postForObject() 用于发送一个 HTTP POST 请求。它和 postForEntity() 用法几乎相同。区别在于 postForObject() 返回值返回的是响应体,省略了很多 response 的信息。2,发送一个 JSON 格式数据(1)下面代码使用 post 方式发送一个 Bean 对象,并将
844 人浏览
hangge

VMware - 虚拟机下CentOS配置固定IP的方法(附:操作步骤)

1,问题描述 最近在虚拟机上安装了个CentOS 7系统,其中网络连接采用NAT模式。CentOS系统可以正常访问外网,但其IP默认是动态获取的,也就是说每次重启IP都可能变化。因为某些原因,现需要其能保持固定IP。2,解决办法(1)首先进入CentOS 7命令行界面,执行ip addr查看当前网络信息,可以看到:当前虚拟机的网卡名称为:ens33当前虚拟机分配的ip为:192.168.60.1
844 人浏览
xiaozhi

3.Web 应用安全性: 使用这些 HTTP 头保护 Web 应用

目前,浏览器已经实现了大量与安全相关的头文件,使攻击者更难利用漏洞。接下来的讲解它们的使用方式、它们防止的攻击类型以及每个头后面的一些历史。HTTP Strict Transport Security (HSTS)HSTS(HTTP Strict Transport Security)国际互联网工程组织IETF正在推行一种新的Web安全协议,HSTS 的作用是强制客户端(如浏览器)使用 HTTPS
844 人浏览
xiaozhi

8.JavaScript 是如何工作的:Service Worker 的生命周期及使用场景

你可能已经知道,渐进式Web应用程序只会越来越受欢迎,因为它们的目标是让Web应用程序用户体验更流畅,创建类似于原生应用程序的体验,而不是浏览器的外观和感觉。构建渐进式Web应用程序的主要要求之一是使其在网络和加载方面非常可靠——它应该在不确定或不存在的网络条件下可用。在这篇文章中,将深入探讨Service Workers:它们是如何工作,你应该关心什么。最后,还列出了 Service Worke
843 人浏览
xiaozhi

3.JavaScript如何工作:内存管理+如何处理4个常见的内存泄漏

本中,我们将讨论另一个重要主题——内存管理,这是由于日常使用的编程语言越来越成熟和复杂,开发人员容易忽视这一问题。我们还将提供一些有关如何处理JavaScript中的内存泄漏的技巧,在SessionStack中遵循这些技巧,既能确保SessionStack 不会导致内存泄漏,也不会增加我们集成的Web应用程序的内存消耗。概述像 C 这样的编程语言,具有低级内存管理原语,如malloc()和free
843 人浏览
xiaozhi

4. 21 个VSCode 快捷键,让代码更快,更有趣

为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!注意:自己尝试的时候,Mac(17, pro) 与原文提供的快捷键盘不太一样,mac 对应的 Ctrl 要换成 command做为前端开发者来说,大都数都用过 VSCode,并且也有很多是经常用的。但 VSCode 的一些快捷键可能我们不知道,也比较少用,毕竟这很好,因此本文就列出一些快捷键
843 人浏览
web

微信小程序之授权登录(附完整源码)

个人博客上已经同步更新了文章,有目录索引,阅读起来比较方便,欢迎大家移步个人博客上读阅~个人博客地址:http://zwd596257180.gitee.io/blog/2019/04/15/wechat_applet_login/前言由于微信官方修改了 getUserInfo 接口,所以现在无法实现一进入微信小程序就弹出授权窗口,只能通过 button 去触发。官方链接实现思路自定义一个微信授权
842 人浏览
hgweb

JS - Lodash工具库的使用详解13(创建一个对某函数结果取反的函数)

十三、创建对一个函数结果取反的函数1,negate 方法negate 方法可以创建一个针对断言函数 func 结果取反的函数。2,使用样例function isEven(n) { return n % 2 == 0; } var even = _.filter([1, 2, 3, 4, 5, 6], isEven); console.log("偶数", even); v
842 人浏览
web

微信小程序页面之间传递参数的几种方式

小程序开发过程中,不可避免要遇到不同页面之间数据通讯的问题,如判断是否登录等,现做出以下分类总结 一、使用全局变量实现数据传递使用场景: 购物车界面需要根据是否登录来区别显示,当没有登录时提醒去登录,登录后之间显示自己购物车里的商品列表 全局变量使用方法: 再 app.js 文件中定义全局变量 globalData, 如下:将用户信息存放在 userInfo 中 //app.js
842 人浏览
xiaozhi

11.需要知道的JS的日期知识,都在这了

为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!JS中的Date很奇怪。当我们需要处理日期和时间的时候比较麻烦,经常借助像date-fns和Moment这样的库。但是我们并不总是需要使用库。如果知道要注意一些总是,日期实际上可以非常简单。接下介绍有关Date对象的所有信息时区我们的世界有数百个时区。 在JavaScript中,我们只关心两
841 人浏览