启用Hexo开源博客系统

原文:https://www.fanhaobai.com/2017/03/install-hexo.html

前段时间博客一直使用 FireKylin,总体感觉挺好,但是扩展开发和社区是弱点。而 Hexo 最大特点为纯静态博客系统,同时社区支持也比较好, 故我转而投向了 Hexo 的怀抱。

安装

Hexo 如官方介绍一样,安装方便快捷。安装前请确保 Node 和 Nginx 环境已经存在,需要安装可以参考 CentOS 6 安装 Node 和 Nginx 安装。

只需使用如下命令即可安装 Hexo。

# npm install hexo-cli -g
# hexo init blog
# cd blog
# npm install
# hexo server

安装完成后目录结构如下:

├── _config.yml             # 主配置文件
├── package.json            # 应用程序的信息
├── scaffolds               # 模版文件夹,新建文章时根据这些模版来生成文章的.md文件
├── source                  # 资源文件夹
|   ├── _drafts
|   └── _posts
└── themes                  # 主题文件夹

Hexo 默认启动 4000 端口,使用浏览器访问 http://localhost:4000,即可看见 Hexo 美丽的面容。

说明:Nginx 配置站点根目录为yourblog/public

使用

关于 Hexo 更详细的使用技巧,见官网文档,这里只列举常用的使用方法。

更换主题

Hexo 提供的可选 主题 比较多,总有一款你如意的,我这里主题选择了 raytaylorism,没有为什么,就是看起来舒服而已,后续相关配置也是基于该主题。

找到喜欢的一款后,使用如下命令安装主题:

进入博客目录
# cd yourblog
克隆主题源码到hexo的themes文件夹下
# git clone https://github.com/xxx/xxx.git themes/xxx

最后一步,在_config.yml配置中启用新主题。

theme: xxx

关于主题的相关配置,参考主题源码中的 README.md 文档。

写文章

这里只列举我使用过的方法,更多文章的使用方法,见这里。

1) 新建文章

当需要写文章时,使用如下命令新建文章,会在资源文件夹中生成与 title 对应的 .md 文件。

# hexo new [layout] 
</code></pre> 
 <p>.md 文件就是 markdown 格式的文章表述。格式大致为:</p> 
 <pre><code class="Bash">title: Hello World
date: 2013/7/13 20:46:25
---                                      # 分隔符
以下为文章的markdown内容
</code></pre> 
 <p>文件最上方以<code>---</code>为分隔符,分隔符以上为 Front-matter,用于指定与文章相关的基本信息,分隔符以下才为文章的内容区域。</p> 
 <p>2) Front-matter</p> 
 <p>Front-matter 内容如下:</p> 
 <pre><code class="Bash">layout                 布局
title                  标题
date                   建立日期
updated                更新日期
comments               是否开启文章的评论功能
tags                   标签
categories             分类
permalink              覆盖文章网址
</code></pre> 
 <p>其中 title、date、tags、categories 这 4 项,在新建文章时需要进行设置,其他项采用默认值即可,不需要在每篇文章中进行设置,故可以将这 4 项基本设置移到模板文件<code>scaffolds\post.md</code>中,如下:</p> 
 <pre><code class="Bash">---
title: {{ title }}
date: {{ date }}
tags:
categories:
---
</code></pre> 
 <p>这样在新建文章时,就会自动在文章 .md 文件中加入 4 项基本设置。</p> 
 <p>特别说明,文章中添加了分类和标签后, Hexo 会自动生成分类页面和统计分类的文章数。关于分类和标签的使用,如下:</p> 
 <pre><code class="Bash">categories:           # 分类存在顺序关系
- 语言                 # 1级分类
- PHP                 # 2级分类
- PDO                 # 3级分类    
tags:                 # 标签为无序
- PHP                 # 标签1
- PDO                 # 标签2
</code></pre> 
 <p>3) 正文</p> 
 <p>文章正文使用 markdown 格式即可,我使用的 markdown 编辑器主要有 Typora — Win版 和 马克飞象 — 网页版。</p> 
 <p>Typora 和 马克飞象 的对比:</p> 
 <ul> 
  <li>Typora 可以在本地使用相对路径预览文章图片,文章中插入图片方法,见配置部分。</li> 
  <li>马克飞象在线编辑,可以同印象笔记时时同步,但是想预览图片,就必须是线上图片地址。</li> 
 </ul> 
 <p>使用编辑器预览编辑完文章后,导出 .md 文件替换新建文章时生成的同名 .md 文件即可。</p> 
 <p>编辑完文章后,使用<code>hexo s</code>命令即可实时预览到文章效果。</p> 
 <h2>发布</h2> 
 <p>文章的新增和编辑都是在资源文件夹下(<code>source</code>)操作,完成后需要发布才能生成静态文件(<code>public</code>),进而才能通过浏览器直接访问。</p> 
 <p>发布更新命令如下:</p> 
 <pre><code class="Bash"># hexo generate
可以简写
# hexo g
</code></pre> 
 <p>发布后,<code>public</code>文件夹更新到最新状态,此时即可直接访问。</p> 
 <p>说明:<code>hexo s</code>并没有产生静态文件,而是实时动态解析实现及时访问。</p> 
 <h1>插件</h1> 
 <h2>搜索</h2> 
 <p>安装 hexo-generator-search,在<code>_config.yml</code>中添加如下配置代码:</p> 
 <pre><code class="Bash">search:
  path: search.xml
  field: all
</code></pre> 
 <h2>RSS</h2> 
 <p>安装 hexo-generator-feed,并按照说明配置(atom.xml 的链接写在<code>yourblog/source/_data/link.json</code>的 social 项中,一般无需更改)</p> 
 <h2>Sitemap</h2> 
 <p>安装 hexo-generator-sitemap,并<code>_config.yml</code>中添加如下配置代码:</p> 
 <pre><code class="Bash">sitemap:
  path: sitemap.xml
</code></pre> 
 <p>在使用 Hexo 生成器时会自动生成最新的站点地图 sitemap.xml文件。</p> 
 <h1>配置</h1> 
 <p>更多的配置信息,见这里。我这里只列举比较重要的配置。</p> 
 <h2>打开文章资源文件夹功能</h2> 
 <p>在 Hexo 中,相对路径是针对资源文件夹<code>source</code>来讲,所以文章的静态图片应放置于资源文件夹下。</p> 
 <p>可以将所有文章的静态图片统一放置于<code>source/images</code>下,但是这样不方便于管理,推荐方法是将每篇文章的图片放置于与该文章同名的资源文件下,然后使用相对路径引用即可。</p> 
 <p>在配置文件<code>_config.yml</code>中开启<code>post_asset_folder</code>项,即更改为:</p> 
 <pre><code class="Bash">post_asset_folder: true
</code></pre> 
 <p>开启该项配置后,Hexo 将会在你每一次通过<code>hexo new [layout] <title></code>命令创建新文章时自动创建一个文件名同 .md 文件的文件夹。将所有与你的文章有关的资源放在这个关联文件夹中之后,就可以通过相对路径来引用它们。</p> 
 <p>写文章时你只需在 markdown 中插入相对 .md 文件的 <strong>相对路径</strong> 的图片即可, hexo-asset-image 自动转化为网站 <strong>绝对路径</strong>。此时,可以直接使用 Hexo 提供的标签<code>asset_img</code>来插入图片,但是这样违背了 markdown 语法,无法及时预览,不便于编辑文章。</p> 
 <p>可以通过以下 markdown 语法在文章中插入图片,这种方式同时也支持本地 markdown 编辑器实时预览。</p> 
 <pre><code class="Bash">![](/post_title/image_name)
