Grails入门教程(二)

Grails入门教程(二)
Grails入门教程(二)

Grails入门教程(二)

杨宏焱2009-5-18 一、建立域关系

现实情况中,只有一个域的情况几乎不可能,而且域之间应当存在各种关系。现在,来看看如何建立域关系。

1、新增域类Member

使用工具栏

在弹出的文本框中输入generate-all Member:

2、编辑Member类

class Member {

Team team //Member通过这种方法记住了一个team对象 String name

String gender = 'F'

String address

String email

String phone

static belongsTo = [Team] //该字段定义本域属于Team域static constraints = {

name(size:3..20,blank:false,unique:true)

email(email:true,blank:false)//注意email:true很严格,连1@1.1这样的值都不能通过验证

gender(inList:["F", "M"] ) //inList关键字表示了一种特殊的取值范围

}

}

这个域类中唯一特殊的地方是字段belongsTo的定义。关键字belongsTo需要从对象的层次进行理解,它表明一个域对象可能保存的其他域对象的引用(这是一个List类型的属性,即一个域有可能和多个域发生关系)。

这里的belongsTo说明,每个Member对象都会“记住”(存储)一个Team对象(对象的引用)。

3、编辑Team类

我们希望建立的是一中“双向”关系,否则就会发生“A跟B打招呼,B却想不起A是谁”的尴尬。

因此,Team类需要记录下Member,在Team类中添加如下一行:

static hasMany = [members:Member]//members的名字是可以自己定义的hasMany关键字表示这是“1对多”关系。同样,这是一个List,Team可以保存许多“1对多”关系。

4、理解1对多关系

学习Hibernate时,我们知道实体之间存在多种关系“1对1”,“1对多”,“多对多”,以及如何用Hibernate元注释表示这些关系。

与此不同,grails的GORM不需要理解复杂的元注释语法。

Team和Member之间就是一种“1对多”关系。

每一个Member对象,都会记住一个Team对象(通过belongTo 字段和team属性,注意,belongTo=xxx必须要同时定义一个xxx类型的属性),注意只能是“一个”Team。而每一个Team对象,则通过hasMany记住它有一些Member类的“下属”就行了。如果Team对象想知道自己有哪几个“下属”,会调用members方法去查数据库(GORM会自动提供这个方法)。注意,在存储上,每个Member表记录都通过team_id记住了它所属的Team对象,而Team 表并不会因此而记录Member的任何属性。

实际上,hasMany= [members:Member]中的members是一个返回List的方法,该方法可能是这样的:

List members(){return Member.collect{it.id}}

5、重新生成Team和Member域的Controller 和View代码

每次修改域类后,都需要重新生成“脚手架”。用前面提到的方法,注意控制台输出,有时可能需要确认是否覆盖(Team)。

6、运行测试

现在可以看看输入一些Member记录是否可以了。

二、理解脚手架代码

1、查看视图

打开grails-app/views目录,可以看到几个以域名命名的子目录,所有的views都以域类分类放到各自的文件夹中。

打开member下面的create.gsp,可以看出gsp文件其实就是html+grails脚本:

……

value="${fieldValue(bean:memberInstance,field:'name')}"/>

……

除了那些带“${}”的grails脚本外,代码本身与常见的html代码并无区别。需要注意的有如下几点:

(1)form标签里面的action=save

这个save并不是servlet,而是controller中定义的action(控制器后面会介绍)。这样,表单提交由某控制器的某个action处理(g:form标签还有一个隐藏的controller参数指定由哪个控制器处理,对于这个view,默认地,controller=member)。

(2)grails脚本${fieldValue(bean:memberInstance,field:’name’)}

也可以写成${https://www.360docs.net/doc/2117901662.html,},这就好理解多了。类似jsp语法,这是把标签的value

属性绑定到bean属性上。这个memberInstance的bean由spring new出来并自动注入的(相当于jsp的usebean标签,实际上你会在gsp代码中看到很多莫名其妙的对象引用,这些都由spring自动注入了)。

2、查看控制器

grails-app\controllers下面保存了所有的控制器。一个域类都会有一个对应的控制器,如MemberController。可以看到里面定义了很多闭包,其中一个闭包就是一个action,如index、list、delete、update、create,我们来看一个比较简单的例子,也就是上边查看视图时留意过的的那个表单的action:save。

def save = {

def memberInstance = new Member(params)

if(!memberInstance.hasErrors() && memberInstance.save()) {

flash.message = "Member ${memberInstance.id} created"

redirect(action:show,id:memberInstance.id)

}

else {

render(view:'create',model:[memberInstance:memberInstance]) }

}

第一句,直接把表单参数构造成一个域对象:

def memberInstance = new Member(params)

或者

def member = new Member()

member.properties = params

这不会有什么问题,因为脚手架代码中使用spring注入了一个bean来绑定表单域,也就是说,表单提交时grails接收到的参数params本身就来自于域对象,只不过params的类型是map,用来构造域类对象也是理所当然的了。

使用域对象的save方法就可以把对象持久化(别忘记GORM,它已经把对象持久化的工作全部包揽了,其中就包括save方法)。

核心代码也就两句:一个new方法,一个save方法。在grails中,数据库的CRUD就这么简单。

如果要把map对象绑定到javabean ,则可以使用bindData方法:

Def jmember=new Jmember()

bindData(jmember,params)

3、Command模式

除了使用控制器处理表单提交外,grails也提供了command模式。

Controller模式用域对象处理表单内容,域对象与数据库相关并与GORM协同工作。

而Command模式则没有域的概念,也就是处理结果不需要GORM进行持久化。Command类需要保存在src/groovy目录下,并且以xxxCommand.groovy命名:

class SearchCommand {

String teamname

String username

String gender

static constraints = {

gender (inList:[ "F", "M"])

}

}

在这个Command中,我们干一些事情,比如加了一些约束。这跟域类完全一样,不同的是GORM不会对它进行对象-关系映射(这意味着,我们没有免费的save方法用了)。

在Controller类中引用Command:

def search = { SearchCommand cmd ->

if (cmd.hasErrors()) {

redirect(action:'error')

} else {

}

比如在search这个action定义的闭包中,我们通过把默认的参数params封装到cmd。SearchCommand cmd->这句起了什么作用?

当然我们不可能凭空“捏造”一个参数在后面的代码随意引用它,而这个参数调用者根本不知道。

我们知道对于所有的action,控制器都会“固定地”传递一个map参数params,所以在这里相当于把一个params参数当成了SearchCommand 对象来用,即SearchCommand cmd=new SearchCommand(params),这样表单提交过来的值就传递到cmd中了(groovy语法确实相当“简约”,然而有时候过于简约也会给我们带来困扰)。

SearchCommand是前面定义的那个Command类。

然后我们调用cmd的hasErrors方法对进行验证处理。

三、I18N

所有的国际化资源放在grails-app\i18n目录下,已有11个国家(包括中国)。如果你有新的国际化信息,找到相应的文件,直接加在里面就是了。

四、url

grails的url由controller和action构成。如下面的link标签:

id="${memberInstance.id}">${memberInstance?.id)}

如果不指定controller,则默认为当前controlle r。

id属性则指定了一个唯一序列值,一般作为域对象的id值。如果要传递其他参数,可以使用params属性:

params="['team.id':team.id]" >${memberInstance?.id)}

