从3.2.15 逐步升级到 5.0.0 真受痛苦,之后的版本由于本人愚钝。。。还是无法升级至最新的isroc。。。。
话说最新的编辑器让我非常郁闷。。。缺少了代码的所见即所得的部分。。。。
从3.2.15 逐步升级到 5.0.0 真受痛苦,之后的版本由于本人愚钝。。。还是无法升级至最新的isroc。。。。
话说最新的编辑器让我非常郁闷。。。缺少了代码的所见即所得的部分。。。。
感谢 “日月土成”“手气不错” 的贡献,kissy UI 上线。
你会说:“纳尼~~ 这不是 kiss YUI 么?”
没错!咱们就是和YUI有着很渊源的关,但又不是它!
不过话说回来,大家都太忙了,建设站点还需要一些时间。
不过一定会有惊喜,请期待吧!
http://www.infoq.com/cn/news/2010/05/Jarlsberg
很多人都想知道黑客是如何攻击并进入到系统的,为了帮助他们,Google创建了一个特殊的名为Jarlsberg 的实验室,其中的应用程序满是安全漏洞,开发者可以利用它以实践的方式学习到潜在的漏洞是什么样的,恶意用户是如何利用这些漏洞的,以及如何做才能免受攻 击。
这个实验室是围绕安全漏洞的不同类型来组织的,对于每个漏洞,都有找寻和攻击漏洞的任务可供完成。 该实验室使用了下列三种主要的技术:
Jarlsberg特意使用了大量特 性,以扩大应用程序的攻击面。
- 代码片段中的HTML: 用户可以在代码片段中包含特定的HTML代码。
- 文件上载: 用户可以向服务器上载文件,例如,在他们的代码片断中包含图片。
- Web形式的管理: 系统管理员可以使用web界面来管理系统。
- 新建账号: 用户可以创建属于自己的账号。
- 模板语言: Jarlsberg模板语言(JTL)是种新语言,它使得开发者可以更容易地编写网页,作为直接与数据库连接的模板。 你可以在
jarlsberg/jtl.py找 到JTL的相关文档。- AJAX: Jarlsberg使用AJAX来实现在主页和代码片断页中的刷新。 如果不需要特别关注AJAX内容,你可以忽略Jarlsberg中的AJAX部分。
在Jarlsberg中,你可以找到、利用并最终修复以下安全漏洞:
你可以在本地运行该实验室,以在整个学习过程中完全掌控该实验室;或者也可以在Google的云中作为沙盒实例运行。 该实验室大部分是基于Creative Commons Attribution 3.0协议发布的,但也有一部分是基于Creative Commons Attribution-No Derivative Works 3.0协议发布的,这使得对于大学培训学生或者公司培训员工,让他们理解并 保护他们系统免受安全漏洞影响都是很理想的。
查看原文:Learning About Security Vulnerabilities by Hacking Google’s Jarlsberg
C# 代码
- using System;
- using System.Security.Cryptography;
- namespace YNIT.Components
- {
- /// <summary>
- /// 生成随机字符串的密封类,不能被继承
- /// </summary>
- public sealed class RandomStr
- {
- private static readonly int defaultLength = 8;
- private static int GetNewSeed()
- {
- byte[] rndBytes = new byte[4];
- RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
- rng.GetBytes(rndBytes);
- return BitConverter.ToInt32(rndBytes,0);
- }
- private static string BuildRndCodeAll(int strLen)
- {
- System.Random RandomObj = new System.Random(GetNewSeed());
- string buildRndCodeReturn = null;
- for(int i=0; i<strLen; i++)
- {
- buildRndCodeReturn += (char)RandomObj.Next(33,125);
- }
- return buildRndCodeReturn;
- }
- #region 输出随机字符串
- /// <summary>
- /// 输出长度为8的随机字符串
- /// </summary>
- /// <returns>长度为8的随机字符串</returns>
- public static string GetRndStrOfAll()
- {
- return BuildRndCodeAll(defaultLength);
- }
- /// <summary>
- /// 输出指定长度的随机字符串
- /// </summary>
- /// <param name="LenOf">长度</param>
- /// <returns>指定长度的随机字符串</returns>
- public static string GetRndStrOfAll(int LenOf)
- {
- return BuildRndCodeAll(LenOf);
- }
- #endregion
- private static string sCharLow = "abcdefghijklmnopqrstuvwxyz";
- private static string sCharUpp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- private static string sNumber = "0123456789";
- private static string BuildRndCodeOnly(string StrOf,int strLen)
- {
- System.Random RandomObj = new System.Random(GetNewSeed());
- string buildRndCodeReturn = null;
- for(int i=0; i<strLen; i++)
- {
- buildRndCodeReturn += StrOf.Substring(RandomObj.Next(0,StrOf.Length-1),1);
- }
- return buildRndCodeReturn;
- }
- #region 输出指定范围随机字符串
- /// <summary>
- /// 输出长度为8的小写字母加数字的字符串
- /// </summary>
- /// <returns>长度为8的小写字母加数字的字符串</returns>
- public static string GetRndStrOnlyFor()
- {
- return BuildRndCodeOnly(sCharLow + sNumber,defaultLength);
- }
- /// <summary>
- /// 输出指定长度的小写字母加数字的字符串
- /// </summary>
- /// <param name="LenOf">长度</param>
- /// <returns>指定长度的小写字母加数字的字符串</returns>
- public static string GetRndStrOnlyFor(int LenOf)
- {
- return BuildRndCodeOnly(sCharLow + sNumber,LenOf);
- }
- /// <summary>
- /// 输出长度为8的指定字符串
- /// </summary>
- /// <param name="bUseUpper">是否含有大写字母</param>
- /// <param name="bUseNumber">是否含有数字</param>
- /// <returns>长度为8的指定字符串</returns>
- public static string GetRndStrOnlyFor(bool bUseUpper,bool bUseNumber)
- {
- string strTmp = sCharLow;
- if (bUseUpper) strTmp += sCharUpp;
- if (bUseNumber) strTmp += sNumber;
- return BuildRndCodeOnly(strTmp,defaultLength);
- }
- /// <summary>
- /// 输出指定长度的指定字符串
- /// </summary>
- /// <param name="LenOf">长度</param>
- /// <param name="bUseUpper">是否含有大写字母</param>
- /// <param name="bUseNumber">是否含有数字</param>
- /// <returns>指定长度的指定字符串</returns>
- public static string GetRndStrOnlyFor(int LenOf,bool bUseUpper,bool bUseNumber)
- {
- string strTmp = sCharLow;
- if (bUseUpper) strTmp += sCharUpp;
- if (bUseNumber) strTmp += sNumber;
- return BuildRndCodeOnly(strTmp,LenOf);
- }
- #endregion
- }
单位全称 缩写 换算
| Prefix | Symbol | 1000m | 10n | Decimal | Short scale | Long scale | Since[1] |
|---|---|---|---|---|---|---|---|
| yotta | Y | 10008 | 1024 | 1000000000000000000000000 | Septillion | Quadrillion | 1991 |
| zetta | Z | 10007 | 1021 | 1000000000000000000000 | Sextillion | Trilliard | 1991 |
| exa | E | 10006 | 1018 | 1000000000000000000 | Quintillion | Trillion | 1975 |
| peta | P | 10005 | 1015 | 1000000000000000 | Quadrillion | Billiard | 1975 |
| tera | T | 10004 | 1012 | 1000000000000 | Trillion | Billion | 1960 |
| giga | G | 10003 | 109 | 1000000000 | Billion | Milliard | 1960 |
| mega | M | 10002 | 106 | 1000000 | Million | 1960 | |
| kilo | k | 10001 | 103 | 1000 | Thousand | 1795 | |
| hecto | h | 10002⁄3 | 102 | 100 | Hundred | 1795 | |
| deca | da | 10001⁄3 | 101 | 10 | Ten | 1795 | |
| 10000 | 100 | 1 | One | ||||
| deci | d | 1000−1⁄3 | 10−1 | 0.1 | Tenth | 1795 | |
| centi | c | 1000−2⁄3 | 10−2 | 0.01 | Hundredth | 1795 | |
| milli | m | 1000−1 | 10−3 | 0.001 | Thousandth | 1795 | |
| micro | µ | 1000−2 | 10−6 | 0.000001 | Millionth | 1960[2] | |
| nano | n | 1000−3 | 10−9 | 0.000000001 | Billionth | Milliardth | 1960 |
| pico | p | 1000−4 | 10−12 | 0.000000000001 | Trillionth | Billionth | 1960 |
| femto | f | 1000−5 | 10−15 | 0.000000000000001 | Quadrillionth | Billiardth | 1964 |
| atto | a | 1000−6 | 10−18 | 0.000000000000000001 | Quintillionth | Trillionth | 1964 |
| zepto | z | 1000−7 | 10−21 | 0.000000000000000000001 | Sextillionth | Trilliardth | 1991 |
| yocto | y | 1000−8 | 10−24 | 0.000000000000000000000001 | Septillionth | Quadrillionth |
|
Mercurial 是一个轻量级的分布式版本控制系统,它以方便的控制、极强的扩展性赢得了众多开放源代码项目的青睐。本文从版本控制系统中的基本概念、操作和扩展性等方面,有侧重的介绍了 Mercurial。此外本文列出了几个其他常用的分布式版本控制系统,并和 Mercurial 作了简单的比较。通过阅读本文,读者可以了解基础的Mercurial操作,进而熟悉这个备受青睐的工具。
changeset: 207:58e4906e69e3 |
$ hg command [options]
|
$ hg help command
|
$ hg clone http://foo.com/hg/project1
|
destination directory: project1
requesting all changes
adding changesets
adding manifests
adding file changes
added 127 changesets with 448 changes to 143 files
139 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
$ hg init |
def main():
print "I'm in the a function."
print "Great joy of using Mercurial!" #新加的一行
if __name__ == "__main__":
sys.exit(main())
|
$ hg status M main.py |
diff -r a58db6f0e482 main.py
--- a/main.py Thu Nov 29 13:38:38 2007 +0800
+++ b/main.py Thu Nov 29 13:46:10 2007 +0800
@@ -1,5 +1,6 @@ def main():
def main():
print "I'm in the a function."
+ print "Great joy of using Mercurial!" #新加的一行
if __name__ == "__main__":
sys.exit(main())
|
$ hg commit |
HG: user: Guolian Yun <yunguol@cn.ibm.com> HG: changed main.py |
I’m using Mercurial! HG: user: Guolian Yun <yunguol@cn.ibm.com> HG: changed main.py |
$ hg status |
$ hg tip: changeset: 2:2874393e3d9c tag: tip user: Guolian Yun <yunguol@cn.ibm.com> date: Thu Nov 29 10:10:39 2007 +0800 summary: I'm using Mercurial! |
$ hg push project2 |
$ hg pull project3 |
$ hg pull -u |
file://local/filesystem/path http://[user@]host[:port]/[path] https://[user@]host[:port]/[path] ssh://[user@]host[:port]/[path] |
hg 后被调用时就像原生的命令一样。本文介绍两个常用的Mercurial扩展:Patchbomb和Mq。email命令。通过调用 hg email 命令,changeset 提交时的信息的第一行将作为邮件的主题,信件的正文包括完整的 changese t提交信息,以 patch 的形式发布出来的 changeset 完整补丁。如果一次发送的是多个changeset,那么Patchbomb会提示输入本次 changeset 集的总提示信息,这部分信息将作为第一封信,信件主题以[PATCH 0 of N]开头,changeset 则会以[PATCH i of N]将的主题开头发出,其中i是 changeset在本地 repository 当中的顺序。多changeset 系列邮件中,每封信会在邮件头中包含合适的回复信息,这样在邮件客户端可以清晰的显示出系列 changeset 之间的层次关系。.hgrc 当中设置,以下是一个完整的例子。
[extensions] hgext.patchbomb = [email] method = smtp # 还可以在这里指定/usr/sbin/sendmail from = Zhengang Li <lizg@cn.ibm.com> to = groupmail@foo.com [smtp] host = smtp.foo.com |
.hgrc 当中添加如下信息:
[extensions] hgext.mq= |
qinit, qnew, qrefresh, qdiff, qpop和qpush等。Qinit 用来初始化用来存放补丁队列的目录,qnew创建一个新的补丁changeset,qrefresh 将改动刷新到当前的补丁当中去,qdiff 将当前的补丁打印到屏幕,qpop 和 qpush 用来移动当前存放在队列顶部的补丁。完整的 q 系列命令可以从 hg help给出的列表中获得。.hg/patches下面,用户可以手动修改这些补丁当中的提交信息。Changeset 补丁的顺序存放在.hg/patches/series文件当中,同样的,用户可以修改这些补丁的顺序。
UML4AS - UML for ActionScript and Flex is a UML editor with advanced CodeSync technology.
The UML4AS Forum is up at http://www.uml4as.com/forum.
UML4AS 是一款通过代码同步技术(CodeSync),面向actionscript创建UML的一款专业工具。
UML4AS 4月底将发布公开的Alpha版本,5月的发布Beta版本~~~
届时将会有 开源的免费版本 以及 “能够承受”的价格的付费版本(唉,米国人真幸福。。。)
一些特性
UML4AS 官方站点: http://www.uml4as.com/
UML4AS 官方论坛:http://www.uml4as.com/forum
以下是部分内测版本截图,点击可看大图:
![]()
![]()