2019-11-02 11:00
Power BI支持行级安全(Row-Level Security,RLS)的权限控制,用于限制用户对Dashboard、报表和DataSet的访问。用户浏览的报表是相同的,但是看到的数据却是不同的。
RLS内部通过DAX函数 username() 和 userprincipalname()来实现,RLS使得PowerBI能够在行级别上对用户访问的数据进行限制。这两个函数在PowerBI Desktop中返回的都是用户的信息,只不过格式不同:
username() :返回 domain\user_name
...
2019-11-02 11:59
A NoOp Garbage Collector
没有操作的垃圾收集器
JDK上对这个特性的描述是:开发一个处理内存分配但不实现任何实际内存回收机制的GC, 一旦可用堆内存用完,JVM就会退出。
如果有System.gc()调用,实际上什么也不会发生(这种场景下和-XX:+DisableExplicitGC效果一样), 因为没有内存回收,这个实现可能会警告用户尝试强制GC是徒劳。
-XX:+UnlockExperimentalVMOptions
-XX:+UseEpsilonGC
我们写一段代码,不断的产生垃圾:
...
2019-11-02 11:21
上一章,我们添加了游戏的主界面和注册登录功能。由于距离上上篇间隔较长,可能有些内容想些的后来就忘了。同时,逻辑也不复杂,所以描述比较粗略。
现在随着模块的增加,整个架构也暴露出一些问题。本章我们将对整个系统进行大规模重构。
比如,之前为了快速开发,rms模块,我们采用了直接访问数据库的方式,对于rms模块本身来说,没有什么问题。
但是,在game模块中,对于频繁访问的、不经常改变的数据或接口,希望采用缓存的方式,将数据缓存起来,减少后端压力,同时加快响应速度,从而提升体验。
...
2019-11-02 11:27
关于赋值、浅拷贝、深拷贝,以前也思考良久,很多时候都以为记住了,但是,我太难了。今天我特地写下笔记,希望可以完全掌握这个东西,也希望可以帮助到任何想对学习这个东西的同学。
一、栈、堆、指针地址
栈内存:个人理解是,基本数据类型和引用数据类型都会用到的一个空间,这个空间以key-value形式存在,value本身不可修改,只能赋值替换;栈会自动分配空间并且系统会自动释放掉;
堆内存:堆,就是堆积,每一个被开辟的空间可以想象成一个空纸盒子,纸盒子所在的纸盒子堆就是 “堆” 。基本数据类型没有堆的概念。堆,只针对引用数据类型。存储方式应该是以对象(object)形式保存,对象内容包含key-value形式数据,value本身同样不可修改,只能赋值替换;堆是动态分配的空间,并且系统不会自动释放;
...
2019-11-02 11:26
Simulate Anneal模拟退火算法,是一种用于得到最优解的随机化算法。
如果可以打一手漂亮的随机化搜索,也许当你面对一筹莫展的神仙题时就有一把趁手的兵器了。
这篇题解将教你什么?SA的基本思路,什么时候能用SA。
标题是浅谈,所以本篇博客参杂了些许个人简介,若有疑问或异议,欢迎提出指正。
我也很感谢你们给出的建议,它们真的能让我变好、变强。
那么我们进入本篇正题。
1. 什么是模拟退火:
模拟退火是一种在广大的搜索空间寻找最优解的随机化算法。我们看名字就明白,这个算法实在模拟物理中退火的过程。知识很多时候都是相通的,我们学习的大部分知识都是有用的。
...
2019-11-02 11:33
本文是「vangoleo的Go语言学习笔记」系列文章之一。
官网: http://www.vangoleo.com/go/hello-golang/
我在2015年第一次接触Go语言,完成了Hello World,随后也一直在关注这门新语言。至今,Go语言发展已经过去十年多了,越来越受到广大开发者的关注,而且随着云原生、IoT、区块链的流行,Go似乎要成为21世纪的第一语言。Docker、Kubernetes、以太坊等重量级的项目都是基于Go开发。
Go语言是Google公司在2009年开源的一门高级编程语言,它为解决大型系统开发过程中的实际问题而设计,支持并发、规范统一、简单优雅,性能强大,被很多Go语言传道者誉为“云计算时代的C语言”。
...
2019-11-02 11:45
Python序列类型的本质在本博客中,我们将学习探讨Python的各种“序列”类,内置的三大常用数据结构——列表类(list)、元组类(tuple)和字符串类(str)的本质。...
2019-11-02 11:18
在前段时间,分享了几篇关于appium基础的博文,再加上期间也有讲到unittest测试框架,所以今天就来一个专题,在appium+python实现的线性代码基础上,引入unittest框架,使代码更简洁。
之前的博客,可以见以下链接快速阅读:
基于Python的Appium环境搭建合集
Genymotion模拟器的安装及脚本制作
Appium Python API 中文版
Appium-Server与Appium-Desktop的区别
单元测试框架Uinttest一文详解
在以上博文中,代码示例,很多只是个线性脚本,没有太多的实用之处,用来写个demo还是可以,但实际运用到产品中,就不行了。脚本还是得引用框架,这样看起来,代码就不会那么乱,更有逻辑性,便于维护。
...
2019-11-02 11:15
目录
概念
一致性证明和审计证明
默克一致性证明
默克审计证明
使用证明
译:How Log Proofs Work
概念
证书透明日志使用特殊的加密算法有助于证书和日志的公共审查。这个特殊的加密算法称作默克哈希树(Merkle hash tree) ,一种包含哈希叶和结点的简单二叉树(图1)。叶子是已附加到日志中的单个证书的哈希。节点是成对的子叶或成对的子节点的哈希。所有叶子和结点的根,即根哈希称作默克树哈希(Merkle tree hash)。当日志服务器对默克树哈希(及其他信息)签名,称为签名树头(STH:signed tree head )。
...