此外,可以用createLinkTo方法创建一个到任意相对路径的url:

Home

<待续>

用户管理系统设计

用户管理系统设计 指导老师:崔老师 组长:罗文文 组员:黄丽徐丽安华林雷微微

目录 一、 -------------------------------------------------------概述 1.----------------------------------------------------- - 项目名称 2.----------------------------------------------------- - 功能概述 3.----------------------------------------------------- - 开发环境及框架 4.----------------------------------------------------- - 用户环境 二、--------------------------------------------------- ----项目框架优点 1.----------------------------------------------------- - springmvc介绍 2.----------------------------------------------------- - easyUI介绍 3.----------------------------------------------------- - jquery介绍

4.----------------------------------------------------- - hibernate介绍 三、--------------------------------------------------- ----项目需求分析 四、--------------------------------------------------- ----流程介绍 五、--------------------------------------------------- ----数据库信息设计 六、--------------------------------------------------- ----功能模块介绍 七、--------------------------------------------------- ----项目具体实现 八、--------------------------------------------------- ----总结 一:概述 1.项目名称 用户信息管理系统 2.功能概述 用户管理系统主要是用于公司方便来管理人员的,本系统主要是对用户个人信息的管理,包

魔方解法大全_(超简单_超全_带图片)

三阶魔方入门玩法教程 下图是本教程介绍的三阶魔方入门的玩法(层先法)复原的基本步骤示意图: 第一步:底棱归位(又称底部架十字,底层四个棱块正确复原的过程) 注:(本教程以白色为底面,为了方便交流与学习,请统一把白色作为底面)。 图1 魔方底层架十字可以无师自通,只是我们这一步要复原的四个棱块的相对位置顺序 要注意,由于我们以白色中心块做底层,按照我们现在的主流魔方的贴纸的帖法(上 黄下白,前蓝后緑,左橙右红),如果我们先复原了白蓝这个棱块,那我们在保持 白色中心块在底部的情况下,白红的棱块就一点要放在白蓝棱块的右边,白橙棱块放 在白蓝棱块的左边,白緑棱块放在白蓝棱块的对面,由于魔方的中心块不会发生变 化,所以在复原的过程中,我们是以中心块为参照物的,第一步我们在复原白蓝、白 红、白绿、白橙这四个棱块的时候,我们可以先把白色面旋转到顶层,和黄色中心 块同一个平面,然后再把他对应的另一个颜色(蓝或红或緑或橙)经过旋转最上层, 使之和对应的中心块的颜色同色,这样我们再旋转180度,对应的棱块就正确复原 到底部了。 注意:图101的情况是没有正确归位的情况,需要调整白蓝和白红两个棱块的位置, 图101

才是正确的完成了底棱归位第二步:底角归位(复原魔方第一层四个角块) 图2 魔方的四个底角正确归位以后一定会出现倒T字型,如图2所示,如果不是这样肯定是底面角块没有正确归位(位置错了,重新来过)。 底角归位也可无师自通,有兴致的朋友可以自己琢磨一些技巧和完成这一步。有难度的朋友可参考我下面介绍的一种技巧来完成,我们先看图2-1和图2-2,首先我们先确定目标块的位置是在他要正确归位的正上面的位置,然后我们再看白色的面朝向何方,就很快的能快速判断出来是下图几种情况中的哪一种了。 复原基本思想:先将目标角块调至顶层侧面,再转动能与之相连形成顺色整体的面,使目标角与底棱连成一个(1×1×2)的归位整体,再转至正确的位置。因此,下列的五个实例并没有必要当成公式来死记。 图2-1 图2-2

最新shiro-安全框架

s h i r o-安全框架

Shiro 是 JAVA 世界中新近出现的权限框架,较之 JAAS 和 Spring Security,Shiro 在保持强大功能的同时,还在简单性和灵活性方面拥有巨大优势。本文就带领读者一睹 Shiro 的风采。 可能大家早先会见过 J-security,这个是 Shiro 的前身。在 2009 年 3 月初之前,这个安全框架叫做 J-security,由于某些原因,更名为 Shiro(或者Ki,意为 Fortress),是 Apache 的孵化项目,鉴于本文编写时 Shiro 的还没有正式发布的版本,本文使用的是 Jsecurity 的稳定版本 0.9,本文中Shiro 等同于 Jsecurity。 本文将涉及 Shiro 的整体框架、安全模型、关键概念类,同时给出了 Shiro 以及 Grails Shiro Plugin 的使用示例,可以下载文中使用的源代码。 本文代码的开发环境: ?Jsecurity 0.9 ?Grails 1.2.0 ?Grails Shiro Plugin 1.0.1 ?SpringSource Tool Suite 2.3 Shiro 是一个强大而灵活的开源安全框架,能够非常清晰的处理认证、授权、管理会话以及密码加密。如下是它所具有的特点: 1.易于理解的 Java Security API; 2.简单的身份认证(登录),支持多种数据源(LDAP,JDBC,Kerberos, ActiveDirectory 等); 3.对角色的简单的签权(访问控制),支持细粒度的签权;

4.支持一级缓存,以提升应用程序的性能; 5.内置的基于 POJO 企业会话管理,适用于 Web 以及非 Web 的环境; 6.异构客户端会话访问; 7.非常简单的加密 API; 8.不跟任何的框架或者容器捆绑,可以独立运行。 目前还有其他出现较早的安全框架,比如 JAAS,Spring Security。 JAAS —面世的时间最早,但是鉴于其在使用上有很大的限制,很少有人真正的使用它。可以说它不是一个好的应用程序级别的安全框架; Spring Security —目前是 Java 安全框架领域当之无愧的老大,已经非常成熟了;如果使用 Spring 框架,可以首选 Spring Security,但是对于单应用来说,Shiro 更显简单方便。 下面就开始我们的 Shiro 之旅吧! 首先,我们来看看的 Shiro 的整体架构,见下图: 图 1. 整体架构

