dictionary

MySQL

僤鯓⒐⒋嵵緔 提交于 2020-12-04 09:59:38
项目安全测试时发现数据库用户权限不合理,并且缺失密码复杂度校验,So借机学习一波 环境信息 root@505e4d918942:~ # mysql -V mysql Ver 14.14 Distrib 5.7.32, for Linux ( x86_64 ) using EditLine wrapper 设置用户权限 例: 新增 suhw 用户,只给访问 suhw_db 数据库的权限 mysql > create user suhw ; Query OK, 0 rows affected ( 0.00 sec ) # 创建数据库 mysql > create database suhw_db ; Query OK, 1 row affected ( 0.00 sec ) # 赋予权限 mysql > grant all privileges on suhw_db.* to suhw@ "%" identified by "111" ; Query OK, 0 rows affected, 1 warning ( 0.00 sec ) # 刷新权限 mysql > flush privileges ; Query OK, 0 rows affected ( 0.00 sec ) 此时使用 suhw 用户进来就只能看到 information_schema 和 suhw_db 。 而

Python 正则表达式(RegEx)

混江龙づ霸主 提交于 2020-12-04 08:29:00
版权所有,未经许可,禁止转载 <div class="article-child "><h3>章节</h3><ul><li class="page_item page-item-2744"><a href="https://www.qikegu.com/docs/2744">Python 介绍</a></li> <li class="page_item page-item-2750"><a href="https://www.qikegu.com/docs/2750">Python 开发环境搭建</a></li> <li class="page_item page-item-2752"><a href="https://www.qikegu.com/docs/2752">Python 语法</a></li> <li class="page_item page-item-2754"><a href="https://www.qikegu.com/docs/2754">Python 变量</a></li> <li class="page_item page-item-2757"><a href="https://www.qikegu.com/docs/2757">Python 数值类型</a></li> <li class="page_item page-item-2759"><a

深度解析.NetFrameWork/CLR/C# 以及C#6/C#7新语法

前提是你 提交于 2020-12-04 08:01:23
一:什么是.NetFrameWork/ CLR / C# 1:.NetFramework即架构,它是一个语言开发软件,提供了软件开发的框架,使开发更具工程性、简便性和稳定性,这个框架主要是针对于c#语言的,该框架包含了CLR,VS等编译工具,BCL(基本类库)。 2:c#是一个简单的、现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的,主要是为.netFramwork框架提供一种编程规范,即是符合CLR中的CLS(通用语言规范)。 3:CLR是Common Language RunTime,公共运行类库。c#语言通过编译会生成IL+Metadata两部分,而CL主要的功能是通过JIT即时编译器把这部分解析成机器识别的代码,即二进制编码,然后再计算机中执行。 二:c# Project运行的整个流程 执行流程: 无论是VB或者C#项目都会依赖于BCL(基础类库),然后通过编译生成IL(中间语言)+Metadata(列表清单),然后通过JIT(Just IN Time )编译成机器二进制码(因为计算机只识别二进制码),然后再在计算机中执行。 三:.NetFrameWork/ CLR / C#对应的版本 注意:并不是每个版本都一一对应的,有的版本升级然后CLR并没有升级,visualStudio是.net开发工具。 下图也能说明vs与c#版本: 四:c#既然是

linux操作-centos下载mysql

