存档

Mathematica 的几个技巧

2018/09/14 100

绘图

画曲线的交点

有多种方法。
一是利用 MeshMeshFunction, 二是求出点,并使用 Graphics
eg.1:

eg.2:

文本偏移与旋转

文本绘制使用 Text[expr,coords,offset,dir] ,其中 offset 为偏移量,单位为一个 point(一般是 1/72 inc) 。 dir 为文本的方向

eg.1  偏移

eg.2 旋转


计算

求模等方程

 

 

如何在 Intellij IDEA 中使用 less

2018/06/27 271

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 319

场景:在某个 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 442

上一次说到了在 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 476

环境

  • 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 229

安装

  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 命令,如预览、导出等功能