-
kotlin
-
Kotlin非常适合开发服务器端应用程序,允许编写简洁明了的代码,同时保持与现有基于Java的技术堆栈的完全兼容性和平滑的学习曲线:表现力:Kotlin的创新语言功能,如支持类型安全的构建器 和委托属性,可帮助构建功能强大且易于使用的抽象。可扩展性:Kotlin对协同程序的支持有助于构建服务器端应用程序,以适度的硬件要求扩展到大量客户端。互操作性:Kotlin与所有基于Java的框架完全兼容,可以
-
cnbzlj
-
这篇文章介绍EventBus的高级用法(线程模式,粘性事件,事件优先级),EventBus的基础用法,请移步到:
Android EventBus使用详解(一)
线程模式EventBus支持订阅者方法在不同于发布事件所在线程的线程中被调用。你可以使用线程模式来指定调用订阅者方法的线程。EventBus总共支持5种线程模式:
ThreadMode.POSTING 订阅者方法将在发布事件所
-
andy
-
来源 https://www.oschina.net/news/84850/reflections-of-an-old-programmer<本文是国外一位 40 岁“老”程序员对职业生涯的思考,他认为从长远来看,应该多投资一些不容易过期、衰竭期较长的知识领域中。译文大意如下>我是一名程序员,几个月前刚过完四十岁生日。某个星期六的早晨,我参加了一个 React Native 技术交流会
-
hangge
-
六、Lombok 注解详解(3)8,@Data(1)@Data 是一个复合注解,用在类上,使用后会生成:默认的无参构造函数、所有属性的 getter、所有非 final 属性的 setter 方法,并重写 toString、equals、hashcode 方法。package com.example.demo;
import lombok.Data;
@Data
public c
-
xiaozhi
-
为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!到 React 16.8 目前为止,如果编写函数组件,然后遇到需要添加状态的情况,咱们就必须将组件转换为类组件。编写class Thing extends React.Component,将函数体复制到render()方法中,修复缩进,最后添加需要的状态。今天,可以使用 Hook 获得相同的
-
iOS
-
本文代码源于自己的项目,亲测可行,简单易上手。我们知道,从iOS8后,已经使用UIAlertController来取代UIAlertView和UIAlertSheet。弹出菜单的方法,实现如下:-(void)creatActionSheet {
/*
先创建UIAlertController,preferredStyle:选择UIAlertControllerStyleAct
-
cheng
-
justify-content(在父元素设置)设置弹性盒子元素在主轴(横轴)的对齐方式。取值:justify-content: flex-start | flex-end | center | space-between | space-around;flex-start: 弹性盒子元素将向行起始位置对齐。第一个元素与左起始边界对齐,后面的元素接着第一个元素进行排列。flex-end: 弹性盒子元
-
煊琰
-
阿里妹导读:随着深度学习,尤其是CNN和RNN等技术的飞速发展,文字识别技术(OCR)近几年得到了迅速的提升。与此同时,在智能化终端的大趋势下,本地化智能识别凭借更高效快捷的体验以及高度的隐私保护和零流量消耗等优势备受瞩目和亲睐,越来越多的应用算法开始倾向终端化完成,OCR也不例外。接下来,蚂蚁金服的算法专家亦弦为我们剖析这个轻量而精准的移动端OCR引擎——xNN-OCR。背景及概述移动端OCR的
-
web
-
指定只允许选择图片accept="image/*"例如:<input type="file" name="file" class="element" accept="image/*">但是:这段代码在Chrome和Safari等Webkit浏览器下却出现了响应滞慢的问题,可能要等 6~10s 才能弹出文件选择对话框。简直不能忍呀。解决方法:确切指定类型例如:<input typ
-
xiaozhi
-
1. 交换变量通常交换两个变量的方法需要一个额外的临时变量,来看看例子:leta=1;
letb=2;
lettemp;
temp=a;
a=b;
b=temp;
a;//=>2
b;//=>1temp是一个临时变量,它先保存a的值。然后把b的值赋值给a,接着将temp值赋给b。如果使用解构的方式会更简单,不需要什么鬼的temp变量。leta=1;
letb=2
-
cnbzlj
-
废话不多少,直接上代码:String path = Environment.getExternalStorageDirectory().getPath();
MediaMetadataRetriever media = new MediaMetadataRetriever();
media.setDataSource(path+"/123.rmvb");
Bitmap bitmap = m
-
web
-
转载请标明出处:http://blog.csdn.NET/lmj623565791/article/details/...哈,首先感谢下w3cfuns的老师,嗯~好了,这次给发夹分享一个CSS3+JavaScript VCD包装盒个性幻灯片的一个案例。效果图:图片切换是不是很个性,效果也很不错,大家可以将其使用到自己的网站上。先看下html:<!DOCTYPE HTML PUBLIC "-/
-
wechat
-
微信小程序behaviorsbehaviorsbehaviors 是用于组件间代码共享的特性,类似于一些编程语言中的“mixins”或“traits”。每个 behavior 可以包含一组属性、数据、生命周期函数和方法。组件引用它时,它的属性、数据和方法会被合并到组件中,生命周期函数也会在对应时机被调用。 每个组件可以引用多个 behavior ,behavior 也可以引用其他 behavior
-
hgweb
-
一、CSS reset(样式重置)1,什么是 CSS reset?(1)HTML标签在浏览器中都有默认的样式,但是不同的浏览器的默认样式存在差别。例如ul默认带有缩进样式,在IE下,它的缩进是由margin实现的,而在Firefox下却是由padding实现的。(2)开发时浏览器的默认样式可能会给我们带来多浏览器兼容性问题,影响开发效率。现在很流行的解决方式是一开始就将浏览器的默认样式全部覆盖掉,
-
android
-
三)常见的一些原理性问题1、Handler机制和底层实现 机制:hanlder是android线程间通信的一种实现,以消息队列的方式实现线程间数据的共享,通过Looper不断的轮询消息队列来 获取数据 底层:MessageQueen、Looper以及Looper内部的ThreadLocal,我们在线程中Looper对消息队列的管理过程离不开数据储存ThreadLocal,ThreadLocal在多
-
cnbzlj
-
今天,简单讲讲Android HttpUrlConnection的使用。我在项目里是使用OK HTTP的,但是最近发现使用OK HTTP好多不知道的问题,感觉自己对基本的网络请求不是很好的掌握,所以学习一下基本的网络请求类:HttpUrlConnection。一,HttpURLconnection的介绍在Android开发中网络请求是最常用的操作之一, Android SDK中对HTTP(超文本传
-
hangge
-
我们知道Spring Boot项目启动时会在控制台打印出一个banner,下面演示如何定制这个banner。1,修改 banner 文字(1)首先在resources目录下创建一个banner.txt文件。(2)在这个文件中写入的文本将在项目启动时打印出来。比如我写入如下内容:12345-----------------------welcome to hangge.com------------
-
wechat
-
1、wx.canvasToTempFilePath(Object object, Object this)他可以让咱们绘制好的canvas转化成图片, 但是如果用错了 就会出现 首次点击保存的时候 canvas 区域为空白区域, 第二次点击的时候就可以保存成图片。如果出现这种情况,那么好 我们都是属于没看文档就撸的男银…OK 开始说解决方法wx.canvasToTempFilePath(Objec
-
煊琰
-
【卷首语】建立AI规则非常重要 但充分对话更重要 2016年,谷歌CEO Sundar Pichai宣布谷歌战略从Mobile First(移动优先)转向AI First(人工智能优先),在此之后,谷歌不仅在AI领域持续投入,更把谷歌云的主要竞争优势押注在AI领域。 但在2018年,谷歌的AI First战略受到了极大的打击:9月,谷歌首席AI科学家同时也是谷歌云AI负责人李飞飞宣布离开谷歌;11
-
hgother
-
一、常用快捷键作用windows 快捷键macOS 快捷键全局搜索ctrl + shift + Fcommand + shift + F代码格式化ctrl+ alt + Lcommand + option + L去掉无用的包的引用ctrl + alt + Ocontrol + option + O注释ctrl + /command + /多行注释ctrl + shift + /command +