二阶魔方盲拧教程

以下二阶魔方盲拧的方法是以cubemaster三阶魔方肓拧方法的角部分作为主体。 相信许多人都看过CUBE-MASTER的三阶魔方盲拧教程,确实是简单易学,可要在短时间内要记得30多个数字,却不是容易的事,许多朋友可能只学会了方法,而别办法脱稿,在这,我推荐二阶魔方肓拧,因为它难度小,记忆量也不多,绝对每个朋友都能学会。(新手建议先学习二阶魔方教程和三阶魔方入门教程再学盲拧) 要做到二阶魔方盲拧,前题是先要记住组成二阶魔方(Pocket Cube)的各个小方块状态的数字,首先要规定编号的方法 此图中蓝色面为前此图中绿色面为前此图中红色面为前 一、编号方法(如图) 1.位置编号 上左前(ULF) 1 上左后(ULB) 2 上右后(URB) 3 上右前(URF)4 下左前(DLF) 5 下左后(DLB) 6 下右后(DRB)7 下右前(DRF)8 2.方向编号(二阶中方向判断,只需看每一块上顶面或底面的色) 要进行方向编号,将会涉及到等级判断问题,因此我们首先做个约定: U(上)、D(下)面为高级面; 原始状态时 U(上)、D(下)面上的色为高级色;因此,要判断每个方块的方向正确与否,要看该方块的最高级色与所在位置的最高级面的相对位置。 转的方向是指该方块的高级色通过哪个方向的转动(该方块所在面的转动)后能与所在位置的高级面在同一平面上。 这样,我们就可以用一组数字来确定整个魔方角块方向的状态了,如: 需顺时针转的角块::1 3 5 8 需需逆时针转的块: 2 4 6 另外,由于二阶魔方没有中心块,所以面的级别的确定要由某个角来确定,二阶中我们约定3号位角块的情况为最终的颜色排列方向(即约定3号块是完全正确的),定住3号块可以让我们省去该块的还原 二、复原角块方向 由于角块方向有三种状态:(需顺时针旋转;需逆时针旋转;正确,),这里将用到两个公式分别解决状态1(角块需要顺时针旋转)与状态2(角块需要逆时针旋转)。 为了进一步学习cube的三阶肓拧就直接用三阶公式了 公式一:R U R’ U R U2 R’ L’ U’ L U’ L’ U2 L 公式二: L’ U2 L U L’ U L R U2 R’ U’ R U’ R’

三阶魔方公式口诀图解(新手快速入门)

三阶魔方公式口诀图解(新 手快速入门) 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

三阶魔方玩法与口诀 目录 一、前言 ________________________________________________ - 2 - 二、认识公式 ____________________________________________ - 2 - 三、拧魔方的步骤与口诀___________________________________ - 4 - 步骤一、完成一层 ______________________________________ - 4 - (一)完成第一层十字 _______________________________ - 4 - (二)完成第一层角块 _______________________________ - 5 - 步骤二、完成第二层 ____________________________________ - 6 - 步骤三、完成顶层 ______________________________________ - 8 - (一)顶层十字 _____________________________________ - 8 - (二)顶层平面 _____________________________________ - 9 - (三)顶层角块 ____________________________________ - 10 - (四)顶层棱块 ____________________________________ - 11 -

用户管理模块设计

用户管理模块设计 用户管理模块提供对用户信息的管理,包括用户注册、用户登录、用户权限管理、用户信息修改以及用户等级修改。 1、用户注册 根据用户表,设计相应的注册页面,注册页面包括用户名、密码、邮箱、部门、电话等信息,当用户进行注册时,填写这些信息,用户名是不能与已注册的用户名相同,填写完成后,提交注册请求,后台相应的Action会响应该动作,首先获取到页面发来的参数,然后将这些参数通过Session对象写入到数据库中,最后向用户提示注册成功与否。 2、用户登录 用户注册之后,就可以通过账户和密码登陆至平台。当用户提交登陆请求,后台相应的Action会响应该动作,首先获取到页面发来的用户名和密码,然后通过Query对象查询该用户是否存在且密码正确,最后将根据结果给用户发送跳转页面,如果用户存在且密码正确,则可进入平台主页面,否则,提示登陆错误信息。 3、用户权限管理 用户权限管理将用户分为普通用户和管理员,他们具有不同的权限,他们各自的权限如表1所示。此平台首次使用时,会内置一个超级管理员,有修改用户等级的权限。 表1不同用户权限授权

定义一个权限拦截器,它的功能是用来检验用户类型,对每一个需要管理权限的操作均进行拦截,同时检验用户类型,判断该用户类型是否可执行该操作,即可达到权限管理的作用。如果某操作在当前用户等级对应的操作范围内,则可正常访问,否则跳转到提示页面,提示用户权限不足。 4、用户信息修改 用户管理模块提供用户修改自己信息的功能。当进入信息修改界面,首先会获取Session中当前用户信息,供用户在当前信息基础上进行信息修改。当用户填写完修改信息,并发送修改请求后,后台将响应用户的请求,首先得到所有用户修改参数,然后将修改的信息设置到该对象中,最后更新数据库,将更新结果发送给用户。

魔方超级菜鸟入门教程(自己整理的)

幼儿级魔方超级菜鸟入门教程(一层) 前言 我们常见的魔方是3×3×3的三阶魔方,英文名Rubik’s cube 。是一个正6面体,有6种颜色,由26块组成:8个角块;12 学习魔方首先就要搞清它的以上结构,知道角块只能和角块换位,棱块只能和棱块换位。 一、完成一面 思路:先确定中心块------完成其它块(棱、角块) 由于中心块是连在支架上的所以它们不能交换位置(在没有图案的魔方上可以认为它是死的、不能动的)所以我们要先确定中心块(大本营)让其它的块来向它报到。 下面我将用小朋友很熟悉的“坐车上学过程”作类比来教大家完成一面的还原。 咱们设定魔方的摆放如下图所示:蓝色在上,我们要完成蓝色的面,蓝色中心块所在的”上面”就是我们的学校,其它有蓝颜色的块都是这个学校的学生。:) 另外要清楚的是:前、后、左、右面与蓝色面是相邻面关系,而下面与蓝色面是相对着的关系。 要完成其它块向心块报到(上学)的过程共有几种情况。 时是上面和前面)的相同位置,都是右下角(同位),所以这个学生可以到学校的相同位置的空位上去。 原则就是:相邻面的相同位置的块可以替换,(第一面每一块第能用这个法则还原)具体过程如下:

