「更快!更爽!」吹水新闻2.0

2023-05-16

这篇文章首发在吹水小镇:http://blog.reetsee.com/archives/388

要在手机或者电脑看到更好的图片或代码欢迎到博文原地址。也欢迎到博文原地址批评指正。

转载请注明:  吹水小镇 | reetsee.com
原文链接地址:  http://blog.reetsee.com/archives/388

reetsee_news

历时半年的「吹水新闻」重构升级终于完成

吹水新闻2.0的地址是:http://news.reetsee.com;

吹水新闻1.0的地址是:http://reetseenews.duapp.com。(由于没有续费可能已经失效)

那么新版比旧版相比有哪些不同?


 体验

自动识别移动端和PC端:旧版要访问移动版页面需要在首页点击“进入移动版”或者在URL的HOST后面加上“/m”,例如”news.reetsee.com/m”。现在新版统一访问“news.reetsee.com”即可,后端识别到移动端访问时会自动使用移动端的网页样式,识别到PC端会自动使用PC端的网页样式;

加载速度「嗖嗖嗖」:旧版页面加载速度很慢,对比例子(由于没有续费1.0页面可能已经失效):http://reetseenews.duapp.com/view/20141227/AEG1SH4M00014JB5和http://news.reetsee.com/entry?category=232。新版优先展示加载速度更快的内容,而旧版会等所有内容都准备好才展现。页面的平均响应时间从旧版的2~5秒提高到新版的1秒内,更加接近「即点即展现」,加载速度嗖嗖嗖;

新闻更实时,当天新闻当天看:旧版的更新时间在每晚接近凌晨的时候才更新当天的「过时」新闻,当天新闻隔天才能看到,而且每次更新实际是人工启动的。新版的更新是自动的,每天早上8点1刻、中午12点1刻、傍晚18点1刻以及夜晚的23点50分都会自动更新,当天新闻当天看;

展现更稳定,告别白页:旧版不时会出现连接时间过长或直接展现白页的情况,新版连接时间更短更稳定,告别白页。

有排版,看着才舒服:旧版的文字内容完全没有排版,新版的内容是会分端分行的,想想都有点小感慨,以前竟然忍受了那么久没有排版的文字。排版后效果大致如下:

排版效果


 技术

这次从技术上真正将吹水新闻完整地迁移到LNMP,关于LNMP的搭建可以参见这篇博客:http://blog.reetsee.com/archives/296。

前端页面的编程语言从旧版的HTML+Javscript+CSS+Python变成新版的HTML+Javscript+CSS+PHP

后端编程语言(包括爬虫)从旧版的纯Python变成新版的PHP+C++

吹水新闻的整体流程及结构如下:

吹水新闻结构

旧版的吹水新闻Web应用框架用的是Python的「Flask」,爬虫使用了Python的「Scrapy」,分词使用了Python的结巴分词「jieba」。

新版的吹水新闻Web页面+反向代理服务器是「Nginx+PHP」实现的,爬虫使用了PHP的「Phpfetcher」,分词使用了C++的结巴分词「cppjieba」。

以前评论概括是使用Python同步完成的,现在则是页面在第一次加载好后发送异步请求到PHP,然后PHP与C++通过Unix域套接字通信,协议是自己写的很简单的格式在这里:协议格式。代码在这里:协议代码。C++评论概括服务接到PHP的请求后会进行分词然后调用一个简单的算法进行概括评论的内容,再通过协议打包好发回给PHP,PHP再将数据以JSON的格式返回。

关于Phpfetcher这个爬虫可以参见这篇博文:http://blog.reetsee.com/archives/366。

还有一些细节就不一一列举了,主要是整个吹水新闻的架构、代码要全部重写所以折腾了比较久。欢迎大家多多使用~!

如果想知道吹水新闻1.0的详细内容,可以参考这两篇博客:http://blog.reetsee.com/archives/235以及http://blog.reetsee.com/archives/237。

转载请注明:  吹水小镇 | reetsee.com
原文链接地址:  http://blog.reetsee.com/archives/388

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

