徐小夕 徐小夕
5年前
10分钟教你手写8个常用的自定义hooks
前言Hook是React16.8的新增特性。它可以让你在不编写class的情况下使用state以及其他的React特性。本文是一篇以实战为主的文章,主要讲解实际项目中如何使用hooks以及一些最佳实践,不会一步步再介绍一遍reacthooks的由来和基本使用,因为写hooks的文章很多,而且官网对于reacthooks的介绍也很详细
Wesley13 Wesley13
4年前
java8新特性function和lambda深度解析
继续java8新亮点的源码之路,functionalinterface是一个跳不过的坎,它与lambda的结合使用非常普遍。java.util.function包对于每一个java工程师来说是必备技能,也是最基础的能力,一定要掌握。headicon函数编程的最直接的表现在于将函数作为数据自由传递,结合泛型推导能力使代码表达能力获得飞一般的
Stella981 Stella981
4年前
EventBus 线程切换原理
主要问题其实只有两个,其一:如何判断当前发送事件的线程是否是主线程;其二:如何在接收事件时指定线程并执行;一个一个来看。1.如何判断是否在主线程发送EventBus在初始化的时候会初始化一个MainThreadSupport对象,它会去获取主线程的Looper对象并存起来。(当前最新版本如果不是Android环境MainThread
Stella981 Stella981
4年前
IOS开发笔记(Swift):Cocoapods安装与使用
  最近在学习ios开发,下载了github上面很多优秀的源码,发现很多项目都包含Pods这个东西,在本地编译的时候总是编译不通过,于是搜索了一下Cocoapods,根据网络上的一些文章做了了解,并进行了安装使用,本篇来简单的整理一下。    首先,我们需要搞定楚Cocoapods是什么?来看一下官网(https://www.oschina.
Wesley13 Wesley13
4年前
Java获取文件类型的5种方法
前言工作中经常会用到,判断一个文件的文件类型,这里总结一把,一般判断文件类型的原理有2种方式:1.根据文件扩展名判断优点:速度快,代码简单缺点:无法判断出真实的文件类型,例如一些伪造的文件或者没有后缀名称的文件3.根据文件流中前几个字符判断
Stella981 Stella981
4年前
Docker学习——多阶段构建(六)
之前的做法在Docker17.05版本之前,我们构建Docker镜像时,通常会采用两种方式:全部放入一个Dockerfile一种方式是将所有的构建过程编包含在一个Dockerfile中,包括项目及其依赖库的编译、测试、打包等流程,这里可能会带来的一些问题:1、Dockerfile特别长,可维护性降低2、镜像层次多,镜像体积较大,
Stella981 Stella981
4年前
Golang的项目目录结构
1.简单型的项目目录结构如果我们只是开发一个小应用或者做一些简单的测试,那么完全没有必要根据官方的建议建立各种目录,只需要要一个文件夹中放置我们的源码文件,然后直接运行gobuild就可以,例如:gobuildhello.go然后编译器就会在当前目录下面生成一个hello.exe文件。我们
Wesley13 Wesley13
4年前
UDT协议实现分析——UDT Socket的创建
UDTAPI的用法在分析连接的建立过程之前,先来看一下UDTAPI的用法。在UDT网络中,通常要有一个UDTServer监听在某台机器的某个UDP端口上,等待客户端的连接;有一个或多个客户端连接UDTServer;UDTServer接收到来自客户端的连接请求后,创建另外一个单独的UDTSocket用于与该客户端进行通
Easter79 Easter79
4年前
SVG 如何绘制椭圆
本节我们来学习如何在SVG中绘制椭圆,椭圆和圆形有点像,但是又不一样。圆形只有一个半径,而椭圆x轴和y轴上的半径不同,所以椭圆就是一个不规则的圆。如何绘制一个椭圆在绘制椭圆时,可以通过cx和cy属性确定椭圆的圆心,rx设置椭圆的x轴的半径,ry设置y轴的半径。
Wesley13 Wesley13
4年前
Linux自动备份脚本
今天网上一个朋友问了我一个shell的题目,让我帮他做下。下面是题目以及解题思路。题目:写作一个备份/etc目录的脚本,要求:将/etc目录下的所有文件cp到/var/backups目录下的以当天的日期命名的目录中例如(/var/backups/etc.20140809)。并且判断前一天的目录中的文件与当天的区别,如果无区别