综合( 右侧选择分类 )
xiaozhi

27.如何使用useReducer Hook

看到“reducer”这个词,容易让人联想到Redux,但是在本文中,不必先理解Redux才能阅读这篇文章。咱们将一起讨论“reducer”实际上是什么,以及如何利用useReducer来管理组件中的复杂状态,以及这个新钩子对Redux意味着什么?Reducer 是什么鬼如果你熟悉Redux或数组上中的reduce方法,你大概就知道“reducer”是什么。 如果不熟悉,“reducer”大概是一
3153 人浏览
hangge

SpringBoot - 实现静态资源的访问(附:修改过滤规则、静态资源位置)

一、默认静态资源访问策略(1)当我们使用IntelliJ IDEA创建Spring Boot项目,会默认创建classpath:/static/目录,我们直接把静态资源放在这个目录下即可。(2)我们直接在浏览器中输入“http://localhost:8080/java.png”即可看到我们添加的这张图片。二、自定义策略如果默认的静态资源过滤策略不能满足开发需求,也可以自定义静态资源过滤策略,自定
3153 人浏览
xiaozhu

【HTTP】如何避免OPTIONS请求?

场景:在调用后端接口的时候会出现两次请求:OPTIONS请求和GET请求。OPTIONS请求耗费了一定的时间,需减少OPTIONS请求。查找原因是浏览器对简单跨域请求和复杂跨域请求的处理区别。XMLHttpRequest会遵守同源策略(same-origin policy). 也即脚本只能访问相同协议/相同主机名/相同端口的资源, 如果要突破这个限制, 那就是所谓的跨域, 此时需要遵守跨域资源共享
3152 人浏览
hangge

Docker - 离线安装 docker-compose(以CentOS系统为例)

公司服务器已经安装了Docker环境,但没有安装Docker Compose,使用起来十分不便。由于服务无法连接外网,下面演示如何离线安装Docker Compose。(1)首先访问docker-compose的GitHub版本发布页面:https://github.com/docker/compose/releases(2)由于服务器是CentOS系统,则下载Linux版本的Compose:
3151 人浏览
煊琰

架构师必须要知道的阿里的中台战略与微服务

传统企业平台都是烟囱式的系统架构,企业内部为了迎合业务发展不停的打造各种系统,导致各系统间的重复功能建设和维护带来的重复投资。重复投资不仅消耗的是人力,财力还有时间。但打通烟囱式系统间交互的集成和协作成本高昂,各大企业不得不借助ESB产品,构建企业服务总线,打通各系统间的交互问题。 但这种借助ESB“中心化”的服务架构缺点也有不少,“中心化”架构的所有服务调用者和服务提供者之间的交互都必须通过这个
3150 人浏览
煊琰

没有网站,靠什么来吸引近9亿的互联网用户

2018年水果连锁企业百果园,其线上销售额突破20亿元、日订单量达6万单,光小程序用户数累计达到了1300万。数据显示,以互联网起家的瑞幸咖啡在2018年的互联网市场占有率在30%左右,而作为咖啡巨头的星巴克互联网市场占有率仅10%左右。为什么会出现如此差距呢?除了线下大量的广告投入之外,在线上投入一系列的运营平台也是重中之重;那么如何更好利用线上运营平台来吸引目标用户呢?1、以PC端企业官方网站
3150 人浏览
web

前端Vue使用ali-oss实现文件上传到oss

