综合( 右侧选择分类 )
android01

Android源码解析(二十三)-- Android异常处理流程

前面的几篇文章都是讲解的android中的窗口显示机制,包括Activity窗口加载绘制流程,Dialog窗口加载绘制流程,PopupWindow窗口加载绘制流程,Toast窗口加载绘制流程等等。整个Android的界面显示的原理都是类似的,都是通过Window对象控制View组件,实现加载与绘制流程。这篇文章休息一下,不在讲解Android的窗口绘制机制,穿插的讲解一下Android系统的异常处
980 人浏览
xiaozhi

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

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

小程序获取界面上的节点信息

WXML节点信息节点信息查询 API 可以用于获取节点属性、样式、在界面上的位置等信息。最常见的用法是使用这个接口来查询某个节点的当前位置,以及界面的滚动位置。示例代码:const query = wx.createSelectorQuery() query.select('#the-id').boundingClientRect(function(res){ res.top // #th
979 人浏览
tinuv

Activity学习笔记

笔记Activity有四种基本状态Active/Running:一个新的Activity启动后,在屏幕的最前端,在栈顶,处于可见且可与用户交互的状态Paused:失去焦点,如被一个Dialog覆盖后,此时仍然与窗口管理器保持连接,系统继续维护其内部状态,仍然可见Stopped:被另一个activity覆盖,失去焦点并不可见时Killed:当Activity被系统杀死回收或者没有被启动时,处于Kil
978 人浏览
hangge

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

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

SpringBoot - 使用JdbcTemplate操作数据库2(多数据源的配置与使用)

所谓多数据源,就是一个 Java EE 项目中采用了不同数据库实例中的多个库,或者同一个数据库实例中多个不同的库。而 JdbcTemplate 多数据源的配置是比较简单的,因为一个 JdbcTemplate 对应一个 DataSource,开发者只需要手动提供多个 DataSource,再手动配置 JdbcTemplate 即可。下面通过样例进行演示。三、多数据源的配置与使用1,添加依赖首先编辑
976 人浏览
hangge

K8s - 免费的Kubernetes在线实验平台介绍2(官网提供的在线系统)

kubernetes(简称K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用。 在之前的文章中,我介绍如何通过Docker为我们提供的实验网站Play with Kubernetes(PWK)来搭建Kubernetes集群(点击查看)。 但如果每次学习时都需要重新搭建一个K8s集群还是很麻烦。好在Kubernetes官网已经为我们准备好了现成的最小可用系统。我们通过Web浏览器就可
976 人浏览
tinuv

反射学习(二)

对成员的访问访问字段通过反射获取到的字段使用Field类表示,Field类提供了一系列的方法来访问基础数据类型,如getInt(),getBoolean()Fieldfield=testClass.getField("intData"); inta=field.getInt(test);field.setInt(test,5);通过setInt()还可以修改一个对象的值,要注
976 人浏览
xiaozhi

3.我从来不理解JavaScript闭包,直到有人这样向我解释它

正如标题所述,JavaScript闭包对我来说一直有点神秘,看过很多闭包的文章,在工作使用过闭包,有时甚至在项目中使用闭包,但我确实是这是在使用闭包的知识。最近看到的一些文章,终于,有人用于一种让我明白方式对闭包进行了解释,我将在本文中尝试使用这种方法来解释闭包。##准备在理解闭包之前,有个重要的概念需要先了解一下,就是 js 执行上下文。这篇文章是执行上下文 很不错的入门教程,文章中提到:当代码
973 人浏览
xiaozhi

1.创建华丽 UI 的 7条规则 第一部分 (2019年更新)

简介首先也是比较重要的,先说明点这篇指南并不适合所有人,主要适合以下从业者:开发者希望能够在必要时设计出自己漂亮的 UI。用户体验设计师希望他们的产品组合看起来比五角呆板的 PPT 更好看或者让用户得到更好的用户体验。本文中主要围绕以下 7 规则讲解:光来自天空 (Light comes from the sky)黑白优先 (Black and white first)加倍你的空白 (Double
973 人浏览
littleGG

iOS 面试

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

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

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

4.React 新特性讲解及实例(一)

本节主要讲解以下几个新的特性:ContextContextTypelazySuspense错误边界(Error boundaries)momoContext定义:Context 提供了一种方式,能够让数据在组件树中传递而不必一级一级手动传递。这定义读的有点晦涩,来看张图:假设有如上的组件层级关系,如果最底层的Item组件,需要最顶层的Window组件中的变量,那我们只能一层一层的传递下去。非常的繁
971 人浏览
android01

android源码解析(二十九)-- 应用程序返回按键执行流程

从这篇文章中我们开始分析android系统的事件分发流程,其实网上已经有了很多关于android系统的事件分发流程的文章,奈何看了很多但是印象还不是很深,所以这里总结一番。android系统的事件分发流程分为很多部分:Native层 --> ViewRootImpl层 --> DecorView层 --> Activity层 --> ViewGroup层 --> Vi
971 人浏览
android02

Android加载GIF图片的两种方式

Android加载GIF图片的两种方式方式一:使用第三开源框架直接在布局文件中加载gif1.在工程的build.gradle中添加如下buildscript { repositories { mavenCentral() } } allprojects { repositories {
969 人浏览
hgweb

JS - Lodash工具库的使用详解12(创建一个只能调用1次、n次的函数)

十二、创建一个只能调用1次、n次的函数1,once(1)once 方法可以创建一个只能调用 func 一次的函数。 如果重复则调用返回第一次调用的结果。_.once(func) (2)下面是一个简单的使用样例:var once = _.once(Math.random); console.log(once()); console.log(once()); console.log(once(
968 人浏览
hgweb

JS - Lodash工具库的使用详解6(Array数组函数3:移除、修改原数组内容)

六、Array 数组操作函数3:修改原数组内容1,剔除一个数组的元素(指定元素移除)pull 方法可以移除数组 array 中所有和给定值相等的元素。 var array = [1, 2, 3, 1, 2, 3]; _.pull(array, 2, 3); console.log(array);2,剔除一个数组的元素(指定索引移除)pullAt 方法根据索引 indexes,移除 a
968 人浏览
android00

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

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

22. JavaScript 是如何工作的:JavaScript 的共享传递和按值传递

关于JavaScript如何将值传递给函数,在互联网上有很多误解和争论。大致认为,参数为原始数据类时使用按值传递,参数为数组、对象和函数等数据类型使用引用传递。按值传递 和引用传递参数主要区别简单可以说:按值传递:在函数里面改变传递的值不会影响到外面引用传递:在函数里面改变传递的值会影响到外面但答案是 JavaScript 对所有数据类型都使用按值传递。它对数组和对象使用按值传递,但这是在的共享传
968 人浏览
xiaozhi

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

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