泰德仁和科技-前端学习-reactJS(一)

前提知识

(v)=>{} 语法
作用:类似于function(v){}
区别:

function test(){
    this.name = "parent"
    (function(){
        // 这里的this是本函数的 this
        console.log(this.name) // undefined
    })()
    (()=>{
        // 这时的this同函数外的this
        console.log(this.name) // "parent"
    })()
}

react组件

react自己维护了一个DOM树,当组件变化时才更新浏览器dom树

  1. react组件通过render函数渲染,通常有三种情况会触发render函数
    a. 组件加入react DOM树时
    b. 调用组件的setState函数后
    c. 父组件调用render后
  2. 组件生命周期(分别对应上述三种情况)
    a. componentWillMount->componentDidMount
    b. componentWillUpdate->componentDidUpdate
    c. componentWillReceiveProps->componentWillUpdate
    ->componentDidUpdate
  3. 组件属性

// 在App组件中
this.props.name // 值为 "child"
this.props.obj // 值为 {a:1}

Tips:

  1. 组件的属性为只读类型,不能赋值
  2. 通常组件中需要修改的值放在this.state中,常见代码
this.state = {
          value:this.props.value
}

这时,当传入的属性变化时不会自动更新this.state.value,需要在componentWillReceiveProps中手动更新

  1. 什么值该作为组件属性?(组件属性常见的4种作用)
    a. 用于传入组件可定制的属性
// 如:输入框组的标题需要可定制时
return 
{this.props.title}

b. 用于控制组件状态

