php房产项目出现的技术难点,有关项目的一些技术难点及亮点

项目:手工交易系统

难点一:交易员需要支持3600多只股票按照拼音首字母检索,且要支持多音字(支持多音字检索);

面临问题:没有汉字拼音字典来实现这个需求;

解决办法:写爬虫去爬取百度词典二级字库的7200多个常用汉字的拼音及多音字节,然后构造字典存储在前端实现。

相关优化:3600多只股票的名称和代码字段数据全部缓存在本地(放到js文件模板里,import进来),这样搜索框搜索的时候,不需要每次都向后端请求返回数据,而且搜索框有做防抖处理。

防抖:就是指触发事件后,在 n 秒内函数只能执行一次,如果触发事件后在 n 秒内又触发了事件,则会重新计算函数延执行时间。

需求:需要支持自定义快捷键设置;

解决办法:创建一张本地字典,可以支持用户输入快捷键并帮助他绑定相关事件。

(一大串json,放到localStorage里面,例:{ keyBuy: 114, keySell: 115 } )

比如交易员设置f3和f4快捷键是买入和卖出,那么本地就会存储这两个按键的对应按键编码以及绑定的事件函数,下次他在股票交易的时候按这些快捷键,就会监听相应的事件,触发对应的事件函数。

难点二:每个交易模块要支持用户增删改和自定义布局、自定义拖拽改变位置和大小;

面临问题:自己开发的话成本较高;

解决办法:经过技术选型比较了react-grid-layout、react-dnd等库,综合考虑了性能和实现成本后,选用了react-grid-layout。

(react-grid-layout刚好能满足我们的需求,且API比较友好,性能也很好)

难点三:需要支持一屏内最多显示16只股票的十档行情和逐笔行情,这些行情数据交易所那边的实时数据推送频率不可控,可能会出现时间间隔少于16毫秒;

面临问题:行情推送在订阅的股票数量太多的情况下,推送频率太高,超出GUI刷新的频率限制;

解决办法:通过对数据进行最小时间间隔的合成处理。

本地构建工程化优化:

1、构建本地模拟cgi数据

原理:递归遍历本地一个cgi目录,把目录里的文件名映射到对应的ajax请求路径

2、webpack热加载

提高开发效率

其它的一些简单优化:

数据分页处理,不请求全量数据

项目中遇到的一些问题:

websocket断线重连,使用了一个reconnecting-websocket的模块,用来自动兼容断线重连的问题

文件缓存问题,webpack打包生成的文件名加hash码(hash/chunkhash/contenthash)

项目中安全相关的一些问题:

xss/csrf

前端工程化的理解:

官网项目

优化一:

seo优化  //待完成

优化二:

ssr

//待完成

解决兼容相关的一些问题:

多端适配

HTTP2和 HTTP1.1 比起来有什么优势

1. HTTP/2采用二进制格式而非文本格式

2. HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行

3. 使用报头压缩,HTTP/2降低了开销

4. HTTP/2让服务器可以将响应主动“推送”到客户端缓存中

其中的 多路复用对前端优化性能有很大的帮助

HTTP 1.1 基于串行文件传输数据,因此这些请求必须是有序的。

而 HTTP/2 引入二进制数据帧和流的概念,其中帧对数据进行顺序标识,这样浏览器收到数据之后,就可以按照序列对数据进行合并,而不会出现合并后数据错乱的情况。同样是因为有了序列,服务器就可以并行的传输数据。

HTTP2的服务端推送和websocket有什么区别

SSR

1. 浏览器缓存策略,重点Cache-Control选项(强缓存、协商缓存,Cache-Control: max-age, s-maxage, public, private, no-store, no-cache等)

2. 状态码:301 302 307 (301永久,302临时,307临时且不允许变method和body)

3. Cookie和Session是什么?Token有啥用?登录检验过程(没说清楚)

4. Cookie是怎么设置的,里面有哪些选项?Secure选项是做什么的?(主要说到HttpOnly防止脚本读取,SameSite防止跨站攻击,Secure是Https加密传输用的)

5. https握手过程,指纹是怎么得到的?http2和http1.1有啥区别吗?(指纹忘记了,http2只说了头部压缩和多路复用)

6. 跨域方式哪几种?cors头字段有哪些?有什么要注意的?(cors说了非简单请求和withCredentials)

7. 前端事件?哪些是宏任务哪些是微任务?

8. 前端主要的攻击方式,CSRF攻击的细节,XSS和CSRF怎么结合的?CSP是什么?(说着说着就懵逼了,还是菜)

9. 怎么避免自己的页面被iframe嵌套 (不知道)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值