简介:
【知识点】:1. 文化概念:文章讨论的“士文化”是指中国古代社会中,以“士”为代表的一类特殊群体所创造和发展起来的文化。
这些士人不以官职和财富衡量价值,重视修身养性,治国安邦,体现了中华民族的精神食粮和凝聚力量。
2. 士人的定义:“士”在中国古代属于介于大夫和庶民之间的阶层,主要是读书人,他们不参与政治权力,但追求学问和道德修养,致力于国家和社会的进步。
3. 士人的社会特征:士人崇尚风骨,重视操守,强调“贫贱不能移,富贵不能淫,威武不能屈”的大丈夫精神,以国为家,关心国家命运,具有“志在天下”的社会责任感。
4. 士文化的影响:士文化不仅影响个人的道德品质,还对家庭、国家的治理有深远影响。
士人提出的观念,如孔子的“民不患寡而患不均”,反映了对社会公平的追求,对后世产生了深远影响。
5. 士文化的持久性:尽管受到封建社会的打压和长期禁锢,士文化和其中以国为家的精神依然延续,成为了中华民族的“国魂”。
6. 士人在历史进程中的作用:士人在历史发展中起到了无可替代的作用,他们的存在和活动是解释中华民族数千年历史的重要因素。
7. 士文化与社会主义的关系:中国的社会主义之所以能够持续发展,部分原因在于士文化中的善良文化基因、理性智慧以及对国家的深厚感情。
8. 士文化的多样性:士文化并非单一的儒家文化,而是融合了诸子百家学说的“士文化”,具有博大精深的特点。
9. 现代“士”的范畴:现代的“士”包括教授、专家、学者、作家、记者等各行各业的知识分子,他们继承了传统士人的精神,虽然不一定参与政治,但仍然关注社会问题,通过著书立说等方式影响社会。
10. 社会影响:士人虽然可能被视为“书呆子”,但他们的客观视角和强烈的社会责任感,使他们具备较大的社会影响力,有时甚至可以起到“一言九鼎”、“一言兴邦”的作用。
这篇文章探讨了中国古代的“士”和“士文化”,阐述了其历史背景、社会地位、价值观和对国家社会的影响,以及在现代社会中的延续。
士文化是中国传统文化的重要组成部分,对个人修养和社会治理都起到了积极的推动作用。
2025/6/15 19:47:49 104KB
1
简介:
### CAS单点登录服务器配置详解#### 一、CAS单点登录概述CAS(Central Authentication Service)是一种开放源代码的单点登录协议和服务框架,它为Web应用提供了一种简化了的身份验证流程。
通过CAS,用户只需要在一个地方完成登录过程,即可在多个应用间共享登录状态,无需重复登录。
#### 二、CAS服务器安装与配置##### 2.1 安装CAS服务端1. **下载CAS服务端**:首先从官方网址http://www.cas.org/下载最新的CAS服务端压缩包。
2. **部署WAR包**:将下载的WAR包复制到Tomcat的webapps目录下,并将其重命名为`cas.war`。
3. **启动Tomcat**:启动Tomcat服务器,自动解压WAR包,此时会在Tomcat的webapps目录下生成一个名为`cas`的文件夹。
4. **访问CAS**:通过浏览器访问`http://localhost:8896/cas`来测试CAS服务是否正常启动。
##### 2.2 配置CAS使用数据库验证为了实现更安全、更灵活的身份验证机制,我们可以配置CAS使用数据库进行用户身份验证。
具体步骤如下:1. **修改部署配置文件**:打开`cas-server-webapp\WEB-INF\deployerConfigContext.xml`文件,找到`SimpleTestUsernamePasswordAuthenticationHandler`配置项,将其替换为`QueryDatabaseAuthenticationHandler`。
```xml <bean id="authenticationHandler" class="org.jasig.cas.authentication.handler.QueryDatabaseAuthenticationHandler"> <!-- 数据库连接数据源 --> <property name="dataSource" ref="dataSource"/> <!-- 查询语句 --> <property name="sql" value="SELECT password FROM users WHERE username = ?"/> <!-- 密码加密方式 --> <property name="passwordEncoder" ref="passwordEncoder"/> </bean> ```2. **配置数据库连接**:在同一文件中添加一个新的`dataSource` bean来定义数据库连接信息。
```xml <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/casdb"/> <property name="username" value="casuser"/> <property name="password" value="password"/> </bean> ```3. **配置密码加密方式**:继续在同一文件中添加`passwordEncoder` bean来指定密码加密方式,这里使用MD5作为示例。
```xml <bean id="passwordEncoder" class="org.springframework.security.crypto.password.StandardPasswordEncoder"> <constructor-arg value="MD5"/> </bean> ```4. **测试数据库验证**:重启Tomcat服务器,访问CAS服务器页面,使用数据库中的用户名和密码尝试登录,验证是否可以成功登录。
#### 三、CAS工作原理CAS的工作原理主要分为以下几个步骤:1. **用户访问服务**:用户首次访问受保护的资源时,CAS客户端会检测到HTTP请求中缺少ServiceTicket(简称ST),表明用户尚未经过身份验证。
2. **重定向至CAS服务器**:CAS客户端会将用户重定向到CAS服务器进行身份验证,并携带用户的请求URL作为参数(service参数)。
3. **用户认证**:CAS服务器接收到来自用户的认证请求后,引导用户进入登录页面。
用户输入用户名和密码进行登录,若身份验证成功,则CAS服务器通过HTTPS协议返回一个TGC(Ticket-Granting Cookie)给浏览器。
4. **发放ServiceTicket**:CAS服务器生成一个随机的ServiceTicket(简称ST),并将用户重定向回CAS客户端。
5. **验证ServiceTicket**:CAS客户端收到ST后,向CAS服务器验证ST的有效性。
如果验证通过,则允许用户访问受保护资源。
6. **传输用户信息**:CAS服务器验证ST通过后,将用户的相关认证信息发送给CAS客户端。
通过以上步骤,CAS实现了单点登录的功能,极大地提升了用户体验和系统的安全性。
### 四、CAS与HTTPS在配置CAS服务器时,可以选择使用HTTPS协议来增强通信的安全性。
如果选择HTTPS协议,则需要在服务器上配置CAS证书。
证书的创建和导入过程可以参考以下链接:[http://m.blog..net/zrk1000/article/details/51166603](http://m.blog..net/zrk1000/article/details/51166603)### 总结本文详细介绍了如何配置CAS单点登录服务,并重点讲解了如何利用Java代码实现CAS的配置,包括使用数据库进行登录验证的具体步骤。
同时,还阐述了CAS的基本工作原理,帮助读者更好地理解CAS的工作流程和技术细节。
2025/6/15 19:47:19 293KB
1
在Android开发中,自定义View是一项常见的任务,它允许开发者根据特定需求创建独特且功能丰富的UI元素。
本示例中的“自定义View实现仪表盘(账户安全)Demo”旨在展示如何构建一个能够显示用户账户安全等级的仪表盘。
这个仪表盘可以直观地向用户展示他们的账户安全性,例如通过颜色、刻度或指针的变化来表示不同的安全级别。
要实现自定义View,我们需要创建一个新的Java类,继承自`View`或者它的子类,如`LinearLayout`、`RelativeLayout`等。
在这个例子中,我们可能会选择`View`作为基类,因为我们需要从头开始构建仪表盘的全部视觉元素。
在类中,我们可以重写`onDraw()`方法,这是绘制自定义图形的核心函数。
在`onDraw()`中,我们使用`Canvas`对象进行绘图操作。
`Canvas`提供了多种绘制图形的方法,如`drawRect()`,`drawCircle()`,`drawArc()`,`drawPath()`等。
对于仪表盘,我们可能需要使用`drawArc()`来绘制表盘的背景和指针,用`drawText()`来添加刻度值和安全等级文字。
仪表盘的结构通常包括一个中心圆环(代表表盘),外围的刻度线,以及一个可移动的指针来指示当前的安全等级。
我们可以根据安全等级计算出指针旋转的角度,并利用`rotate()`方法将其设置为相应的角度。
此外,颜色编码也是仪表盘的一个重要组成部分,比如绿色表示安全,黄色表示警告,红色表示危险。
为了使仪表盘具有动态效果,可以监听数据变化,如用户的安全分数更新。
当分数改变时,更新指针角度和颜色,然后调用`invalidate()`或`postInvalidate()`来触发`onDraw()`的再次执行,实现视图的刷新。
在“Test_Customview2”这个文件中,可能包含了自定义仪表盘View的源代码、布局文件以及测试用例。
布局文件(可能是`activity_main.xml`)将自定义View添加到UI层次结构中,以便在应用中显示。
测试用例可能用于验证仪表盘的正确渲染和行为,确保在不同安全等级下能正确显示。
为了提高代码的可维护性和复用性,还可以考虑将仪表盘组件封装成一个独立的库,提供配置接口供其他开发者调整颜色、刻度数量、指针样式等参数。
这样,这个自定义View就能更方便地应用到其他项目中。
“自定义View实现仪表盘(账户安全)Demo”展示了如何在Android中创建一个自定义的UI组件,通过编程方式绘制出仪表盘并动态响应数据变化。
这样的技术对于开发者来说是提升应用用户体验和界面差异化的重要手段。
通过深入理解和实践这个Demo,开发者可以进一步掌握Android自定义View的设计与实现。
2025/6/15 0:01:33 1.42MB
1
你可以在自己的项目中定义任何一个自定义控件,让他产生拖动,放大缩小,定位,显示数值的功能,只需将本项目生成一下,并引用它就可以实现你想要的功能,无需其他任何操作。
如何引用?其中有Demo。
2025/6/13 15:48:42 803KB 拖动
1
房地产门户网站源码,界面优雅漂亮,高仿安居客+数据库【原创】。
开发环境:vs2008+sql2005。
1、支持新房,新楼盘,小区,二手房,租房小区发布,编辑,修改功能&dec;2、支持积分,发布房源、发布论坛帖子可获得积分,积分可交易,对换收费功能&dec;3、支持GOOGLE地图搜索房源,可在地图内植入广告,带来更多经济收入&dec;4、支持上下架,下架房源将自动隐藏&dec;5、支持地铁,区域,面积,房型、价格,支持拼音等众多搜索功能&dec;6、自动统计房源和小区据数,动态生成&def;自动生成房价图&dec;7、对中介门店、纪经人支持审核,认证、编辑,修改功能&dec;8、站内有配套的BBS系统,添加、修改,删除&dec;9、站内支持多权限管理,分为:超级管理员&def;普通管理员&def;员工,同时你还可以自定义权限&dec;10、采用DIV+CSS布局,伪静态,自动成HTML,增强GOOGLE、百度收录
2025/6/13 13:07:22 29.08MB .Net C# ASP.NET
1
###Ledit使用教程与实例说明####一、引言随着集成电路技术的快速发展,越来越多的设计公司致力于将整个系统整合到单一芯片上,这被称为System-on-a-Chip(SoC)技术。
为了培养更多专业人才,各大高校纷纷开设了专用集成电路设计课程。
本文档旨在详细介绍使用TannerPro系列工具中的Ledit进行电路和版图设计的方法。
Ledit是一款功能强大的布局编辑器,广泛应用于集成电路设计领域。
####二、Ledit基础知识#####2.1实验目的及要求-**实验目的**:熟悉Ledit的基本操作界面;
掌握Ledit的主要功能,包括创建、编辑和修改版图;
理解如何使用Ledit进行版图设计和优化。
-**实验要求**:了解Ledit的基本概念;
掌握Ledit的使用方法;
能够独立完成简单的版图设计任务。
#####2.2相关知识-**Ledit概述**:Ledit是TannerEDA提供的布局编辑器之一,主要用于绘制和编辑集成电路的物理版图。
它可以与TannerEDA的其他工具(如S-Edit和T-Spice)无缝集成,实现电路设计和模拟的全流程。
-**主要功能**:Ledit支持多种层定义和颜色设置;
提供丰富的绘图工具,如线条、矩形、圆等;
具备层间检查和错误修正功能;
能够导出多种格式的版图文件。
-**工作流程**:通常情况下,设计人员会先使用S-Edit完成电路图的设计,然后在Ledit中根据电路图绘制对应的物理版图,最后使用T-Spice对版图进行电气特性模拟。
#####2.3实验内容-**实验准备**:安装TannerPro工具包,确保Ledit等组件正确安装;
准备必要的参考文档或教程。
-**基本操作**:-启动Ledit,熟悉主界面布局。
-创建新的版图文件,设置层定义和颜色。
-使用绘图工具绘制简单的版图元素。
-学习如何移动、复制、旋转和缩放版图元素。
-执行层间检查,修复可能存在的错误。
-**高级功能**:-掌握批量编辑工具,提高设计效率。
-学习如何使用脚本自动化重复性高的设计任务。
-了解如何与其他TannerEDA工具配合使用,实现完整的电路设计流程。
#####2.4随堂练习-练习1:绘制一个简单的CMOS反相器版图。
-练习2:根据提供的电路图,在Ledit中绘制对应的物理版图,并使用T-Spice进行性能模拟。
-练习3:使用Ledit的高级功能优化版图布局,减少面积并改善电气特性。
#####2.5说明-在使用Ledit进行版图设计时,需要注意遵守特定的设计规则,以确保最终产品的可靠性和性能。
-设计过程中可能会遇到各种问题,如DRC错误等,需学会如何排查和解决这些问题。
#####2.6实验报告及要求-**实验报告**:总结实验过程中的所学知识,包括使用的具体工具和技术;
记录实验过程中遇到的问题及其解决方案;
分析版图设计的优劣点,提出改进建议。
-**报告要求**:实验报告应当结构清晰、逻辑严谨;
图表清晰,标注准确;
文字描述简洁明了,避免冗余。
####三、实例说明以下是一个具体的Ledit使用示例,用于指导学生如何完成一个简单的CMOS反相器版图设计:1.**准备工作**:-打开Ledit软件。
-创建一个新的项目文件,设置合适的层定义。
2.**版图设计**:-绘制NMOS和PMOS晶体管。
-连接源极、栅极和漏极。
-添加接触孔和金属层。
3.**版图优化**:-调整元件位置,确保足够的间距。
-使用Ledit的高级工具进行布线优化。
-执行DRC检查,修正错误。
4.**性能模拟**:-将设计好的版图文件导入T-Spice进行模拟。
-分析输出波形,评估电路性能。
-根据模拟结果调整版图设计,直至满足性能要求。
通过本教程的学习,学生将能够熟练掌握Ledit的基本操作,并能够在实际项目中运用这些技能进行高效的电路版图设计。
此外,学生还将了解到集成电路设计的全流程,从电路图设计到物理版图的实现,再到最终的性能模拟与优化。
这对于培养未来的集成电路设计师来说至关重要。
2025/6/13 11:58:24 956KB ledit
1
触控一体机输入法专为触控一体机设计的智能输入法,包含有以下功能:支持全键盘、九宫格(T9模式)智能拼音、身份证键盘,数字键盘等。
支持手写识别。
支持智能笔画(T9笔画)。
可以定制皮肤、皮肤更换,自定义Layout(键盘布局)。
支持记忆、调频。
可以随意修改输入法面板的尺寸,可以很好适应各种尺寸的屏幕。
有丰富的符号表供使用。
界面支持半透明,即使被输入法档住的内容也可以看到。
支持焦点跟踪,有输入跟踪可以自动弹出。
允许最小化,开启关闭更加方便。
丰富的二次开发接口,让您灵活定制无缝对接。
支持命令行调用各种功能,可以降低二次开发难度。
支持url方式调用,可以直接在浏览器上调用输入法,直接用html、js控制输入法。
浏览器内自动弹出,兼容各种浏览器。
(2018新)新布局框架,可以实现更多特效键盘。
(2018新)版本V1.5.0最新加入多字识别功能,可以连续手写短句。
(2018新)增加ActiveX(OCX)控制控件,使输入法和IE浏览器可以完美结合。
(2018.9.13新)增加全屏手写识别,整个屏幕都可以写字,欢迎下载试用。
(2018.9.21最新)增加支持【86五笔字型】、【繁体仓颉】、【韩语拼音】。
(2018.9.29最新)
1
在游戏开发中,碰撞检测是不可或缺的一个环节,尤其是在实时性要求高的Moba(多人在线战术竞技)游戏中。
基于距离的碰撞算法是一种优化过的碰撞检测方法,尤其适合于地图区域相对较小的游戏场景。
这类算法通常比传统的矩形或圆形碰撞检测更为精确,能够处理更复杂的形状,并且计算效率相对较高。
**基于距离的算法基础**基于距离的碰撞检测通常涉及到距离场(DistanceField)的概念。
距离场是一个数学结构,其中每个点表示到最近物体表面的距离。
它可以是离散的,如基于像素的,也可以是连续的,如通过高斯积分得到的。
这种数据结构可以用来快速判断两个物体是否相交,只需要计算它们的距离场之间的最小距离。
**Unity中的实现**Unity引擎提供了一套强大的工具来支持游戏开发,包括碰撞检测。
在Unity中,我们可以利用Shader语言(如CG或HLSL)来创建自定义的距离场,并将其应用于游戏对象的材质。
这使得在运行时能够高效地计算物体间的距离,进而进行碰撞检测。
**优化与性能**基于距离的碰撞检测算法的一大优势在于其性能。
相比于传统的包围盒(AABB)或碰撞球(OBB)检测,它能更快地识别出不相交的物体,因为
2025/6/12 16:53:06 5.76MB
1
御剑扫描器专业版★新增存活预判(当目标无法连接3次自动撤销任务)★新增首页爬虫(只抓取首页的目录进行二次扫描)★新增文件存储(可以保存扫描结果到指定文位置)★新增跳过大小(可以设定要忽略的页面大小,min-max)★新增GET模式关键字词组过滤(使用GET模式和关闭自定义404才会生效,可以忽略包含指定关键词的页面)★默认参数和值初始化更加科学合理(不合理的设置会导致目标产生CC或者漏报)★优化扫描速度(比1.0提升速度大概5-10倍,通过maxspeed参数控制速度最大值)★优化内存占用(1000/s内存占用10-30M左右)
2025/6/12 14:08:13 2.47MB 爬虫
1
Android自定义View——实现字母导航栏
2025/6/11 18:44:04 6.66MB 字母导航栏
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