// 如: 控制标题是否显示
return 
{this.props.showTitle?:null} </div> </code></pre> <p>c. 用于传入初始状态值</p> <pre><code class="javascript">// 如:传入input的初始value // 构造函数中 this.state = { value:this.props.value||"" } // render函数中 return <div> <Title/> <input type="text" value={this.state.value} onChange={(e)=>this.setState({value:e.target.value})} /> </div> </code></pre> <p>注意:在react中input设置value后必需设置onChange事件来更新value,render渲染的时候value始终是同样的值<br> d. 用于定制处理事件</p> <pre><code class="javascript">// 如: 当输入回车时,组件提供onSubmit接口,供父组件使用 // 子组件render函数中 return <div> <Title/> <input type="text" onKeyup={(e)=>{ if(e.keyCode==13&&typeof this.props.onSubmit==="function"){ this.props.onSubmit(this.state.value) } }} /> </div> // 父组件render函数中 return <Child onSubmit={(value)=>{ console.log("提交的值是:"+value) }}/> </code></pre> <ol start="4"> <li>组件状态<br> <code>this.state</code> 属于组件自身的,需要变化的数据或状态<br> 使用方式比较灵活,这里着重提一下this.setState函数</li> </ol> <pre><code class="javascript">this.state = { a:1, b:2, } // 方法1 this.setState({a:2}) // 方法2 this.state = {a:2} // 方法3 this.state.a = 2 // 方法4 this.state.a = 2 this.setState({}) </code></pre> <p>方法1:a的值为2,b的值不变,并触发render重新渲染<br> 方法2:a的值为2,b的值为undefined,不触发render<br> 方法3:a的值为2,b的值不变,不触发render<br> 方法4:同方法1</p> <ol start="5"> <li>react注意事项</li> </ol> <blockquote> <ol> <li>组件名必须为大写字母开头,如: <app></app>不会被渲染</li> <li>由于class是javascript的关键词,所以class属性由className代替,如:<div className="list"></div></li> </ol> </blockquote> <p>掌握以上内容reactJS就算入门了,并可以进行开发了,官方已不推荐使用mixin</p> <ol start="6"> <li>关于组件生命周期的测试</li> </ol> <pre><code class="javascript">import React from 'react'; import './index.less'; class App extends React.Component { constructor(props) { super(props); this.displayName = 'App'; this.state = { name:this.props.name||"parent" } } componentDidMount(){ console.log(this.state.name+":componentDidMount") } componentWillReceiveProps(props,prevProps){ console.log(this.state.name+":componentWillReceiveProps") } componentWillMount(){ console.log(this.state.name+":componentWillMount") } componentWillUpdate(){ console.log(this.state.name+":componentWillUpdate") } componentDidUpdate(){ console.log(this.state.name+":componentDidUpdate") } componentWillUnmount(){ console.log(this.state.name+":componentWillUnmount") } render() { console.log(this.state.name+":render") return <div className="inu-index"> {this.state.name=="child"?null:<App name="child"></App>} <p onClick={()=>this.setState({})}>{this.state.name+"!!!"}</p> </div> } } export default App </code></pre> <div class="image-package"> <div class="image-container" style="max-width: 284px; max-height: 190px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/25311767e10346c5be3899bfb18d18ba.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/25311767e10346c5be3899bfb18d18ba.jpg" width="284" height="190" alt="泰德仁和科技-前端学习-reactJS(一)_第1张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> 组件开始渲染时 </div> </div> <div class="image-package"> <div class="image-container" style="max-width: 252px; max-height: 120px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/98e099d32af2482e83beaa0dabc74372.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/98e099d32af2482e83beaa0dabc74372.jpg" width="252" height="120" alt="泰德仁和科技-前端学习-reactJS(一)_第2张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> 点击子组件重新渲染 </div> </div> <div class="image-package"> <div class="image-container" style="max-width: 267px; max-height: 212px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/9bcfa694ae9344ab83a60186180937f1.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/9bcfa694ae9344ab83a60186180937f1.jpg" width="267" height="212" alt="泰德仁和科技-前端学习-reactJS(一)_第3张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> 点击父组件重新渲染 </div> </div> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1390090154940649472"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(泰德仁和科技-前端学习-reactJS(一))</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1883560102867300352.htm" title="JavaScript 中异步编程的挑战与解决方案" target="_blank">JavaScript 中异步编程的挑战与解决方案</a> <span class="text-muted"></span> <div>JavaScript作为一种单线程执行的语言,异步编程是其核心特性之一,可以有效地提高程序的执行效率,避免阻塞其他操作。然而,异步编程也带来了复杂性,尤其是当需要处理多个异步操作并维护代码的可读性和可维护性时。在这篇文章中,我们将探讨JavaScript异步编程的挑战及其解决方案,帮助开发者更好地掌握这一关键技术。异步编程的挑战回调地狱(CallbackHell)回调地狱是指在使用过多嵌套回调函数</div> </li> <li><a href="/article/1883560104125591552.htm" title="【异步编程实战】如何实现超时功能(以CompletableFuture为例)" target="_blank">【异步编程实战】如何实现超时功能(以CompletableFuture为例)</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>【异步编程实战】如何实现超时功能(以CompletableFuture为例)由于网络波动或者连接节点下线等种种问题,对于大多数网络异步任务的执行通常会进行超时限制,在异步编程中是一个常见的问题。本文主要讨论实现超时功能的基本思路以及CompletableFuture(之后简称CF)是如何通过代码实现超时功能的。基本思路两个任务,两个线程:原有任务,超时任务原有的任务正常执行,写入正常结果,原有任务</div> </li> <li><a href="/article/1883559975691808768.htm" title="分析 WebKit:跨平台的网页引擎及其挑战" target="_blank">分析 WebKit:跨平台的网页引擎及其挑战</a> <span class="text-muted"></span> <div>WebKit是一个开源的网页浏览引擎,广泛应用于许多现代浏览器中,尤其是苹果的Safari浏览器。它支持HTML、CSS、JavaScript等网页标准,并使浏览器能够将网页内容正确地渲染出来。然而,尽管WebKit在性能和兼容性方面有着显著的优势,但它仍面临着一些专业性的问题,特别是在渲染性能优化和跨平台兼容性方面。本文将深入探讨WebKit在这两个领域的挑战及其解决方案。1.渲染性能优化:We</div> </li> <li><a href="/article/1883559720275472384.htm" title="Envoy Golang Filter 实践:挑战与应对之道" target="_blank">Envoy Golang Filter 实践:挑战与应对之道</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/envoy/1.htm">envoy</a> <div>有经验的程序员都知道,技术选型是一个trade-off的过程。当你选择玫瑰时,小心花朵下面的尖刺。进一步想,如果我们早已知晓鲜花底下的不怀好意的锋芒,就能在摘花时借助剪刀,避免赤手空拳地冒险。这也是本文的主题:应用EnvoyGolangfilter过程中的挑战以及如何应对它们。先用简单一句话介绍EnvoyGolangfilter。它在Envoy中运行Go编译出来的so库,支持编写在原生Gorunt</div> </li> <li><a href="/article/1883559309699248128.htm" title="一文读懂:AI 工具 Cursor、DeepSeek 和 Copilot 的区别与使用方法" target="_blank">一文读懂:AI 工具 Cursor、DeepSeek 和 Copilot 的区别与使用方法</a> <span class="text-muted">AI云极</span> <a class="tag" taget="_blank" href="/search/%E3%80%90AI%E6%99%BA%E8%83%BD%E7%B3%BB%E5%88%97%E3%80%91/1.htm">【AI智能系列】</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/copilot/1.htm">copilot</a> <div>在人工智能技术迅猛发展的今天,各类AI工具层出不穷,为编程、搜索、写作等领域带来了极大的便利。今天,我们将深入介绍三款备受瞩目的AI工具:Cursor、DeepSeek和Copilot。它们各有特色,适合不同场景。想知道它们之间有哪些区别?又该如何使用?一起往下看!一、什么是Cursor、DeepSeek和Copilot?1.CursorCursor是一款专为程序员打造的智能代码编辑工具,结合AI</div> </li> <li><a href="/article/1883558931205255168.htm" title="Easy之1173.即时食物配送I" target="_blank">Easy之1173.即时食物配送I</a> <span class="text-muted">Janice18</span> <a class="tag" taget="_blank" href="/search/leetcode%E5%88%B7%E9%A2%98/1.htm">leetcode刷题</a><a class="tag" taget="_blank" href="/search/MySQL/1.htm">MySQL</a> <div>配送表:DeliveryColumnNameTypedelivery_idintcustomer_idintorder_datedatecustomer_pref_delivery_datedatedelivery_id是表的主键。该表保存着顾客的食物配送信息,顾客在某个日期下了订单,并指定了一个期望的配送日期(和下单日期相同或者在那之后)。如果顾客期望的配送日期和下单日期相同,则该订单称为「即时</div> </li> <li><a href="/article/1883558931628879872.htm" title="【计算机硬件】科普五类、六类、七类网线的区别" target="_blank">【计算机硬件】科普五类、六类、七类网线的区别</a> <span class="text-muted">AI云极</span> <a class="tag" taget="_blank" href="/search/%E3%80%90%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A1%AC%E4%BB%B6%E3%80%91/1.htm">【计算机硬件】</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/1.htm">计算机网络</a> <div>文章目录1、实际现象2、介绍3、注意1、实际现象一次买网线的时候,发现网线有好多种,什么五六七类啊,看起来没什么区别,但价格却不相同,那究竟五六七类网线是什么差异呢?2、介绍常见的网线(也叫双绞线)有四类,分别为(超)五类线、(超)六类线、七类线、八类线)。版本越高,线径越粗,传输速率越快。五类线:超五类用于语音传输和最高传输速率为100Mbps的数据传输,主要用于100BASE-T和10BASE</div> </li> <li><a href="/article/1883558679169527808.htm" title="古典音乐" target="_blank">古典音乐</a> <span class="text-muted">三眼桥墩</span> <a class="tag" taget="_blank" href="/search/%E5%96%9C%E7%88%B1%E7%9A%84%E8%AF%97%E6%AD%8C/1.htm">喜爱的诗歌</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E4%B9%90/1.htm">音乐</a> <div>古典音乐下载网让我们传送这份感动,体验谬斯带来的欢乐。外国器乐精选第一辑:永恒的吹奏人鬼情未了(排箫)绿袖子(萨克斯)蓝色多瑙河(小号)以吻对缄(排箫)小夜曲(小喇叭)回家(萨克斯)命运(小号)茉莉花(萨克斯)扬帆(单簧管)夜来香(萨克斯)月亮河(长笛)圣母颂(横笛)第二辑:吉他名曲爱的浪漫史平安夜月光狂想曲西班牙舞曲华尔兹追想曲卡门组曲罗密欧与朱丽叶吉诺诺它第一号忧伤园舞曲幻想曲阿兰费兹协奏曲骷</div> </li> <li><a href="/article/1883558048568504320.htm" title="【AI技术】Edge-TTS 国内使用方法" target="_blank">【AI技术】Edge-TTS 国内使用方法</a> <span class="text-muted">一者仁心</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a><a class="tag" taget="_blank" href="/search/TTS/1.htm">TTS</a> <div>介绍:TTS软件效果里,微软推出的免费使用的Edge-TTS平台是效果比较好的,但是目前该平台开始对国内阻止使用了。这里给大家和我一样使用该python库的小伙伴一个临时的解决方法。提示:建议大家还是要么迁移到国内的收费平台或者是一些免费的开源框架(paddlespeech、gpt-sovits)解决方案:这个TTS服务在Edge浏览器中其实也有嵌入,并且国内一样可以使用,经过和官方的访问地址对比</div> </li> <li><a href="/article/1883558049373810688.htm" title="Dify应用-工作流" target="_blank">Dify应用-工作流</a> <span class="text-muted">三眼桥墩</span> <a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">AI大模型</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E7%94%9F%E6%88%90%E5%86%85%E5%AE%B9/1.htm">人工智能生成内容</a><a class="tag" taget="_blank" href="/search/Dify/1.htm">Dify</a> <div>目录DIFY工作流参考DIFY工作流2025-1-15老规矩感谢参考文章的作者,避免走弯路。2025-1-15方便容易上手在dify的一个桌面上,添加多个节点来完成一个任务。每个工作流必须有一个开始和结束节点。节点之间用线连接即可。每个节点可以有输入和输出输出类型有,字符串,文件和json。每个节点就当成一个函数就ok。参考【1】Dify开发工作流</div> </li> <li><a href="/article/1883557796331450368.htm" title="2023第十四届蓝桥杯Python大学生A组真题?(真题+附链接)" target="_blank">2023第十四届蓝桥杯Python大学生A组真题?(真题+附链接)</a> <span class="text-muted">大C爱编程</span> <a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a> <div>第十四届蓝桥杯大赛软件赛省赛Python大学A组试题A:特殊日期本题总分:5分【问题描述】记一个日期为yy年mm月dd日,统计从2000年1月1日到2000000年1月1日,有多少个日期满足年份yy是月份mm的倍数,同时也是dd的倍数。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。试题B:分糖果本题总分:5</div> </li> <li><a href="/article/1883556662086791168.htm" title="JVM 常见知识点总结" target="_blank">JVM 常见知识点总结</a> <span class="text-muted">南波塞文</span> <a class="tag" taget="_blank" href="/search/JVM/1.htm">JVM</a><a class="tag" taget="_blank" href="/search/%E8%99%9A%E6%8B%9F%E6%9C%BA/1.htm">虚拟机</a><a class="tag" taget="_blank" href="/search/JVM/1.htm">JVM</a> <div>文章目录一、类加载篇1.1类加载过程1.2类加载器分类1.3双亲委派机制二、JVM内存结构篇2.1JVM内存结构2.2对象的创建过程2.3强软弱虚引用三、垃圾回收篇3.1如何判断对象是否死亡3.2哪些对象可以作为gcroots3.3垃圾回收算法3.4MinorGC和FullGC的区别3.5HotSpot为什么分为新生代和老年代3.6常见的垃圾收集器3.7详细介绍CMS垃圾回收器四、JVM调优篇4.</div> </li> <li><a href="/article/1883556662720131072.htm" title="【LeetCode题库】1174. 即时食物配送 II" target="_blank">【LeetCode题库】1174. 即时食物配送 II</a> <span class="text-muted">我梦Leo</span> <a class="tag" taget="_blank" href="/search/LeetCode%E9%A2%98%E5%BA%93/1.htm">LeetCode题库</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a> <div>文章目录原题题解解题笔记我是一名立志把细节说清楚的博主,欢迎【关注】~原创不易,如果有帮助,记得【点赞】【收藏】哦~❥(^_-)~如有错误、疑惑,欢迎【评论】指正探讨,我会尽可能第一时间回复的,谢谢支持原题配送表:Delivery+-----------------------------+---------+|ColumnName|Type|+--------------------------</div> </li> <li><a href="/article/1883556283538272256.htm" title="Firefly-LLaMA2-Chinese - 开源中文LLaMA2大模型" target="_blank">Firefly-LLaMA2-Chinese - 开源中文LLaMA2大模型</a> <span class="text-muted">伊织产研</span> <a class="tag" taget="_blank" href="/search/Firefly-LLaMA2/1.htm">Firefly-LLaMA2</a><a class="tag" taget="_blank" href="/search/LLaMA-2/1.htm">LLaMA-2</a> <div>文章目录关于模型列表&数据列表训练细节增量预训练&指令微调数据格式&数据处理逻辑增量预训练指令微调模型推理权重合并模型推理部署关于github:https://github.com/yangjianxin1/Firefly-LLaMA2-Chinese本项目与Firefly一脉相承,专注于低资源增量预训练,既支持对Baichuan2、Qwen、InternLM等原生中文模型进行增量预训练,也可对L</div> </li> <li><a href="/article/1883555527485616128.htm" title="PTN与IP RAN" target="_blank">PTN与IP RAN</a> <span class="text-muted">l15778036171</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>PTN(PacketTransportNetwork)与IPRAN(IPRadioAccessNetwork)都是现代通信网络中重要的传输技术,它们各自具有独特的特点和优势,在不同的应用场景中发挥着重要作用。以下是对PTN与IPRAN的详细解析:一、PTN技术解析PTN,即分组传送技术,是一种基于数据包的网络传输技术。它通过将传统的SDH/SONET网络分离为数据层和控制层,并在数据层采用数据包交</div> </li> <li><a href="/article/1883555147930464256.htm" title="opengauss的备份和恢复" target="_blank">opengauss的备份和恢复</a> <span class="text-muted">OctopusMonster</span> <a class="tag" taget="_blank" href="/search/opengauss/1.htm">opengauss</a> <div>一、物理备份和恢复(gs_basebackup只能全备)1.1备份:gs_basebackup-h127.0.0.1-p5432-D***(指定ip、端口、备份目录等)1.2异机恢复(原始的数据目录改名保留):停库:gs_ctlstop-D/opt/software/openGauss/data/single_node(数据目录自行替换)将原始的数据文件目录进行备份改名为single_node_o</div> </li> <li><a href="/article/1883555148354088960.htm" title="git使用小记" target="_blank">git使用小记</a> <span class="text-muted">OctopusMonster</span> <a class="tag" taget="_blank" href="/search/git/1.htm">git</a> <div>一、常用命令1.1环境(centos为例):yum-yinstallgitgitconfig--globaluser.name"***"gitconfig--globaluser.email"***"mkdirgit_dir&&cdgit_dirgitclone***1.2修改代码:gitcheckoutmaster切到主分支gitpull拉取最新代码gitbranchdev创建开发分支gitch</div> </li> <li><a href="/article/1883555149004206080.htm" title="税后工资计算c语言小工具" target="_blank">税后工资计算c语言小工具</a> <span class="text-muted">OctopusMonster</span> <a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>微信小程序上很多用于计算术后工资的小程序,各个的算出的结果有差异,很难辨别哪个比较准确。若当年工资存在涨薪或者社保基数有调整,网上小工具更是无法计算。这里用c代码自己实现一个,每个月的税前工资和缴纳系数自己调节,可算出准确结果。gongzi.c#includeintmain(){//以下数组分别代表税前工资、社保基数、公积金计数。工资以20000为例,社保和公积金以10000为例intaShuiq</div> </li> <li><a href="/article/1883555149427830784.htm" title="【Docker项目实战】使用Docker部署LinkWarden书签服务" target="_blank">【Docker项目实战】使用Docker部署LinkWarden书签服务</a> <span class="text-muted">江湖有缘</span> <a class="tag" taget="_blank" href="/search/Docker%E9%83%A8%E7%BD%B2%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98%E5%90%88%E9%9B%86/1.htm">Docker部署项目实战合集</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>【Docker项目实战】使用Docker部署LinkWarden书签服务一、LinkWarden介绍1.1LinkWarden简介1.2主要特点1.3主要使用场景二、本次实践规划2.1本地环境规划2.2本次实践介绍三、本地环境检查3.1检查Docker服务状态3.2检查Docker版本3.3检查dockercompose版本四、下载LinkWarden镜像五、部署LinkWarden应用5.1创建</div> </li> <li><a href="/article/1883555020931133440.htm" title="vLLM-prefix浅析(System Prompt,大模型推理加速)" target="_blank">vLLM-prefix浅析(System Prompt,大模型推理加速)</a> <span class="text-muted">javastart</span> <a class="tag" taget="_blank" href="/search/aigc/1.htm">aigc</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大模型</a><a class="tag" taget="_blank" href="/search/prompt/1.htm">prompt</a><a class="tag" taget="_blank" href="/search/prompt/1.htm">prompt</a><a class="tag" taget="_blank" href="/search/transformer/1.htm">transformer</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a> <div>原文:vLLM-prefix浅析(SystemPrompt,大模型推理加速)简介本文浅析了在大模型推理加速方面一个非常优秀的项目vLLM的一个新特性Prefix。在Prompt中有相同前缀时可以提高吞吐量降低延迟,换句话说可以省去这部分相同前缀在自注意力阶段的重复计算。更新2024.1.18:Prefix已经合并到主分支上了!如果你的vLLM不能使用也许是时候升级一下体验下新功能哩!https:/</div> </li> <li><a href="/article/1883554516800958464.htm" title="1001. 【USACO题库】1.1.2 Greedy Gift Givers 贪婪的送礼者" target="_blank">1001. 【USACO题库】1.1.2 Greedy Gift Givers 贪婪的送礼者</a> <span class="text-muted">2025黄锦豪</span> <a class="tag" taget="_blank" href="/search/usaco%E9%A2%98%E5%BA%93/1.htm">usaco题库</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>题目描述由NP(2≤NP≤10)个名字互不相同的朋友组成的小组决定互送金钱作为礼物。每个人都有可能送给其他某些或所有朋友一些钱,也有些人可能很吝啬,谁也不给。同样,每个人也可能收到、或者没收到其他朋友的钱。你的目标是推算出每个人“净赚”了多少(收到的钱比送出的钱多多少)。送礼的规则可能与你想象的不同。每个人都要去银行(或任何其他资金来源)取一定数量的钱来送礼,然后把这些钱平均分给所有要送礼的人。过</div> </li> <li><a href="/article/1883554390443356160.htm" title="Llama3本地部署的解决方案" target="_blank">Llama3本地部署的解决方案</a> <span class="text-muted">herosunly</span> <a class="tag" taget="_blank" href="/search/llama3/1.htm">llama3</a><a class="tag" taget="_blank" href="/search/llama/1.htm">llama</a><a class="tag" taget="_blank" href="/search/%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2/1.htm">本地部署</a><a class="tag" taget="_blank" href="/search/API/1.htm">API</a><a class="tag" taget="_blank" href="/search/%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/1.htm">解决方案</a> <div>  大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法行业就业。希望和大家一起成长进步。  本文主要介绍了Llama3本地部署的解决方案,希望对学习大语言模型的同学们有所帮助。文</div> </li> <li><a href="/article/1883553633912549376.htm" title="PyOxidizer:现代Python应用打包与分发工具" target="_blank">PyOxidizer:现代Python应用打包与分发工具</a> <span class="text-muted">胡霆圣</span> <div>PyOxidizer:现代Python应用打包与分发工具PyOxidizerAmodernPythonapplicationpackaginganddistributiontool项目地址:https://gitcode.com/gh_mirrors/py/PyOxidizerPyOxidizer是一个用于生成内嵌Python解释器的二进制文件的实用工具,主要使用Rust编程语言开发,同时也包含一</div> </li> <li><a href="/article/1883553507546558464.htm" title="架构决策利器:ADR - 轻量级架构决策记录工具 ️" target="_blank">架构决策利器:ADR - 轻量级架构决策记录工具 ️</a> <span class="text-muted">柳旖岭</span> <div>架构决策利器:ADR-轻量级架构决策记录工具️去发现同类优质开源项目:https://gitcode.com/在软件开发过程中,正确的架构决策是项目成功的关键因素之一。为了确保团队的透明度和决策可追溯性,我们向您推荐一款名为ADR(ArchitectureDecisionRecords)的开源工具。这款工具能够帮助您的团队轻松地记录、管理和追踪架构决策,从而提升项目治理效率。1.项目介绍ADR是一</div> </li> <li><a href="/article/1883553507127128064.htm" title="探索Llama Recipes:Meta Llama模型的实用示例库" target="_blank">探索Llama Recipes:Meta Llama模型的实用示例库</a> <span class="text-muted">郁英忆</span> <div>探索LlamaRecipes:MetaLlama模型的实用示例库去发现同类优质开源项目:https://gitcode.com/在机器学习和自然语言处理的世界中,MetaLlama模型是一颗璀璨的新星,以其强大的对话理解和生成能力而受到广泛关注。现在,有了llama-recipes这个开源项目,开发者可以轻松上手并充分利用这些模型。本文将引导您了解这个项目,它的技术优势,适用场景以及鲜明特点。项目</div> </li> <li><a href="/article/1883553379335073792.htm" title="本地部署,edge-tts文本转语音解决方案" target="_blank">本地部署,edge-tts文本转语音解决方案</a> <span class="text-muted">DaGod123</span> <a class="tag" taget="_blank" href="/search/%E4%B8%80%E9%94%AE%E9%83%A8%E7%BD%B2AI%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">一键部署AI大模型</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E9%9F%B3%E8%AF%86%E5%88%AB/1.htm">语音识别</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E5%AD%97%E8%BD%AC%E8%AF%AD%E9%9F%B3/1.htm">文字转语音</a> <div>目录什么是edge-tts?主要特点应用场景优势开始使用edge-tts命令行安装edge-tts库:docker安装未来展望总结https://github.com/rany2/edge-ttshttps://github.com/rany2/edge-tts随着科技的进步,文本转语音(TTS)技术正变得越来越重要,它在教育、娱乐、客户服务等多个领域得到了广泛应用。微软的edge-tts是一款基</div> </li> <li><a href="/article/1883552370340720640.htm" title="ML.NET速览" target="_blank">ML.NET速览</a> <span class="text-muted">aixing8475</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a><a class="tag" taget="_blank" href="/search/runtime/1.htm">runtime</a> <div>什么是ML.NET?ML.NET是由微软创建,为.NET开发者准备的开源机器学习框架。它是跨平台的,可以在macOS,Linux及Windows上运行。机器学习管道ML.NET通过管道(pipeline)方式组合机器学习过程。整个管道分为以下四个部分:LoadData加载数据TransformData转换数据ChooseAlgorithm选择算法TrainModel训练模型示例建立一个控制台项目。</div> </li> <li><a href="/article/1883551866424455168.htm" title="深入解析vLLM:加速大模型推理的高效框架" target="_blank">深入解析vLLM:加速大模型推理的高效框架</a> <span class="text-muted">秋声studio</span> <a class="tag" taget="_blank" href="/search/%E5%8F%A3%E8%AF%AD%E5%8C%96%E8%A7%A3%E6%9E%90/1.htm">口语化解析</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%A8%A1%E5%9E%8B%E8%B0%83%E4%BC%98/1.htm">模型调优</a><a class="tag" taget="_blank" href="/search/nlp/1.htm">nlp</a><a class="tag" taget="_blank" href="/search/vLLM/1.htm">vLLM</a> <div>深入解析vLLM:加速大模型推理的高效框架引言在现代深度学习应用中,大型语言模型(如GPT、GLM、LLaMA、Qwen等)的推理速度和资源利用率成为关键挑战。vLLM(VirtualLargeLanguageModel)是由伯克利大学LMSYS组织开源的大语言模型高速推理框架,旨在极大地提升实时场景下的语言模型服务的吞吐量与内存使用效率。本文将深入探讨vLLM的工作原理及其优化技术。一、vLLM</div> </li> <li><a href="/article/1883549850088304640.htm" title="将Python程序打包为Windows可执行文件格式" target="_blank">将Python程序打包为Windows可执行文件格式</a> <span class="text-muted">CherylNatsu</span> <a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF%E6%96%87%E6%A1%A3/1.htm">技术文档</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/extension/1.htm">extension</a><a class="tag" taget="_blank" href="/search/microsoft/1.htm">microsoft</a><a class="tag" taget="_blank" href="/search/parsing/1.htm">parsing</a><a class="tag" taget="_blank" href="/search/exe/1.htm">exe</a> <div>花一天时间随便找了几篇文章入门Python,并且写了几个Python小程序想和朋友分享一下顺便推荐这个很棒的编程语言,但是遗憾的是朋友的电脑没有安装Python,而且还是用Windows系统,所以最好的办法是把Python程序转换为Windows上的可执行文件。首先要下载“适当版本“的Python:http://www.python.org/getit/还需要一个叫py2exe的程序:http:/</div> </li> <li><a href="/article/1883549847991152640.htm" title="JVM - 内存划分、类加载、GC 机制、常见参数、简单调优" target="_blank">JVM - 内存划分、类加载、GC 机制、常见参数、简单调优</a> <span class="text-muted">陈亦康</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E6%80%BB%E7%BB%93/1.htm">面试总结</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div>目录前言一、JVM内存划分二、类加载2.1、类加载是在干什么?2.2、类加载的过程2.3、何时触发类加载?2.4、双亲委派模型(重点考察)2.4.1、什么是双亲委派模型?2.4.2、涉及到的类加载器2.4.3、详细过程图解三、GC(垃圾回收机制)3.1、STW问题(StopTheWorld)3.2、GC回收哪部分内存?3.3、垃圾对象的判定算法3.3.1、引用计数法(非JVM采取的办法)3.3.2</div> </li> <li><a href="/article/40.htm" title="java线程Thread和Runnable区别和联系" target="_blank">java线程Thread和Runnable区别和联系</a> <span class="text-muted">zx_code</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/Runnable/1.htm">Runnable</a> <div>我们都晓得java实现线程2种方式,一个是继承Thread,另一个是实现Runnable。 模拟窗口买票,第一例子继承thread,代码如下 package thread; public class ThreadTest { public static void main(String[] args) { Thread1 t1 = new Thread1(</div> </li> <li><a href="/article/167.htm" title="【转】JSON与XML的区别比较" target="_blank">【转】JSON与XML的区别比较</a> <span class="text-muted">丁_新</span> <a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div>1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。 XML是标</div> </li> <li><a href="/article/294.htm" title="c++ 实现五种基础的排序算法" target="_blank">c++ 实现五种基础的排序算法</a> <span class="text-muted">CrazyMizzz</span> <a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>#include<iostream> using namespace std; //辅助函数,交换两数之值 template<class T> void mySwap(T &x, T &y){ T temp = x; x = y; y = temp; } const int size = 10; //一、用直接插入排</div> </li> <li><a href="/article/421.htm" title="我的软件" target="_blank">我的软件</a> <span class="text-muted">麦田的设计者</span> <a class="tag" taget="_blank" href="/search/%E6%88%91%E7%9A%84%E8%BD%AF%E4%BB%B6/1.htm">我的软件</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E4%B9%90%E7%B1%BB/1.htm">音乐类</a><a class="tag" taget="_blank" href="/search/%E5%A8%B1%E4%B9%90/1.htm">娱乐</a><a class="tag" taget="_blank" href="/search/%E6%94%BE%E6%9D%BE/1.htm">放松</a> <div>     这是我写的一款app软件,耗时三个月,是一个根据央视节目开门大吉改变的,提供音调,猜歌曲名。1、手机拥有者在android手机市场下载本APP,同意权限,安装到手机上。2、游客初次进入时会有引导页面提醒用户注册。(同时软件自动播放背景音乐)。3、用户登录到主页后,会有五个模块。a、点击不胫而走,用户得到开门大吉首页部分新闻,点击进入有新闻详情。b、</div> </li> <li><a href="/article/548.htm" title="linux awk命令详解" target="_blank">linux awk命令详解</a> <span class="text-muted">被触发</span> <a class="tag" taget="_blank" href="/search/linux+awk/1.htm">linux awk</a> <div>awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file [-F|-f|-v]大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=val</div> </li> <li><a href="/article/675.htm" title="各种语言比较" target="_blank">各种语言比较</a> <span class="text-muted">_wy_</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/1.htm">编程语言</a> <div>                    Java Ruby PHP 擅长领域                  </div> </li> <li><a href="/article/802.htm" title="oracle 中数据类型为clob的编辑" target="_blank">oracle 中数据类型为clob的编辑</a> <span class="text-muted">知了ing</span> <a class="tag" taget="_blank" href="/search/oracle+clob/1.htm">oracle clob</a> <div>public void updateKpiStatus(String kpiStatus,String taskId){ Connection dbc=null; Statement stmt=null; PreparedStatement ps=null; try { dbc = new DBConn().getNewConnection(); //stmt = db</div> </li> <li><a href="/article/929.htm" title="分布式服务框架 Zookeeper -- 管理分布式环境中的数据" target="_blank">分布式服务框架 Zookeeper -- 管理分布式环境中的数据</a> <span class="text-muted">矮蛋蛋</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a> <div>原文地址: http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ 安装和配置详解 本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两</div> </li> <li><a href="/article/1056.htm" title="tomcat数据源" target="_blank">tomcat数据源</a> <span class="text-muted">alafqq</span> <a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a> <div>数据库 JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。 没有使用JNDI时我用要这样连接数据库: 03.  Class.forName("com.mysql.jdbc.Driver");  04.  conn</div> </li> <li><a href="/article/1183.htm" title="遍历的方法" target="_blank">遍历的方法</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E9%81%8D%E5%8E%86/1.htm">遍历</a> <div>                                                      遍历 在java的泛</div> </li> <li><a href="/article/1310.htm" title="linux查看硬件信息的命令" target="_blank">linux查看硬件信息的命令</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>linux查看硬件信息的命令 一.查看CPU: cat /proc/cpuinfo   二.查看内存: free   三.查看硬盘: df   linux下查看硬件信息 1、lspci 列出所有PCI 设备; lspci - list all PCI devices:列出机器中的PCI设备(声卡、显卡、Modem、网卡、USB、主板集成设备也能</div> </li> <li><a href="/article/1437.htm" title="java常见的ClassNotFoundException" target="_blank">java常见的ClassNotFoundException</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>1.java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory   添加包common-logging.jar2.java.lang.ClassNotFoundException: javax.transaction.Synchronization    </div> </li> <li><a href="/article/1564.htm" title="【Gson五】日期对象的序列化和反序列化" target="_blank">【Gson五】日期对象的序列化和反序列化</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96/1.htm">反序列化</a> <div>对日期类型的数据进行序列化和反序列化时,需要考虑如下问题:   1. 序列化时,Date对象序列化的字符串日期格式如何 2. 反序列化时,把日期字符串序列化为Date对象,也需要考虑日期格式问题 3. Date A -> str -> Date B,A和B对象是否equals   默认序列化和反序列化     import com</div> </li> <li><a href="/article/1691.htm" title="【Spark八十六】Spark Streaming之DStream vs. InputDStream" target="_blank">【Spark八十六】Spark Streaming之DStream vs. InputDStream</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Stream/1.htm">Stream</a> <div>  1. DStream的类说明文档:   /** * A Discretized Stream (DStream), the basic abstraction in Spark Streaming, is a continuous * sequence of RDDs (of the same type) representing a continuous st</div> </li> <li><a href="/article/1818.htm" title="通过nginx获取header信息" target="_blank">通过nginx获取header信息</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/nginx+header/1.htm">nginx header</a> <div>1. 提取整个的Cookies内容到一个变量,然后可以在需要时引用,比如记录到日志里面, if ( $http_cookie ~* "(.*)$") {         set $all_cookie $1; }     变量$all_cookie就获得了cookie的值,可以用于运算了 </div> </li> <li><a href="/article/1945.htm" title="java-65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999" target="_blank">java-65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>参考了网上的http://blog.csdn.net/peasking_dd/article/details/6342984 写了个java版的: public class Print_1_To_NDigit { /** * Q65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999 * 1.使用字符串</div> </li> <li><a href="/article/2072.htm" title="Netty源码学习-ReplayingDecoder" target="_blank">Netty源码学习-ReplayingDecoder</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a> <div>ReplayingDecoder是FrameDecoder的子类,不熟悉FrameDecoder的,可以先看看 http://bylijinnan.iteye.com/blog/1982618 API说,ReplayingDecoder简化了操作,比如: FrameDecoder在decode时,需要判断数据是否接收完全: public class IntegerH</div> </li> <li><a href="/article/2199.htm" title="js特殊字符过滤" target="_blank">js特殊字符过滤</a> <span class="text-muted">cngolon</span> <a class="tag" taget="_blank" href="/search/js%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6/1.htm">js特殊字符</a><a class="tag" taget="_blank" href="/search/js%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6%E8%BF%87%E6%BB%A4/1.htm">js特殊字符过滤</a> <div>1.js中用正则表达式 过滤特殊字符, 校验所有输入域是否含有特殊符号function stripscript(s) {    var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()&mdash;—|{}【】‘;:”“'。,、?]"</div> </li> <li><a href="/article/2326.htm" title="hibernate使用sql查询" target="_blank">hibernate使用sql查询</a> <span class="text-muted">ctrain</span> <a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div> import java.util.Iterator; import java.util.List; import java.util.Map; import org.hibernate.Hibernate; import org.hibernate.SQLQuery; import org.hibernate.Session; import org.hibernate.Transa</div> </li> <li><a href="/article/2453.htm" title="linux shell脚本中切换用户执行命令方法" target="_blank">linux shell脚本中切换用户执行命令方法</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%E5%91%BD%E4%BB%A4/1.htm">命令</a><a class="tag" taget="_blank" href="/search/%E5%88%87%E6%8D%A2%E7%94%A8%E6%88%B7/1.htm">切换用户</a> <div>经常在写shell脚本时,会碰到要以另外一个用户来执行相关命令,其方法简单记下:   1、执行单个命令:su - user -c "command" 如:下面命令是以test用户在/data目录下创建test123目录 [root@slave19 /data]# su - test -c "mkdir /data/test123" </div> </li> <li><a href="/article/2580.htm" title="好的代码里只要一个 return 语句" target="_blank">好的代码里只要一个 return 语句</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/return/1.htm">return</a> <div>别再这样写了:public boolean foo() {    if (true) {         return true;     } else {          return false;    </div> </li> <li><a href="/article/2707.htm" title="Android动画效果学习" target="_blank">Android动画效果学习</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>1、透明动画效果 方法一:代码实现 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_main, container, fals</div> </li> <li><a href="/article/2834.htm" title="linux复习笔记之bash shell (4)管道命令" target="_blank">linux复习笔记之bash shell (4)管道命令</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/linux%E7%AE%A1%E9%81%93%E5%91%BD%E4%BB%A4%E6%B1%87%E6%80%BB/1.htm">linux管道命令汇总</a><a class="tag" taget="_blank" href="/search/linux%E7%AE%A1%E9%81%93%E5%91%BD%E4%BB%A4/1.htm">linux管道命令</a><a class="tag" taget="_blank" href="/search/linux%E5%B8%B8%E7%94%A8%E7%AE%A1%E9%81%93%E5%91%BD%E4%BB%A4/1.htm">linux常用管道命令</a> <div>转载请出自出处: http://eksliang.iteye.com/blog/2105461     bash命令执行的完毕以后,通常这个命令都会有返回结果,怎么对这个返回的结果做一些操作呢?那就得用管道命令‘|’。     上面那段话,简单说了下管道命令的作用,那什么事管道命令呢?     答:非常的经典的一句话,记住了,何为管</div> </li> <li><a href="/article/2961.htm" title="Android系统中自定义按键的短按、双击、长按事件" target="_blank">Android系统中自定义按键的短按、双击、长按事件</a> <span class="text-muted">gqdy365</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>在项目中碰到这样的问题: 由于系统中的按键在底层做了重新定义或者新增了按键,此时需要在APP层对按键事件(keyevent)做分解处理,模拟Android系统做法,把keyevent分解成: 1、单击事件:就是普通key的单击; 2、双击事件:500ms内同一按键单击两次; 3、长按事件:同一按键长按超过1000ms(系统中长按事件为500ms); 4、组合按键:两个以上按键同时按住; </div> </li> <li><a href="/article/3088.htm" title="asp.net获取站点根目录下子目录的名称" target="_blank">asp.net获取站点根目录下子目录的名称</a> <span class="text-muted">hvt</span> <a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><a class="tag" taget="_blank" href="/search/hovertree/1.htm">hovertree</a><a class="tag" taget="_blank" href="/search/Web+Forms/1.htm">Web Forms</a> <div>使用Visual Studio建立一个.aspx文件(Web Forms),例如hovertree.aspx,在页面上加入一个ListBox代码如下: <asp:ListBox runat="server" ID="lbKeleyiFolder" />   那么在页面上显示根目录子文件夹的代码如下: string[] m_sub</div> </li> <li><a href="/article/3215.htm" title="Eclipse程序员要掌握的常用快捷键" target="_blank">Eclipse程序员要掌握的常用快捷键</a> <span class="text-muted">justjavac</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/%E5%BF%AB%E6%8D%B7%E9%94%AE/1.htm">快捷键</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a> <div>  判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。   曾有人在豆瓣评 《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个 程序员图书列表,目的也就是通过读书,让程序员变懒。  写道 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可</div> </li> <li><a href="/article/3342.htm" title="c++编程随记" target="_blank">c++编程随记</a> <span class="text-muted">lx.asymmetric</span> <a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div> 为了字体更好看,改变了格式……   &&运算符:   #include<iostream> using namespace std; int main(){      int a=-1,b=4,k;      k=(++a<0)&&!(b--</div> </li> <li><a href="/article/3469.htm" title="linux标准IO缓冲机制研究" target="_blank">linux标准IO缓冲机制研究</a> <span class="text-muted">音频数据</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>一、什么是缓存I/O(Buffered I/O)缓存I/O又被称作标准I/O,大多数文件系统默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,操作系统会将I/O的数据缓存在文件系统的页缓存(page cache)中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。1.缓存I/O有以下优点:A.缓存I/O使用了操作系统内核缓冲区,</div> </li> <li><a href="/article/3596.htm" title="随想 生活" target="_blank">随想 生活</a> <span class="text-muted">暗黑小菠萝</span> <a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a> <div>其实账户之前就申请了,但是决定要自己更新一些东西看也是最近。从毕业到现在已经一年了。没有进步是假的,但是有多大的进步可能只有我自己知道。   毕业的时候班里12个女生,真正最后做到软件开发的只要两个包括我,PS:我不是说测试不好。当时因为考研完全放弃找工作,考研失败,我想这只是我的借口。那个时候才想到为什么大学的时候不能好好的学习技术,增强自己的实战能力,以至于后来找工作比较费劲。我</div> </li> <li><a href="/article/3723.htm" title="我认为POJO是一个错误的概念" target="_blank">我认为POJO是一个错误的概念</a> <span class="text-muted">windshome</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/J2EE/1.htm">J2EE</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1/1.htm">设计</a> <div>              这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。    &</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>