拥有回忆 提交于 2020-12-04 07:40:25
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 1 下载并安装MySQL官方的 Yum Repository [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。 [root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm 之后就开始安装MySQL服务器。 [root@localhost ~]# yum -y install mysql-community-server 这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。 至此MySQL就安装完成了,然后是对MySQL的一些设置。 2 MySQL数据库设置 首先启动MySQL [root@localhost ~]# systemctl start mysqld.service 查看MySQL运行状态,运行状态如图: [root@localhost ~]#

Linq表达式、Lambda表达式你更喜欢哪个?

爷,独闯天下 提交于 2020-12-04 04:53:26
什么是Linq表达式?什么是Lambda表达式? 如图: 由此可见Linq表达式和Lambda表达式并没有什么可比性。 那与Lambda表达式相关的整条语句称作什么呢?在微软并没有给出官方的命名,在《深入理解C#》中称为点标记。 查询表达式、点标记你更喜欢哪个? 所以,我们的标题的提问根本就不合适。应该是“查询表达式和点标记你更喜欢哪个?”。如: //查询表达式 var students1 = from t in db.Students where t.Name == "张三" select new { t.Id, t.Name, t.Age }; //点标记 var students2 = db.Students .Where(t => t.Name == "张三") .Select(t => new { t.Id, t.Name, t.Age }); 为什么选择点标记 我相信更多的人偏向选择点标记。具体什么原因我也说不清(可能是点标记中的Lambda更加优雅吧)。对于我个人来说,也是更加喜欢点标记这种方式。 1、所有的查询表达式都可以转成对应的点标记。反之,不是所有的点标记都可以转成查询表达式。 为什么?因为查询表达式在编译后就直接变成了点标记:(以下是上面两个语句对应的编译后的反编译C#代码) 生成了一模一样的代码。(由于是编译后的,好多乱七八糟的代码

简直不要太硬了!一文带你彻底理解文件系统

谁说我不能喝 提交于 2020-12-03 12:32:04
这是Java建设者第 79 篇原创长文 所有的应用程序都需要存储和检索信息。进程运行时,它能够在自己的存储空间内存储一定量的信息。然而,存储容量受虚拟地址空间大小的限制。对于一些应用程序来说,存储空间的大小是充足的,但是对于其他一些应用程序,比如航空订票系统、银行系统、企业记账系统来说,这些容量又显得太小了。 第二个问题是,当进程终止时信息会丢失。对于一些应用程序(例如数据库),信息会长久保留。在这些进程终止时,相关的信息应该保留下来,是不能丢失的。甚至这些应用程序崩溃后,信息也应该保留下来。 第三个问题是,通常需要很多进程在同一时刻访问这些信息。解决这种问题的方式是把这些信息单独保留在各自的进程中。 因此,对于长久存储的信息我们有三个基本需求: 必须要有可能存储的大量的信息 信息必须能够在进程终止时保留 必须能够使多个进程同时访问有关信息 磁盘(Magnetic disk) 一直是用来长久保存信息的设备。近些年来,固态硬盘逐渐流行起来。 固态硬盘不仅没有易损坏的移动部件,而且能够提供快速的随机访问。相比而言,虽然磁带和光盘也被广泛使用,但是它们的性能相对较差,通常应用于备份。我们会在后面探讨磁盘,现在姑且把磁盘当作一种大小固定块的线性序列好了,并且支持如下操作 读块 k 写块 k 事实上磁盘支持更多的操作,但是只要有了读写操作,原则上就能够解决长期存储的问题。 然而

Pandas MultiIndex (more than 2 levels) DataFrame to Nested Dict/JSON

醉酒当歌 提交于 2020-12-02 18:32:50
问题 This question is similar to this one, but I want to take it a step further. Is it possible to extend the solution to work with more levels? Multilevel dataframes' .to_dict() method has some promising options, but most of them will return entries that are indexed by tuples (i.e. (A, 0, 0): 274.0 ) rather than nesting them in dictionaries. For an example of what I'm looking to accomplish, consider this multiindex dataframe: data = {0: { ('A', 0, 0): 274.0, ('A', 0, 1): 19.0, ('A', 1, 0): 67.0,

Pandas MultiIndex (more than 2 levels) DataFrame to Nested Dict/JSON

被刻印的时光 ゝ 提交于 2020-12-02 18:30:05
问题 This question is similar to this one, but I want to take it a step further. Is it possible to extend the solution to work with more levels? Multilevel dataframes' .to_dict() method has some promising options, but most of them will return entries that are indexed by tuples (i.e. (A, 0, 0): 274.0 ) rather than nesting them in dictionaries. For an example of what I'm looking to accomplish, consider this multiindex dataframe: data = {0: { ('A', 0, 0): 274.0, ('A', 0, 1): 19.0, ('A', 1, 0): 67.0,

一首周杰伦《发如雪》带你入门 Elasticsearch

こ雲淡風輕ζ 提交于 2020-12-02 16:44:38
导语 小猴周末在家看了综艺节目《王牌对王牌》,对里面的猜歌曲环节饶有兴趣,主持人随便说一个字或词语,选手必须唱出包含该字或者词语的歌曲。小猴觉得太有意思了,今天上班准备和他猴哥过两招。 Elasticsearch 倒排索引 Elasticsearch是一个基于Lucene的搜索服务器, 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。 Elasticsearch 能快速的匹配关键词,是因为它做了上面提到的倒排索引, 将 “狼牙月, 伊人憔悴, 我举杯饮尽了风雪” 将内容进行切词,key 与 value如下 Elasticsearch 切词 传统 Elasticsearch 内置了一些分词器 Standard Analyzer 。按词切分,将词小写 Simple Analyzer。按非字母过滤(符号被过滤掉),将词小写 WhitespaceAnalyzer。按照空格切分,不转小写 同时 分词器由 3部分组成: Character Filters(文本过滤器,去除HTML) Tokenizer(按照规则切分,比如空格) TokenFilter(将切分后的词进行处理,比如转成小写) 因为 Elasticsearch 是国外友人开发的,现在中文分词器用的最多的就是IK Elasticsearch 数据存储结构 下面就是完整的 倒排索引 ,例:索引 “月”

Unique list of dicts based on keys

牧云@^-^@ 提交于 2020-12-01 11:54:11
问题 I have a list of dics: data = {} data['key'] = pointer_key data['timestamp'] = timestamp data['action'] = action data['type'] = type data['id'] = id list = [data1, data2, data3, ... ] How can I ensure that for each data item in the list, only one such element exists for each "key"? If there are two keys as seen below, the most recent timestamp would win: list = [{'key':1,'timestamp':1234567890,'action':'like','type':'photo',id:245}, {'key':2,'timestamp':2345678901,'action':'like','type':