2019-11-01 16:33
为什么我想要使用redux? 前段时间初步上手了react,最近在使用react的过程中发现对于组件之间通信的需求比较迫切,尤其是在axios异步请求后端数据的时候,这样的需求是特别强烈的!举个例子:...
2019-11-01 16:54
刚刚有同学问我,不太了解 “非SDK接口” 是什么意思?android9.0有什么限制 ?apache的http也有限制 ?
而且现在的大部分系统都升级上来了,黑名单、灰名单和白名单 也是必须要了解一下的,这里参考Google开发者网站给大家整理一下。
首先,公共 SDK 接口是在 Android 框架软件包索引 中记录的那些接口,什么是框架软件包?
链接地址:https://developer.android.google.cn/reference/packages.html
而 非 SDK 接口 的处理是 API 抽象出来的实现细节,因此这些接口可能会在不另行通知的情况下随时发生更改。
...
2019-11-01 16:17
概述今天心情很down,快周末了,说点不开心的事情给大家开心一下,上周面试心仪已久的大厂,技术面很顺利的通过一面/二面/三面,最后到HR面也很顺利,然后被问到学历(自考本科)后,HR 语气发生一些转变说要跟面试官再沟通,今天接到HR通知说技术过关,学历不达标(全日制本科),不能发 offer,心情很低落,有时候不禁的想问题,难道人生开局没打好,后期再努力也没用吗?事情主要经过是这样的...
2019-11-01 11:45
.NET Core 3.0提供了一个名为System.Text.Json的全新命名空间,它支持reader/writer,文档对象模型(DOM)和序列化程序。在此博客文章中,我将介绍它如何工作以及如何使用。官方文档...
2019-11-01 11:17
本文已经收录自 JavaGuide (59k+ Star):【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。
1. 面向对象和面向过程的区别
面向过程 :面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。
面向对象 :面向对象易维护、易复用、易扩展。 因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。
...
2019-11-01 11:40
开发网站时经常会用到跨域资源共享(简称cors,后面使用简称)来解决跨域问题,但是在使用cors的时候,http请求会被划分为两类,简单请求和复杂请求,而这两种请求的区别主要在于是否会触发cors预检请求。首先我们要明白cors的原理(引自MDN):...
2019-11-01 11:11
其实关于Shiro的一些学习笔记很早就该写了,因为懒癌和拖延症晚期一直没有落实,直到今天公司的一个项目碰到了在集群环境的单点登录频繁掉线的问题,为了解决这个问题,Shiro相关的文档和教程没少翻。最后问题解决了,但我觉得我也是时候来做一波Shiro学习笔记了。
本篇是Shiro系列第四篇,Shiro中的过滤器初始化流程和实现原理。Shiro基于URL的权限控制是通过Filter实现的,本篇从我们注入的ShiroFilterFactoryBean开始入手,翻看源码追寻Shiro中的过滤器的实现原理。
...
2019-11-01 11:11
使用face-api.js实现人脸识别(一)
功能
第一阶段实现对图片中人脸的识别并打上标签(比如:人名)
第二阶段使用摄像头实现对人物的识别,比如典型的应用做一个人脸考勤的系统
资源
face-api.js https://github.com/justadudewhohacks/face-api.js/
Face-api.js 是一个 JavaScript API,是基于 tensorflow.js 核心 API 的人脸检测和人脸识别的浏览器实现。它实现了一系列的卷积神经网络(CNN),针对网络和移动设备进行了优化。非常牛逼,简单好用
...
2019-11-01 11:06
redis过期策略
在使用redis做缓存的时候,我们常常会设置过期时间。那么redis是如何清理这些过期的数据呢?
答案是: 定期删除 + 惰性删除
定期删除: redis每100ms就会随机抽查删除过期的数据。但是这种方法有时候会留下大量过期但没有被抽查到的过期数据,白白浪费内存。
惰性删除: 惰性删除此时就派上用场了,当用户获取数据时,redis会先检查该数据有没有过期,如果过期就删除。
听上去定期删除+惰性删除好像很完美的样子,but过期的数据用户又没有及时访问,那么内存中还是会存在大量的过期数据。此时应该采用redis内存淘汰机制。
...
2019-11-01 11:37
一、openresty介绍1、什么是openresty...
2019-11-01 11:01
第三部分:iOS开发底层原理
1、Objective-C对象模型
1.1 isa指针
NSObject.h部分代码:
NS_ROOT_CLASS
@interface NSObject {
Class isa;
}
objc.h部分代码:
typedef struct objc_class *Class;
typedet struct objc_object {
Class isa;
} *id;
每个对象都有一个名为isa的指针,指向该对象的类
isa指针指向流程图如下:
...
2019-11-01 11:24
摘要 通常我们的播放引擎需要和GUI进行集成,在使用GStreamer时,GStreamre会负责媒体的播放及控制,GUI会负责处理用户的交互操作以及创建显示的窗口。本例中我们将结合QT介绍如何指定GStreamer将视频输出到指定窗口,以及如何利用GStreamer上报的信息去更新GUI。...
2019-11-01 11:52
前言
上篇文章我们知道了怎么操作镜像和容器,到基础都是从已经存在的镜像开始的,那我们自己怎样搭建一个镜像并使用它呢?接下来就让我们学习使用dockerfile 创建属于自己的镜像吧。
dockerfile
在这之前,我们需要知道dockerfile ,因为我们就是通过dockerfile 来创建镜像的。那dockerfile 是什么呢?
dockerfile 是一个文件,文件里面是我们写的一条条的指令,然后通过docker build
命令来构建一个镜像。
现在难就难在这个指令怎么写,所以接下让我们一起看看dockfile 指令吧。
...
2019-11-01 11:19
2019杭州云栖大会上,高德地图技术团队向与会者分享了包括视觉与机器智能、路线规划、场景化/精细化定位时空数据应用、亿级流量架构演进等多个出行技术领域的热门话题。现场火爆,听众反响强烈。我们把其中的优秀演讲内容整理成文并陆续发布出来,本文为其中一篇。...