「更快!更爽!」吹水新闻2.0 的相关文章

  • 6.蒙特卡洛方法(TSP)

    定义 xff1a 旅行商问题 xff0c 即TSP问题 xff08 Traveling Salesman Problem xff09 又译为旅行推销员问题 货郎担问题 xff0c 是数学领域中著名问题之一 假设有一个旅行商人要拜访n个城市
  • 云和AI时代下,需要怎样的存储?

    数字化浪潮席卷而来 xff0c 颠覆着传统的生产和生活方式 xff0c 随之产生的新经济和新应用给传统业务模式和产业结构带来前所未有的冲击 特别是云计算 人工智能 AI 和物联网 IoT 的兴起 xff0c 加快了传统产业升级改造的步伐 在
  • 人工智能6个核心技术

    机械学习 机械学习是多领域交叉的学科 xff0c 可以从学习模式和学习方法上面进行分类 xff0c 学习模式将机器学习分类为监督学习 无监督学习和强化学习等 xff0c 学习方法可以将机器学习分为传统机器学习和深度学习 机器学习按学习方式分
  • CAN总线的标准(二)

    一 OSI参考模型 CAN总线标准规定了物理层和数据链路层 xff0c 至于应用层需要用户自定义 不同的CAN标准仅物理层不同 物理层和数据链路层ISO11898 xff1b 应用层 xff1a 不同的应用领域使用不同的应用层标准 二 各层
  • 数据通信--ASCII码通信&16进制通信的区别

    16进制通信一般用于网络传输等的通信上 xff0c 传输效率高 数据量大是二进制通信 ASCII码通信一般用与串口通信等通信上 xff0c 数据量小 易于处理 便于调试 xff0c 它虽然是文本模式 xff0c 但本质仍然是二进制通信 在使
  • ubuntu下安装boost

    boost中 xff0c 用到了别的函数库 xff0c 所以为了使用boost中相应的功能 xff0c 需要先安装系统中可能缺失的库 第一步 安装依赖库 sudo apt get install mpi default dev 安装mpi库
  • 数据结构实验快速排序、冒泡排序算法(交换排序),使用STM32单片机测试(学计算机综合考试408悟单片机系列)

    快速排序和冒泡排序均属于交换排序范畴 xff0c 意味着其基本操作是交换两数 快速排序 xff0c 顾名思义快速的排序 xff0c 毫无遮拦得介绍了自己得特征 而冒泡排序也正如其名称 xff0c 如同养鱼冒泡一样慢条斯理锝排序 xff08
  • 操作系统-13-程序员应如何理解中断

    在这一节中我们聊一聊 xff0c 操作系统管理外设的中断机制 为什么要在这一节聊一聊操作系统如何管理外设呢 xff0c 外设管理是操作系统的核心任务之一 xff0c 理解操作系统的外设管理机制对于我们理解操作系统工作原理至关重要 通过第二章
  • Gitee实现本地代码上传他人的远程仓库

    前言 xff1a 需要下载git bash xff0c 并拥有自己的Gitee账号哦 关于git下载可以看这个博客 xff08 CSDN有很多 xff09 xff1a git git bash 下载与安装 娄笙悦的博客 CSDN博客 Git
  • 关于用elsevier-cas模板的一些问题

    关于用elsevier cas模板的一些问题 关于graphical abstract和highlight 这俩东西可能跟具体的期刊有关 xff0c 在我要投的这个期刊里边 xff0c 这俩是不需要的 xff0c 可以直接从模板中删除 关于
  • 几种供电总线技术

    PowerBus技术 PowerBus为可供电总线技术 xff0c 是业内唯一可以支持大功率负载供电和高速通讯的总线技术 xff0c 相比其他可供电总线技术 xff1a PowerBus供电效率高 xff0c 通过两根电源线最大可提供单个设
  • 使用dd复制将乌班图系统(Ubuntu22.04)完整迁移到新硬盘并扩容

    我的折磨历程 开始的时候用乌班图的时候 xff0c 不懂事 xff0c 根目录太小了 xff0c 后来就满了 xff0c 就就感觉完全没法用 xff0c 看着现在硬盘贼便宜 xff0c 去狗东买了个新的硬盘 感觉挂载硬盘并不能解决我的问题
  • 《剑指offer》面试题 12:矩阵中的路径(C++实现)

    题目 请设计一个函数 xff0c 用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径 路径可以从矩阵中任意一格开始 xff0c 每一步可以在矩阵中向左 右 上 下移动一格 如果一条路径经过了矩阵的某一格 xff0c 那么该路径不能再
  • CocosCreator项目实战(13):功能-排行榜

    文章目录 一 主域设置二 子域设置三 其他相关设置 参考Cocos接入微信小游戏官方文档 xff0c 为了保护其社交关系链数据 xff0c 微信小游戏增加了开放数据域的概念 只有在开放数据域中才能访问微信提供的wx getFriendClo
  • Android MotionLayout 运动布局的使用

    Google 在 2018 年开发者大会上推出一种新的布局组件 MotionLayout 其官方定义如下 xff1a MotionLayout is a layout type that helps you manage motion an
  • Jetpack练手(03):DataBinding

    文章目录 一 导入依赖二 搭建布局三 创建 ViewModel 数据对象四 修改布局为 DataBinding 布局五 绑定数据六 Demo 效果 一 导入依赖 新建 DataBindingDemo 工程 xff0c 参照 LiveData
  • Jetpack练手(04):Lifecycle

    文章目录 一 搭建布局二 非 Lifecycle 实现三 Lifecycle 实现四 Demo 效果 一 搭建布局 新建 LifecycleDemo 工程实现 界面停留时间计时 xff0c 在 activity main xml 搭建简单布
  • OpenDDS学习笔记(4):OpenDDS在Linux环境编译

    文章目录 一 编译前准备1 1 环境1 2 下载ACE 43 TAO与OpenDDS1 3 解压安装ACE 43 TAO与OpenDDS1 4 设置相关环境变量 二 编译2 1 设置config h2 2 设置Platform macros
  • OpenDDS学习笔记(2):DDS概述

    文章目录 一 DDS体系结构1 1 DLRL层1 2 DCPS层 二 DDS通信过程三 DDS通信特点四 DDS标准实现4 1 RTI DDS软件4 2 OpenSplice DDS软件4 3 OpenDDS软件 一 DDS体系结构 DDS
  • OpenDDS学习笔记(3):OpenDDS概述

    文章目录 一 DCPS概述1 1 基本组成1 2 内置主题1 3 QoS策略1 4 Listener1 5 条件 二 OpenDDS实现2 1 兼容性2 1 1 DDS兼容性2 1 2 DDS RTPS兼容性 2 2 OpenDDS架构2

