2018.11.27,终于完成了这个项目,可以说到现在,也就是今天,我把这篇博客补充完了,我把这个项目写完了,真的对自己来说是一个值得庆祝的日子,记录以此!
如果需要查看最终代码,请移步小编的GitHub
一 项目题目:开发“抽屉新热榜”
网址如下:https://dig.chouti.com/
二 2018.2 第一次接触做的结果
(此处的写法,都是自己刚开始编程说的,转眼间6个月过去了,再回头看看,感慨良多,自己打算再写一遍,实现更多的功能)
这里上传一个自己做的抽屉新热榜的小项目,这个主要是前端知识的应用,做的和原样还有点差距,但是一定会更新的,希望自己从这个项目中学到知识,并对css和html的相关应用更加熟练。
*{
margin: 0;
padding: 0;
}
body,button,input,select,td,textarea{
font: 12px Tahoma,Verdana,Arial,Helvetica,"\5b8b\4f53,sans-serif";
color: #333;
}
a{
text-decoration: none;
}
body{
font-size: 12px;
}
.head-box{
background-color: #2459a2;
height: 44px;
width: 100%;
position: fixed;
top: 0px;
left: 0px;
}
.head-content{
margin: 0 auto;
width :1016px;
height: 44px;
background-color: #2459a2;
line-height: 44px;
position: relative;
}
.logo{
background: url("logo.png") no-repeat 0 0;
height: 23px;
width: 121px;
float: left;
margin-top: 11px;
/*display: inline-block;*/
}
.action-menu{
float: left;
margin-left: 20px;
}
.action-menu a.tb{
color: #c0cddf;
margin-left: -8px;
padding: 0 13px 0 13px;
display: inline-block;
}
.action-menu a.tb:hover{
color: #fff;
background-color: #c0cddf;
}
.action-menu a.active,.action-menu a.active:hover{
color: #fff;
background-color:#204982;
}
.key-search{
float: right;
margin-top: 5px;
}
.key-search .search-txt,.key-search a.i{
float: left;
}
.key-search .search-txt{
width: 91px;
height: 25px;
padding: 2px 2px 2px 5px;
}
.key-search .ico{
background: url("icon.png") no-repeat 0 -197px;
height: 12px;
width: 15px;
display: inline-block;
margin-top: 6px;
margin-left: 10px;
}
.key-search a.i{
height: 32px;
width: 30px;
background-color: #f4f4f4;
display: inline-block;
border-left: none;
}
.action-nav{
position: absolute;
right:191px ;
}
.action-nav a{
color: #fff;
padding: 0 20px;
display: inline-block;
}
.action-nav a:hover{
background-color: #c0cddf;
}
/*------------------------------head end-------------*/
.main-content-box{
background-color: #ededed;
width: 100%;
padding-top: 44px;
}
.main-content{
margin: 0 auto;
background-color: #fff;
overflow: hidden;
width: 960px;
height: auto!important;
min-height: 700px;
padding: 6px 28px 60px 28px ;
}
.content-L{
float: left;
width: 630px;
}
.child-nav,.sort-nav,.publish-btn{
float:left;
}
.child-nav,.sort-nav{
float: left;
padding: 10px;
}
.publish-btn{
float: right;
padding: 10px;
}
.top-area{
overflow: hidden;
border-bottom: 1px solid red;
}
.child-nav .active{
background: url("tip.png") no-repeat 0 -299px;
display: inline-block;
width: 60px;
height: 26px;
text-align: center;
color: black;
}
.child-nav .a{
display: inline-block;
width: 60px;
height: 26px;
line-height: 26px;
text-align: center;
color: #369;
font-weight: 700;
margin-top: 30px;
}
.sort-nav{
margin-left: 144px;
margin-top: 10px;
}
.sort-nav .active{
color: #b4b4b4;
}
.sort-nav a{
margin-left: 10px;
color: darkgreen;
}
.publish-btn{
display: inline-block;
width:80px ;
height: 18px;
color: #fff;
background-color: #84a42b;
line-height: 18px;
text-align: center;
}
/*-------------------end top_area------- --------*/
.content-list .item{
border-bottom: 1px solid red;
margin-top:10px
}
.item .new-pic{
float: right;
margin-top: 5px;
margin-left: 15px;
}
.part2{
padding-top:6px ;
color: #ccc;
margin-bottom: 12px;
}
.hand-icon{
background:url("icon_18_118.png") no-repeat 0 0 ;
width: 18px;
height: 18px;
display: inline-block;
vertical-align: -4px;
}
.icon-recommend{
/*background: url("icon_18_118.png");*/
background-position: 0 -40px;
}
.icon-discuss{
/*background: url("icon_18_118.png");*/
background-position: 0 -100px;
}
.icon-collect{
/*background: url("icon_18_118.png");*/
background-position: 0 -140px;
}
.part2 .user-a span{
vertical-align: -4px;
}
.part1 .content-kend,.part1 .content-source{
color: #d4d4d4;
}
.part1 .content-kend{
text-decoration: underline;
}
.part1 .show-content{
color: #369;
font-size: 14px;
font-weight: 700;
}
.part b,.time-into i{
color: #d4d4d4;
}
.share-icon a{
background: url("share_icon.png");
height: 14px;
width: 17px;
display: inline-block;
vertical-align: center;
}
.share-site-to .share-icon a.icon-sina{
background-position: 0 -90px;
}
.share-site-to .share-icon a.icon-douban{
background-position: 0 -105px;
}
.share-site-to .share-icon a.icon-qqzone{
background-position: 0 -120px;
width: 16px;
height: 14px;
}
.share-site-to .share-icon a.icon-tenxun{
background-position: 0 -136px;
}
.share-site-to .share-icon a.icon-renren{
background-position: 0 -151px;
}
.share-site-to{
float: right;
}
.share-icon a:hover{
opacity: 1;
}
.page-area ul li,.ct_page_edge{
display: inline-block;
float: left;
color: #369;
height: 34px;
line-height: 34px;
text-align: center;
width: 37px;
border: 1px solid #e1e1e1;
border-radius:20%;
margin-left: 3px;
}
.dig_lcpage{
margin-left: 10px;
}
.ct_page_edge{
width: 70px;
}
.page-area ul li:hover,.ct_page_edge:hover{
color: #fff!important;
background-color: #204982;
}
.footer-box .foot-nav{
paddi
}
下面这两个图,使我自己做出来的效果图,于2018.1.26做成,先记录于此,很多不完善的地方,但是我学到了许多东西,因为js还没有学,所以,这个项目我肯定会修改,继续完善。
这个两个图才是源地,也就是抽屉新热榜的界面,我自己第一次做的与这个还有一些差距,我知道,上传到这里的目的,其一,让看到的盆友继续完善,其二,也鞭策一下自己,下次完善的时候,也有个对比。
做完这个项目的总结:1,一定要一步步的认真思考,认真研究网页的构架
2,对于内容,一步步的填充,不能着急,心急吃不了热豆腐
3,命名一定要规范,代码不止是自己看,还要其他人
4,路径一定不要写死,要不然修改的空间都没有
三 重新开始,新的项目需求
3.1 项目需求
1.实现与抽屉新热榜一样的布局
2.允许点赞、评论
3.开发登录、注册页面
4.开发发贴功能
3.2 项目简介
bootstrap框架,完成抽屉新热榜官网页面。
导航栏,固定在顶部。
注册登录,弹出的模态窗口。
发布,弹出的模态窗口。
点赞,私藏,评论的追加列表。
回到顶部。
四,2018.11完成的结果
(此处的结果,都是自己学习一段时间编程后,实现更多的功能的结果)
下面这两个图,使我自己做出来的效果图,于2018.11.25做成,记录于此,这是静态页面图
(下面的js完成的效果图)
五,学习中遇到的问题及其解决方法
5.1 link标签rel属性为search是怎么使用的?
通过rel="search",把你的搜索功能放到浏览器的快捷搜索工具上
用firefox打开taobao时,看一下地址栏边上的快捷搜索时,可以填加一个“淘宝搜索”,完成后,以后就可以直接在那里搜索东西了!
实现方法:
在首页的head标签里加上
5.2 是什么意思?具体功能是什么?
这个是让网站加入QQ 登录接口,这段代码可放在之间。 申请腾讯接口后,会得到这样的代码,加入接口之后,你的网站上面的注册登录功能,别人可以直接用QQ 登录,省去注册的麻烦。
5.3
隐藏域 input 元素的一个属性值type =“text” 文本框button 按钮radio 单选框hidden 隐藏域。
其实hidden只是将输入框隐藏了,里面的值可以默认赋值或通过js赋值。 提交form的时候跟其他的都是一样的。
5.4 CSS中提升优先级属性!important的用法总结
语法: 选择器{样式:值!important;}
说明: 提升指定样式规则的应用优先权,即!important为开发者提供了一个增加样式权重的方法,让浏览器首选执行这个语句。
例如下面语法:
div{
margin-left:20px!important;
margin-left:40px;
}
如果是在除了IE6的浏览器中,这些浏览器支持!important
属性,也就是说他们会默认让margin-left:20px!important;
这条语句生效,下面的不带!important
声明的样式将不会覆盖它,换句话说就是他的级别最高,下面的人都不能取代我!
在IE6及以下浏览器有个比较显式的支持问题存在,
!important
在同一条规则集里不生效。请看下述代码:
div {
margin-left:20px!important;
}
div {
margin-left:40px;
}
在上述代码中,IE6及以下浏览器中div
的margin-left
与其它浏览器一致,都为20px;
注意:
1、IE6及更早浏览器下,
!important
在同一条规则集内不生效。
2、如果
!important
被用于一个简写的样式属性,那么这条简写的样式属性所代表的子属性都会被作用上
!important
。
3、关键字
!important
必须放在一行样式的末尾并且要放在该行分号前,否则就没有效果。
5.4 是什么意思?
这个是为了用于浏览器地址栏里显示的图片。
这样写了后,在浏览器的地址栏里,图片会显示成现在给的路径的这个图片,不过这个路径好像不能改,只能是网址根目录下的chouti.ico文件,不过现在好像不用写这个,只要根目录下有这个文件,浏览器会自动服务出来并显示。
5.5 CSS z-index 属性
z-index属性设置元素的堆叠顺序,拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面
注释:元素可拥有负的z-index属性值
注释:z-index仅能在定位元素上奏效(例如:position:absolute;)
简单说,当你定义的CSS中有position属性值为absolute,relative或者fixed,用z-index然后取值方可生效。
才属性参数值越大,被层叠在最上面。
5.6 HTML中a标签属性的target=“_blank"是什么意思
标签的 target 属性规定在何处打开链接文档。
_blank -- 在新窗口中打开链接
_parent -- 在父窗体中打开链接
_self -- 在当前窗体打开链接,此为默认值
_top -- 在当前窗体打开链接,并替换当前的整个窗体(框架页)
一个对应的框架页的名称 -- 在对应框架页中打开
5.7 CSS中font-weight属性
设置文本的粗细。
该属性用于设置显示元素的文本中所用的字体加粗。数字值 400 相当于 关键字 normal,700 等价于 bold。每个数字值对应的字体加粗必须至少与下一个最小数字一样细,而且至少与下一个最大数字一样粗。
值
描述
normal
默认值。定义标准的字符。
bold
定义粗体字符。
bolder
定义更粗的字符。
lighter
定义更细的字符。
100
200
300
400
500
600
700
800
900
定义由粗到细的字符。400 等同于 normal,而 700 等同于 bold。
inherit
规定应该从父元素继承字体的粗细。
5.8 href = "javascript:login()"是什么意思?
表示调用js的函数login,但是首先页面内有定义好的一个login()函数。
5.9 在js开发中遇到如下问题Uncaught ReferenceError: $ is not defined
百度出现了下面四个原因:
1.出现这个错误,最可能的是引用的各个js的调用顺序有误,重新调整其引
用顺序看看能否解决?
2.还有一个原因就是在你引用js时,路径出错,不是你项目中正确的文件路径。
3.还有一个原因是你的js中有某些值是不存在的。
4.除了以上这个具体的错误,还可能遇到类似的Uncaught ReferenceError:
XXXX is not defined错误,这类错误就要多检查传值错误,或者某些值不存在。
而我就犯了第二个错,没有导入路径,当导入js的路径就好了。
5.10,preventDefault()方法
定义:
取消事件的默认动作,因为浏览器的一些行为,是代码不能控制的。
语法:
说明:
该方法将通知Web浏览器不要执行与事件关联的默认动作(如果存在这样的动作)。例如,如果type的属性是“submit”,在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。注意,如果Event对象的cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作。无论哪种情况,调用该方法都没有作用。
5.11,$(this).addClass('active').siblings('li').removeClass('active')
意思是该元素增加一个类active,同时让他的兄弟li去掉active类。
5.12 style="display: block"
display属性设置元素如何显示
值
描述
none
此元素不会被显示。
block
此元素将显示为块级元素,此元素前后会带有换行符。
inline
默认。此元素会被显示为内联元素,元素前后没有换行符。
list-item
此元素会作为列表显示。
run-in
此元素会根据上下文作为块级元素或内联元素显示。
compact
此元素会根据上下文作为块级元素或内联元素显示。
marker
table
此元素会作为块级表格来显示(类似 ),表格前后带有换行符。
inline-table
此元素会作为内联表格来显示(类似 ),表格前后没有换行符。
table-row-group
此元素会作为一个或多个行的分组来显示(类似 )。
table-header-group
此元素会作为一个或多个行的分组来显示(类似 )。
table-footer-group
此元素会作为一个或多个行的分组来显示(类似 )。
table-row
此元素会作为一个表格行显示(类似 )。
table-column-group
此元素会作为一个或多个列的分组来显示(类似 )。
table-column
此元素会作为一个单元格列显示(类似 )
table-cell
此元素会作为一个表格单元格显示(类似 和 )
table-caption
此元素会作为一个表格标题显示(类似 )
你可能感兴趣的:(开发“抽屉新热榜”)
国产Cursor来了?字节跳动出品AI编程工具——Trae使用全解析
码云逸栈
AI编程
Trae是什么?Trae是字节跳动最近发布的一款AIIDE,对标Cursor、Windsurf、Copilot这类AI编程工具。它是国产工具,在语言和易用性上更符合国人习惯,且现阶段完全免费!Trae提供智能问答、代码自动补全以及基于Agent的AI自动编程能力,帮助开发者在项目开发中与AI灵活协作,大幅提升开发效率。想深入了解可查看官网文档:docs.trae.ai/docs/what-i安装下
SQLMesh SCD Type 2 深度解析:时间戳与列级跟踪的实战指南
梦想画家
数据分析工程 # python 数据工程 分析工程 sqlmesh
在数据仓库架构中,缓慢变化维度(SlowlyChangingDimensions,SCD)是处理历史数据追踪的核心技术。SQLMesh作为新一代数据编织平台,其支持的SCDType2模型通过valid_from和valid_to双时间戳机制,为开发者提供了灵活的历史状态管理能力。本文将深入解析SQLMeshSCDType2的两种实现模式(基于时间戳与列级变更检测)、关键配置项及删除操作处理逻辑,让
tomcat部署war包会先找什么
哥谭居民0001
tomcat java
当Tomcat部署一个WAR包时,它会按照一定的顺序和规则来处理和加载应用。以下是Tomcat部署WAR包时的主要步骤和查找顺序:1.检查webapps目录Tomcat会定期检查webapps目录,寻找新的WAR文件或目录。如果发现新的WAR文件或目录,Tomcat会尝试部署它们。2.解压WAR文件如果发现一个新的WAR文件,Tomcat会自动解压该文件到webapps目录下的一个同名文件夹中。例
基于32单片机的无人机直流电机闭环调速系统设计
赵谨言
论文 毕业设计 经验分享
标题:基于32单片机的无人机直流电机闭环调速系统设计内容:1.摘要本文针对无人机直流电机调速需求,设计了基于32单片机的无人机直流电机闭环调速系统。背景在于无人机应用场景不断拓展,对电机调速精度和稳定性要求日益提高。目的是开发一套高精度、响应快的闭环调速系统,以提升无人机飞行性能。方法上,采用32单片机作为控制核心,结合编码器反馈电机转速信息,运用PID控制算法实现闭环调速。通过实验测试,结果表明
今日行情明日机会——20250321
人大博士的交易之路
人工智能 区块链 数学建模 数据挖掘 分类 涨停回马枪 大数据
后续投资机会分析结合2025年3月21日盘面数据(涨停56家,跌停31家),市场呈现结构性分化行情,海洋经济成为绝对主线,机器人概念局部活跃,人工智能表现较弱。以下是具体方向与策略建议:1.海洋经济(核心主线,政策+事件驱动)核心逻辑:板块23家涨停,梯队完整(七板至一板),神开股份(七板)打开高度,叠加海洋资源开发、碳中和政策(如海上风电、深海装备)催化,资金深度介入。大连重工(三板,海洋工程装
解锁区块链智能合约的未来:构建支持仿真测试的MySQL环境
墨夶
数据库学习资料1 区块链 智能合约 mysql
在区块链技术快速发展的今天,智能合约作为其核心组件之一,正在改变我们处理交易、管理资产乃至构建商业逻辑的方式。然而,对于许多开发者而言,在正式部署之前如何有效地测试和验证智能合约的行为仍然是一个不小的挑战。本文将详细介绍如何设计并实现一个基于MySQL的支持智能合约仿真执行的环境,使您能够在传统的关系型数据库中体验到智能合约的强大功能。一、为什么选择MySQL?尽管以太坊等平台提供了专门用于编写和
解锁区块链智能合约版本管理的新纪元——MySQL架构下的革新之道
墨夶
数据库学习资料1 区块链 智能合约 mysql
在区块链技术蓬勃发展的今天,智能合约作为去中心化应用(DApps)的核心组件,其版本管理和升级机制的重要性日益凸显。然而,传统的智能合约一旦部署便难以更改的特性给开发者带来了不小的挑战。面对这一难题,如何构建一个既能够保障数据安全又便于维护和更新的智能合约管理系统成为了业界关注的焦点。本文将深入探讨基于MySQL数据库设计支持智能合约版本控制的解决方案,旨在为读者提供一套完整的、易于实施的技术框架
嵌入式硬件设计 — 智能设备背后的隐形架构大师
m0_74825238
面试 学习路线 阿里巴巴 嵌入式硬件 架构
目录引言?一、嵌入式硬件设计概述(一)需求分析(二)硬件选型(三)电路设计(四)PCB制作与焊接(五)硬件调试与测试(六)软件移植与开发二、嵌入式硬件选型(一)微控制器(MCU)/微处理器(MPU)(二)存储器(三)传感器与执行器(四)电源管理芯片(五)通信接口芯片三、嵌入式硬件代码开发(一)开发环境搭建(二)底层驱动程序开发引言嵌入式系统已经渗透到我们生活的方方面面,从智能手机、智能家居到工业自
Tomcat从入门到精通:全方位深度解析与实战教程
墨瑾轩
一起学学Java【一】 运维 tomcat java
一、Tomcat入门1.Tomcat简介ApacheTomcat,简称Tomcat,是一个开源的轻量级应用服务器,专为运行JavaServlet和JavaServerPages(JSP)技术设计。它是JavaWeb开发中最常用的Servlet容器之一,遵循JavaServlet和JavaServerPages规范,为开发者提供了一个稳定的、易于使用的部署环境。2.安装与启动安装下载最新版Tomca
Spring Boot 外部化配置 (Externalized Configuration) 超详解:灵活管理应用配置,打造可移植、可扩展的应用
无眠_
spring boot 数据库 oracle
引言在SpringBoot应用开发中,配置管理是至关重要的环节。不同的环境(开发、测试、生产)通常需要不同的配置参数,例如数据库连接、端口号、日志级别、第三方API密钥等等。SpringBoot外部化配置(ExternalizedConfiguration)提供了一套强大的机制,允许我们将应用的配置从代码中解耦出来,并通过多种外部来源进行灵活管理,从而打造出可移植、可扩展、易于维护的SpringB
Python实战:开发经典猜拳游戏(石头剪刀布)
藍海琴泉
游戏
目录引言:为什么选择猜拳游戏作为入门项目?第一部分:基础知识点与代码实现1.游戏逻辑与流程2.代码分步实现2.1导入必要模块2.2定义游戏规则函数2.3生成计算机选择2.4判断胜负逻辑2.5主循环与交互3.代码运行效果示例第二部分:功能扩展与优化1.添加计分系统2.支持多轮游戏与退出选择3.增加图形化界面(可选)第三部分:进一步学习方向1.深化游戏功能2.学习相关知识3.书籍与资源推荐适合人群:编
Python函数完全解读:从零基础到高阶实战
藍海琴泉
python 开发语言
目标读者:编程新手|转行者|需系统掌握函数用法的开发者目录一、函数是什么?为什么需要函数?二、函数基础语法详解1.定义与调用2.返回值:函数的输出结果3.参数传递机制4.案例:计算BMI指数三、变量作用域:理解局部与全局1.局部变量2.全局变量四、函数进阶:lambda与高阶函数1.lambda匿名函数2.高阶函数五、函数高级特性1.装饰器:增强函数功能2.递归函数六、实战案例:文件处理工具一、函
使用Wolfram Alpha API在LangChain中的应用
shuoac
langchain python
在AI技术应用中,WolframAlpha以其强大的计算能力和信息检索功能,被广泛应用于各类智能系统中。本文将为您介绍如何结合LangChain使用WolframAlphaAPI,以实现功能强大的计算和信息查询服务。技术背景介绍WolframAlpha是由WolframResearch开发的问答引擎,它通过计算从外部数据源中获取答案,实现对事实性问题的解答。在开发智能应用时,我们可以利用Wolfr
QT-LINUX-Bluetooth蓝牙开发
大象荒野
嵌入式QT开发 笔记 qt
BlueToothAPIQT-BlueToothApiQtBluetooth6.8.2官方提供的蓝牙API不支持linux。D-Bus的API实现蓝牙确保系统中安装了BlueZ(版本需≥5.56),并且Qt已正确安装并配置了D-Bus支持。默默看了下自己的版本.....D-BUS的API也不支持。在D-Bus中,org目录是D-Bus对象路径(ObjectPath)的一部分,用于唯一标识系统中的对
java面向对象基础
miehamiha
java 开发语言
引入三大特征封装核心思想就是“隐藏细节”、“数据安全”,将对象不需要让外界访问的成员变量和方法私有化,只提供符合开发者意愿的公有方法来访问这些数据和逻辑,保证了数据的安全和程序的稳定。所有的内容对外部不可见。继承子类可以继承父类的属性和方法,并对其进行拓展。将其他的功能继承下来继续发展。多态同一种类型的对象执行同一个方法时可以表现出不同的行为特征。通过继承的上下转型、接口的回调以及方法的重写和重载
uni-app 设置背景图在手机中无效
catino
uni-app
如下写法在微信开发者工具中显示正常,但在真机调试下,手机端背景图并未显示内容文字exportdefault{data(){return{imageBgURL:'../../static/imageBg.png'};}}解决方案如下:1,将图片转为base64编码2,将图片文件上传至服务器,使用网络地址3,使用image标签替代,如文本内容.textBg{height:114rpx;width:62
如何使用百度云Qianfan进行AI应用开发
dgay_hua
百度云 人工智能 云计算 python
技术背景介绍百度云Qianfan是由百度公司提供的云服务,包含了云存储、文件管理、资源共享、以及第三方集成等功能。作为开发者,Qianfan支持多种AI应用开发组件,包括大语言模型(LLMs)、对话模型、嵌入模型和向量存储等。本文将重点介绍如何利用这些组件进行实际的AI应用开发。核心原理解析百度云Qianfan通过其丰富的API接口和云计算能力,为开发者提供了易于集成的AI开发环境。核心组件如Qi
免费GIS工具箱:支持多种格式的模型预览及编辑,还能进行协同编辑
GISBox
GISBox GIS 切片 分发 倾斜摄影 OBJ FBX OSGB
市面上不少GIS软件价格高昂,功能却不尽人意。但GISBox却不太一样,它的切片、分发功能完全免费,能预览、编辑多种格式模型,还支持协同编辑,性价比远超同类软件,如果你想进一步了解它,不妨看看这篇文章。01打破价格与功能的双重困境在地理信息系统(GIS)领域,大多数软件的高价一直是小型企业、科研团队以及个人开发者的一大阻碍。这些软件不仅采购成本高,后续的维护和升级费用也不低。与此同时,很多软件功能
C++中函数模板与类模板的简单使用
CoderIsArt
C++11 c++ 函数模板 类模板
在C++中,模板是实现泛型编程的核心机制,允许开发者编写与类型无关的代码。以下是函数模板和类模板的详细介绍及实际示例。一、函数模板定义函数模板通过参数化类型实现泛型操作,只需编写一次代码即可处理多种数据类型,避免重复。语法template返回类型函数名(参数列表){...}typenameT表示类型占位符,编译时根据实参类型自动实例化。真实示例交换两个值(swap)templatevoidswa
HarmonyOS NEXT开发实战教程:选择相册和拍照
幽蓝计划
harmonyos 华为
今天的内容是介绍在鸿蒙开发中从相册选择照片,和调用相机拍照,并使用这两个功能实现朋友圈编辑页面。这部分内容没什么好废话的,都是固定用法,直接上代码。首先添加权限:ohos.permission.CAMERA选择相册:asyncgetAlbum(){constphotoSelectOptions=newphotoAccessHelper.PhotoSelectOptions();photoSelec
如何用PHP开发一个api数据接口
幽蓝计划
php
对于一个iOS开发者来说,我一直觉得会写接口是一件很酷的事情,因为它可以实时修改前台数据,而不像App一样需要更新版本和接受审核。更重要的是,它意味着你的技术完成了一个闭环,可以独自完成一整个项目的开发。PHP是我接触的第一个脚本语言,使用之后更是感觉PHP功能强大,开发过程非常友好方便,虽然之后也学习过Python、JavaScript等语言,但现在还是习惯使用PHP,下面就来介绍一下如何用PH
hdc工具安装、常用命令及使用技巧
MardaWang
HarmonyOS NEXT harmonyos 华为
介绍:hdc(OpenHarmonyDeviceConnector)是为开发人员提供的用于设备连接调试的命令行工具,该工具需支持部署在Windows/Linux/Mac等系统上与OpenHarmony设备(或模拟器)进行连接调试通信。简单来讲,hdc是OpenHarmony提供的用于开发人员调试硬件、应用的命令行工具,用在电脑与开发板之间的交互。hdc适用于OpenHarmony应用、硬件开发及测
HarmonyOS Next 企业级分布式办公应用实战:构建高效协同的办公新生态
lyc233333
harmonyos 分布式 华为
在数字化办公浪潮汹涌的当下,企业对于高效、便捷且协同性强的办公应用需求愈发迫切。华为鸿蒙HarmonyOSNext系统凭借其先进的分布式技术,为打造创新型企业级分布式办公应用提供了坚实的基础。本文将基于实际开发经验,深入剖析如何利用HarmonyOSNext构建企业级分布式办公应用,涵盖从需求分析到系统架构搭建,再到核心功能实现以及性能优化等关键环节。一、办公应用需求与系统架构搭建(一)企业级分布
探索Astra DB与LangChain的集成:从向量存储到对话历史
eahba
数据库 langchain python
技术背景介绍AstraDB是DataStax推出的一款无服务器的向量数据库,基于ApacheCassandra®构建,并通过易于使用的JSONAPI提供服务。AstraDB的独特之处在于其强大的向量存储能力,这在处理自然语言处理任务时尤为突出。LangChain与AstraDB的集成为开发者提供了强大的工具链,从数据存储到语义缓存,再到自查询检索,帮助简化复杂的数据操作。核心原理解析LangCha
【AI大模型应用开发】【RAG评估】0. 综述:一文了解RAG评估方法、工具与指标
同学小张
大模型 人工智能 笔记 经验分享 gpt agi AIGC
大家好,我是同学小张,日常分享AI知识和实战案例欢迎点赞+关注,持续学习,持续干货输出。+v:jasper_8017一起交流,一起进步。微信公众号也可搜【同学小张】本站文章一览:前面我们学习了RAG的基本框架并进行了实践,我们也知道使用它的目的是为了改善大模型在一些方面的不足:如训练数据不全、无垂直领域数据、容易出现幻觉等。那么如何评估RAG的效果呢?本文我们来了解一下。文章目录推荐前置阅读0.R
鸿蒙Next开发实战教程-使用WebSocket实现即时聊天
幽蓝计划
harmonyos 鸿蒙
鸿蒙系统提供了WebSocket库,使用它可以很方面的实现即时聊天功能,今天就使用WebSocket来实现一个完整的聊天功能。首先创建一个WebSocket实例:letws=webSocket.createWebSocket()然后创建WebSocket连接,我找到一个简单的ws地址,它直接返回我们发送的消息:leturl='ws://124.222.224.186:8800'this.ws.co
清晰架构之typescript实践:构建可扩展服务的利器
吕曦耘George
清晰架构之typescript实践:构建可扩展服务的利器react-with-clean-architectureCleanarchitecturebasedreactprojectsamplecode.项目地址:https://gitcode.com/gh_mirrors/re/react-with-clean-architecture在软件开发的浩瀚宇宙中,找到一个既能维持代码的清晰度又能确保
一步到位!7大模型部署框架深度测评:从理论到DeepSeek R1:7B落地实战
人肉推土机
人工智能 python
本文在掘金同步发布:文章地址更多优质文章,请关注本人掘金账号:人肉推土机的掘金账号随着大语言模型(LLM)的广泛应用,如何高效部署和推理模型成为开发者关注的核心问题。本文深入解析主流模型部署框架(Transformers、ModelScope、vLLM、LMDeploy、Ollama、SGLang、DeepSpeed),结合其技术原理、优缺点及适用场景,并提供DeepSeekR1:7B的详细部署实
【论文阅读】PERSONALIZE SEGMENT ANYTHING MODEL WITH ONE SHOT
s1ckrain
计算机视觉 论文阅读 计算机视觉 人工智能
PERSONALIZESEGMENTANYTHINGMODELWITHONESHOT原文摘要研究背景与问题:SAM是一个基于大规模数据预训练的强大提示框架,推动了分割领域的发展。尽管SAM具有通用性,但在无需人工提示的情况下,针对特定视觉概念(如自动分割用户宠物狗)的定制化研究尚不充分。方法提出:提出了一种无需训练的SAM个性化方法,称为PerSAM。仅需单次数据(一张带参考掩码的图像),即可在新
flutter-制作可缩放底部弹出抽屉评论区效果
冲浪的鹏多多
Flutter flutter
文章目录1.介绍2.效果展示3.结构分析4.完整代码5.总结1.介绍在Flutter开发中,底部弹出抽屉是一种常见的交互方式,它可以为用户提供额外的操作选项或展示更多的内容。本文将详细介绍如何使用Flutter实现一个可缩放的底部弹出抽屉效果,用户点击特定区域后会弹出底部抽屉,抽屉的高度可以通过手指滑动进行调整。当手指滑动距离超过一定阈值时,抽屉会关闭;否则,抽屉会恢复到初始高度。2.效果展示3.
Hadoop(一)
朱辉辉33
hadoop linux
今天在诺基亚第一天开始培训大数据,因为之前没接触过Linux,所以这次一起学了,任务量还是蛮大的。
首先下载安装了Xshell软件,然后公司给了账号密码连接上了河南郑州那边的服务器,接下来开始按照给的资料学习,全英文的,头也不讲解,说锻炼我们的学习能力,然后就开始跌跌撞撞的自学。这里写部分已经运行成功的代码吧.
在hdfs下,运行hadoop fs -mkdir /u
maven An error occurred while filtering resources
blackproof
maven 报错
转:http://stackoverflow.com/questions/18145774/eclipse-an-error-occurred-while-filtering-resources
maven报错:
maven An error occurred while filtering resources
Maven -> Update Proje
jdk常用故障排查命令
daysinsun
jvm
linux下常见定位命令:
1、jps 输出Java进程
-q 只输出进程ID的名称,省略主类的名称;
-m 输出进程启动时传递给main函数的参数;
&nb
java 位移运算与乘法运算
周凡杨
java 位移 运算 乘法
对于 JAVA 编程中,适当的采用位移运算,会减少代码的运行时间,提高项目的运行效率。这个可以从一道面试题说起:
问题:
用最有效率的方法算出2 乘以8 等於几?”
答案:2 << 3
由此就引发了我的思考,为什么位移运算会比乘法运算更快呢?其实简单的想想,计算机的内存是用由 0 和 1 组成的二
java中的枚举(enmu)
g21121
java
从jdk1.5开始,java增加了enum(枚举)这个类型,但是大家在平时运用中还是比较少用到枚举的,而且很多人和我一样对枚举一知半解,下面就跟大家一起学习下enmu枚举。先看一个最简单的枚举类型,一个返回类型的枚举:
public enum ResultType {
/**
* 成功
*/
SUCCESS,
/**
* 失败
*/
FAIL,
MQ初级学习
510888780
activemq
1.下载ActiveMQ
去官方网站下载:http://activemq.apache.org/
2.运行ActiveMQ
解压缩apache-activemq-5.9.0-bin.zip到C盘,然后双击apache-activemq-5.9.0-\bin\activemq-admin.bat运行ActiveMQ程序。
启动ActiveMQ以后,登陆:http://localhos
Spring_Transactional_Propagation
布衣凌宇
spring transactional
//事务传播属性
@Transactional(propagation=Propagation.REQUIRED)//如果有事务,那么加入事务,没有的话新创建一个
@Transactional(propagation=Propagation.NOT_SUPPORTED)//这个方法不开启事务
@Transactional(propagation=Propagation.REQUIREDS_N
我的spring学习笔记12-idref与ref的区别
aijuans
spring
idref用来将容器内其他bean的id传给<constructor-arg>/<property>元素,同时提供错误验证功能。例如:
<bean id ="theTargetBean" class="..." />
<bean id ="theClientBean" class=&quo
Jqplot之折线图
antlove
js jquery Web timeseries jqplot
timeseriesChart.html
<script type="text/javascript" src="jslib/jquery.min.js"></script>
<script type="text/javascript" src="jslib/excanvas.min.js&
JDBC中事务处理应用
百合不是茶
java JDBC编程 事务控制语句
解释事务的概念; 事务控制是sql语句中的核心之一;事务控制的作用就是保证数据的正常执行与异常之后可以恢复
事务常用命令:
Commit提交
[转]ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
bijian1013
java 多线程 线程安全 HashMap
在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。 Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的
ng-if与ng-show、ng-hide指令的区别和注意事项
bijian1013
JavaScript AngularJS
angularJS中的ng-show、ng-hide、ng-if指令都可以用来控制dom元素的显示或隐藏。ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素。当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示。ng-hide功能类似,使用方式相反。元素的显示或
【持久化框架MyBatis3七】MyBatis3定义typeHandler
bit1129
TypeHandler
什么是typeHandler?
typeHandler用于将某个类型的数据映射到表的某一列上,以完成MyBatis列跟某个属性的映射
内置typeHandler
MyBatis内置了很多typeHandler,这写typeHandler通过org.apache.ibatis.type.TypeHandlerRegistry进行注册,比如对于日期型数据的typeHandler,
上传下载文件rz,sz命令
bitcarter
linux命令rz
刚开始使用rz上传和sz下载命令:
因为我们是通过secureCRT终端工具进行使用的所以会有上传下载这样的需求:
我遇到的问题:
sz下载A文件10M左右,没有问题
但是将这个文件A再传到另一天服务器上时就出现传不上去,甚至出现乱码,死掉现象,具体问题
解决方法:
上传命令改为;rz -ybe
下载命令改为:sz -be filename
如果还是有问题:
那就是文
通过ngx-lua来统计nginx上的虚拟主机性能数据
ronin47
ngx-lua 统计 解禁ip
介绍
以前我们为nginx做统计,都是通过对日志的分析来完成.比较麻烦,现在基于ngx_lua插件,开发了实时统计站点状态的脚本,解放生产力.项目主页: https://github.com/skyeydemon/ngx-lua-stats 功能
支持分不同虚拟主机统计, 同一个虚拟主机下可以分不同的location统计.
可以统计与query-times request-time
java-68-把数组排成最小的数。一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的。例如输入数组{32, 321},则输出32132
bylijinnan
java
import java.util.Arrays;
import java.util.Comparator;
public class MinNumFromIntArray {
/**
* Q68输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。
* 例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题
Oracle基本操作
ccii
Oracle SQL总结 Oracle SQL语法 Oracle基本操作 Oracle SQL
一、表操作
1. 常用数据类型
NUMBER(p,s):可变长度的数字。p表示整数加小数的最大位数,s为最大小数位数。支持最大精度为38位
NVARCHAR2(size):变长字符串,最大长度为4000字节(以字符数为单位)
VARCHAR2(size):变长字符串,最大长度为4000字节(以字节数为单位)
CHAR(size):定长字符串,最大长度为2000字节,最小为1字节,默认
[强人工智能]实现强人工智能的路线图
comsci
人工智能
1:创建一个用于记录拓扑网络连接的矩阵数据表
2:自动构造或者人工复制一个包含10万个连接(1000*1000)的流程图
3:将这个流程图导入到矩阵数据表中
4:在矩阵的每个有意义的节点中嵌入一段简单的
给Tomcat,Apache配置gzip压缩(HTTP压缩)功能
cwqcwqmax9
apache
背景:
HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,
SpringMVC and Struts2
dashuaifu
struts2 springMVC
SpringMVC VS Struts2
1:
spring3开发效率高于struts
2:
spring3 mvc可以认为已经100%零配置
3:
struts2是类级别的拦截, 一个类对应一个request上下文,
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现r
windows常用命令行命令
dcj3sjt126com
windows cmd command
在windows系统中,点击开始-运行,可以直接输入命令行,快速打开一些原本需要多次点击图标才能打开的界面,如常用的输入cmd打开dos命令行,输入taskmgr打开任务管理器。此处列出了网上搜集到的一些常用命令。winver 检查windows版本 wmimgmt.msc 打开windows管理体系结构(wmi) wupdmgr windows更新程序 wscrip
再看知名应用背后的第三方开源项目
dcj3sjt126com
ios
知名应用程序的设计和技术一直都是开发者需要学习的,同样这些应用所使用的开源框架也是不可忽视的一部分。此前《
iOS第三方开源库的吐槽和备忘》中作者ibireme列举了国内多款知名应用所使用的开源框架,并对其中一些框架进行了分析,同样国外开发者
@iOSCowboy也在博客中给我们列出了国外多款知名应用使用的开源框架。另外txx's blog中详细介绍了
Facebook Paper使用的第三
Objective-c单例模式的正确写法
jsntghf
单例 ios iPhone
一般情况下,可能我们写的单例模式是这样的:
#import <Foundation/Foundation.h>
@interface Downloader : NSObject
+ (instancetype)sharedDownloader;
@end
#import "Downloader.h"
@implementation
jquery easyui datagrid 加载成功,选中某一行
hae
jquery easyui datagrid 数据加载
1.首先你需要设置datagrid的onLoadSuccess
$(
'#dg'
).datagrid({onLoadSuccess :
function
(data){
$(
'#dg'
).datagrid(
'selectRow'
,3);
}});
2.onL
jQuery用户数字打分评价效果
ini
JavaScript html jquery Web css
效果体验:http://hovertree.com/texiao/jquery/5.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery用户数字打分评分代码 - HoverTree</
mybatis的paramType
kerryg
DAO sql
MyBatis传多个参数:
1、采用#{0},#{1}获得参数:
Dao层函数方法:
public User selectUser(String name,String area);
对应的Mapper.xml
<select id="selectUser" result
centos 7安装mysql5.5
MrLee23
centos
首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.
利用thrift来实现消息群发
qifeifei
thrift
Thrift项目一般用来做内部项目接偶用的,还有能跨不同语言的功能,非常方便,一般前端系统和后台server线上都是3个节点,然后前端通过获取client来访问后台server,那么如果是多太server,就是有一个负载均衡的方法,然后最后访问其中一个节点。那么换个思路,能不能发送给所有节点的server呢,如果能就
实现一个sizeof获取Java对象大小
teasp
java HotSpot 内存 对象大小 sizeof
由于Java的设计者不想让程序员管理和了解内存的使用,我们想要知道一个对象在内存中的大小变得比较困难了。本文提供了可以获取对象的大小的方法,但是由于各个虚拟机在内存使用上可能存在不同,因此该方法不能在各虚拟机上都适用,而是仅在hotspot 32位虚拟机上,或者其它内存管理方式与hotspot 32位虚拟机相同的虚拟机上 适用。
SVN错误及处理
xiangqian0505
SVN提交文件时服务器强行关闭
在SVN服务控制台打开资源库“SVN无法读取current” ---摘自网络 写道 SVN无法读取current修复方法 Can't read file : End of file found
文件:repository/db/txn_current、repository/db/current
其中current记录当前最新版本号,txn_current记录版本库中版本