- LeetCode:2390. 从字符串移除*号 使用栈,时间复杂度O(N)
忍界英雄
每日一题leetcodelinux算法
2390.从字符串移除*号today2390.从字符中移除*号题目表述给你一个包含若干星号*的字符串s。在一步操作中,你可以:选中s中的一个星号。移除星号左侧最近的那个非星号字符,并移除该星号自身。返回移除所有星号之后的字符串。注意:生成的输入保证总是可以执行题面中描述的操作。可以证明结果字符串是唯一的。示例1:输入:s=“leet**cod*e”输出:“lecoe”解释:从左到右执行移除操作:距
- 佳音之日更葡萄酒I Day20 特别篇 - 天堂园 Il Paradiso di Manfredi
葡萄酒一杯靈
#佳音OneDayWine#IlParadisodiManfredi#BrunellodiMontalcino#Biodynamie#意大利#每日一酒曾任经典奇昂蒂葡萄酒协会(ConsorziodelVinoChiantiClassico)的主席,意大利CastelloDiAma”阿玛堡”庄主MarcoPallanti说过一句话﹕“Today,allwineisgood;thedifference
- LeetCode: 2576. 求出最多标记的下标 排序+双指针,时间复杂度O(n*logn)
忍界英雄
每日一题leetcode算法数据结构
2576.求出最多标记的下标today2576求出最多标记的下标题目描述给你一个下标从0开始的整数数组nums。一开始,所有下标都没有被标记。你可以执行以下操作任意次:选择两个互不相同且未标记的下标i和j,满足2*nums[i]nums[right],则我们需要将right右移一位。直到left或right超出边界条件,我们就找到了所有满足条件的数字对。复杂度分析:时间复杂度为O(nlogn)O(
- LeetCode:2398. 预算内的最多机器人数目 双指针+单调队列,时间复杂度O(n)
忍界英雄
每日一题leetcode机器人算法
2398.预算内的最多机器人数目today2398.预算内的最多机器人数目题目描述你有n个机器人,给你两个下标从0开始的整数数组chargeTimes和runningCosts,两者长度都为n。第i个机器人充电时间为chargeTimes[i]单位时间,花费runningCosts[i]单位时间运行。再给你一个整数budget。运行k个机器人总开销是max(chargeTimes)+k*sum(r
- 0809
蔡蔡1228
晨钟敲响Today2018年(8)月(9)号,星期四我们携手走过TA3的第(505天),后TA第(403天)。(首周第一天,2017年3月23日。第三周末最后一天7月2日)北京时间8:00我是时间郎:蔡仁华,我是一个自信,勇敢,守承诺的女人,YES!我们的队歌是:怒放的生命我们的口号是:武汉TA3,我们不一般!我,我们承诺创造一个激情,大爱,共赢的环境!亲爱的家人们:加油!!!我爱你们!全世界早安
- flutter app_Flutter App中的错误处理
weixin_26638123
python
flutterappPartofthe‘AWorkinProgress’Series“正在进行的工作”系列的一部分Today,I’mdemonstratinghowtheMVCframeworklibrarypackageisadaptiveandflexibleinitsimplementationofspecificneeds.Inthiscase,I’llshowyouhowtheframe
- Linux脚本实现自动化运维:系统自动备份、资源监控
人生在勤,不索何获-白大侠
运维linux自动化
1、系统自动备份目的:将重要应用备份到别的机器上脚本实例:#!/bin/bash#定义变量app_user=待备份应用的服务器用户名app_passwd=待备份应用的服务器密码app_ip=待备份应用的服务器IPBASE_PATH='/data/inspur_bak'TODAY_DATE=`date+\%Y\%m\%d`CURRENT_PATH=${BASE_PATH}/${TODAY_DATE}
- datetime模块详细讲解
目上无尘目下空221
python实用代码python数学建模开发语言
datetime模块是Python中最常用的时间处理模块,可以方便地进行日期时间的计算、格式化、输出等操作。在这个模块中,主要有两个类:datetime和date。datetime类datetime类表示一个具体的日期和时间,其构造函数有年、月、日、时、分、秒等参数。该类常用的方法有:today():获取当前日期时间。now():获取当前日期时间,包含微秒。fromtimestamp():将时间戳
- 【Art Gym】Sketch Today Day 26 (P1)
栖月
2018.10.19SketchTodayDay26(P1)今天画的很流畅,动物和人物的神情被我简单的笔墨非常生动的捕捉了下来,不太喜欢画场景,复杂的场景总让我失去焦点,也许是图片没有能打动我的地方,所以画的时候自然图片就变味了(其中的车中人)。画完第八张的时候,暂停下来更新这个文字和图片,一口气画八张再画可能就难以控制精准度了。绘画是一件手眼脑高度协调的事情,一但画到肌肉僵硬就得暂时停下来了,我
- 2021-10-27
Nance萍水相逢
第四章投入1、Facts:我了解到福流体验是在一个活动中精神高度集中或者全身心投入的状态。2、Feelings:我意识到当我们每时每刻都投入生活时,我们的人生就变成了一个大的福流。3、Findings:令我惊喜的是福流体验中非常重要的一点就是投入到整个过程中,享受过程。每当我读书的时候、学习英语我要先弄懂读音(翻译的时候)、做家务活的时候,我都觉得时间悄悄过去,完全忘记了自己。4、Future:我
- C#语法学习——DateTime时间结构
学习
c#学习开发语言
在C#中,你可以使用DateTime结构来获取并格式化时间。以下是一些示例和技巧:获取当前日期和时间:DateTimenow=DateTime.Now;//当前日期和时间DateTimetoday=DateTime.Today;//当前日期,时间部分为00:00:00获取特定日期和时间:DateTimespecificDate=newDateTime(2022,10,31);//2022年10月3
- 【Art Gym】Sketch Today Day 28 (P2)
栖月
2018.10.22SketchTodayDay28(P2)最近买了一些画框,已装好,等光线好的时候来拍图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App
- spring boot 性能测试工具汇总
红桃xin
java基础springboot测试工具压力测试
1.使用JMeter进行简单的带json数据的post请求测试https://www.jianshu.com/p/b61f70b672662.jmeter&badboy做压力测试https://www.cnblogs.com/happy-today/p/7852277.html3.阿里巴巴开源性能监控神器Arthasjvmhttps://www.cnblogs.com/shihaiming/p/1
- 2024年3月5日 晨会汇报
进击切图仔
English前端
Goodmorning,colleagues!Today,I’dliketoshareanupdateaboutmyrecentworkactivitieswhichencompassesoftwoareas:anoverviewofmyworkactivitiesfromyesterdayandanagendafortoday.Yesterday’sprimarytaskwastofixingb
- CSP-防疫大数据
Schwertlilien
刷题c++开发语言
是不是最简单的!60行AC!解题思路首先:每日的风险地区是实时更新,所以直接将该region放到Today~Today+7之内;然后:咱采取的思路就是将每条message给他存到每天去。比如这条message是第0天发来的,那么它被存到0~6天的Msg中。比如是第7天来的,那么存到7~(5+7-1)天之中。虽然这样会增加计算判断的message量,但反正这个题也不在乎性能()代码#includeu
- 一个月每天300字流水账
勤奋的梦蓝星
今天是八月十五日,周三。Today,是这个标题下的最后一篇了。一个小小的idea都能够坚持下来我真的超级无敌开心哒!这一个月,不管怎么说,动笔了,就和以前那些平凡的日子不同,虽然没有从量变到达非常明显的质变,但是我从写作中得到的快乐和成就感是很重要的。下面要来感谢一下这一段时间帮助我成长的各种人事物。首先是,很幸运能够被安利到这个app,让我增长了很多见识,认识了很多各行各业中的对写作保有梦想的人
- 兄妹俩的日常20210803——半世父母恩,一世兄妹情!
凝飞呀
Today'sgentlewindisduetoyesterday'srain.今天温柔的风归功于昨天的雨有哥的妹妹像个宝~亲5半世父母恩,一世兄妹情!
- java----js常用的api
脚大江山稳
java开发语言
java----js常用的api时间函数获取当前时间:DateUtil.today()时间偏移字符换时间格式化map.computeIfAbsent添加list时间函数获取当前时间:DateUtil.today()Stringtoday=DateUtil.today()Stringtoday=“2024-02-01”;时间偏移往前退役30天DateUtil.offsetDay(DateUtil.p
- 计算任意两个日期之间天数 Matlab
try_trying_try
Matlabmatlab
t=datetime('today');%get今天日期t1='2002-04-01';m=datenum(t1-t+1)%做差后是hour,转化为天数参考matlab日期函数
- 阅《幸福的科学》之七成就李华打卡:
cc6d69bc35d8
今日,第七章1、Facts:我了解到:富兰克林.罗斯福曾说过:幸福不在于拥有金钱,而在于获得成就时的喜悦,以及产生创造力的激情。而要想获得成就感首先得有一个自我关怀的心理因素,再有一个自我效能的行动,通过培养坚毅的品质和成长型思维,从而达到自己设定的目标,最终取得成就感时的喜悦。2、Feelings:我意识到:我虽初衷是为了帮助孩子学习更好,一直在线学习英语,情商课,直至现在在杨妈的心理学园中窜,
- java8获取当前时间前一天
高粱
//获取当前日期LocalDatetoday=LocalDate.now();//获取当前年份第一天StringfirstDayOfYear=today.with(firstDayOfYear()).toString();//获取当前日期的前一天Stringyesterday=today.plusDays(-1).toString();
- TODAY函数在账龄分析中的应用
萤火虫的秘密
在账务管理中经常需要对应账款的账龄进行分析,以及时催收账龄过长的账款。这是需要使用到TODAY函数。①应收账款记录表,根据分析需要建立相应的求解标识。②选中E3单元格,在编辑栏中输入公式:=IF(AND(TODAY()-$D3>30,TODAY()-$D360,TODAY()-$D390,$B3-$C3,0)。按回车键,判断第一项应收账款的账龄是否大于90天。如果在,返回金额;如果不在,返回0值⑤
- JAVA并发编程之synchronized与Lock锁详解
一只经常emo的程序员
javajavadreamweaver开发语言
synchronized与Lock锁synchronized和ReentrantLock都是Java中提供的互斥锁。从功能上来说,你使用无论哪个,功能向都是一样的。today主要分析这两种锁他的实现逻辑。没把锁都聊两个维度的内容:加锁(排队等待)和释放锁wait¬ify、await&signal一、ReentrantLock锁特性要聊ReentrantLock,首先大家必须要知道AQS是什么
- Sunday, November 08, 2020
崔宏雷
-01Today'sContent-MemorizeWords,COCA10000,thirdloop,1361words,2:13Liulishuo,level5:2:30total,4:43MemorizeWords,Notsogoodasyesterday,7daysleft.Liulishuo,Normal.
- As I Began to Love myself(当我真正开始爱自己)
小舞读书
AsIbegantolovemyselfIfoundthatanguishandemotionalsufferingareonlywarningsignsthatIwaslivingagainstmyowntruth.Today,Iknow,thisis“AUTHENTICITY”.AsIbegantolovemyselfIunderstoodhowmuchitcanoffendsomebodyi
- 20211028复盘第五天:
0e5e58f0f78b
今日,第五章1、Facts:我了解到拥有积极关系,更具幸福感和心理韧性同理心:站在对方的立场,去了解对方的感觉、想法、行为,然后把这种了解表达出来,让对方知道你在努力靠近他、理解他。2、Feelings:我意识到积极关系底座牢一点,会收获更好的幸福3、Findings:令我惊喜的是我一直在做积极的建设回应4、Future:我打算做以后的生活中多利用自己的同理心去让对方感知到
- H5 增强相关
ShoneSingLone
照相拍照功能https://whatwebcando.today/photos.htmlfunctiongetUserMedia(options,successCallback,failureCallback){varapi=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||naviga
- excel如何快速输入当前日期
长沙熊憨憨
双击打开需要快速输入日期的excel文档,如图示例:测试01.xlsx1.jpg方法1:在要输入日期的单元格中输入=tod,在弹出的提示列表中选择TODAY函数按Tab键2.jpg该函数不需要参数,直接enter回车确定即可,如图示今天的日期成功添加到单元格中3.jpg方法2:在单元格中按下快捷键【ctrl+;】即可快速输入当前日期4.jpg方法3:点击快速插入函数fx小图标,在弹出的对话框中选择
- 每日英语角-calling in sick
侯七爷
Goodafternoon!Today’stopiciscallinginsick.callinginsickFirst,theVocabularycallin打电话sick生病tired疲惫的headache头疼stomachache胃疼sorethroat喉咙痛runnynose流鼻涕fever发烧takeiteasy放轻松takesomemedicine吃点药seethedoctor看医生h
- 好好学习excel
记录自己的文字
快速输入当天日期:ctrl+;这个快捷键一直都算知道,就是实际应用总不用,不用就和不知道一样,所以以后把它应用到登记员工提交的电子发票上面。有了快捷录入日期,对日期格式又有了要求,ctrl+1可以快速调取设置单元格格式~有关日期的函数还有today()和now(),可以获取动态日期时间~数据~数据验证(也叫数据有效性)插入图片以后,可以利用“图片工具”调整图片的长宽等格式,不要只想到用鼠标箭头拖动
- LeetCode[位运算] - #137 Single Number II
Cwind
javaAlgorithmLeetCode题解位运算
原题链接:#137 Single Number II
要求:
给定一个整型数组,其中除了一个元素之外,每个元素都出现三次。找出这个元素
注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间
难度:中等
分析:
与#136类似,都是考察位运算。不过出现两次的可以使用异或运算的特性 n XOR n = 0, n XOR 0 = n,即某一
- 《JavaScript语言精粹》笔记
aijuans
JavaScript
0、JavaScript的简单数据类型包括数字、字符创、布尔值(true/false)、null和undefined值,其它值都是对象。
1、JavaScript只有一个数字类型,它在内部被表示为64位的浮点数。没有分离出整数,所以1和1.0的值相同。
2、NaN是一个数值,表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它本身。可以用函数isNaN(number)检测NaN,但是
- 你应该更新的Java知识之常用程序库
Kai_Ge
java
在很多人眼中,Java 已经是一门垂垂老矣的语言,但并不妨碍 Java 世界依然在前进。如果你曾离开 Java,云游于其它世界,或是每日只在遗留代码中挣扎,或许是时候抬起头,看看老 Java 中的新东西。
Guava
Guava[gwɑ:və],一句话,只要你做Java项目,就应该用Guava(Github)。
guava 是 Google 出品的一套 Java 核心库,在我看来,它甚至应该
- HttpClient
120153216
httpclient
/**
* 可以传对象的请求转发,对象已流形式放入HTTP中
*/
public static Object doPost(Map<String,Object> parmMap,String url)
{
Object object = null;
HttpClient hc = new HttpClient();
String fullURL
- Django model字段类型清单
2002wmj
django
Django 通过 models 实现数据库的创建、修改、删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长。你通常不需要直接使用这个字段;如果你不指定主键的话,系统会自动添加一个主键字段到你的model。(参阅自动主键字段) BooleanField:布尔字段,管理工具里会自动将其描述为checkbox。 Cha
- 在SQLSERVER中查找消耗CPU最多的SQL
357029540
SQL Server
返回消耗CPU数目最多的10条语句
SELECT TOP 10
total_worker_time/execution_count AS avg_cpu_cost, plan_handle,
execution_count,
(SELECT SUBSTRING(text, statement_start_of
- Myeclipse项目无法部署,Undefined exploded archive location
7454103
eclipseMyEclipse
做个备忘!
错误信息为:
Undefined exploded archive location
原因:
在工程转移过程中,导致工程的配置文件出错;
解决方法:
 
- GMT时间格式转换
adminjun
GMT时间转换
普通的时间转换问题我这里就不再罗嗦了,我想大家应该都会那种低级的转换问题吧,现在我向大家总结一下如何转换GMT时间格式,这种格式的转换方法网上还不是很多,所以有必要总结一下,也算给有需要的朋友一个小小的帮助啦。
1、可以使用
SimpleDateFormat SimpleDateFormat
EEE-三位星期
d-天
MMM-月
yyyy-四位年
- Oracle数据库新装连接串问题
aijuans
oracle数据库
割接新装了数据库,客户端登陆无问题,apache/cgi-bin程序有问题,sqlnet.log日志如下:
Fatal NI connect error 12170.
VERSION INFORMATION: TNS for Linux: Version 10.2.0.4.0 - Product
- 回顾java数组复制
ayaoxinchao
java数组
在写这篇文章之前,也看了一些别人写的,基本上都是大同小异。文章是对java数组复制基础知识的回顾,算是作为学习笔记,供以后自己翻阅。首先,简单想一下这个问题:为什么要复制数组?我的个人理解:在我们在利用一个数组时,在每一次使用,我们都希望它的值是初始值。这时我们就要对数组进行复制,以达到原始数组值的安全性。java数组复制大致分为3种方式:①for循环方式 ②clone方式 ③arrayCopy方
- java web会话监听并使用spring注入
bewithme
Java Web
在java web应用中,当你想在建立会话或移除会话时,让系统做某些事情,比如说,统计在线用户,每当有用户登录时,或退出时,那么可以用下面这个监听器来监听。
import java.util.ArrayList;
import java.ut
- NoSQL数据库之Redis数据库管理(Redis的常用命令及高级应用)
bijian1013
redis数据库NoSQL
一 .Redis常用命令
Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以在Linux终端使用。
a.键值相关命令
b.服务器相关命令
1.键值相关命令
&
- java枚举序列化问题
bingyingao
java枚举序列化
对象在网络中传输离不开序列化和反序列化。而如果序列化的对象中有枚举值就要特别注意一些发布兼容问题:
1.加一个枚举值
新机器代码读分布式缓存中老对象,没有问题,不会抛异常。
老机器代码读分布式缓存中新对像,反序列化会中断,所以在所有机器发布完成之前要避免出现新对象,或者提前让老机器拥有新增枚举的jar。
2.删一个枚举值
新机器代码读分布式缓存中老对象,反序列
- 【Spark七十八】Spark Kyro序列化
bit1129
spark
当使用SparkContext的saveAsObjectFile方法将对象序列化到文件,以及通过objectFile方法将对象从文件反序列出来的时候,Spark默认使用Java的序列化以及反序列化机制,通常情况下,这种序列化机制是很低效的,Spark支持使用Kyro作为对象的序列化和反序列化机制,序列化的速度比java更快,但是使用Kyro时要注意,Kyro目前还是有些bug。
Spark
- Hybridizing OO and Functional Design
bookjovi
erlanghaskell
推荐博文:
Tell Above, and Ask Below - Hybridizing OO and Functional Design
文章中把OO和FP讲的深入透彻,里面把smalltalk和haskell作为典型的两种编程范式代表语言,此点本人极为同意,smalltalk可以说是最能体现OO设计的面向对象语言,smalltalk的作者Alan kay也是OO的最早先驱,
- Java-Collections Framework学习与总结-HashMap
BrokenDreams
Collections
开发中常常会用到这样一种数据结构,根据一个关键字,找到所需的信息。这个过程有点像查字典,拿到一个key,去字典表中查找对应的value。Java1.0版本提供了这样的类java.util.Dictionary(抽象类),基本上支持字典表的操作。后来引入了Map接口,更好的描述的这种数据结构。
&nb
- 读《研磨设计模式》-代码笔记-职责链模式-Chain Of Responsibility
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* 业务逻辑:项目经理只能处理500以下的费用申请,部门经理是1000,总经理不设限。简单起见,只同意“Tom”的申请
* bylijinnan
*/
abstract class Handler {
/*
- Android中启动外部程序
cherishLC
android
1、启动外部程序
引用自:
http://blog.csdn.net/linxcool/article/details/7692374
//方法一
Intent intent=new Intent();
//包名 包名+类名(全路径)
intent.setClassName("com.linxcool", "com.linxcool.PlaneActi
- summary_keep_rate
coollyj
SUM
BEGIN
/*DECLARE minDate varchar(20) ;
DECLARE maxDate varchar(20) ;*/
DECLARE stkDate varchar(20) ;
DECLARE done int default -1;
/* 游标中 注册服务器地址 */
DE
- hadoop hdfs 添加数据目录出错
daizj
hadoophdfs扩容
由于原来配置的hadoop data目录快要用满了,故准备修改配置文件增加数据目录,以便扩容,但由于疏忽,把core-site.xml, hdfs-site.xml配置文件dfs.datanode.data.dir 配置项增加了配置目录,但未创建实际目录,重启datanode服务时,报如下错误:
2014-11-18 08:51:39,128 WARN org.apache.hadoop.h
- grep 目录级联查找
dongwei_6688
grep
在Mac或者Linux下使用grep进行文件内容查找时,如果给定的目标搜索路径是当前目录,那么它默认只搜索当前目录下的文件,而不会搜索其下面子目录中的文件内容,如果想级联搜索下级目录,需要使用一个“-r”参数:
grep -n -r "GET" .
上面的命令将会找出当前目录“.”及当前目录中所有下级目录
- yii 修改模块使用的布局文件
dcj3sjt126com
yiilayouts
方法一:yii模块默认使用系统当前的主题布局文件,如果在主配置文件中配置了主题比如: 'theme'=>'mythm', 那么yii的模块就使用 protected/themes/mythm/views/layouts 下的布局文件; 如果未配置主题,那么 yii的模块就使用 protected/views/layouts 下的布局文件, 总之默认不是使用自身目录 pr
- 设计模式之单例模式
come_for_dream
设计模式单例模式懒汉式饿汉式双重检验锁失败无序写入
今天该来的面试还没来,这个店估计不会来电话了,安静下来写写博客也不错,没事翻了翻小易哥的博客甚至与大牛们之间的差距,基础知识不扎实建起来的楼再高也只能是危楼罢了,陈下心回归基础把以前学过的东西总结一下。
*********************************
- 8、数组
豆豆咖啡
二维数组数组一维数组
一、概念
数组是同一种类型数据的集合。其实数组就是一个容器。
二、好处
可以自动给数组中的元素从0开始编号,方便操作这些元素
三、格式
//一维数组
1,元素类型[] 变量名 = new 元素类型[元素的个数]
int[] arr =
- Decode Ways
hcx2013
decode
A message containing letters from A-Z is being encoded to numbers using the following mapping:
'A' -> 1
'B' -> 2
...
'Z' -> 26
Given an encoded message containing digits, det
- Spring4.1新特性——异步调度和事件机制的异常处理
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- squid3(高命中率)缓存服务器配置
liyonghui160com
系统:centos 5.x
需要的软件:squid-3.0.STABLE25.tar.gz
1.下载squid
wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz
tar zxf squid-3.0.STABLE25.tar.gz &&
- 避免Java应用中NullPointerException的技巧和最佳实践
pda158
java
1) 从已知的String对象中调用equals()和equalsIgnoreCase()方法,而非未知对象。 总是从已知的非空String对象中调用equals()方法。因为equals()方法是对称的,调用a.equals(b)和调用b.equals(a)是完全相同的,这也是为什么程序员对于对象a和b这么不上心。如果调用者是空指针,这种调用可能导致一个空指针异常
Object unk
- 如何在Swift语言中创建http请求
shoothao
httpswift
概述:本文通过实例从同步和异步两种方式上回答了”如何在Swift语言中创建http请求“的问题。
如果你对Objective-C比较了解的话,对于如何创建http请求你一定驾轻就熟了,而新语言Swift与其相比只有语法上的区别。但是,对才接触到这个崭新平台的初学者来说,他们仍然想知道“如何在Swift语言中创建http请求?”。
在这里,我将作出一些建议来回答上述问题。常见的
- Spring事务的传播方式
uule
spring事务
传播方式:
新建事务
required
required_new - 挂起当前
非事务方式运行
supports
&nbs