# post_title为与文章.md同名的资源文件夹名
# image_name为图片的文件名
</code></pre> 
 <h2>URL静态化</h2> 
 <p>Hexo 默认 URL 地址为<code>year/month/day/title/</code>形式,而这种形式并不友好,我将之更改为<code>year/month/title.html</code>形式,<code>_config.yml</code>配置如下:</p> 
 <pre><code class="Bash">permalink: :year/:month/:title.html
</code></pre> 
 <p>特别说明,当开启了文章资源文件夹功能,将 URL 静态化后,使用 Hexo 生成器时会产生一个 <strong>ENOTDIR</strong> 错误,解决办法见下述的 自定义修改 部分。</p> 
 <h2>去除代码块行号</h2> 
 <p>修改<code>_config.yml</code>配置项如下:</p> 
 <pre><code class="Bash">line_number: false
</code></pre> 
 <h1>部署</h1> 
 <p>因为我是直接在服务器上编辑博客,所以发布更新后即可生效。如果采用本地编辑博客,而博客部署在远程服务器上,那么你就需要部署,才能同步本地更新到远程服务器。</p> 
 <p>Hexo 提供了 5 种部署方案,见这里,这里只介绍以下 2 种:</p> 
 <p>1) Git</p> 
 <p>安装 hexo-deployer-git。</p> 
 <p><code>_config.yml</code>配置如下:</p> 
 <pre><code class="Bash">deploy:
  type: git
  repo: <repository url>                     # 库地址
  branch: [branch]                           # 分支名称
  message: [message]                         # 提交信息
</code></pre> 
 <p>该方案适用于采用 github pages 托管博客的用户,当然使用服务器搭建博客的用户可以使用 webhook 方案来实现。</p> 
 <p>2) Rsync</p> 
 <p>安装 hexo-deployer-rsync。</p> 
 <p><code>_config.yml</code>配置如下:</p> 
 <pre><code class="Bash">deploy:
  type: rsync
  host: <host>                         # 远程主机的地址                       
  user: <user>                         # 使用者名称
  root: <root>                         # 远程主机的根目录
  port: [port]                         # 端口,rsync监听端口
  delete: [true|false]                 # 是否删除远程主机上的旧文件
  verbose: [true|false]                # 显示调试信息
  ignore_errors: [true|false]          # 忽略错误
</code></pre> 
 <p>显然,该方案适用于使用服务器搭建博客的用户,但是需要在本地安装 Rsync 客户端(cwRsync)。同时,需要在服务器搭建和配置 Rsync 服务,见这里。</p> 
 <blockquote> 
  <p>我尝试在 Win10 下实现这种方案,但是遇到了很多问题,例如 rsync 服务端采用 SSH 认证方式,但是 cwRsync 使用的 SSH 客户端呆板的从<code>/home/.ssh</code>目录查找 SSH 配置和公钥,很悲剧 Win10 下无法识别这个路径,导致无法免密登录 SSH,Rsync 同步也无法进行。</p> 
 </blockquote> 
 <p>总之,部署的目的,就是将发布生成的静态文件<code>public</code>更新到服务器上,如果能实现这个目的,途径倒是无所谓了。</p> 
 <h1>自定义修改</h1> 
 <h2>修复ENOTDIR错误</h2> 
 <p>当打开文章资源文件夹功能且 URL 静态化后,使用生成器时会产生一个 <strong>ENOTDIR</strong> 错误,此时需要修改<code>yourblog/node_modules/hexo/lib/models/post_asset.js</code>中的部分源码。</p> 
 <p>将<code>return pathFn.join(post.path, this.slug);</code>更改为:</p> 
 <pre><code class="Js">var path = post.path;
if (path.indexOf('.') != -1) {
    path = path.substr(0, path.lastIndexOf('.'));
}
if (path[path.length - 1] !== '/') {
    path += '/';
}
return pathFn.join(path, this.slug);
</code></pre> 
 <h2>在文章摘要中加入预览图</h2> 
 <p>需修改文件<code>yourblog/node_modules/hexo/lib/plugins/filter/after_post_render/excerpt.js</code>,修改内容如下:</p> 
 <pre><code class="Js">content.replace(rExcerpt, function(match, index) {
   data.excerpt = content.substring(0, index).trim();
   data.more = content.substring(index + match.length).trim();
   data.content = data.excerpt.replace(/<img(.*)>/, '') + data.more;
   return '<a id="more"></a>';
});
</code></pre> 
 <p><strong>说明:</strong>文章摘要预览图不会在文章正文中显示。</p> 
 <h2>文章归档按月归档</h2> 
 <p>需修改文件<code>yourtheme/layout/_partial/archive.ejs</code>。</p> 
 <p>将:</p> 
 <pre><code class="Js">var y = item.date.year();
</code></pre> 
 <p>修改为:</p> 
 <pre><code class="Js">var y = date(item.date, 'YYYY年MM月');
</code></pre> 
 <p>修改后,归档如下图:</p> 
 <p>{% asset_img es8bUSE01LiIgQtbSESyEWxW.png %}</p> 
 <h2>样式修改</h2> 
 <p>1) 去除文字不够一行时居中分散样式<br> 需修改文件<code>yourtheme/source/css/_partial/article.styl</code>。</p> 
 <p>删除以下样式代码:</p> 
 <pre><code class="Js">text-align justify
</code></pre> 
 <p>2) 代码块自动换行</p> 
 <p>在<code>yourtheme/source/css/lib/prettify-tomorrow-night-eighties.css</code>文件中增加如下样式:</p> 
 <pre><code class="CSS">.line span {
  word-break: break-all;
  word-wrap: break-word;
  white-space: pre-wrap;
}
</code></pre> 
 <h2>多说头像HTTPS代理</h2> 
 <p>由于本站全战采用了 HTTPS,而多说头像依然为 HTTP,故这里通过 Nginx 将 HTTP 代理为 HTTPS。</p> 
 <p>1) Nginx 增加如下代理配置:</p> 
 <pre><code class="Bash">server {
   ... ...
   location ~ ^/proxy/(.*)$ {               # proxy为标识
       proxy_connect_timeout    10s;        proxy_read_timeout       10s;
       proxy_read_timeout       10s;
       proxy_pass               http://$1;
       proxy_redirect off;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $remote_addr;
       expires max;
   }
   ... ...
}
</code></pre> 
 <p>2) 下载并修改多说embed.js文件</p> 
 <p>首先,替换 embed.js 文件中头像的路径。在<code>return e.avatar_url||rt.data.default_avatar_url</code>之前插入如下代码:</p> 
 <pre><code class="Js">var site = "https://yoursite/proxy/";
