26.5.2登录系统 26.5.3退出系统 26.5.4 Service Manager(Access Manager) 26.5.4.1添加服务 26.5.4.2HDFS 26.5.4.3 HBASE 26.5.4.4Hive 26.5.4.5YARN 26.5.4.6 STORM 26.5.4.7 KAFKA 26.5.4.8 KYLIN 26.5.4.9 SQOOP 26.5.4.10编辑服务 26.5.4.11删除服务 26.5.5 Ranger策略(Ranger Policies) 26.5.5.1 HDFS 26.5.5.2 HBASE 26.5.5.3 HIVE 26.5.6 USERS/GROUPS 26.5.6.1 USERS 26.5.7 Groups 26.5.8 报告(Reports) 26.5.9 Audit 26.5.9.1 Access 26.5.9.2 Admin 26.5.9.3 Login Sessions 26.5.9.4 Plugins 26.5.9.5 Plugin Status 26.5.9.6User Sync 26.5.10 权限(Permission) 26.5.10.1 权限模块 26.5.10.2 添加/编译权限
26.5Apache Ranger用户手册
转载博文:https://blog.csdn.net/Happy_Sunshine_Boy/article/details/94560240 (对博文中遗漏点进行了补充,有些是重新整理的)
26.5.1关于本文档
本用户指南适用于管理员策略管理。URL信息可以在安装指南或系统管理员处找到。
26.5.2登录系统
通过提供的用户名和密码登录到系统(管理员用户名和密码是安装时设置的admin/Admin123456,密码保证最低8位)。为了简单起见,用户名也显示在主页上。注意登录是区分大小写的。
26.5.3退出系统
用户名显示在主页的右上角。下拉列表中提供了注销选项。
26.5.4 Service Manager(Access Manager)
Access Manager可以从顶部菜单栏访问。顶部菜单栏显示了管理员支持的模块列表。 Access Manager模块帮助在这些服务下添加和管理各种受支持的服务和策略。
26.5.4.1添加服务
步骤1:通过单击服务管理器页面上每一列旁边的加号图标来添加服务。可以在此步骤中添加服务和其他配置属性的详细信息。添加的服务将如下所示。 步骤2:在“创建服务”屏幕上填充与服务类型相关的所有属性,如下所示
26.5.4.2HDFS
点击”Test Connection”,只有成功了才可以。如下: 可以查看配置信息 参数介绍
标签
描述
Service Name
服务的名称,需要在代理配置中指定服务名称。
Description
提供服务描述以供参考。
Active Status
选择此选项来启用(Enabled)或禁用(Disabled)服务。
Select Tag Service
选择标签服务。
Username
指定可用于连接的终端系统用户名(如:hdfs用户)
Password
添加上面用户名和密码(如:admin)
Namenode URL
hdfs://namenode_host1:8020,hdfs://namenode_host2:8020 (如果有ha的时候,以逗号分开)
Authorization Enabled
授权包括限制对资源的访问。如果启用,用户需要授权凭据。
Authentication Type
指定身份验证类型(Simple,Kerberos)
hadoop.security.auth_to_local
它应该取自hadoop配置文件core-site.xml,使用hadoop将登录凭证映射到用户名。
dfs.datanode.kerberos.principal
它应该取自hadoop配置文件hdfs-site.xml;仅在启用kerberos身份验证时才提供;与datanode相关的原理
dfs.namenode.kerberos.principal
它应该取自hadoop配置文件hdfs-site.xml;仅在启用kerberos身份验证时才提供;与namenode相关的原则
dfs.secondary.namenode.kerberos.principal
应从hadoop配置文件hdfs-site.xml中获取;仅在启用kerberos身份验证时才提供;与次级namenode相关联的主体。
RPC Protection Type
只有授权用户才能查看,使用和贡献数据集;Authentication(认证);Integrity(完整);Privacy(隐私)
Common Name for Certificate
指定证书的名称
Add New Configurations
指定任何其他新配置
26.5.4.3 HBASE
参数描述
标签
描述
Service Name
服务的名称,需要在代理配置中指定服务名称。
Description
提供任何描述以供参考。
Active Status
可以选择此选项来启用(Enabled)或禁用(Disabled)服务。
Select Tag Service
选择标签服务
Username
指定可用于连接的最终系统用户名(如:hbase)
Password
添加上面用户的密码(如:admin)
hadoop.security.authentication
指定身份验证类型(Simple,Kerberos)
hbase.master.kerberos.principal
属性指定Kerberos主体HBASE Master(只适用于支持Kerberos的环境)
hbase.security.authentication
设置必须与此属性(Simple,Kerberos)的hbase-site.xml设置匹配
hbase.zookeeper.property.clientPort
设置必须与此属性的hbase-site.xml设置匹配(默认值为2181)
hbase.zookeeper.quorum
设置必须与此属性的hbase-site.xml设置匹配
zookeeper.znode.parent
设置必须与此属性的hbase-site.xml设置匹配
Common Name for Certificate
指定证书的公共名称。
Add New Configurations
指定任何其他新配置。
26.5.4.4Hive
案例如下:
参数描述:
标签
描述
Service Name
服务的名称,需要在代理配置中指定服务名称。
Description
提供服务描述以供参考。
Active Status
可以选择此选项来启用(Enabled)或禁用(Disabled)服务
Select Tag Service
选择标签服务
Username
指定可用于连接的最终系统用户名(如:hive)
Password
添加上面用户名的密码(如:admin)
jdbc.drierClassName
驱动程序用于Hive连接的完整类名,缺省HiveServer2类名是:org.apache.hive.jdbc.HiveDriver
jdbc.url
jdbc:hive2://HIVESERVER2_HOST:10000
Common Name for Certificate
指定证书的公共名称。
Add New Configurations
指定任何其它新配置
26.5.4.5YARN
26.5.4.6 STORM
26.5.4.7 KAFKA
26.5.4.8 KYLIN
26.5.4.9 SQOOP
26.5.4.10编辑服务
您可以编辑服务细节,包括每个服务名称旁边的edit图标中的配置属性
26.5.4.11删除服务
您可以通过单击“管理服务”页面上列出的每个服务名称旁边的“删除”按钮来删除服务。
26.5.5 Ranger策略(Ranger Policies)
26.5.5.1 HDFS
前置条件 配置好hdfs的server,如下:
配置好上面的配置之后,要点击下面的Test Connection。只有测试成功之后,才可以接下来的进行下面的配置。
最后,进入HDFS的配置界面:将dfs.permissions.enabled改成true。如下: 另外,要将dfs.namenode.acls.enabled的值改成true。如下: 添加HDFS策略 可以从HDFS策略列表页面为特定服务添加一个新策略。在添加时,策略应列在下表中。可以通过提供的搜索过滤器搜索策略。 点击: 步骤1:单击清单页面上的Add New Policy按钮 步骤2:创建策略 其中all - path的如下配置: 说明:hdfs和hive用户具有所有的读写执权限。 {USER}表示所有用户,表示所有用户拥有读写执权限。
toto_1策略的配置如下: 上面policy的含义是:除了toto_1和hive用户,所有用户对/toto_1/和/user/toto_1用户都不能进行读写执。
对应的toto_2也类似,只不过给路径和用户改成toto_2
[ root@hadoop4 ~ ]
[ toto_2@hadoop4 root] $ hdfs dfs - ls / toto_1
ls: Permission denied: user= toto_2, access= EXECUTE, inode= "/toto_1"
[ toto_2@hadoop4 root] $ hdfs dfs - ls / toto_2
Found 9 items
- rw- r- - r- - 3 toto_2 hdfs 5 2020 - 05 - 20 18 : 01 / toto_2/ 1. txt
- rw- r- - r- - 3 toto_2 hdfs 5 2020 - 05 - 20 18 : 03 / toto_2/ 2. txt
- rw- r- - r- - 3 toto_2 hdfs 6 2020 - 05 - 20 18 : 05 / toto_2/ 3. txt
- rw- r- - r- - 3 toto_2 hdfs 10 2020 - 05 - 20 18 : 06 / toto_2/ 4. txt
drwxr- xr- x - toto_2 hdfs 0 2020 - 05 - 15 14 : 47 / toto_2/ aaaa
drwxr- xr- x - toto_2 hdfs 0 2020 - 05 - 15 14 : 50 / toto_2/ bbbbb
drwxr- xr- x - hive hdfs 0 2020 - 04 - 16 18 : 21 / toto_2/ hiveWarehouse
drwxr- xr- x - hive hdfs 0 2020 - 05 - 21 10 : 49 / toto_2/ t3
drwxr- xr- x - toto_2 hdfs 0 2020 - 05 - 15 14 : 31 / toto_2/ toto_2
[ toto_2@hadoop4 root] $ hdfs dfs - ls / user/ toto_1
ls: Permission denied: user= toto_2, access= EXECUTE, inode= "/user/toto_1"
[ toto_2@hadoop4 root] $ hdfs dfs - ls / user/ toto_2
Found 1 items
drwx- - - - - - - toto_2 hdfs 0 2020 - 05 - 21 14 : 00 / user/ toto_2/ . Trash
[ toto_2@hadoop4 root] $
参数描述
标签
描述
Policy Type
Policy Name
输入适当的策略名称。不能为相同的服务类型(HDFS)复制此名称。这个字段是强制性的。
Policy Label
Resource Path
定义文件夹/文件的资源路径。您可以通过通配符,如/home*,以避免写入完整路径,并为所有子文件夹或文件启动该策略。
Description
可以包括正在创建的策略的描述
Audit Logging
指示是否审计此策略。
Select Group
从用户组列表中选择一个特定的组并为该组选择权限。
Select User
从用户列表中选择一个特定的用户并为该用户选择权限。
Delegate Admin
当策略被分配一个用户或一组用户时,这些用户将成为委托的管理员。被授权的管理员可以更新、删除策略。它还可以基于原始策略(基本策略)创建子策略。
创建策略时的权限
权限
描述
Read
允许用户执行读取操作
Write
允许用户执行写操作
Execute
允许用户执行操作
Select/Deselect All
全选/取消全选
步骤3:策略使用唯一id创建 查看/编辑/删除HDFS的策略 可以通过单击策略旁边的编辑/删除按钮从HDFS策略列表页面编辑/删除策略。
26.5.5.2 HBASE
前置配置 要想使这些个策略起作用,需要进入Ambari后台的HBASE配置项: 添加HBASE策略 您可以从HBASE策略列表页面添加一个新策略。在添加时,策略应列在下表中。可以通过’ column ‘、’ column family ‘、’ Group name ‘、’ Policy name ‘、’ Status’、‘Table’、’ Username '来搜索策略。 步骤1:单击清单页面上的Add New Policy按钮 步骤2、创建Hbase策略
标签
描述
Policy Type
Policy Name
输入适当的策略名称。不能为相同的服务类型(Hbase)复制此名称。这个字段是强制性的。
Policy Type
HBase Table
选择适当的表。可以为特定策略选择多个表。这个字段是强制性的。
HBASE Column-family
对于选定的表和列族,选择策略将适用于其的列
Description
对策略适当描述
Audit Logging
选择是否审计特定的策略
Select Group
从用户组列表中选择一个特定的组并为该组选择权限。选择admin权限将指定该组为所选资源的admin
Select User
从用户列表中选择一个特定的用户并为该用户选择权限。选择admin权限将指定用户为所选资源的admin
Delegate Admin
授权管理员
Enable/Disable
默认情况下,策略是启用的。您可以禁用策略来限制该策略的用户/组访问。
步骤3、创建策略时的权限 | 权限 | 描述 | | Read | 允许用户执行读取操作。| | Write | 允许用户执行写操作。| | Create | 允许用户执行创建操作。| | Admin | 这将为用户提供委托的管理访问。| | Select/Deselect All | 全选/取消全选 |
步骤4、GRANT: HBase GRANT是一个命令,用于向用户提供对HBase数据库表的访问或特权。
grant '' , '' , ''
grant 'ranger’' , 'RW' , 'testtable2'
这将创建一个策略,并为testtable2上的user1(ranger)提供读写访问权限。 查看/编辑/删除/撤销HBASE策略 通过单击策略行旁边的view/edit/delete按钮,可以从HBASE策略列表页面查看/编辑/删除策略。
REVOKE: Hbase REVOKE是一个命令,用于从用户撤消对Hbase数据库表的访问或特权
revoke ‘< user- or - group> ',' < table> '
revoke 'ranger' , 'testtable2'
这将撤销ranger的所有权利,在hbase中,您没有像在hbase中那样为每个特权指定特定的revoke命令。
26.5.5.3 HIVE
前置条件 其中jdbc url是: jdbc:hive2://hadoop6:2181,hadoop5:2181,hadoop4:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2
要注意,在配置好service之后,一定要test成功了之后再验证,否则,配置了策略之后,策略可能不给力。
添加Hive策略 进入Hive的service列表页面。可以看到一堆策略。可以通过”Group Name”、”Hive Column”、”Hive Database”、”Hive Service”、”Hive Table”、”Hive UDF”等搜索。 1、单击列表右上角的Add New Policy按钮,添加策略 可以为hive数据库、hive表和hive列名的组合创建策略。 | 标签 | 描述 | | Policy Type | | | Policy Name | 输入适当的策略名称。不能为相同的服务类型(Hive)复制此名称。这个字段是强制性的。| | Policy Label | | | database/url/hiveservice | 选择适当的数据库。可以为特定策略选择多个数据库。| | table/udf | 对于所选数据库,选择策略适用的表;还可以为UDF设置策略。用户定义的函数。输入适当的udf | | Hive Column | 对于选定的数据库和表,选择策略适用的列。| | Description | 对策略适当描述 | | Audit Logging | 选择是否审计特定的策略。| | Select Group | 从用户组列表中选择一个特定的组并为该组选择权限。| | Select User | 从用户列表中选择一个特定的用户并为该用户选择权限。| | Delegate Admin | | | Include/exclue | include标志意味着它将考虑字段中输入的值。默认值设置为include。exclude标志将排除在该特定字段中输入的所有表名或列名。| enable/disable 默认情况下,策略是启用的。您可以禁用策略来限制该策略的用户/组访问。 案例:
权限
描述
select
允许用户执行选择操作。
update
允许用户执行更新操作。
Create
允许用户执行创建操作。
Drop
允许用户执行删除操作。
Alter
允许用户执行索引操作。
Index
允许用户执行索引操作。
Lock
允许用户对指定的资源执行锁定操作。
All
允许用户执行所有操作。
Read
允许用户执行可读操作。
Write
允许用户执行可写操作。
ReplAdmin
Service Admin
Select/Deselect All
全选/取消全选
GRANT:Hive GRANT是一个命令,用于向用户提供对Hive数据库表的访问或特权。
grant < permissions> on table < table> to user < user or group> ;
grant select on table default. newtable to user ranger;
查看/编辑/删除/撤销HIVE策略
REVOKE: Hive REVOKE是一个命令,用于从用户撤消对Hive数据库表的访问或特权。
revoke < permissions> on table < table> from user < user or group> ;
revoke select on table default. newtable from user ranger;
26.5.6 USERS/GROUPS
策略权限分配给用户和组
26.5.6.1 USERS
这些用户可以登录到Ranger门户并执行管理和报告任务。可以在添加用户时分配角色。只有管理员才允许创建用户和服务。”admin”/”admin user”的角色指定可以分配给新用户的角色。
内部与外部用户:内部用户是由管理员管理员创建的用户。比如:XA Policy Manager。外部用户是那些从其他系统(如Active Directory(AD)、LDAP或unix系统)同步的用户。
添加用户 您可以从用户列表页面添加一个新组。在添加时,用户应该在下面的表中列出。在系统中创建的用户是您可以通过“电子邮件地址”、“角色”、“用户名”、“用户源”、“用户状态”、“可见性”搜索用户。
步骤1:单击用户列表页面上的Add New User按钮。
步骤2:输入详细信息并保存
标签
描述
User Name
输入适当的用户名。此名称不能在整个系统中复制
New Password
输入适当的密码
Password Confirm
确认输入的密码
First Name
输入一个合适的名字
Last Name
输入适当的姓
Email Address
以所需格式输入适当的第一个电子邮件地址。
Select Role
选择适当的角色(管理员、用户)。这是一个强制字段。
Group
选择用户所属的组
步骤3:设置可见性(即可见/隐藏) 单击”可见”选项后,在”用户列表”页面中选择”用户获取可见”。 编辑用户 我们只能编辑内部用户。对于外部用户,只能更改角色。 Admin登录 您可以通过单击用户名从用户列表页面编辑用户。 User登录 您可以通过单击profile从用户列表页面编辑用户。
26.5.7 Groups
Ranger也允许在组级别分配权限
添加组 您可以从组列表页面添加一个新组。在添加时,组应该在下表中列出。您可以通过”组名称”和”组源”可见性搜索组。
步骤1:单击组列表页面上的Add New Group按钮 步骤2:输入详细信息并保存
标签
描述
Group Name
输入适当的用户名。此名称不能在整个系统中复制。这是一个强制字段。
Description
提供任何描述以供参考。
编辑组 您可以通过单击组的名称从组列表页面编辑组。(只能由管理员执行) 可见性的组:隐藏组不会出现在组列表页中。要使组隐藏,请选择组组名称旁的复选框
26.5.8 报告(Reports)
报告模块用于随着策略数量的增加更有效地管理策略。这个页面将列出所有的政策从HDFS,HBASE,HIVE,YARN,KNOX,STORM,SOLR,KAFKA,NIFI,KYLIN,SQOOP和ATLAS。 您可以基于Search Criteria进行搜索
标签
描述
Policy Name
输入策略名称
Policy Type
选择策略类型,例如。 访问,屏蔽,行级别过滤策略
Component
选择Hadoop组件,例如:HDFS,HIVE等。
Resource
输入资源名称,例如。 路径,表/列名称等。
Policy Label
输入策略标签
Search By
按用户名或组名搜索
26.5.9 Audit
目前Ranger支持定期审计。这包括在资源级别进行日志记录。它将支持基于用户、组或日期/时间等的条件审计。
26.5.9.1 Access
为审核设置为“开”的所有策略提供服务活动数据。 默认服务策略配置为记录服务中的所有用户活动。 此默认策略不包含用户和组访问规则。您可以根据以下条件筛选数据
搜索条件
描述
Access Enforcer
按访问强制实施器名称搜索
Access Type
按访问搜索类型,如READ_EXECUTE,WRITE_EXECUTE
Client IP
按访问资源的IP地址进行搜索
Cluster Name
ambari群集的名称
End Date
设置结束日期
Resource Name
资源名称
Resource Type
基于组件按资源类型搜索。 例如。 HDFS中的路径,数据库,Hive中的表。
Result
按访问结果搜索,即允许/拒绝日志
Service Name
服务名称
Service Type
选择服务类型
Start Date
设置开始日期
User
用户名
Tags
标签名称
26.5.9.2 Admin
此模块包含HDP安全管理Web UI的所有事件,包括服务、策略管理器、登录等(创建、更新、删除、密码更改等操作)。您可以根据以下内容过滤数据。 | 搜索条件 | 描述 | | Actions | 这些是对资源执行的操作,例如创建、更新、删除、更改密码等操作 | | Audit Type | 根据对服务、策略和用户执行的操作,有三个值资源、资产和用户 | | End Date | | | Session Id | 每次尝试登录系统时,会话计数都会递增。| | Start Date | 每个会话都存储登录时间和日期。日期范围用于过滤特定日期范围的结果。| | User | 已执行创建、更新和删除操作的用户名 | 单击操作时的差异视图(本例中为Update操作)
26.5.9.3 Login Sessions
此模块为每次登录记录与会话相关的信息。您可以基于此过滤数据。
| 搜索条件 | 描述 | | End Date | 每个会话都存储登录时间和日期。日期范围用于过滤特定日期范围的结果 | | IP | 登录的系统的IP | | Login Id | 通过其登录到系统的用户名 | | Login Type | 用户尝试登录的模式。(输入用户名及密码) | | Result | 基于登录成功或失败的结果 | | Session Id | 每次尝试登录系统时,会话计数都会递增 | | Start Date | 每个会话都存储登录时间和日期 | | User Agent | 每次登录系统时用户代理 | 单击会话id查看会话详细信息
26.5.9.4 Plugins
此模块显示安全代理的上载历史。此模块显示从系统导出的所有服务。可以根据以下内容过滤数据。
搜索条件
描述
Cluster Name
导出服务操作的集群名称
Start/End Date
每个代理都存储了导出时间和日期。日期范围用于过滤特定日期范围的结果
Http Response Code
导出服务时得到的http状态
Plugin ID
试图导出服务的代理的名称
Plugin IP
试图导出服务的代理的Ip
Service Name
我们要导出的服务名称
Plugin选项卡用于检查组件是否成功地与ranger通信。
26.5.9.5 Plugin Status
26.5.9.6User Sync
26.5.10 权限(Permission)
26.5.10.1 权限模块
权限模块的目的是提供用户角色的灵活性。在权限模型的帮助下,管理员可以限制非管理员用户对任何模块的访问或分配权限。权限模型的主要目的是根据策略管理器、审计、报告、用户管理、密钥管理器等服务为非管理员用户分配专用角色。 步骤1:将指针放在”设置”选项卡上。从下拉菜单中点击”权限” 步骤2:可以按组名、模块名和用户名搜索权限
26.5.10.2 添加/编译权限
步骤3:单击“操作”列下的“编辑”按钮,以访问权限清单页面上选定的用户的特定模块 步骤4:可以从下拉列表中选择多个用户和组
步骤5:如果ranger user只有Audit and Reports选项卡的权限,那么只有这两个模块是可见的,以便在用户登录时标记用户。
你可能感兴趣的:(#)
戴尔笔记本win8系统改装win7系统
sophia天雪
win7 戴尔 改装系统 win8
戴尔win8 系统改装win7 系统详述
第一步:使用U盘制作虚拟光驱:
1)下载安装UltraISO:注册码可以在网上搜索。
2)启动UltraISO,点击“文件”—》“打开”按钮,打开已经准备好的ISO镜像文
BeanUtils.copyProperties使用笔记
bylijinnan
java
BeanUtils.copyProperties VS PropertyUtils.copyProperties
两者最大的区别是:
BeanUtils.copyProperties会进行类型转换,而PropertyUtils.copyProperties不会。
既然进行了类型转换,那BeanUtils.copyProperties的速度比不上PropertyUtils.copyProp
MyEclipse中文乱码问题
0624chenhong
MyEclipse
一、设置新建常见文件的默认编码格式,也就是文件保存的格式。
在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。
在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。
Window-->Preferences-->General -
发送邮件
不懂事的小屁孩
send email
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
动画合集
换个号韩国红果果
html css
动画 指一种样式变为另一种样式 keyframes应当始终定义0 100 过程
1 transition 制作鼠标滑过图片时的放大效果
css
.wrap{
width: 340px;height: 340px;
position: absolute;
top: 30%;
left: 20%;
overflow: hidden;
bor
网络最常见的攻击方式竟然是SQL注入
蓝儿唯美
sql注入
NTT研究表明,尽管SQL注入(SQLi)型攻击记录详尽且为人熟知,但目前网络应用程序仍然是SQLi攻击的重灾区。
信息安全和风险管理公司NTTCom Security发布的《2015全球智能威胁风险报告》表明,目前黑客攻击网络应用程序方式中最流行的,要数SQLi攻击。报告对去年发生的60亿攻击 行为进行分析,指出SQLi攻击是最常见的网络应用程序攻击方式。全球网络应用程序攻击中,SQLi攻击占
java笔记2
a-john
java
类的封装:
1,java中,对象就是一个封装体。封装是把对象的属性和服务结合成一个独立的的单位。并尽可能隐藏对象的内部细节(尤其是私有数据)
2,目的:使对象以外的部分不能随意存取对象的内部数据(如属性),从而使软件错误能够局部化,减少差错和排错的难度。
3,简单来说,“隐藏属性、方法或实现细节的过程”称为——封装。
4,封装的特性:
4.1设置
[Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”
aijuans
学习Android遇到的错误
最开始遇到这个错误是很早以前了,以前也没注意,只当是一个不理解的bug,因为所有的texture,textureregion都没有问题,但是就是提示错误。
昨天和美工要图片,本来是要背景透明的png格式,可是她却给了我一个jpg的。说明了之后她说没法改,因为没有png这个保存选项。
我就看了一下,和她要了psd的文件,还好我有一点
自己写的一个繁体到简体的转换程序
asialee
java 转换 繁体 filter 简体
今天调研一个任务,基于java的filter实现繁体到简体的转换,于是写了一个demo,给各位博友奉上,欢迎批评指正。
实现的思路是重载request的调取参数的几个方法,然后做下转换。
android意图和意图监听器技术
百合不是茶
android 显示意图 隐式意图 意图监听器
Intent是在activity之间传递数据;Intent的传递分为显示传递和隐式传递
显式意图:调用Intent.setComponent() 或 Intent.setClassName() 或 Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
隐式意图;不指明调用的名称,根据设
spring3中新增的@value注解
bijian1013
java spring @Value
在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下:
1.首先在applicationContext.xml中加入:
<beans xmlns="http://www.springframework.
Jboss启用CXF日志
sunjing
log jboss CXF
1. 在standalone.xml配置文件中添加system-properties:
<system-properties> <property name="org.apache.cxf.logging.enabled" value=&
【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码
bit1129
centos
编译必需的软件
Firebugs3.0.0
Maven3.2.3
Ant
JDK1.7.0_67
protobuf-2.5.0
Hadoop 2.5.2源码包
Firebugs3.0.0
http://sourceforge.jp/projects/sfnet_findbug
struts2验证框架的使用和扩展
白糖_
框架 xml bean struts 正则表达式
struts2能够对前台提交的表单数据进行输入有效性校验,通常有两种方式:
1、在Action类中通过validatexx方法验证,这种方式很简单,在此不再赘述;
2、通过编写xx-validation.xml文件执行表单验证,当用户提交表单请求后,struts会优先执行xml文件,如果校验不通过是不会让请求访问指定action的。
本文介绍一下struts2通过xml文件进行校验的方法并说
记录-感悟
braveCS
感悟
再翻翻以前写的感悟,有时会发现自己很幼稚,也会让自己找回初心。
2015-1-11 1. 能在工作之余学习感兴趣的东西已经很幸福了;
2. 要改变自己,不能这样一直在原来区域,要突破安全区舒适区,才能提高自己,往好的方面发展;
3. 多反省多思考;要会用工具,而不是变成工具的奴隶;
4. 一天内集中一个定长时间段看最新资讯和偏流式博
编程之美-数组中最长递增子序列
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class LongestAccendingSubSequence {
/**
* 编程之美 数组中最长递增子序列
* 书上的解法容易理解
* 另一方法书上没有提到的是,可以将数组排序(由小到大)得到新的数组,
* 然后求排序后的数组与原数
读书笔记5
chengxuyuancsdn
重复提交 struts2的token验证
1、重复提交
2、struts2的token验证
3、用response返回xml时的注意
1、重复提交
(1)应用场景
(1-1)点击提交按钮两次。
(1-2)使用浏览器后退按钮重复之前的操作,导致重复提交表单。
(1-3)刷新页面
(1-4)使用浏览器历史记录重复提交表单。
(1-5)浏览器重复的 HTTP 请求。
(2)解决方法
(2-1)禁掉提交按钮
(2-2)
[时空与探索]全球联合进行第二次费城实验的可能性
comsci
二次世界大战前后,由爱因斯坦参加的一次在海军舰艇上进行的物理学实验 -费城实验
至今给我们大家留下很多迷团.....
关于费城实验的详细过程,大家可以在网络上搜索一下,我这里就不详细描述了
在这里,我的意思是,现在
easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符
daizj
oracle ORA-12154
用easy connect连接出现“tns无法解析指定的连接标示符”的错误,如下:
C:\Users\Administrator>sqlplus username/
[email protected] :1521/orcl
SQL*Plus: Release 10.2.0.1.0 – Production on 星期一 5月 21 18:16:20 2012
Copyright (c) 198
简单排序:归并排序
dieslrae
归并排序
public void mergeSort(int[] array){
int temp = array.length/2;
if(temp == 0){
return;
}
int[] a = new int[temp];
int
C语言中字符串的\0和空格
dcj3sjt126com
c
\0 为字符串结束符,比如说:
abcd (空格)cdefg;
存入数组时,空格作为一个字符占有一个字节的空间,我们
解决Composer国内速度慢的办法
dcj3sjt126com
Composer
用法:
有两种方式启用本镜像服务:
1 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)。见“例1”
2 将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置)。见“例2”
为了避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置,如下 1 2 3 4 5
高效可伸缩的结果缓存
shuizhaosi888
高效可伸缩的结果缓存
/**
* 要执行的算法,返回结果v
*/
public interface Computable<A, V> {
public V comput(final A arg);
}
/**
* 用于缓存数据
*/
public class Memoizer<A, V> implements Computable<A,
三点定位的算法
haoningabc
c 算法
三点定位,
已知a,b,c三个顶点的x,y坐标
和三个点都z坐标的距离,la,lb,lc
求z点的坐标
原理就是围绕a,b,c 三个点画圆,三个圆焦点的部分就是所求
但是,由于三个点的距离可能不准,不一定会有结果,
所以是三个圆环的焦点,环的宽度开始为0,没有取到则加1
运行
gcc -lm test.c
test.c代码如下
#include "stdi
epoll使用详解
jimmee
c linux 服务端编程 epoll
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linu
Hibernate对Enum的映射的基本使用方法
linzx0212
enum Hibernate
枚举
/**
* 性别枚举
*/
public enum Gender {
MALE(0), FEMALE(1), OTHER(2);
private Gender(int i) {
this.i = i;
}
private int i;
public int getI
第10章 高级事件(下)
onestopweb
事件
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
孙子兵法
roadrunners
孙子 兵法
始计第一
孙子曰:
兵者,国之大事,死生之地,存亡之道,不可不察也。
故经之以五事,校之以计,而索其情:一曰道,二曰天,三曰地,四曰将,五
曰法。道者,令民于上同意,可与之死,可与之生,而不危也;天者,阴阳、寒暑
、时制也;地者,远近、险易、广狭、死生也;将者,智、信、仁、勇、严也;法
者,曲制、官道、主用也。凡此五者,将莫不闻,知之者胜,不知之者不胜。故校
之以计,而索其情,曰
MySQL双向复制
tomcat_oracle
mysql
本文包括:
主机配置
从机配置
建立主-从复制
建立双向复制
背景
按照以下简单的步骤:
参考一下:
在机器A配置主机(192.168.1.30)
在机器B配置从机(192.168.1.29)
我们可以使用下面的步骤来实现这一点
步骤1:机器A设置主机
在主机中打开配置文件 ,
zoj 3822 Domination(dp)
阿尔萨斯
Mina
题目链接:zoj 3822 Domination
题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望。
解题思路:大白书上概率那一张有一道类似的题目,但是因为时间比较久了,还是稍微想了一下。dp[i][j][k]表示i行j列上均有至少一枚棋子,并且消耗k步的概率(k≤i∗j),因为放置在i+1~n上等价与放在i+1行上,同理