经过以上方法就可完成一面,但完成一面后不一定就完成了一层,相当于到了学校但没进入学生所在班级而是乱的,只有每个学生都回来自己的班级才完成一层,如下图 二、接下来我们就在一面的基础上完成一层 这相当于在学校中进行班级的正确归位。最易理解的方法是哪位同学进错了班,就先回到“家”再“重新上一次学”这次当然得一定要注意要直接到所在班级中去(把占了自己位置的同学替换出来,替换出来的同学也再“重新上一次学回到自己所在班级去”)。 学生该在哪个班取决于你手中的魔方的六个中心块颜色排布关系:比如,上蓝前黄右红,那学生“蓝黄红”的班就只能在右前上角。(如上图)其它“班”的位置同理。 12 1 2 3 4 幼儿级魔方教程之第二层 在第一层的入门教程中,以“学生坐车上学”的思路教大家学会了第一层,学生上学已有一阵子,接下来该开个家长会了。 这次我们讲如何用“接家长进教室开家长会”的法子来完成第二层。

用户管理模块详细设计

用户管理模块概述: 该模块主要实现管理员对用户信息的添加及修改,查看用户信息列表,对新增用户进行密码初始化。用户本身有修改密码及修改本人信息的权限。 用户管理模块技术分析: 本模块中主要运用查看、添加和删除。其中注意的是对密码的初始化以及密码修改后的加密。针对密码初始化,由系统管理员在添加新增用户时设置初始化密码,一般初始化密码统一。新入公司的员工在首次登录系统时需要对初始密码进行修改,修改后的密码具有保密性,在前台与后台数据库均是不可见的。因此采用MD5加密算法,用于加密用户名密码,验证登录身份。MD5即Message-Digest Algorithm 5,用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一,主流编程语言普遍已有MD5实现。将数据运算为另一固定长度值,是杂凑算法的基础原理,MD5的作用是让大容量信息在用数字签名软件签署私人秘钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。 用户管理模块实现过程: 系统管理员登录系统后点击用户管理模块,选择添加用户,跳转至userAdd.jsp,进行添加用户的信息,并对密码进行初始化,然后保存即可更新数据库。如果某员工升职,则要对其工资以及职务更改。点击修改用户信息跳转至userEdit.jsp,输入某项信息保存即可更新数据库。应部门领导要求打印所有员工信息列表,点击查看员工信息跳转至userList.jsp,即可查看员工信息,员工信息记录以每10个记录为一页,可以进行翻页处理。 新员工首次登录公司系统需要进行改密,此密码需要加密。后台管理员不可见。当用户忘记密码时可以选择通过手机发送验证码来重置密码,并重新登录。员工也拥有对员工本人信息修改的权限。点击修改信息即可完成页面的跳转。 1、开发模型:首先开发用来封装一条表记录的JavaBean即user类。然后开发用来封装针对该表记录实现增删改查的工具JavaBean,即DAO类userDao完成对数据库的操作。 2、开发静态视图,分别为userAdd.jsp,userEdit.jsp,userList.jsp,EditPassword.jsp. 3、开发控制器servlet ,使静态页面转化为动态页面。

二阶魔方快速解法面先法

二阶魔方快速解法面先法 (Man整理) 二阶魔方快速解法面先法 (Man整理) 二阶快速法无论是初学者还是已经学过一段时间的朋友, 都可以很轻松的上手, 甚至可以在四天内Sub 10秒! 它的原理很简单,无非是先两面,然后直接调整上下两层的角块,完成! 这步称之XLL 重点:在完成底面和顶面的时候均不需要 二阶魔方快速解法面先法 (Man整理) 二阶快速法无论是初学者还是已经学过一段时间的朋友, 都可以很轻松的上手, 甚至可以在四天内Sub 10秒! 它的原理很简单,无非是先两面,然后直接调整上下两层的角块,完成! 这步称之XLL 重点:在完成底面和顶面的时候均不需要考虑是否要对齐颜色!只需要完成两面先!这就是这种解法快速的关键~! 过程: 第一步:底面 ---> 第二步:顶面(OLL) ---> 第三步:整体换角(XLL)完 成! 第一步:底面 这一步里十五秒的观察很重要,尽量在十五秒内把第一面的完成步聚想好,争取在在两秒内完成一面! 第二步:OLL(第二面) 二阶的OLL并不是很多有如下几种,公式都很顺手

OLL1 OLL2 OLL3 OLL4 R2 U2 R' U2 R'2 F RUR'U' RUR'U' F' F R U R' U' F'R U R' U' R' F R F' OLL5 OLL6 OLL7 F R' F' R U R U' R'R U' U' R' U' R U' R'R U R' U R U' U' R' 第三步:移形换位 这一步里,观察的速度是最重要的,这里不象三阶,只需判断一层,需要同时判断上下两层, 不过这一步的时候PLL只有三大种情况,非常好判断,主要是观察相邻的色块上下两层的对角换 上层前两邻角下层对 角 上下层均只换前面的 两邻角

国企内部廉洁管理与监督系统

国企内部廉洁管理与监督系统 落实““三重一大”工作”、廉洁经营、激发企业活力与创造力 ●三重一大电子监察 ●党廉工作管理 ●企业决策事项督办 ●廉洁风险防控信息管理、党廉案例宣传教育 ●基层党风廉洁建设 ●决策监督、工作执行监督 解决问题 建立国企内部廉洁管理与监督系统,实现有效监督,达到内控业务活动合法、有序、协调和高效的目的。开展廉洁监督,既是国企发展的客观选择,也是纪检监察工作的内涵不断深化的必然结果,同时又是纪检监察工作制度创新的重要体现,标志着国企监察工作的成熟和完善。中科旗信充分认识廉洁监督的重要地位,贯彻落实十八大“两个责任”和国企深化改革要求,在党廉建设工作和内部监督机制手段上进行改革创新,全面构建电子监察制度体系,直接关系到国企管理能力的提升和从源头上治理腐败目标的实现,是建立健全教育、制度与监督三者并重的惩治与预防腐败体系的基础性工作。 产品功能 中科旗信“国企内部廉洁管理与监督系统”由两个重点,四大组件部分构成。两个重点包括帮助党委厘清责任,明确分工,按时,按周期,按计划开展“三重一大”的落实工作;分解和传递主体责任,并监督各级党委履行好责任,完成任务。四大组件,也是相当于4个核心子系统,分别是“三重一大”工作电子监察、工作督查督办、廉洁风险防控信息管理(库)、效能考核子系统。同时平台还提供了大量辅助功能,如分工管理、计划分解管理、进度汇报、计划追踪、电子台账、各类报表、监督监察手段、提示提醒、在线交流;统计分析、图形化结

