当前位置: 首页 > news >正文

黑龙江新闻最新消息今天百度seo排名优化是什么

黑龙江新闻最新消息今天,百度seo排名优化是什么,专业网站制作网络公司,摄影网站制作流程简介 比较现代的语言#xff0c;跟C/C比起来通常有一个需要反复炫耀的特性#xff0c;包管理工具#xff0c;这个工具可以很方便地管理工程项目的依赖关系#xff0c;通常会由几个部分组成#xff1a; 一个软件工程的管理工具#xff0c;处理依赖关系#xff0c;构建跟C/C比起来通常有一个需要反复炫耀的特性包管理工具这个工具可以很方便地管理工程项目的依赖关系通常会由几个部分组成 一个软件工程的管理工具处理依赖关系构建测试发布现代的软件开发还可能包含了编译工具链的管理一个记录软件包生态的registry通常提供访问和下载依赖包的功能实际存储软件包的地方有些软件是直接从源代码构建的有些是提供预编译的二进制包还有一些是混合的。 对于JavaMaven是一个很好的例子它提供了一个标准的项目结构一个中央的registry以及一个标准的构建工具Gradle也是一个类似的工具。 对于Pythonpip是一个很好的例子它提供了一个标准的项目结构一个中央的registry以及一个标准的构建工具。 对于C#、F#.NET Core提供了一个标准的项目结构一个中央的registry以及一个标准的构建工具。 良好的生态是现代语言成功的重要因素。跟这个比较C/C可以理解为软件管理工具、软件包库、编译器在Linux系统中跟系统紧密耦合采用apt、yum等工具提供在windows中这些功能由IDE提供一部分但是整个的库文件管理、包管理是比较混乱的状态。但是因为Linux对于C/C的支持比较好所以C/C的生态实际上也是能够得到保障的虽然诟病的很多。工具包的不同版本的混乱都是因为跟操作系统紧密耦合造成的。 基本上比较流行的前几个语言都有实际上的依赖管理工具。这个功能如果没有保障必然会成为软件开发人员使用的阻碍。而如果一个语言得到程序员的爱也必然会有程序员来维护相应的工具链。 那么老古董Lisp呢这个完全不纯洁、极度自由的语言有没有什么工具可以用来管理依赖呢 Lisp标准的包管理工具是ASDF它是一个构建工具可以用来管理Lisp项目的依赖关系。在ASDF之上Lisp还有一个叫Quicklisp的工具提供实际的软件包下载和管理功能。而实际上在ASDF上还有一个叫quickproject的工具用来更加方便的创建一个Lisp项目。 ASDF构建工具Quicklisp软件包管理工具Quickproject项目管理工具 这种分层的设计是Lisp中的典型特征每个工具都有自己的功能但是又可以很好的配合使用。大牛们的说法是Lisp软件称为系统是自然而然长出来的。也就是Lisp软件是自下而上开发的。 那么我们分别介绍下几个工具中的核心概念。并用一个例子来展示如何使用这些工具来开发一个系统。 Lisp作为一个老古董居然有这么好用的工具这是懒惰先生的福音。懒惰先生很懒惰所以他必须好好看各种工具的帮助文档然后才能挪动他的胖手指。 ASDFQuicklispQuickproject ASDF的关键核心概念 其实在Linux系统中有一个asdf工具用来切换不同的软件包版本这个跟Lisp的ASDF没有关系。Lisp的ASDF是Another System Definition Facility的缩写是一个构建工具用来管理Lisp项目的依赖关系。ASDF的核心概念有 系统一个系统是一个逻辑上的单元包含了一组文件通常是一个库。系统的定义在一个.asd文件中这个文件包含了系统的名字依赖关系编译选项等。 系统的公开接口系统的接口是系统的一部分包含了系统的导出函数和变量其他系统可以通过这个接口来访问系统的功能。系统的依赖关系一个系统可以依赖于其他系统这个依赖关系可以在.asd文件中定义。系统的实现记录在.asd文件中包含了系统的源代码文件编译选项等。 组件子系统或者文件一个系统可以包含多个组件组件之间可以有依赖关系。组件的顺序和位置 对于用户而言ASDF的核心操作是载入一个系统这个操作会自动载入系统的依赖关系编译系统的源代码载入系统的接口。载入一个系统的操作是(asdf:load-system :system-name)。 对于开发Lisp应用软件的开发者而言ASDF的核心操作是定义一个系统这个操作是在一个.asd文件中定义一个系统包含了系统的名字依赖关系编译选项等。 对于扩展ASDF的开发者而言ASDF提供了扩展系统管理的接口例如quicklisp就是一个扩展ASDF的工具提供了软件包的下载和管理功能每一个软件包都是一个ASDF系统。而quickproject是另一个扩展ASDF的工具提供了更加方便的创建一个Lisp项目的功能。实际上为了实现ASDF的功能ASDF提供了一个通用的操作系统接口UIOP这个接口提供了文件操作路径操作编译操作等功能。 另外两个工具人哦不库 Quicklisp是一个软件包管理工具提供了软件包的下载和管理功能。通常我们不需要直接安装ASDF而是安装QuicklispQuicklisp会自动安装ASDF。针对于只是想使用别人的库的用户来说我们一般就停留在Quicklisp这个层次。比如粗鲁先生Lisp再出发中已经简单粗暴地讲解了如何安装Quicklisp。Quicklisp的核心命令包括 (ql:quickload :system-name)安装一个软件包这个操作会自动下载软件包载入软件包的依赖关系编译软件包的源代码载入软件包的接口。(ql:system-apropos system-name)查找一个软件包这个操作会列出所有包含system-name的软件包。(ql:system-list)列出所有已经安装的软件包。(require :system-name)这个命令虽然不是Quicklisp的命令但是安装后我们通常用这个命令来载入一个软件包。 而Quickproject是一个项目管理工具他只对于库的开发者有意义。Quickproject提供了一个快速创建一个Lisp项目的功能这个功能包括了创建一个标准的项目结构创建一个.asd文件创建一个README文件创建必要的两个lisp文件等。对于懒惰先生只要某个软件提供自动功能那就必须撸起袖子来学一下。 对于QuickProject的安装那就正好使用Quicklisp来安装。Quickproject的核心是提供一个quickproject:make-project函数这个函数会创建一个标准的Lisp项目结构。 就决定是你了Quickproject 懒惰先生懒洋洋的甩了甩鼠标打开一个终端从下面的代码片段中拷贝三个命令粘贴到终端中然后按下回车键。 (ql:quickload :quickproject) ;; 安装Quickproject(require quickproject) ;; 载入Quickproject(quickproject:make-project helloworld :depends-on (:uiop :cl) :author Dafu Chen qchen2015hotmail.com :license MIT)就这样一个名为helloworld的Lisp项目就创建好了。这个项目的目录结构如下 helloworld/ ├── helloworld.asd ├── helloworld.lisp ├── package.lisp ├── README.md其中helloworld.asd是项目的定义文件helloworld.lisp是项目的主文件package.lisp是项目的包文件README.md是项目的说明文件。 ;;;; helloworld.asd(asdf:defsystem #:helloworld:description Describe helloworld here:author Dafu Chen qchen2015hotmail.com:license MIT:version 0.0.1:serial t:depends-on (#:uiop #:cl):components ((:file package)(:file helloworld)))也i可很清楚的看到提供的参数 helloworld :depends-on (:uiop :cl) :author Dafu Chen qchen2015hotmail.com :license MIT被用在哪里。 ;;;; helloworld.lisp(in-package #:helloworld)(defun hello (optional (name World))(format t Hello, ~A!~% name))这里使用了in-package来打开了一个包然后定义了一个函数hello这个函数可以接受一个参数然后输出一个字符串。 ;;;; package.lisp(defpackage #:helloworld(:use #:cl)(:export #:hello))这里懒惰先生拷贝了一个(:export #:hello)这个表示hello函数是公开的其他系统可以通过这个函数来访问helloworld系统的功能。 # helloworld ### _Dafu Chen qchen2015hotmail.com_This is a project to do ... something.## LicenseMIT这个是一个标准的README文件包含了项目的名字作者许可证等信息。 虽然懒惰先生所有的代码都是拷贝的但是他还是很高兴因为他的项目已经创建好了。全文完并没有 下面就是Helloworld工具包的使用 粗鲁先生看到懒惰先生马上就要睡着了粗鲁地踢了一下他的凳子。 这给了懒惰先生一点点力气他奋起全力点开vscode新建hello.lisp文件然后输入下面的代码 (ql:quickload :helloworld) ;; 当然会报错什么找不到系统;;懒惰先生直接关机睡觉全文完并没有到这里找不到系统这简直太打击人了……懒惰先生不知道怎么办只好转向粗鲁先生粗鲁先生说这个问题很简单双喜临门有两个办法 办法一把helloworld项目的目录拷贝到Quicklisp的本地目录下粗鲁先生已经演示过~/quicklisp/local-projects然后重新运行Quicklisp安装命令这样Quicklisp就能找到helloworld项目了。办法二把helloworld项目收录到Quicklisp的软件包中这样Quicklisp就能找到helloworld项目了。这个也很简单只需要三步 把helloworld项目添加到大型交友网站github上给Quicklisp写一个issue请求收录helloworld项目等待Quicklisp的管理员收录helloworld项目Quicklisp收录项目周期很长……反正懒惰先生也不在乎就慢慢等吧……全文完 办法三两个办法当然会有第三这是国际惯例众所周知把helloworld项目的目录添加到asdf:*central-registry*变量中这样ASDF就能找到helloworld项目了。 当然五杰的第六人是最强的。懒惰先生又拷贝了一些代码到hello.lisp文件中 (require uiop)(push (uiop/pathname:merge-pathnames* ./helloworld/)asdf:*central-registry*)(ql:quickload :helloworld)(require helloworld)果然显示安装成功懒惰先生一高兴又拷贝了一些代码到hello.lisp文件中 (helloworld:hello) ;; Hello, World!(helloworld:hello Dafu) ;; Hello, Dafu!好了好了懒惰先生今天干的活实在是太多了他决定去睡觉了全文完 结论 Lisp的包管理工具是ASDF提供了系统的定义和载入功能。Quicklisp是一个软件包管理工具提供了软件包的下载和管理功能。Quickproject是一个项目管理工具提供了快速创建一个Lisp项目的功能。懒惰先生可以使用Quickproject来创建一个Lisp项目然后使用Quicklisp来安装这个项目。懒惰先生可以使用ASDF的*central-registry*变量来添加一个项目的目录这样ASDF就能找到这个项目。
http://www.ho-use.cn/article/10820736.html

