- 20240827软考架构-------软考76-80答案解析
杨诚实
软考架构架构
每日打卡题76-8076、【2012年真题】难度:一般基于场景的架构分析方法(Scenarios-basedArchitectureAnalysisMethod,SAAM)是卡耐基梅隆大学软件工程研究所的Kazman等人于1983年提出的一种非功能质量属性的架构分析方法,是最早形成文档并得到广泛应用的软件架构分析方法。SAAM的主要输入是问题描述、(1)和架构描述文档,其分析过程主要包括场景开发、
- element-ui 日期选择器用value-format 带上“HH:mm:ss”的时候报错
niceLiuSir
ui
1.想用element-ui日期选择器取出“yyyy-MM-ddHH:mm:ss”格式的日期时间数据。2.用value-format带上“HH:mm:ss”的时候报错。3.解决办法:用name属性,取值name即可得到“yyyy-MM-ddHH:mm:ss”格式的日期时间数据。constapp=newVue({el:'#app',data(){return{settleDO}},methods:{
- 【系统架构设计】设计模式
傻傻虎虎
系统架构设计系统架构设计模式
【系统架构设计】设计模式设计模式概述GoF设计模式FactoryMethodAbstractFactory(*)BuilderPrototype(原型)Singleton(*)AdapterBridgeComposite(组合)Decorator(装饰)(*)Facade(外观)(*)Flyweight(享元)ProxyInterpreter(解释器)TemplateMethodChainofRe
- 行为模式6.备忘录模式------文本的撤销和保存
臣妾写不来啊
23种设计模式备忘录模式
行为型模式模板方法模式(TemplateMethodPattern)命令模式(CommandPattern)迭代器模式(IteratorPattern)观察者模式(ObserverPattern)中介者模式(MediatorPattern)备忘录模式(MementoPattern)解释器模式(InterpreterPattern)状态模式(StatePattern)策略模式(StrategyPat
- jdk动态代理与cglib动态代理:
爱为斯坦
JAVAjava开发语言动态代理
最近在用java实现redis,在使用动态代理时遇到了一点问题,即使用jdk动态代理(Invocationhandler)时,如果代理对象是一个接口的实现类,那么此时动态代理获取到的method对象是接口中的,而不是实现类的,现象是:我在实现类中对接口方法上新增了注解,但是此刻method反射获取不到注解信息,于是大概整理了一下这两者的区别JDK动态代理:获取的是接口中的方法信息,因此如果注解是在
- Python+pytest+jenkins 多插件 pdf电子书目录
weixin_43946945
pythonpytestjenkinspdf
第1章pytest入门11.1资源获取41.2运行Pytest51.3运行单个测试用例101.4使用命令行选项10--collect-only选项11-k选项11-m选项12-x选项13--maxfail=num15-s与--capture=method16-lf(--lastfailed)选项16--ff(--failed-first)选项17-v(--verbose)选项17-q(--quie
- 行为型设计模式-模板方法(template method)模式
懂一点的陈老师
设计模式设计模式模板方法模式服务器
设计模式汇总:查看通俗示例想象一下你正在制作一杯咖啡,制作咖啡的步骤大致相同,但有些步骤可以根据个人口味进行调整,比如选择咖啡豆、添加糖和奶等。在这种情况下,可以定义一个“制作咖啡”的模板,它规定了制作咖啡的基本步骤,但将某些步骤的具体实现留给子类完成。这就是模板方法模式的一个例子,其中模板定义了算法的骨架,而将一些步骤的实现延迟到子类中。通俗解释模板方法模式是一种行为型设计模式,它在一个方法中定
- Java 中Lambada表达式中双冒号 ::使用总结
何以解忧,唯有..
java开发语言
一、前言双冒号运算操作符是类方法的句柄,lambda表达式的一种简写表达式:person->person.getName();可以替换成:Person::getName表达式:()->newHashMaplist=Arrays.asList("a","b","c");//静态方法引用ClassName::methodNamelist.forEach(Colon::print);//上一行等价于//
- 解决uniapp视频层级太高的问题
云123321
uniappuni-app
刷新可拖动//配置公共方法exportdefault{data(){return{videoUrl:'https://***',weixin_moveable_x:320,weixin_moveable_y:450};},computed:{videoHTML(){return``}},methods:{wx_pro_refresh(){var_this=this;},}};
- 【转】Vue.js使用Blob的方式实现excel表格的下载(流文件下载)
Bior
导出Excelimportapifrom"../../api/api.js";importaxiosfrom"axios";exportdefault{data(){return{pageSize:30,}},created(){},computed:{},mounted(){},methods:{downloadUrl(){//console.log(api.serverUrl);letpara
- Express路由基础与高级功能深入解析
软考鸭
javascript帮助文档nodejs帮助文档expressgithub
在Web开发中,路由是一个核心概念,它决定了应用程序如何响应客户端对特定端点的请求。这个端点由URI(或路径)和特定的HTTP请求方法(如GET、POST等)唯一确定。Express框架为Node.js应用程序提供了灵活而强大的路由机制,使得开发者可以轻松地构建出响应迅速且功能丰富的Web应用程序。在Express中,路由的定义遵循着一种简洁而直观的结构:app.METHOD(PATH,HANDL
- 常见的 滤波法
匠在江湖
算法C/C++单片机算法c语言
序号大类名称方法优点缺点适用范围函数名1克服大脉冲干扰的数字滤波法限幅滤波法Limitingfilteringmethod1、根据经验判断,确定两次采样允许的最大偏差值(设为A)2、每次检测到新值时判断:3、如果本次值与上次值之差A,则本次值无效,放弃本次值,用上次值代替本次值1、能有效克服因偶然因素引起的脉冲干扰1、无法抑制那种周期性的干扰2、平滑度差变化比较缓慢的被测量值LimitFilter
- Java管道破裂错误_java.net.SocketException:管道破损
狐狸晨曦
Java管道破裂错误
我每天收到这个错误或我的jsp页面:java.net.SocketException消息:管道破损堆栈跟踪:java.net.SocketException:Brokenpipeatjava.net.SocketOutputStream.socketWrite0(NativeMethod)atjava.net.SocketOutputStream.socketWrite(SocketOutputS
- mysql+索引+rebuild_MySQL如何进行索引重建操作?
驴放屁
在MySQL数据库中,没有类似于SQLServer数据库或Oracle数据库中索引重建的语法(ALTERINDEX...REBUILD),那么在MySQL数据库中,是否有什么方式重建索引呢?在官方文档中"2.11.10RebuildingorRepairingTablesorIndexes"中,提到下面三种方式可以RebuildIndex·DumpandReloadMethod·ALTERTABL
- selenium的webdriver报错NoSuchMethodError
lexy_0
测试seleniumpython爬虫
之前学python爬虫的时候就踩过一次坑,这次又踩了,防止以后踩,一定要记录一下。selenium的依赖版本,浏览器的版本,浏览器的驱动版本,这三个是需要互相对应的。驱动和驱动版本对应,但和selenium依赖版本不对应,也会出现java.lang.NoSuchMethodError报错;常见报错及解决办法,这是别人的总结博客但是selenium最恶心的就是你的驱动版本对,也会有奇奇怪怪的问题。一
- Web:PHP序列化和反序列化
时之彼岸Φ
#WebCTF前端phpandroid
简而言之,序列化和反序列化就是数据类型的转换,序列化是将对象,数组等转换为便于传输的形式,例如:JSON、XML等。而反序列化则是序列化逆向的过程。一、序列化和反序列化1.PHP序列化例如:method=$method;$this->args=$args;}function__destruct(){if(in_array($this->method,array("ping"))){call_use
- Java的内存管理机制
纣王家子迎新
javajvm内存机制栈堆学习
在Java中,内存管理机制是自动且相对复杂的,它主要由Java虚拟机(JVM)来负责。这个机制确保了内存的有效分配和释放,从而帮助开发者避免了许多常见的内存管理问题,如内存泄漏和悬挂指针。Java内存区域Java的内存主要分为几个区域:方法区(MethodArea):功能:存储每个类的结构信息,包括运行时常量池、字段和方法数据、构造函数和普通方法的字节码内容等。共享性:这部分区域是全局共享的,所有
- Java14 反射
Stringzhua
Java开发语言java反射
反射反射Class对象Field成员变量Method方法Constructor构造方法练习题1练习题2反射Class对象包路径getPackage()package对象获取该类的存放路径类名称getName()String对象获取该类的名称继承类getSuperclass()Class对象获取该类继承的类实现接口getlnterfaces()Class型数组获取该类实现的所有接口泛型擦除通过反射来
- 很好用的扩展JS
u010465417
javascript开发语言ecmascript
/***创建人:DJ*日期:2021-11-21***/constmethodExt=function(_dom){if(null==_dom)return{};if(null!=_dom.mext)return_dom;var__$mext={isJson:function(arg){if(null==arg)returnfalse;if(("string"==typeofarg)||(true
- 前端处理请求存在空内容、首尾空格的情况
mountainghost_z
javascript开发语言ecmascript
1.创建一个publicMethod.js(1)删除请求体value为空的情况exportfunctionremoveEmptyParams(params){for(varkeyinparams){if(params.hasOwnProperty(key)&&(params[key]===null||params[key]===undefined||params[key]==="")){delet
- uni-app:文字竖直排列,并且在父级view中水平竖直对齐
25号底片~
uni-app前端uni-appjavascript前端
一、效果二、代码这是竖直排列的文字exportdefault{data(){return{}},methods:{},};.parent{display:flex;align-items:center;/*竖直居中*/justify-content:center;/*水平居中*/height:500px;/*父级高度设为100%,或指定一个固定高度*/border:1pxsolidblack;}.
- 每天一个数据分析题(五百零二)- 分割式聚类算法
跟着紫枫学姐学CDA
数据分析题库算法数据分析聚类
以下哪个选项是分割式聚类算法?A.K-Means。B.CentroidMethodC.Ward’sMethodD.以上皆非数据分析认证考试介绍:点击进入题目来源于CDA模拟题库点击此处获取答案数据分析专项练习题库内容涵盖Python,SQL,统计学,数据分析理论,深度学习,可视化,机器学习,Spark八个方向的专项练习题库,数据分析从业者刷题必备神器!
- Spring之底层架构核心概念解析
阿立聊代码
springspring架构java
BeanDefinitionBeanDefinition表示Bean定义,BeanDefinition中存在很多属性用来描述一个Bean的特点。比如:class,表示Bean类型scope,表示Bean作用域,单例或原型等lazyInit:表示Bean是否是懒加载initMethodName:表示Bean初始化时要执行的方法destroyMethodName:表示Bean销毁时要执行的方法还有很多
- uni-app中分页器的实现
陈丹阳(滁州学院)
uni-app
一、templatechange函数在每次点击上一页或者写一页的时候会触发,其传递的参数是当前的current页数二、dataLicenceNum:undefined,//查询须要的参数checkList:[],total:0,current:1三、methods函数handleList(e){console.log(e,'eeeeeeeeeeeee')this.current=e.current
- element-plus 新增一行合计。除了用summary-method还可以用append的插槽
肖肖肖丽珠
前端javascript服务器
:summary-method="getSummaries"{{reformItemStatus.filter(rs=>rs.value==scope.row.itemType)[0]?.label}}constgetSummaries=(param)=>{const{columns,data}=param;constsums=[];columns.forEach((column,index)=>
- 升级ssh8.8报错Key exchange failed. No compatible key exchange method. The server supports these methods:
努力的大黄蜂
运维ssh
因安全需要ssh7.4升级到8.8之后报错同事用的Xshell小蜗牛我用的securtCRT,第一天升级完成之后没有发现问题,第二天来了之后发现连接不了了。。。。。。同事的小蜗牛能接着连,CRT就不行,于是~发现的问题原因:高版本的openssh需要增加对旧版本CRT客户端密钥交换算法的支持解决方法:在配置文件中增加密钥交换算法配置如下(我这里是/usr/etc/sshd_config文件,具体请
- 解决Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)'
千夜零一
提示错误: Attempttoinvokevirtualmethod'booleanjava.lang.String.equals(java.lang.Object)'解决方案: 查找布局控件中,是否将写成了,这样布局中不会提示红线报错,但是运行后会报错:Attempttoinvokevirtualmethod'booleanjava.lang.String.equals(java.lang.
- vue中el-table翻页序号连续+表格合计
程序媛na
vuevue.jsjavascripthtmlelementui
1、遇到问题分页后数据的排序是不连续的解决方式:methods:{table_index(index){return(this.currentPage-1)*this.pageSize+index+1}(其中:this.currentPage为当前页码,this.pageSize为每页数据条数。)2、表格合计</
- spring-aop-xml全自动
山间清泉1111
切面类packagecom.mu.aop_xml.jdk_proxy.service.impl;importorg.aopalliance.intercept.MethodInterceptor;importorg.aopalliance.intercept.MethodInvocation;/***半自动/全自动切面类*/publicclassMyAspect1implementsMethodI
- uniapp中UniViewJSBridge.publishHandler无效
进阶的巨人001
uni-apprenderjscallMethod
UniViewJSBridge.publishHandler('onWxsInvokeCallMethod',{cid:this._$id,method:'acceptDataFromRenderjs',args:{//传参}})这个是renderjs里面父子通信的方法,有时候不生效,换成这种this.$ownerInstance.callMethod('acceptDataFromRenderj
- Java实现的基于模板的网页结构化信息精准抽取组件:HtmlExtractor
yangshangchuan
信息抽取HtmlExtractor精准抽取信息采集
HtmlExtractor是一个Java实现的基于模板的网页结构化信息精准抽取组件,本身并不包含爬虫功能,但可被爬虫或其他程序调用以便更精准地对网页结构化信息进行抽取。
HtmlExtractor是为大规模分布式环境设计的,采用主从架构,主节点负责维护抽取规则,从节点向主节点请求抽取规则,当抽取规则发生变化,主节点主动通知从节点,从而能实现抽取规则变化之后的实时动态生效。
如
- java编程思想 -- 多态
百合不是茶
java多态详解
一: 向上转型和向下转型
面向对象中的转型只会发生在有继承关系的子类和父类中(接口的实现也包括在这里)。父类:人 子类:男人向上转型: Person p = new Man() ; //向上转型不需要强制类型转化向下转型: Man man =
- [自动数据处理]稳扎稳打,逐步形成自有ADP系统体系
comsci
dp
对于国内的IT行业来讲,虽然我们已经有了"两弹一星",在局部领域形成了自己独有的技术特征,并初步摆脱了国外的控制...但是前面的路还很长....
首先是我们的自动数据处理系统还无法处理很多高级工程...中等规模的拓扑分析系统也没有完成,更加复杂的
- storm 自定义 日志文件
商人shang
stormclusterlogback
Storm中的日志级级别默认为INFO,并且,日志文件是根据worker号来进行区分的,这样,同一个log文件中的信息不一定是一个业务的,这样就会有以下两个需求出现:
1. 想要进行一些调试信息的输出
2. 调试信息或者业务日志信息想要输出到一些固定的文件中
不要怕,不要烦恼,其实Storm已经提供了这样的支持,可以通过自定义logback 下的 cluster.xml 来输
- Extjs3 SpringMVC使用 @RequestBody 标签问题记录
21jhf
springMVC使用 @RequestBody(required = false) UserVO userInfo
传递json对象数据,往往会出现http 415,400,500等错误,总结一下需要使用ajax提交json数据才行,ajax提交使用proxy,参数为jsonData,不能为params;另外,需要设置Content-type属性为json,代码如下:
(由于使用了父类aaa
- 一些排错方法
文强chu
方法
1、java.lang.IllegalStateException: Class invariant violation
at org.apache.log4j.LogManager.getLoggerRepository(LogManager.java:199)at org.apache.log4j.LogManager.getLogger(LogManager.java:228)
at o
- Swing中文件恢复我觉得很难
小桔子
swing
我那个草了!老大怎么回事,怎么做项目评估的?只会说相信你可以做的,试一下,有的是时间!
用java开发一个图文处理工具,类似word,任意位置插入、拖动、删除图片以及文本等。文本框、流程图等,数据保存数据库,其余可保存pdf格式。ok,姐姐千辛万苦,
- php 文件操作
aichenglong
PHP读取文件写入文件
1 写入文件
@$fp=fopen("$DOCUMENT_ROOT/order.txt", "ab");
if(!$fp){
echo "open file error" ;
exit;
}
$outputstring="date:"." \t tire:".$tire."
- MySQL的btree索引和hash索引的区别
AILIKES
数据结构mysql算法
Hash 索引结构的特殊性,其 检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。
可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢
- JAVA的抽象--- 接口 --实现
百合不是茶
抽象 接口 实现接口
//抽象 类 ,方法
//定义一个公共抽象的类 ,并在类中定义一个抽象的方法体
抽象的定义使用abstract
abstract class A 定义一个抽象类 例如:
//定义一个基类
public abstract class A{
//抽象类不能用来实例化,只能用来继承
//
- JS变量作用域实例
bijian1013
作用域
<script>
var scope='hello';
function a(){
console.log(scope); //undefined
var scope='world';
console.log(scope); //world
console.log(b);
- TDD实践(二)
bijian1013
javaTDD
实践题目:分解质因数
Step1:
单元测试:
package com.bijian.study.factor.test;
import java.util.Arrays;
import junit.framework.Assert;
import org.junit.Before;
import org.junit.Test;
import com.bijian.
- [MongoDB学习笔记一]MongoDB主从复制
bit1129
mongodb
MongoDB称为分布式数据库,主要原因是1.基于副本集的数据备份, 2.基于切片的数据扩容。副本集解决数据的读写性能问题,切片解决了MongoDB的数据扩容问题。
事实上,MongoDB提供了主从复制和副本复制两种备份方式,在MongoDB的主从复制和副本复制集群环境中,只有一台作为主服务器,另外一台或者多台服务器作为从服务器。 本文介绍MongoDB的主从复制模式,需要指明
- 【HBase五】Java API操作HBase
bit1129
hbase
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.ha
- python调用zabbix api接口实时展示数据
ronin47
zabbix api接口来进行展示。经过思考之后,计划获取如下内容: 1、 获得认证密钥 2、 获取zabbix所有的主机组 3、 获取单个组下的所有主机 4、 获取某个主机下的所有监控项  
- jsp取得绝对路径
byalias
绝对路径
在JavaWeb开发中,常使用绝对路径的方式来引入JavaScript和CSS文件,这样可以避免因为目录变动导致引入文件找不到的情况,常用的做法如下:
一、使用${pageContext.request.contextPath}
代码” ${pageContext.request.contextPath}”的作用是取出部署的应用程序名,这样不管如何部署,所用路径都是正确的。
- Java定时任务调度:用ExecutorService取代Timer
bylijinnan
java
《Java并发编程实战》一书提到的用ExecutorService取代Java Timer有几个理由,我认为其中最重要的理由是:
如果TimerTask抛出未检查的异常,Timer将会产生无法预料的行为。Timer线程并不捕获异常,所以 TimerTask抛出的未检查的异常会终止timer线程。这种情况下,Timer也不会再重新恢复线程的执行了;它错误的认为整个Timer都被取消了。此时,已经被
- SQL 优化原则
chicony
sql
一、问题的提出
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统
- java 线程弹球小游戏
CrazyMizzz
java游戏
最近java学到线程,于是做了一个线程弹球的小游戏,不过还没完善
这里是提纲
1.线程弹球游戏实现
1.实现界面需要使用哪些API类
JFrame
JPanel
JButton
FlowLayout
Graphics2D
Thread
Color
ActionListener
ActionEvent
MouseListener
Mouse
- hadoop jps出现process information unavailable提示解决办法
daizj
hadoopjps
hadoop jps出现process information unavailable提示解决办法
jps时出现如下信息:
3019 -- process information unavailable3053 -- process information unavailable2985 -- process information unavailable2917 --
- PHP图片水印缩放类实现
dcj3sjt126com
PHP
<?php
class Image{
private $path;
function __construct($path='./'){
$this->path=rtrim($path,'/').'/';
}
//水印函数,参数:背景图,水印图,位置,前缀,TMD透明度
public function water($b,$l,$pos
- IOS控件学习:UILabel常用属性与用法
dcj3sjt126com
iosUILabel
参考网站:
http://shijue.me/show_text/521c396a8ddf876566000007
http://www.tuicool.com/articles/zquENb
http://blog.csdn.net/a451493485/article/details/9454695
http://wiki.eoe.cn/page/iOS_pptl_artile_281
- 完全手动建立maven骨架
eksliang
javaeclipseWeb
建一个 JAVA 项目 :
mvn archetype:create
-DgroupId=com.demo
-DartifactId=App
[-Dversion=0.0.1-SNAPSHOT]
[-Dpackaging=jar]
建一个 web 项目 :
mvn archetype:create
-DgroupId=com.demo
-DartifactId=web-a
- 配置清单
gengzg
配置
1、修改grub启动的内核版本
vi /boot/grub/grub.conf
将default 0改为1
拷贝mt7601Usta.ko到/lib文件夹
拷贝RT2870STA.dat到 /etc/Wireless/RT2870STA/文件夹
拷贝wifiscan到bin文件夹,chmod 775 /bin/wifiscan
拷贝wifiget.sh到bin文件夹,chm
- Windows端口被占用处理方法
huqiji
windows
以下文章主要以80端口号为例,如果想知道其他的端口号也可以使用该方法..........................1、在windows下如何查看80端口占用情况?是被哪个进程占用?如何终止等. 这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入&
- 开源ckplayer 网页播放器, 跨平台(html5, mobile),flv, f4v, mp4, rtmp协议. webm, ogg, m3u8 !
天梯梦
mobile
CKplayer,其全称为超酷flv播放器,它是一款用于网页上播放视频的软件,支持的格式有:http协议上的flv,f4v,mp4格式,同时支持rtmp视频流格 式播放,此播放器的特点在于用户可以自己定义播放器的风格,诸如播放/暂停按钮,静音按钮,全屏按钮都是以外部图片接口形式调用,用户根据自己的需要制作 出播放器风格所需要使用的各个按钮图片然后替换掉原始风格里相应的图片就可以制作出自己的风格了,
- 简单工厂设计模式
hm4123660
java工厂设计模式简单工厂模式
简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式。是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
- maven笔记
zhb8015
maven
跳过测试阶段:
mvn package -DskipTests
临时性跳过测试代码的编译:
mvn package -Dmaven.test.skip=true
maven.test.skip同时控制maven-compiler-plugin和maven-surefire-plugin两个插件的行为,即跳过编译,又跳过测试。
指定测试类
mvn test
- 非mapreduce生成Hfile,然后导入hbase当中
Stark_Summer
maphbasereduceHfilepath实例
最近一个群友的boss让研究hbase,让hbase的入库速度达到5w+/s,这可愁死了,4台个人电脑组成的集群,多线程入库调了好久,速度也才1w左右,都没有达到理想的那种速度,然后就想到了这种方式,但是网上多是用mapreduce来实现入库,而现在的需求是实时入库,不生成文件了,所以就只能自己用代码实现了,但是网上查了很多资料都没有查到,最后在一个网友的指引下,看了源码,最后找到了生成Hfile
- jsp web tomcat 编码问题
王新春
tomcatjsppageEncode
今天配置jsp项目在tomcat上,windows上正常,而linux上显示乱码,最后定位原因为tomcat 的server.xml 文件的配置,添加 URIEncoding 属性:
<Connector port="8080" protocol="HTTP/1.1"
connectionTi