??xml version="1.0" encoding="utf-8" standalone="yes"?> linux安装q程和windowLq是差别挺大的?/p> 1.下蝲nexus集成?/strong> 到这个地?a style="color: #108ac6; line-height: 1.5;">http://www.sonatype.org/nexus/go 下蝲压羃包,我这边下载的是nexus-2.0.3-bundle.tar.gzq个版本?/p> 2. 解压到相应的目录 tar -xzvf nexus-2.0.3-bundle.tar.gz Q?我这Ҏ?home/linjx/opendev/nexus-2.0.3目录下?/p> 3. 讄为系l服?/strong> q里需要用root权限Q具体请?a style="color: #108ac6; line-height: 1.5;">http://books.sonatype.com/nexus-book/reference/install-sect-service.html 单如下: # cd /etc/init.d # cp /home/linjx/opendev/nexus-2.0.3/bin/jsw/linux-x86-64/nexus ./nexus # chmod 755 nexus # chkconfig --add nexus # chkconfig --levels 345 nexus on 4. ~辑/etc/init.d/nexus的文?/strong> 4.1. d以下变量 RUN_AS_USER=linjx ## q个主要Z后面使用Q不需要用root用户启动服务 NEXUS_HOME=/home/linjx/opendev/nexus-2.0.3/ PLATFORM=linux-x86-64 PLATFORM_DIR="${NEXUS_HOME}/bin/jsw/${PLATFORM}" 4.2. 修改以下变量 WRAPPER_CMD="${PLATFORM_DIR}/wrapper" WRAPPER_CONF="${PLATFORM_DIR}/../conf/wrapper.conf" PIDDIR="${NEXUS_HOME}" 5. 启动服务 切换会自q用户Q不需要用root用户Q?/p> # service nexus start q个大家出现什么情况,是不是失败了Q界面上出现 QCould not write pid file /etc/rc.d/init.d/./nexus.pid: Permission denied通过查看日志文gQ?/p> fzdev#[/home/linjx/opendev/nexus-2.0.3/logs] cat w* wrapper | ERROR: Could not write pid file /etc/rc.d/init.d/./nexus.pid: Permission denied 怎么办呢Q根据信息提C,nexus.pid无法写入Q应该还是权限问题,q个应该跟启动当前服务有兟?/p> 查文?a style="color: #108ac6; font-size: 12px; line-height: 1.5;">http://books.sonatype.com/nexus-book/reference/install-sect-service.html后发玎ͼ一有段信息没有配置Q?/p> Change PIDDIR to a directory where this user has read/write permissions. In most Linux distributions, /var/run is only writable by root. The properties you need to add to customize the PID file location is "wrapper.pid". For more information about this property and how it would be configured in wrapper.conf, see: http://wrapper.tanukisoftware.com/doc/english/properties.html 大概意思就是服务启动时无法写入pidQ就是说init.dq个目录当前用户是没有权限写的,怎么办呢。可以自定义pid写入目录Q那么在哪里配置呢,是不是又惌v了wrapper.conf了,其他文档中也说明了?/p> 好吧Q那再加个配置吧,q样QPIDDIR="/home/linjx/piddir" 然后再启动服务,果然成功了!具体可以看看附g中的详细的日志! 6. 启动之后Q可以登录首|看nexus的界?/strong> http://192.168.1.26:8081/nexus/index.html 默认理员用户名/密码: admin/admin123 Leiningen是一个用于自动化Q构建)clojure目的工兗?/p> 它可以做刎ͼ 创徏新项?/p> 理你的目的依赖关p?/p> q行试 q行一个REPL(d-求?打印循环:read-eval-print loop) ~译java源码 q行目 为项目生一个Maven风格的POM文g Z部vQ编译和打包目 发布cd到Maven仓库Q例如Clojars q行Clojure~写的自定义的自动化dQ称为Leiningen插gQ?/p> ... 具体可以查看国内的大?killme2008)译?a style="color: #108ac6;">Leiningen教程中文?/a>的详l介l?/p> 好些话说多了点,大家别着急啊Q马上就切入主题Q?/p> 1. 下蝲安装Leiningen linux: 1. 保你是jdk 6 版本以下的?/p> 2. 下蝲脚本lein 3. 把lein加入下当前的$path下(~/bin 是最好的选择Q?/p> 4. 赋可执行权限Qchmod 755 ~/bin/leinQ?/p> windows: 1. 可以直接下蝲打包好的文gQ地址是:Leiningen for windows 2. 点击下蝲好的*.exe文gq行安装 3. 安装好后Q可以查看环境变量中会有相应的变量被讄好了Q?/p> lein.bat is added to your PATH variable. LEIN_JAVA_CMD is set to point to your selected JDK, and the :java-cmd property is set in your user profile in profiles.clj. 接下来,打开命oH口Q输入命令:lein self-install Q会自动下蝲安装leiningen 相关的jar文g?/p> 验证下安装成果: 在命令窗口中输入lein repl Q会自动q上nREPL serverQ进入repl模式Q如下所C: 如果出现上面的提C,则说明leiningen安装成功Q你可以在用leiningen开发你的clojure之旅了?/p> 但是往往我们不满于现状Q希望可以更有效的用lein~写clojure。类似java的idea,eclipse一P都对~写java提供了强大的工具Q那么我们可以选择什么样的工具呢Q毫无疑问,Emacs是最合适的工具Q没有之一Q) 对于我这断断l箋学习emacs的来_q真不是不容易,昨晚查看了相关的e文说明,在emacs中成功装配了nrepl Q用以后l的开发学习,便记录一下,希望对自׃后查阅,以及需要的人有所帮助?/p> 首先Q我本地有emacs 24 版本的, q里不想讲emacs 的安装,q个大家自个儿查询下google便可以了?/p> 在安装好leiningen之后Q现在进?a style="color: #108ac6;">nrepl的主늜看,q是个什么东东! nrepl.el is an Emacs client for nREPL,the Clojre networked REPL server.It's a great alternative to the now deprecated combination fo SLIME + swank-clojure. nrepl.el是emacs作ؓnrepl的一个客LQnrepl是一个反对目前slime+swank-clojurel合的最好的替代品?/p> 下面来看下如何安装nrepl.elQ?/p> 1. emacs 24 以及更高版本是构建在package.el之上的,但是emacs 23以下版本的,你需要自p?a style="color: #108ac6;">package.el . 虽然我的?4版本的,但是我也下蝲了package.elQƈ存放? C:\Users\linjx\AppData\Roaming\.emacs.d 目前下,q个是我的emacs在windows下的配置目录?/p> 2. q里需要提一个文Ӟ?nbsp;.emacs 文gQ这个是emacs初始化配|的文gQ位于C:\Users\linjx\AppData\Roaming 目录下?/p> 如果你不需要用Marmalade,则添加配|??.emacs文g中,如下所C: ׃使用MELPA the code Q需要添加配|到 .emacs文g中, 在emacs中打开.emacs文gQƈM-x eval-bufferQ执行当前的配置?/p> 3. h配置 emacs会自动下载安装Marmalade , melpa相关的配|; 4. 安装nrepl 输入命o 致此Qnrepl集成到emacs的安装完毕,可以使用emacs开发你的hello worldQ了?/p> ( 当然Qemacsq可以与其他集成用来clojure的开发,q里我就不详qCQ毕竟没有用!Q?/p> 现在我们使用lein new 一个clojure目出来Q?/p> 1. $ lein new hello 2. 打开emacsQ在buffer中打开 hello所在的目录下的project.clj文g 3. 输入命oQM-x nrepl-jack-inQ即可初始化一个nrepl server ?nrepl client 如下图所C: git clone /path/to/repository 如果是远端服务器上的仓库Q你的命令是q样Q?/p> git clone username@host:/path/to/repository 多种方式的URI git add <filename> git add * git commit -m "代码提交信息" 本C库的head中的东西提交到远E服务器上: git push origin master(分支? Ʋ将本地的仓库连接到某个q程服务?/p> git remote add origin <server> 持箋补充Q作己查询?/p> 今天刚好有点旉Q就惛_公司的服务器搭徏一个私服,以便以后可以唯我所用,当然前提是服务器最好可以上|,否则q需要配|代理服务器Q前两天刚好把服务器的网l给配置了下Q这边就不详qCQ大家一定着急了吧,E安务燥Q这p入正题,O(∩_∩)O~
]]>首先来讲下Leiningen是什么东东?
]]>从服务器创徏一个本C库的clone版本Q?/span>
]]>
1. 用户操作Q?/p>
创徏Q?/p>
修改Q?/p>
删除Q?/p>
授权Q撤销权限Q?/p>
pȝ允许 赋于整个pȝ的权限给用户Q角色等Q?/p>
如果使用了WITH ADMIN OPTION 选项允许拥有该权限的h该权限应用l其?/p>
的用戗?/p>
你可以用下边的GRANT 语句来对其它用户授权讉K你的?/p>
如果你想取消Ҏ个对象对于某人的授权你可以用REVOKE 语句语法如下
1. insert select 用法Q?/p>
insert into tablename1 (col1,col2)
select col1,col2 from tablename2 ;
2. 删除表:
drop table ovner.tablename;
3. 创徏视图Q?/p>
CREATE VIEW <view_name> [(column1, column2...)] AS
SELECT <table_name column_names>
FROM <table_name>
在视囄select 语句中用约束是必然的,在用select 语句中可以应用下边两个规则:
a. 不能使用union操作Q?/p>
b. 不能使用order by 子句但是在视图中使用group by 子句可以有order by 子句相同的功能;
q要注意Q?. 对于多表视图你不能用delete 语句Q?.除非底层表的所有非I列都已l在视图?/p>
出现Q否则你不能使用insert语句Q?/p>
4. 索引 index:
CREATE INDEX index_name ON table_name(column_name1, [column_name2], ...)
CREATE INDEX [schema.]index ON { [schema.]table (column [!!under!!ASC|DESC] [, column [!!under!!ASC|DESC]] ...) | CLUSTER [schema.]cluster }
当表被删除时Q所有与表相关的索引也将被删?
1. STARTING WITH 子句 相当于like (**%);
2. order by 子句
3. group by 子句
4. having 子句
SQL> select team,avg(sickleave),avg(annualleave) from orgchart
2 group by team
3 having avg(sickleave)>25 and avg(annualleave)<20;
TEAM AVG(SICKLEAVE) AVG(ANNUALLEAVE)
--------------- -------------- ----------------
RESEARCH 27 14.5
MARKETING 28.33333333333 15.3333333333333
SQL> select * from orgchart;
NAME TEAM SALARY SICKLEAVE ANNUALLEAVE
--------------- --------------- ------------ --------- -----------
ADAMS RESEARCH 34000.00 34 12
WILKES MARKETING 31000.00 40 9
STOKES MARKETING 36000.00 20 19
MEZA COLLECTIONS 40000.00 30 27
MERRICK RESEARCH 45000.00 20 17
RICHARDSON MARKETING 42000.00 25 18
FURY COLLECTIONS 35000.00 22 14
PRECOURT PR 37500.00 24 24
8 rows selected
SQL> select team,avg(sickleave),avg(annualleave) from orgchart
2 group by team having count (team)>1;
TEAM AVG(SICKLEAVE) AVG(ANNUALLEAVE)
--------------- -------------- ----------------
COLLECTIONS 26 20.5
RESEARCH 27 14.5
MARKETING 28.33333333333 15.3333333333333
SQL> select team,avg(salary)from orgchart
2 group by team having team in ('PR','RESEARCH');
TEAM AVG(SALARY)
--------------- -----------
PR 37500
RESEARCH 39500
5. 两者结合用:
SQL> select * from orgchart order by name desc;
NAME TEAM SALARY SICKLEAVE ANNUALLEAVE
--------------- --------------- ------------ --------- -----------
WILKES MARKETING 31000.00 40 9
STOKES MARKETING 36000.00 20 19
RICHARDSON MARKETING 42000.00 25 18
PRECOURT PR 37500.00 24 24
MEZA COLLECTIONS 40000.00 30 27
MERRICK RESEARCH 45000.00 20 17
FURY COLLECTIONS 35000.00 22 14
ADAMS RESEARCH 34000.00 34 12
8 rows selected
SQL> select payee,sum(amount)total,count(payee)number_written from checks
2 group by payee having sum(amount) > 50;
PAYEE TOTAL NUMBER_WRITTEN
------------------------------------ ---------- --------------
Ma Bell 350.32 2
Reading R.R. 245.34 1
Local Utilities 98 1
Joes Stale$ Dent 150 1
SQL> select payee,sum(amount) total,count(payee)number_written
2 from checks where amount >= 100 group by payee
3 having sum(amount) > 50;
PAYEE TOTAL NUMBER_WRITTEN
------------------------------------ ---------- --------------
Ma Bell 350.32 2
Reading R.R. 245.34 1
Joes Stale$ Dent 150 1
where 子句与order by子句常在对单行进行处理时用到Q?/p>
group by ?having子句常用在对数据q行汇L作上?/p>
中午又看了一下汇d敎ͼ
count ,sum,avg,max,min,variance(方差),stddev
1. SELECT COUNT( ) FROM TEAMSTATS WHERE HITS/AB .35;
2. SELECT SUM(SINGLES) TOTAL_SINGLES FROM TEAMSTATS; //不能处理 字符?/p>
3. SELECT AVG(SO) AVE_STRIKE_OUTS FROM TEAMSTATS; //不能处理 字符?/p>
4. SELECT MAX(HITS) FROM TEAMSTATS;
5. SELECT MIN(AB) FROM TEAMSTATS;
6. SELECT VARIANCE(HITS) FROM TEAMSTATS; //不能处理字符?/p>
7. SELECT STDDEV(HITS) FROM TEAMSTATS; //不能处理字符?/p>
8. SELECT COUNT AB AVG(AB) MIN(AB) MAX(AB) STDDEV(AB)
VARIANCE(AB) SUM(AB) FROM TEAMSTATS;
注意Q汇dC能放在where子句中用,持箋更新。?/p>