<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>建站 on 庞玉栋个人博客</title><link>https://pangyd.com/tags/%E5%BB%BA%E7%AB%99/</link><description>Recent content in 建站 on 庞玉栋个人博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sat, 19 Sep 2026 02:00:00 +0800</lastBuildDate><atom:link href="https://pangyd.com/tags/%E5%BB%BA%E7%AB%99/index.xml" rel="self" type="application/rss+xml"/><item><title>Grab 智能体框架 LLM-Kit 加速 AI 智能体生产部署</title><link>https://pangyd.com/post/radar-534/</link><pubDate>Sat, 19 Sep 2026 02:00:00 +0800</pubDate><guid>https://pangyd.com/post/radar-534/</guid><description>&lt;blockquote>
&lt;p>&lt;strong>原文&lt;/strong>：&lt;a href="https://www.infoq.cn/article/AFC40lL0yaxVCDvBRFOK?utm_source=rss&amp;amp;utm_medium=article">Grab 智能体框架 LLM-Kit 加速 AI 智能体生产部署&lt;/a>&lt;/p>
&lt;p>&lt;strong>作者&lt;/strong>：作者：Hien Luu&lt;/p>
&lt;p>&lt;strong>来源&lt;/strong>：InfoQ 中国（架构）&lt;/p>
&lt;/blockquote>
&lt;h2 id="正文">正文&lt;/h2>
&lt;p>Grab 用 LLM-Kit 对 500 多个内部智能体服务进行了标准化。LLM-Kit 是一个脚手架与集成工具集，可为新建服务直接提供基础智能体执行循环，同时内置评估、链路追踪、密钥管理以及工具服务器连接能力。智能体会在运行时从 50 多个 MCP 服务器中发现可用工具，并通过统一的网关访问模型。因此，新增能力和新增模型服务商只需要进行注册或配置，不需要重新部署。&lt;/p>
&lt;p>现在，在 Grab 把一个全新的 AI 智能体服务接入生产环境大约需要 1 小时，而过去需要两周甚至更久。效率提升的关键点不在于智能体本身的推理循环，而是周围的配套系统：密钥、追踪、服务发现和评估。Grab 在一篇关于 LLM-Kit 的工程博客文章中介绍了这一变化。该框架目前为这家东南亚网约车和外卖公司的 500 多个服务提供支撑，其中包括每天被数百万商家、司机和消费者使用的智能体。文章写道：“推理循环的开发只花了一个下午，而生产环境适配封装却要两周。”&lt;/p>
&lt;p>LLM-Kit 消除的是每项服务都要单独做技术方案决策的负担。它没有被设计成一种新的智能体抽象或领域特定语言，而是围绕 Grab 已有的基础设施而搭建的脚手架。Grab 的思路发生了转变：不再逐个服务重复解决同类问题，改为集中统一一次性解决所有问题，LLM-Kit 正是在这个思路下搭建而成。工程师填写一个表单，就会得到一个 GitLab 代码库，里面是一个可运行的 FastAPI 服务，已经内置了 LangGraph Agent 模块、OpenTelemetry 追踪、Vault 密钥管理和服务发现，并且从第一次代码提交开始就带有一个评估端点，可用 ROUGE、BLEU 以及另一个模型作为评分器进行打分。&lt;/p>
&lt;p>图 1：FastAPI 服务项目目录结构（来源：Grab 博客）&lt;/p>
&lt;p>工具并不是预先绑定好的：智能体会在运行时从 50 多个已注册、支持 Model Context Protocol 的服务器中获取工具。因此，一项能力只需注册一次就能被所有智能体使用。模型服务商同样不是预先接好的。每一次模型调用都会经过兼容 OpenAI 接口的 GrabGPT Gateway。该网关前置接入了五家服务商，并注入凭证，因此应用代码永远不会硬编码某个服务商的信息。&lt;/p>
&lt;p>选择框架而不是平台，是有意为之。文章解释了原因：&lt;/p>
&lt;p>平台会将团队束缚在固化的预设方案中，而这些方案很快就会过时。采用框架的形式则可以适配开发者现有的工作方式。&lt;/p>
&lt;p>分析师 Kai Waehner 曾在今年 4 月份提出，”Agentic AI 的技术锁定比 API 锁定更持久，因为它会同时在多个层面累积。“他提到的层面包括模型、框架、运行时，以及团队基于这些组件搭建出来的开发范式。他的文章并非针对 Grab，但这个分析框架同样适用：网关覆盖的是模型层，而框架、运行时与开发范式则很难封装到单一接口背后，并且是 LLM-Kit 上所有服务共用的部分。&lt;/p></description></item><item><title>建站仿站大师：对建站来说，选择虚拟主机有哪些优点和缺点</title><link>https://pangyd.com/post/135/</link><pubDate>Mon, 25 Dec 2017 12:31:21 +0800</pubDate><guid>https://pangyd.com/post/135/</guid><description>&lt;div id="img-content">&lt;div class="rich_media_content " id="js_content">&lt;p>&lt;span>随着互联网的发展和进步，主机商在提供多种主机种类的同时，也提供着应有尽有的主机方案，如此一来，站长们就可以有多种选择。在建站时，站长可以在虚拟主机、VPS主机、云主机、服务器等主机类型中作出选择。其中不乏有很多人会选择虚拟主机，这取决于虚拟主机独特的优势。但是事情都有两面性，虚拟主机也是如此，也有自身的缺点。&amp;nbsp;&lt;/span>&lt;br>&lt;span>其实对建站来说，正确认识所选虚拟主机有哪些优点和缺点才是明智的做法。&amp;nbsp;&lt;/span>&lt;br>&lt;span>选择虚拟主机的优点：&amp;nbsp;&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>一.节省建站成本&amp;nbsp;&lt;/span>&lt;/strong>&lt;br>&lt;span>　　如果您搭建个人网站，或者为中小型企业搭建网站，选择虚拟主机是最合理的。因为如果您选择了独立服务器，不仅造成网站资源的浪费，也会大大增加建站的成本。而选择虚拟主机在满足建站的需求的前提下，还能为您节省建站成本。&amp;nbsp;&lt;/span>&lt;br>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>二.操作简单，利于网站管理&amp;nbsp;&lt;/span>&lt;/strong>&lt;br>&lt;span>　　虚拟主机简单易操作的优点，更是受新手站长的喜爱。因为在虚拟主机的控制面板上，通常会对一些设置作出明确的标识，即使您不懂技术也能很容易就能上手操作，这对新手简直是福音。&amp;nbsp;&lt;/span>&lt;br>&lt;strong>&lt;span>&lt;br>&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;strong>&lt;span>三.即买即用&amp;nbsp;&lt;/span>&lt;/strong>&lt;br>&lt;span>　　在主机商选购好虚拟主机，只有提交申请后主机商就可立即为您开通。这种即买即用的方式，在很大程度上为您节省了建站的时间。&amp;nbsp;&lt;/span>&lt;br>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>四.升级比较容易&amp;nbsp;&lt;/span>&lt;/strong>&lt;br>&lt;span>　　随着网站需求的增大，您可能需要对主机进行升级。这时，只需您提交一下工单，主机商就会帮您自动升级。&amp;nbsp;&lt;/span>&lt;br>&lt;span>选择虚拟主机的缺点：&amp;nbsp;&lt;/span>&lt;br>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>1.某些功能会受到限制&amp;nbsp;&lt;/span>&lt;br>&lt;span>　　虚拟主机毕竟是共享一台服务器的资源，所以主机商为了在服务器上挂更多的网站，一定会对流量、资源等作出一些限制，也会对如404页面等等一些功能上作出限制。&amp;nbsp;&lt;/span>&lt;br>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>2.网站速度缓慢&amp;nbsp;&lt;/span>&lt;br>&lt;span>　　虚拟主机又称为共享主机，因此在多个网站共同运行时，您网站的速度也会随之下降，进而对SEO优化的一些因素也造成了不利的影响。&amp;nbsp;&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>3.其他网站被攻击时，自己的网站会受到影响&amp;nbsp;&lt;/span>&lt;br>&lt;/p>&lt;p>&lt;span>　　因为是共享同台服务器资源，所以只要其中一个网站受到攻击或者被降权，都会牵连其他的网站。&amp;nbsp;&lt;/span>&lt;br>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>4.考虑的比较多&amp;nbsp;&lt;/span>&lt;br>&lt;span>　　建站在选择虚拟主机时，您要明确下主机商所提供的虚拟主机有哪些功能，以防没有自己需要的特定功能。&amp;nbsp;&lt;/span>&lt;br>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>以上简单的阐述了虚拟主机的优缺点。要明确知道这些，而且在搭建网站时，仔细分析一下各个主机的优缺点，以期为自己的网站选择一个最合适的主机。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>链接:https://mp.weixin.qq.com/s/lTYsRFzu4YfqGsg-GIeLLg&amp;nbsp;&lt;/p>&lt;/div>&lt;/div></description></item><item><title>【SSH网上商城项目实战30】项目总结（附源码下载地址）</title><link>https://pangyd.com/post/174-ssh30/</link><pubDate>Sun, 19 Nov 2017 19:52:46 +0800</pubDate><guid>https://pangyd.com/post/174-ssh30/</guid><description>&lt;table class="layui-table">&lt;tbody>&lt;tr>&lt;td bgcolor="#F5FFFA">&lt;h2 id="0-写在前面">&lt;strong>0. 写在前面&lt;/strong>&lt;/h2>&lt;/td>&lt;/tr>&lt;/tbody>&lt;/table>&lt;p>　　友情提示：点击&amp;gt;&amp;gt;&lt;a href="https://blog.csdn.net/eson_15/article/details/51479994#download" target="_blank">下载地址&lt;/a>&amp;lt;&amp;lt;下载源码。&amp;nbsp;&lt;br>　　项目基本完成了，加上这个总结，与这个项目相关的博客也写了30篇了，积少成多，写博客的过程是固化思路的一个过程，对自己很有用，同时也能帮助别人。顺便说个题外话，在学习的过程中肯定会遇到很多异常出现，我们要做的首先是定位这个异常，一般异常的后面都会跟一个或多个Caused by：xxx，这些都是引起异常的原因，一般我们找最下面的一个Caused by，那里往往才是问题的根源。如果自己解决不了，可以去谷歌、百度搜索（搜索的时候别一大堆异常往上一贴，注意搜关键的部分！），一般我们遇到的问题，99.9%前人都遇到过，基本都能解决，我遇到不能解决的问题基本都是这么干的，自己解决的多了，就有感觉了~最后希望大家在阅读我的博客时会有所收获！　　&amp;nbsp;&lt;br>　　废话就不说了，下面总结一下这个网上商城的项目，我不会面面俱到，主要分为几个模块来总结，包括 用到了哪些技术等等，具体的细节我会在文章中附上快速链接，大家可以查看具体的某篇博文。&amp;nbsp;&lt;br>　　回忆一下这个项目，总共可以分为这些主要的模块：&lt;/p>&lt;blockquote>&lt;ul>&lt;li>&lt;strong>项目环境的搭建&lt;/strong>&lt;/li>&lt;li>&lt;strong>搭建后台管理系统&lt;/strong>&lt;/li>&lt;li>&lt;strong>搭建前台显示页面&lt;/strong>&lt;/li>&lt;li>&lt;strong>购物车相关功能&lt;/strong>&lt;/li>&lt;li>&lt;strong>在线支付功能&lt;/strong>&lt;/li>&lt;li>&lt;strong>邮件和短信的发送功能&lt;/strong>&lt;/li>&lt;li>&lt;strong>域名的申请和项目的部署&lt;/strong>&lt;/li>&lt;li>&lt;strong>表单验证和报表的显示&lt;/strong>&lt;/li>&lt;/ul>&lt;/blockquote>&lt;p>　　下面针对每个模块，做一下具体的分析。&lt;/p>&lt;table class="layui-table">&lt;tbody>&lt;tr>&lt;td bgcolor="#F5FFFA">&lt;h2 id="1-项目环境的搭建">&lt;a name="t1">&lt;/a>&lt;strong>1. 项目环境的搭建&lt;/strong>&lt;/h2>&lt;/td>&lt;/tr>&lt;/tbody>&lt;/table>&lt;p>　　这是每个工程都少不了的环节，而且也会出现很多乱七八糟的问题，刚开始学SSH的时候，总是苦于搭建环境，因为不太熟练，但是熟练了就好了，主要是要“有节奏的”去搭建，也就是说搭建一个环境工程得一步步来，一点点的搭，很多人上来就把jar包啪叽一下全导进去了，然后什么配置文件啊啪叽一下全写好或者从其他地方粘贴来，然后一运行，挂了……然后各种去找问题，何苦呢？这样的话就算搭建10次也不能得心应手。饭要一口口的吃，路要一步一步的走。&amp;nbsp;&lt;br>　　&amp;nbsp;&lt;br>　　SSH的环境搭建，我个人遵循的流程是：&lt;/p>&lt;blockquote>&lt;p>Spring –&amp;gt; Hibernate –&amp;gt; Spring整合Hibernate –&amp;gt; Struts2 –&amp;gt; Spring整合Struts2&lt;/p>&lt;/blockquote>&lt;p>　　每一步做完写个测试类测试一下，这很重要，因为一步步往下走的话，出错了也知道错在哪一步，去哪找问题，最重要的是，这种流程熟练了，下次再搭环境的时候就易如反掌了。关于SSH环境搭建的详细信息请看下面的博文：&amp;nbsp;&lt;br>　　&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51277324" target="&amp;quot;blank">整合Struts2、Hibernate4.3和Spring4.2&lt;/a>&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51297698" target="&amp;quot;blank">基本增删查改、Service和Action的抽取以及使用注解替换xml&lt;/a>&lt;/p>&lt;table class="layui-table">&lt;tbody>&lt;tr>&lt;td bgcolor="#F5FFFA">&lt;h2 id="2-搭建后台管理系统">&lt;a name="t2">&lt;/a>&lt;strong>2. 搭建后台管理系统&lt;/strong>&lt;/h2>&lt;/td>&lt;/tr>&lt;/tbody>&lt;/table>&lt;p>　　后台管理系统我用的是EasyUI搭建的，说真的，EasyUI我也是一知半解，前端的东西我了解的都不深，但是懂一点，具体用的时候也是各种去查的，也没系统的学过，所以没有一个良好的知识体系，但是也不影响去玩。程序猿都喜欢说玩一个技术啥的，听起来好像挺高大上的，慢慢的我也受到一些影响，也喜欢这么说了，不过我对于前端就真的在玩了……　　&amp;nbsp;&lt;br>　　jQuery EasyUI是一组基于jQuery的UI插件集合体，而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript，也不需要对css样式有深入的了解，开发者需要了解的只有一些简单的html标签。　　&amp;nbsp;&lt;br>　　EasyUI的请求都是Ajax请求，不会有新的页面出来，全都都在tab选项卡中或者弹出一个窗口之类的。后台管理系统主要分为三部分：商品的类别管理、商品的管理以及销售管理。销售管理放在最后再说。&lt;/p>&lt;h3 id="21-商品类别的管理">&lt;a name="t3">&lt;/a>&lt;strong>2.1 商品类别的管理&lt;/strong>&lt;/h3>&lt;p>　　该部分主要涉及到了&lt;strong>EasyUI环境和后台框架的搭建&lt;/strong>、&lt;strong>数据库的级联查询和分页&lt;/strong>、&lt;strong>DataGrid数据显示&lt;/strong>、&lt;strong>Struts2整合json&lt;/strong>以及&lt;strong>商品类别的添加、删除、更新和搜索&lt;/strong>。这也是遵循了该部分的一个完成的顺序。　　&amp;nbsp;&lt;br>　　DataGrid以表格的形式展示数据，开发人员不需要具备特定的知识就可以操作它，它有个很好的帮助文档，比较详细，在本项目中我也介绍了创建DataGrid的几种方式，并且也简单介绍了一下DataGrid的部分属性，算是入门吧，我也是入门，多多开发才能掌握这个技术。　　&amp;nbsp;&lt;br>　　类别的添加、删除、更新和搜索功能，主要都是利用EasyUI自带的验证功能，添加商品类别的时，验证输入框的输入是否正确，是否必填等；删除时是否先选中的某一行或某几行；更新的时候每次只能更新一行等，所有这些都是Ajax请求。　　&amp;nbsp;&lt;br>　　关于这部分内容的详细信息，我已经归类了，请参考这些博文：&amp;nbsp;&lt;br>　　&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51312490" target="&amp;quot;blank">使用EasyUI搭建后台页面框架&lt;/a>&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51297705" target="&amp;quot;blank">EasyUI菜单的实现&lt;/a>&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51320212" target="&amp;quot;blank">数据库的级联查询和分页&lt;/a>&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51322262" target="&amp;quot;blank">基于DataGrid的数据显示功能&lt;/a>&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51332758" target="&amp;quot;blank">Struts2和Json的整合&lt;/a>　　&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51338991" target="&amp;quot;blank">DataGrid实现查询和删除功能&lt;/a>&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51347734" target="&amp;quot;blank">DataGrid实现添加和更新功能&lt;/a>&amp;nbsp;&lt;br>　　　　&amp;nbsp;&lt;br>　　下面是我自己遇到的问题：&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51394302" target="&amp;quot;blank">Struts2和Json整合中的懒加载异常问题&lt;/a>&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51383298" target="&amp;quot;blank">Hibernate4执行save()或update()无效&lt;/a>　　&lt;/p>&lt;h3 id="22-商品的管理">&lt;a name="t4">&lt;/a>&lt;strong>2.2 商品的管理&lt;/strong>&lt;/h3>&lt;p>　　商品的管理也有添加删除等操作，跟类别管理道理上是一样的，有个地方就是商品的添加，需要上传商品的照片，这里涉及到了&lt;strong>Struts2实现文件上传&lt;/strong>的功能，我们需要在服务器端建一个文件夹专门用来存储上传文件的，然后写一个model来接收文件，关于文件上传，要专门写一个工具类，项目中开发就是这样的，共性的代码一定要抽取，哪怕只有一句代码也要抽取！这是习惯，也是必须要做的。具体细节参下面列出的这些的博文：&amp;nbsp;&lt;br>　　&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51354932" target="&amp;quot;blank">商品类基本模块的搭建&lt;/a>　　&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51360804" target="&amp;quot;blank">查询和删除商品功能的实现&lt;/a>　　&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51366370" target="&amp;quot;blank">添加和更新商品功能的实现&lt;/a>　　&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51366384" target="&amp;quot;blank">Struts2实现文件上传功能&lt;/a>　　&lt;/p>&lt;table class="layui-table">&lt;tbody>&lt;tr>&lt;td bgcolor="#F5FFFA">&lt;h2 id="3-搭建前台显示页面">&lt;a name="t5">&lt;/a>&lt;strong>3. 搭建前台显示页面&lt;/strong>&lt;/h2>&lt;/td>&lt;/tr>&lt;/tbody>&lt;/table>&lt;p>　　当然，前台的页面不是我设计的，这一块内容我总结的是跟前台显示相关的一些后台技术，比如：&lt;strong>监听器获取首页数据&lt;/strong>、&lt;strong>定时器同步首页数据&lt;/strong>、&lt;strong>Hibernate二级缓存处理热门商品的缓存&lt;/strong>等。&amp;nbsp;&lt;br>　　以前在学习serlvet的时候，首页显示数据我是这么干的，用一个frame，右边显示数据，那么index.jsp中右边的部分我跳转到一个servlet，然后servlet中去数据库中取出所有商品，放到request域中带过去新的jsp页面显示。这虽然能实现，但是很笨。在这里我用了监听器来干这件事，首先自己定义一个监听器，在项目启动的时候把数据库中所有商品信息给取出来，放到application域中，然后首页中直接用EL表达式从application域中去取即可。　　&amp;nbsp;&lt;br>　　还有个问题，当我在管理系统中添加一个新的商品时，我必须要重启一下tomcat才能将新的商品加到application域中，因为第一次取出来后就一直在application域中了，就定死了，后面新添加的就不在application域里面，为了解决这个问题，我使用了定时器来同步首页数据。于是改写了之前写好的监听器，在监听器中设置一个定时器，获取数据库中商品的数据的代码放到定时器任务中，第一次开启立马执行，然后每6个小时执行一次（时间可以自己随便设定），也就是说每6个小时重新获取一下数据库中的商品，存到application域中。一般网站也是这么干的，像CSDN的个人博客主页也是，每天更新一次排名，大概是晚上10点左右吧，具体时间我忘了。那个时候刷新就会看到数据的更新，这样也减小了服务器的压力。&lt;/p>&lt;p>　　该部分具体的技术细节，参见下面这几篇博文：&amp;nbsp;&lt;br>　　&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51373403" target="&amp;quot;blank">使用监听器获取显示在首页的数据&lt;/a>　　&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51373937" target="&amp;quot;blank">监听器如何获取Spring的配置文件&lt;/a>　&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51387378" target="&amp;quot;blank">线程、定时器定时同步首页数据&lt;/a>　&amp;nbsp;&lt;br>　　&lt;a href="https://blog.csdn.net/eson_15/article/details/51405911" target="&amp;quot;blank">Hibernate二级缓存处理首页的热门显示&lt;/a>&lt;/p>&lt;table class="layui-table">&lt;tbody>&lt;tr>&lt;td bgcolor="#F5FFFA">&lt;h2 id="4-购物车相关功能">&lt;a name="t6">&lt;/a>&lt;strong>4. 购物车相关功能&lt;/strong>&lt;/h2>&lt;/td>&lt;/tr>&lt;/tbody>&lt;/table>&lt;p>　　购物车的部分主要涉及到的技术有：&lt;strong>后台的处理购物车和购物项的逻辑&lt;/strong>、&lt;strong>过滤器判断登陆&lt;/strong>、&lt;strong>订单的级联入库&lt;/strong>以及&lt;strong>页面缓存&lt;/strong>的问题。&amp;nbsp;&lt;br>　　购物车的话主要是后台的一些实现逻辑了，购物车里需要有购物项，啥意思呢？我们在天猫上买东西都知道，可以把不同的商品都放到购物车里，然后购物车里有很多商品，每个商品的数量又可以有多个，每个商品及其相关信息就是一个购物项，所以添加购物车的时候，我们首先要完成一个购物项，再将此购物项添加到购物车里。&amp;nbsp;&lt;br>　　当用户想要结算的时候，我们得首先判断用户有没有登陆，这用到了过滤器技术，专门过滤某一类的url，在过滤器中判断当前session中有没有user对象，如果有说明登陆过了，直接放行就行，如果没有则跳转到登陆页面让用户登陆，登陆完成后跳转到用户原来想去的页面。也就相当于门卫一样~看大门的~&amp;nbsp;&lt;br>　　刚刚也提到了，订单信息包含 购物车和购物项，那么我们在订单入库的时候，就要考虑到它们的级联问题，我们可以通过在两者的POJO中设置相应的注解属性即可，但是有个前提，像这种有外键关联的，在入库之前都要将对应的POJO中的外键部分的字段赋好值，比如订单要将订单项加进去，订单项中的订单属性也得赋好值，然后才可以交给Hibernate，Hibernate根据配置好的注解（或者xml文件）将它们一起级联入库。&amp;nbsp;&lt;br>　　页面缓存的问题指的是，当用户确认了订单后，如果点后退，又会回到订单确认页面，刚刚的订单确认页面又出来了，而且session还在，信息还是刚刚的信息，这明显不是我们想要的结果。我们需要在前台和后台同时进行处理才行。&amp;nbsp;&lt;br>　　该部分具体技术细节，请参见下面的几篇博文：&lt;/p></description></item><item><title>程序员如何高效学习（以 Java 为例）</title><link>https://pangyd.com/post/163-java/</link><pubDate>Thu, 09 Nov 2017 18:10:09 +0800</pubDate><guid>https://pangyd.com/post/163-java/</guid><description>&lt;blockquote>&lt;p>写在前面：&lt;/p>&lt;p>其实学习是一件很私人的事情，每个人都应该有一套自己的学习方式，而不是照搬照抄别人的。适合别人的不一定适合自己。所以，读这篇分享的时候，请以一种&lt;span>这点是不是对我有帮助&lt;/span>的心态来阅读，&lt;span>而不是&lt;/span>&lt;span>原来我要这样才能学的好&lt;/span>的心态。如果你觉得某一点对你有用，那就记在心里，如果你觉得不太适合你，那么一笑而过就好。&lt;/p>&lt;/blockquote>&lt;p>&lt;br>&lt;/p>&lt;p>我不是什么大牛，只是一个普通的本科生，有说的不好的地方，还望海涵。也因为我只是一个本科生，没有很多的工作经验，所以对于工作后的一些学习经验比较匮乏，所以文章里大部分说的都是大学时期的一些经验，很抱歉。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>这篇文章大体上会从以下几个部分展开：&lt;/p>&lt;ul class=" list-paddingleft-2">&lt;li>&lt;p>认清自己&lt;/p>&lt;/li>&lt;li>&lt;p>学习目的&lt;/p>&lt;/li>&lt;li>&lt;p>时间管理&lt;/p>&lt;/li>&lt;li>&lt;p>学习方法&lt;/p>&lt;/li>&lt;li>&lt;p>学习的步骤&lt;/p>&lt;/li>&lt;li>&lt;p>获取知识的途径&amp;nbsp;&lt;/p>&lt;/li>&lt;li>&lt;p>影响学习的几个因素&amp;nbsp;&lt;/p>&lt;/li>&lt;li>&lt;p>自己的心态&lt;/p>&lt;/li>&lt;li>&lt;p>外物的影响&lt;/p>&lt;/li>&lt;li>&lt;p>其他想说的&amp;nbsp;&lt;/p>&lt;/li>&lt;li>&lt;p>大学生的学习&amp;nbsp;&lt;/p>&lt;/li>&lt;li>&lt;p>一些感悟&lt;/p>&lt;/li>&lt;/ul>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>&lt;span>一、认清自己&lt;/span>&lt;/span>&lt;/p>&lt;p>1.1&lt;/p>&lt;p>认清自己最关键的一点是要&lt;span>知道自己到底想要什么&lt;/span>。这是第一步，也是最重要的一步。因为这关系到你能够&lt;span>选对学习方向&lt;/span>，能否&lt;span>沉下心来去学习&lt;/span>。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>我们都知道，&lt;span>做自己感兴趣的事情的时候，是可以事半功倍的&lt;/span>，因为你愿意去做它，而不是出于某种原因不得不去做。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>经常会有人问我，现在前端找工作好找么？java 找工作好找么？我要不要学 android 呢？这些问题的答案其实大家心里都明白：只要你足够优秀，学什么都能够找到一份好的工作。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>所以说，&lt;span>不要因为某一个方向火，而盲目的去追；也不要因为某一个方向可能不容易找工作而不去学。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>对一个搞技术的人来说，年龄的增长其实不是那么可怕，可怕的是你没有&lt;span>匹配自己年龄的技术深度&lt;/span>。当你的工作换一个刚毕业的学生都能做的时候，你很快就会被淘汰了。所以，选方向一定要选自己感兴趣的方向，因为只有这样，&lt;span>你才有兴趣去往深入了学，你才不会在未来被年轻人挤下去。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>1.2&lt;/p>&lt;p>认清自己的第二点是&lt;span>认识到人外有人&lt;/span>。自满，自大，自欺欺人是影响自己进步的绊脚石。如果你觉得，你现在已经很了不起了，你能做到这个程度已经很不错了，你就会停滞不前，然后浪费大把的时间。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;blockquote>&lt;p>这是我自己的亲身经历。我的学校是一个双非大学，计算机也不是学校很好的专业，消息也比较闭塞。在我的圈子里，我觉得自己已经很不错了，我之前也一直这样认为。但是，当我今年开始准备春招准备校招的时候，我发现我错了，&lt;span>和真正优秀的人比起来，我什么都不是&lt;/span>。以前觉得自己会的东西，出去一看，大家其实都会；以前觉得很多知识等工作了再去学也不迟，出去一看，发现早就有人学会了。但是，现在认识到这些已经有点晚了，因为已经开始找工作了，没有时间再去让你从头开始学了。&lt;/p>&lt;/blockquote>&lt;p>&lt;br>&lt;/p>&lt;p>所以说，永远不要自满，要知道人外有人。&lt;span>如果有一天，你觉得周围没有人比你更厉害了，一定要记得，不是你走到巅峰了，而是你的圈子，应该扩大了。&lt;/span>只有你的周围，有很多更厉害的人，你才能意识到自己的不足。这也是我常挂在嘴边的：&lt;span>你想变成什么样的人，你就要去认识什么样的人，你的周围是什么样的人，你就会变成什么样的人。&lt;/span>要知道，人以群分。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>&lt;span>二、学习的目的&lt;/span>&lt;/span>&lt;/p>&lt;p>为什么要学习呢？&lt;span>学习的目的，根本上是为了获取竞争优势，增加选择机会。&lt;/span>你比别人懂得多，比别人学的深，你就更有竞争力。对于程序员来说，不懂得学习是没有办法在这个行业混下去的。技术的更新换代，技术的深入掌握都需要去不断的学习，如果你不学，很快就会被淘汰了。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>找工作的时候，有其他专业的朋友会羡慕的和我说：你这个专业真好，一毕业月薪就上万，我才 3，4 千。其实我想说的是，如果不好好学习技术，搞技术的也会失业。大部分的人都只看到一部分计算机的应届生工资很高很羡慕，却忽略了他们这四年是怎么度过的。天上是不会掉馅饼的，计算机专业的每天看剧打游戏，毕业一样找不到工作。希望以后你不会是那群天天打游戏看剧最后抱怨自己工资低的那群人中的一个。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>&lt;span>三、时间管理&lt;/span>&lt;/span>&lt;/p>&lt;p>知道了自己的方向，知道了为什么要学，那么我们接下来谈一谈，怎么安排自己的时间，或者说，&lt;span>怎么制定一个计划&lt;/span>。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>很多人应该都有过这样的经历：我现在很无聊，不知道做什么好，学习吧，不知道学什么，打开电脑也不知道做什么，打开手机也不知道做什么，然后只能选择看个直播，看个电视或者打个游戏来打发时间。当一天过去以后，突然后悔，觉得自己当时要是学习就好了。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>为什么会这样呢？是因为你自己没有一个计划，如果你每天都有一个按时间段安排的计划的话，你就不会迷茫了，你就会知道这个时间点自己应该做什么，而不是用看剧打游戏来打发时间。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>关于时间的管理，首先&lt;/span>：&lt;/p>&lt;blockquote>&lt;p>要有一个大一点的计划，比如年计划，月计划，周计划。&lt;/p>&lt;p>这一年大体上要打到什么目标，这个月要学习哪些知识。&lt;/p>&lt;p>然后是精确到小时的日计划。&lt;/p>&lt;p>每一天，哪个时间段做什么都详细的列出来。&lt;/p>&lt;/blockquote>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>其次，不要太盲目自信。&lt;/span>很多人其实从来没有完成过自己的计划。如果你真的能够完成你制定的每一个计划，那现在的你一定已经很了不起了。如果你几乎没有完成过自己的计划，那么你一开始制定日计划的时候，不要给自己太多的任务。因为如果你一旦完不成，就会影响自己的信心。最好的方式是，&lt;span>一开始制定一些简单的计划，然后每天很容易就能做到，然后慢慢的去增加自己每天的任务量。&lt;/span>最后找到一个最适合自己的节奏。这个过程可能需要很长的时间，因为你要&lt;span>不断的去尝试，去改进&lt;/span>。找到最适合自己的作息时间去休息，找到自己工作状态最好的时间去工作等等。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>最后，不要把你的计划当摆设。虽然我上面说过，&lt;span>很多人其实从来没有完成过自己的计划&lt;/span>。但是我还是希望你能够&lt;span>认真的去对待它&lt;/span>，因为受益的有且只有你自己。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>&lt;span>四、学习方法&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>盲目的学习效果并不好。以前看书的时候，看完一遍再从头看，感觉就像是在看一本新书，完全没有印象。看似自己学了不少，其实真正掌握到的并不多。学习不是你看得书越多，读过的文章越多你就学的越好，而是看你究竟掌握了多了。那么，&lt;span>怎么才能有效的去学习一门新的技术呢&lt;/span>？我总结了以下几个步骤。&lt;/p>&lt;p>&lt;br>&lt;/p></description></item><item><title>程序员编程生涯中常会犯的7个错误</title><link>https://pangyd.com/post/119-7/</link><pubDate>Sat, 30 Sep 2017 19:16:43 +0800</pubDate><guid>https://pangyd.com/post/119-7/</guid><description>&lt;p>&lt;span>时间久了，我发现很多程序员总是犯着相同的错误，前仆后继，却毫不自知。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>下面就是程序员在他们的软件开发生涯中最常犯的7个错误。&lt;/span>&lt;/p>&lt;h2>&lt;strong>&lt;span>&lt;br>&lt;/span>&lt;/strong>&lt;/h2>&lt;h2>&lt;strong>&lt;span>▼没有明确的目标&lt;/span>&lt;/strong>&lt;span>&lt;br>&lt;/span>&lt;/h2>&lt;p>&lt;strong>&lt;span>&lt;br>&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>心中没有终点目标，那就只会随波逐流。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>如果你想在软件开发的职业生涯上获得成功，那么你需要有一个明确的目标。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>仅仅只是对遥远的未来有一个模糊的想法是不够的。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>相反，你应该有坚实的目标——在某个时间段内的首要目的——明确定义的目标。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>我认识许多程序员和所谓的专业人士庸庸碌碌地在同一个岗位上干了几十年，是的，你没听错，就是几十年！&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>这是一场悲剧，但如果没有目标，这就是你人生的默认选择。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>请引以为戒，否则下一个悲剧就会是你。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>那么，我们能做些什么呢？&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>从今天开始，从现在开始，花一些时间，好好想想你的编程生涯，并决定自己的近期目标。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>我的意思是，明确&lt;span>当前的首要目标&lt;/span>。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>一旦达到这个目标之后，再制定一个新的目标，但是现在，请好好想想，你的编程生涯需要实现什么目的？&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;h2>&lt;span>你可以记下来，放到每天都能看到的位置，来提醒自己不断地朝着目标前进。&lt;/span>&lt;/h2>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;h2>&lt;strong>&lt;span>▼不投资于非技术和“软技能”&lt;/span>&lt;/strong>&lt;/h2>&lt;p>&lt;strong>&lt;span>&lt;br>&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>我认识很多程序员其实真的很擅长于写代码。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>我也认识很多程序员在算法上确实远远优于我。他们理解和思考复杂架构的水平，是我所望尘莫及的。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>但你猜怎么着？&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>在我的软件开发职业生涯中，我超越了他们，不仅包括职位职务，还有工资，工作效率，性能等等。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>我说出来不是为了炫耀，只是想要说明软技能对我们的编程生涯有多重要，而不仅仅是那些大多数程序员重点关注的技术技能。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>作为一个软件开发人员，你肯定知道，你的工作并不仅仅是编写代码。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>还有其他许多必要的重点技能。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>我们得时常与人打交道，所以人际交往能力是必须的。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>紧张的时间期限，快速的变化则需要稳定的心理，能够全神贯注，并懂得自我激励。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>在一个不断变化的环境中，在一个充斥了各种繁多和意外的环境中，我们要学会如何优先安排，并尽可能地富有成效。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>此外我们也不能忽略健康以及经济因素，如果忽略它们的话也同样会导致失败甚至是毁灭。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>相关方面的内容还有很多，我就不一一赘述了，感兴趣的话，可以阅读《Soft Skills: The Software Developer’s Manual》 做深入的了解。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>总而言之，不管你做的是哪方面的工作，软技能几乎总是比硬技能、技术技能更重要——所以一定要好好学习这方面的知识。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p>&lt;h2>&lt;strong>&lt;span>▼不参与社区&lt;/span>&lt;/strong>&lt;/h2>&lt;p>&lt;strong>&lt;span>&lt;br>&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>我做的其中一件让我的编程生涯受益无穷的事就是，参与社区。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>这不但让我有了归属感，不再感觉孤单，还能帮助我提高技能，敢于设定更高的目标。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>所以，我强烈建议你加入到编程社区中。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>众人拾柴火焰高，参与社区，是一种积极的成长方式。&lt;/span>&lt;/p></description></item><item><title>庞玉栋:浅谈seo优化对于网站建设的重要性</title><link>https://pangyd.com/post/91-seo/</link><pubDate>Mon, 04 Sep 2017 19:09:42 +0800</pubDate><guid>https://pangyd.com/post/91-seo/</guid><description>&lt;p>根据最近做SEO优化经验而写 &amp;nbsp;写的也都是我的方法 大神勿喷&lt;/p>&lt;p>SEO：英文Search Engine Optimization缩写而来， 中文意译为搜索引擎优化&amp;nbsp;&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>如果你连个网站都没有那就点这里：&lt;a target="_self" href="https://pangyd.com/post/90/">&lt;b>如何拥有一个属于自己的网站&lt;/b>&lt;/a>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>现在的中国搜索引擎 百度是无可置疑的老大 &amp;nbsp;在以前 是谷歌 百度 和soso平分天下 只从谷歌退出江湖 &amp;nbsp;百度就成了第一 soso自然也就排名第二 那为什么现在看不到soso的存在了呢。就是因为soso被搜狗并购 然后360搜索接踵而来 &amp;nbsp;现在最主要的搜索引擎也就成了 百度 搜狗 360搜索&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>一个网站的建设除了把网站搭建好 你还要让搜索引擎喜欢你 &amp;nbsp;要不然你的网站就是一个死站 &amp;nbsp;基本上没有什么人访问&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>那怎么样才能让搜索引擎喜欢你呢 &amp;nbsp;&lt;/p>&lt;p>简洁的站点结构 代码结构良好 层次分明 这样更容易吸引搜索引擎的爬虫光临 收录你的网站&lt;/p>&lt;p>第一就是你网页的内容 &amp;nbsp;爬虫会先爬取你meta标签里的内容 &amp;nbsp;所以网页的内容一定要和关键字想匹配还有就是关键词的密度一定要在全文占比的2%左右 &amp;nbsp;可以用站长工具的密度查询工具&lt;/p>&lt;p>第二是锚链接 &amp;nbsp;锚链接就是你网页内容中文本所链接超链接 &amp;nbsp;爬虫更喜欢爬这种页面 &amp;nbsp;但是锚链接一定要跟文本内容相匹配 &amp;nbsp;再之就是不要过过 &amp;nbsp;一个页面的锚链接在两个左右就可以&lt;/p>&lt;p>第三是图片的alt标签一定要写上 &amp;nbsp;可以在上面加点关键词 以增加网页关键词的密度 &amp;nbsp;一举两得 &amp;nbsp;&lt;/p>&lt;p>有一句话就是 &amp;nbsp;内容为皇 &amp;nbsp;外链为王 &amp;nbsp;&lt;/p>&lt;p>网页的内容为主要的 其次就是你域名在别的网站所在的数量 &amp;nbsp;建议多在各种博客和论坛多写点文章 &amp;nbsp;然后把超链接加到文本上 &amp;nbsp;这样会增加外链的数量 &amp;nbsp;还有就是选择权重和收录量比较高的网站 &amp;nbsp;这样怕虫子在爬网站的时候会查看你的超链接 &amp;nbsp;吸引爬虫更多的光临你的网站 &amp;nbsp;然后还有友链 就是友情链接 可以跟别的网站交换友情链接 &amp;nbsp;这也是seo优化的一部分 &amp;nbsp;&lt;/p></description></item><item><title>如何拥有一个属于自己的网站</title><link>https://pangyd.com/post/89/</link><pubDate>Sun, 03 Sep 2017 09:49:38 +0800</pubDate><guid>https://pangyd.com/post/89/</guid><description>&lt;p>&lt;b>&lt;i>前言&lt;/i>&lt;/b>&lt;/p>&lt;p>网站顾名思义就是网上的一个站点 &amp;nbsp;而你打开的页面就是一个站点上的一个一个文件。那就有人问了，我有一台可以上网的计算机可不可以当站点用呢？答案是肯定的 通俗点来讲就跟你平时串门一样 这家门开着你就可以进去 &amp;nbsp; 但是现在计算机日益发展强大 家家都是用路由器 而且网络运营商分给每台计算机的IP都不是固定的 一般都是动态分配的 所以大多数人你即使开启了你电脑的服务器 因为端口 和IP地址问题 &amp;nbsp;也是很麻烦的 &amp;nbsp;因为你电脑连的路由器 你电脑上的ip地址是内网地址也就是192.168.1.1这样的 &amp;nbsp;再说就是你电脑不是专业的服务器 不能满足一个服务器的基本需求 &amp;nbsp;。说了这么多 也就是自己的电脑当服务器是基本上不可取的！&lt;/p>&lt;p>那还有什么办法可以创建一个网站呢？&lt;/p>&lt;p>整体的步骤是：&lt;/p>&lt;p>1：选择服务器和虚拟空间&lt;/p>&lt;p>2：选择合适的域名&lt;/p>&lt;p>3：网站备案&lt;/p>&lt;p>4：上传网页文件&lt;/p>&lt;p>5：完成&lt;/p>&lt;p>&lt;b>&lt;i>1：选择服务器和虚拟空间&lt;/i>&lt;/b>&lt;/p>&lt;p>现在基本上中大型企业基本上都是有自己的服务器 &amp;nbsp;而小企业和个人一般都是采用第三方的虚拟主机和云服务器来进行建站 比如阿里云 腾讯云 百度云等 还有免费的网眼等 &amp;nbsp;我高三的时候用过网眼的免费空间搭建过聊天机器人 &amp;nbsp;心得就是：免费的就是不好用&lt;img src="https://pangyd.com/uploads/2017/08/44ddb3ea33fe01f7.gif" alt="[微笑]">&amp;nbsp; &amp;nbsp;现在好了 &amp;nbsp;什么免费的虚拟空间和云服务器都便宜了 &amp;nbsp;建站的人也多了 &amp;nbsp;。&lt;/p>&lt;p>我接下来主要是讲阿里云虚拟主机建站过程：&lt;/p>&lt;p>闲话少说 &amp;nbsp;现在阿里云有个活动就是新用户可以免费领取半年的云服务器（ps：基本上抢不到），也有个6元一年的虚拟主机活动 &amp;nbsp;建议有一些建站知识的可以买云服务器 &amp;nbsp;没有建站知识的那就买虚拟主机吧！毕竟你买了云服务器也不知道咋用，那些连虚拟主机也不会用的就自己问度娘把，实在不会就点这里：&lt;a target="_blank" href="https://wpa.qq.com/msgrd?v=3&amp;uin=2500918234&amp;site=qq&amp;menu=yes">热心的博主&lt;/a>（ps：&lt;a target="_self" href="https://wanwang.aliyun.com/hosting/free?spm=5176.8112568.483655.5.tuqHEt">这里放上阿里云虚拟主机的6元活动&lt;/a>）&amp;nbsp;&lt;/p>&lt;p>&lt;b>&lt;i>2：选择合适的域名&lt;/i>&lt;/b>&lt;/p>&lt;p>接下来，买完主机了 你就需要你一个自己域名（ps：这里放上：&lt;a target="_blank" href="https://pangyd.com/post/5/">个人博客应该选怎样的域名&lt;/a>）&amp;nbsp;&lt;/p>&lt;p>&lt;b>&lt;i>3：网站备案&lt;/i>&lt;/b>&lt;/p>&lt;p>接下来就是域名备案：&lt;/p>&lt;p>&lt;img src="https://pangyd.com/uploads/2017/09/515b164f020bb08b.png" alt="UXCL~[%`GY]${~@(IB7XUHA.png">&lt;br>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>2&lt;/p>&lt;p>&lt;img src="https://pangyd.com/uploads/2017/09/a08638e72abe25eb.png" alt="@%(LF{Z]C7$$P8$@6{AE`TC.png">&lt;br>&lt;/p>&lt;p>&lt;img src="https://pangyd.com/uploads/2017/09/0f5a016588300e20.png" alt="YBK}1NQRU8MVHIS(B94I]Y8.png">&lt;br>&lt;/p>&lt;p>&lt;img src="https://pangyd.com/uploads/2017/09/5493d5199098f684.png" alt="G{Z6EW1D]NQLMYN{RAGQ8XE.png">&lt;br>&lt;/p>&lt;p>&lt;img src="https://pangyd.com/uploads/2017/09/e853617ca79bbad1.png" alt="PK(3H{P}~]LYL_[N4XVH9]1.png">&lt;br>&lt;/p>&lt;p>一切跟着流程走 然后提交审核就可以 如果有什么不对 客服会给你打电话 让你修改 基本上就一个工作日时间就可以通过初审&lt;/p>&lt;p>通过初审后 会让你用幕布拍照（ps:第一次备案的还需要买幕布 一般三天左右幕布才会给邮过来 &amp;nbsp;但是有个好消息就是博主这里有块幕布 离的近的小伙伴可以来找我 ）&lt;/p>&lt;p>然后你得下载一个审核单 &amp;nbsp;然后去打印社打印出来 标准就是楼下博主的标准&lt;/p></description></item><item><title>本站上线啦(二)</title><link>https://pangyd.com/post/2/</link><pubDate>Sat, 31 Dec 2016 10:43:38 +0800</pubDate><guid>https://pangyd.com/post/2/</guid><description>&lt;p>看到这个标题有人就说了，你一个小博客，上线就上线了，还“本站上线啦(二)”。在这里我想解释一下，由于内心的极度迫不及待，急于让博客上线，上一篇“本站上线了！”其实没有写完，只写了一部分，还有很多东西没有分享出来。&lt;/p>
&lt;p>其实现在上线的博客并不是我心里想的博客上线之后的样子，当前的博客功能还有很多地方不完善，大多都是功能上的，后台的居多，前台主要是一些细节和用户体验上的不足。比如分页，要做到无限加载，现在只做到了普通分页。&lt;/p>
&lt;p>在本站的首页会看到三个块儿，其中一个是“工匠精神”，精益求精，注重细节，追求完美和极致，不惜花费时间精力，孜孜不倦，反复改进产品，把 99% 提高到 99.99%。&lt;/p>
&lt;p>其实每个人都有一颗追求完美的心，只是追求的程度不同，所以达到的结果也大不相同。但是，每个人对自己的产品或者自己用的产品，肯定会无比的上心。就好比女人出门化妆一样，不能有一点瑕疵。&lt;/p>
&lt;p>搭建博客之初我满怀工匠精神准备将本站做到自己满意才会上线的，可是后来我发现，做到自己满意很难。一个功能或者一个页面在没有做出来之前，你在心里会给自己画个杠杠，想着做成什么什么样就满意了，当这个功能真做出来，你又会发现新的不满意的地方。&lt;/p>
&lt;p>其实追求完美也是需要过程的，万事从无到有，从小到大，从粗糙简陋到极致完美，都需要经历或长或短的过程。庞大如 BAT，他们的系统也是一步步升级迭代出来的，并不是开发出来就是现在这个样子，而是经过无数用户反馈、无数次迭代才成型的。&lt;/p>
&lt;p>经过这些思考，我决定，博客完成基本功能就上线。之后的小细节、新功能都一步步地改善，迭代升级。所以，大家就看到博客现在的样子。&lt;/p>
&lt;p>当然了，博客最主要的还是内容。没有内容做为支撑，再好的用户体验也没用。所以，之后我会发布自己遇到的各种坑，以及爬坑过程，以及好的东西、我认为有用的东西，给大家分享。多多指教！！！&lt;/p></description></item></channel></rss>