if (e.avatar_url) {
    e.avatar_url = (document.location.protocol == "https:") 
    ? e.avatar_url.replace(/^http\:\/\//, site)
    : e.avatar_url;
} else {
    rt.data.default_avatar_url = (document.location.protocol == "https:")
    ? rt.data.default_avatar_url.replace(/^http\:\/\//, site)
    : rt.data.default_avatar_url;
}
</code></pre> 
 <p>最后,替换 embed.js 文件中表情的路径。替换<code>t+=s.message+'</p><div class="ds-comment-footer ds-comment-actions'</code>中的<code>s.message</code>为如下代码:</p> 
 <pre><code class="Js">((s.message.indexOf("src=\"http:\/\/") == -1) 
? s.message : ((document.location.protocol == "https:") 
? s.message.replace(/src=\"http\:\/\//, "src=\"https://yoursite/proxy/")
: s.message))
</code></pre> 
 <p>3) 修改加载路径</p> 
 <p>将修改完的 embed.js 文件放置于资源文件夹<code>/source/js</code>下,在位置为<code>yourtheme/layout/_partial/plugin/comment.ejs</code> 的模板文件中,修改加载 embed.js 文件路径。</p> 
 <p>将:</p> 
 <pre><code class="Js">ds.src = (document.location.protocol == 'https:' ? 'https:'
   : 'http:') + '//static.duoshuo.com/embed.js';
</code></pre> 
 <p>修改为:</p> 
 <pre><code class="Js">ds.src = (document.location.protocol == 'https:' ? 'https:'
   : 'http:') + '//www.fanhaobai.com/js/embed.js';
</code></pre> 
 <h2>百度统计</h2> 
 <p>在<code>yourblog/themes/raytaylorism/layout/_partial/plugin/analytics.ejs</code>文件中追加如下代码:</p> 
 <pre><code class="Js"><% if (theme.baidu_analytics){ %>
<script>
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?<%= theme.baidu_analytics %>";
  var s = document.getElementsByTagName("script")[0];
  s.parentNode.insertBefore(hm, s);
})();
</script>
<% } %>
</code></pre> 
 <p>并在配置文件<code>_config.yml</code>中,加入如下配置信息:</p> 
 <pre><code class="Js"># 百度分析Uid,若为空则不启用
baidu_analytics: 9f0ecfa73797e6a907d8ea6a285df6a5
</code></pre> 
 <h2>百度分享</h2> 
 <p>由于百度分享也不支持 HTTPS 站点,但是 hrwhisper 已经在 Github 上提供了解决办法,见这里。</p> 
 <p>1) 下载源码</p> 
 <p>从 Github 直接下载源码,解压缩后放置于资源文件夹<code>source</code>中,因为 Hexo 会压缩 Js 文件,可能会导致 share.js 会报错,可以通过配置<code>_config.yml</code>解决。</p> 
 <pre><code class="Js">skip_render:
  - "static/**"
</code></pre> 
 <p>2) 添加加载</p> 
 <p>从百度分享获取分享代码,插入主题模板文件<code>yourtheme/layout/_partial/article.ejs</code>中。</p> 
 <p>将分享 HTML 代码插入如下位置:</p> 
 <pre><code class="Html"><div class="card-content">               # 追加到这个div中
  ... ...
  <div style="height:15px;"></div>
  <div class="bdsharebuttonbox">
    <a href="" class="bds_more" data-cmd="more"></a>
    <a href="" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a>
    <a href="" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a>
    <a href="" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a>
    <a href="" class="bds_renren" data-cmd="renren" title="分享到人人网"></a>
    <a href="" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a>
  </div>
</div>
</code></pre> 
 <p>最后,注意将引用 share.js 的 <strong>路径</strong> 替换为自己的站点路径。</p> 
 <pre><code class="Js">appendChild(createElement('script')).src='https://www.fanhaobai.com
/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)
</code></pre> 
 <h2>百度主动推送</h2> 
 <p>为了更好的收录本站文章,这里引进了百度 主动推送功能,只需添加如下 JS代码,每当文章被浏览时都会自动向百度提交链接,这种方式以用户为驱动,较为方便和实用。</p> 
 <p>在主题模板文件<code>yourthemes/layout/_partial/article.ejs</code>中,插入以下代码:</p> 
 <pre><code class="Js"><script>
(function () {
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'
    } else {
        bp.src = 'http://push.zhanzhang.baidu.com/push.js'
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s)
})();
</script>
</code></pre> 
 <p>到这里,也终于算是搭建结束了。至于 404 页面打算采用 腾讯的公益404页面 来做,见这里。</p> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1185220134080454656"></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">你可能感兴趣的:(启用Hexo开源博客系统)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1835505226933694464.htm"
                           title="Pyecharts数据可视化大屏:打造沉浸式数据分析体验" target="_blank">Pyecharts数据可视化大屏:打造沉浸式数据分析体验</a>
                        <span class="text-muted">我的运维人生</span>
<a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">信息可视化</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/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%BC%80%E5%8F%91/1.htm">运维开发</a><a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF%E5%85%B1%E4%BA%AB/1.htm">技术共享</a>
                        <div>Pyecharts数据可视化大屏:打造沉浸式数据分析体验在当今这个数据驱动的时代,如何将海量数据以直观、生动的方式展现出来,成为了数据分析师和企业决策者关注的焦点。Pyecharts,作为一款基于Python的开源数据可视化库,凭借其丰富的图表类型、灵活的配置选项以及高度的定制化能力,成为了构建数据可视化大屏的理想选择。本文将深入探讨如何利用Pyecharts打造数据可视化大屏,并通过实际代码案例</div>
                    </li>
                    <li><a href="/article/1835497664922349568.htm"
                           title="使用Faiss进行高效相似度搜索" target="_blank">使用Faiss进行高效相似度搜索</a>
                        <span class="text-muted">llzwxh888</span>
<a class="tag" taget="_blank" href="/search/faiss/1.htm">faiss</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>在现代AI应用中,快速和高效的相似度搜索是至关重要的。Faiss(FacebookAISimilaritySearch)是一个专门用于快速相似度搜索和聚类的库,特别适用于高维向量。本文将介绍如何使用Faiss来进行相似度搜索,并结合Python代码演示其基本用法。什么是Faiss?Faiss是一个由FacebookAIResearch团队开发的开源库,主要用于高维向量的相似性搜索和聚类。Faiss</div>
                    </li>
                    <li><a href="/article/1835496780066811904.htm"
                           title="在一台Ubuntu计算机上构建Hyperledger Fabric网络" target="_blank">在一台Ubuntu计算机上构建Hyperledger Fabric网络</a>
                        <span class="text-muted">落叶无声9</span>
<a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%9D%97%E9%93%BE/1.htm">区块链</a><a class="tag" taget="_blank" href="/search/%E8%B6%85%E7%BA%A7%E8%B4%A6%E6%9C%AC/1.htm">超级账本</a><a class="tag" taget="_blank" href="/search/Hyperledger/1.htm">Hyperledger</a><a class="tag" taget="_blank" href="/search/fabric/1.htm">fabric</a><a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%9D%97%E9%93%BE/1.htm">区块链</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/%E6%9E%84%E5%BB%BA/1.htm">构建</a><a class="tag" taget="_blank" href="/search/hyperledger/1.htm">hyperledger</a><a class="tag" taget="_blank" href="/search/fabric/1.htm">fabric</a>
                        <div>在一台Ubuntu计算机上构建HyperledgerFabric网络Hyperledgerfabric是一个开源的区块链应用程序平台,为开发基于区块链的应用程序提供了一个起点。当我们提到HyperledgerFabric网络时,我们指的是使用HyperledgerFabric的正在运行的系统。即使只使用最少数量的组件,部署Fabric网络也不是一件容易的事。Fabric社区创建了一个名为Cello</div>
                    </li>
                    <li><a href="/article/1835496402042580992.htm"
                           title="GitHub上克隆项目" target="_blank">GitHub上克隆项目</a>
                        <span class="text-muted">bigbig猩猩</span>
