今天服务器在运行过程中抛出了如下错误,导致无法访问

本贴最后更新于 1818 天前,其中的信息可能已经斗转星移
[ERROR]-[2019-04-25 15:22:00]-[org.b3log.symphony.service.ArticleQueryService:1569]: Organizes article [1555745058690] failed
java.lang.NullPointerException
[ERROR]-[2019-04-25 15:22:00]-[org.b3log.symphony.service.ArticleQueryService:1569]: Organizes article [1555744835700] failed
java.lang.NullPointerException
[ERROR]-[2019-04-25 15:22:00]-[org.b3log.latke.servlet.renderer.AbstractFreeMarkerRenderer:131]: Renders template [search-articles.ftl] failed [Request [
    method=GET,
    URL=http://qiankunpingtai.cn:443/symphony/search,
    contentType=null,
    characterEncoding=UTF-8,
    local=[
        addr=127.0.0.1,
        port=8081,
        name=localhost],
    remote=[
        addr=61.130.*.*,
        port=45628,
        host=127.0.0.1],
    headers=[
        host=qiankunpingtai.cn:443
        remote-host=61.130.*.*
        x-real-ip=61.130.*.*
        x-forwarded-for=61.130.*.*
        connection=close
        accept=*/*
        user-agent=Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
        accept-encoding=gzip, deflate
    ]
]]
FreeMarker template error:
The following has evaluated to null or missing:
==> article.articleTagObjs  [in template "classic/common/list-item.ftl" at line 22, column 16]


Tip: It's the step after the last dot that caused this error, not those before it.

Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??



FTL stack trace ("~" means nesting-related):
	- Failed at: #list article.articleTagObjs as artic...  [in template "classic/common/list-item.ftl" at line 22, column 9]
	- Reached through: #include "common/list-item.ftl"  [in template "classic/macro-list.ftl" in macro "list" at line 28, column 9]
	- Reached through: @list listData=articles  [in template "classic/search-articles.ftl" at line 42, column 25]


Java stack trace (for programmers):

freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
	at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
	at freemarker.core.Expression.assertNonNull(Expression.java:233)
	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:103)
	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
	at freemarker.core.Environment.visit(Environment.java:330)
	at freemarker.core.Environment.visit(Environment.java:336)
	at freemarker.core.Environment.include(Environment.java:2582)
	at freemarker.core.Include.accept(Include.java:171)
	at freemarker.core.Environment.visit(Environment.java:366)
	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
	at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
	at freemarker.core.Environment.visit(Environment.java:366)
	at freemarker.core.Environment.invoke(Environment.java:775)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
	at freemarker.core.Environment.visit(Environment.java:330)
	at freemarker.core.Environment.visit(Environment.java:336)
	at freemarker.core.Environment.visit(Environment.java:336)
	at freemarker.core.Environment.process(Environment.java:309)
	at freemarker.template.Template.process(Template.java:384)
	at org.b3log.latke.servlet.renderer.AbstractFreeMarkerRenderer.genHTML(AbstractFreeMarkerRenderer.java:154)
	at org.b3log.symphony.processor.SkinRenderer.genHTML(SkinRenderer.java:137)
	at org.b3log.latke.servlet.renderer.AbstractFreeMarkerRenderer.render(AbstractFreeMarkerRenderer.java:125)
	at org.b3log.latke.servlet.DispatcherServlet.result(DispatcherServlet.java:118)
	at org.b3log.latke.servlet.DispatcherServlet.handle(DispatcherServlet.java:97)
	at org.b3log.latke.servlet.DispatcherServlet.service(DispatcherServlet.java:69)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
[WARN ]-[2019-04-25 15:22:06]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/post

  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6484 引用 • 29144 回帖 • 249 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    124 引用 • 580 回帖

相关帖子

被采纳的回答
  • 88250

    这个异常可能是其他异常引起的,比如连接池耗尽,你再仔细看下日志,看看有没有获取连接失败的。如果有,那有可能是被 CC 攻击了。

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • qiankunpingtai
    作者

    这个 ip 是远程访问者的地址,或者是访问者使用的代理 ip!

    2 回复
  • 其他回帖
  • qiankunpingtai
    作者
    Caused by: java.io.IOException: Broken pipe
    	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
    	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
    	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
    	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
    	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
    	at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:134)
    	at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:105)
    	at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:144)
    	at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1223)
    	at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:743)
    	at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:696)
    	at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:686)
    	at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.flush(Http11OutputBuffer.java:553)
    	at org.apache.coyote.http11.filters.IdentityOutputFilter.flush(IdentityOutputFilter.java:117)
    	at org.apache.coyote.http11.Http11OutputBuffer.flush(Http11OutputBuffer.java:216)
    	at org.apache.coyote.http11.Http11Processor.flush(Http11Processor.java:1149)
    	at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:394)
    	at org.apache.coyote.Response.action(Response.java:209)
    	at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:295)
    	... 45 more 
    
  • qiankunpingtai
    作者
    [WARN ]-[2019-04-25 15:16:52]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/thumbs-down
    [WARN ]-[2019-04-25 15:16:52]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/wechat
    [WARN ]-[2019-04-25 15:16:53]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/post
    [WARN ]-[2019-04-25 15:16:53]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/weibo
    [WARN ]-[2019-04-25 15:16:53]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/twitter
    [WARN ]-[2019-04-25 15:16:54]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/chevron-right
    [WARN ]-[2019-04-25 15:16:54]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/google
    [WARN ]-[2019-04-25 15:16:54]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/link
    [WARN ]-[2019-04-25 15:16:54]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/chevron-left
    [WARN ]-[2019-04-25 15:16:55]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/star
    [WARN ]-[2019-04-25 15:16:55]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/view
    [WARN ]-[2019-04-25 15:16:56]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: Not found user [refresh, requestURI=/symphony/member/refresh]
    [WARN ]-[2019-04-25 15:16:57]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: Not found user [iconAsk, requestURI=/symphony/member/iconAsk]
    [WARN ]-[2019-04-25 15:16:57]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: Not found user [perfect, requestURI=/symphony/member/perfect]
    [WARN ]-[2019-04-25 15:16:57]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: Not found user [locked, requestURI=/symphony/member/locked]
    [WARN ]-[2019-04-25 15:16:58]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: Not found user [icon-report, requestURI=/symphony/member/icon-report]
    [WARN ]-[2019-04-25 15:16:58]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: Not found user [goods, requestURI=/symphony/member/goods]
    [WARN ]-[2019-04-25 15:17:01]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: Not found user [addfile, requestURI=/symphony/member/addfile]
    [WARN ]-[2019-04-25 15:17:01]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: Not found user [star, requestURI=/symphony/member/star]
    [WARN ]-[2019-04-25 15:18:18]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/settings/refresh
    [WARN ]-[2019-04-25 15:18:18]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/settings/iconAsk
    [WARN ]-[2019-04-25 15:18:18]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/settings/perfect
    [ERROR]-[2019-04-25 15:18:22]-[org.b3log.symphony.service.ArticleQueryService:1569]: Organizes article [1555745058690] failed 
    
  • qiankunpingtai
    作者
    [WARN ]-[2019-04-25 15:16:09]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/settings/avatar
    [WARN ]-[2019-04-25 15:16:19]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/post
    [WARN ]-[2019-04-25 15:16:25]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/post
    [WARN ]-[2019-04-25 15:16:30]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/settings/function
    [WARN ]-[2019-04-25 15:16:30]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/post
    [WARN ]-[2019-04-25 15:16:35]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/post
    [WARN ]-[2019-04-25 15:16:38]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/post
    [WARN ]-[2019-04-25 15:16:42]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/post
    [WARN ]-[2019-04-25 15:16:45]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/post
    [WARN ]-[2019-04-25 15:16:48]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/post
    [WARN ]-[2019-04-25 15:16:48]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/refresh
    [WARN ]-[2019-04-25 15:16:48]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/perfect
    [WARN ]-[2019-04-25 15:16:50]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 401, /symphony/post
    [WARN ]-[2019-04-25 15:16:50]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/iconAsk
    [WARN ]-[2019-04-25 15:16:51]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/thumbs-up
    [WARN ]-[2019-04-25 15:16:51]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/down
    [WARN ]-[2019-04-25 15:16:51]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/chevron-down
    [WARN ]-[2019-04-25 15:16:52]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/comments
    [WARN ]-[2019-04-25 15:16:52]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/icon-report
    [WARN ]-[2019-04-25 15:16:52]-[org.b3log.latke.servlet.handler.BeforeHandleHandler:60]: Occurred an exception before request processing: 404, /symphony/article/heart 
    
  • 查看全部回帖

推荐标签 标签

  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖 • 1 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    25 引用 • 215 回帖 • 162 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    368 引用 • 1212 回帖 • 578 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖 • 8 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 596 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    172 引用 • 990 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 35 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 421 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 19 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 19 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 587 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 5 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    534 引用 • 672 回帖
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 549 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 293 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖 • 1 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 602 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    330 引用 • 614 回帖
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    139 引用 • 441 回帖 • 1 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 39 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖 • 8 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 39 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    273 引用 • 678 回帖