随机推荐

  • FastRTPS学习笔记(2):安装、创建简单应用

    文章目录 一 FastRTPS v1 8 0 安装运行1 1 环境准备1 2 下载FastRTPS v1 8 01 3 编译安装1 4 创建简单应用1 4 1 编写简单程序1 4 2 编译简单程序1 4 3 运行简单示例 二 FastRTP
  • EOF是什么?

    转载自 xff1a http www ruanyifeng com blog 2011 11 eof html 我学习C语言的时候 xff0c 遇到的一个问题就是EOF 它是end of file的缩写 xff0c 表示 34 文字流 34
  • FastRTPS学习笔记(1):RTPS概述

    文章目录 一 RTPS简介二 RTPS优点三 RTPS架构3 1 结构模块3 2 消息模块3 3 行为模块3 4 发现模块 四 参考来源 一 RTPS简介 实时发布订阅协议 xff08 Real Time Publish Subscribe
  • 面试笔记:面经-猿辅导-一面

    文章目录 一 自我介绍二 项目相关三 Java后台3 1 Java异常处理3 1 1 Exception和Error的区别3 1 2 RuntimeException和CheckedException的区别 3 2 Java线程3 2 1
  • TensorFlow安装和下载(超详细)

    TensorFlow是一款开源的机器学习框架 xff0c 可用于构建和训练各种深度学习模型 在下面的回答中 xff0c 我将向您介绍如何在Windows Linux和Mac OS系统上安装和下载TensorFlow Windows系统上安装
  • geometry_msgs::PoseWithCovarianceStamped

    该消息表示带有时间标签和参考坐标的估计位姿 两部分构成 xff1a std msgs Header header geometry msgs PoseWithCovariance pose 1 std msgs Header msg主要由三
  • ubuntu vnc 下面小企鹅输入法 的安装及使用

    使用VNC View远程访问ubuntu xff0c 总是没有办法切换出小企鹅输入法的解决办法 安装Fcitx输入法 sudo apt get install fcitx 安装 im switch s fcitx 配置默认输入法为 fcit
  • java解析html之HTMLparser初次尝试

    为了爬取一个网页的数据 xff0c 尝试了一下Htmlparser来做小爬虫 下面是一个小案例 xff0c 用来爬取论坛的帖子内容 1 HtmlParser 简介 htmlparser是一个纯的java写的html解析的库 xff0c 主要
  • px4自定义mavlink收不到消息的问题

    px4版本1 12稳定版 最近在做px4二次开发相关工作 按照网上的一些教程自定义了一个mavlink消息用来控制无人机 按照教程里面的单独开了一个xml来定义消息 最后生成的消息在px4端通过流传输的方式自己写的客户端可以收到消息 但是客
  • windows WSL2 使用Xfce+dummy虚拟显示+VNC显示方案

    最近准备在自己的电脑 windows 下用wsl2装docker 然后将显卡共享给别人用 别骂了别骂了太穷啦太穷了 发现windows微软商店下载的ubuntu20 04子系统没有预装图形界面 想在wsl里面显示东西不好使用 摸索了一番 x
  • 有趣的docker镜像收藏

    docker一键安装脚本 wget qO get docker com sh 官方安装 curl sSL https get daocloud io docker sh 国内daodocker安装 推荐 镜像1 xff1a rastashe
  • vc 网络编程(socket)

    vc 网络编程 xff08 socket xff09 在网上找了很多的资料 xff0c 现将这些资料整合起来 xff0c 详细介绍一下VC下的socket编程 xff0c 并提供一个服务器客户端具体的实例 希望对您有所帮助 一 原理部分 个
  • ROS创建工作空间与功能包

    ROS学习笔记 学习古月居ros21讲笔记 第一章 ROS命令行工具的使用 第二章 创建工作空间与功能包 目录 ROS学习笔记 一 工作空间 二 功能包 一 工作空间 工作空间是存放ROS工程相关文件的文件夹 所有的源码 xff0c 编译文
  • C++类、结构对象内存布局浅析

    最近面试多 xff0c 出的题目很多都有如下形式 xff0c 给定一个class或者struct的定义 xff0c 例如这样 xff1a struct node int a char b int c char d 问题是 xff1a siz
  • 2014校园招聘总结

    本篇博文已迁移至吹水小镇reetsee com xff0c 迁移后地址为 xff1a http blog reetsee com archives 215 注 xff1a 貌似不少童鞋看到这篇东西觉得我是牛人 其实不是stO xff0c 以
  • 今天终于刷完leetcode的题了,同时分享一些资料

    如题了 持续了将近2个月的leetcode刷题之旅今天终于暂时告一段落了 xff08 以后肯定还会加题 xff09 记得我当初刷的时候只有134题 xff0c 现在就变成150题了 xff0c 可以说这些题都是基础 xff0c 但是却是十分
  • 路由器连接校园网并发WIFI:WR703N路由器安装OpenWRT并运行H3C客户端操作步骤(主要针对中山大学东校区)

    注意 xff1a 本文所有的最新更正请全部前往http blog reetsee com archives 227查看 本文主要目的在于让你的路由器能自动连接学校的校园网并且能发出WIFI让所有设备使用 要注意的是这篇作者呕心沥血写的超级傻
  • 教程:用OpenWRT进行WIFI接力——扩大WIFI覆盖范围

    因为准备去实习 xff0c 所以把宿舍很多东西都带回家了 xff0c 包括一个装了OpenWRT的路由器WR703N Step 0 为什么要这么做 在家里有一个地方不爽 xff0c 就是WIFI的信号覆盖不到我的房间 xff0c 所以我就想
  • 一个简单的开源PHP爬虫框架『Phpfetcher』

    这篇文章首发在吹水小镇 xff1a http blog reetsee com archives 366 要在手机或者电脑看到更好的图片或代码欢迎到博文原地址 也欢迎到博文原地址批评指正 转载请注明 xff1a 吹水小镇 reetsee c
  • 「更快!更爽!」吹水新闻2.0

    这篇文章首发在吹水小镇 xff1a http blog reetsee com archives 388 要在手机或者电脑看到更好的图片或代码欢迎到博文原地址 也欢迎到博文原地址批评指正 转载请注明 xff1a 吹水小镇 reetsee c