Claus's Tech Blog

leave me alone i know what to do


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

Anaconda解决python包管理与环境管理

发表于 2017-06-08 | 更新于 2018-04-04 | 阅读次数
| 字数统计 928 字

Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。

conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理

  • 提供包管理,功能类似于 pip,Windows 平台安装第三方包经常失败的场景得以解决。
  • 提供虚拟环境管理,功能类似于 virtualenv,解决了多版本Python并存问题

Anaconda具有跨平台、包管理、环境管理的特点,因此很适合快速在新的机器上部署Python环境。

Anaconda的下载页参见 官网下载

阅读全文 »

T-SQL查询语句执行顺序

发表于 2017-06-06 | 更新于 2018-04-04 | 阅读次数
| 字数统计 988 字

数据库查询语句可以说是基础中的基础,查询语句是后面查询性能优化的基础,但是很多人并不能很准确的说出数据库查询的逻辑流程。

SQL 语句中元素

逻辑查询处理,指的是标准SQL定义的如何处理查询和返回最终结果的概念性路径。和其他的语言代码执行顺序不同,SQL 查询不是按照代码顺序来进行逻辑查询。下面这段SQL 查询

1
2
3
4
5
6
7
8
SELECT empid
, YEAR(orderdate) AS OrderYear
, COUNT(*) AS NumOrders
FROM Sales.Orders
WHERE custid = 71
GROUP BY empid, YEAR(orderdate)
HAVING COUNT(*) > 1
ORDER BY empid, OrderYear

这段SQL 语句其实是按照下面的顺序进行的逻辑处理:

  1. FROM
  2. WHERE
  3. GROUP BY
  4. HAVING
  5. SELECT
  6. ORDER BY
阅读全文 »

Hexo command Cheatsheet

发表于 2017-06-05 | 更新于 2017-06-08 | 阅读次数
| 字数统计 340 字

hexo

1
2
3
npm install hexo -g #安装  
npm update hexo -g #升级
hexo init #初始化

简写

1
2
3
4
5
hexo n "我的博客"  # == hexo new "我的博客" #新建文章
hexo p # == hexo publish #发布草稿
hexo g # == hexo generate#生成
hexo s # == hexo server #启动服务预览
hexo d # == hexo deploy#部署

服务器

1
2
3
4
5
6
7
8
hexo server #Hexo 会监视文件变动并自动更新,您无须重启服务器。
hexo server -s #静态模式
hexo server -p 5000 #更改端口
hexo server -i 192.168.1.1 #自定义 IP

hexo clean #清除缓存 网页正常情况下可以忽略此条命令
hexo g #生成静态网页
hexo d #开始部署

监视文件变动

1
2
hexo generate #使用 Hexo 生成静态文件快速而且简单
hexo generate --watch #监视文件变动

完成后部署

两个命令的作用是相同的

1
2
3
4
5
hexo generate --deploy
hexo deploy --generate

hexo deploy -g
hexo server -g

草稿

1
hexo publish [layout] <title>

模版

1
2
3
4
5
6
7
8
9
hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #将.deploy目录部署到GitHub

hexo new [layout] <title>
hexo new photo "My Gallery"
hexo new "Hello World" --lang tw
变量 描述
layout 布局
title 标题
date 文件建立日期

Hexo设置主题和其他配置

发表于 2017-06-05 | 更新于 2018-04-04 | 阅读次数
| 字数统计 1,583 字

博客的主题很多,我选择一个非常流行的主题 NexT,作为我博客的主题,这个主题简约,并且文档和维护都很好。

下面记录一下我的Hexo站点的配置,以及NexT主题的配置,以备日后查找

站点配置

博客根目录下的_config.yml 文件是站点的配置文件。

为了能够使Hexo部署到GitHub上,需要安装一个插件:

1
npm install hexo-deployer-git --save

设置站点配置文件指定部署的位置

1
2
3
4
deploy:
type: git
repo: https://github.com/lvraikkonen/lvraikkonen.github.io.git
branch: master

在 站点配置文件 中找到theme字段,把值改为 next

阅读全文 »

SQL Server索引

发表于 2017-06-02 | 更新于 2018-04-04 | 阅读次数
| 字数统计 618 字

索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度。在SQL Server中,索引和表(这里指的是加了聚集索引的表)的存储结构是一样的,都是B树,B树是一种用于查找的平衡多叉树。

索引的利弊

查询执行的大部分开销是I/O,使用索引提高性能的一个主要目标是避免全表扫描,因为全表扫描需要从磁盘上读取表的每一个数据页,如果有索引指向数据值,则查询只需要读少数次的磁盘就行啦。所以合理的使用索引能加速数据的查询。但是索引并不总是提高系统的性能,带索引的表需要在数据库中占用更多的存储空间,同样用来增删数据的命令运行时间以及维护索引所需的处理时间会更长。所以我们要合理使用索引,及时更新去除次优索引。

数据表的基本结构

一个新表被创建之时,系统将在磁盘中分配一段以8K为单位的连续空间,当字段的值从内存写入磁盘时,就在这一既定空间随机保存,当一个 8K用完的时候,数据库指针会自动分配一个8K的空间。这里,每个8K空间被称为一个数据页(Page),又名页面或数据页面,并分配从0-7的页号, 每个文件的第0页记录引导信息,叫文件头(File header);每8个数据页(64K)的组合形成扩展区(Extent),称为扩展。全部数据页的组合形成堆(Heap)

聚集索引和非聚集索引

在SQL SERVER中,聚集索引的存储是以B树存储,B树的叶子直接存储聚集索引的数据

ClusteredIndex

非聚集索引与聚集索引具有相同的 B 树结构,它们之间的显著差别在于以下两点:

  • 基础表的数据行不按非聚集键的顺序排序和存储。
  • 非聚集索引的叶层是由索引页而不是由数据页组成。

NonClusteredIndex

非聚集索引也是一个B树结构,与聚集索引不同的是,B树的叶子节点存的是指向堆或聚集索引的指针。

索引的设计原则

1…8910…15
Shuo Lv

Shuo Lv

72 日志
15 分类
50 标签
GitHub Weibo 知乎 LinkedIn Facebook
友情链接
  • 公式编辑器
  • 可视化Python代码
  • Python最佳实践
© 2015 - 2018 Shuo Lv
由 Hexo 强力驱动
主题 - NexT.Pisces