<a class="tag" taget="_blank" href="/search/github/1.htm">github</a>
                        <div>从GitHub上克隆项目是一个简单且直接的过程,它允许你将远程仓库中的项目复制到你的本地计算机上,以便进行进一步的开发、测试或学习。以下是一个详细的步骤指南,帮助你从GitHub上克隆项目。一、准备工作1.安装Git在克隆GitHub项目之前,你需要在你的计算机上安装Git工具。Git是一个开源的分布式版本控制系统,用于跟踪和管理代码变更。你可以从Git的官方网站(https://git-scm.</div>
                    </li>
                    <li><a href="/article/1835492740536823808.htm"
                           title="node.js学习" target="_blank">node.js学习</a>
                        <span class="text-muted">小猿L</span>
<a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a>
                        <div>node.js学习实操及笔记温故node.js,node.js学习实操过程及笔记~node.js学习视频node.js官网node.js中文网实操笔记githubcsdn笔记为什么学node.js可以让别人访问我们编写的网页为后续的框架学习打下基础,三大框架vuereactangular离不开node.jsnode.js是什么官网:node.js是一个开源的、跨平台的运行JavaScript的运行</div>
                    </li>
                    <li><a href="/article/1835490218409553920.htm"
                           title="01-Git初识" target="_blank">01-Git初识</a>
                        <span class="text-muted">Meereen</span>
<a class="tag" taget="_blank" href="/search/Git/1.htm">Git</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a>
                        <div>01-Git初识概念:一个免费开源,分布式的代码版本控制系统,帮助开发团队维护代码作用:记录代码内容。切换代码版本,多人开发时高效合并代码内容如何学:个人本机使用:Git基础命令和概念多人共享使用:团队开发同一个项目的代码版本管理Git配置用户信息配置:用户名和邮箱,应用在每次提交代码版本时表明自己的身份命令:查看git版本号git-v配置用户名gitconfig--globaluser.name</div>
                    </li>
                    <li><a href="/article/1835476983614631936.htm"
                           title="Python开发常用的三方模块如下:" target="_blank">Python开发常用的三方模块如下:</a>
                        <span class="text-muted">换个网名有点难</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>Python是一门功能强大的编程语言,拥有丰富的第三方库,这些库为开发者提供了极大的便利。以下是100个常用的Python库,涵盖了多个领域:1、NumPy,用于科学计算的基础库。2、Pandas,提供数据结构和数据分析工具。3、Matplotlib,一个绘图库。4、Scikit-learn,机器学习库。5、SciPy,用于数学、科学和工程的库。6、TensorFlow,由Google开发的开源机</div>
                    </li>
                    <li><a href="/article/1835471059135066112.htm"
                           title="你可能遗漏的一些C#/.NET/.NET Core知识点" target="_blank">你可能遗漏的一些C#/.NET/.NET Core知识点</a>
                        <span class="text-muted">追逐时光者</span>
<a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/.NET/1.htm">.NET</a><a class="tag" taget="_blank" href="/search/DotNetGuide%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97/1.htm">DotNetGuide编程指南</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/.netcore/1.htm">.netcore</a><a class="tag" taget="_blank" href="/search/microsoft/1.htm">microsoft</a>
                        <div>前言在这个快速发展的技术世界中,时常会有一些重要的知识点、信息或细节被忽略或遗漏。《C#/.NET/.NETCore拾遗补漏》专栏我们将探讨一些可能被忽略或遗漏的重要知识点、信息或细节,以帮助大家更全面地了解这些技术栈的特性和发展方向。拾遗补漏GitHub开源地址https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/D</div>
                    </li>
                    <li><a href="/article/1835469294436184064.htm"
                           title="【从浅识到熟知Linux】Linux发展史" target="_blank">【从浅识到熟知Linux】Linux发展史</a>
                        <span class="text-muted">Jammingpro</span>
<a class="tag" taget="_blank" href="/search/%E4%BB%8E%E6%B5%85%E5%AD%A6%E5%88%B0%E7%86%9F%E7%9F%A5Linux/1.htm">从浅学到熟知Linux</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>归属专栏:从浅学到熟知Linux个人主页:Jammingpro每日努力一点点,技术变化看得见文章前言:本篇文章记录Linux发展的历史,因在介绍Linux过程中涉及的其他操作系统及人物,本文对相关内容也有所介绍。文章目录Unix发展史Linux发展史开源Linux官网企业应用情况发行版本在学习Linux前,我们可能都会问Linux从哪里来?它是如何发展的。但在介绍Linux之前,需要先介绍一下Un</div>
                    </li>
                    <li><a href="/article/1835467782687387648.htm"
                           title="linux 发展史" target="_blank">linux 发展史</a>
                        <span class="text-muted">种树的猴子</span>
<a class="tag" taget="_blank" href="/search/%E5%86%85%E6%A0%B8/1.htm">内核</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a>
                        <div>linux发展史说明此前对linux认识模糊一知半解,近期通过学习将自己对于linux的发展总结一下方便大家日后的学习。那Linux是目前一款非常火热的开源操作系统,可是linux是什么时候出现的,又是因为什么样的原因被开发出来的呢。以下将对linux的发展历程进行详细的讲解。目录一、Linux发展背景二、UINIX的诞生三、UNIX的重要分支-BSD的诞生四、Minix的诞生五、GNU与Free</div>
                    </li>
                    <li><a href="/article/1835454543471669248.htm"
                           title="Java:爬虫框架" target="_blank">Java:爬虫框架</a>
                        <span class="text-muted">dingcho</span>
<a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a>
                        <div>一、ApacheNutch2【参考地址】Nutch是一个开源Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。Nutch致力于让每个人能很容易,同时花费很少就可以配置世界一流的Web搜索引擎.为了完成这一宏伟的目标,Nutch必须能够做到:每个月取几十亿网页为这些网页维护一个索引对索引文件进行每秒上千次的搜索提供高质量的搜索结果简单来说Nutch支持分</div>
                    </li>
                    <li><a href="/article/1835448618396512256.htm"
                           title="【ARM Cortex-M 系列 2.3 -- Cortex-M7 Debug event 详细介绍】" target="_blank">【ARM Cortex-M 系列 2.3 -- Cortex-M7 Debug event 详细介绍】</a>
                        <span class="text-muted">主公讲 ARM</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/ARM/1.htm">ARM</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E5%88%97/1.htm">系列</a><a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a><a class="tag" taget="_blank" href="/search/debug/1.htm">debug</a><a class="tag" taget="_blank" href="/search/event/1.htm">event</a>
                        <div>请阅读【嵌入式开发学习必备专栏】文章目录Cortex-M7DebugeventDebugeventsCortex-M7Debugevent在ARMCortex-M7架构中,调试事件(DebugEvent)是由于调试原因而触发的事件。一个调试事件会导致以下几种情况之一发生:进入调试状态:如果启用了停滞调试(HaltingDebug),一个调试事件会使处理器在调试状态下停滞。通过将DHCSR.C_DE</div>
                    </li>
                    <li><a href="/article/1835438028009598976.htm"
                           title="WebMagic:强大的Java爬虫框架解析与实战" target="_blank">WebMagic:强大的Java爬虫框架解析与实战</a>
                        <span class="text-muted">Aaron_945</span>
<a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>文章目录引言官网链接WebMagic原理概述基础使用1.添加依赖2.编写PageProcessor高级使用1.自定义Pipeline2.分布式抓取优点结论引言在大数据时代,网络爬虫作为数据收集的重要工具,扮演着不可或缺的角色。Java作为一门广泛使用的编程语言,在爬虫开发领域也有其独特的优势。WebMagic是一个开源的Java爬虫框架,它提供了简单灵活的API,支持多线程、分布式抓取,以及丰富的</div>
                    </li>
                    <li><a href="/article/1835431727397433344.htm"
                           title="进销存小程序源码 PHP网络版ERP进销存管理系统 全开源可二开" target="_blank">进销存小程序源码 PHP网络版ERP进销存管理系统 全开源可二开</a>
                        <span class="text-muted">摸鱼小号</span>
<a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>可直接源码搭建部署发布后使用:一、功能模块介绍该系统模板主要有进,销,存三个主要模板功能组成,下面将介绍各模块所对应的功能;进:需要将产品采购入库,自动生成采购明细台账同时关联财务生成付款账单;销:是指对客户的销售订单记录,汇总生成产品销售明细及回款计划;存:库存的日常盘点与统计,库存下限预警、出入库台账、库存位置等。1.进购管理采购订单:采购下单审批→由上级审批通过采购入库;采购入库:货品到货></div>
                    </li>
                    <li><a href="/article/1835415206004617216.htm"
                           title="浅谈MapReduce" target="_blank">浅谈MapReduce</a>
                        <span class="text-muted">Android路上的人</span>
<a class="tag" taget="_blank" href="/search/Hadoop/1.htm">Hadoop</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F%E8%AE%A1%E7%AE%97/1.htm">分布式计算</a><a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a>
                        <div>从今天开始,本人将会开始对另一项技术的学习,就是当下炙手可热的Hadoop分布式就算技术。目前国内外的诸多公司因为业务发展的需要,都纷纷用了此平台。国内的比如BAT啦,国外的在这方面走的更加的前面,就不一一列举了。但是Hadoop作为Apache的一个开源项目,在下面有非常多的子项目,比如HDFS,HBase,Hive,Pig,等等,要先彻底学习整个Hadoop,仅仅凭借一个的力量,是远远不够的。</div>
                    </li>
                    <li><a href="/article/1835410352624463872.htm"
                           title="当你看不惯的东西越来越多时,证明你老了!" target="_blank">当你看不惯的东西越来越多时,证明你老了!</a>
                        <span class="text-muted">书影斑斓的简书</span>

                        <div>看国产电视剧,看到那些小鲜肉扮嫩耍酷面瘫的演技时,我总有一种冲进屏幕痛打对方一顿的冲动。什么玩意儿?!但是,多年训练出来的对方视角看问题的能力,又让我可以理智下来,思考其中的合理性。一部影视剧的投资人、导演不是看不出这些小鲜肉的白痴演技,但之所以依然启用这些油头粉面的小鲜肉,就是因为他们能带来无数年轻粉丝的追捧,进而带来收视率和收益。资本天然逐利,影视剧本来就是资本运作的产物罢了。你看不惯这些小鲜</div>
                    </li>
                    <li><a href="/article/1835402857742954496.htm"
                           title="TC27x启动过程(2)-TC277" target="_blank">TC27x启动过程(2)-TC277</a>
                        <span class="text-muted">赞哥哥s</span>
<a class="tag" taget="_blank" href="/search/TC277%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">TC277学习笔记</a><a class="tag" taget="_blank" href="/search/gnu/1.htm">gnu</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a>
                        <div>接上文,继续学习TC277的启动过程。分析启动函数有关用的寄存器说明,参考文章TC27x寄存器学习目录TC27x寄存器学习start函数分析isync汇编指令(同步指令)dsync汇编指令(同步数据),1清除endinit2设置中断堆栈3启用对系统全局寄存器的写访问4初始化SDA基指针5关闭对系统全局寄存器的写访问6关闭看门狗,恢复Endinit位7初始化CSA8初始化ram,拷贝rom数据到ra</div>
                    </li>
                    <li><a href="/article/1835400967986704384.htm"
                           title="内存保护学习(一):tc27x的内存保护MPU设置浅析(个人理解)" target="_blank">内存保护学习(一):tc27x的内存保护MPU设置浅析(个人理解)</a>
                        <span class="text-muted">剑从东方起</span>
<a class="tag" taget="_blank" href="/search/%E9%93%BE%E6%8E%A5%E6%96%87%E4%BB%B6%E5%8F%8A%E5%8A%9F%E8%83%BD%E5%AE%89%E5%85%A8/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/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a>
                        <div>目录一、背景二、Tc27x相关寄存器1、注意点2、注意几个强相关寄存器1)、数据保护范围寄存器2)、代码保护范围寄存器3)、保护集启用寄存器命名约定4)、PSW(每个核都有一个)5)、SYSCON三、使用方法1、内存方面2、在ECUM里面初始化MPU3、OS回调CBK检查4、机理5、补充点一、背景根据低ASIL等级开发的软件组件可能会错误地访问具有较高ASIL等级的软件组件的内存区域,从而产生干扰</div>
                    </li>
                    <li><a href="/article/1835392769678471168.htm"
                           title="metaRTC8.0,一个全新架构的webRTC SDK库" target="_blank">metaRTC8.0,一个全新架构的webRTC SDK库</a>
                        <span class="text-muted">metaRTC</span>