相关文章:

  • 免费公司建站服务器个人买能干什么
  • 网站建设算加工承揽合同吗太原定制网站开发制作
  • 深圳快速网站制图文型官网站
  • 网站的做网站的公司专业网站设计第三方服务
  • 长春求推荐好的网站优化推广教育机构有哪些
  • 深圳外贸网站怎么建怎么根据街景图片找地址
  • 网站域名列表怎么填写网站数据库丢失
  • 如何进入网站后台地址泸州本地网站建设
  • 外贸类网站建设诊断网站seo现状的方法
  • 优度网站建设找附近工作招聘信息
  • 沈阳网站关键词网络营销的基本方式
  • win2003创建网站外包公司值得去吗
  • 潍坊网站建设方案网站开发硬件环境
  • 给别人做网站多少钱wordpress rtmp
  • 网站案例上海保安服定制公司
  • 哪些做图片赚钱的网站wordpress获取当前页面
  • 网站怎么申请百度小程序给自己公司做网站运营
  • 教育信息化建设网站濮阳公司做网站
  • 重庆网站建设网页设计360浏览器有些网页打不开是什么原因
  • 网站建设公司推荐乐云seo搭建网站费用
  • 目前网站开发语言网页生成app怎么用
  • 济南网站建设直播东莞做网站 自媒体
  • 爱名网做网站教程91色做爰免费网站
  • 怎么样做外贸网站企业办公软件排名
  • 企业做网站有什么好处网站主机与服务器
  • 佛山技术支持 禅城企业网站互联网公司起名
  • 辉县市工程建设网站建设wordpress 论坛整合
  • 企业建设网站的步骤是什么?镇江网站建设 的公司
  • 长沙seo网站产品推广怎么做
  • 成都优化网站邯郸做企业网站改版