存档

如何在 Intellij IDEA 中使用 less

2018/06/27 6,463

1. 安装 node.js  参见这里

2. 安装 less for node.js

3. 安装 file watchers 插件:

File->Settings->Plugins->

4. 配置 File Wathcers:

File->Settings->Tools->

插件会自动寻找配置 lessc 。

至此,改动 less 并保存时会自动生成对应的 css文件

如何用一条 SQL 语句计算多个 COUNT 值?

2018/05/30 6,532

场景:在某个 SQL 中,得到一个中间表 m ,需要对 m 表 进行分条件的计数运算。为提高效率,不对 m 表做持久化处理。该如何做?
简单地说,即在一条语句中查询多个 COUNT 值。
一个解决方案是求助于 CASE 表达式SUM 表达式

CASE 表达式

在 SQL 语句中, CASE 表达式 具有编程语言中的 if -- else 的功能。

关键字 CASEWHEN 之间的可选表达式称为 base expressionWHENTHEN组成WHEN 表达式THEN 关键词后跟的是 WHEN 表达式的 。还可以包括 ELSE 表达式,它是可选的

  1. 在不使用 base 表达式的情况下,每个 WHEN 表达式从左到右依次计算布尔值, CASE 表达式的值为第一个为 真值 的 WHEN 表达式的值。如果没有值为真的 WHEN 表达式,CASE 表达式的值为 ELSE 表达式值。如果即没有值为真的 WHEN 表达式,也没有 ELSE 表达式,即么 CASE 表达式的结果为 NULL
  2. 在有 base 表达式的情况下,base 表达式会且仅会计算一次,然后从左到右依次与 WHEN 表达式做逻辑运算,第一个运算结果为真的WHEN 表达式的值即为 CASE 表达式的值。如果没有匹配的WHEN表达式,那么 ELSE 表达式的值即为CASE语句的值。若连 ELSE 表达式也没有,即么 CASE 表达式的值即为 NULL

SUM 表达式

啥?

实践

注:本实践使用 sqlite。

现在要计算出 tb 表中 1. 有多少男性,2. 有多少儿童 3. 共多少人。SQL 如下:

 

Django 集成 CKEditor 踩过的坑

2018/04/11 4,363

上一次说到了在 django 中集成 tinymce。但在使用过程中发现功能不够强大。如自定义css, 上传文件等功能缺失,所以转向功能更全的 ckeditor

该项目在github上开源。

基本按照 github 上的简介就可以将其集成到项目里。但也有一些坑:

语言设置为中文

以下设置一个都不能少:

上传图片

settings.py 中以下设置

其中 CKEDITOR_UPLOAD_PATH 必须是相对路径,相对基地址为 MEDIA_URL

在 model 中使用时,使用 from ckeditor.fields import RichTextField , 在 form 中使用时,使用 from ckeditor_uploader.fields import RichTextUploadingFormField

继续阅读

Django 集成 tinymce

2018/04/04 4,542

环境

  • django-1.11.8
  • python2.7+

步骤

Install

setting

  • 在项目的 setting.py 文件中,找到 INSTALLED_APPS 节点, 添加 tinymce
  • 在项目的 urls.py 中添加以下内容:

     
  • 在项目的 setting.py 文件中,添加节点 TINYMCE_JS_URL, 指向 tinymce.min.js 文件。由于本机服务器资源有限,故使用了CDN:

继续阅读

使用 emacs 编辑 Markdown 文档

2018/03/29 4,047

安装

  1. 下载 markdown-mode.el 到 emacs 能找到的目录,如:share\emacs\25.2\lisp\progmodes
  2. 下载并安装一个第三方的 markdown 生成工具。如 Markdown.pl, MultiMarkdown, 或 Pandoc
  3. 配置你的 .emacs 。这里假设你使用的是 pandoc

快捷键

  • C-c C-s h 插入一级标题,C-c C-s n(1<= n <= 6) 插入 n 级标题
  • C-c C-s b 插入加粗/黑体
  • C-c C-s i 插入斜体
  • C-c C-s c 插入代码
  • C-c C-s f 插入脚标
  • C-c C-s q 插入块引用
  • C-c C-s - 插入标题线
  • C-c C-s w 插入链接
  • M-Enter 当光标在列表项上时,向下插入同级列表项
  • C-c C-- / C-c C-=C-c LEFT / C-c RIGHT 标题升级或降级
  • C-c UP / C-c DOWN 同级标题块/列表项及其内容上移或下移
  • C-c C-n / C-c C-p 光标在同级标题/列表项间移动
  • C-c C-k 将该点的目标kill掉,并将其内容送到kill ring中,适用于以下目标:inline code, headings, horizonal rules, links, images, email address等
  • C-c C-c Markdown 命令,如预览、导出等功能

 

解决 vs 无法 “附加到进程” 调试的问题 (msvsmon unexpectedly exited)

2018/01/02 5,319

The debugger's worker process (msvsmon.exe) unexpectedly exited. Debugging will be aborted

在 vs "附加到进程" 进行调试时,总是弹出如上错误。偶尔还会造成 vs crash。

检查环境变量,看一下 path 变量下是否有

"%USERPROFILE%\.dnx\bin"    或

"%USERPROFILE%\.dnx"

的值。如果有则删除之并重启。

 

Qt 添加或删除组件

2017/12/27 6,527

Qt 安装后,需要添加或删除组件,会比较麻烦。步骤如下:

  1. Qt 安装目录里找到 MaintenanceTool.exe ,运行并登录
  2. 添加或删除组件 -> Next , 会出现 要继续此操作,至少需要一个有效且已启用的储存库 。它表示Qt 无法从本地文件更新,需要联网更新。
    存储库 可以在 存储库镜像列表 找到全世界的镜像节点 ,其中有3个位于中国,分别是北京理工、清华与北京科技大学安节点。选择其中一个,点击 HTTP 标签 ,在打开的文件列表中找到相应存储库的位置,如 https://mirrors.tuna.tsinghua.edu.cn/qt/online/qt5/windows/x86/online_repository/
  3. 打开 MaintenanceTool 的 设置选项卡,将上面的镜像地址添加到用户定义储存库,即可进行QT的在线维护更新

Linux bash 的小技巧

2017/11/29 4,859

路径跳转

  • cd - 快速回到前一个路径
  • cd / cd ~ 回到用户的home目录

命令参数

  • $*: 代表所有参数,其间隔为IFS内定参数的第一个字元
  • $@: 与*星号类同。不同之处在於不参照IFS
  • $#: 代表参数数量
  • $?: 执行上一个指令的返回值
  • $-: 最近执行的foreground pipeline的选项参数
  • $$: 本身的Process ID
  • $!: 执行上一个背景指令的PID
  • $_: 显示出最後一个执行的命令

继续阅读