Linux下使用PHP实现word转html

最近项目遇到一个需求,网页上传docx文档,将其内容导入到富文本编辑器中。
  • 方案一:phpword读取word内容,将内容放进编辑器;
    结果:文档中带有超链接的文字统统被过滤掉了,原因不明,百度谷歌亦不得其解。遂放弃!

  • 方案二:使用windows下的COM组件,但是本人环境均是Linux,遂又放弃!

  • 方案三:使用LibOffice读取word内容,将其转换为html代码。

实现步骤:(以centos为例)
  1. 安装LibOffice:
    yum install libreoffice
    很多都是下载安装包啥啥的,本人懒,就这么着!
  2. 为了防止中文乱码,咱们再来装上中文语言支持:
    yum -y install libreoffice-langpack-zh-Han*
  3. 为了能够命令行启动,再来安装一下一个支持库:
    yum install libreoffice-headless
  4. 安装unoconv;LibOffice可以方便的打开多文档格式并按需进行转换,但要一次处理大量文件或要编写脚本进行转换时,仅用LibOffice就难以胜任了。 用unoconv就可以轻松地实现利用LibOffice可以打开的文档的转换.
wget https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv

chmod +x unoconv
ln -s /usr/libreoffice/unoconv /usr/bin/unoconv

yum install unoconv
  1. 接下来就是PHP操作环节(TP5为例):
  • 上传文件的处理
public function index()
    {
        if (\request()->file("file")) {
            $file = \request()->file('file');
            $info = $file->move('./uploads/word2html');
            if ($info) {
                $path = '/uploads/word2html/' . $info->getSaveName();
                $content = $this->word_import($path);
                $res = [
                    'code' => 1,
                    'msg' => 'OK',
                    'data' => $content,
                ];
                return \json_encode($res);
            }
        }
    }
  • 对word文档的转换处理

注意:shell_exec是Linux的命令,所以文件的路径必须是Linux命令能够执行到的路径!!!还有一点更重要:用命令行执行php 转换可行的时候,浏览器却不执行,原因在于代码里的注释,好好看!没有sudoers的话请先安装sudo

