以太坊区块链使用WEB3开发自己第一个DAPP

摘要:在学习了最基础的一些以太坊知识以及开发框架搭建完成之后,可以尝试开发自己的第一个DApp,此处使用Truffle开发框架,Remix编译环境,Genache测试客户端,具体操作如下

 

在学习了最基础的一些以太坊知识以及开发框架搭建完成之后,可以尝试开发自己的第一个DAPP,此处使用松露开发框架,混音编译环境,Genache测试客户端,具体操作如下。

    此处参照MetaCoin创建自己的模拟转账Dapp名称为RuoliCoin

 

1,创建工作目录

            创建RuoliCoin目录,在此目录下打开命令行执行Truffle初始化命令,如下:

松露unbox webpack

            即可创建基础松露框架。

 

2,创建密实智能合约文件

            在RuoliCoin / contracts目录下删除原有的ConvertLib.sol,MetaCoin.sol两个文件,新建RuoliCoin.sol文件,使用Web版本的Remix打开此文件,进行智能合约的编写操作,最后编写好的智能合约内容如下:

pragma solidity ^ 0.4.23;

合同RuoliCoin {
	mapping(address => uint)balances; 事件转移(地址索引_from,地址索引_to,uint256 _value); constructor()public {
		余额[msg.sender] = 10000;
	函数sendCoin(地址接收者,uint金额)公共返回(bool足够){if(balances [msg.sender] 

 

3,部署至测试环境

        修改truffle.js文件,指定本地RCP Server地址(启动Ganache后主界面有显示),内容如下:

module.exports = {
    网络:{  
        发展:{  
            主持人:'localhost',  
            港口:'7545',  
            network_id:'*'//匹配任何网络ID  
        }  
    } 
};

         迁移目录下1_initial_migration.js,2_deploy_contracts.js两个文件非常重要切勿删除,在此目录下将2_deploy_contracts.js进行修改内容如下:

var RuoliCoin = artifacts.require(“./ RuoliCoin.sol”); module.exports = function(deployer){
  deployer.deploy(RuoliCoin);
  
};

       

在RuoliCoin目录下使用命令行编译并部署智能合约文件,如下:

PS C:\ Workspace \ Ruoli-Code \ Truffle \ RuoliCoin> truffle compile
PS C:\ Workspace \ Ruoli-Code \ Truffle \ RuoliCoin>松露部署
使用网络'发展'。

正在运行迁移:1_initial_migration.js
  部署迁移...
  ... 0x73e55a0f780c6780039abc3feb8b5e1243744135096e441668e8ab55579e51db
  迁移:0xb81237dd01159a36a5ac3c760d227bbafe3341e成功迁移到网络...
  ... 0xc5be542ec02f5513ec21e441c54bd31f0c86221da26ed518a2da25c190faa24b保存文物......
正在运行迁移:2_deploy_contracts.js
  部署RuoliCoin ......
  ... 0xd4c85531d5d83c61f79485c43e6e4146d51b909c8b73bf5d88b60aa990cf1d08
  RuoliCoin:0x6ba286f3115994baf1fed1159e81f77c9e1cd4fa成功迁移到网络...
  ... 0xc8d5533c11181c87e6b60d4863cdebb450a2404134aea03a573ce6886905a00b保存文物......
PS C:\ Workspace \ Ruoli-Code \ Truffle \ RuoliCoin>

此时查看Ganache界面中第一个账户的ETH余额已减少,说明部署成功。

 

4,编写页面文件

在app目录下删除所有文件,新建index.html,javascripts / app.js两个文件,文件内容如下:

index.html如下:

<!DOCTYPE html>  
   RuoliCoin  -  Truffle Demo </ title>
  <link rel =“stylesheet”href =“https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css”>
  <script src =“https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js”> </ script>
  <script src =“https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js”> </ script>
  <script src =“./ app.js”> </ script> </ head> <body>
  <div class =“container”style =“margin-top:80px;”>
    
    <div class =“form-group”>
      <input type =“text”class =“form-control”id =“transfer-addr”placeholder =“转入账户”>
    </ DIV>
    <div class =“form-group”>
      <input type =“text”class =“form-control”id =“transfer-money”placeholder =“注入金额”>
    </ DIV>
    <div class =“alert”role =“alert”style =“display:none;” ID = “消息框”> </ DIV>
    <button type =“submit”id =“transfer-confirm-btn”class =“btn btn-success”>转账</ button>
    <button type =“button”id =“transfer-clear-btn”class =“btn btn-default”>重置</ button>
    <HR />
    <div class =“form-group”>
      <input type =“text”class =“form-control”id =“balance-addr”placeholder =“查询余额账户”>
    </ DIV>
    <button type =“submit”id =“balance-select”class =“btn btn-success”>余额查询</ button>
  </ DIV> </ BODY> <SCRIPT>
  $(文件)。就绪(函数(){
      $('#transfer-confirm-btn')。on('click',function(){var transferAddr = $('#transfer-addr')。val(); var transferMoney = $('#transfer-money' ).val(); if(transferAddr ==''){
              showTips( '警报-危险', '转入账户不能为空');
          } else {//调用App的说()方法
              window.App.transfer(transferAddr,transferMoney,function(err,result){if(err){
                     showTips( '警报的危险',ERR);
                  } else {
                      showTips( '警报的危险',结果);
                  }
              });
          }
      });
      $('#balance-select')。on('click',function(){var balanceAddr = $('#balance-addr')。val(); if(balanceAddr ==''){
              showTips( '警报-危险', '查询余额账不能为空');
          } else {//调用App的说()方法
              window.App.getBalance(balanceAddr,function(err,result){if(err){
                     showTips( '警报的危险',ERR);
                  } else {
                      showTips( '警报-危险', '账户余额:' +导致);
                  }
              });
          }
      });
      $('#cancel')。on('click',function(){
          $( '#用户名')VAL( '')。
          $( '#消息盒子')隐藏();
          $( '#消息盒子')HTML( '')。
      });
  }); function showTips(classType,tipsText){
      $( '#消息框')addClass(classType所)的.html(tipsText + '');
      $( '#消息盒子')淡入(800)。
  } </ SCRIPT> </ HTML></code></pre> 
  <p style="margin-left:0px;"><span style="color:#1c1f21;">Java脚本/ app.js内容如下:</span></p> 
  <pre style="margin-left:0px;"><code class="language-html hljs">//导入CSS //导入“../stylesheets/app.css";//导入web3和truffle-contract库导入{默认为Web3}来自'web3';从'truffle-contract'导入{默认为合同} //导入Hello合约的ABI文件导入RuoliCoin_artifacts来自'../../build/contracts/RuoliCoin.json'//获取Hello合约对象var RuoliCoinContract = contract(RuoliCoin_artifacts); var ruoliCoinInstance = null; var accounts; var account ; window.App = {
  init:function(){//设置web3连接
    RuoliCoinContract.setProvider(web3.currentProvider); //获取初始帐户余额,以便显示。
    web3.eth.getAccounts(function(err,accs){if(err!= null){
        alert(“获取帐户时出错。”); 返回;
      } if(accs.length == 0){
        alert(“无法获取任何帐户!确保您的以太坊客户端配置正确。”); 返回;
      }

      accounts = accs;
      account = accounts [0];
    });  


    //实例为你好合约部署实例
    RuoliCoinContract.deployed()。然后(函数(实例){
      ruoliCoinInstance =实例; var event = ruoliCoinInstance.Transfer();
        event.watch(功能(错误,结果){
          警报(误差); 的console.log(结果);
        });
    })。catch(function(e){console.log(e,null);
    });
  },//封装合约中的say()方法调用过程,供javascript调用
  transfer:function(transferAddr,amount,callback){//调用Hello合约中的say()方法,并传入参数name
      ruoliCoinInstance.sendCoin(transferAddr,amount,{from:account})。then(function(result){//将返回结果传入回调函数
        callback(null,result);
      });
  },
  getBalance:function(balanceAddr,callback){//调用Hello合约中的say()方法,并传入参数name
      ruoliCoinInstance.getBalance.call(balanceAddr,{from:account})。then(function(result){//将返回结果传入回调函数
        callback(null,result);
      });
  }
window.addEventListener('load',function(){//设置web3连接http://127.0.0.1:7545为Ganache提供的节点链接
  window.web3 = new Web3(new Web3.providers.HttpProvider(“http://127.0.0.1:7545”));
  App.init();
  
});</code></pre> 
  <p style="margin-left:0px;"><span style="color:#1c1f21;">运行界面如下:</span></p> 
  <p style="margin-left:0px;"><span style="color:#1c1f21;">        <a href="http://img.e-com-net.com/image/info8/ba9f4aa7a0a94060b6b90a0a71eef217.jpg" target="_blank"><img alt="以太坊区块链使用WEB3开发自己第一个DAPP_第1张图片" class="has" src="http://img.e-com-net.com/image/info8/ba9f4aa7a0a94060b6b90a0a71eef217.jpg" width="500" height="286" style="border:1px solid black;"></a></span></p> 
  <p style="margin-left:0px;"> </p> 
  <h1 style="margin-left:0px;"><span style="color:#1c1f21;">5,运行与测试</span></h1> 
  <p style="margin-left:0px;"><span style="color:#1c1f21;">        在RuoliCoin根目录执行启动命令npm run dev,如下:</span></p> 
  <pre style="margin-left:0px;"><code class="language-html hljs">PS C:\ Workspace \ Ruoli-Code \ Truffle \ Metacoin> npm run dev

> truffle-init-webpack@0.0.2 dev C:\ Workspace \ Ruoli-Code \ Truffle \ Metacoin
> webpack-dev-server

项目运行在http:// localhost:8081 / webpack输出从/ Hash提供:8b5b7df27e0385bf011dVersion:webpack 2.7.0Time:3239ms
     资产大小块大块名称
    app.js 1.68 MB 0 [emit] [big] main
index.html 925字节[发出]
chunk {0} app.js(main)1.66 MB [条目] [渲染]
   [71] ./app/javascripts/app.js 3.64 kB {0} [built]
   [72](webpack)-dev-server / client?http:// localhost:8081 7.93 kB {0} [built]
   [73] ./build/contracts/MetaCoin.json 47.8 kB {0} [built]
  [111] ./~/loglevel/lib/loglevel.js 7.86 kB {0} [built]
  [117] ./~/querystring-es3/index.js 127字节{0} [已建]
  [119] ./~/strip-ansi/index.js 161字节{0} [已建]
  [122] ./app/stylesheets/app.css 905字节{0} [已建]
  [163] ./~/truffle-contract/index.js 2.64 kB {0} [built]
  [197] ./~/url/url.js 23.3 kB {0} [built]
  [199] ./~/web3/index.js 193字节{0} [已建]
  [233](webpack)-dev-server / client / overlay.js 3.67 kB {0} [built]
  [234](webpack)-dev-server / client / socket.js 1.08 kB {0} [built]
  [235](webpack)/ hot nonrecursive ^ \。\ / log $ 160 bytes {0} [built]
  [236](webpack)/hot/emitter.js 77字节{0} [已建]
  [237] multi(webpack)-dev-server / client?http:// localhost:8081 ./app/javascripts/app.js 40 bytes {0} [built]
     + 223隐藏的moduleswebpack:编译成功。</code></pre> 
  <p style="margin-left:0px;"><span style="color:#1c1f21;">访问上面提示的链接地址:http:// localhost:8081 /</span></p> 
  <p style="margin-left:0px;"><span style="color:#1c1f21;">即可访问到页面,输入转入地址和金额即可进行代币转账操作,输入查询余额地址即可进行查询余额操作。</span></p> 
  <p style="margin-left:0px;"> </p> 
  <p><br><span style="color:#1c1f21;">作者:</span><br><span style="color:#1c1f21;">链接:https://www.imooc.com/article/31140</span><br><span style="color:#1c1f21;">来源:慕课网</span></p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1281171638984916992"></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">你可能感兴趣的:(以太坊区块链使用WEB3开发自己第一个DAPP)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1892498963177730048.htm"
                           title="ArcGIS Runtime SDK for iOS 开发之地图范围(map extent)" target="_blank">ArcGIS Runtime SDK for iOS 开发之地图范围(map extent)</a>
                        <span class="text-muted">hlj184</span>
<a class="tag" taget="_blank" href="/search/ArcGIS/1.htm">ArcGIS</a><a class="tag" taget="_blank" href="/search/for/1.htm">for</a><a class="tag" taget="_blank" href="/search/IOS/1.htm">IOS</a><a class="tag" taget="_blank" href="/search/arcgis/1.htm">arcgis</a><a class="tag" taget="_blank" href="/search/ios%E5%BC%80%E5%8F%91/1.htm">ios开发</a><a class="tag" taget="_blank" href="/search/map/1.htm">map</a><a class="tag" taget="_blank" href="/search/extent/1.htm">extent</a>
                        <div>注:本篇文章翻译自:https://developers.arcgis.com/ios/objective-c/guide/iphonesdk-mapnavigation.htm;地图视图包含了地图范围被定义和改变的选项。值得注意的是,底图(加载到地图中的第一层图层)定义了下列地图属性:初始化范围全部范围空间参考系其中,初始范围可以被改变,而空间参考不可以改变。本篇文章主要讨论针对开发者和最终用户</div>
                    </li>
                    <li><a href="/article/1892498835721220096.htm"
                           title="探索单片机世界的音乐之旅 —— 51单片机简易电子琴项目解析" target="_blank">探索单片机世界的音乐之旅 —— 51单片机简易电子琴项目解析</a>
                        <span class="text-muted">蔡松宽</span>

                        <div>探索单片机世界的音乐之旅——51单片机简易电子琴项目解析电子琴.rar项目地址:https://gitcode.com/open-source-toolkit/67c65项目概况:旋律与科技的融合在浩瀚的电子海洋里,51单片机始终是那座引领初学者进入嵌入式开发殿堂的桥梁。51单片机实战之简易电子琴项目,正是专为此而生的一盏明灯。它不仅是技术实践的绝佳示例,更是每一位电子爱好者发掘硬件音乐潜能的钥匙</div>
                    </li>
                    <li><a href="/article/1892498457734737920.htm"
                           title="萌新的51之旅——串口通信(3)" target="_blank">萌新的51之旅——串口通信(3)</a>
                        <span class="text-muted">codoger</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a>
                        <div>一,过程特性过程特性规定了信号之间的时序关系,以便正确的接收和发送数据采用RS-232c接口存在的问题一,传输距离短,传输速率低该总线标准受电容允许值的约束,使用时传输距离一般不要超过15米,最高传输速率为20K二,有电平偏移该总线标准要求收发双方共地通信,距离较大时,收发双方的地电位差别较大,在信号地上将有比较大的地电流,并产生压降三,抗干扰能力差该接口的电瓶转换时采用单端输入输出,在传输过程中</div>
                    </li>
                    <li><a href="/article/1892497575873933312.htm"
                           title="2020-12-24 CH340使用注意事项" target="_blank">2020-12-24 CH340使用注意事项</a>
                        <span class="text-muted">billgodark</span>
<a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>留存谨记!,CH340绑定封装RS232接口芯片的功耗较大,TX和RX电流可能拉低电平,在实际使用时需要在Tx和Rx上串行470Ω左右的电阻,绑定版CH340的USB转RS232电平串行口建议使用这种方式</div>
                    </li>
                    <li><a href="/article/1892497576360472576.htm"
                           title="OpenAI 深度研究与 Gemini 深度研究:哪个更好?" target="_blank">OpenAI 深度研究与 Gemini 深度研究:哪个更好?</a>
                        <span class="text-muted">知识小报童</span>
<a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</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%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a>
                        <div>目录*什么是OpenAI深度研究?**OpenAI深度研究的关键特性:**OpenAI深度研究的应用:**使用案例:**什么是Gemini深度研究?**Gemini深度研究的关键特性:**Gemini深度研究的应用:**使用案例:**Gemini2.0Flash:增强性能**可用性:**OpenAI深度研究与Gemini深度研究:详细比较**OpenAI深度研究与Gemini深度研究之间的关键区别</div>
                    </li>
                    <li><a href="/article/1892496190289801216.htm"
                           title="同步盘怎么选?2025年这三款网盘的功能和优缺点全在这!" target="_blank">同步盘怎么选?2025年这三款网盘的功能和优缺点全在这!</a>
                        <span class="text-muted">SJ_HP</span>
<a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/%E8%BF%9C%E7%A8%8B%E5%B7%A5%E4%BD%9C/1.htm">远程工作</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E7%99%BE%E5%BA%A6%E4%BA%91/1.htm">百度云</a>
                        <div>在数字时代,文件存储、多设备同步和团队协作已经成为我们生活和工作中不可或缺的一部分。无论是个人用户还是企业团队,都面临着文件存储空间不足、设备间同步困难以及团队合作效率低下的痛点。同步盘和企业云盘的出现,正是为了解决这些问题。它们不仅提供了便捷的文件存储和管理功能,还通过多设备同步和团队协作功能,极大地提升了工作效率。今天,我们将对比几款热门的同步盘产品,帮助你找到最适合自己的解决方案。亿方云:企</div>
                    </li>
                    <li><a href="/article/1892495308345110528.htm"
                           title="车载音频开发(三):对wav音频做定浮点转换(采样深度转换)" target="_blank">车载音频开发(三):对wav音频做定浮点转换(采样深度转换)</a>
                        <span class="text-muted">Mr Chris_LI</span>
<a class="tag" taget="_blank" href="/search/wav%E9%9F%B3%E9%A2%91%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/1.htm">wav音频开发心得</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a>
                        <div>对于wav的采样格式讨论较多的是定浮点采样基于上一节我们对采样点的理解车载音频开发(二):对音频数据作音量调节_音频数据的音量控制代码-CSDN博客定点常见的有16bit,24bit,和32bit浮点一般用float(32bit)IEEE754浮点数不同位深度的取值范围:16bit定点数:-32,768~32,76724bit定点数:-8,388,608~8,388,60732bit定点数:-2,</div>
                    </li>
                    <li><a href="/article/1892495181991702528.htm"
                           title="大学生学完python靠几个接单网站兼职,实现经济独立" target="_blank">大学生学完python靠几个接单网站兼职,实现经济独立</a>
                        <span class="text-muted">「已注销」</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>大学生学完python靠几个接单网站兼职,实现经济独立程序员就是当今时代的手艺人,程序员可以通过个人的技术来谋生。而在工作之余接私单可以作为一种创富的途径,受到程序员的广泛认可。说句实在话,现在这个时代,很多人仅靠主业顶多维持基本生活,想让自己、家人生活好一点很难。我接的私活并不算多,加起来也就几万左右,只能算一半,我想把一些经验分享出来,毕竟现在生活都不容易,能赚一点是一点。一、程序员接活、新手</div>
                    </li>
                    <li><a href="/article/1892494551290015744.htm"
                           title="UDP通信开发" target="_blank">UDP通信开发</a>
                        <span class="text-muted">Charary</span>
<a class="tag" taget="_blank" href="/search/udp/1.htm">udp</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>开发流程:UDP本身不考虑链接,不存在客户和服务器的概念,UDP开发只有三步:创建UDP的套接字socket(AF_INET,SOCK_DGRAM,0)绑定自己的属性bindUDP随意的发送和接收数据sendto/recvfromUDP接口函数:sendto()函数功能:UDP专用的发送函数函数原型:ssize_tsendto(intsockfd,//套接字constvoid*buf,//待发送的</div>
                    </li>
                    <li><a href="/article/1892494551701057536.htm"
                           title="USB转串口芯片CH9102替代CP2102注意事项" target="_blank">USB转串口芯片CH9102替代CP2102注意事项</a>
                        <span class="text-muted">Chery1140</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a>
                        <div>CH9102与CP2102可实现pin2pin兼容,可以在不更改硬件设计的前提下实现不同型号间快速切换与产品应用。CH9102系列型号包括:CH9102F(QFN24)和CH9102X(QFN28),CP2102系列型号包括:CP2102、CP2102N-GQFN24、CP2102N-GQFN28。1.应用差异说明1)驱动说明:CH9102芯片为CDC类串口芯片,用户可以选择使用操作系统内置的CD</div>
                    </li>
                    <li><a href="/article/1892494552284065792.htm"
                           title="【计算机毕设任务书】基于微信小程序的宠物寄养平台的设计与实现" target="_blank">【计算机毕设任务书】基于微信小程序的宠物寄养平台的设计与实现</a>
                        <span class="text-muted">Eastonzhang888</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%AF%95%E8%AE%BE%E4%BB%BB%E5%8A%A1%E4%B9%A6%E5%8F%82%E8%80%83%E6%A1%88%E4%BE%8B/1.htm">计算机毕设任务书参考案例</a><a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1/1.htm">课程设计</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a><a class="tag" taget="_blank" href="/search/%E5%AE%A0%E7%89%A9/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/intellij-idea/1.htm">intellij-idea</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%AF%95%E4%B8%9A%E8%AE%BE%E8%AE%A1/1.htm">计算机毕业设计</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a>
                        <div>一、设计的主要内容、技术参数及工作要求研究目的现在宠物寄养管理中已有一些商家使用了基本的管理软件,这些软件都是依靠客户端,只可以特定人员使用,不能实现信息的共享。虽然可以帮助工作人员减少工作量,但从根本上还是无法满足用户的需求。这些软件都还是基于网络发展之初的要求,没有利用现代网络的技术,体现不了更为实用的功能。依靠客户端的系统开发时没有考虑园际化的问题,所以也满足不了国际化的要求。最近几年来,我</div>
                    </li>
                    <li><a href="/article/1892493292415807488.htm"
                           title="【练习】【二分】力扣热题100 34. 在排序数组中查找元素的第一个和最后一个位置" target="_blank">【练习】【二分】力扣热题100 34. 在排序数组中查找元素的第一个和最后一个位置</a>
                        <span class="text-muted">柠石榴</span>
<a class="tag" taget="_blank" href="/search/%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA/1.htm">输入输出</a><a class="tag" taget="_blank" href="/search/%E5%8A%9B%E6%89%A3/1.htm">力扣</a><a class="tag" taget="_blank" href="/search/hot100/1.htm">hot100</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/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%88%86/1.htm">二分</a>
                        <div>题目给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。示例1:输入:nums=[5,7,7,8,8,10],target=8输出:[3,4]示例2:输入:nums=[5,7,7,8,8,10],target=6输出</div>
                    </li>
                    <li><a href="/article/1892492662737530880.htm"
                           title="EasyX安装及使用" target="_blank">EasyX安装及使用</a>
                        <span class="text-muted">于冬恋</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>安装链接:EasyXGraphicsLibraryforC++安装完成包含头文件graphics.h即可使用RGB合成颜色(红色部分,绿色部分,蓝色部分)每种颜色的值都是(0~255)坐标默认的原点在窗口的左上角,x轴向右为正,y轴向下为正,度量单位是像素点。设备:简单来说就是绘图表面(在EasyX中,设备分为两种,一种是默认的绘图窗口,一种是IMAGE对象。通过SetWorkinglmage()</div>
                    </li>
                    <li><a href="/article/1892492534286970880.htm"
                           title="AI 大模型:Intelligent Agent—— 开启智能新纪元" target="_blank">AI 大模型:Intelligent Agent—— 开启智能新纪元</a>
                        <span class="text-muted">AI-入门</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/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%A7%E5%93%81%E7%BB%8F%E7%90%86/1.htm">产品经理</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/agi/1.htm">agi</a>
                        <div>在LLM语境下,Agent理解为在某种能自主理解、规划决策、执行复杂任务的智能体,LLM充当着智能体的“大脑”。从软件工程的角度,智能体是一种基于大语言模型的,具备规划思考能力、记忆能力、使用工具函数的能力,能自主完成给定任务的计算机程序。在基于LLM的智能体中,LLM的充当着智能体的“大脑”的角色,同时还有3个关键部分:规划(Planning):智能体会把大型任务分解为子任务,并规划执行任务的流</div>
                    </li>
                    <li><a href="/article/1892489889514057728.htm"
                           title="嵌入式音视频开发(二)ffmpeg音视频同步" target="_blank">嵌入式音视频开发(二)ffmpeg音视频同步</a>
                        <span class="text-muted">云雨歇</span>
<a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a><a class="tag" taget="_blank" href="/search/ffmpeg/1.htm">ffmpeg</a>
                        <div>系列文章目录嵌入式音视频开发(零)移植ffmpeg及推流测试嵌入式音视频开发(一)ffmpeg框架及内核解析嵌入式音视频开发(二)ffmpeg音视频同步嵌入式音视频开发(三)直播协议及编码器文章目录系列文章目录前言一、音视频同步1.1基础概念1.2三种同步方法二、音视频同步的实现2.1时间基的转换问题2.2音频为基准2.2.1实现思路2.2.2代码大纲2.3外部时钟同步2.3.1实现思路2.3.2</div>
                    </li>
                    <li><a href="/article/1892489258774622208.htm"
                           title="CH340N的使用注意事项" target="_blank">CH340N的使用注意事项</a>
                        <span class="text-muted">鹿屿二向箔</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a>
                        <div>使用CH340N将MCU的串口(UART)转换为USB输出是一种常见的方案,适用于需要将嵌入式设备连接到电脑的场景。以下是详细的连接方法和步骤:1.CH340N简介功能:CH340N是一款USB转串口芯片,支持USB2.0协议,可将UART信号转换为USB信号。特点:内置晶振,无需外部晶振。支持5V和3.3V电源电压。封装为SOP-8,体积小,适合紧凑设计。2.硬件连接以下是CH340N与MCU(</div>
                    </li>
                    <li><a href="/article/1892487744546992128.htm"
                           title="欧*雅WCS项目总结" target="_blank">欧*雅WCS项目总结</a>
                        <span class="text-muted">十五001</span>
<a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E5%BD%92%E6%A1%A3/1.htm">项目归档</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/1.htm">程序人生</a>
                        <div>项目介绍使用系统APRISO下发任务与wcs交互,wcs包含与海康agv对接,以及APRISO不纳入管理的库位(包括线边库位、码头库位、暂存区库位、空栈板库位)。wcs的主要定位就是高度定制化贴合生产业务,可以说wcs成为了agv和APRISO之间的桥梁。APRISO下发任务时候,通过生成xml文件实现的,这时候wcs会监听该文件目录新建的xml文件来生成任务。刚开始部署后不到一周出现了监听失效问</div>
                    </li>
                    <li><a href="/article/1892487745390047232.htm"
                           title="生产企业使用系统大全" target="_blank">生产企业使用系统大全</a>
                        <span class="text-muted">十五001</span>
<a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a>
                        <div>作为一般企业员工可能只负责或对其中部分系统比较熟悉,其实如果是一个生产型企业完整的系统大全应该包含以下这些,但由于系统之间可能存在的边界模糊,会把其他系统的功能给进行合并,但不影响我们了解成熟系统所对应的职责,以下就是十大系统的功能:图来源于:白话聊IT一、MES(制造执行系统)核心作用:宛如一座桥梁,衔接企业的计划层(由ERP系统代表)与工厂的实际控制系统,专注于对工厂生产现场进行实时、精准的管</div>
                    </li>
                    <li><a href="/article/1892487238852341760.htm"
                           title="如何快速定位并解决 Linux 系统性能瓶颈:终极全攻略" target="_blank">如何快速定位并解决 Linux 系统性能瓶颈:终极全攻略</a>
                        <span class="text-muted">BitTalk</span>
<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/linux/1.htm">linux</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/java/1.htm">java</a>
                        <div>在现代IT环境中,Linux系统被广泛应用于服务器、嵌入式设备和超级计算机等各类场景。随着系统负载的增加,性能瓶颈不可避免地会影响系统的可靠性和效率。因此,了解如何有效地诊断和解决Linux系统中的性能问题至关重要。本篇博客将深入探讨Linux性能瓶颈的可能来源,介绍各种性能评估方法和概念,并最终提供使用Linux命令查找性能瓶颈的实用指南。性能瓶颈的可能来源在Linux系统中,性能瓶颈可能出现在</div>
                    </li>
                    <li><a href="/article/1892487112591208448.htm"
                           title="【人工智能时代】- AI 聚合平台" target="_blank">【人工智能时代】- AI 聚合平台</a>
                        <span class="text-muted">xiaoli8748_软件开发</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E6%97%B6%E4%BB%A3/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>
                        <div>最近听朋友介绍,国内有个团队开发了一个全功能的AI聚合平台,包含主流的GPT和绘画功能,以及一些其他的衍生功能,几乎应有尽有。于是,对AI很感兴趣的我,便也来瞧瞧这是个什么样的存在,以下便是我的真实使用感受。除此以外,作为一个程序员,我还使用了该平台提供的API接口,开发了一个简单的小程序。文章的末尾,我将提供免费的AI机器人,以及小程序体验地址,记得查收哦~官方网站:https://302.ai</div>
                    </li>
                    <li><a href="/article/1892486356869902336.htm"
                           title="在瑞芯微RK3588平台上使用RKNN部署YOLOv8Pose模型的C++实战指南" target="_blank">在瑞芯微RK3588平台上使用RKNN部署YOLOv8Pose模型的C++实战指南</a>
                        <span class="text-muted">机 _ 长</span>
<a class="tag" taget="_blank" href="/search/YOLO%E7%B3%BB%E5%88%97%E6%A8%A1%E5%9E%8B%E6%9C%89%E6%95%88%E6%B6%A8%E7%82%B9%E6%94%B9%E8%BF%9B/1.htm">YOLO系列模型有效涨点改进</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E8%90%BD%E5%9C%B0%E5%AE%9E%E6%88%98/1.htm">深度学习落地实战</a><a class="tag" taget="_blank" href="/search/YOLO/1.htm">YOLO</a><a class="tag" taget="_blank" href="/search/c%2B%2B/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>在人工智能和计算机视觉领域,人体姿态估计是一项极具挑战性的任务,它对于理解人类行为、增强人机交互等方面具有重要意义。YOLOv8Pose作为YOLO系列中的新成员,以其高效和准确性在人体姿态估计任务中脱颖而出。本文将详细介绍如何在瑞芯微RK3588平台上,使用RKNN(RockchipNeuralNetworkToolkit)框架部署YOLOv8Pose模型,并进行C++代码的编译和运行。注本文全</div>
                    </li>
                    <li><a href="/article/1892485852580343808.htm"
                           title="transformer模型构建" target="_blank">transformer模型构建</a>
                        <span class="text-muted">AI耽误的大厨</span>
<a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86nlp/1.htm">自然语言处理nlp</a><a class="tag" taget="_blank" href="/search/transformer/1.htm">transformer</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/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/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/word2vec/1.htm">word2vec</a>
                        <div>2.6模型构建学习目标掌握编码器-解码器结构的实现过程.掌握Transformer模型的构建过程.通过上面的小节,我们已经完成了所有组成部分的实现,接下来就来实现完整的编码器-解码器结构.Transformer总体架构图:编码器-解码器结构的代码实现#使用EncoderDecoder类来实现编码器-解码器结构classEncoderDecoder(nn.Module):def__init__(se</div>
                    </li>
                    <li><a href="/article/1892485474463838208.htm"
                           title="深度学习之目标检测的常用标注工具" target="_blank">深度学习之目标检测的常用标注工具</a>
                        <span class="text-muted">铭瑾熙</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%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B/1.htm">目标检测</a><a class="tag" taget="_blank" href="/search/%E7%9B%AE%E6%A0%87%E8%B7%9F%E8%B8%AA/1.htm">目标跟踪</a>
                        <div>1LabelImgLabelImg是一款开源的图像标注工具,标签可用于分类和目标检测,它是用Python编写的,并使用Qt作为其图形界面,简单好用。注释以PASCALVOC格式保存为XML文件,这是ImageNet使用的格式。此外,它还支持COCO数据集格式。2labelmelabelme是一款开源的图像/视频标注工具,标签可用于目标检测、分割和分类。灵感是来自于MIT开源的一款标注工具Label</div>
                    </li>
                    <li><a href="/article/1892484970245582848.htm"
                           title="ug12无法连接服务器系统,NX许可证错误:无法连接至许可证服务器系统。SPLM_LICENSE_SERVER错误[-15]..." target="_blank">ug12无法连接服务器系统,NX许可证错误:无法连接至许可证服务器系统。SPLM_LICENSE_SERVER错误[-15]...</a>
                        <span class="text-muted">逍遥药师</span>
<a class="tag" taget="_blank" href="/search/ug12%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%B3%BB%E7%BB%9F/1.htm">ug12无法连接服务器系统</a>
                        <div>问题原因这个问题可以说只要用过NX软件的工程师,都会遇到过,是最常见的NX许可证错误,可以说没有之一,因为这个提示只是告诉你,你的当前NX许可服务没有启动,就算是你安装完NX主程序不安装许可服务,也是这个提示。所以这个警告提示,实际上对你的问题参考没多大帮助。能让NX许可服务不能启动的原因有很多,所以只能自己去排查以下几种情况。解决方案1、检查你的NX许可服务有没有安装。(这是最基本,一般情况下不</div>
                    </li>
                    <li><a href="/article/1892484843401441280.htm"
                           title="DeepSeek-R1 技术全景解析:从原理到实践的“炼金术配方” ——附多阶段训练流程图与核心误区澄清..." target="_blank">DeepSeek-R1 技术全景解析:从原理到实践的“炼金术配方” ——附多阶段训练流程图与核心误区澄清...</a>
                        <span class="text-muted">雪停时偶遇一叶春</span>
<a class="tag" taget="_blank" href="/search/%E6%B5%81%E7%A8%8B%E5%9B%BE/1.htm">流程图</a>
                        <div>合集-人工智能(5)1.如何改进AI模型在特定环境中的知识检索2024-09-242.深度学习与统计学中的时间序列预测2024-10-033.《使用coze搭建一个会搜索、写ppt、思维导图的Agent》2024-10-294.深入浅出:Agent如何调用工具——从OpenAIFunctionCall到CrewAI框架01-145.DeepSeek-R1技术全景解析:从原理到实践的“炼金术配方”—</div>
                    </li>
                    <li><a href="/article/1892483583331856384.htm"
                           title="Python 舆论风向分析爬虫:全流程数据获取、清洗与情感剖析" target="_blank">Python 舆论风向分析爬虫:全流程数据获取、清洗与情感剖析</a>
                        <span class="text-muted">西攻城狮北</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B/1.htm">实战案例</a>
                        <div>引言在当今信息爆炸的时代,互联网上充斥着海量的用户言论和观点。了解舆论风向对于企业、政府机构以及研究者等具有重要的意义,可以帮助他们及时把握公众情绪、调整策略与决策。Python作为一种强大的编程语言,在数据爬取与分析方面具有得天独厚的优势,能够助力我们高效地实现舆情监测与深入剖析。一、环境搭建与目标确定1.环境搭建为了顺利完成爬虫与数据分析任务,首先需要确保你的开发环境已经安装了以下Python</div>
                    </li>
                    <li><a href="/article/1892482446792912896.htm"
                           title="【HarmonyOS Next】鸿蒙监听手机按键" target="_blank">【HarmonyOS Next】鸿蒙监听手机按键</a>
                        <span class="text-muted">GeorgeGcs</span>
<a class="tag" taget="_blank" href="/search/HarmonyOS/1.htm">HarmonyOS</a><a class="tag" taget="_blank" href="/search/%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/1.htm">解决方案</a><a class="tag" taget="_blank" href="/search/OpenHarmony%E7%9F%A5%E8%AF%86%E4%BD%93%E7%B3%BB/1.htm">OpenHarmony知识体系</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a><a class="tag" taget="_blank" href="/search/onKeyEvent/1.htm">onKeyEvent</a><a class="tag" taget="_blank" href="/search/%E6%8C%89%E9%94%AE/1.htm">按键</a><a class="tag" taget="_blank" href="/search/%E7%9B%91%E5%90%AC%E4%BA%8B%E4%BB%B6/1.htm">监听事件</a><a class="tag" taget="_blank" href="/search/%E6%8C%89%E4%B8%8B/1.htm">按下</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a>
                        <div>【HarmonyOSNext】鸿蒙监听手机按键一、前言应用开发中我们会遇到监听用户实体按键,或者扩展按键的需求。亦或者是在某些场景下,禁止用户按下某些按键的业务需求。这两种需求,鸿蒙都提供了对应的监听事件进行处理。onKeyEvent默认的按钮监听事件onKeyPreIme这是优先级最高的监听回调,别上面多了一个return开关,用于告诉系统监听事件是否再向下传递。窗口是第一级接收按钮事件的实体。</div>
                    </li>
                    <li><a href="/article/1892482448659378176.htm"
                           title="【vue】Mammoth.js的使用:将.docx转换成HTML" target="_blank">【vue】Mammoth.js的使用:将.docx转换成HTML</a>
                        <span class="text-muted">暴富暴富暴富啦啦啦</span>
<a class="tag" taget="_blank" href="/search/1024%E7%A8%8B%E5%BA%8F%E5%91%98%E8%8A%82/1.htm">1024程序员节</a>
                        <div>mammoth.convertToHtml(input,options):把源文档转换为HTML文档mammoth.convertToMarkdown(input,options):把源文档转换为Markdown文档。mammoth.extractRawText(input):提取文档的原始文本。这将忽略文档中的所有格式。每个段落后跟两个换行符。npminstallelement-uimammot</div>
                    </li>
                    <li><a href="/article/1892481187906121728.htm"
                           title="麒麟v10安装mysql5.7(ARM架构)" target="_blank">麒麟v10安装mysql5.7(ARM架构)</a>
                        <span class="text-muted">qqxinxi</span>
<a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a>
                        <div>下载路径:华为云镜像麒麟v10是潮流时代的新时髦的linux操作系统,但随着ARM架构流行,出现了一些卡点,不以为然,没当回事的大吃一惊。经常卡住。例如:在安装mysql5.7(ARM架构)最简单:使用rpmmysql-5.7.27.1.el7.aarch64.rpm文件比较小下载完之后rpm-ivhmysql-5.7.27.1.el7.aarch64.rpm比较简单常用的方法,再不能连接互联网时</div>
                    </li>
                    <li><a href="/article/1892480683775946752.htm"
                           title="YOLOv8 Pose使用RKNN进行推理" target="_blank">YOLOv8 Pose使用RKNN进行推理</a>
                        <span class="text-muted">い不靠譜︶朱Sir</span>
<a class="tag" taget="_blank" href="/search/%E5%AE%9E%E7%94%A8%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2/1.htm">实用项目部署</a><a class="tag" taget="_blank" href="/search/YOLO/1.htm">YOLO</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/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/pip/1.htm">pip</a>
                        <div>关注微信公众号:朱sir的小站,发送202411081即可免费获取源代码下载链接一、简单介绍YOLOv8-Pose是一种基于YOLOv8架构的姿态估计模型,能够识别图像中的关键点位置,这些关键点通常表示人体的关节、特征点或其他显著位置。该模型在COCO关键点数据集上训练,适合多种姿势估计任务。二、ONNX推理1.首先需要先将Pytorch模型转换为Onnx模型,下载pt模型这里给出官方的权重下载地</div>
                    </li>
                                <li><a href="/article/126.htm"
                                       title="插入表主键冲突做更新" target="_blank">插入表主键冲突做更新</a>
                                    <span class="text-muted">a-john</span>

                                    <div>有以下场景: 
用户下了一个订单,订单内的内容较多,且来自多表,首次下单的时候,内容可能会不全(部分内容不是必须,出现有些表根本就没有没有该订单的值)。在以后更改订单时,有些内容会更改,有些内容会新增。 
问题: 
如果在sql语句中执行update操作,在没有数据的表中会出错。如果在逻辑代码中先做查询,查询结果有做更新,没有做插入,这样会将代码复杂化。 
解决: 
mysql中提供了一个sql语</div>
                                </li>
                                <li><a href="/article/253.htm"
                                       title="Android xml资源文件中@、@android:type、@*、?、@+含义和区别" target="_blank">Android xml资源文件中@、@android:type、@*、?、@+含义和区别</a>
                                    <span class="text-muted">Cb123456</span>
<a class="tag" taget="_blank" href="/search/%40%2B/1.htm">@+</a><a class="tag" taget="_blank" href="/search/%40/1.htm">@</a><a class="tag" taget="_blank" href="/search/%3F/1.htm">?</a><a class="tag" taget="_blank" href="/search/%40*/1.htm">@*</a>
                                    <div>一.@代表引用资源 
1.引用自定义资源。格式:@[package:]type/name 
android:text="@string/hello" 
  
2.引用系统资源。格式:@android:type/name 
    android:textColor="@android:color/opaque_red"</div>
                                </li>
                                <li><a href="/article/380.htm"
                                       title="数据结构的基本介绍" target="_blank">数据结构的基本介绍</a>
                                    <span class="text-muted">天子之骄</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E6%95%A3%E5%88%97%E8%A1%A8/1.htm">散列表</a><a class="tag" taget="_blank" href="/search/%E6%A0%91%E3%80%81%E5%9B%BE/1.htm">树、图</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E6%80%A7%E7%BB%93%E6%9E%84/1.htm">线性结构</a><a class="tag" taget="_blank" href="/search/%E4%BB%B7%E6%A0%BC%E6%A0%87%E7%AD%BE/1.htm">价格标签</a>
                                    <div>数据结构的基本介绍 
数据结构就是数据的组织形式,用一种提前设计好的框架去存取数据,以便更方便,高效的对数据进行增删查改。正确选择合适的数据结构,对软件程序的高效执行的影响作用不亚于算法的设计。此外,在计算机系统中数据结构的作用也是非同小可。例如常常在编程语言中听到的栈,堆等,就是经典的数据结构。 
  
经典的数据结构大致如下: 
  
一:线性数据结构 
(1):列表 
a</div>
                                </li>
                                <li><a href="/article/507.htm"
                                       title="通过二维码开放平台的API快速生成二维码" target="_blank">通过二维码开放平台的API快速生成二维码</a>
                                    <span class="text-muted">一炮送你回车库</span>
<a class="tag" taget="_blank" href="/search/api/1.htm">api</a>
                                    <div> 现在很多网站都有通过扫二维码用手机连接的功能,联图网(http://www.liantu.com/pingtai/)的二维码开放平台开放了一个生成二维码图片的Api,挺方便使用的。闲着无聊,写了个前台快速生成二维码的方法。 
       html代码如下:(二维码将生成在这div下)    
?       1      
 &nbs</div>
                                </li>
                                <li><a href="/article/634.htm"
                                       title="ImageIO读取一张图片改变大小" target="_blank">ImageIO读取一张图片改变大小</a>
                                    <span class="text-muted">3213213333332132</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/IO/1.htm">IO</a><a class="tag" taget="_blank" href="/search/image/1.htm">image</a><a class="tag" taget="_blank" href="/search/BufferedImage/1.htm">BufferedImage</a>
                                    <div>
package com.demo;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

/**
 * @Description 读取一张图片改变大小
 * @author FuJianyon</div>
                                </li>
                                <li><a href="/article/761.htm"
                                       title="myeclipse集成svn(一针见血)" target="_blank">myeclipse集成svn(一针见血)</a>
                                    <span class="text-muted">7454103</span>
<a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a><a class="tag" taget="_blank" href="/search/MyEclipse/1.htm">MyEclipse</a>
                                    <div>                                 &n</div>
                                </li>
                                <li><a href="/article/888.htm"
                                       title="装箱与拆箱----autoboxing和unboxing" target="_blank">装箱与拆箱----autoboxing和unboxing</a>
                                    <span class="text-muted">darkranger</span>
<a class="tag" taget="_blank" href="/search/J2SE/1.htm">J2SE</a>
                                    <div>4.2 自动装箱和拆箱 
 
基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。虽然为您打包基本数据类型提供了方便,但提供方便的同时表示隐藏了细节,建议在能够区分基本数据类型与对象的差别时再使用。 
 
4.2.1 autoboxing和unboxing 
 
在Java中,所有要处理的东西几乎都是对象(Object)</div>
                                </li>
                                <li><a href="/article/1015.htm"
                                       title="ajax传统的方式制作ajax" target="_blank">ajax传统的方式制作ajax</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a>
                                    <div>//这是前台的代码 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+</div>
                                </li>
                                <li><a href="/article/1142.htm"
                                       title="只用jre的eclipse是怎么编译java源文件的?" target="_blank">只用jre的eclipse是怎么编译java源文件的?</a>
                                    <span class="text-muted">avords</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/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a>
                                    <div>eclipse只需要jre就可以运行开发java程序了,也能自动 编译java源代码,但是jre不是java的运行环境么,难道jre中也带有编译工具? 还是eclipse自己实现的?谁能给解释一下呢问题补充:假设系统中没有安装jdk or jre,只在eclipse的目录中有一个jre,那么eclipse会采用该jre,问题是eclipse照样可以编译java源文件,为什么呢? 
&nb</div>
                                </li>
                                <li><a href="/article/1269.htm"
                                       title="前端模块化" target="_blank">前端模块化</a>
                                    <span class="text-muted">bee1314</span>
<a class="tag" taget="_blank" href="/search/%E6%A8%A1%E5%9D%97%E5%8C%96/1.htm">模块化</a>
                                    <div>背景:   前端JavaScript模块化,其实已经不是什么新鲜事了。但是很多的项目还没有真正的使用起来,还处于刀耕火种的野蛮生长阶段。       JavaScript一直缺乏有效的包管理机制,造成了大量的全局变量,大量的方法冲突。我们多么渴望有天能像Java(import),Python (import),Ruby(require)那样写代码。在没有包管理机制的年代,我们是怎么避免所</div>
                                </li>
                                <li><a href="/article/1396.htm"
                                       title="处理百万级以上的数据处理" target="_blank">处理百万级以上的数据处理</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</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/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%9F%A5%E8%AF%A2/1.htm">查询</a>
                                    <div>一.处理百万级以上的数据提高查询速度的方法:        1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 
        2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 o</div>
                                </li>
                                <li><a href="/article/1523.htm"
                                       title="mac 卸载 java 1.7 或更高版本" target="_blank">mac 卸载 java 1.7 或更高版本</a>
                                    <span class="text-muted">征客丶</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a>
                                    <div>卸载 java 1.7 或更高 
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin 
成功执行此命令后,还可以执行 java 与 javac 命令 
 
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane 
成功执行此命令后,还可以执行 java </div>
                                </li>
                                <li><a href="/article/1650.htm"
                                       title="【Spark六十一】Spark Streaming结合Flume、Kafka进行日志分析" target="_blank">【Spark六十一】Spark Streaming结合Flume、Kafka进行日志分析</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Stream/1.htm">Stream</a>
                                    <div>第一步,Flume和Kakfa对接,Flume抓取日志,写到Kafka中 
第二部,Spark Streaming读取Kafka中的数据,进行实时分析 
  
本文首先使用Kakfa自带的消息处理(脚本)来获取消息,走通Flume和Kafka的对接 1. Flume配置 
1. 下载Flume和Kafka集成的插件,下载地址:https://github.com/beyondj2ee/f</div>
                                </li>
                                <li><a href="/article/1777.htm"
                                       title="Erlang vs TNSDL" target="_blank">Erlang vs TNSDL</a>
                                    <span class="text-muted">bookjovi</span>
<a class="tag" taget="_blank" href="/search/erlang/1.htm">erlang</a>
                                    <div>  
    TNSDL是Nokia内部用于开发电信交换软件的私有语言,是在SDL语言的基础上加以修改而成,TNSDL需翻译成C语言得以编译执行,TNSDL语言中实现了异步并行的特点,当然要完整实现异步并行还需要运行时动态库的支持,异步并行类似于Erlang的process(轻量级进程),TNSDL中则称之为hand,Erlang是基于vm(beam)开发,</div>
                                </li>
                                <li><a href="/article/1904.htm"
                                       title="非常希望有一个预防疲劳的java软件, 预防过劳死和眼睛疲劳,大家一起努力搞一个" target="_blank">非常希望有一个预防疲劳的java软件, 预防过劳死和眼睛疲劳,大家一起努力搞一个</a>
                                    <span class="text-muted">ljy325</span>
<a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E5%BA%94%E7%94%A8/1.htm">企业应用</a>
                                    <div> 非常希望有一个预防疲劳的java软件,我看新闻和网站,国防科技大学的科学家累死了,太疲劳,老是加班,不休息,经常吃药,吃药根本就没用,根本原因是疲劳过度。我以前做java,那会公司垃圾,老想赶快学习到东西跳槽离开,搞得超负荷,不明理。深圳做软件开发经常累死人,总有不明理的人,有个软件提醒限制很好,可以挽救很多人的生命。 
 
相关新闻: 
(1)IT行业成五大疾病重灾区:过劳死平均37.9岁 
</div>
                                </li>
                                <li><a href="/article/2031.htm"
                                       title="读《研磨设计模式》-代码笔记-原型模式" target="_blank">读《研磨设计模式》-代码笔记-原型模式</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/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ 
 
 



/**
 * Effective Java 建议使用copy constructor or copy factory来代替clone()方法:
 * 1.public Product copy(Product p){}
 * 2.publi</div>
                                </li>
                                <li><a href="/article/2158.htm"
                                       title="配置管理---svn工具之权限配置" target="_blank">配置管理---svn工具之权限配置</a>
                                    <span class="text-muted">chenyu19891124</span>
<a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a>
                                    <div>今天花了大半天的功夫,终于弄懂svn权限配置。下面是今天收获的战绩。 
安装完svn后就是在svn中建立版本库,比如我本地的是版本库路径是C:\Repositories\pepos。pepos是我的版本库。在pepos的目录结构 
pepos 
   component 
   webapps 
在conf里面的auth里赋予的权限配置为 
[groups]</div>
                                </li>
                                <li><a href="/article/2285.htm"
                                       title="浅谈程序员的数学修养" target="_blank">浅谈程序员的数学修养</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E6%8B%9B%E8%81%98/1.htm">招聘</a>
                                    <div>         
                        浅谈程序员的数学修养 </div>
                                </li>
                                <li><a href="/article/2412.htm"
                                       title="批量执行 bulk collect与forall用法" target="_blank">批量执行 bulk collect与forall用法</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/bulk+collect/1.htm">bulk collect</a><a class="tag" taget="_blank" href="/search/forall/1.htm">forall</a>
                                    <div>BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎。通常可以在SELECT INTO、 
FETCH INTO以及RETURNING INTO子句中使用BULK COLLECT。本文将逐一描述BULK COLLECT在这几种情形下的用法。 
    有关FORALL语句的用法请参考:批量SQL之 F</div>
                                </li>
                                <li><a href="/article/2539.htm"
                                       title="Linux下使用rsync最快速删除海量文件的方法" target="_blank">Linux下使用rsync最快速删除海量文件的方法</a>
                                    <span class="text-muted">dongwei_6688</span>
<a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a>
                                    <div>1、先安装rsync:yum install rsync 
2、建立一个空的文件夹:mkdir /tmp/test 
3、用rsync删除目标目录:rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/这样我们要删除的log目录就会被清空了,删除的速度会非常快。rsync实际上用的是替换原理,处理数十万个文件也是秒删。 
</div>
                                </li>
                                <li><a href="/article/2666.htm"
                                       title="Yii CModel中rules验证规格" target="_blank">Yii CModel中rules验证规格</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/rules/1.htm">rules</a><a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a><a class="tag" taget="_blank" href="/search/validate/1.htm">validate</a>
                                    <div>Yii cValidator主要用法分析:  
 yii验证rulesit 分类: Yii yii的rules验证 cValidator主要属性 attributes ,builtInValidators,enableClientValidation,message,on,safe,skipOnError 
 </div>
                                </li>
                                <li><a href="/article/2793.htm"
                                       title="基于vagrant的redis主从实验" target="_blank">基于vagrant的redis主从实验</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/vagrant/1.htm">vagrant</a>
                                    <div>平台: Mac 
工具: Vagrant 
系统: Centos6.5 
实验目的: Redis主从 
  
实现思路 
制作一个基于sentos6.5, 已经安装好reids的box, 添加一个脚本配置从机, 然后作为后面主机从机的基础box 
  
制作sentos6.5+redis的box 
  
mkdir vagrant_redis 
cd vagrant_</div>
                                </li>
                                <li><a href="/article/2920.htm"
                                       title="Memcached(二)、Centos安装Memcached服务器" target="_blank">Memcached(二)、Centos安装Memcached服务器</a>
                                    <span class="text-muted">frank1234</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a>
                                    <div>一、安装gcc 
rpm和yum安装memcached服务器连接没有找到,所以我使用的是make的方式安装,由于make依赖于gcc,所以要先安装gcc 
 
开始安装,命令如下,[color=red][b]顺序一定不能出错[/b][/color]:

建议可以先切换到root用户,不然可能会遇到权限问题:su root 输入密码......


rpm -ivh kernel-head</div>
                                </li>
                                <li><a href="/article/3047.htm"
                                       title="Remove Duplicates from Sorted List" target="_blank">Remove Duplicates from Sorted List</a>
                                    <span class="text-muted">hcx2013</span>
<a class="tag" taget="_blank" href="/search/remove/1.htm">remove</a>
                                    <div>Given a sorted linked list, delete all duplicates such that each element appear only once. 
For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return&</div>
                                </li>
                                <li><a href="/article/3174.htm"
                                       title="Spring4新特性——JSR310日期时间API的支持" target="_blank">Spring4新特性——JSR310日期时间API的支持</a>
                                    <span class="text-muted">jinnianshilongnian</span>
<a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a>
                                    <div>Spring4新特性——泛型限定式依赖注入 
Spring4新特性——核心容器的其他改进 
Spring4新特性——Web开发的增强 
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC  
Spring4新特性——Groovy Bean定义DSL 
Spring4新特性——更好的Java泛型操作API  
Spring4新</div>
                                </li>
                                <li><a href="/article/3301.htm"
                                       title="浅谈enum与单例设计模式" target="_blank">浅谈enum与单例设计模式</a>
                                    <span class="text-muted">247687009</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B/1.htm">单例</a>
                                    <div>在JDK1.5之前的单例实现方式有两种(懒汉式和饿汉式并无设计上的区别故看做一种),两者同是私有构
造器,导出静态成员变量,以便调用者访问。

第一种 
package singleton;

public class Singleton {
        //导出全局成员
        public final static Singleton INSTANCE = new S</div>
                                </li>
                                <li><a href="/article/3428.htm"
                                       title="使用switch条件语句需要注意的几点" target="_blank">使用switch条件语句需要注意的几点</a>
                                    <span class="text-muted">openwrt</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/break/1.htm">break</a><a class="tag" taget="_blank" href="/search/switch/1.htm">switch</a>
                                    <div>1. 当满足条件的case中没有break,程序将依次执行其后的每种条件(包括default)直到遇到break跳出 
 
int main()
{
    int n = 1;
    switch(n) {
    case 1:
        printf("--1--\n");
    default:
        printf("defa</div>
                                </li>
                                <li><a href="/article/3555.htm"
                                       title="配置Spring Mybatis JUnit测试环境的应用上下文" target="_blank">配置Spring Mybatis JUnit测试环境的应用上下文</a>
                                    <span class="text-muted">schnell18</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/JUnit/1.htm">JUnit</a>
                                    <div>Spring-test模块中的应用上下文和web及spring boot的有很大差异。主要试下来差异有: 
 
 单元测试的app context不支持从外部properties文件注入属性 
 @Value注解不能解析带通配符的路径字符串 
 
解决第一个问题可以配置一个PropertyPlaceholderConfigurer的bean。 
第二个问题的具体实例是: 
   </div>
                                </li>
                                <li><a href="/article/3682.htm"
                                       title="Java 定时任务总结一" target="_blank">Java 定时任务总结一</a>
                                    <span class="text-muted">tuoni</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/timer/1.htm">timer</a><a class="tag" taget="_blank" href="/search/quartz/1.htm">quartz</a><a class="tag" taget="_blank" href="/search/timertask/1.htm">timertask</a>
                                    <div> Java定时任务总结  一.从技术上分类大概分为以下三种方式:  1.Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务;   说明:    java.util.Timer定时器,实际上是个线程,定时执行TimerTask类 &</div>
                                </li>
                                <li><a href="/article/3809.htm"
                                       title="一种防止用户生成内容站点出现商业广告以及非法有害等垃圾信息的方法" target="_blank">一种防止用户生成内容站点出现商业广告以及非法有害等垃圾信息的方法</a>
                                    <span class="text-muted">yangshangchuan</span>
<a class="tag" taget="_blank" href="/search/rank/1.htm">rank</a><a class="tag" taget="_blank" href="/search/%E7%9B%B8%E4%BC%BC%E5%BA%A6%E8%AE%A1%E7%AE%97/1.htm">相似度计算</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E6%9C%AC%E7%9B%B8%E4%BC%BC%E5%BA%A6/1.htm">文本相似度</a><a class="tag" taget="_blank" href="/search/%E8%AF%8D%E8%A2%8B%E6%A8%A1%E5%9E%8B/1.htm">词袋模型</a><a class="tag" taget="_blank" href="/search/%E4%BD%99%E5%BC%A6%E7%9B%B8%E4%BC%BC%E5%BA%A6/1.htm">余弦相似度</a>
                                    <div>本文描述了一种在ITEYE博客频道上面出现的新型的商业广告形式及其应对方法,对于其他的用户生成内容站点类型也具有同样的适用性。 
  
最近在ITEYE博客频道上面出现了一种新型的商业广告形式,方法如下: 
    1、注册多个账号(一般10个以上)。 
    2、从多个账号中选择一个账号,发表1-2篇博文</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>