next

Intellij Idea创建Android项目

生来就可爱ヽ(ⅴ<●) 提交于 2020-12-06 18:41:46
创建工程前请已下载安装好了Intellij Idea和Android SDK。 Intellij idea 2016.3.2 步骤 Android SDK设置 在FIle –> Other Settings –> Default Project Structure下,选择设置Project SDK,点击New. 选择你Android SDK根目录,按提示选择确认,最后Apply –> OK. 创建AndroidDemo项目 在File –> New –> Project , 选择Android项目,一直Next知道Finish。 Next. 一直到Finish即可完成。 问题 创建项目第一步IDE提示,没有AndroidSDK。这是因为没有在Default Project Structure中配置SDK的原因,按照配置上述步骤添加。 Building xxx Gradle Project info 一直卡住。这是Gradle在本地用户目录没有下载好的原因。参考 链接 设置即可解决问题。 来源: oschina 链接: https://my.oschina.net/u/4350015/blog/3896127

django安装使用教程

早过忘川 提交于 2020-12-06 18:39:20
Django Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Thanks for checking it out. All documentation is in the " docs " directory and online at https://docs.djangoproject.com/en/stable/ . If you're just getting started, here's how we recommend you read the docs: First, read docs/intro/install.txt for instructions on installing Django. Next, work through the tutorials in order ( docs/intro/tutorial01.txt , docs/intro/tutorial02.txt , etc.). If you want to set up an actual deployment server, read docs/howto/deployment/index.txt for

ubuntu16.04安装matlab2016b

試著忘記壹切 提交于 2020-12-06 18:33:54
一、matlab2016b版本下载 在ubuntu下安装matlab2016b,需要三个文件,分别是:Matlab+2016b+Linux64+Crack.rar 、R2016b_glnxa64_dvd1.iso 和 R2016b_glnxa64_dvd2.iso,文件比较大,可以从这个 百度网盘 里获取,提取码是46cx。 二、安装过程记录 1.解压 解压前,我下载的源码包的三个文件放入/home/ttwang/software/matlab下 rax Matlab+2016b+Linux64+Crack.rar 执行该命令后,终端显示界面及源码包目录下解压后的文件: 2.挂载dvd1.iso 建立挂载文件夹 /home/ttwang/matlab2016 mkdir /home/ttwang/matlab2016 然后挂载dvd1.iso文件 sudo mount -t auto -o loop /home/ttwang/software/matlab/R2016b_glnxa64_dvd1.iso /home/ttwang/matlab2016/ 如果挂载成功,将出现挂载目录,其内容如下图: 3.安装 我们能够看到,在挂载目录下有个 install 文件,我们返回当前的目录的上一级进行安装: cd ../ sudo /home/ttwang/matlab2016

学习Excel VBA(1)

北慕城南 提交于 2020-12-06 18:32:30
宏与VBA:宏可以通过录制宏生成,也可以用VBA编写 有时候我们不知道一个动作该怎么用VBA编写时,我们可以通过录制宏来查看他的具体操作,然后直接复制录制宏的代码即可。 一、VBA基础代码 1、 需要理解并记住写法的概念 完整的宏句式:Sub 宏1() ... ... End sub 定义变量: Dim i As Integer 即将变量 i 定义为整数 for循环: For i= 1 to 10…… Next step -1 步长为-1表示从后往前数 2、举例说明 结果展示 3、if 逻辑判断 需要理解并记住写法的概念有 IF……Then……Else End IF IF……Then…… ElseIF End IF Exit for 为退出循环 Range(" A"&i ) i 为变量 4、 计算个人所得税 二、操作工作表 worksheets 工作表对象 和 Application 主程序对象 1、worksheets 工作表对象 可执行的操作有:select、Add、Delete、Copy(方法) 可获取的信息:Count、Name(属性) 创建 3 张工作表:Worksheets. Add after :=Worksheet1(1 ) Count := 3 一般情况下 worksheets 也可以直接写成 sheets 2、处理考生成绩表 问题: 文件中包含多个表格

MySQL锁:InnoDB行锁需要避免的坑

生来就可爱ヽ(ⅴ<●) 提交于 2020-12-06 18:32:15
前言   换了工作之后,接近半年没有发博客了(一直加班),emmmm.....今天好不容易有时间,记录下工作中遇到的一些问题,接下来应该重拾知识点了。因为新公司工作中MySQL库经常 出现查询慢,锁等待,节点挂掉........等一系列问题 。导致每个程序员头都很大,一味抱怨“ 为什么我就查一条数据这么卡”,"我TM加了索引的啊,怎么还怎么慢 "...........我想默默说的是,大部分MySQL出现锁等待, 查询奇慢的情况基本都是因为SQL写的不好(有坑),或者数据表设计的不完善 。对,不用想!这些所有的坑很大一部分都是自己造成的。那么是什么原因造成的,大部分只是抱怨,而不去关注MySQL的一些细节问题,比如: MySQL行锁的细节,什么情况下会使用表锁等 。所以今天先讨论记录下InnoDB特有的行锁的一些细节,加强认识。    InnoDB不同于MyISAM最大的两个特点就是:一是支持事务,二是支持行锁 ;毋庸置疑,因为这两个特性大部分都采用InnoDB引擎,其中的支持行锁就是InnoDB适合多并发优势所在,但是行锁的一些细节没有深入理解过的话,可能会造成一定的误解,造成“ 看似命中索引,走行锁,结果却是表锁,最终导致锁等待情况 ”。 一、 InnoDB行锁的实现方式    通过给索引上的索引项加锁来实现的,也就意味着: 只有通过索引条件检索数据, InnoDB 才使用行级锁

Redis学习之dict字典源码分析