<a class="tag" taget="_blank" href="/search/webrtc/1.htm">webrtc</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a>
                        <div>概述metaRTC8.0是metaRTC开源以来架构变化最大的一个版本,是metaIPC3.0等高性能的基础。metaRTC8.0是一个全新架构版本,并非在metaRTC7.0版本上简单升级,在QOS/语音对讲/内存占用/视频文件录制读取等方面新增多个模块,在弱网对抗/语音对讲/内存优化等效果上有显著提升。metaRTC8.0在一年多的开发中进行了近200次迭代,metaRTC8.0社区版计划在2</div>
                    </li>
                    <li><a href="/article/1835390121789190144.htm"
                           title="探索ASPICE V3.1:汽车行业软件开发的中文指南" target="_blank">探索ASPICE V3.1:汽车行业软件开发的中文指南</a>
                        <span class="text-muted">阮懿同</span>

                        <div>探索ASPICEV3.1:汽车行业软件开发的中文指南ASPICE_V3.1中文版.pdf.zip项目地址:https://gitcode.com/open-source-toolkit/422a2在汽车软件工程领域,高质量的标准对于确保行车安全和提升用户体验至关重要。今天,我们为您介绍一个珍贵的开源宝藏——ASPICEV3.1中文版资源。这是一篇专为国内汽车行业开发者、质量管理者准备的深度解读,旨</div>
                    </li>
                    <li><a href="/article/1835380041006018560.htm"
                           title="SpringBoot和SpringMVC是什么关系?SpringBoot替代SpringMVC了吗?" target="_blank">SpringBoot和SpringMVC是什么关系?SpringBoot替代SpringMVC了吗?</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/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/MVC/1.htm">MVC</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>SpringBoot和SpringMVC都是SpringFramework生态系统中的一部分,但它们各自扮演着不同的角色和提供不同的功能集。理解它们之间的关系,首先需要了解SpringFramework本身。SpringFrameworkSpringFramework是一个全面的、开源的应用程序开发框架,它提供了广泛的功能来支持企业应用开发的几乎所有方面。SpringFramework的核心特性之</div>
                    </li>
                    <li><a href="/article/1835370955510214656.htm"
                           title="Nginx:高性能的Web服务器与反向代理" target="_blank">Nginx:高性能的Web服务器与反向代理</a>
                        <span class="text-muted">张某布响丸辣</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/SpringBoot/1.htm">SpringBoot</a>
                        <div>在当今的互联网世界中,Web服务器的选择对于网站的性能、稳定性和安全性至关重要。Nginx(发音为“engineX”)凭借其卓越的性能、丰富的功能集和灵活的配置选项,成为了众多网站和应用程序的首选Web服务器和反向代理。本文将深入探讨Nginx的特点、应用场景、基本配置以及它如何助力你的Web项目。Nginx简介Nginx是一个开源的、高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/</div>
                    </li>
                    <li><a href="/article/1835362892480868352.htm"
                           title="Rust是否会取代C/C++?Rust与C/C++的较量" target="_blank">Rust是否会取代C/C++?Rust与C/C++的较量</a>
                        <span class="text-muted">AI与编程之窗</span>