果展示;年度分类信息管理等等。以上子系统可按用户实际需求自选建设。 一、功能概述 ◆规范管理,防范风险 中科旗信根据“三重一大”管理的相关制度,将管理过程程序化,从提出、论证、预告、讨论、表决、纪要、执行到公开,让三重一大决策更科学、更民主。 ◆领导查询,掌控直观 领导登录系统后可以看到“三重一大”事项的分布情况、决策情况、完成情况、监督情况、效能考核情况等;平台提供图表功能及图片上传功能,便于领导直观掌控、全面把握大局,及时做出决策。 ◆电子监察,严肃有力 系统对“三重一大”事项的提出、调研论证、会前酝酿、上会讨论、表决、执行全过程实施电子监察;每一环节都在系统中留下电子记录,支持照片、扫描件等文件上传,让系统说话、纪检监督与公众监督并举,电子监察严肃有力。 ◆电子履职,记录清晰 责任部门通过系统上报“三重一大”事项的决策执行情况,领导在线接收会议预告信息、审核会议纪要及执行反馈报告,中科旗信系统自动记录每一次操作的时间、操作情况、保存工作任务实施的各个环节,确保工作流程有迹可寻、有据可查。 ◆打造起“人员网上管,绩效网上考”的现代公司管理新格局 系统构建了智能化管理系统,对公司各级管理全部依托网络平台进行,效能考核全部由系统自然生成,名次等级全部由系统自动通报公示。对全公司及各级年度目标实时进行分析研判,实现目标化、标准化和流程式管理,对全公司责任目标完成进度、完成质量,由过去的模糊式、随意性变成了具体化、数

ASP案例(用户管理及用户登录)

