数据基础---预处理---spark学习之数据预处理和特征提取

MovieLens数据集介绍

MovieLens 100k数据集,下载地址:http://files.grouplens.org/datasets/movielens/ml-100k.zip
MovieLens数据集保存了用户对电影的评分。基于这个数据集,我们可以测试一些推荐算法、评分预测算法。
MovieLens 100k
该数据集记录了943个用户对1682部电影的共100,000个评分,每个用户至少对20部电影进行了评分。
文件u.info保存了该数据集的概要:
943 users
1682 items
100000 ratings
文件u.item保存了item的信息,也就是电影的信息,共1682部电影。每一行代表一部电影,格式如下

movie id | movie title | release date | video release date | IMDb URL | unknown | Action | Adventure | Animation | Children's | Comedy | Crime | Documentary | Drama | Fantasy |
Film-Noir | Horror | Musical | Mystery | Romance | Sci-Fi | Thriller | War | Western |

比如第一行如下:

1|Toy Story (1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?Toy%20Story%20(1995)|0|0|0|1|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0

总共有1862行这样的数据。最后19个字段保存的是该电影的类型,一个字段对应一个类型,值为0代表不属于该类型,值为1代表属于该类型,类型信息保存在文件u.genre中。
文件u.genre保存了电影的类型信息。
文件u.user保存了用户的信息,共有943个用户,其id依次是1、2、……、943。文件中每一行保存了一个用户的信息,格式如下:

user id | age | gender | occupation | zip code 文件u.occupation保存了用户职业的集合。

具体如

1|24|M|technician|85711
2|53|F|other|94043

文件u.data保存了所有的评分记录,每一行是一个用户对一部电影的评分,共有100000条记录。当然,如果某用户没有对某电影评分,则不会包含在该文件中。评分的分值在1到5之间,就是1、2、3、5这5个评分。每一行格式如下:

user id | item id | rating | timestamp

具体如:

196	242	3	881250949
186	302	3	891717742
22	377	1	878887116
244	51	2	880606923
166	346	1	886397596
298	474	4	884182806

其中,item id就是电影的id,时间戳timestamp是评分时间。可以自己对时间戳进行转换,一般在20世纪90年代。
将u.data按照80%/20%的比例分成u1.base和u1.test,可以将u1.base作为训练集,u1.test作为测试集。u2、u3、u4、u5系列文件和u1类似。u1、u2、u3、u4、u5的测试集是不相交的,它们可以用来做(5折交叉验证)5 fold cross validation。
文件ua.base和文件ua.test也是由u.data拆分而来,在ua.test中包含了每个用户对10部电影的评分,从u.data去掉ua.test得到ua.base。ub.base和ub.test也使用了同样的生成方法。另外,ua.test和ub.test是不相交的。

另外还可以下到更大的数据集
MovieLens 1M
该数据集保存的是6040个用户对3952部电影的1000209个评分记录。具体可以参考其README文件。
MovieLens 10M
71567个用户,10681部电影,10000054条评分记录,同时多了个用户为电影设置的标签。具体可以阅读其中的README.html。
Tag Genome
该数据集下有三个数据文件。
**movies.dat:**其每一行的格式是:

<MoviePopularity>
</code></pre> 
  <p>MoviePopularity是在MovieLens中对该电影的评分次数。<br> **tag.dat:**每一行的格式是:</p> 
  <pre><code><TagID><Tag><TagPopularity>
</code></pre> 
  <p>是使用该Tag的用户数,一个用户最多算1次。<br> **tag_relevance.dat:**每一行的格式是:</p> 
  <pre><code><MovieID><TagID><Relevance>
</code></pre> 
  <p>的值在0和1之间,值越大,Tag与Movie的关联性越强。</p> 
  <h1>数据探索</h1> 
  <h2>探索用户数据</h2> 
  <p>要运行spark程序,即使是独立模式,或者直接在类似pycharm的软件中连接spark,也要先启动spark集群。</p> 
  <pre><code class="prism language-python"><span class="token comment">#先载入数据</span>
<span class="token keyword">from</span> pyspark <span class="token keyword">import</span> SparkConf<span class="token punctuation">,</span>SparkContext
<span class="token keyword">from</span> pyspark<span class="token punctuation">.</span>sql <span class="token keyword">import</span> SparkSession
sc<span class="token operator">=</span>SparkContext<span class="token punctuation">(</span><span class="token punctuation">)</span>
user_data<span class="token operator">=</span>sc<span class="token punctuation">.</span>textFile<span class="token punctuation">(</span><span class="token string">"/home/digger/下载/ml-100k/u.user"</span><span class="token punctuation">)</span>
<span class="token comment">#初步看一样数据的样子</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>user_data<span class="token punctuation">.</span>first<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
</code></pre> 
  <p>结果如下:</p> 
  <pre><code>1|24|M|technician|85711
</code></pre> 
  <p>从这样的数据里,我们可以对用户的年龄、性别、职业、地区进行统计(这里以邮编代替地区)<br> “ | ”字符来分隔各行数据,这将生成一个本地RDD,其中每一个记录对应一个Python列表,各列表由用户ID(user ID)、年龄(age)、性别(gender)、职业(occupation)和邮编(ZIP code)五个属性构成。</p> 
  <pre><code class="prism language-python">user_fields<span class="token operator">=</span>user_data<span class="token punctuation">.</span><span class="token builtin">map</span><span class="token punctuation">(</span><span class="token keyword">lambda</span> line<span class="token punctuation">:</span>line<span class="token punctuation">.</span>split<span class="token punctuation">(</span><span class="token string">'|'</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
num_user<span class="token operator">=</span>user_fields<span class="token punctuation">.</span><span class="token builtin">map</span><span class="token punctuation">(</span><span class="token keyword">lambda</span> field<span class="token punctuation">:</span>field<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">.</span>count<span class="token punctuation">(</span><span class="token punctuation">)</span>
num_gender<span class="token operator">=</span>user_fields<span class="token punctuation">.</span><span class="token builtin">map</span><span class="token punctuation">(</span><span class="token keyword">lambda</span> field<span class="token punctuation">:</span>field<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">.</span>distinct<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>count<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token comment">#distinct用于去重,count()用于计数</span>
num_occupation<span class="token operator">=</span>user_fields<span class="token punctuation">.</span><span class="token builtin">map</span><span class="token punctuation">(</span><span class="token keyword">lambda</span> field<span class="token punctuation">:</span>field<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">.</span>distinct<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>count<span class="token punctuation">(</span><span class="token punctuation">)</span>
num_zipcode<span class="token operator">=</span>user_fields<span class="token punctuation">.</span><span class="token builtin">map</span><span class="token punctuation">(</span><span class="token keyword">lambda</span> field<span class="token punctuation">:</span>field<span class="token punctuation">[</span><span class="token number">4</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">.</span>distinct<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>count<span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"共有用户:%d户,性别:%d类,职业%d类,邮编:%d种"</span><span class="token operator">%</span><span class="token punctuation">(</span>num_user<span class="token punctuation">,</span>num_gender<span class="token punctuation">,</span>num_occupation<span class="token punctuation">,</span>num_zipcode<span class="token punctuation">)</span><span class="token punctuation">)</span>
</code></pre> 
  <p>结果如下:</p> 
  <pre><code>共有用户:943户,性别:2类,职业21类,邮编:795种
</code></pre> 
  <pre><code class="prism language-python"><span class="token comment">#下面来查看年龄的分布</span>
<span class="token keyword">import</span> matplotlib<span class="token punctuation">.</span>pyplot <span class="token keyword">as</span> plt
<span class="token keyword">import</span> seaborn <span class="token keyword">as</span> sns
ages<span class="token operator">=</span> user_fields<span class="token punctuation">.</span><span class="token builtin">map</span><span class="token punctuation">(</span><span class="token keyword">lambda</span> field<span class="token punctuation">:</span>field<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">.</span>colletct<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token comment">#返回RDD的所有元素,方便后面对age进行统计,之后就可以利用单机的一切函数了</span>
ax<span class="token operator">=</span>sns<span class="token punctuation">.</span>distplot<span class="token punctuation">(</span>ages<span class="token punctuation">)</span>
plt<span class="token punctuation">.</span>show<span class="token punctuation">(</span><span class="token punctuation">)</span>
</code></pre> 
  <p>结果如下:<br> <a href="http://img.e-com-net.com/image/info8/9a8a58515ad44ecd84fb6ff6fc54be8a.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/9a8a58515ad44ecd84fb6ff6fc54be8a.jpg" alt="数据基础---预处理---spark学习之数据预处理和特征提取_第1张图片" width="650" height="358" style="border:1px solid black;"></a><br> 从上图可以看到,该网站的用户以年经人为主,尤其与27-30岁人群最多。</p> 
  <pre><code class="prism language-python"><span class="token comment">#下面统计职业的频率直方图</span>
occupations<span class="token operator">=</span>user_fields<span class="token punctuation">.</span><span class="token builtin">map</span><span class="token punctuation">(</span><span class="token keyword">lambda</span> field<span class="token punctuation">:</span>field<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">.</span>collect<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token comment">#当数据不大时,我们可以用这种方法将所有元素收集起来</span>
ax<span class="token operator">=</span>sns<span class="token punctuation">.</span>countplot<span class="token punctuation">(</span>x<span class="token operator">=</span>occupations<span class="token punctuation">)</span>
plt<span class="token punctuation">.</span>show<span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token comment">#当数据量很大的时候,不要直接用collect()的</span>
</code></pre> 
  <p>上面的图形结果如下:<br> <a href="http://img.e-com-net.com/image/info8/e0b1f56af9e64cf9b1fc2e5fdc56981f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/e0b1f56af9e64cf9b1fc2e5fdc56981f.jpg" alt="数据基础---预处理---spark学习之数据预处理和特征提取_第2张图片" width="650" height="358" style="border:1px solid black;"></a><br> 从图上可以看到,用户中人数排在前五的职业分别是学生、教育工作者、管理员、程序员和工程师。<br> **注意:**当数据量很大的时候,是不能用collect()的,要不整个集群卡死;此时如果需要展现数据的统计信息,应该先进行统计,统计的话就可以想办法设计成可拆分的任务,让各个节点进行一小块的统计任务,最后在汇总统计数据,数据量再大,汇总后也就那些指标,此时再来画图就很简单,可在单机上进行。而不应该边像上面那样直接将所有数据collect起来,然后直接画图,此时countplot同时承担了统计和画图的任务,对于大数据来讲,怎么吃得消呢。<br> 另外,spark并不擅长画图这一类事情,个人觉得如果要统计消息,可以采取抽样的方式,在整个大数据集中获取一小部分数据,然后在单机上就可以利用这些统计类的画图函数来展示数据特点了。抽样本来就是我们认识客观世界的一种方式,初步展示不一定要大而全。<br> 下面用分布式的思维进行统计和展示</p> 
  <pre><code class="prism language-python">occupation_count<span class="token operator">=</span>user_fields<span class="token punctuation">.</span><span class="token builtin">map</span><span class="token punctuation">(</span><span class="token keyword">lambda</span> fields<span class="token punctuation">:</span><span class="token punctuation">(</span>fields<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token comment">#这一步先每出现一次职业就计一次数,只要对这些数字求和就可以知道各个职业出现了多少次,即得到各职业的频率分布</span>
occupation_counts<span class="token operator">=</span>occupation_count<span class="token punctuation">.</span>reduceByKey<span class="token punctuation">(</span><span class="token keyword">lambda</span> x<span class="token punctuation">,</span>y<span class="token punctuation">:</span>x<span class="token operator">+</span>y<span class="token punctuation">)</span><span class="token comment">#利用reduceByKey()函数对各条数据进行归并,达到统计目的</span>
occupation_counts<span class="token operator">=</span>occupation_counts<span class="token punctuation">.</span>collect<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token comment">#此时不用担心数据量的问题,经过前面的shuffle过程,此时数据已经被归为有限的数目了,从前面对职业个数的统计知道,现在数据只有21对,前面是职业名称,后面是对应的人数</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>occupation_counts<span class="token punctuation">)</span>
</code></pre> 
  <p>结果如下:</p> 
  <pre><code>[('engineer', 67), ('homemaker', 7), ('doctor', 7), ('administrator', 79), ('student', 196), ('programmer', 66), ('other', 105), ('executive', 32), ('retired', 14), ('artist', 28), ('none', 9), ('educator', 95), ('scientist', 31), ('lawyer', 12), ('writer', 45), ('technician', 27), ('librarian', 51), ('salesman', 12), ('healthcare', 16), ('marketing', 26), ('entertainment', 18)]
</code></pre> 
  <pre><code class="prism language-python"><span class="token comment">#下面提取出职业和对应的人数</span>
x_label<span class="token operator">=</span>np<span class="token punctuation">.</span>array<span class="token punctuation">(</span><span class="token punctuation">[</span>i<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token keyword">for</span> i <span class="token keyword">in</span> occupation_counts<span class="token punctuation">]</span><span class="token punctuation">)</span>
y<span class="token operator">=</span>np<span class="token punctuation">.</span>array<span class="token punctuation">(</span><span class="token punctuation">[</span>i<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token keyword">for</span> i <span class="token keyword">in</span> occupation_counts<span class="token punctuation">]</span><span class="token punctuation">)</span>
<span class="token comment">#我们先对统计结果进行排序以便于展现</span>
x_label<span class="token operator">=</span>x_label<span class="token punctuation">[</span>np<span class="token punctuation">.</span>argsort<span class="token punctuation">(</span>y<span class="token punctuation">)</span><span class="token punctuation">]</span>
y<span class="token operator">=</span>y<span class="token punctuation">[</span>np<span class="token punctuation">.</span>argsort<span class="token punctuation">(</span>y<span class="token punctuation">)</span><span class="token punctuation">]</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>x_label<span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>y<span class="token punctuation">)</span>
x_pos<span class="token operator">=</span>np<span class="token punctuation">.</span>arange<span class="token punctuation">(</span><span class="token builtin">len</span><span class="token punctuation">(</span>y<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token comment">#设置每一个条形图的中心位置,要不没办法画图,条形图传数值型的x,y进去;同时也作为xticks的中心位置,这样就实现了用字符对x轴进行标</span>
plt<span class="token punctuation">.</span>bar<span class="token punctuation">(</span>x_pos<span class="token punctuation">,</span>y<span class="token punctuation">)</span>
plt<span class="token punctuation">.</span>xticks<span class="token punctuation">(</span>x_pos<span class="token punctuation">,</span>x_label<span class="token punctuation">,</span>rotation<span class="token operator">=</span><span class="token number">30</span><span class="token punctuation">)</span><span class="token comment">#xticks与xlabel是不一样,前者就跟刻度线一样的,后者只是说明x轴代表什么。</span>
plt<span class="token punctuation">.</span>show<span class="token punctuation">(</span><span class="token punctuation">)</span>
</code></pre> 
  <p>结果如下:<br> <a href="http://img.e-com-net.com/image/info8/bd1d99d24eda4cb099fc869d01d066e5.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/bd1d99d24eda4cb099fc869d01d066e5.jpg" alt="数据基础---预处理---spark学习之数据预处理和特征提取_第3张图片" width="650" height="358" style="border:1px solid black;"></a></p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1188341667145555968"></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">你可能感兴趣的:(数据基础)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1892413431072485376.htm"
                           title="Redis主从复制" target="_blank">Redis主从复制</a>
                        <span class="text-muted">小松聊PHP进阶</span>
<a class="tag" taget="_blank" href="/search/Redis/1.htm">Redis</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</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/nosql/1.htm">nosql</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/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a>
                        <div>主从复制官方文档:https://redis.io/docs/latest/operate/oss_and_stack/management/replication/极简概括:将一个主Redis服务器的数据复制到其它从Redis服务器的过程。角色:主节点(Master):负责处理客户端的写(或者读)请求,并将写操作同步到从节点。从节点(Slave):负责处理客户端的读请求,并将主节点发送过来的数据</div>
                    </li>
                    <li><a href="/article/1892411035852271616.htm"
                           title="LLM与知识图谱融合:智能运维知识库构建" target="_blank">LLM与知识图谱融合:智能运维知识库构建</a>
                        <span class="text-muted">AI天才研究院</span>
<a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1/1.htm">R1</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AEAI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大数据AI人工智能大模型</a><a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">AI大模型企业级应用开发实战</a><a class="tag" taget="_blank" href="/search/AI%E5%AE%9E%E6%88%98/1.htm">AI实战</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6/1.htm">计算科学</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E8%AE%A1%E7%AE%97/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%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大型语言模型</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/RPA/1.htm">RPA</a>
                        <div>1.背景介绍随着信息技术的飞速发展,IT运维管理面临着越来越大的挑战。海量的设备、复杂的网络环境、日益增长的数据量,使得传统的运维方式难以满足需求。为了提高运维效率和质量,智能运维应运而生。智能运维的核心是将人工智能技术应用于运维领域,通过机器学习、深度学习等算法,实现自动化、智能化的运维管理。其中,大语言模型(LLM)和知识图谱是两个重要的技术方向。LLM能够理解和生成自然语言,可以用于构建智能</div>
                    </li>
                    <li><a href="/article/1892410909595332608.htm"
                           title="知识图谱:【知识图谱基础理论(八)】——知识更新" target="_blank">知识图谱:【知识图谱基础理论(八)】——知识更新</a>
                        <span class="text-muted">J_Xiong0117</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E7%90%86%E8%AE%BA/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/%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1/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/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a>
                        <div>从逻辑上看,知识库的更新包括概念层的更新和数据层的更新。更新的两种方式:数据驱动下的全面更新增量更新</div>
                    </li>
                    <li><a href="/article/1892410782809911296.htm"
                           title="RT-Thread I2C 驱动框架学习笔记" target="_blank">RT-Thread I2C 驱动框架学习笔记</a>
                        <span class="text-muted">DgHai</span>
<a class="tag" taget="_blank" href="/search/RT-Thread/1.htm">RT-Thread</a><a class="tag" taget="_blank" href="/search/mcu/1.htm">mcu</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a>
                        <div>RT-ThreadI2C驱动框架(5.1.0)II2C驱动包括两大部分,I2C驱动总线驱动和I2C设备驱动。I2C总线驱动负责控制I2C总线的硬件,包括发送和接收数据的时序控制,以及处理总线冲突等。它与嵌入式系统的硬件层交互,实现对I2C总线的底层操作,使得应用程序可以通过I2C总线与外部设备进行通信。I2C设备驱动负责管理和控制连接在I2C总线上的具体外部设备。它与I2C总线驱动和嵌入式系统的驱</div>
                    </li>
                    <li><a href="/article/1892408765760729088.htm"
                           title="XML的介绍及使用DOM,DOM4J解析xml文件" target="_blank">XML的介绍及使用DOM,DOM4J解析xml文件</a>
                        <span class="text-muted">late summer182</span>
<a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>1XML简介XML(可扩展标记语言,ExtensibleMarkupLanguage)是一种用于定义文档结构和数据存储的标记语言。它主要用于在不同的系统之间传输和存储数据。作用:数据交互配置应用程序和网站Ajax基石特点XML与操作系统、编程语言的开发平台无关实现不同系统之间的数据交换2XML文档结构王珊.NET高级编程包含C#框架和网络编程等李明明XML基础编程包含XML基础概念和基本作用2.1</div>
                    </li>
                    <li><a href="/article/1892408764976394240.htm"
                           title="Redis 全方位解析:从入门到实战" target="_blank">Redis 全方位解析:从入门到实战</a>
                        <span class="text-muted">kiss strong</span>
<a class="tag" taget="_blank" href="/search/redis/1.htm">redis</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/%E7%BC%93%E5%AD%98/1.htm">缓存</a>
                        <div>引言在当今互联网快速发展的时代,高并发、低延迟的应用场景越来越普遍。Redis,作为一款高性能的开源数据库,以其卓越的性能和灵活的功能,成为了许多开发者的首选工具。无论是在缓存、消息队列,还是在实时数据分析等领域,Redis都展现出了强大的能力。本文将从Redis的基本介绍、官网、安装、特性,到具体的存储类型、Java代码实例、SpringBoot整合,以及Redis的主要作用和应用场景,进行全面</div>
                    </li>
                    <li><a href="/article/1892407882155094016.htm"
                           title="知识图谱的作用及其更新方式" target="_blank">知识图谱的作用及其更新方式</a>
                        <span class="text-muted">甜瓜瓜哥</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%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%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1/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>知识图谱的作用及其更新方式简介作用1.语义理解和推理2.信息检索3.推荐系统4.自然语言处理5.智能对话系统更新知识图谱的过程1.数据收集2.数据清洗和处理3.知识抽取4.知识融合5.验证和评估6.部署和应用总结简介知识图谱是一种以图形结构表示知识的方法,它包含了实体(如人物、地点、事物)以及它们之间的关系。知识图谱可以用于帮助计算机理解和处理自然语言,进行信息检索,进行推荐系统等多种应用。作用1</div>
                    </li>
                    <li><a href="/article/1892407630001926144.htm"
                           title="【系统设计】忘记MySQL密码,应该如何重置" target="_blank">【系统设计】忘记MySQL密码,应该如何重置</a>
                        <span class="text-muted">红烧白开水。</span>
<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><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/%E6%95%B0%E6%8D%AE/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/%E5%AF%86%E7%A0%81/1.htm">密码</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E7%BD%AE/1.htm">重置</a>
                        <div>如果在电脑上安装的MySQL数据库忘记了密码,可以通过以下步骤重置密码。具体操作因操作系统和MySQL版本略有不同,但总体流程类似:步骤1:停止MySQL服务首先需要停止正在运行的MySQL服务。Linux/macOSsudosystemctlstopmysql#或sudoservicemysqlstopWindows按Win+R,输入services.msc并回车。找到MySQL服务,右键选择停</div>
                    </li>
                    <li><a href="/article/1892407377613877248.htm"
                           title="Redis主从复制配置" target="_blank">Redis主从复制配置</a>
                        <span class="text-muted">土尔奇酱</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>1.主从复制原理 Redis一般是使用一个Master节点来进行写操作,而若干个Slave节点进行读操作,Master和Slave分别代表了一个个不同的RedisServer实例。另外定期的数据备份操作也是单独选择一个Slave去完成,这样可以最大程度发挥Redis的性能,为的是保证数据的弱一致性和最终一致性。 另外,Master和Slave的数据不是一定要即时同步的,但是在一段时间后Master</div>
                    </li>
                    <li><a href="/article/1892407376435277824.htm"
                           title="前端开发入门指南:HTML、CSS和JavaScript基础知识" target="_blank">前端开发入门指南:HTML、CSS和JavaScript基础知识</a>
                        <span class="text-muted">方向感超强的</span>
<a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>引言:大家好,我是一名简单的前端开发爱好者,对于网页设计和用户体验的追求让我深深着迷。在本篇文章中,我将带领大家探索前端开发的基础知识,涵盖HTML、CSS和JavaScript。如果你对这个领域感兴趣,或者想要了解如何开始学习前端开发,那么这篇文章将为你提供一个良好的起点。1.前端开发概述在我们深入了解前端开发的细节之前,让我们先了解一下前端开发的定义和作用。简而言之,前端开发涉及构建用户直接与</div>
                    </li>
                    <li><a href="/article/1892404728181092352.htm"
                           title="React 渲染 Flash 接口数据" target="_blank">React 渲染 Flash 接口数据</a>
                        <span class="text-muted">ox0080</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E5%8C%97%E6%BC%82%2B%E6%BB%B4%E6%BB%B4%E5%87%BA%E8%A1%8C/1.htm">北漂+滴滴出行</a><a class="tag" taget="_blank" href="/search/VIP/1.htm">VIP</a><a class="tag" taget="_blank" href="/search/%E6%BF%80%E5%8A%B1/1.htm">激励</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a>
                        <div>1.后端Python代码使用Flask创建多个接口,每个接口返回不同的数据,并使用自定义装饰器来绑定路由。代码:#app.pyfromflaskimportFlask,jsonifyapp=Flask(__name__)defapi_route(route,methods=['GET']):"""自定义装饰器,用于将函数与HTTP路由绑定"""defdecorator(func):app.rout</div>
                    </li>
                    <li><a href="/article/1892403720109486080.htm"
                           title="二进制、八进制、十进制和十六进制的相互转换" target="_blank">二进制、八进制、十进制和十六进制的相互转换</a>
                        <span class="text-muted">前端熊猫</span>
<a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80/1.htm">C语言</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E8%BF%9B%E5%88%B6/1.htm">二进制</a><a class="tag" taget="_blank" href="/search/%E5%85%AB%E8%BF%9B%E5%88%B6/1.htm">八进制</a><a class="tag" taget="_blank" href="/search/%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6/1.htm">十六进制</a><a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80/1.htm">C语言</a>
                        <div>printf函数printf函数是C语言中用于将格式化的数据输出到标准输出(通常是屏幕)的函数。它位于stdio.h头文件中,因此在使用之前需要包含该头文件。printf函数的格式说明符格式说明符说明示例%d或%i输出或输入十进制有符号整数printf("%d",10);scanf("%d",&num);%u输出或输入十进制无符号整数printf("%u",10U);scanf("%u",&uns</div>
                    </li>
                    <li><a href="/article/1892403593798021120.htm"
                           title="cesium 加载本地json、GeoJson数据" target="_blank">cesium 加载本地json、GeoJson数据</a>
                        <span class="text-muted">前端熊猫</span>
<a class="tag" taget="_blank" href="/search/Cesium/1.htm">Cesium</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>GeoJSON是一种用于编码地理数据结构的格式{"type":"Feature","geometry":{"type":"Point","coordinates":[125.6,10.1]},"properties":{"name":"某地点"}}一、直接加载GeoJSON文件//方式1:通过GeoJsonDataSource加载viewer.dataSources.add(Cesium.GeoJ</div>
                    </li>
                    <li><a href="/article/1892403466270208000.htm"
                           title="docker配置Redis主从复制原理及操作" target="_blank">docker配置Redis主从复制原理及操作</a>
                        <span class="text-muted">纪佰伦</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E4%B8%BB%E4%BB%8E/1.htm">主从</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a>
                        <div>一、前言要配置Redis主从复制,我默认是了解过Redis的持久化功能的,也就是RDB和AOF,只需要简单了解过即可。持久化的一个作用就是可以定期将内存中的数据备份到硬盘,在系统发生故障的时候,也可以通过持久化文件回复数据,二、关于主从复制1、什么是主从复制主从复制是一种分布式系统数据同步技术,其中主服务器负责处理所有写操作并将变更同步到一个或多个从服务器。从服务器接收这些变更并复制主服务器的数据</div>
                    </li>
                    <li><a href="/article/1892402836076032000.htm"
                           title="知识图谱构建:LLM与知识工程的完美结合" target="_blank">知识图谱构建:LLM与知识工程的完美结合</a>
                        <span class="text-muted">AI智能涌现深度研究</span>
<a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E5%85%A5%E9%97%A8%E5%AE%9E%E6%88%98%E4%B8%8E%E8%BF%9B%E9%98%B6/1.htm">AI大模型应用入门实战与进阶</a><a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1/1.htm">R1</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AEAI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">大数据AI人工智能</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6/1.htm">计算科学</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E8%AE%A1%E7%AE%97/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%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大型语言模型</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/RPA/1.htm">RPA</a>
                        <div>1.背景介绍1.1知识爆炸与信息孤岛随着互联网和信息技术的飞速发展,我们正处于一个知识爆炸的时代。海量的数据和信息充斥着我们的生活,但同时也带来了信息过载和信息孤岛的问题。传统的信息检索方式难以有效地组织和利用这些知识,难以满足人们对知识获取和应用的需求。1.2知识图谱的兴起知识图谱作为一种语义网络,能够将实体、概念及其之间的关系以结构化的方式进行表达和存储,从而有效地组织和管理知识。近年来,知识</div>
                    </li>
                    <li><a href="/article/1892402709655515136.htm"
                           title="【产品小白】产品思维与技术思维的区别" target="_blank">【产品小白】产品思维与技术思维的区别</a>
                        <span class="text-muted">百事不可口y</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%A7%E5%93%81%E7%BB%8F%E7%90%86%E7%9A%84%E4%B8%80%E6%AD%A5%E4%B8%80%E6%AD%A5/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/%E7%94%A8%E6%88%B7%E8%BF%90%E8%90%A5/1.htm">用户运营</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AE%B9%E8%BF%90%E8%90%A5/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%BA%E5%B7%A5%E6%99%BA%E8%83%BD/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%96%B0%E5%AA%92%E4%BD%93%E8%BF%90%E8%90%A5/1.htm">新媒体运营</a>
                        <div>一、两种思维的本质差异与互补性维度产品思维技术思维核心关注点用户价值(痛点/爽点)、商业目标(盈利/增长)技术实现(架构/性能)、系统稳定性(可用性/扩展性)决策依据用户行为数据、市场趋势、ROI模型技术复杂度、开发成本、技术债评估问题解决路径从场景出发,构建业务闭环(如“用户如何完成支付?”)从实现出发,拆解技术模块(如“支付接口如何鉴权?”)风险意识担心需求伪命题(无人使用)担忧系统崩溃(高并</div>
                    </li>
                    <li><a href="/article/1892402708804071424.htm"
                           title="LQB---基础练习---十六进制转八进制" target="_blank">LQB---基础练习---十六进制转八进制</a>
                        <span class="text-muted">「已注销」</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/LQB/1.htm">LQB</a><a class="tag" taget="_blank" href="/search/LQB/1.htm">LQB</a>
                        <div>试题基础练习十六进制转八进制资源限制内存限制:512.0MBC/C++时间限制:1.0sJava时间限制:3.0sPython时间限制:5.0s问题描述给定n个十六进制正整数,输出它们对应的八进制数。输入格式输入的第一行为一个正整数n(1<=n<=10)。接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式输出n行,每行为</div>
                    </li>
                    <li><a href="/article/1892401827257839616.htm"
                           title="C 数据类型" target="_blank">C 数据类型</a>
                        <span class="text-muted">lly202406</span>
<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语言编程中,数据类型是定义变量所使用的类型。理解不同数据类型的特点和用途对于编写高效、健壮的代码至关重要。本文将详细介绍C语言中的各种数据类型,包括基本数据类型、枚举类型、结构体类型等,旨在帮助读者全面掌握C语言的数据类型。1.基本数据类型C语言的基本数据类型主要包括以下几种:1.1整型(int)整型用于存储整数。C语言提供了多种整型数据类型,包括:int:有符号整数,通常占用4个字</div>
                    </li>
                    <li><a href="/article/1892399811307565056.htm"
                           title="无人机挂载5G通信基站网络恢复技术详解" target="_blank">无人机挂载5G通信基站网络恢复技术详解</a>
                        <span class="text-muted">无人机技术圈</span>
<a class="tag" taget="_blank" href="/search/%E6%97%A0%E4%BA%BA%E6%9C%BA%E6%8A%80%E6%9C%AF/1.htm">无人机技术</a><a class="tag" taget="_blank" href="/search/%E6%97%A0%E4%BA%BA%E6%9C%BA/1.htm">无人机</a>
                        <div>无人机挂载5G通信基站网络恢复技术是一种创新的应急通信解决方案,特别适用于自然灾害等突发情况下快速恢复通信服务。以下是对该技术的详细解析:一、技术背景与意义在自然灾害如地震、洪水等发生后,通信基础设施往往受到严重破坏,导致灾区与外界的通信中断。无人机挂载5G通信基站技术能够迅速搭建临时通信网络,为灾区提供应急通信服务,保障抢险救灾工作的顺利开展。二、技术原理与组成1.技术原理:无人机作为空中平台,</div>
                    </li>
                    <li><a href="/article/1892398677004185600.htm"
                           title="对象的操作" target="_blank">对象的操作</a>
                        <span class="text-muted">augenstern416</span>
<a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</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/ecmascript/1.htm">ecmascript</a>
                        <div>在前端开发中,JavaScript提供了许多内置对象和方法,用于处理数据、操作DOM、处理事件等。以下是一些常用对象及其方法和扩展技巧:1.Object对象Object是JavaScript中最基础的对象,几乎所有对象都继承自Object。常用方法Object.keys(obj):返回对象的所有可枚举属性的键名数组。constobj={a:1,b:2};console.log(Object.key</div>
                    </li>
                    <li><a href="/article/1892395400111910912.htm"
                           title="人生建议往死里学网络安全!零基础也能跨行学习!!漏洞挖掘还能做副业" target="_blank">人生建议往死里学网络安全!零基础也能跨行学习!!漏洞挖掘还能做副业</a>
                        <span class="text-muted">黑客老哥</span>
<a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/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/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a>
                        <div>一、网络安全的重要性:从‘不学会被黑’到‘学会保护别人’网络安全的概念现在不再是技术圈的独立话题,它已经渗透到社会的各个领域。从个人的隐私保护、企业的数据安全,到国家的信息防护,网络安全几乎影响了每一个人的生活。无论是黑客攻击、勒索病毒、数据泄露,还是国家间的信息战,网络安全已经成为现代社会的基础设施之一。所以,首先要明白学习网络安全的重要性:你不仅是在学习技术,更多的是在为自己和他人的安全“筑城</div>
                    </li>
                    <li><a href="/article/1892395273758502912.htm"
                           title="【2025年】全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!" target="_blank">【2025年】全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!</a>
                        <span class="text-muted">网安詹姆斯</span>
<a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/CTF/1.htm">CTF</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%E5%A4%A7%E8%B5%9B/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>
                        <div>【2025年】全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!基于入门网络安全/黑客打造的:黑客&网络安全入门&进阶学习资源包目录一、CTF简介二、CTF竞赛模式三、CTF各大题型简介四、CTF学习路线4.1、初期1、html+css+js(2-3天)2、apache+php(4-5天)3、mysql(2-3天)4、python(2-3天)5、burpsuite(1-2天)4.2、中期1、S</div>
                    </li>
                    <li><a href="/article/1892392376316522496.htm"
                           title="机器学习·文本数据读写处理" target="_blank">机器学习·文本数据读写处理</a>
                        <span class="text-muted">AAA顶置摸鱼</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86/1.htm">数据处理</a>
                        <div>前言在自然语言处理的第一步,需要面对的是各种各样以不同形式表现的文本数据,比如,txt、Excel中的表格数据,还有无法直接打开的pkl文件等。针对这些不同类型的数据,可以基于Python中的基本功能函数或者调用某些库进行读写以及作一些基本的处理。一、文本数据读写方法1.读写TXT文件读取方法:read():读取整个文件,返回字符串。readline():逐行读取,返回字符串。readlines(</div>
                    </li>
                    <li><a href="/article/1892392249963114496.htm"
                           title="LQB(4)-python-DFS搜索" target="_blank">LQB(4)-python-DFS搜索</a>
                        <span class="text-muted">AAA顶置摸鱼</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AFpython%E7%BB%84/1.htm">蓝桥杯python组</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E4%BC%98%E5%85%88/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/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a>
                        <div>前言DFS即深度优先搜索(Depth-FirstSearch),是一种用于遍历或搜索树或图的算法,有三种核心的应用场景(基础遍历、回溯、剪枝)。一、DFS-基础遍历1.核心原理深度优先搜索(DFS)是一种遍历或搜索树/图的算法,优先沿着一条路径尽可能深入,直到无法继续再回溯。实现方式:递归:隐式利用系统调用栈。栈模拟:显式使用栈数据结构。2.代码实现(1)递归实现(树结构)classTreeNod</div>
                    </li>
                    <li><a href="/article/1892391997902221312.htm"
                           title="SpringBoot+Mybatis 实现简单的学生书籍管理系统" target="_blank">SpringBoot+Mybatis 实现简单的学生书籍管理系统</a>
                        <span class="text-muted">Chronoluckyy</span>
<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/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>本文将介绍如何使用SpringBoot框架来构建一个简单的学生书籍管理系统,其中包括用户的注册和登录验证,并通过分层设计来实现系统的模块化和可维护性。一、准备工作1.使用Navicat创建数据库表2.导入依赖包和对应的数据库驱动在resources/application.propertiespom.xml下导入依赖包org.mybatis.spring.bootmybatis-spring-bo</div>
                    </li>
                    <li><a href="/article/1892391368123281408.htm"
                           title="MyBatis XML映射文件中的批量插入和更新" target="_blank">MyBatis XML映射文件中的批量插入和更新</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/Spring/1.htm">Spring</a><a class="tag" taget="_blank" href="/search/Boot/1.htm">Boot</a><a class="tag" taget="_blank" href="/search/MySQL/1.htm">MySQL</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                        <div>一、背景在数据库操作中,批量插入和更新是一种常见的需求,尤其是在处理大量数据时。MyBatis作为一个强大的持久层框架,提供了灵活的方式来实现这些操作。本文将详细介绍如何使用MyBatisXML映射文件来实现批量插入和更新。这样做的好处是不用一条一条的判断是否存在,而进行新增或者更新操作。二、介绍2.1理解MyBatis批量操作的重要性在许多应用场景中,如数据迁移、同步或批量数据处理,我们需要将大</div>
                    </li>
                    <li><a href="/article/1892390738520502272.htm"
                           title="前端基础入门:HTML、CSS 和 JavaScript" target="_blank">前端基础入门:HTML、CSS 和 JavaScript</a>
                        <span class="text-muted">阿绵</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/js/1.htm">js</a>
                        <div>在现代网页开发中,前端技术扮演着至关重要的角色。无论是个人网站、企业官网,还是复杂的Web应用程序,前端开发的基础技术HTML、CSS和JavaScript都是每个开发者必须掌握的核心技能。本文将详细介绍这三者的基本概念及其应用一、HTML——网页的骨架HTML(HyperTextMarkupLanguage)是构建网页的基础语言。它是网页的结构和内容的标记语言,决定了网页上的文本、图像、表单等元</div>
                    </li>
                    <li><a href="/article/1892389478501249024.htm"
                           title="Redis架构之主从复制" target="_blank">Redis架构之主从复制</a>
                        <span class="text-muted">云雨殇</span>
<a class="tag" taget="_blank" href="/search/Redis/1.htm">Redis</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>Redis主从架构主从集群,实现读写分离主从数据同步主从同步流程slave节点向master节点发送replicaof命令建立连接,随后发送psync{repID}{offset}指令,repID表示主节点唯一标识,offset为复制偏移量。如果是第一次同步,那么repID是?,offset是-1。即psync?-1master节点收到了psync命令后,会响应slave节点并发送fullresy</div>
                    </li>
                    <li><a href="/article/1892385064558325760.htm"
                           title="使用LlamaIndex查询 MongoDB 数据库,并获取 OSS (对象存储服务) 上的 PDF 文件,最终用Langchain搭建应用" target="_blank">使用LlamaIndex查询 MongoDB 数据库,并获取 OSS (对象存储服务) 上的 PDF 文件,最终用Langchain搭建应用</a>
                        <span class="text-muted">朴拙Python交易猿</span>
<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/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/pdf/1.htm">pdf</a>
                        <div>使用LlamaIndex查询MongoDB数据库,并获取OSS(对象存储服务)上的PDF文件,然后利用Langchain搭建应用,涉及多个步骤。下面我们将详细介绍如何将这些步骤结合起来,构建一个系统:1.环境准备首先,确保你已经安装了以下Python库:pipinstallllama_indexpymongolangchainopenaiboto3pdfplumberpymongo:MongoDB</div>
                    </li>
                    <li><a href="/article/1892383928241680384.htm"
                           title="数据集 handpose_x_3d-wider_world V1 室外自然场景三维手势 >> DataBall" target="_blank">数据集 handpose_x_3d-wider_world V1 室外自然场景三维手势 >> DataBall</a>
                        <span class="text-muted">Xian-HHappy</span>
<a class="tag" taget="_blank" href="/search/DataBall%E6%95%B0%E6%8D%AE%E9%9B%86%E5%90%88/1.htm">DataBall数据集合</a><a class="tag" taget="_blank" href="/search/%EF%BC%88%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89%EF%BC%89-/1.htm">(计算机视觉)-</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E4%B9%9F%E5%8F%AF%E5%A6%82%E6%AD%A4%E7%BE%8E%E5%A5%BD/1.htm">数据也可如此美好</a><a class="tag" taget="_blank" href="/search/3d/1.htm">3d</a>
                        <div>数据集handpose数据集handpose_x_3d-wider_worldV1室外自然场景三维手势>>DataBall数据特点:*场景多样性*包括有无遮挡多样性*有无拿物体多样性数据标注信息包括:二维21关键点,三维21关键点,三维网格点,图像相机内参。想要进一步了解,请联系。DataBall助力快速掌握数据集的信息和使用方式,会员享有百种数据集,持续增加中。示例:助力快速掌握数据集的信息和使</div>
                    </li>
                                <li><a href="/article/125.htm"
                                       title="apache 安装linux windows" target="_blank">apache 安装linux windows</a>
                                    <span class="text-muted">墙头上一根草</span>
<a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/inux/1.htm">inux</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a>
                                    <div>linux安装Apache 有两种方式一种是手动安装通过二进制的文件进行安装,另外一种就是通过yum 安装,此中安装方式,需要物理机联网。以下分别介绍两种的安装方式 
  
  
通过二进制文件安装Apache需要的软件有apr,apr-util,pcre 
 1,安装 apr        下载地址:htt</div>
                                </li>
                                <li><a href="/article/252.htm"
                                       title="fill_parent、wrap_content和match_parent的区别" target="_blank">fill_parent、wrap_content和match_parent的区别</a>
                                    <span class="text-muted">Cb123456</span>
<a class="tag" taget="_blank" href="/search/match_parent/1.htm">match_parent</a><a class="tag" taget="_blank" href="/search/fill_parent/1.htm">fill_parent</a>
                                    <div>fill_parent、wrap_content和match_parent的区别: 
  
1)fill_parent 
  设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。 
2) wrap_conte</div>
                                </li>
                                <li><a href="/article/379.htm"
                                       title="网页自适应设计" target="_blank">网页自适应设计</a>
                                    <span class="text-muted">天子之骄</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%93%8D%E5%BA%94%E5%BC%8F%E8%AE%BE%E8%AE%A1/1.htm">响应式设计</a><a class="tag" taget="_blank" href="/search/%E9%A1%B5%E9%9D%A2%E8%87%AA%E9%80%82%E5%BA%94/1.htm">页面自适应</a>
                                    <div>网页自适应设计 
       网页对浏览器窗口的自适应支持变得越来越重要了。自适应响应设计更是异常火爆。再加上移动端的崛起,更是如日中天。以前为了适应不同屏幕分布率和浏览器窗口的扩大和缩小,需要设计几套css样式,用js脚本判断窗口大小,选择加载。结构臃肿,加载负担较大。现笔者经过一定时间的学习,有所心得,故分享于此,加强交流,共同进步。同时希望对大家有所</div>
                                </li>
                                <li><a href="/article/506.htm"
                                       title="[sql server] 分组取最大最小常用sql" target="_blank">[sql server] 分组取最大最小常用sql</a>
                                    <span class="text-muted">一炮送你回车库</span>
<a class="tag" taget="_blank" href="/search/SQL+Server/1.htm">SQL Server</a>
                                    <div>--分组取最大最小常用sql--测试环境if OBJECT_ID('tb') is not null drop table tb;gocreate table tb( col1 int, col2 int, Fcount int)insert into tbselect 11,20,1 union allselect 11,22,1 union allselect 1</div>
                                </li>
                                <li><a href="/article/633.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/image/1.htm">image</a>
                                    <div>package awt; 
 
import java.awt.Color; 
import java.awt.Font; 
import java.awt.Graphics; 
import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.IOException; 
 
import javax.imagei</div>
                                </li>
                                <li><a href="/article/760.htm"
                                       title="自己的String动态数组" target="_blank">自己的String动态数组</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%8A%A8%E6%80%81%E6%95%B0%E7%BB%84/1.htm">动态数组</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E7%BB%84/1.htm">数组</a>
                                    <div>数组还是好说,学过一两门编程语言的就知道,需要注意的是数组声明时需要把大小给它定下来,比如声明一个字符串类型的数组:String str[]=new String[10];    但是问题就来了,每次都是大小确定的数组,我需要数组大小不固定随时变化怎么办呢?  动态数组就这样应运而生,龙哥给我们讲的是自己用代码写动态数组,并非用的ArrayList 看看字符</div>
                                </li>
                                <li><a href="/article/887.htm"
                                       title="pinyin4j工具类" target="_blank">pinyin4j工具类</a>
                                    <span class="text-muted">darkranger</span>
<a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a>
                                    <div>pinyin4j工具类Java工具类 2010-04-24 00:47:00 阅读69 评论0 字号:大中小 
引入pinyin4j-2.5.0.jar包: 
pinyin4j是一个功能强悍的汉语拼音工具包,主要是从汉语获取各种格式和需求的拼音,功能强悍,下面看看如何使用pinyin4j。 
 
本人以前用AscII编码提取工具,效果不理想,现在用pinyin4j简单实现了一个。功能还不是很完美,</div>
                                </li>
                                <li><a href="/article/1014.htm"
                                       title="StarUML学习笔记----基本概念" target="_blank">StarUML学习笔记----基本概念</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/UML%E5%BB%BA%E6%A8%A1/1.htm">UML建模</a>
                                    <div>介绍StarUML的基本概念,这些都是有效运用StarUML?所需要的。包括对模型、视图、图、项目、单元、方法、框架、模型块及其差异以及UML轮廓。 
        模型、视与图(Model, View and Diagram) 
       &</div>
                                </li>
                                <li><a href="/article/1141.htm"
                                       title="Activiti最终总结" target="_blank">Activiti最终总结</a>
                                    <span class="text-muted">avords</span>
<a class="tag" taget="_blank" href="/search/Activiti+id+%E5%B7%A5%E4%BD%9C%E6%B5%81/1.htm">Activiti id 工作流</a>
                                    <div>1、流程定义ID:ProcessDefinitionId,当定义一个流程就会产生。 
2、流程实例ID:ProcessInstanceId,当开始一个具体的流程时就会产生,也就是不同的流程实例ID可能有相同的流程定义ID。 
3、TaskId,每一个userTask都会有一个Id这个是存在于流程实例上的。 
4、TaskDefinitionKey和(ActivityImpl activityId </div>
                                </li>
                                <li><a href="/article/1268.htm"
                                       title="从省市区多重级联想到的,react和jquery的差别" target="_blank">从省市区多重级联想到的,react和jquery的差别</a>
                                    <span class="text-muted">bee1314</span>
<a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a>
                                    <div>在我们的前端项目里经常会用到级联的select,比如省市区这样。通常这种级联大多是动态的。比如先加载了省,点击省加载市,点击市加载区。然后数据通常ajax返回。如果没有数据则说明到了叶子节点。       针对这种场景,如果我们使用jquery来实现,要考虑很多的问题,数据部分,以及大量的dom操作。比如这个页面上显示了某个区,这时候我切换省,要把市重新初始化数据,然后区域的部分要从页面</div>
                                </li>
                                <li><a href="/article/1395.htm"
                                       title="Eclipse快捷键大全" target="_blank">Eclipse快捷键大全</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/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/%E5%BF%AB%E6%8D%B7%E9%94%AE/1.htm">快捷键</a>
                                    <div>Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)Alt+En</div>
                                </li>
                                <li><a href="/article/1522.htm"
                                       title="js 笔记 函数" target="_blank">js 笔记 函数</a>
                                    <span class="text-muted">征客丶</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a>
                                    <div>一、函数的使用 
1.1、定义函数变量 
var vName = funcation(params){ 
} 
 
1.2、函数的调用 
函数变量的调用:      vName(params); 
函数定义时自发调用:(function(params){})(params); 
 
1.3、函数中变量赋值 
var a = 'a'; 
var ff</div>
                                </li>
                                <li><a href="/article/1649.htm"
                                       title="【Scala四】分析Spark源代码总结的Scala语法二" target="_blank">【Scala四】分析Spark源代码总结的Scala语法二</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a>
                                    <div>1. Some操作 
  
在下面的代码中,使用了Some操作:if (self.partitioner == Some(partitioner)),那么Some(partitioner)表示什么含义?首先partitioner是方法combineByKey传入的变量, 
Some的文档说明: 
  
/** Class `Some[A]` represents existin</div>
                                </li>
                                <li><a href="/article/1776.htm"
                                       title="java 匿名内部类" target="_blank">java 匿名内部类</a>
                                    <span class="text-muted">BlueSkator</span>
<a class="tag" taget="_blank" href="/search/java%E5%8C%BF%E5%90%8D%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">java匿名内部类</a>
                                    <div>组合优先于继承 
Java的匿名类,就是提供了一个快捷方便的手段,令继承关系可以方便地变成组合关系 
继承只有一个时候才能用,当你要求子类的实例可以替代父类实例的位置时才可以用继承。 
  
在Java中内部类主要分为成员内部类、局部内部类、匿名内部类、静态内部类。 
内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相</div>
                                </li>
                                <li><a href="/article/1903.htm"
                                       title="盗版win装在MAC有害发热,苹果的东西不值得买,win应该不用" target="_blank">盗版win装在MAC有害发热,苹果的东西不值得买,win应该不用</a>
                                    <span class="text-muted">ljy325</span>
<a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/apple/1.htm">apple</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/XP/1.htm">XP</a><a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a>
                                    <div>Mac mini 型号: MC270CH-A RMB:5,688 
  
Apple 对windows的产品支持不好,有以下问题: 
  
1.装完了xp,发现机身很热虽然没有运行任何程序!貌似显卡跑游戏发热一样,按照那样的发热量,那部机子损耗很大,使用寿命受到严重的影响! 
  
2.反观安装了Mac os的展示机,发热量很小,运行了1天温度也没有那么高 
&nbs</div>
                                </li>
                                <li><a href="/article/2030.htm"
                                       title="读《研磨设计模式》-代码笔记-生成器模式-Builder" target="_blank">读《研磨设计模式》-代码笔记-生成器模式-Builder</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/ 
 
 



/**
 * 生成器模式的意图在于将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示(GoF)
 * 个人理解:
 * 构建一个复杂的对象,对于创建者(Builder)来说,一是要有数据来源(rawData),二是要返回构</div>
                                </li>
                                <li><a href="/article/2157.htm"
                                       title="JIRA与SVN插件安装" target="_blank">JIRA与SVN插件安装</a>
                                    <span class="text-muted">chenyu19891124</span>
<a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a><a class="tag" taget="_blank" href="/search/jira/1.htm">jira</a>
                                    <div>JIRA安装好后提交代码并要显示在JIRA上,这得需要用SVN的插件才能看见开发人员提交的代码。 
1.下载svn与jira插件安装包,解压后在安装包(atlassian-jira-subversion-plugin-0.10.1) 
2.解压出来的包里下的lib文件夹下的jar拷贝到(C:\Program Files\Atlassian\JIRA 4.3.4\atlassian-jira\WEB</div>
                                </li>
                                <li><a href="/article/2284.htm"
                                       title="常用数学思想方法" target="_blank">常用数学思想方法</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a>
                                    <div>  对于搞工程和技术的朋友来讲,在工作中常常遇到一些实际问题,而采用常规的思维方式无法很好的解决这些问题,那么这个时候我们就需要用数学语言和数学工具,而使用数学工具的前提却是用数学思想的方法来描述问题。。下面转帖几种常用的数学思想方法,仅供学习和参考 
 
 
 
  函数思想 
  把某一数学问题用函数表示出来,并且利用函数探究这个问题的一般规律。这是最基本、最常用的数学方法</div>
                                </li>
                                <li><a href="/article/2411.htm"
                                       title="pl/sql集合类型" target="_blank">pl/sql集合类型</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/%E9%9B%86%E5%90%88/1.htm">集合</a><a class="tag" taget="_blank" href="/search/type/1.htm">type</a><a class="tag" taget="_blank" href="/search/pl%2Fsql/1.htm">pl/sql</a>
                                    <div>--集合类型 
/* 
  单行单列的数据,使用标量变量 
  单行多列数据,使用记录 
  单列多行数据,使用集合(。。。) 
  *集合:类似于数组也就是。pl/sql集合类型包括索引表(pl/sql table)、嵌套表(Nested Table)、变长数组(VARRAY)等 
*/ 
/* 
    --集合方法 
&n</div>
                                </li>
                                <li><a href="/article/2538.htm"
                                       title="[Ofbiz]ofbiz初用" target="_blank">[Ofbiz]ofbiz初用</a>
                                    <span class="text-muted">dinguangx</span>
<a class="tag" taget="_blank" href="/search/%E7%94%B5%E5%95%86/1.htm">电商</a><a class="tag" taget="_blank" href="/search/ofbiz/1.htm">ofbiz</a>
                                    <div>从github下载最新的ofbiz(截止2015-7-13),从源码进行ofbiz的试用 
1. 加载测试库 
ofbiz内置derby,通过下面的命令初始化测试库 
./ant load-demo (与load-seed有一些区别) 
  
2. 启动内置tomcat 
./ant start 
或 
./startofbiz.sh 
或 
java -jar ofbiz.jar 
&</div>
                                </li>
                                <li><a href="/article/2665.htm"
                                       title="结构体中最后一个元素是长度为0的数组" target="_blank">结构体中最后一个元素是长度为0的数组</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/gcc/1.htm">gcc</a>
                                    <div>在Linux源代码中,有很多的结构体最后都定义了一个元素个数为0个的数组,如/usr/include/linux/if_pppox.h中有这样一个结构体: struct pppoe_tag {     __u16 tag_type;     __u16 tag_len;   &n</div>
                                </li>
                                <li><a href="/article/2792.htm"
                                       title="Linux cp 实现强行覆盖" target="_blank">Linux cp 实现强行覆盖</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>发现在Fedora 10 /ubutun 里面用cp -fr src dest,即使加了-f也是不能强行覆盖的,这时怎么回事的呢?一两个文件还好说,就输几个yes吧,但是要是n多文件怎么办,那还不输死人呢?下面提供三种解决办法。 方法一 
 
 我们输入alias命令,看看系统给cp起了一个什么别名。 
  
  [root@localhost ~]# aliasalias cp=’cp -i’a</div>
                                </li>
                                <li><a href="/article/2919.htm"
                                       title="Memcached(一)、HelloWorld" target="_blank">Memcached(一)、HelloWorld</a>
                                    <span class="text-muted">frank1234</span>
<a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a>
                                    <div>一、简介 
高性能的架构离不开缓存,分布式缓存中的佼佼者当属memcached,它通过客户端将不同的key hash到不同的memcached服务器中,而获取的时候也到相同的服务器中获取,由于不需要做集群同步,也就省去了集群间同步的开销和延迟,所以它相对于ehcache等缓存来说能更好的支持分布式应用,具有更强的横向伸缩能力。 
二、客户端 
选择一个memcached客户端,我这里用的是memc</div>
                                </li>
                                <li><a href="/article/3046.htm"
                                       title="Search in Rotated Sorted Array II" target="_blank">Search in Rotated Sorted Array II</a>
                                    <span class="text-muted">hcx2013</span>
<a class="tag" taget="_blank" href="/search/search/1.htm">search</a>
                                    <div>Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? 
Would this affect the run-time complexity? How and why? 
Write a function to determine if a given ta</div>
                                </li>
                                <li><a href="/article/3173.htm"
                                       title="Spring4新特性——更好的Java泛型操作API" target="_blank">Spring4新特性——更好的Java泛型操作API</a>
                                    <span class="text-muted">jinnianshilongnian</span>
<a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a><a class="tag" taget="_blank" href="/search/generic+type/1.htm">generic type</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/3300.htm"
                                       title="CentOS安装JDK" target="_blank">CentOS安装JDK</a>
                                    <span class="text-muted">liuxingguome</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a>
                                    <div>1、行卸载原来的: 
[root@localhost opt]# rpm -qa | grep java 
tzdata-java-2014g-1.el6.noarch 
java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64 
java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.x86_64 
[root@localhost</div>
                                </li>
                                <li><a href="/article/3427.htm"
                                       title="二分搜索专题2-在有序二维数组中搜索一个元素" target="_blank">二分搜索专题2-在有序二维数组中搜索一个元素</a>
                                    <span class="text-muted">OpenMind</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84/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/%E4%BA%8C%E5%88%86%E6%90%9C%E7%B4%A2/1.htm">二分搜索</a>
                                    <div>1,设二维数组p的每行每列都按照下标递增的顺序递增。 
用数学语言描述如下:p满足 
(1),对任意的x1,x2,y,如果x1<x2,则p(x1,y)<p(x2,y); 
(2),对任意的x,y1,y2, 如果y1<y2,则p(x,y1)<p(x,y2); 
2,问题: 
给定满足1的数组p和一个整数k,求是否存在x0,y0使得p(x0,y0)=k? 
3,算法分析: 
(</div>
                                </li>
                                <li><a href="/article/3554.htm"
                                       title="java 随机数 Math与Random" target="_blank">java 随机数 Math与Random</a>
                                    <span class="text-muted">SaraWon</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a><a class="tag" taget="_blank" href="/search/Random/1.htm">Random</a>
                                    <div>今天需要在程序中产生随机数,知道有两种方法可以使用,但是使用Math和Random的区别还不是特别清楚,看到一篇文章是关于的,觉得写的还挺不错的,原文地址是 
http://www.oschina.net/question/157182_45274?sort=default&p=1#answers 
 
产生1到10之间的随机数的两种实现方式: 
 

//Math
Math.roun</div>
                                </li>
                                <li><a href="/article/3681.htm"
                                       title="oracle创建表空间" target="_blank">oracle创建表空间</a>
                                    <span class="text-muted">tugn</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a>
                                    <div>create temporary tablespace TXSJ_TEMP   
tempfile 'E:\Oracle\oradata\TXSJ_TEMP.dbf'   
size 32m   
autoextend on   
next 32m maxsize 2048m   
extent m</div>
                                </li>
                                <li><a href="/article/3808.htm"
                                       title="使用Java8实现自己的个性化搜索引擎" target="_blank">使用Java8实现自己的个性化搜索引擎</a>
                                    <span class="text-muted">yangshangchuan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/superword/1.htm">superword</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a><a class="tag" taget="_blank" href="/search/java8/1.htm">java8</a><a class="tag" taget="_blank" href="/search/%E5%85%A8%E6%96%87%E6%A3%80%E7%B4%A2/1.htm">全文检索</a>
                                    <div>需要对249本软件著作实现句子级别全文检索,这些著作均为PDF文件,不使用现有的框架如lucene,自己实现的方法如下: 
1、从PDF文件中提取文本,这里的重点是如何最大可能地还原文本。提取之后的文本,一个句子一行保存为文本文件。 
2、将所有文本文件合并为一个单一的文本文件,这样,每一个句子就有一个唯一行号。 
3、对每一行文本进行分词,建立倒排表,倒排表的格式为:词=包含该词的总行数N=行号</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>