• 国内开发flutter注意点
    重点提醒 如果你在中国的网络环境下使用 Flutter,查看是否需要对网络环境进行特别设置。 在中国网络环境下使用 Flutter 欢迎你来到由中国 Flutter 社区维护的中文 Flutter 资源网站:https://flutter.cn 如果你需要下载 Flutter SDK 的独立打包文件,你可以将下载链接前缀替换为你信任的镜像链接。 原始链接: https://storage.googleapis.com/flutter_infra_release/releases/stable/windows/flutter_windows_v1.0.0-stable.zip 镜像之后的链接: ...
    dmd19902021-09-20
     10
     
     
  • 深入理解Flutter空安全
    自 Dart 2.0 替换了静态可选类型系统为 健全的静态类型系统 后,空安全是我们对 Dart 作出最大的改变。在 Dart 初始之际,编译时的空安全是一项少有且需要大量时间推进的功能。让我们来看下面这个例子: // Without null safety: bool isEmpty(String string) => string.length == 0; main() { isEmpty(null); } 如果你在运行这个 Dart 程序时并未使用空安全,它将在调用 .length 时抛出 NoSuchMethodError 异常。 null 值是 Null 类的一个实例,而 Nu...
    dmd19902021-09-20
     11
     
     
  • ES6 模块 与 CommonJS 模块 的区别 与 共同点
    一、区别 CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。 CommonJS 模块的require()是同步加载模块,ES6模块的import命令是异步加载,有一个独立的模块依赖的解析阶段。 CommonJS 是对模块的浅拷贝,ES6 Module是对模块的引用,即ES6 Module 只存之读,不能改变其值,具体点就是指针指向不能变,类似const。 import 的接口是read-only(只读状态),不能修改其变量值。即不能修改其变量的指针指向,但可以改变变量内部指针指向。可以对CommonJS 重新赋值(改变指针指向),但是对ES6 Module 赋值会编译报错。 二...
    albert2021-09-18
     15
     
     
  • EhCache手动实现当前用量监控
    前言:EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。Spring 提供了对缓存功能的抽象:即允许绑定不同的缓存解决方案(如Ehcache),但本身不直接提供缓存功能的实现。它支持注解方式使用缓存,非常方便。 问题:ehCache使用起来是非常便捷方便的,并且ehcache支持三级缓...
    Dane.shang2021-09-14
     40
     1
     1
  • spring框架中进行参数校验
    一、前言 在后端项目中,我们在做接口开发的时候,多多少少的,总会遇到需要做参数校验的情况。不同的框架会有不同的处理方式,这里我们整理下spring框架下的参数校验。 主要的校验器有两种 hibernate-validator spring-boot-starter-validation 这两种都是对JSR303的实现,而spring-boot-starter-validation 又是对 hibernate-validator的二次封装。 二、常规使用 @Data public class Article { @NotBlank private String title; } ...
    落雁沙2021-09-12
     42
     
     
  • 回溯算法(应该是吧,据说是的哇)
    我直接抛玉吧,如算法有误还请指出,哇哈哈哈哈哈哈哈 树组件的checked状态初始化:根据选中的ID初始化树组件需要的数据类型。例如父是选中状态,子孙全选中;子全选中,对应父选中,父级非全选中,爷爷级就半选;子集飞全选中,父级半选等一次类推。 根据选中的ID初始化checked 选中id对应的子全为选中状态,父级为半选状态 true全选 false半选 'mid' 半选 let data = [ { id: 1, children: [ { id: 11, children:...
    xlynn2021-09-08
     47
     1
     4
  • Vue-router关于props属性的配置
    Vue对于route配置的时候可以选择配置props属性 1.单个路由组件中使用,即没有命名视图 route = [ { path: '/test', name: 'test', component: () => import('@/views/test.vue'), props: true }, .... ] 配置后需要在对应路由组件中声明传递的props才能获取到,如果未进行声明是不可获取的。对应的动态路由传参和params传参皆可。我使用query传参是获取不到,不知道是不是姿势不对。 2.多个路由组件中使用,即命名视图 route = [ {...
    xlynn2021-09-07
     38
     
     
  • axios response interceptor 无效
    axios 版本:0.21.2 该版本有Bug 会导致 response interceptor 不生效 官方如未解决,建议使用 0.22.1 并且锁版本
    落雁沙2021-09-05
     45
     
     
  • Clickhouse分卷策略
    背景 clickhouse在19年之前的版本都只能挂载单数据盘。单数据盘运维起来还是比较简单的,但是大规模生产部署后,这种弊端就很多 成本很高,利用率很低,数据被限制在单盘上,当存储资源不够,只能被动的扩单盘 不具备高可用的能力,单盘故障,整个集群就故障了,风险非常高 没有冷热数据的处理能力,性能会受较大影响。举个例子,我需要将热数据存储于SSD盘,而不怎么使用的数据存储于HDD盘,这时候多磁盘分卷部署的能力就体现出来了 在19年底的版本里,clickhouse提供了分卷的策略能力,使集群具备分层存储,能够挂多个数据盘,可用性和经济性大大提升 clickhouse多卷架构 在了解如何使用之前,...
    silen2021-09-03
     45
     1
     
  • vue-router重定向
    每日一小点 路由重定向 const routes = [ { path: '/', redirect: '/home' }, { path: '/home', component: Home } ] 访问路劲'/'会重定向到'/home里面去'/home'对应的视图。 除了path,也可以使用name进行重定向,这个与导航相似不在重复; redirect接受一个函数的时候: { path: '/', redirect: (to) => { const { params, query } = to; if...
    xlynn2021-09-02
     42
     
     3