<a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A0%81%E7%BC%96%E8%AF%91%E4%B8%8E%E5%BC%80%E5%8F%91/1.htm">源码编译与开发</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><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/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AD%98%E5%AE%89%E5%85%A8/1.htm">内存安全</a><a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/1.htm">并发编程</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81%E5%AE%89%E5%85%A8/1.htm">代码安全</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a>
                        <div>目录引言第一部分:Rust语言的优势内存安全性并发性性能社区和生态系统的成长第二部分:C/C++语言的优势和地位历史积淀和成熟度广泛的库和工具支持性能优化和硬件控制丰富的行业应用社区和行业支持第三部分:挑战和阻碍学习曲线现有代码库的迁移成本生态系统和工具链的完善度社区和人才培养行业应用和推广法规和标准化第四部分:未来趋势和可能性行业趋势教育和人才培养兼容和共存行业标准化企业支持和应用开源社区和生态</div>
                    </li>
                    <li><a href="/article/1835361883188719616.htm"
                           title="免费像素画绘制软件 | Pixelorama v1.0.3" target="_blank">免费像素画绘制软件 | Pixelorama v1.0.3</a>
                        <span class="text-muted">dntktop</span>
<a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6/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/windows/1.htm">windows</a>
                        <div>Pixelorama是一款开源像素艺术多工具软件,旨在为用户提供一个强大且易于使用的平台来创作各种像素艺术作品,包括精灵、瓷砖和动画。这款软件以其丰富的工具箱、动画支持、像素完美模式、剪裁遮罩、预制及可导入的调色板等特色功能,满足了像素艺术家们的各种需求。用户可以享受到动态工具映射、洋葱皮效果、帧标签、播放动画时绘制等高级功能,以及非破坏性的、完全可定制的图层效果,如轮廓、渐变映射、阴影和调色板化</div>
                    </li>
                    <li><a href="/article/1835357725761040384.htm"
                           title="Hadoop" target="_blank">Hadoop</a>
                        <span class="text-muted">傲雪凌霜,松柏长青</span>
<a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/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/hadoop/1.htm">hadoop</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/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a>
                        <div>ApacheHadoop是一个开源的分布式计算框架,主要用于处理海量数据集。它具有高度的可扩展性、容错性和高效的分布式存储与计算能力。Hadoop核心由四个主要模块组成,分别是HDFS(分布式文件系统)、MapReduce(分布式计算框架)、YARN(资源管理)和HadoopCommon(公共工具和库)。1.HDFS(HadoopDistributedFileSystem)HDFS是Hadoop生</div>
                    </li>
                    <li><a href="/article/1835354321357729792.htm"
                           title="python之pyecharts制作可视化数据大屏" target="_blank">python之pyecharts制作可视化数据大屏</a>
                        <span class="text-muted">cesske</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a>
                        <div>文章目录前言一、安装Pyecharts二、创建Pyecharts图表三、设计大屏布局四、实时数据更新五、部署和展示总结前言使用Pyecharts制作可视化数据大屏是一个复杂但有趣的过程,因为Pyecharts本身是一个用于生成Echarts图表的Python库,而Echarts是由百度开发的一个开源可视化库,支持丰富的图表类型和高度自定义。然而,Pyecharts本身并不直接提供“大屏”的解决方案</div>
                    </li>
                    <li><a href="/article/1835347005522669568.htm"
                           title="大模型训练数据库Common Crawl" target="_blank">大模型训练数据库Common Crawl</a>
                        <span class="text-muted">WindyChanChan</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E9%9B%86/1.htm">数据集</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>CommonCrawl介绍‌‌CommonCrawl是一个非营利组织,致力于通过大规模分布式爬虫系统定期抓取整个Web并将其存储在一个可公开访问的数据库中。CommonCrawl的数据收集和处理过程包括使用Python开源爬虫工具收集全球范围内的网站数据,并将其上传到‌CommonCrawl基金会的数据仓库中。该项目从2008年开始,至今已经积累了大量的原始网页数据、元数据和文本提取数据。这些数据</div>
                    </li>
                    <li><a href="/article/1835323818122506240.htm"
                           title="OpenCV图像处理技术(Python)——入门" target="_blank">OpenCV图像处理技术(Python)——入门</a>
                        <span class="text-muted">森屿_</span>
<a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</a>
                        <div>©FuXianjun.AllRightsReserved.OpenCV入门图像作为人类感知世界的视觉基础,是人类获取信息、表达信息的重要手段,OpenCV作为一个开源的计算机视觉库,它包括几百个易用的图像成像和视觉函数,既可以用于学术研究,也可用于工业邻域,它于1999年由因特尔的GaryBradski启动,OpenCV库主要由C和C++语言编写,它可以在多个操作系统上运行。1.1图像处理基本操作</div>
                    </li>
                    <li><a href="/article/1835316687809900544.htm"
                           title="积累,来不得半点虚功" target="_blank">积累,来不得半点虚功</a>
                        <span class="text-muted">荣庭de日拱一卒</span>

                        <div>初夏陪客人游莫干山,感受到莫干山的变化,比如新启用的“全国中青年经济改革研讨会”纪念场所。但在陪同游览中,进一步确证:自己对莫干山“一无所知”。别墅群的来历,重要人物的游历,管理的级别及权属,如此等等,如果没有资深的导游在,过程中的尴尬真不知几何。从事地方史志,虽然术业有专攻,但凡属重要的地方人文景观,如果做不到基本了解,除了用功不勤、用力不深外,还有什么好说的呢?任何时候开始都不晚,关键在于珍惜</div>
                    </li>
                    <li><a href="/article/1835302695590785024.htm"
                           title="Github 2024-09-12 Go开源项目日报Top10" target="_blank">Github 2024-09-12 Go开源项目日报Top10</a>
                        <span class="text-muted">老孙正经胡说</span>