前端使用ali-oss实现文件上传到oss项目地址:ali-oss1,安装依赖 npm install ali-oss --save 2,创建自己的ossClient.jsconst OSS = require('ali-oss'); export default function Client(data='custom-data') { // console.log('bucket
3147 人浏览
android02

安卓app升级的3种方式及交互细节

app升级是一个看似简单其实很复杂的事情;网页可以随时更新,用户不需要做任何操作就可以升级到最新版本;但app每次版本发布都需要用户配合才能完成。如何在不同的网络环境下,尽量不打扰用户,让更多的用户完成版本升级?我们以几个电商app为例,来研究下他们是怎么做的。一、WIFI环境(WLAN) 1. 静默升级、自动下载、提示升级如图14-1,京东、天猫、苏宁正好代表了目前主要的3种升级方式。京东采用的
3147 人浏览
煊琰

阿里巴巴再放大招,联合汉仪重磅推出五款人工智能字体!

众所周知传统做字的人力成本非常之高,如果全靠人类设计师来完成,一套标准字库从设计到完成需要一年多的时间。而现在,机器解放人类。AI字体设计师将人力成本降到一半,人机比降到50%左右甚至更低。2018年4月份,阿里巴巴联手汉仪字库发布了全球第一款人工智能中文——阿里汉仪智能黑体。经过一年的进化升级,2019年3月中旬,阿里巴巴与汉仪再发大招,一次性推出五款由汉仪字库协同阿里人机自然交互实验室,通过强
3147 人浏览
hangge

K8s - Kubernetes集群的安装部署教程(CentOS系统)

本文演示如何搭建一个三节点的Kubernetes Cluster集群(一个master节点和两个node节点),并且这三台服务器使用的都是CentOS 7系统。一、准备工作(三个节点都需要设置)1,安装 Docker所有的节点都需要安装Docker,具体步骤可以参考我之前写的文章:CentOS下 Docker、Docker Compose 的安装教程(附详细步骤)2,安装 kubelet、kube
3140 人浏览
煊琰

阿里工程师养了只“二哈”,专治讨厌的骚扰电话

前几天的3.15晚会上曝光了利用智能机器人,一天打4万个骚扰电话,从而赚取利润的黑色产业链。阿里的工程师恼了,技术是用来让人们生活变美好的,不是被利用来走向阴暗的。机器人的问题交给机器人!工程师们用业余时间开发的AI机器人——“二哈”要登场了~视频感受一下咱们“二哈”,连女推销员都丝毫没有察觉。1、 别惹程序员,用机器人对付机器人研发“二哈”,其实就是阿里的技术人,对日益普遍的骚扰电话很头疼,而且
3138 人浏览
cheng

count(0)、count(1)和count(*)、count(列名)、sum(列名)的区别

1、从执行结果上分析:(1)、count(0)、count(1)和count(*)不会过滤空值(2)、count(列名)会过滤空值ps:同样的数据2、从执行效率上分析: (1)、如果列为主键,count(列名)效率优于count(1)(2)、如果列不为主键,count(1)效率优于count(列名) (3)、如果表中存在主键,count(主键列名)效率最优 3、总结:(1)、count(值),如果
3137 人浏览
xiaozhi

25.JavaScript什么时候不使用箭头函数

原文:https://dmitripavlutin.com/when-not-to-use-arrow-functions-in-javascript/译者:前端小智为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!这些年来,ES6 将 JS 的可用性提升到一个新的水平时: 箭头函数、类等等,这些都很棒。箭头函数是最有价值的新功能之一,有很
3135 人浏览
php

vim如何显示行号

在 vim 里执行(在普通模式下直接按冒号,并输入下面的命令):set number回车后就可以显示行号了
3130 人浏览
kotlin

Kotlin进行服务端开发

Kotlin非常适合开发服务器端应用程序,允许编写简洁明了的代码,同时保持与现有基于Java的技术堆栈的完全兼容性和平滑的学习曲线:表现力:Kotlin的创新语言功能,如支持类型安全的构建器 和委托属性,可帮助构建功能强大且易于使用的抽象。可扩展性:Kotlin对协同程序的支持有助于构建服务器端应用程序,以适度的硬件要求扩展到大量客户端。互操作性:Kotlin与所有基于Java的框架完全兼容,可以
3123 人浏览
android02

Android加载GIF图片的两种方式

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

android 获取视频第一帧作为缩略图

今天,简单讲讲android里如何获取一个视频文件的第一帧作为缩略图显示在界面上。之前,我说个最近需要从服务器下载视频文件,但是下载后肯定需要显示视频的缩略图在界面上给用户看,于是想到显示视频的第一帧作为缩略图。但是我不知道具体怎么写,于是在网上查找资料,最终是解决了问题。这里记录一下。一.使用MediaMetadataRetriever获取视频的第一帧作为缩略图/** * 获取视频文件截图
3118 人浏览
hangge

SpringBoot - 自定义启动Banner(附:使用艺术字体)

我们知道Spring Boot项目启动时会在控制台打印出一个banner,下面演示如何定制这个banner。1,修改 banner 文字(1)首先在resources目录下创建一个banner.txt文件。(2)在这个文件中写入的文本将在项目启动时打印出来。比如我写入如下内容:12345-----------------------welcome to hangge.com------------
3118 人浏览
cnbzlj

Android EventBus使用详解(二)

这篇文章介绍EventBus的高级用法(线程模式,粘性事件,事件优先级),EventBus的基础用法,请移步到: Android EventBus使用详解(一) 线程模式EventBus支持订阅者方法在不同于发布事件所在线程的线程中被调用。你可以使用线程模式来指定调用订阅者方法的线程。EventBus总共支持5种线程模式: ThreadMode.POSTING 订阅者方法将在发布事件所
3118 人浏览
androidproject

Android 动画详尽教程

Android Animation Detailed Tutorial / Android 动画详尽教程    中文讲解(README)请直接点击对应标题English explanation(or readme), Do not click on the title, please click on the tip address文章开篇总结性文章:《Android 一共有多少种动画?准确告诉你
3117 人浏览