╄→гoц情女王★ 提交于 2020-12-06 18:25:54
字典,又叫映射,是一种用于保存键值对的抽象数据结构 划重点:抽象数据结构 Redisd字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表结点,而每个哈希表结点就保存了字典中的一个键值对 一.哈希表结构 // dictht 哈希表 // 每个字典都使用两个哈希表,从而实现渐进式 rehash typedef struct dictht { // 这是字典的头部 // 哈希表数组, 每个元素都是一条链表 dictEntry ** table; // 哈希表大小 unsigned long size; // 哈希表大小掩码,用于计算索引值 // 总是等于 size - 1 unsigned long sizemask; // 该哈希表已有节点的数量 unsigned long used; } dictht; table数组:存放键值对结点 size:哈希表大小,无符号long型 sizemark:恒等于size-1,这个值和哈希值一起决定一个键应该被放到table数组的那个索引上面 used:记录哈希表目前已有键值对的数量 字典使用两个哈希表,从而实现渐进式的rehash扩容! 二.哈希结点结构 // dictEntry 哈希表节点 typedef struct dictEntry { // 键 void * key; // 值 union { // 值v的类型可以是以下三种类型

Redis源码剖析之字典(dict)

强颜欢笑 提交于 2020-12-06 18:12:45
Dict在redis中是最为核心的一个数据结构,因为它承载了redis里的所有数据,你可以简单粗暴的认为redis就是一个大的dict,里面存储的所有的key-value。 redis中dict的本质其实就是一个hashtable,所以它也需要考虑所有hashtable所有的问题, 如何组织K-V、如何处理hash冲突、扩容策略及扩容方式…… 。实际上Redis中hashtable的实现方式就是普通的hashtable,但Redis创新的引入了 渐进式hash 以减小hashtable扩容是对性能带来的影响,接下来我们就来看看redis中hashtable的具体实现。 Redis中Dict的实现 dict的定义在dict.h中,其各个字段及其含义如下: typedef struct dict { dictType *type; // dictType结构的指针,封装了很多数据操作的函数指针,使得dict能处理任意数据类型(类似面向对象语言的interface,可以重载其方法) void *privdata; // 一个私有数据指针(privdata),由调用者在创建dict的时候传进来。 dictht ht[2]; // 两个hashtable,ht[0]为主,ht[1]在渐进式hash的过程中才会用到。 long rehashidx; /*

asp.net core 2.0的认证和授权

拈花ヽ惹草 提交于 2020-12-06 08:17:06
在asp.net core中,微软提供了基于认证(Authentication)和授权(Authorization)的方式,来实现权限管理的,本篇博文,介绍基于固定角色的权限管理和自定义角色权限管理,本文内容,更适合传统行业的BS应用,而非互联网应用。 在asp.net core中,我们认证(Authentication)通常是在Login的Post Action中进行用户名或密码来验证用户是否正确,如果通过验证,即该用户就会获得一个或几个特定的角色,通过ClaimTypes.Role来存储角色,从而当一个请求到达时,用这个角色和Controller或Action上加的特性 [Authorize(Roles = "admin,system")]来授权是否有权访问该Action。本文中的自定义角色,会把验证放在中间件中进行处理。 一、 固定角色: 即把角色与具体的Controller或Action直接关联起来,整个系统中的角色是固定的,每种角色可以访问那些Controller或Action也是固定的,这做法比较适合小型项目,角色分工非常明确的项目。 项目代码: https://github.com/axzxs2001/Asp.NetCoreExperiment/tree/master/Asp.NetCoreExperiment/%E6%9D%83%E9%99%90%E7%AE%A1

常见的基本数据结构——栈

穿精又带淫゛_ 提交于 2020-12-06 05:57:05
栈ADT 栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶。栈的基本操作有进栈(push)和出栈(pop),前者相当于插入,后者相当于删除最后的元素。在最后插入的元素可以通过使用Top例程在执行Pop之前进行考查。对空栈进行的Pop或Top一般被认为是栈ADT的错误。另一方面,当运行Push时空间用尽是一种实现错误,但不是ADT的错误。 栈有时又叫做LIFO(后进先出表)。 栈的实现 由于栈是一个表,因此任何实现表的方法都能够实现栈。两种流行的方法:一种是使用指针实现,一种是使用数组实现。 栈的链表实现 在表的顶端插入实现Push,在表的顶端删除实现Pop,Top只是返回顶端元素,有时Top和Pop两个也可以合二为一。 栈ADT链表的声明实现 struct Node; typedef struct Node * PtrTONode; typedef PtrToNode Stack; struct Node{   ElementType Node;   PtrToNode Next; }; 测试栈是否为空 int IsEmpty(Stack S){    return S->Next == NULL; } 创建一个空栈也很简单,我们只要建立一个头结点,MakeEmpty设置Next指针指向NULL。Push是作为向链表前端进行插入而实现的,其中

IDEA导入Maven多项目(Mac下)

♀尐吖头ヾ 提交于 2020-12-06 05:12:56
主界面Import Project 选择maven项目目录文件夹 选择Import project from external model 中的maven选项,Next下一步 Sources和Documentation默认好像是不勾选的,看自己 选择Environment settings...,配置自己的maven版本和setting配置文件 注意:setting文件里要把本地仓库的路径配置好,就是这个<localRepository>/path/to/local/repo</localRepository>标签 还有建议吧中央仓库地址改成国内的比较好 我找到是阿里云的 <mirror> <id>nexus-aliyun</id> <name>nexus-aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> <mirrorOf>central</mirrorOf> </mirror> 把这个放到mirrors标签里 ---- 记录一下在哪里修改,时间久了自己都忘了 文件路径为maven目录下的conf文件夹里的settings.xml文件里 ---- 后面就是下一步再下一步,最后是Finish完成 这里父maven项目就导入成功 接下来是导入maven子项目