<a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/Github%E8%B6%8B%E5%8A%BF%E5%88%86%E6%9E%90/1.htm">Github趋势分析</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/1.htm">开源项目</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/Golang/1.htm">Golang</a>
                        <div>根据GithubTrendings的统计,今日(2024-09-12统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Go项目10C项目1Terraform:基础设施即代码的开源工具创建周期:3626天开发语言:Go协议类型:OtherStar数量:40393个Fork数量:9397次关注人数:40393人贡献人数:358人OpenIssues数量:1943个Git</div>
                    </li>
                                <li><a href="/article/29.htm"
                                       title="SQL的各种连接查询" target="_blank">SQL的各种连接查询</a>
                                    <span class="text-muted">xieke90</span>
<a class="tag" taget="_blank" href="/search/UNION+ALL/1.htm">UNION ALL</a><a class="tag" taget="_blank" href="/search/UNION/1.htm">UNION</a><a class="tag" taget="_blank" href="/search/%E5%A4%96%E8%BF%9E%E6%8E%A5/1.htm">外连接</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E8%BF%9E%E6%8E%A5/1.htm">内连接</a><a class="tag" taget="_blank" href="/search/JOIN/1.htm">JOIN</a>
                                    <div>一、内连接 
  概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。 
                内连接(join 或者inner join ) 
      SQL语法: 
      select * fron</div>
                                </li>
                                <li><a href="/article/156.htm"
                                       title="java编程思想--复用类" target="_blank">java编程思想--复用类</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/%E7%BB%A7%E6%89%BF/1.htm">继承</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%90%86/1.htm">代理</a><a class="tag" taget="_blank" href="/search/%E7%BB%84%E5%90%88/1.htm">组合</a><a class="tag" taget="_blank" href="/search/final%E7%B1%BB/1.htm">final类</a>
                                    <div>      复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书 
  
一:组合语法:就是将对象的引用放到新类中即可 
    代码: 
    
package com.wj.reuse;

/**
 * 
 * @author Administrator 组</div>
                                </li>
                                <li><a href="/article/283.htm"
                                       title="[开源与生态系统]国产CPU的生态系统" target="_blank">[开源与生态系统]国产CPU的生态系统</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/cpu/1.htm">cpu</a>
                                    <div> 
 
      计算机要从娃娃抓起...而孩子最喜欢玩游戏.... 
 
      要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节.... 
 
      投入一些资金和资源,人力和政策,让游</div>
                                </li>
                                <li><a href="/article/410.htm"
                                       title="JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释" target="_blank">JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释</a>
                                    <span class="text-muted">商人shang</span>
<a class="tag" taget="_blank" href="/search/jvm%E5%86%85%E5%AD%98/1.htm">jvm内存</a>
                                    <div>jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。 
HotSpot虚拟机GC算法采用分代收</div>
                                </li>
                                <li><a href="/article/537.htm"
                                       title="页面上调用 QQ" target="_blank">页面上调用 QQ</a>
                                    <span class="text-muted">oloz</span>
<a class="tag" taget="_blank" href="/search/qq/1.htm">qq</a>
                                    <div><A href="tencent://message/?uin=707321921&amp;Site=有事Q我&amp;Menu=yes">   
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a></div>
                                </li>
                                <li><a href="/article/664.htm"
                                       title="一些问题" target="_blank">一些问题</a>
                                    <span class="text-muted">文强chu</span>
<a class="tag" taget="_blank" href="/search/%E9%97%AE%E9%A2%98/1.htm">问题</a>
                                    <div>1.eclipse 导出 doc  出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 ..... 
SQL:3.mysql  * 必须得放前面 否则  select&nbs</div>
                                </li>
                                <li><a href="/article/791.htm"
                                       title="生活没有安全感" target="_blank">生活没有安全感</a>
                                    <span class="text-muted">小桔子</span>
<a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a><a class="tag" taget="_blank" href="/search/%E5%AD%A4%E7%8B%AC/1.htm">孤独</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E6%84%9F/1.htm">安全感</a>
                                    <div>       圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明</div>
                                </li>
                                <li><a href="/article/918.htm"
                                       title="php 基础语法" target="_blank">php 基础语法</a>
                                    <span class="text-muted">aichenglong</span>
<a class="tag" taget="_blank" href="/search/php+%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95/1.htm">php 基本语法</a>
                                    <div>1 .1 php变量必须以$开头 
<?php 
$a=” b”; 
echo 
?> 
1 .2 php基本数据库类型 Integer  float/double Boolean string 
1 .3 复合数据类型 数组array和对象 object 
1 .4 特殊数据类型  null 资源类型(resource)    $co</div>
                                </li>
                                <li><a href="/article/1045.htm"
                                       title="mybatis tools 配置详解" target="_blank">mybatis tools 配置详解</a>
                                    <span class="text-muted">AILIKES</span>
<a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a>
                                    <div>MyBatis Generator中文文档 
MyBatis Generator中文文档地址: 
 
 http://generator.sturgeon.mopaas.com/ 
 
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。 
本文使用Markdown进行编辑,但是博客显示效</div>
                                </li>
                                <li><a href="/article/1172.htm"
                                       title="继承与多态的探讨" target="_blank">继承与多态的探讨</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/JAVA%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1+%E7%BB%A7%E6%89%BF+%E5%AF%B9%E8%B1%A1/1.htm">JAVA面向对象 继承 对象</a>
                                    <div>继承 extends   多态 
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字: 
  
  
在A类中定义属性和方法; 
class A{
//定义属性
int age;
//定义方法
public void go</div>
                                </li>
                                <li><a href="/article/1299.htm"
                                       title="JS的undefined与null的实例" target="_blank">JS的undefined与null的实例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a>
                                    <div><form name="theform" id="theform">
</form>

<script language="javascript">
    var a
    alert(typeof(b));    //这里提示undefined
    if(theform.datas</div>
                                </li>
                                <li><a href="/article/1426.htm"
                                       title="TDD实践(一)" target="_blank">TDD实践(一)</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/%E6%95%8F%E6%8D%B7/1.htm">敏捷</a><a class="tag" taget="_blank" href="/search/TDD/1.htm">TDD</a>
                                    <div>一.TDD概述 
        TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。 
    </div>
                                </li>
                                <li><a href="/article/1553.htm"
                                       title="[Maven学习笔记十]Maven Profile与资源文件过滤器" target="_blank">[Maven学习笔记十]Maven Profile与资源文件过滤器</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a>
                                    <div>什么是Maven Profile 
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息 
  
Profile的激活机制 
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P</div>
                                </li>
                                <li><a href="/article/1680.htm"
                                       title="【Hive八】Hive用户自定义生成表函数(UDTF)" target="_blank">【Hive八】Hive用户自定义生成表函数(UDTF)</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a>
                                    <div>1. 什么是UDTF 
  
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集 
  2. 如何实现UDTF 
 
 继承org.apache.hadoop.hive.ql.udf.generic</div>
                                </li>
                                <li><a href="/article/1807.htm"
                                       title="tfs restful api 加auth 2.0认计" target="_blank">tfs restful api 加auth 2.0认计</a>
                                    <span class="text-muted">ronin47</span>

                                    <div>  目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点: 
  一是基于客户端的ip设置。这个比较容易实现。 
  二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。 
  现在重点介绍第二种方法实现思路。 
   
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe</div>
                                </li>
                                <li><a href="/article/1934.htm"
                                       title="jdk环境变量配置" target="_blank">jdk环境变量配置</a>
                                    <span class="text-muted">byalias</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a>
                                    <div>进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置: 
 
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe 
 
2、安装jdk-7u79-windows-x64.exe 
 
3、配置环境变量:右击"计算机"-->&quo</div>
                                </li>
                                <li><a href="/article/2061.htm"
                                       title="《代码大全》表驱动法-Table Driven Approach-2" target="_blank">《代码大全》表驱动法-Table Driven Approach-2</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>package com.ljn.base;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti</div>
                                </li>
                                <li><a href="/article/2188.htm"
                                       title="SQL 数值四舍五入 小数点后保留2位" target="_blank">SQL 数值四舍五入 小数点后保留2位</a>
                                    <span class="text-muted">chicony</span>
<a class="tag" taget="_blank" href="/search/%E5%9B%9B%E8%88%8D%E4%BA%94%E5%85%A5/1.htm">四舍五入</a>
                                    <div>  
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。 
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。 
例如: 
  select   cast(round(12.5,2)   as   numeric(5,2))  </div>
                                </li>
                                <li><a href="/article/2315.htm"
                                       title="c++运算符重载" target="_blank">c++运算符重载</a>
                                    <span class="text-muted">CrazyMizzz</span>
<a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a>
                                    <div>一、加+,减-,乘*,除/ 的运算符重载 
 
Rational operator*(const Rational &x) const{ 
 return Rational(x.a * this->a); 
 } 
在这里只写乘法的,加减除的写法类似 
 
二、<<输出,>>输入的运算符重载 
     &nb</div>
                                </li>
                                <li><a href="/article/2442.htm"
                                       title="hive DDL语法汇总" target="_blank">hive DDL语法汇总</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/%E4%BF%AE%E6%94%B9%E5%88%97/1.htm">修改列</a><a class="tag" taget="_blank" href="/search/DDL/1.htm">DDL</a><a class="tag" taget="_blank" href="/search/%E4%BF%AE%E6%94%B9%E8%A1%A8/1.htm">修改表</a>
                                    <div>hive DDL语法汇总 
1、对表重命名 
hive> ALTER TABLE table_name RENAME TO new_table_name; 
  
2、修改表备注 
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm</div>
                                </li>
                                <li><a href="/article/2569.htm"
                                       title="jbox使用说明" target="_blank">jbox使用说明</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a>
                                    <div>参考网址:http://www.kudystudio.com/jbox/jbox-demo.html   jBox v2.3 beta    [ 
点击下载]  
 
技术交流QQGroup:172543951 100521167   
 
 [2011-11-11] jBox v2.3 正式版 
 - [调整&修复] IE6下有iframe或页面有active、applet控件</div>
                                </li>
                                <li><a href="/article/2696.htm"
                                       title="UISegmentedControl 开发笔记" target="_blank">UISegmentedControl 开发笔记</a>
                                    <span class="text-muted">dcj3sjt126com</span>

                                    <div>  //    typedef NS_ENUM(NSInteger, UISegmentedControlStyle) { 
    //        UISegmentedControlStylePlain,     // large plain 
  &</div>
                                </li>
                                <li><a href="/article/2823.htm"
                                       title="Slick生成表映射文件" target="_blank">Slick生成表映射文件</a>
                                    <span class="text-muted">ekian</span>
<a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a>
                                    <div>Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包 
 
"com.typesafe.slick"    %% "slick-codegen"      % slickVersion 
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包 
 

"com.typesa</div>
                                </li>
                                <li><a href="/article/2950.htm"
                                       title="ES-TEST" target="_blank">ES-TEST</a>
                                    <span class="text-muted">gengzg</span>
<a class="tag" taget="_blank" href="/search/test/1.htm">test</a>
                                    <div>package com.MarkNum;

import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.annotation</div>
                                </li>
                                <li><a href="/article/3077.htm"
                                       title="为何外键不再推荐使用" target="_blank">为何外键不再推荐使用</a>
                                    <span class="text-muted">hugh.wang</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/DB/1.htm">DB</a>
                                    <div>表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。 
 
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不</div>
                                </li>
                                <li><a href="/article/3204.htm"
                                       title="领域驱动设计" target="_blank">领域驱动设计</a>
                                    <span class="text-muted">julyflame</span>
<a class="tag" taget="_blank" href="/search/VO/1.htm">VO</a><a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/DTO/1.htm">DTO</a><a class="tag" taget="_blank" href="/search/po/1.htm">po</a>
                                    <div>概念: 
 
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 
 
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对</div>
                                </li>
                                <li><a href="/article/3331.htm"
                                       title="单例设计模式" target="_blank">单例设计模式</a>
                                    <span class="text-muted">hm4123660</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Singleton/1.htm">Singleton</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">单例设计模式</a><a class="tag" taget="_blank" href="/search/%E6%87%92%E6%B1%89%E5%BC%8F/1.htm">懒汉式</a><a class="tag" taget="_blank" href="/search/%E9%A5%BF%E6%B1%89%E5%BC%8F/1.htm">饿汉式</a>
                                    <div>       单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。 
     &nb</div>
                                </li>
                                <li><a href="/article/3458.htm"
                                       title="logback" target="_blank">logback</a>
                                    <span class="text-muted">zhb8015</span>
<a class="tag" taget="_blank" href="/search/log/1.htm">log</a><a class="tag" taget="_blank" href="/search/logback/1.htm">logback</a>
                                    <div>一、logback的介绍 
     Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class</div>
                                </li>
                                <li><a href="/article/3585.htm"
                                       title="整合Kafka到Spark Streaming——代码示例和挑战" target="_blank">整合Kafka到Spark Streaming——代码示例和挑战</a>
                                    <span class="text-muted">Stark_Summer</span>
<a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/storm/1.htm">storm</a><a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a><a class="tag" taget="_blank" href="/search/PARALLELISM/1.htm">PARALLELISM</a><a class="tag" taget="_blank" href="/search/processing/1.htm">processing</a>
                                    <div>作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版</div>
                                </li>
                                <li><a href="/article/3712.htm"
                                       title="spring-master-slave-commondao" target="_blank">spring-master-slave-commondao</a>
                                    <span class="text-muted">王新春</span>
<a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/dataSource/1.htm">dataSource</a><a class="tag" taget="_blank" href="/search/slave/1.htm">slave</a><a class="tag" taget="_blank" href="/search/master/1.htm">master</a>
                                    <div>互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。 
 
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数</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>