ASP案例──用户管理及用户登录 一个专业的用户管理及用户登录系统需要涉及安全性、有效性、合法性等多方面的内容。 一、关键技术 1.验证码简介 (1)验证码的作用 所谓验证码就是将一个随机数显示在一幅图片上,并在图片上产生干扰因素。验证码能够防止攻击者编写程序,自动注册,重复登录暴力破解密码等。 (2)验证码的实现过程 在服务器端随机生成验证码字符串,保存在内存中,然后将该字符串写入图片,发送给浏览器端显示。在浏览器端,用户输入验证码图片上的字符串,然后提交服务器端,比较由用户提交的字符串和服务器保存的该验证码字符串是否一致。 (3)验证码的程序原理 服务器端文件:SafeCode.ASP 生成随机码函数:SafeCode 将随机码存入:Session(“SafeCode”) 验证文件:ChkSafeCode.ASP (4)验证图像的生成 一个BMP文件大体上分成图像文件头(BitmapFileHeader)、图像信息头(BitmapInfoHeader)、调色板(Palette)和图像数据(ImageData)4部分组成。 第一部分定义: typedef struct tagBitmapFileHeader { WORD bfType;//文件类型(0x424D,即字符串“BM”) DWORD bfSize;//文件大小(14个字节,WORD占2个字节,DWORD占4个字节) WORD bfReserved1;//保留字 WORD bfReserved2;//保留字 DWORD bfOffBits;//从文件头到实际的图像数据的偏移字节数, //也就是图像文件头、图像信息头和调色板的总长度 }BitmapFileHeader 第二部分定义: typedef struct tagBitmapInfoHeader { DWORD biSize;//该结构长度(40个字节,LONG占4个字节) LONG biWidth;//图像宽度(单位:像素) LONG biHeight;//图像宽度(单位:像素) WORD biplanes;//为1 WORD biBitCount;//表示颜色时要用到的位数,黑白为1,256色为8,真彩色为24 DWORD biCompression;//图像是否压缩 DWORD biSizeImage;//实际图像占用的字节数 LONG biXPelsPerMeter;//目标设备的水平分辨率 LONG biYPelsPerMeter;//目标设备的垂直分辨率 DWORD biClrUsed;//图像实际用到的颜色数 DWORD biClrImportant;//重要的颜色数

教三阶魔方你从2分钟到20秒(1)

教三阶魔方你从2分钟到20秒(1)

7L内容:从30秒到25秒的教程(OLL全集,CROSS强化) 8L内容:从25秒到20秒以内的教程(慢拧与手速) 9L内容:后言 还有的是,5L~9L的内容,都需要回复才能查看,其一,我发现小站的人其实挺多,但是绝大部分都是游客,我希望来小站观光的游客能够注册帐号,这样有益于小站的发展,并且能够增加小站的人数,高手也会增加,当作做善事,其二就是这篇教材我下的功夫很多,希望各位把帖子能让跟多有需要的人看到,你回复一个顶起来后或许新手就看见了呢~ 另外说一下,你能到魔方小站的论坛来练习,都是渴望能够成为魔方高手的人。所以,一时的艰难不算什么,希望大家能够辛勤果敢,不怕困难地学习魔方,成为高手!但是假如你已经对魔方渐渐冷淡无趣,我相信你是无法进步的。所以,不怕万人阻挡,只怕自己投降!勤奋是高手的另一个名字! 还有,对教程不明白的,可以在本帖回复,对于其他魔方知识不明白的私信我,需要经常咨询或者要问的比较多的,可以加我QQ2609047698,下面进入内容,不懂可于本帖提问。

2L内容:从2分钟到1分钟的教程: 【前言】(可跳过) 三速无法达到1分钟的魔友,多半是练习不够,并且关乎到手法以及魔方的问题,其实进入1分钟相当简单,只要你肯下功夫学习,并且加上对魔方的热情,我相信每一位魔友都可以!这一步大概需要花掉半个月左右。 【关于练习】(必读) 学习了初级玩法后,必须要加强巩固初级玩法,不然初级玩法都没法掌握,就别说进一步学习新的了,必须要练习到一下几点:1.不用错公式2.不搞乱步骤3.能够独立还原。反正就是练习10遍,一遍都没有失误,发挥出正常水平就可以了,必须要保证这一点,这是很基础的。并且每天除了学习新的内容之外,还要天天都保证30次还原的练习量,有时间可以50次,甚至100次,反正就是尽可能多练习,这样进入1分是没问题的。 【关于手法】(必读) 手法,其实就是玩魔方的时候,你手指拧的方法。大家可以看到高手拧魔方,手都非常灵活,他们手速快是一方面的原因,其次就是手法问题。手法关系到你玩魔方的手速,所以新手练习手法是很有必要的。 大家可以看看FSC(就是手指快捷方法),你也可以直

最受欢迎的Java框架介绍

最受欢迎的Java框架介绍

17个最受欢迎的Java 框架:优点、缺点 Java 依旧是最受欢迎的编程语言。这里是如今被使用最多的Java 框架第一部分。 在2018年,Java 依旧是世界上最受欢迎的编程语言。它自带一个庞大的生态和全世界超过900万的Java 开发者。虽然Java 不是最简单的语言,但是你不必从零开始写Java 程序。这里有许多杰出的Java 框架可以编写运行在Java虚拟机上的web 和手机应用程序、微服务和REST API。 Java 框架允许你聚焦于你的app的业务逻辑,而不是编写如处理数据库连接或异常处理这样的基础功 能。此外,如果你有一些Java 的经验,你可以更快的开始。这些框架都使用相同的语法并且与相似的 条件、模型和概念工作。 我们前17 的Java 框架基于直到2018年的使用情况并按字母顺序排列展示的。这里是顶级Java 框架的第一部分。 Blade:极小占用的简单应用程序框架 Blade 是一个轻量级、高性能的Java 框架,它允许你用简单的方式快速构建web 应用程序。作者希望用户再一天内了解整个框架。因此,Blade 专注于简洁和优雅。 Blade 框架遵循MVC(模型-视图-控制器)软件设计模式。它有易于理解的设计,并且不依赖其他任何 第三方库或引入太多层。Blade 基于Java 8。Netty web服务器和模板引擎也内置于框架中。它占用极小,源代码总共小于500kb。

用Blade,你可以访问RESTful 风格的路有接口并可以将你的app 作为当作基础Maven 项目部署。Blade 也内置了安全功能。例如,它带有CSRF(跨站点请求伪造)和XSS(跨站点脚本)防御。它是 一个多功能框架,因为它自带插件扩展和webjar 资源的支持。其主站的文档是中文的。但是,它在 Github repo 也有英文文档。 Dropwizard:生产级RESTful Web 服务 Dropwizard 是一个高性能且简单的用于快速开发RESTful Web 服务的Java 框架。它特别适合创建 Java 微服务。 Dropwizard 框架汇集了一些成熟的Java 库,为你提供了快速且无干扰的开发平台。它自带了一个嵌入 式Jetty 服务器、Google Guava、LogBack、Hibernate Validator、Joda Time和许多其他流行的Java 库。此外,Dropwizard 还包含可用于构建RESTful Web 服务的Jersey 和用于处理JSON 的jackson。你可以将Dropwizard 想成一个独立的生态系统,包含了上述所有依赖捆绑为一个单独的包。 如果你选择Dropwizard,你将不必花费大量时间为如配置、监控、日志的辅助功能编写代码。相反, 你可以专注于你的app 的主要业务逻辑并达到最大生产率。这就是为什么Dropwizard 经常被称为操作 友好的Java 框架。如果你之前写过Java 那么入门不会很难;Dropwizard 的文档甚至有一个简单的 Hello World 示例,它可以帮助你完成第一步。 Grails:基于Groovy 的Web 应用程序框架

魔方二阶盲拧教程

二阶魔方(Pocket Cube)肓拧教程 青年农民整理QQ:75057277 ----此法是cubemaster三阶肓拧方法的角部分为主体 相信许多人都看过CUBE-MASTER的3阶盲拧教程,确实是简单易学,可要在短时间内要记得30多个数字,却不是容易的事,许多朋友可能只学会了方法,而别办法脱稿,在这,我推荐2阶盲拧,因为它难度小,记忆量也不多,绝对每个朋友都能学会。 要做到盲拧,前题是先要记住组成魔方的各个小方块状态的数字,首先要规定编号的方法 1.位置编号 上左前(ULF) 1 上左后(ULB) 2 上右后(URB) 3 上右前(URF) 4 下左前(DLF) 5 下左后(DLB) 6 下右后(DRB)7 下右前(DRF)8 2.方向编号 (二阶中方向判断,只需看每一块上顶面或底面的色) 要进行方向编号,将会涉及到等级判断问题,因此我们首先做个约定: U(上)、D(下)面为高级面; 原始状态时 U(上)、D(下)面上的色为高级色;因此,要判断每个方块的方向正确与否,要看该方块的 ..................... 最高级色 ....与所在位置的 ....的相对位置。 ...... ......最高级面 转的方向是指该方块的高级色通过哪个方向的转动(该方块所在面的转动 ........................................)后能与所在位置 的.高级面 ....... ...在同一平面上。 这样,我们就可以用一组数字来确定整个魔方角块方向的状态了,如: 需顺时针转的角块::1 3 5 8 需需逆时针转的块: 2 4 6 另外,由于二阶魔方没有中心块,所以面的级别的确定要由某个角来确定,二阶中我们约定3号位角块的情况为最终的颜色排列方向(即约定3号块是完全正确的),定住3号块可以让我们省去该块的还原 二、复原角块方向 由于角块方向有三种状态:(需顺时针旋转;需逆时针旋转;正确,),这里将用到两个公式分别解决状态 1(角块需要顺时针旋转)与状态 2(角块需要逆时针旋转)。

二阶魔方初学入门解法(非常实用)

二阶魔方初学入门解法 操作说明:左手拇指按在魔方前面的左下角的中心,左手中指、无名指按在魔方后面的右下角,左手食指按在魔方后面的右上角,左手捏住后不要动。|右手转右面顺时针90°为上,转右面逆时针为下;右手转顶层顺时针为左,右手转顶层逆时针为右;右手转前面顺时针为顺,右手转前面逆时针 为逆。(公式中有框线□的是用左手食指做)左手转左面顺时针为下, 左手转左面逆时针为上。(☆一定要先花点时间看操作说明哦,与国际标准的公式表达方式有些不冋,否则不知道下面手法是如何做的! ☆) 、完成顶面。第一面方法:先找颜色块最多相同的一个面作为顶面开始(例如白色), 逐个增加,直到顶面四个颜色块全部相同(例如:全部白色) 二、完成丫第一层. 第一层(顶层)方法:相邻角块位置互换:①右手:下右(底层)上;②左手:下左(底层)上③右手:下右(底层)上(需要互换位置的角块面对 自己,看着白色角块来操作), 三、 口诀:下面、外面(底层)、回来(左右手连续做三次) 块的颜色,要思考各种情况:(注:完成第一层(顶层)后,翻转180。,将原来的第一层(顶层)变 为底层,标准的底面f顶面配色是:白f黄、蓝f绿、红f橙 (例如:顶面四个角块只有一个是黄色,其他 即可完成第二层顶面同色。 方法1:(顶面左下角不变色,右手做上左下左上左左下左左)田 方法2:(顶面右下角不变色,左手做上右下右上右右下右右) 四、第二层换位(顶面已反好的颜色都不变),有框线□的是用左手食指做。手法1:(上左 下右](下顺)(上上右)(下右上左)下逆□ 此方法使顶层右手边两个角块位置互换,而顶面颜色不变,这是最顺手的一个T字手法! 阳手法2:上右上左下右右下右上左左下 此方法使顶层左手边两个角块位置互换,而顶面颜色不变,这是盲拧的一个换位手法!。

Etmvc入门学习详解

Etmvc学习文档 etmvc框架介绍 如今的Java Web开发对于需求来说已经变得过于复杂。当今众多Java领域的Web开发框架不仅使用复杂,而且并没有很好的遵循Don’t Repeat Yourself(DRY)原则。 之前看过struts, spring mvc, ror, grails等框架,其中最欣赏ror了,struts的灵活性对于多数中小型项目而言显得对于多余。特别是在AJAX如此盛行的今天,现有的框架对AJAX的支持显得不足。于是,萌生了开发一套简易框架的念头,再后来就有了现在的etmvc。 一、什么是etmvc? etmvc是一套轻量级简易高效的WEB开发框架,严格遵循MVC的思想。et一词源于1982年斯皮尔伯格执导的一部温馨科幻片《E.T.》(外星人),意思就是来自外星人的,不受束缚的MVC,开发者可以快乐地做WEB开发,而不受传统的烦杂折磨。 二、etmvc框架定位 我们给这个框架的定位如下: ?简易:代码要简单,开发要容易。约定优于配置,再也没有XML的配置之苦。 ?性能:在满足功能的前提下尽量地提高性能。 ?实用:没有太多花哨的东西,一切从实用的角度考虑。 三、授权协议 etmvc框架采用LGPL授权。 四、etmvc框架的组成 etmvc框架包括mvc和一个可选的orm实现,可选的orm实现是一个ActiveRecord框架,独立于mvc,可以在非WEB的应用程序中使用。 五、etmvc框架的安装 1获取最新的框架:从本站获取最新的etmvc框架。 2建立WEB项目,将下载的压缩文件解压至项目的/WEB-INF/lib目录中。 3配置数据库,在/WEB-INF/classes目录中建立数据库连接配置文件activerecord.properties,配置示例: 源码复制打印 3domain_base_class=com.et.ar.ActiveRecordBase

三阶魔方入门教程

三阶魔方入门教程——七步法 一、技术路线(七步) 底面十字——底面角块——第二层——顶面十字——顶角方向——角块归位——棱块归位 二、具体步骤 1、底面十字: 现在的目标是在顶上完成第一层(顶层),用架好棱十字(要求顶层四棱的相对位置正确,也就是棱块的侧面色要和对应魔方面的中心块的颜色相同如图1)再对好四角的方法。此步的小技巧是:可以将目标棱块和对应的中心块并到一起后再参加架“十”字。 正确 错误 附1:架“十”字另一方法是先将四个目标棱块都转上去架起“十”字,再来调节它们的相对位置, 2、底面角块: 加好底面十字后再对好底面四个角(位置和色向都要对)

3、第二层: 由于中心块已固定,所以第二层只有四个棱块没解决了,现在就来解决它。一般都会出现下面几种情况,(有一种特殊情况是四个中层棱都在不在顶上,而是相对错位,此时只要用两个公式做一次便可出现标准情况)用对应的公式来解决它们。 U L U F U ’ F ’ U ’ F ’ U F 用一次公式二,就会变成上面情况之一 :相邻棱对换公式:R2 U2 R2 U2 R2 有相同颜色但两棱位置交换。 4、顶面十字: 此时只需看顶层棱块,不要管角块如何(角块不参与十字构成)只需一个公式就能完成。 架十字过程如下图: 由于顶层棱不出现十字的情况很多,有50种,其中15种有“一”字形,8种只有中心块,27种有“┛”形。“┛”型的只要一次公式就架好十字,即图中的最后一步。

5、顶角方向: 顶面棱架起“十”字后有以下7种情况: 架完十字后快速判断并熟练地完成这七种情况中的任意一种。做完这一步顶面就全部翻好了。 6、顶角归位: 调节棱的位置有两个公式,顺时针转和顺时针,判断后快速用公式完成魔方还原。 判断方法:某一顶边上边缘两侧颜色相同; 应用此公式的三种情况: 1.某一个顶面上三个块中两边两个颜色相同; 2.某一个顶棱上三个块都颜色相同; 3.所有顶棱上两边的颜色都不同。

(完整版)统一用户及权限管理

文件编号: 统一用户及权限管理平台 解决方案及设计报告 版本号0.9

拟制人王应喜日期2006年6月审核人__________ 日期___________ 批准人__________ 日期___________

目录 第一章引言 (1) 1.1编写目的 (1) 1.2背景 (1) 1.3定义 (1) 1.4参考资料 (1) 第二章统一权限管理解决方案 (2) 2.1需求分析 (2) 2.2系统架构 (3) 2.3系统技术路线 (7) 第三章统一用户及授权管理系统设计 (7) 3.1组织机构管理 (8) 3.2用户管理............................................................................................................. 错误!未定义书签。 3.3应用系统管理、应用系统权限配置管理 (9) 3.4角色管理 (8) 3.5角色权限分配 (9) 3.6用户权限(角色)分配 (9) 3.7用户登录日志管理功 (9) 第四章对外接口设计 (10) 4.1概述 (10) 4.2接口详细描述 (10) 4.2.1获取用户完整信息 (14) 4.2.2获取用户拥有的功能模块的完整信息 (15) 4.2.3获取用户拥有的一级功能模块 (16) 4.2.4获取用户拥有的某一一级功能模块下的所有子功能模块 (17) 4.2.5获取用户拥有的某一末级功能模块的操作列表 (19) 4.2.6判断用户是否拥有的某一末级功能模块的某一操作权限 (20) 4.2.7获取某一功能模块的ACL—尚需进一步研究 (21)

魔方20秒快速法入门教程

我的魔方解法----简化的CFOP法 魔方快速还原方法中Fridrich的CFOP (Cross+F2L+OLL+PLL魔方吧叫“20秒还原法”)法是很主流的方法,还原速度很快但是有100多个公式要掌握。通过在“魔方吧”的学习,我整理出一个简化的CFOP 方法,这样只需记15个公式就可实现较快的还原魔方。要更快一点,就再多记1个架“十”字公式,本法推荐记16个公式(教程中红色显示)。这比起完整CFOP的(41+57+21=119)个公式来说已大大减轻了负担,本法是一种“中级”的魔方解法,不太适合初学者(初学者还是推荐最简单、公式最少的基本层先法)和只想学会还原的朋友。主要适合学习对象为:1)不愿意记非常多的公式又想还原得快一点的朋友;2)完整CFOP方法的初学者。此法可作为Fridrich方法(CFOP)的入门教程。 一、技术路线 第一、二层采用基本层先的方法(第二层3个公式),第三层采用CFOP法的棱和角一起翻色(此时采用先架棱“十”字,再后用7个OLL公式来完成顶面翻色),然后调棱位置,再调角位置(由于是简化所以不能同时调角和棱的位置),其实就就是把PLL的角和棱分开来完成。 二、具体步骤 1、第一层 现在的目标是在顶上完成第一层(顶层),用架好棱十字(要求顶层四棱的相对位置正确,也就是棱块的侧面色要和对应魔方面的中心块的颜色相同如图1)再对好四角的方法。此步的小技巧是:可以将目标棱块和对应的中心块并到一起后再参加架“十”字。加好顶棱十字后再对好四个角(位置和色向都要对)详细方法可见魔方吧“笑面虎”方法中的内容,因为简单可以自己想出来不再多说了。这时就完在了一层。图2 图1图2 附1:架“十”字另一方法是先将四个目标棱块都转上去架起“十”字,再来调节它们的相对位置,这时要用到两个公式中的一个: 1、相对棱对调R’L U2 R L’ 2、相邻棱对调R’U’R U R’ 2、第二层 由于中心块已固定,所以第二层只有四个棱块没解决了,现在就来解决它。先将第一步中做好的的魔方倒过来(如图3)一般都会出现下面(图4、5、6)几种情况,(有一种特殊情况是四个中层棱都在不在顶上,而是相对错位,此时只要用图4图5的公式做一次便可出现4、5的情况)用对应的公式来解决它们。 图示公式录像

二阶10秒魔方入门解法

二阶魔方初学入门解法 二阶魔方初学入门解法 魔方初学
操作说明: 操作说明:左手拇指按在魔方前面的左下角的中心,左手中指、无名指按在魔方后面的右下角,左手 食指按在魔方后面的右上角,左手捏住后不要动。右手转右面顺时针 90°为上,转右面逆时针为下; 右手转右面顺时针 90° 转右面逆时针为下 右手转顶层顺时针为左 右手转顶层逆时针为右 右手转前面顺时针为顺 右手转前面逆时针为逆 右手转顶层顺时针为左,右手转顶层逆时针为右;右手转前面顺时针为顺,右手转前面逆时针为逆。 (公式中有框线 公式中有框线 的是用左手食指做) 左手转左面顺时针为 转左面顺时针为下 左手转左面逆时针为 转左面逆时针为上 的是用左手食指做) 左手 转左面顺时针为 下 , 左手 转左面逆时针为 上 。
(☆一定要先花点时间看操作说明哦,与国际标准的公式表达方式有些不同,否则不知道下面手法是如何做的!☆)
第一面方法: 找颜色块最多相同的一个面作 一、完成顶面 。 第一面方法:先找颜色块最多相同的一个面作为顶面开始(例如白色), 完成 顶 逐个增加,直到顶面四个颜色块全部相 逐个增加,直到顶面四个颜色块全部相同(例如:全部白色)。 顶面 完成第一层 二、 完成 第一层 (顶层) 方法: 相邻角块位置互换: ①右手: 右(底层) 上; 底层) 第一层 顶层) 方法: 相邻角块位置互换: 下 ③右手:下右(底层) 上 下右 底层)
(需要互换位置的角块面对自己,
(左右手连续做三次)
②左手:下 左(底层) 上 下 底层)
看着白色角块来操作),
口诀: 下面、外面(底层)、回来 下面、 底层)
第二层顶面同色, 把四个角块的颜色转到正确方向。 三、第二层顶面同色 ,即把四个角块的颜色转到正确方向。此方法一次会反三个角块 的颜色,要思考 思考各种情况: 思考
(注:完成第一层(顶层)后,翻转 180°,将原来的第一层(顶层)变为
底层,标准的底面→顶面 配色是:白→黄、蓝→绿、红→橙)
通常先用右手的方法 1 一次,调整为标准状态(例如:顶面四个角块只有一个是黄色,其他三
个角块颜色各不相同),再用方法
1 或方法 2 一次,即可完成第二层顶面同色。
:(顶面左下角不变色,右手做 顶面左下角不变色 方法 1:(顶面左下角不变色,右手做 上左 下左 上左左 下左左 ) :(顶面右下角不变色, 顶面右下角不变色 方法 2:(顶面右下角不变色,左手做 上右 下右 上右右 下右右 ) 第二层换位 层换位(顶面已反好的颜色都不变) ,有框线 四、 第二层换位 的是用左手食指做。
上左下右 下顺)(上上右 手法 1:(上左下右 )(下顺)(上上 右 )(下 右 上左)下 逆 上左下 )(下顺)(上上 )(下 上左)
此方法使顶层右手边两个角块位置互换,而顶面颜色不变,这是最顺手的一个 T 字手法!
手法 2:上右 上左 下 右右 下右 上左左 下 上右
此方法使顶层左手边两个角块位置互换,而顶面颜色不变,这是盲拧的一个换位手法! 。
上左下右 下顺上逆 下顺上逆) 手法 3:顺(上右 下 右 ) (上左下 逆 ) (上左下右 ) (下顺上逆 上 上 上左下
此方法使顶层左上角与右下角的两个角块位置互换,而顶面颜色不变,也是最顺手的一个手法!
至此,魔方六面已经全部复原( 秒左右),好好地享受成功的喜悦吧! ),好好地享受成功的喜悦吧 至此,魔方六面已经全部复原(熟练者 10~40 秒左右),好好地享受成功的喜悦吧! 六面已经全部复原

相关文档
最新文档