- 【深度学习】训练过程中一个OOM的问题,太难查了
weixin_40293999
深度学习深度学习人工智能
现象:各位大佬又遇到过ubuntu的这个问题么?现象是在训练过程中,ssh上不去了,能ping通,没死机,但是ubunutu的pc侧的显示器,鼠标啥都不好用了。只能重启。问题原因:OOM了95G,尼玛!!!!pytorch爆内存了,然后journald假死了,在journald被watchdog干掉之后,系统就崩溃了。这种规模的爆内存一般,即使被oomkill了,也要卡半天的,确实会这样,能不能配
- 联邦学习 Federated learning Google I/O‘19 笔记
努力搬砖的星期五
笔记联邦学习机器学习机器学习tensorflow
FederatedLearning:MachineLearningonDecentralizeddatahttps://www.youtube.com/watch?v=89BGjQYA0uE文章目录FederatedLearning:MachineLearningonDecentralizeddata1.DecentralizeddataEdgedevicesGboard:mobilekeyboa
- VUE实现大小缩放轮播图
书边事.
vue.js前端javascript
效果图import{ref,computed,reactive,watch,onMounted}from'vue';exportdefault{props:{/***轮播数据来源*/source:{type:Array,default:()=>[{img:require('@/assets/imgs/test/1.png')},{img:require('@/assets/imgs/test/1.
- 侦听器watch
hzw0510
Vue前端javascript开发语言
侦听器的作用监听动态数据(data函数中return的值)的变化示例exportdefault{data(){return{
- 2023-5-6晨间日记
深海未眠夜未央
今天是什么日子起床:6:00就寝:10:00天气:sunny心情:justsoso纪念日:no任务清单昨日完成的任务,最重要的三件事:改进:1.workedhard2.wrotethediaryinthemorning3.watchedvideosaboutforeignalcultures习惯养成:1.readtwoarticles2.watchedvideosaboutforeignalcul
- 最好用的e2e框架,使用 Cypress 让产品持续稳定交付
Node全栈
javapython编程语言软件测试html
以前我们经常使用nightwatch,现在都已经切换到cypress了,可以说cypress目前最好用的e2e框架。具体原因和对比,就是本文要讲的内容。背景ApacheAPISIXDashboard的设计是为了让用户通过前端界面尽可能方便地操作ApacheAPISIX。从项目初始化到现在,已经有552commits、发布了10个版本。在如此之快的产品迭代过程中,确保开源产品质量显的尤为重要。为此,
- 2023-09-22
tdf
Wouldn'titbenicetotakeawalkonsomepurewhitesand,若能够在纯净的白沙上漫步gazeatthehorizon,凝视远处的地平线withoutlivinginfear?而不是生活在恐惧之下,该有多好Wouldn'titbesweettowatchthesuncurvedownmeetthewaves?如果能够看到落日的余晖洒落在波浪上的话,又该有多惬意And
- Swift 基本语法
lly202406
开发语言
Swift基本语法Swift是一种由苹果公司开发的编程语言,用于在iOS、macOS、watchOS和tvOS上开发应用程序。它是一种强类型语言,具有清晰的语法和现代特性,使得开发过程更加高效和易于维护。本文将介绍Swift的一些基本语法,帮助初学者快速上手。变量和常量在Swift中,使用let关键字来声明一个常量,使用var关键字来声明一个变量。常量的值在初始化后不能被改变,而变量的值可以随时更
- Redis 事务揭秘:如何确保数据一致性
加勒比海涛
Redis入门实践redis数据库缓存
Redis事务揭秘:如何确保数据一致性一.认识Redis事务二.事务相关的命令三.watch的实现原理Hello,大家好,这个专栏给大家带来的是Redis系列!本篇文章给大家讲解的是Redis中的事务.Redis的事务是一个用于将多个命令打包在一起执行的特性,它可以保证这些命令要么全部执行,要么全部不执行,从而确保数据的一致性.我们可以看一下Redis中的事务是如何实现的本专栏旨在为初学者提供一个
- 工具知识 | Linux 常用命令参考手册
TrustZone_Hcoco
工具技能知识点学习linux运维服务器
目录文件查看文件内容headtailcatnlmore创建touchmkdirmktemp删除rmrmdir查找文件findlocatelspwdwcchattrpastestatgrepsedcdcpmvopensourcetreelnfilesortuniqsplitvim系统管理nohupwatchpingwhichshutdownrebootuptimecrontabatunameifco
- Zookeeper 开源客户端Curator处理事件监听
taj3991
事件监听Zookeeper原生就支持通过注册Watcher来进行事件监听,但是其使用并不是特别方便,需要开发人员反复注册Watcher,比较繁琐。Curator引入了Cache来实现对zookeeper服务端事件的监听,Cache是Curator中对事件的包装,其对事件的监听其实可以近似的看做是一个本地缓存视图和远程Zookeeper视图的对比过程。同时Curator能够自动为开发人员处理反复注册
- Uniapp中watch的使用
Deryck_德瑞克
uni-appjavascriptvue.js
在Uniapp中,可以使用`watch`属性来监听数据的变化,并执行相应的操作。`watch`可以用于监测单个数据的变化,也可以同时监测多个数据。下面是使用`watch`的步骤:1.在Vue组件中,使用`watch`属性定义需要监测的数据及相应的处理函数。 {{count}} {{double}} exportdefault{ data(){ r
- 学习Vue3的第三天
正在奋斗的程序猿
Vue学习vue.jsjavascript
Vue3生命周期概念:生命周期钩子是Vue组件在其生命周期内不同阶段触发的函数,允许开发者在这些关键时刻插入自定义逻辑。规律:生命周期整体分为四个阶段,分别是:创建、挂载、更新、销毁,每个阶段都有两个钩子,一前一后。Vue2生命周期钩子创建阶段beforeCreate:组件实例刚创建,数据观测和事件/侦听器尚未设置。created:组件实例创建完成,数据观测和事件/侦听器已设置,但DOM尚未挂载。
- Vue3 全文知识点
清风ꦿ
vue.jsjavascriptecmascript
vue全文知识点vue3学习1关于项目初始化2vue3语法setup3vue3语法和vue2语法兼容4setup语法糖5响应式数据-基础6响应式数据-ref定义对象类型数据6toRef,toRefs将多个非响应式数据转变为响应式数据refImpl7computed计算属性8watch监听[ref对象(包含计算属性),getter方法(对象属性),响应式对象,数组(包含前三类)]9ref绑定10pr
- gdb常用命令
过好每一天的女胖子
linuxgdblinuxgdb
文章目录1、GDB2、常用命令gdb可执行文件名run(r)/start运行程序break/bclear/deletedisable/enabledisplayjumpwhatisinfothreadbacktrace/btnext(n)/nextistep(s)/stepifinishuntilcallsetprint/plistwatch/awatch/rwatchcatch/tcatchxc
- 用正则表达式过滤logcat中的多个tag的日志
fc82bb084ee7
在AndroidStudio中,在过滤器的byLogTag选项中配置.我配置了2个tagfilter方便开发,1.multi-tag-filter2.ignore-multi-tag-filter.过滤出指定tag的日志信息^(?:Watchdog|InputReader|ahking)Watchdog忽略指定tag的日志信息^(?!WifiMonitor|WifiHW)有些tag的无用log非常
- 英语中的句子
遇明不散
简单句最小的句子单位,分为以下五种基本句型。主语+动词(主谓结构)eg:Myheadhurts.主语+动词+主语补足语(主系表结构,动词即系统词)eg:Heisateacher.主语+动词+直接宾语(主谓宾结构)eg:Sheenjoysthemoive.主语+动词+间接宾语+直接宾语(主谓宾宾)eg:Sheboughtherawatch.主语+动词+宾语+宾语补足语(主谓宾补)eg:Shemade
- vue3 watch监听响应式数组失效问题
妙明元心
前端javascriptvue.js
constpageData=reactive({checkedNodeList:[]})constcolspanDisabled=ref(false);watch(()=>{returnpageData.checkedNodeList},(newValue,oldValue)=>{if(newValue.length>0){colspanDisabled.value=true;}else{cols
- linux查看具体进程占用的网络流量
寰宇001
Ubuntu
监控网络宽带(网速)的18个命令下面是按功能划分的命令名称。监控总体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload监控总体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl每个套接字连接的带宽使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow每个进程的带宽
- Redis的watch机制详解
半桶水专家
redis数据库缓存
WATCH是Redis提供的一个用于实现乐观锁(OptimisticLock)的命令,通常用于实现事务中的并发控制。它允许客户端监控一个或多个键的变化,并确保事务(MULTI/EXEC)中执行的操作在这些键没有发生改变的情况下才能成功提交。若在事务执行前,某些键被其他客户端修改,事务将被中止,避免潜在的并发修改问题。WATCH的工作机制监听键客户端通过WATCH命令可以监听一个或多个键。执行后,R
- linux 查看文本或者日志的命令
XMYX-0
Centos命令使用linux服务器
文章目录linux查看文本或者日志的命令`cat`命令示例:`tac`命令示例:`less`命令示例:`more`命令示例:`head`命令示例:`tail`命令示例:`grep`命令示例:`awk`和`sed`示例:使用`awk`提取日志中的时间和错误信息示例:使用`sed`查找并替换日志中的特定字符串`watch`命令示例:`dmesg`命令示例:`journalctl`命令示例:查看系统启动
- Vue3+elementplus实现图片上传下载(最强实践)
J不A秃V头A
前端vue.js前端javascript
图片上传子组件:实现照片的上传,预览,以及转成以逗号隔开的图片地址,即时监听,并发送消息到父组件。Loading...import{computed,ref,watch}from'vue';import{upload}from'@/api/file'import{ElMessage}from'element-plus'importemitterfrom'@/utils/emitter'//上传文件
- 【每天一句,30天学好英语】
壹典心理咨询
【2023-1-25】早安春夏秋冬Lookingatlifewithasimpleeye,peoplecanonlyliveonce!Don'tlivetootired!Ifwecanholdanormalheart,sitandwatchthecloudsriseandfall,theflowersblossomandthankyou,andthevicissitudesoflife,wecan
- vue3,贪吃蛇
har01d
javascript前端vue.jselementuicss3
得分:{{score}}速度:{{speed}}游戏暂停按空格键开始/暂停重新开始import{ref,reactive,onMounted,toRefs,watch,computed,onUnmounted,}from"vue";/***@param{value}0-空格子1-蛇蛇2-食物*@param{ROW}行数*@param{COL}列数*@param{direction}蛇蛇移动方向0-
- Vue-技巧
菜鸟出动大神让路
1.watch一个变量的时候,初始时并不会执行。需要在create的时候手动调用一次。可以在watch的时候添加immediate属性,这样初始化的时候也会触发。2.Attrs和Listeners。V-bind="$attrs",V-bon="listeners"来获取到没有定义的props以及方法3.Object.freeze:1.大数据的时候,如果有一些数据不需要响应式变化,既可以拆分组件,做
- 使用vue3+ts封装一个自动补全输入框Autocomplete组件
温暖前端
javascript前端vue.js
创建一个名为Autocomplete.vue的文件,在这个组件中,使用了Vue3的CompositionAPI,包括ref、watch、onMounted等。组件接收placeholder、debounce和clearable作为props,并根据这些props来渲染输入框和下拉菜单{{item}}import{defineComponent,ref,watch,onMounted}from'vu
- Vue.js初学—简易计算器(使用属性监听watch,动态监听input及select的变化)
Dove_Y
笔记
Vue.js初学—简易计算器(监听input的输入值变化事件,从而实现结果的动态刷新)学习到了属性监听watch,对于简易计算器的有了新的思路。(虽然也不知道是不是改进,个人认为是改进了)效果与上面链接的效果完全一致。+-*/={{result}}newVue({el:'#app',data:{
- 使用Vue组件的watch监听-简单计算器
编程初学者01
vue.jsvue.js前端javascript前端框架
Vue组件的初探一、浅析这里做了一个全局的组件vue.component('mycomp',{})在中写组件,将id=comp1script中直接template:"#copm1"其他的部分就是之前所讲的watch来实现简易计算器差不多组件watch监听-计算(CQNU-ZJW)+=varcom=Vue.component('mycomp',{template:"#comp1",data(){re
- 日更|今年发布的iPhone14不是主角,而是watch!
小思设计
手机创新最大的也就是pro系列,外观区别与之前几代的手机,在iOS交互上,把药丸设计成那么恰到好处。这就是苹果一贯挤牙膏的创新作风。i接下来,国内手机的趋势,应该都是这样的。不信,等2个月在看。。我看好的并不是手机,而是手表。首先登场的是AppleWatchSeries8,其内置新的温度传感器,能够每5秒一次监测用户体温,精确度达0.1摄氏度,女性用户可据此获得更精准的经期追踪功能。该产品还新增两
- vue3.5新增特性
是云呀!
vue3知识总结前端javascriptvue.js
1.响应式内部源码优化2.Props的解构比较方便设置默认值解构后依旧是响应式//子组件const{message="默认值message",count=0}=defineProps({message:String,count:Number})//编译器会自动对解构变量(message,count)的访问编译到props.count中,因此在访问时会跟踪它//所有在watch解构的props时,需
- 微信开发者验证接口开发
362217990
微信 开发者 token 验证
微信开发者接口验证。
Token,自己随便定义,与微信填写一致就可以了。
根据微信接入指南描述 http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html
第一步:填写服务器配置
第二步:验证服务器地址的有效性
第三步:依据接口文档实现业务逻辑
这里主要讲第二步验证服务器有效性。
建一个
- 一个小编程题-类似约瑟夫环问题
BrokenDreams
编程
今天群友出了一题:
一个数列,把第一个元素删除,然后把第二个元素放到数列的最后,依次操作下去,直到把数列中所有的数都删除,要求依次打印出这个过程中删除的数。
&
- linux复习笔记之bash shell (5) 关于减号-的作用
eksliang
linux关于减号“-”的含义linux关于减号“-”的用途linux关于“-”的含义linux关于减号的含义
转载请出自出处:
http://eksliang.iteye.com/blog/2105677
管道命令在bash的连续处理程序中是相当重要的,尤其在使用到前一个命令的studout(标准输出)作为这次的stdin(标准输入)时,就显得太重要了,某些命令需要用到文件名,例如上篇文档的的切割命令(split)、还有
- Unix(3)
18289753290
unix ksh
1)若该变量需要在其他子进程执行,则可用"$变量名称"或${变量}累加内容
什么是子进程?在我目前这个shell情况下,去打开一个新的shell,新的那个shell就是子进程。一般状态下,父进程的自定义变量是无法在子进程内使用的,但通过export将变量变成环境变量后就能够在子进程里面应用了。
2)条件判断: &&代表and ||代表or&nbs
- 关于ListView中性能优化中图片加载问题
酷的飞上天空
ListView
ListView的性能优化网上很多信息,但是涉及到异步加载图片问题就会出现问题。
具体参看上篇文章http://314858770.iteye.com/admin/blogs/1217594
如果每次都重新inflate一个新的View出来肯定会造成性能损失严重,可能会出现listview滚动是很卡的情况,还会出现内存溢出。
现在想出一个方法就是每次都添加一个标识,然后设置图
- 德国总理默多克:给国人的一堂“震撼教育”课
永夜-极光
教育
http://bbs.voc.com.cn/topic-2443617-1-1.html德国总理默多克:给国人的一堂“震撼教育”课
安吉拉—默克尔,一位经历过社会主义的东德人,她利用自己的博客,发表一番来华前的谈话,该说的话,都在上面说了,全世界想看想传播——去看看默克尔总理的博客吧!
德国总理默克尔以她的低调、朴素、谦和、平易近人等品格给国人留下了深刻印象。她以实际行动为中国人上了一堂
- 关于Java继承的一个小问题。。。
随便小屋
java
今天看Java 编程思想的时候遇见一个问题,运行的结果和自己想想的完全不一样。先把代码贴出来!
//CanFight接口
interface Canfight {
void fight();
}
//ActionCharacter类
class ActionCharacter {
public void fight() {
System.out.pr
- 23种基本的设计模式
aijuans
设计模式
Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 Adapter:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 Builder:将一个复杂对象的构建与它的表示分离,使得同
- 《周鸿祎自述:我的互联网方法论》读书笔记
aoyouzi
读书笔记
从用户的角度来看,能解决问题的产品才是好产品,能方便/快速地解决问题的产品,就是一流产品.
商业模式不是赚钱模式
一款产品免费获得海量用户后,它的边际成本趋于0,然后再通过广告或者增值服务的方式赚钱,实际上就是创造了新的价值链.
商业模式的基础是用户,木有用户,任何商业模式都是浮云.商业模式的核心是产品,本质是通过产品为用户创造价值.
商业模式还包括寻找需求
- JavaScript动态改变样式访问技术
百合不是茶
JavaScriptstyle属性ClassName属性
一:style属性
格式:
HTML元素.style.样式属性="值";
创建菜单:在html标签中创建 或者 在head标签中用数组创建
<html>
<head>
<title>style改变样式</title>
</head>
&l
- jQuery的deferred对象详解
bijian1013
jquerydeferred对象
jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本。
每个版本都会引入一些新功能,从jQuery 1.5.0版本开始引入的一个新功能----deferred对象。
&nb
- 淘宝开放平台TOP
Bill_chen
C++c物流C#
淘宝网开放平台首页:http://open.taobao.com/
淘宝开放平台是淘宝TOP团队的产品,TOP即TaoBao Open Platform,
是淘宝合作伙伴开发、发布、交易其服务的平台。
支撑TOP的三条主线为:
1.开放数据和业务流程
* 以API数据形式开放商品、交易、物流等业务;
&
- 【大型网站架构一】大型网站架构概述
bit1129
网站架构
大型互联网特点
面对海量用户、海量数据
大型互联网架构的关键指标
高并发
高性能
高可用
高可扩展性
线性伸缩性
安全性
大型互联网技术要点
前端优化
CDN缓存
反向代理
KV缓存
消息系统
分布式存储
NoSQL数据库
搜索
监控
安全
想到的问题:
1.对于订单系统这种事务型系统,如
- eclipse插件hibernate tools安装
白糖_
Hibernate
eclipse helios(3.6)版
1.启动eclipse 2.选择 Help > Install New Software...> 3.添加如下地址:
http://download.jboss.org/jbosstools/updates/stable/helios/ 4.选择性安装:hibernate tools在All Jboss tool
- Jquery easyui Form表单提交注意事项
bozch
jquery easyui
jquery easyui对表单的提交进行了封装,提交的方式采用的是ajax的方式,在开发的时候应该注意的事项如下:
1、在定义form标签的时候,要将method属性设置成post或者get,特别是进行大字段的文本信息提交的时候,要将method设置成post方式提交,否则页面会抛出跨域访问等异常。所以这个要
- Trie tree(字典树)的Java实现及其应用-统计以某字符串为前缀的单词的数量
bylijinnan
java实现
import java.util.LinkedList;
public class CaseInsensitiveTrie {
/**
字典树的Java实现。实现了插入、查询以及深度优先遍历。
Trie tree's java implementation.(Insert,Search,DFS)
Problem Description
Igna
- html css 鼠标形状样式汇总
chenbowen00
htmlcss
css鼠标手型cursor中hand与pointer
Example:CSS鼠标手型效果 <a href="#" style="cursor:hand">CSS鼠标手型效果</a><br/>
Example:CSS鼠标手型效果 <a href="#" style=&qu
- [IT与投资]IT投资的几个原则
comsci
it
无论是想在电商,软件,硬件还是互联网领域投资,都需要大量资金,虽然各个国家政府在媒体上都给予大家承诺,既要让市场的流动性宽松,又要保持经济的高速增长....但是,事实上,整个市场和社会对于真正的资金投入是非常渴望的,也就是说,表面上看起来,市场很活跃,但是投入的资金并不是很充足的......
 
- oracle with语句详解
daizj
oraclewithwith as
oracle with语句详解 转
在oracle中,select 查询语句,可以使用with,就是一个子查询,oracle 会把子查询的结果放到临时表中,可以反复使用
例子:注意,这是sql语句,不是pl/sql语句, 可以直接放到jdbc执行的
----------------------------------------------------------------
- hbase的简单操作
deng520159
数据库hbase
近期公司用hbase来存储日志,然后再来分析 ,把hbase开发经常要用的命令找了出来.
用ssh登陆安装hbase那台linux后
用hbase shell进行hbase命令控制台!
表的管理
1)查看有哪些表
hbase(main)> list
2)创建表
# 语法:create <table>, {NAME => <family&g
- C语言scanf继续学习、算术运算符学习和逻辑运算符
dcj3sjt126com
c
/*
2013年3月11日20:37:32
地点:北京潘家园
功能:完成用户格式化输入多个值
目的:学习scanf函数的使用
*/
# include <stdio.h>
int main(void)
{
int i, j, k;
printf("please input three number:\n"); //提示用
- 2015越来越好
dcj3sjt126com
歌曲
越来越好
房子大了电话小了 感觉越来越好
假期多了收入高了 工作越来越好
商品精了价格活了 心情越来越好
天更蓝了水更清了 环境越来越好
活得有奔头人会步步高
想做到你要努力去做到
幸福的笑容天天挂眉梢 越来越好
婆媳和了家庭暖了 生活越来越好
孩子高了懂事多了 学习越来越好
朋友多了心相通了 大家越来越好
道路宽了心气顺了 日子越来越好
活的有精神人就不显
- java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Tim
feiteyizu
mysql
数据表中有记录的time字段(属性为timestamp)其值为:“0000-00-00 00:00:00”
程序使用select 语句从中取数据时出现以下异常:
java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date
java.sql.SQLException: Valu
- Ehcache(07)——Ehcache对并发的支持
234390216
并发ehcache锁ReadLockWriteLock
Ehcache对并发的支持
在高并发的情况下,使用Ehcache缓存时,由于并发的读与写,我们读的数据有可能是错误的,我们写的数据也有可能意外的被覆盖。所幸的是Ehcache为我们提供了针对于缓存元素Key的Read(读)、Write(写)锁。当一个线程获取了某一Key的Read锁之后,其它线程获取针对于同
- mysql中blob,text字段的合成索引
jackyrong
mysql
在mysql中,原来有一个叫合成索引的,可以提高blob,text字段的效率性能,
但只能用在精确查询,核心是增加一个列,然后可以用md5进行散列,用散列值查找
则速度快
比如:
create table abc(id varchar(10),context blog,hash_value varchar(40));
insert into abc(1,rep
- 逻辑运算与移位运算
latty
位运算逻辑运算
源码:正数的补码与原码相同例+7 源码:00000111 补码 :00000111 (用8位二进制表示一个数)
负数的补码:
符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。 -7 源码: 10000111 ,其绝对值为00000111 取反加一:11111001 为-7补码
已知一个数的补码,求原码的操作分两种情况:
- 利用XSD 验证XML文件
newerdragon
javaxmlxsd
XSD文件 (XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 具体使用方法和定义请参看:
http://www.w3school.com.cn/schema/index.asp
java自jdk1.5以上新增了SchemaFactory类 可以实现对XSD验证的支持,使用起来也很方便。
以下代码可用在J
- 搭建 CentOS 6 服务器(12) - Samba
rensanning
centos
(1)安装
# yum -y install samba
Installed:
samba.i686 0:3.6.9-169.el6_5
# pdbedit -a rensn
new password:123456
retype new password:123456
……
(2)Home文件夹
# mkdir /etc
- Learn Nodejs 01
toknowme
nodejs
(1)下载nodejs
https://nodejs.org/download/ 选择相应的版本进行下载 (2)安装nodejs 安装的方式比较多,请baidu下
我这边下载的是“node-v0.12.7-linux-x64.tar.gz”这个版本 (1)上传服务器 (2)解压 tar -zxvf node-v0.12.
- jquery控制自动刷新的代码举例
xp9802
jquery
1、html内容部分 复制代码代码示例: <div id='log_reload'>
<select name="id_s" size="1">
<option value='2'>-2s-</option>
<option value='3'>-3s-</option