function word_import($source)
    {
        $dir = dirname($source);
        $filename = strstr(basename($source), '.', true) . '.html';
        $html = $dir . '/html/' . $filename;

        /*这里能够执行的条件:必须把www加入root权限组,并且设置为不需要root密码:设置步骤:打开/etc/sudoers文件,100行左右的地方加上:
        'www        ALL=(ALL)   NOPASSWD: ALL'这么一句*/
        shell_exec('sudo /usr/bin/unoconv -f html -o ' . '/mnt/d/www/wwwroot/www.demo.com/public' . $html . ' ' . '/mnt/d/www/wwwroot/www.demo.com/public' . $source);

        $content = file_get_contents('.' . $html);

        //取body内容,去除样式等其他
        preg_match("/(.*?)<\/body>/is", $content, $match);
        $body = trim($match[0]);
        //设置保留标签,利用php自带的函数清除html格式。保留指定标签
        $body = strip_tags($body, "


    1. <video>"); //图片保存到本地 $str = str_replace('<img src="', '<img src="' . $dir . '/html/', $body); return $str; } </code></pre> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1718011147229147136"></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">你可能感兴趣的:(Linux下使用PHP实现word转html)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1892644011152306176.htm" title="怎么下载网页的视频" target="_blank">怎么下载网页的视频</a> <span class="text-muted">666z</span> <a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a> <div>内容来自b站痕继痕迹博主,本人只是部分总结(),有些未整,因为感觉不好用1.用网站-Parsevideo网址:https://pv.vlogdownloader.com/在不登录的情况下可以解析5条网站,登录了是10条-硕鼠网址:http://www.flvcd.com/-视频鱼网址:http://shipinyu.com/可以完全免费使用如果有很想下载却下载不了的视频,可以人工付费下载-一个国外</div> </li> <li><a href="/article/1892643884815675392.htm" title="内网下,Ubuntu (24.10) 离线安装docker以及离线安装docker compose最新教程" target="_blank">内网下,Ubuntu (24.10) 离线安装docker以及离线安装docker compose最新教程</a> <span class="text-muted">AIOTASUD</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</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/Ubuntu/1.htm">Ubuntu</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</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/Ubuntu/1.htm">Ubuntu</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85docker/1.htm">离线安装docker</a> <div>一般在数据比较敏感的情况下,是无法使用网络的,而对于Ubuntu系统来说,怎么离线安装docker和离线安装dockercompose呢?下面我给大家来讲一下:离线安装docker采用二进制安装:1.下载docker离线包官网下载:Indexoflinux/static/stable/x86_64/https://download.docker.com/linux/static/stable/x8</div> </li> <li><a href="/article/1892643504849481728.htm" title="【MyBatis】处理数据库字段名和Java实体类的属性名不一致的5种方法" target="_blank">【MyBatis】处理数据库字段名和Java实体类的属性名不一致的5种方法</a> <span class="text-muted">卡文迪许的引力常量</span> <a class="tag" taget="_blank" href="/search/MyBatis/1.htm">MyBatis</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</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/java/1.htm">java</a> <div>在MyBatis中,数据库表中的字段名和实体类的属性名可能不一致,下面是常见的几种方法来处理这种不一致的命名规则。方法1:SQL别名AS在SELECT语句中设置列别名(这是一个基本的SQL特性)可以强行使之匹配。selectuser_idas"id",user_nameas"userName",hashed_passwordas"hashedPassword"fromsome_tablewhere</div> </li> <li><a href="/article/1892643126066081792.htm" title="大学实验课设无忧 ------ 基于FPGA动态数码管数字时钟" target="_blank">大学实验课设无忧 ------ 基于FPGA动态数码管数字时钟</a> <span class="text-muted">FPGA猫</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%AD%A6%E5%AE%9E%E9%AA%8C%E8%AF%BE%E8%AE%BE%E6%97%A0%E5%BF%A7/1.htm">大学实验课设无忧</a><a class="tag" taget="_blank" href="/search/fpga%E5%BC%80%E5%8F%91/1.htm">fpga开发</a> <div>一、前言动态数码管显示是FPGA开发中常见的应用场景之一,尤其在数字时钟、计数器等设计中广泛应用。本文将介绍如何使用FPGA实现一个基于动态数码管的数字时钟,能够显示时、分、秒。该设计基于XilinxFPGA开发板,使用VerilogHDL编写代码,适合初学者学习和参考。二、设计思路本设计分为以下主要模块:时钟分频模块:将系统时钟分频为1Hz信号,用于计时或符合设计需求的频率。动态扫描模块:控制数</div> </li> <li><a href="/article/1892643126758141952.htm" title="SpringAI集成DeepSeek实战" target="_blank">SpringAI集成DeepSeek实战</a> <span class="text-muted">小马不敲代码</span> <a class="tag" taget="_blank" href="/search/%E5%AE%9E%E6%88%98/1.htm">实战</a><a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a> <div>SpringAI集成DeepSeek实战教程引言SpringAI作为Spring生态系统中的新成员,为开发者提供了便捷的AI集成方案。本文将详细介绍如何在Spring项目中集成DeepSeek模型,实现智能对话等功能。环境准备在开始之前,请确保您的开发环境满足以下要求:JDK17或更高版本SpringBoot3.xMaven或Gradle构建工具DeepSeekAPI密钥项目配置首先,在pom.x</div> </li> <li><a href="/article/1892642496312307712.htm" title="DeepSeek智能测试助手:分类+推理+导出一站式工具" target="_blank">DeepSeek智能测试助手:分类+推理+导出一站式工具</a> <span class="text-muted">Python测试之道</span> <a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E6%8F%90%E6%95%88/1.htm">测试提效</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</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/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B/1.htm">测试用例</a> <div>前言测试开发工程师在日常工作中需要处理大量测试文档,并且这些文档需要被高效分类、清洗和管理,同时结合强大的AI推理能力(如DeepSeek模型)进行智能化处理和分析。为此,我们开发了一款基于PyQt5的GUI工具,集文件分类、内容清洗、内容展示、DeepSeek推理和结果导出于一体。本文将详细介绍这款工具的功能实现,并提供完整的源码,让测试工程师轻松实现测试文档的智能化管理与分析。功能特点智能文档</div> </li> <li><a href="/article/1892642117717651456.htm" title="课外补充InnoDB知识:InnoDB表的优势" target="_blank">课外补充InnoDB知识:InnoDB表的优势</a> <span class="text-muted">1.01^1000</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E5%85%B3%E7%B3%BB%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">关系型数据库</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>MySQL优化学习大纲1.InnoDB存储引擎在实际应用中拥有诸多优势,比如操作便利、提高了数据库的性能、维护成本低等。如果由于硬件或软件的原因导致服务器崩溃,那么在重启服务器之后不需要进行额外的操作。InnoDB崩溃恢复功能自动将之前提交的内容定型,然后撤销没有提交的进程,重启之后继续从崩溃点开始执行。2.InnoDB存储引擎在主内存中维护缓冲池,高频率使用的数据将在内存中直接被处理。这种缓存方</div> </li> <li><a href="/article/1892641990772846592.htm" title="后台管理系统的通用权限解决方案(四)SpringBoot整合Dozer实现对象属性复制" target="_blank">后台管理系统的通用权限解决方案(四)SpringBoot整合Dozer实现对象属性复制</a> <span class="text-muted">维先生d</span> <a class="tag" taget="_blank" href="/search/%E5%90%8E%E5%8F%B0%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F%E7%9A%84%E9%80%9A%E7%94%A8%E6%9D%83%E9%99%90%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/1.htm">后台管理系统的通用权限解决方案</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</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%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/Dozer/1.htm">Dozer</a><a class="tag" taget="_blank" href="/search/beanutils/1.htm">beanutils</a><a class="tag" taget="_blank" href="/search/%E5%AF%B9%E8%B1%A1%E5%B1%9E%E6%80%A7%E5%A4%8D%E5%88%B6/1.htm">对象属性复制</a> <div>1dozer介绍dozer是JavaBean到JavaBean映射器,它以递归方式将数据从一个对象复制到另一个对象。dozer是用来对两个对象之间属性转换的工具,有了这个工具之后,我们将一个对象的所有属性值转给另一个对象时,就不需要再去写重复的调用set和get方法了。dozer其实是对我们熟知的beanutils的封装。2dozer案例1)创建maven工程dozer-demo,并配置其pom.</div> </li> <li><a href="/article/1892641864490741760.htm" title="Starlink卫星动力学系统仿真建模番外篇8-磁强计" target="_blank">Starlink卫星动力学系统仿真建模番外篇8-磁强计</a> <span class="text-muted">瓦力的狗腿子</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1/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/simulink/1.htm">simulink</a> <div>磁强计工作原理、相关算法、使用策略及注意事项1.工作原理磁强计用于测量磁场强度和方向,常见类型包括:霍尔效应磁强计:基于霍尔效应,当电流通过导体并置于磁场中时,会在垂直于电流和磁场的方向上产生电压,通过测量该电压可确定磁场强度。磁阻效应磁强计:利用某些材料的电阻随磁场变化的特性,通过测量电阻变化来推算磁场强度。磁通门磁强计:通过铁芯线圈在交变磁场中的饱和效应,测量外部磁场。SQUID磁强计:利用超</div> </li> <li><a href="/article/1892641612245299200.htm" title="Starlink卫星动力学系统仿真建模第六讲-导航制导与控制系统概述" target="_blank">Starlink卫星动力学系统仿真建模第六讲-导航制导与控制系统概述</a> <span class="text-muted">瓦力的狗腿子</span> <a class="tag" taget="_blank" href="/search/simulink/1.htm">simulink</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1/1.htm">数学建模</a> <div>本文介绍现代典型卫星姿轨控系统的操作模式。每个模式以功能需求、功能框图和实现途径等形式给出,控制模式的动态效果以各种仿真的形式进行描述和验证。姿轨控系统主要负责卫星在轨期间的任务调度(姿轨控相关)、轨道、姿态确定与控制,具体功能与要求包括:a)任务调度:根据星上姿轨控设备反馈的卫星轨道和姿态信息情况确定姿轨控应采取的姿态指向模式以及控制算法等;b)轨道确定:通过卫星导航接收机完成自主轨道测量与确定</div> </li> <li><a href="/article/1892641359471374336.htm" title="Java 毕业设计辅导:毕业答辩不再是噩梦,轻松顺利毕业" target="_blank">Java 毕业设计辅导:毕业答辩不再是噩梦,轻松顺利毕业</a> <span class="text-muted">Hello毕设之家(专业接毕设)</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</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%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>毕业答辩是你人生的一个小考验,但也不必太紧张!想要把毕业设计做得既高效又不掉链子?我会带你从设计到实现,再到答辩环节,让你顺利毕业,轻松走向职场!让我们一起把这个“最后一关”变成你职业生涯的第一步!你需要我帮忙的地方:毕业设计的最后冲刺:项目实现后,我们一起整理、优化,让你的毕业设计在答辩时给导师留下深刻印象!不仅系统要好,文档、报告也要完美!答辩辅导:答辩怕什么?我会帮你准备答辩时最常见的问题,</div> </li> <li><a href="/article/1892641360008245248.htm" title="Oracle和MySQL的分页查询语句" target="_blank">Oracle和MySQL的分页查询语句</a> <span class="text-muted">命中的缘分</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>在数据库系统中,特别是在Oracle和MySQL中,分页查询是一种常见需求,用于处理大量数据时只展示部分结果。下面分别介绍在Oracle和MySQL中实现分页查询的语句。Oracle中的分页在Oracle中,你可以使用ROWNUM或者FETCHFIRST和OFFSET子句来实现分页。使用ROWNUMSELECT*FROM(SELECTyour_columns,ROWNUMrnumFROMyour_</div> </li> <li><a href="/article/1892640352028913664.htm" title="【大数据分析】Spark SQL查询:使用SQL命令" target="_blank">【大数据分析】Spark SQL查询:使用SQL命令</a> <span class="text-muted">sword_csdn</span> <a class="tag" taget="_blank" href="/search/Spark/1.htm">Spark</a><a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a> <div>对于使用关系型数据库或分布式数据库的用户可能更容易和更自然地使用SQL,比如Hive。在SparkSQL编写SQL命令时,它们将被转换为DataFrame上的操作。通过连接到Spark的Thrift服务器,它们可以通过标准的JDBC或ODBC协议从应用服务器连接到Spark。Spark支持两种SQL方言:SQL和HQL。Spark社区推荐的是HQL,因为HQL具有更丰富的功能。要使用HQL,需要使</div> </li> <li><a href="/article/1892639593170268160.htm" title="使用SingleStoreDB构建高效的AI检索器" target="_blank">使用SingleStoreDB构建高效的AI检索器</a> <span class="text-muted">qahaj</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/python/1.htm">python</a> <div>在构建现代AI应用时,高效存储和检索向量数据是不可或缺的一环。SingleStoreDB是一款高性能的分布式SQL数据库,不仅支持云端和本地部署,还具备向量存储能力及相关函数(如dot_product和euclidean_distance),能够很好地支持基于向量的应用场景,如文本相似度匹配。本文将以SingleStoreDB为核心,结合LangChain生态系统,展示如何实现一个简单但功能强大的</div> </li> <li><a href="/article/1892639340933214208.htm" title="C++虚函数:解锁多态的“动态密码" target="_blank">C++虚函数:解锁多态的“动态密码</a> <span class="text-muted">福鸦</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</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>C++虚函数:解锁多态的“动态密码”开篇小故事:遥控器的“智能按钮”假设你有一个万能遥控器,上面只有一个“开关”按钮:按下时,电视会开机,空调会制冷,电灯会亮起。同一个按钮,却能根据设备类型触发不同行为。C++中的虚函数(VirtualFunction)就像这个“智能按钮”,允许基类指针在运行时动态调用子类的具体实现。今天,我们就来揭开虚函数的神秘面纱!一、虚函数是什么?虚函数是C++实现运行时多</div> </li> <li><a href="/article/1892638280189538304.htm" title="XSS 与 CSRF 攻击你了解多少呢" target="_blank">XSS 与 CSRF 攻击你了解多少呢</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/javascript%E5%89%8D%E7%AB%AF%E5%AE%89%E5%85%A8/1.htm">javascript前端安全</a> <div>网络安全至关重要,它保护着我们的个人信息和网站的正常运行。XSS和CSRF是两种常见且危险的网络威胁,它常常困扰着我们,而你又了解多少呢?一、XSS攻击深度剖析(一)概念溯源与攻击本质XSS,即跨站脚本攻击,其核心在于攻击者利用网站对用户输入数据处理的漏洞,将恶意脚本注入网页。当其他用户访问该网页时,浏览器会误将这些恶意脚本当作正常网页内容执行,从而沦为攻击者的“傀儡”,实现用户敏感信息窃取、会话</div> </li> <li><a href="/article/1892638206986350592.htm" title="Docker部署Kibana8" target="_blank">Docker部署Kibana8</a> <span class="text-muted">GitIDEA</span> <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>安装Kibana安装Kibana前置创建并配置kibana.yml启动Kibana检查是否启动成功通过页面访问Docker安装Kibana:GitIDEA安装Kibana前置Kibana是一款适用于Elasticsearch的源可用数据可视化仪表板软件。使用docker下载kibanadockerpullkibana:8.13.0查看es的ipdockerinspect809c99acde7f|g</div> </li> <li><a href="/article/1892638153043406848.htm" title="基于Rust开发git-cryptx与Obsidian实现加密多机同步的写作方案" target="_blank">基于Rust开发git-cryptx与Obsidian实现加密多机同步的写作方案</a> <span class="text-muted"></span> <div>「知识管理的尽头,是安全与效率的平衡」——你的每一份笔记都值得被加密保护痛点直击:为什么需要加密同步?Obsidian的好用程度不必多说(个人心目中最佳),然而官方同步服务年费高达48~96美元,且对隐私敏感用户而言,将笔记明文存储在第三方平台存在风险。使用ObsidianGit插件同步方案虽然免费,但安全性存在两大硬伤:隐私泄露:配置文件、日记、账号密码等敏感内容以明文形式存储Github、Gi</div> </li> <li><a href="/article/1892637954677993472.htm" title="编程语言" target="_blank">编程语言</a> <span class="text-muted">難釋懷</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>在当今数字化的时代,编程语言作为人与计算机交流的桥梁,扮演着至关重要的角色。无论是开发一款手机应用、创建一个网站还是实现复杂的数据分析,选择合适的编程语言都是成功的关键之一。本文将带你走进编程语言的世界,探索它们的基本概念、类型以及如何根据项目需求选择最合适的工具。一、什么是编程语言?编程语言是一种用于编写计算机程序的形式化语言,它定义了一套规则和语法,让开发者能够指示计算机执行特定任务。编程语言</div> </li> <li><a href="/article/1892637897434132480.htm" title="为什么说异步编程是反人类" target="_blank">为什么说异步编程是反人类</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E5%BC%82%E6%AD%A5%E7%BC%96%E7%A8%8B/1.htm">编程异步编程</a> <div>异步编程作为一种编程模式,在提高程序响应性、效率和可扩展性方面具有显著优势。然而,很多开发者称异步编程为“反人类”,主要是因为其相对复杂的逻辑、调试困难以及在一些情况下可能带来的潜在陷阱。异步编程的难点在于理解异步执行的时序、错误处理的方式以及在多线程和异步操作混合使用时的复杂性。这一模式特别适合处理I/O密集型操作,然而它的实现和管理常常让开发者感到头痛。一、异步编程的复杂性异步编程本质上是为了</div> </li> <li><a href="/article/1892637702419968000.htm" title="CSDN2019博客之星评选——期待各位大佬的投票!" target="_blank">CSDN2019博客之星评选——期待各位大佬的投票!</a> <span class="text-muted">十步杀一人_千里不留行</span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/1.htm">程序人生</a> <div>我的序号是68,68,68!!http://m234140.nofollow.ax.mvote.cn/opage/d4cf886a-057e-1c0d-56f1-3a86340af8fd.html2019年CSDN博客之星年度总评选已开启:68.十步杀一人_千里不留行,微信、QQ、微博渠道可以连投5票哦!扫码为我投票哦:</div> </li> <li><a href="/article/1892637262924017664.htm" title="Python 抽象基类 ABC :从实践到优雅" target="_blank">Python 抽象基类 ABC :从实践到优雅</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>今天我们来聊聊Python中的抽象基类(AbstractBaseClass,简称ABC)。虽然这个概念在Python中已经存在很久了,但在日常开发中,很多人可能用得并不多,或者用得不够优雅。让我们从一个实际场景开始:假设你正在开发一个文件处理系统,需要支持不同格式的文件读写,比如JSON、CSV、XML等。初始版本:简单但不够严谨我们先来看看最简单的实现方式:classFileHandler:de</div> </li> <li><a href="/article/1892637261648949248.htm" title="Python 并发编程实战:优雅地使用 concurrent.futures" target="_blank">Python 并发编程实战:优雅地使用 concurrent.futures</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>在Python多线程编程中,concurrent.futures模块提供了一个高层的接口来异步执行可调用对象。今天,我们将通过一个循序渐进的案例,深入了解如何使用这个强大的工具。从一个模拟场景开始假设我们需要处理一批网络请求。为了模拟这个场景,我们使用sleep来代表耗时操作:importtimeimportrandomdefslow_operation(task_id):"""模拟一个耗时的网络</div> </li> <li><a href="/article/1892636567688769536.htm" title="langchain系列(二)- 提示词模板以及消息" target="_blank">langchain系列(二)- 提示词模板以及消息</a> <span class="text-muted">码--到成功</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大语言模型</a><a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a> <div>导读环境:OpenEuler、Windows11、WSL2、Python3.12.3langchain0.3背景:前期忙碌的开发阶段结束,需要沉淀自己的应用知识,过一遍LangChain时间:20250212说明:技术梳理提示词模板理论说明提示模板将用户输入和参数转换为语言模型的指令,以此来实现模型的响应,帮助它理解上下文并生成相关且连贯的基于语言的输出。其接受一个字典作为输入,其中每个键代表提示</div> </li> <li><a href="/article/1892636440391643136.htm" title="Qt/C++编写自定义控件72-提示进度条" target="_blank">Qt/C++编写自定义控件72-提示进度条</a> <span class="text-muted">feiyangqingyun</span> <a class="tag" taget="_blank" href="/search/Qt%2FC%2B%2B%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8E%A7%E4%BB%B6/1.htm">Qt/C++自定义控件</a><a class="tag" taget="_blank" href="/search/Qt%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8E%A7%E4%BB%B6/1.htm">Qt自定义控件</a><a class="tag" taget="_blank" href="/search/%E6%8F%90%E7%A4%BA%E8%BF%9B%E5%BA%A6%E6%9D%A1/1.htm">提示进度条</a><a class="tag" taget="_blank" href="/search/%E6%8F%92%E4%BB%B6%E5%85%8D%E8%B4%B9/1.htm">插件免费</a> <div>一、前言我们在很多的安装包中,在安装过程中,经常可以在底部看到一个漂亮的进度条,上面悬浮着显示对应的进度,然后底部进度多种颜色渐变展示,Qt自带的进度条或者操作系统的进度条样式,不够炫,这次索性直接来个自定义绘制实现,至于是继承QWidget类还是QProgressBar类,都无所谓,如果是继承自QWidget类的话,就需要自己设置最大值最小值范围值,而继承自QProgressBar的话就可以直接</div> </li> <li><a href="/article/1892636438655201280.htm" title="Matplotlib 高级图表绘制与交互式可视化(ipywidgets)" target="_blank">Matplotlib 高级图表绘制与交互式可视化(ipywidgets)</a> <span class="text-muted">eqwaak0</span> <a class="tag" taget="_blank" href="/search/matplotlib/1.htm">matplotlib</a><a class="tag" taget="_blank" href="/search/matplotlib/1.htm">matplotlib</a><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><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>目录:ipywidgets介绍1.什么是ipywidgets直接开始:动态调整正弦波频率随机散点图启用交互式模式使用滑块和下拉菜单调整图表样式使用布局管理器创建复杂界面使用动画创建动态图表最后:综合示例:动态仪表盘ipywidgets介绍1.什么是ipywidgetsipywidgets是一个用于JupyterNotebook和JupyterLab的交互式HTML小部件库,允许用户在Jupyter</div> </li> <li><a href="/article/1892635304905469952.htm" title="使用UnstructuredXMLLoader加载和解析XML文件" target="_blank">使用UnstructuredXMLLoader加载和解析XML文件</a> <span class="text-muted">bBADAS</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</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><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>在AI技术与文本解析领域中,解析XML文件是一项非常基础的任务。XML格式常用于数据交换,而在某些情况下,我们需要将XML中的内容转换为结构化的数据,以便于进一步处理。在这篇文章中,我将向大家介绍如何使用UnstructuredXMLLoader来加载和解析XML文件。1.技术背景介绍XML(可扩展标记语言)是一种标记语言,设计用于数据的存储和传输。由于其结构化和可读性强的特性,在网络和软件开发中</div> </li> <li><a href="/article/1892633918528614400.htm" title="在本地部署Ollama服务接口附加OpenWebUI做测试" target="_blank">在本地部署Ollama服务接口附加OpenWebUI做测试</a> <span class="text-muted">alalaal</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/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>使用Ollama在本地部署一个类似openai的API做开发和测试1、准备一个旧电脑因为配置要求不高,五年前的电脑都能使用,装一块旧显卡,显存大一点的最好有8G。实在没显卡也没关系,电脑内存大也能运行,无非运行的慢一些不影响开发测试。在电脑上安装centosstream9服务器带界面版,装上显卡驱动,没有显卡的只装系统就行了。配置好能上网(本篇不用科学上网)。2、安装ollama随便一个目录下,执</div> </li> <li><a href="/article/1892633666165731328.htm" title="Ubuntu Server下实施LVS-DR实验服务器" target="_blank">Ubuntu Server下实施LVS-DR实验服务器</a> <span class="text-muted">ZynCobol</span> <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/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/lvs/1.htm">lvs</a> <div>LVS(LinuxVirtualServer)是一个在Linux操作系统上实现的负载均衡解决方案,其中的DR(DirectRouting)模式是其中一种常用的实现方式。本文将介绍如何在UbuntuServer上搭建LVS-DR实验服务器,并提供相应的源代码。LVS-DR(DirectRouting)模式是一种无需修改客户端IP地址的负载均衡模式。在LVS-DR模式中,负载均衡器只负责将请求转发给后</div> </li> <li><a href="/article/1892633347381850112.htm" title="项目管理的核心是什么?" target="_blank">项目管理的核心是什么?</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a> <div>项目管理不仅仅是按照一定的计划进行任务的执行,更重要的是如何在面对复杂和动态的环境下,保证项目顺利进行并达到预期的结果。它的核心在于高效的资源配置、团队的合作与协调、风险管理及变更管理。在这些关键因素的支持下,项目能够高效地从开始到结束,达到预定目标,控制风险,并实现价值。项目管理的本质是通过系统化的方法论,确保项目在规定的时间、预算和质量标准内完成。而在实际过程中,项目经理需要面对许多不可预见的</div> </li> <li><a href="/article/89.htm" title="java责任链模式" target="_blank">java责任链模式</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/%E8%B4%A3%E4%BB%BB%E9%93%BE%E6%A8%A1%E5%BC%8F/1.htm">责任链模式</a><a class="tag" taget="_blank" href="/search/%E6%9D%91%E6%B0%91%E5%91%8A%E5%8E%BF%E9%95%BF/1.htm">村民告县长</a> <div>责任链模式,通常就是一个请求从最低级开始往上层层的请求,当在某一层满足条件时,请求将被处理,当请求到最高层仍未满足时,则请求不会被处理。 就是一个请求在这个链条的责任范围内,会被相应的处理,如果超出链条的责任范围外,请求不会被相应的处理。 下面代码模拟这样的效果: 创建一个政府抽象类,方便所有的具体政府部门继承它。 package 责任链模式; /** * </div> </li> <li><a href="/article/216.htm" title="linux、mysql、nginx、tomcat 性能参数优化" target="_blank">linux、mysql、nginx、tomcat 性能参数优化</a> <span class="text-muted">ronin47</span> <div>一、linux 系统内核参数 /etc/sysctl.conf文件常用参数 net.core.netdev_max_backlog = 32768 #允许送到队列的数据包的最大数目 net.core.rmem_max = 8388608 #SOCKET读缓存区大小 net.core.wmem_max = 8388608 #SOCKET写缓存区大</div> </li> <li><a href="/article/343.htm" title="php命令行界面" target="_blank">php命令行界面</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/cli/1.htm">cli</a> <div>常用选项 php -v php -i PHP安装的有关信息 php -h 访问帮助文件 php -m 列出编译到当前PHP安装的所有模块 执行一段代码 php -r 'echo "hello, world!";' php -r 'echo "Hello, World!\n";' php -r '$ts = filemtime("</div> </li> <li><a href="/article/470.htm" title="Filter&Session" target="_blank">Filter&Session</a> <span class="text-muted">171815164</span> <a class="tag" taget="_blank" href="/search/session/1.htm">session</a> <div>Filter HttpServletRequest requ = (HttpServletRequest) req; HttpSession session = requ.getSession(); if (session.getAttribute("admin") == null) { PrintWriter out = res.ge</div> </li> <li><a href="/article/597.htm" title="连接池与Spring,Hibernate结合" target="_blank">连接池与Spring,Hibernate结合</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div>        前几篇关于Java连接池的介绍都是基于Java应用的,而我们常用的场景是与Spring和ORM框架结合,下面就利用实例学习一下这方面的配置。         1.下载相关内容:     &nb</div> </li> <li><a href="/article/724.htm" title="[简单]mybatis判断数字类型" target="_blank">[简单]mybatis判断数字类型</a> <span class="text-muted">53873039oycg</span> <a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a> <div>       昨天同事反馈mybatis保存不了int类型的属性,一直报错,错误信息如下:       Caused by: java.lang.NumberFormatException: For input string: "null" at sun.mis</div> </li> <li><a href="/article/851.htm" title="项目启动时或者启动后ava.lang.OutOfMemoryError: PermGen space" target="_blank">项目启动时或者启动后ava.lang.OutOfMemoryError: PermGen space</a> <span class="text-muted">程序员是怎么炼成的</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/catalina.sh/1.htm">catalina.sh</a><a class="tag" taget="_blank" href="/search/eclipse.ini/1.htm">eclipse.ini</a> <div>   在启动比较大的项目时,因为存在大量的jsp页面,所以在编译的时候会生成很多的.class文件,.class文件是都会被加载到jvm的方法区中,如果要加载的class文件很多,就会出现方法区溢出异常 java.lang.OutOfMemoryError: PermGen space.     解决办法是点击eclipse里的tomcat,在</div> </li> <li><a href="/article/978.htm" title="我的crm小结" target="_blank">我的crm小结</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/crm/1.htm">crm</a> <div>各种原因吧,crm今天才完了。主要是接触了几个新技术: Struts2、poi、ibatis这几个都是以前的项目中用过的。 Jsf、tapestry是这次新接触的,都是界面层的框架,用起来也不难。思路和struts不太一样,传说比较简单方便。不过个人感觉还是struts用着顺手啊,当然springmvc也很顺手,不知道是因为习惯还是什么。jsf和tapestry应用的时候需要知道他们的标签、主</div> </li> <li><a href="/article/1105.htm" title="spring里配置使用hibernate的二级缓存几步" target="_blank">spring里配置使用hibernate的二级缓存几步</a> <span class="text-muted">antonyup_2006</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/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/cache/1.htm">cache</a> <div>.在spring的配置文件中 applicationContent.xml,hibernate部分加入 xml 代码 <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> <prop key="hi</div> </li> <li><a href="/article/1232.htm" title="JAVA基础面试题" target="_blank">JAVA基础面试题</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E6%8A%BD%E8%B1%A1%E5%AE%9E%E7%8E%B0%E6%8E%A5%E5%8F%A3/1.htm">抽象实现接口</a><a class="tag" taget="_blank" href="/search/String%E7%B1%BB/1.htm">String类</a><a class="tag" taget="_blank" href="/search/%E6%8E%A5%E5%8F%A3%E7%BB%A7%E6%89%BF/1.htm">接口继承</a><a class="tag" taget="_blank" href="/search/%E6%8A%BD%E8%B1%A1%E7%B1%BB%E7%BB%A7%E6%89%BF%E5%AE%9E%E4%BD%93%E7%B1%BB/1.htm">抽象类继承实体类</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%82%E5%B8%B8/1.htm">自定义异常</a> <div>/*   * 栈(stack):主要保存基本类型(或者叫内置类型)(char、byte、short、   *int、long、 float、double、boolean)和对象的引用,数据可以共享,速度仅次于   * 寄存器(register),快于堆。堆(heap):用于存储对象。   */  &</div> </li> <li><a href="/article/1359.htm" title="让sqlmap文件 "继承" 起来" target="_blank">让sqlmap文件 "继承" 起来</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a><a class="tag" taget="_blank" href="/search/sqlmap/1.htm">sqlmap</a> <div>        多个项目中使用ibatis , 和数据库表对应的 sqlmap文件(增删改查等基本语句),dao, pojo 都是由工具自动生成的, 现在将这些自动生成的文件放在一个单独的工程中,其它项目工程中通过jar包来引用 ,并通过"继承"为基础的sqlmap文件,dao,pojo 添加新的方法来满足项</div> </li> <li><a href="/article/1486.htm" title="精通Oracle10编程SQL(13)开发触发器" target="_blank">精通Oracle10编程SQL(13)开发触发器</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/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a> <div>/* *开发触发器 */ --得到日期是周几 select to_char(sysdate+4,'DY','nls_date_language=AMERICAN') from dual; select to_char(sysdate,'DY','nls_date_language=AMERICAN') from dual; --建立BEFORE语句触发器 CREATE O</div> </li> <li><a href="/article/1613.htm" title="【EhCache三】EhCache查询" target="_blank">【EhCache三】EhCache查询</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/ehcache/1.htm">ehcache</a> <div>本文介绍EhCache查询缓存中数据,EhCache提供了类似Hibernate的查询API,可以按照给定的条件进行查询。   要对EhCache进行查询,需要在ehcache.xml中设定要查询的属性   数据准备 @Before public void setUp() { //加载EhCache配置文件 Inpu</div> </li> <li><a href="/article/1740.htm" title="CXF框架入门实例" target="_blank">CXF框架入门实例</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a> <div>CXF是apache旗下的开源框架,由Celtix + XFire这两门经典的框架合成,是一套非常流行的web service框架。 它提供了JAX-WS的全面支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用,同时它能与spring进行完美结合。 在apache cxf官网提供</div> </li> <li><a href="/article/1867.htm" title="angular.equals" target="_blank">angular.equals</a> <span class="text-muted">boyitech</span> <a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/AngularJS+API/1.htm">AngularJS API</a><a class="tag" taget="_blank" href="/search/AnguarJS+%E4%B8%AD%E6%96%87API/1.htm">AnguarJS 中文API</a><a class="tag" taget="_blank" href="/search/angular.equals/1.htm">angular.equals</a> <div>angular.equals   描述: 比较两个值或者两个对象是不是 相等。还支持值的类型,正则表达式和数组的比较。   两个值或对象被认为是 相等的前提条件是以下的情况至少能满足一项: 两个值或者对象能通过=== (恒等) 的比较 两个值或者对象是同样类型,并且他们的属性都能通过angular</div> </li> <li><a href="/article/1994.htm" title="java-腾讯暑期实习生-输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]" target="_blank">java-腾讯暑期实习生-输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>这道题的具体思路请参看 何海涛的微博:http://weibo.com/zhedahht import java.math.BigInteger; import java.util.Arrays; public class CreateBFromATencent { /** * 题目:输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A</div> </li> <li><a href="/article/2121.htm" title="FastDFS 的安装和配置 修订版" target="_blank">FastDFS 的安装和配置 修订版</a> <span class="text-muted">Chen.H</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/fastDFS/1.htm">fastDFS</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/1.htm">分布式文件系统</a> <div>FastDFS Home:http://code.google.com/p/fastdfs/ 1. 安装 http://code.google.com/p/fastdfs/wiki/Setup http://hi.baidu.com/leolance/blog/item/3c273327978ae55f93580703.html 安装libevent (对libevent的版本要求为1.4.</div> </li> <li><a href="/article/2248.htm" title="[强人工智能]拓扑扫描与自适应构造器" target="_blank">[强人工智能]拓扑扫描与自适应构造器</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>       当我们面对一个有限拓扑网络的时候,在对已知的拓扑结构进行分析之后,发现在连通点之后,还存在若干个子网络,且这些网络的结构是未知的,数据库中并未存在这些网络的拓扑结构数据....这个时候,我们该怎么办呢?       那么,现在我们必须设计新的模块和代码包来处理上面的问题</div> </li> <li><a href="/article/2375.htm" title="oracle merge into的用法" target="_blank">oracle merge into的用法</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/merget+into/1.htm">merget into</a> <div>Oracle中merge into的使用 http://blog.csdn.net/yuzhic/article/details/1896878 http://blog.csdn.net/macle2010/article/details/5980965 该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSE</div> </li> <li><a href="/article/2502.htm" title="不适合使用Hadoop的场景" target="_blank">不适合使用Hadoop的场景</a> <span class="text-muted">datamachine</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a> <div>转自:http://dev.yesky.com/296/35381296.shtml。   Hadoop通常被认定是能够帮助你解决所有问题的唯一方案。 当人们提到“大数据”或是“数据分析”等相关问题的时候,会听到脱口而出的回答:Hadoop!  实际上Hadoop被设计和建造出来,是用来解决一系列特定问题的。对某些问题来说,Hadoop至多算是一个不好的选择,对另一些问题来说,选择Ha</div> </li> <li><a href="/article/2629.htm" title="YII findAll的用法" target="_blank">YII findAll的用法</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a> <div>看文档比较糊涂,其实挺简单的: $predictions=Prediction::model()->findAll("uid=:uid",array(":uid"=>10));   第一个参数是选择条件:”uid=10″。其中:uid是一个占位符,在后面的array(“:uid”=>10)对齐进行了赋值; 更完善的查询需要</div> </li> <li><a href="/article/2756.htm" title="vim 常用 NERDTree 快捷键" target="_blank">vim 常用 NERDTree 快捷键</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a> <div>下面给大家整理了一些vim NERDTree的常用快捷键了,这里几乎包括了所有的快捷键了,希望文章对各位会带来帮助。 切换工作台和目录 ctrl + w + h 光标 focus 左侧树形目录ctrl + w + l 光标 focus 右侧文件显示窗口ctrl + w + w 光标自动在左右侧窗口切换ctrl + w + r 移动当前窗口的布局位置 o 在已有窗口中打开文件、目录或书签,并跳</div> </li> <li><a href="/article/2883.htm" title="Java把目录下的文件打印出来" target="_blank">Java把目录下的文件打印出来</a> <span class="text-muted">蕃薯耀</span> <a class="tag" taget="_blank" href="/search/%E5%88%97%E5%87%BA%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6/1.htm">列出目录下的文件</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%8B%E9%9D%A2%E7%9A%84%E6%96%87%E4%BB%B6/1.htm">文件夹下面的文件</a><a class="tag" taget="_blank" href="/search/%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6/1.htm">目录下的文件</a> <div>Java把目录下的文件打印出来 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 蕃薯耀 2015年7月11日 11:02:</div> </li> <li><a href="/article/3010.htm" title="linux远程桌面----VNCServer与rdesktop" target="_blank">linux远程桌面----VNCServer与rdesktop</a> <span class="text-muted">hanqunfeng</span> <a class="tag" taget="_blank" href="/search/Desktop/1.htm">Desktop</a> <div>windows远程桌面到linux,需要在linux上安装vncserver,并开启vnc服务,同时需要在windows下使用vnc-viewer访问Linux。vncserver同时支持linux远程桌面到linux。   linux远程桌面到windows,需要在linux上安装rdesktop,同时开启windows的远程桌面访问。   下面分别介绍,以windo</div> </li> <li><a href="/article/3137.htm" title="guava中的join和split功能" target="_blank">guava中的join和split功能</a> <span class="text-muted">jackyrong</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>guava库中,包含了很好的join和split的功能,例子如下: 1) 将LIST转换为使用字符串连接的字符串    List<String> names = Lists.newArrayList("John", "Jane", "Adam", "Tom"); </div> </li> <li><a href="/article/3264.htm" title="Web开发技术十年发展历程" target="_blank">Web开发技术十年发展历程</a> <span class="text-muted">lampcy</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a> <div>回顾web开发技术这十年发展历程: Ajax 03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,号。 彼时网吧用的512k的带宽,注册的时候,填了一堆信息,提交,页面跳转,嘣,”您填写的信息有误,请重填”。然后跳转回注册页面,以此循环。我现在时常想,如果当时a</div> </li> <li><a href="/article/3391.htm" title="架构师之mima-----------------mina的非NIO控制IOBuffer(说得比较好)" target="_blank">架构师之mima-----------------mina的非NIO控制IOBuffer(说得比较好)</a> <span class="text-muted">nannan408</span> <a class="tag" taget="_blank" href="/search/buffer/1.htm">buffer</a> <div>1.前言。   如题。 2.代码。   IoService IoService是一个接口,有两种实现:IoAcceptor和IoConnector;其中IoAcceptor是针对Server端的实现,IoConnector是针对Client端的实现;IoService的职责包括: 1、监听器管理 2、IoHandler 3、IoSession</div> </li> <li><a href="/article/3518.htm" title="ORA-00054:resource busy and acquire with NOWAIT specified" target="_blank">ORA-00054:resource busy and acquire with NOWAIT specified</a> <span class="text-muted">Everyday都不同</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/session/1.htm">session</a><a class="tag" taget="_blank" href="/search/Lock/1.htm">Lock</a> <div>[Oracle] 今天对一个数据量很大的表进行操作时,出现如题所示的异常。此时表明数据库的事务处于“忙”的状态,而且被lock了,所以必须先关闭占用的session。   step1,查看被lock的session:   select t2.username, t2.sid, t2.serial#, t2.logon_time from v$locked_obj</div> </li> <li><a href="/article/3645.htm" title="javascript学习笔记" target="_blank">javascript学习笔记</a> <span class="text-muted">tntxia</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>  javascript里面有6种基本类型的值:number、string、boolean、object、function和undefined。number:就是数字值,包括整数、小数、NaN、正负无穷。string:字符串类型、单双引号引起来的内容。boolean:true、false object:表示所有的javascript对象,不用多说function:我们熟悉的方法,也就是</div> </li> <li><a href="/article/3772.htm" title="Java enum的用法详解" target="_blank">Java enum的用法详解</a> <span class="text-muted">xieke90</span> <a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/%E6%9E%9A%E4%B8%BE/1.htm">枚举</a> <div>Java中枚举实现的分析:     示例:  public static enum SEVERITY{ INFO,WARN,ERROR }     enum很像特殊的class,实际上enum声明定义的类型就是一个类。 而这些类都是类库中Enum类的子类      (java.l</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>