<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[寂静湖畔]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/silentlakeside</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; silentlakeside]]></copyright><item><title><![CDATA[Q for Mortals2笔记 -- 字典]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84616848</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84616848</guid><author>silentlakeside</author><pubDate>Mon, 21 Jul 2014 12:21:10 +0800</pubDate><description><![CDATA[
概述
字典衍生于列表，是表的基础。
字典的基础
字典是一个键值对的有序集合，即其他语言中的哈希表。
定义
字典的定义用!，左边是键，右边是值。可以用key来取得字典的键列表，value来取得字典的值列表。count用来取得字典的大小。cols也可以用来取得字典的键列表。
q)d:`Dent`Beeblebrox`Perfect!98 42 126
q)count d
3
q)...]]></description><category></category></item><item><title><![CDATA[Q for Mortals2笔记 -- 造型和枚举]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84611132</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84611132</guid><author>silentlakeside</author><pubDate>Wed, 02 Jul 2014 11:14:59 +0800</pubDate><description><![CDATA[
类型和造型
基本类型
即原子类型
类型
可以用type来查看任意q实体的类型（用short数值类型表示），原子数的返回值都是负数，简单列表的返回值是正数（原子数的类型值跟其简单列表的类型值一样，只是正负数的差别）。普通列表的返回值是0h
q)type `42
-11h
q)type (`42;`a;`b)
11h
q)type (42;`42)
0h
变量的类型
在q里...]]></description><category></category></item><item><title><![CDATA[Q for Mortals2笔记 -- 函数]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84609479</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84609479</guid><author>silentlakeside</author><pubDate>Wed, 25 Jun 2014 15:21:52 +0800</pubDate><description><![CDATA[
函数规范
q不是纯粹的函数式语言，因为q函数可以访问全局变量。
函数定义
函数体用{}包围，[]用于输入参数列表，分号（;）用于分隔各行代码和参数列表，输入参数和返回值不指定类型。调用时参数列表也是用[]包围，分号分隔
q)f:{[a;b] a:a+b; a*b}
q)f[3;4]
28 
匿名函数
q){x:x+y; x*y}[3;4]
28
函数符号和术语
{[p1;...]]></description><category></category></item><item><title><![CDATA[Q for Mortals2笔记 -- 基本操作]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84605025</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84605025</guid><author>silentlakeside</author><pubDate>Mon, 09 Jun 2014 12:10:01 +0800</pubDate><description><![CDATA[
 

函数的介绍
调用函数的时候用[]来分隔函数名和参数，在参数列表中用;分隔各参数，如f[x;y]。操作符实际上也是函数，只不过函数通常写法是函数名+参数，而操作符是介于操作数中间。
 
Verb：二元操作符，例如2+3中的+操作符，verb也可以使用通常的函数表达式，如+[2;3]，甚至混合使用，如(2+)[3]，(2+)3也是可以的。
 
基本操作符：内建的二元原子操作符（操...]]></description><category></category></item><item><title><![CDATA[Q for Mortals2笔记 -- 列表]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84603948</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84603948</guid><author>silentlakeside</author><pubDate>Wed, 04 Jun 2014 11:58:26 +0800</pubDate><description><![CDATA[
列表的介绍

列表可以只包含原子类型，也可以包含其他列表
列表可以只包含一种类型的元素（叫简单列表），例如只包含int类型的列表；也可以包含不同类型的元素（叫通用列表）
列表的定义：用一队小括号包围，用分号分隔组成元素，如（1；2；3），简单列表可以有其他表示方式，请参考下文
count可用于得到列表的元素数目
列表是有序的

简单列表
整数列表
 整数列表的表示方法


...]]></description><category></category></item><item><title><![CDATA[Q for Mortals2笔记 -- 原子数据类型]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84602402</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84602402</guid><author>silentlakeside</author><pubDate>Tue, 27 May 2014 16:21:41 +0800</pubDate><description><![CDATA[
概览
参照该文里的两个表格来了解Q的数据类型。其中：

type：类型名称
size：该类型占用多少个字节
char type：该类型的单字符代号，可以跟在值后面表示类型，例如1b表示boolean的true
num type：该类型的数字代号，type命令可以用来查看一个变量的类型，以数字代号表示。数字前面带-号表示原子类型，不带-号表示是该原子类型的列表
type 0Nj
-...]]></description><category></category></item><item><title><![CDATA[Q for Mortals2笔记 -- 概述]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84600963</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84600963</guid><author>silentlakeside</author><pubDate>Wed, 21 May 2014 17:52:46 +0800</pubDate><description><![CDATA[
 

Q for Mortals2地址： http://code.kx.com/wiki/JB:QforMortals2/contents
 
q的演变
q的设计目标是可表达性，速度和效率，这些方面达到了预期的目标；但同时这种设计带来了另外一个无法避免的问题：语言过于简练，从而使得传统的程序员例如C++、Java、C#和SQL等非常困扰。Q是设计给上帝用的，而本书则是给凡人的一个使用手...]]></description><category></category></item><item><title><![CDATA[BASH - 控制台打印]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84545074</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84545074</guid><author>silentlakeside</author><pubDate>Thu, 03 Apr 2014 14:45:19 +0800</pubDate><description><![CDATA[
echo命令用于打印字符串到控制台
 
命令用法： echo [选项]... [打印内容]
 
选项：

-n，不打印最后的换行，不加该选项的话会自动附加上一个换行
-bash-3.2$ echo aa
aa
-bash-3.2$ echo -n aa
aa-bash-3.2$ 

-e，支持解析转义字符，如\t，\n等，注意要加上双引号，即便里面是一个变量（echo -e...]]></description><category></category></item><item><title><![CDATA[金融证券的几个有用站点]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84532014</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84532014</guid><author>silentlakeside</author><pubDate>Thu, 27 Feb 2014 15:43:50 +0800</pubDate><description><![CDATA[
 

Investopedia
路透金融词典
FIX (Financial Information eXchange)
FIX Dictonary

 
 
]]></description><category></category></item><item><title><![CDATA[BASH - 脚本基础]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84527435</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84527435</guid><author>silentlakeside</author><pubDate>Mon, 17 Feb 2014 17:16:03 +0800</pubDate><description><![CDATA[
BASH脚本第一行，#!用来指定脚本解释器
#! /bin/bash 

检查参数个数（$#是参数个数，$0是命令自身，if语句注意方括号和条件表达式之间有空格）
if [ $# -lt 2 ]; then
  echo &quot;Usage: $0 &amp;lt;arg1&amp;gt; &amp;lt;arg2&amp;gt; &quot; &amp;gt;&amp;amp;2
  exit 1
fi

获取命令路径
SCRIPT_P...]]></description><category></category></item><item><title><![CDATA[BASH - 暂停]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84527433</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84527433</guid><author>silentlakeside</author><pubDate>Mon, 17 Feb 2014 17:15:23 +0800</pubDate><description><![CDATA[
暂停一段时间
# 10秒  
sleep 10s  
# 3分钟  
sleep 3m   
 
]]></description><category></category></item><item><title><![CDATA[BASH - 数组]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84524171</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84524171</guid><author>silentlakeside</author><pubDate>Fri, 07 Feb 2014 09:55:34 +0800</pubDate><description><![CDATA[
# 显式定义数组
declare -a arr

# 赋值（下标从0开始）
arr[0]=&quot;element0&quot;
arr[1]=&quot;element1&quot;

# 取值
ele0=${arr[0]}
ele1=${arr[1]}

# 遍历
for ele in ${arr[@]}; do
    echo $ele
done
 
...]]></description><category></category></item><item><title><![CDATA[BASH - 字符串处理]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84524117</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84524117</guid><author>silentlakeside</author><pubDate>Thu, 06 Feb 2014 17:36:03 +0800</pubDate><description><![CDATA[
使用正则表达式拆分字符串（BASH 3.0以上支持=~正则表达式）
# 格式：name=&quot;value1&quot;,&quot;value2&quot;
# name、value1和value2是我们需要的字符串
# 在分隔符前后可以有空格（tab等无显示字符不允许）
# 用~=做正则表达式匹配
# [ ]*表示可以有任意空格，()表示里面是要提取的部分，.*表示任意数目的任意字符串，=、，、“都没有定义数目，因此...]]></description><category></category></item><item><title><![CDATA[BASH - 函数]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84524115</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84524115</guid><author>silentlakeside</author><pubDate>Thu, 06 Feb 2014 17:27:28 +0800</pubDate><description><![CDATA[
定义函数
括号里不需要定义输入参数。
$1是第一个参数，$n是第n个参数，$#是参数个数
function func() {
    arg1=$1
    arg2=$2

    return 0
}
调用函数
不需要在参数两边加括号
func $var1 $var2
 
...]]></description><category></category></item><item><title><![CDATA[BASH - 控制语句]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84523715</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84523715</guid><author>silentlakeside</author><pubDate>Wed, 29 Jan 2014 16:54:14 +0800</pubDate><description><![CDATA[
if
if &amp;lt;条件表达式&amp;gt;; then
fi

if &amp;lt;条件表达式&amp;gt;; then
else
fi

if &amp;lt;条件表达式&amp;gt;; then
elif &amp;lt;条件表达式&amp;gt;; then
else
fi 

until
unitl &amp;lt;条件表达式&amp;gt;; do
done 

while
while &amp;lt;条件表达式&amp;gt...]]></description><category></category></item><item><title><![CDATA[BASH - 使用sendmail发送邮件]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84523678</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84523678</guid><author>silentlakeside</author><pubDate>Wed, 29 Jan 2014 12:48:02 +0800</pubDate><description><![CDATA[
发送文本邮件
/usr/sbin/sendmail -t -F SenderDisplayerName &amp;lt;&amp;lt;EOF
SUBJECT: sendmail test subject
TO: to_mail_address
CC: cc_mail_addres
MIME-VERSION: 1.0
Content-type: text/plain

mail content...]]></description><category></category></item><item><title><![CDATA[BASH - 逻辑表达式]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84523362</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84523362</guid><author>silentlakeside</author><pubDate>Mon, 27 Jan 2014 14:38:52 +0800</pubDate><description><![CDATA[
以下均用if语句用作逻辑表达式的例子。注意左右两方括号和条件表达式之间都必须有空格。
 

字符串判断
# 空和非空可以用于判断变量是否已经定义
if [ -z &quot;$var&quot; ]; then
    # 空
fi
if [ -n &quot;$var&quot; ]; then
    # 非空
fi
if [ &quot;$var&quot; == &quot;Y&quot; ]; then
    # 相等
fi
if [...]]></description><category></category></item><item><title><![CDATA[BASH - 以变量的形式执行shell命令]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84520268</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84520268</guid><author>silentlakeside</author><pubDate>Wed, 15 Jan 2014 14:38:44 +0800</pubDate><description><![CDATA[
有时候需要执行组装的命令或者外部（例如文件）定义的命令，需将这些命令定义为一个变量，然后执行。
直接执行
cmd=&quot;ls -l&quot;
$cmd
 但这种方式不适用于多个命令或者一些复杂的命令，例如
cmd=&quot;ls -l &amp;gt; a.log 2&amp;gt;&amp;amp;1&quot;
$cmd

cmd=&quot;cd; ls -l&quot;
$cmd

 会报如下错误（a.log存在）
ls: &amp;gt;:...]]></description><category></category></item><item><title><![CDATA[个人常用的免费工具]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84506708</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84506708</guid><author>silentlakeside</author><pubDate>Mon, 25 Nov 2013 11:52:48 +0800</pubDate><description><![CDATA[
Fiddler Web Debugger，用于监控所有HTTP的请求和回应。http://www.fiddler2.com/fiddler2/

Firebug，用于调试网页。http://getfirebug.com/

Notepad++，文本编辑器，支持列模式。http://notepad-plus-plus.org/

soapUI，web service测试工具，可以直接编辑请求...]]></description><category></category></item><item><title><![CDATA[KDB tips]]></title><link>https://blog.youkuaiyun.com/silentlakeside/article/details/84429107</link><guid>https://blog.youkuaiyun.com/silentlakeside/article/details/84429107</guid><author>silentlakeside</author><pubDate>Fri, 10 May 2013 09:42:19 +0800</pubDate><description><![CDATA[
将float转换成symbol： `$string &amp;lt;float_data&amp;gt;
将symbol转换成float： &quot;F&quot;$string &amp;lt;symbol data&amp;gt;
更新指定列，如果该列的值的第5个字符是0或者.则截取前4个字符，否则截取前5个字符： update &amp;lt;column name&amp;gt;:`${(5 4 (any &quot;0.&quot; in a 4))#a:strin...]]></description><category></category></item></channel></rss>