zm.blog

select * from learn


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 搜索

一些架构设计原则

发表于 2019-03-02 | 分类于 Java , 架构设计与原则 | | 阅读次数:

《Clean Architecture》一书中对于软件架构目的的解释:

The goal of software architecture is to miminize the human resources required to build and maintain the required system.

即:软件架构的目的就是将构建和维护系统需要的人力成本降到最低。

因此,可以得出架构设计的关键思维就是判断和取舍(程序设计的关键思维是逻辑和实现),即如何选择技术、组合技术使得需要的人力资源最少。

需要注意的一点是,脱离业务谈架构是不合理的,技术架构及其演进都是业务目标驱动的。

架构原则

img

阅读全文 »

谈谈架构的概念、架构的形式、架构设计原则

发表于 2019-03-02 | 分类于 Java , 架构设计与原则 | | 阅读次数:

阅读全文 »

小程序原生高颜值组件库--ColorUI组件库

发表于 2019-02-28 | 分类于 前端 , 小程序 | | 阅读次数:

简介

ColorUI是一个Css类的UI组件库!不是一个Js框架。相比于同类小程序组件库,ColorUI更注重于视觉交互!

浏览GitHub:https://github.com/weilanwl/ColorUI

阅读全文 »

ViewPager要被废弃?官方ViewPager2升级版来临

发表于 2019-02-28 | 分类于 Android , View | | 阅读次数:

从文档注释来看ViewPager2确实是用来替代ViewPager 的,顺带解决之前ViewPager的一些问题,并且加入了 RTL,竖向滚动支持,下面一起来详细看下吧。

ViewPager2 replaces ViewPager, addressing most of its predecessor’s pain-points, including right-to-left layout support, vertical orientation, modifiable Fragment collections, etc.

概述

这两天浏览安卓开发者官网的时候,发现google悄然推出了一个新的控件:ViewPager2,一看名称就知道这是一个和我们常用的ViewPager功能相似的控件,算是ViewPager的升级版吧。目前还只是推出了第一个预览版,我们可以直接引入来使用了:

1
implementation 'androidx.viewpager2:viewpager2:1.0.0-alpha01'

https://developer.android.google.cn/reference/androidx/viewpager2/widget/ViewPager2

阅读全文 »

Java 函数式编程和 lambda 表达式

发表于 2019-02-26 | 分类于 Java , 基础 | | 阅读次数:

为什么要使用函数式编程

函数式编程更多时候是一种编程的思维方式,是种方法论。函数式与命令式编程的区别主要在于:函数式编程是告诉代码你要做什么,而命令式编程则是告诉代码要怎么做。说白了,函数式编程是基于某种语法或调用API去进行编程。例如,我们现在需要从一组数字中,找出最小的那个数字,若使用用命令式编程实现这个需求的话,那么所编写的代码如下:

1
2
3
4
5
6
7
8
9
10
11
public static void main(String[] args) {
int[] nums = new int[]{1, 2, 3, 4, 5, 6, 7, 8};

int min = Integer.MAX_VALUE;
for (int num : nums) {
if (num < min) {
min = num;
}
}
System.out.println(min);
}

而使用函数式编程进行实现的话,所编写的代码如下:

1
2
3
4
5
6
public static void main(String[] args) {
int[] nums = new int[]{1, 2, 3, 4, 5, 6, 7, 8};

int min = IntStream.of(nums).min().getAsInt();
System.out.println(min);
}
阅读全文 »

js中字符串全部替换

发表于 2019-02-22 | 分类于 前端 , JavaScript | | 阅读次数:

在js中字符串全部替换可以用以下方法:

1
str.replace(/需要替换的字符串/g,"新字符串")

比如:

1
2
3
4
"yyyy-MM-dd-hh-mm-ss".replace(/-/g,"/")

结果如下:
"yyyy/MM/dd/hh/mm/ss"

原理请看JavaScript replace() 方法介绍

阅读全文 »

js获取指定字符前/后的字符串简单实例

发表于 2019-02-22 | 分类于 前端 , JavaScript | | 阅读次数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<script type="text/javascript">
/*
string 字符串;
str 指定字符;
split(),用于把一个字符串分割成字符串数组;
split(str)[0],读取数组中索引为0的值(第一个值),所有数组索引默认从0开始;
*/
function getStr(string,str){
var str_before = string.split(str)[0];
var str_after = string.split(str)[1];
alert('前:'+str_before+' - 后:'+str_after);
}
</script>
<body>
<input type="button" onClick="getStr('string','r');" value="获取值" />
</body>
</html>
阅读全文 »

Charles在线破解工具

发表于 2019-02-13 | 分类于 工具 | | 阅读次数:

点击在线生成破解后的charles.jar文件

用法

输入RegisterName(此名称随意,用于显示 Registered to xxx),选择本地已安装的版本,点击生成,并下载charles.jar文件

替换本地charles.jar文件

macOS: /Applications/Charles.app/Contents/Java/charles.jar

Windows: C:\Program Files\Charles\lib\charles.jar

阅读全文 »

Mac端口被占用的解决办法(Hexo为例)

发表于 2019-01-25 | 分类于 Mac , 其他 | | 阅读次数:
  • 查看端口 看看端口被哪个进程占用 lsof -i :4000
  • 输入kill PID 记住要杀掉的进程PID,加在kill -9后面 kill -9 16149

阅读全文 »

vue.js面试中常问知识点整理

发表于 2019-01-25 | 分类于 前端 , Vue | | 阅读次数:

看看面试题,只是为了查漏补缺,看看自己那些方面还不懂。切记不要以为背了面试题,就万事大吉了,最好是理解背后的原理,这样面试的时候才能侃侃而谈。不然,稍微有水平的面试官一看就能看出,是否有真才实学还是刚好背中了这道面试题(有空再把例子中代码补上)。

一、对于MVVM的理解?

MVVM 是 Model-View-ViewModel 的缩写。

  • Model 代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。
  • View 代表UI 组件,它负责将数据模型转化成UI 展现出来。
  • ViewModel 监听模型数据的改变和控制视图行为、处理用户交互,简单理解就是一个同步View 和 Model的对象,连接Model和View。

在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。

ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。

阅读全文 »
1…192021…38
ZhangMiao

ZhangMiao

Android/Flutter Developer

379 日志
58 分类
143 标签
RSS
E-Mail QQ Github StackOverflow
友情链接
  • Kaisir
  • Liujianhui
  • Leo
  • Hongyang
  • Liuwangshu
  • Jspang
  • Blankj
  • WuXiaoLong
  • Molunerfinn
  • Ofind
  • Gcssloop
© 2024 ZhangMiao
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
本站访客数 人次 本站总访问量 次