综合( 右侧选择分类 )
xiaozhi

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

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

一篇文章带你看遍Google I/O 2019大会

为期三天的Google I/O 2019大会终于在上周落下了帷幕,每年的Google I/O大会都可以说是一场全球的开发者盛宴。不过可惜的是,由于和美国存在时差,I/O大会的直播时间正好是我们这边的深夜,因此对于大多数的人来说可能都只能通过回放的方式来观看I/O大会。另外由于会议全程都是使用的英文,因此对于一些英文不太好的朋友观看起来可能也会比较吃力。因此今天我特意写了这样一篇文章来覆盖Googl
863 人浏览
xiaozhi

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

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

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

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

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

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

iOS 面试

作为面试官,我经常会问的问题。希望给找工作的同学,提供一点帮助1、app生命周期2、app推送流程3、深浅copy4、为什么代理要用weak?block和代理的区别5、AFnetworking 、SDwebImage 工作原理6、KVO 原理7、autorelease 的使用与注意8、GCD、NSoperation 区别9、简单谈谈动画(uiview动画,CABasicAnimation的基本使用
861 人浏览
hangge

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

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

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

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

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

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

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

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

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

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

SpringBoot - 拦截器的注册和使用(附样例)

Spring MVC 中提供了 AOP 风格的拦截器,拥有更加精细的拦截处理能力。Spring Boot 中拦截器的注册与使用更加方便,下面通过样例进行演示。1,创建拦截器首先我们实现 HandlerInterceptor 接口自定义一个拦截器 MyInterceptor1,内容如下:(1)拦截器中的方法将按 preHandle -> Controller -> postHandle
856 人浏览
web

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

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

微信小程序 - 点击事件与长按事件共存且不冲突(用户可长按可点击)

前言对于同一控件同时设置bindtap和bindlongtap,会发现长按时先出现bindlongtap的事件,然后触发点击事件,显然这不是我们想要的。下面是个已实现功能的实例,请根据业务逻辑进行修改。wxml<!--此处更换为你的触发组件--> <button bindtouchstart="handleTouchStart" bindtouche
856 人浏览
android00

Android正确获取WebView的网页Title

现在APP中用到H5页面的越来越多,而如何正确获取WebView的网页title是必须要考虑的。网上能查的大部分方法都是在WebChromeClient的onReceivedTitle(WebView view, String title)中拿到title。但是这个方法在网页回退时是无法拿到正确的上一级标题的,网上的处理方法是自己维护一个List去缓存标题,在执行完webView.goBack()
854 人浏览
web

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

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

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

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

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

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

2. 2019年,Flutter 和 React Native 谁主沉浮

为了保证可读性,本文采用的音译而非直意。Flutter 与 React Native混淆了吗?本文是帮助你了解这两个应用程序开发框架区别指南。咱们知道,几年前开发和维护iOS和Android的应用程序曾经是一项艰巨的任务(独立的代码库|独立的开发团队|开发成本也忒高)。一堆狗屎。移动行业渴望进行一场革命,以遏制移动应用程序开发过程中出现的问题。因此,跨平台开发的形式就此出现了。现在,维护代码和开发
850 人浏览