后端技术

BugPhobia展示篇章:学霸在线系统Alpha阶段展示

喜欢而已 提交于 2020-02-19 13:37:04
0x00 :序言 1 universe, 9 planets, 204 countries,809 islands, 7 seas, and i had the privilege to meet you. BugPhobia ,我所言,均是心之所向。 0x01 :团队成员简介 To the world, you maybe a person. But to a person, you maybe the world. To the searching tags, you may well fall in love with http:// 10.2.26.67                      0x02 :团队项目愿景 Search With Tags~ ,或许作为软件工程的开发者,你会将学霸在线网站视为“爬虫组”和“数据组”等前端外壳;或许作为用户,你会将学霸在线网站视为一处搭建的问答平台,但事实,我们不局限于一个最简单的外壳,用户( User )、问答( Question )、课程( Course )、资源( Resource )、丰富的神秘功能( Secret )均是我们的工作,我们致力于打造面向 CS/EE 领域的垂直搜索引擎,且不忘初心。 网站基本定位 面向 CS/EE 领域的垂直搜索引擎 网站创新形式 首先,按照《构建之法》中创新类型的划分,在创新的类型上

12306 抢票系列之只要搞定RAIL_DEVICEID的来源,从此抢票不再掉线(上)

非 Y 不嫁゛ 提交于 2020-02-16 18:28:14
郑重声明: 本文仅供学习使用,禁止用于非法用途,否则后果自负,如有侵权,烦请告知删除,谢谢合作! 开篇明义 本文针对 自主开发 的 抢票 脚本在抢票过程中常常遇到的 请求无效 等问题,简单分析了 12306 网站的前端加密算法,更准确的说,是探究 RAIL_DEVICEID 的生成过程. 因为该 cookie 值是抢票请求的 核心基础 ,没有它将无法正确发送请求,或者一段时间后就会到期失效需要重新获取,或者明明更改了浏览器用户代理(navigator.userAgent)标识却还是被限制访问… 因为它并不是真正的客户端标识,只是迷惑性战术,浏览器唯一标识其实是 RAIL_OkLJUJ 而它却被 12306 网站设计者 故意没有添加到 cookie ,因此造成了很强的欺骗性,编程真的是一门艺术! 你以为你的爬虫已经可以正常模仿浏览器,殊不知,只要没搞懂谁才是真正的浏览器标识,那么再怎么换马甲也 难逃造假事实 . 上图展示了 RAIL_OkLJUJ 的存在位置,可能是为了 兼容市面上绝大数浏览器 ,也可能是为了 联合各种前端缓存技术作为特征码 ,总是除了 cookie 之外, RAIL_OkLJUJ 存在于 Local Storage , Session Storage , IndexedDB 和 Web SQL 等. 值得注意的是,cookie 中 故意没有设置 RAIL

全栈开发经验

半世苍凉 提交于 2020-02-15 00:23:49
1、请列举网站开发的多种模式 WebFrom、MVC、前后端分离(后端 Restful API,前端使用前端框架,例如Angular、React、Vue)。 2、列举前后端分离和非前后端分离的区别以及各自的优势 1、前后端不分离 在前后端不分离的开发模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。 这种开发模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不在适用于前端App应用,为了对接App,后端还需要在开发一套接口。 2、前后端分离 术业有专攻,前端做前端的,后端做后端的。 服务器一分为二,前后端分别部署,静态资源放在前端服务器,业务代码放在后端服务器。前端服务器需要接收HTTP请求。前端服务器需要进行视图解析(可以使用Vue.js、Angular)。前端服务器需要处理路由(也就是页面之间的跳转)。后端服务器只负责返回数据给前端。 3、谈谈为什么现在大部分企业都选择前后端分离模式开发项目 其实这还是由前后端分离后的优势决定的:术业有专攻,前端做前端的,后端做后端的。服务器一分为二,前后端分别部署,静态资源放在前端服务器,业务代码放在后端服务器。前端服务器需要接收HTTP请求。前端服务器需要进行视图解析(可以使用Vue

知乎上看的文章

為{幸葍}努か 提交于 2020-02-12 22:15:35
作者:暗灭 链接:https://www.zhihu.com/question/26669731/answer/466936797 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 想了想,还是先画一系列的图,再来解释一下什么是WEB开发. 第一层 入门介绍图 适合:刚入门互联网,没多少基础知识和专业知识. 为嘛这个图上传的不清楚?算了.我也不知道 对于大多数刚刚接触到互联网这个职业的人来说,对于软件是怎么编写的,大概的职业是怎么划分的,理解到这个程度就够了. 整个系统架构可以分成三层(分层是码农必备思维). 第一层,叫展示层,又被称之为前端.展示层这个名字,其实有点不精确,确切的来说,应该叫用户层,或者是输入输出层,或者叫用户交互层. 它的目标很简单,就是接受用户的输入,并将结果反馈给用户. 什么叫做输入呢?键盘,鼠标,声音,图像等等都是输入,最简单的输入就是键盘和鼠标,你们如果看过各种黑客电影,不管是在键盘上啪啪啪,还是在空气中点点点,都是输入. 输出就是展示出来的结果,在屏幕上就是文字动画,在音箱就是声音之类的. 叫展示层的原因,是因为大部分的情况下,都是用户只需要看,少部分才是操作. 所以通常是用展示层来代指用户的输入输出层. 为什么要分层? 其实最早在互联网没有出现之前,分层是一个相对而言,软件设计里的概念.但是在现在,就很简单了

Saas 应用12个架构规范

故事扮演 提交于 2020-02-10 20:31:12
引言 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS)。12-Factor 为构建如下的 SaaS 应用提供了方法论: 使用 标准化 流程自动配置,从而使新的开发者花费最少的学习成本加入这个项目。 和操作系统之间尽可能的 划清界限 ,在各个系统中提供 最大的可移植性 。 适合 部署 在现代的 云计算平台 ,从而在服务器和系统管理方面节省资源。 将开发环境和生产环境的 差异降至最低 ,并使用 持续交付 实施敏捷开发。 可以在工具、架构和开发流程不发生明显变化的前提下实现 扩展 。 这套理论适用于任意语言和后端服务(数据库、消息队列、缓存等)开发的应用程序。 特别声明 本文转自国外一篇文章,由Adam Wiggins所著,原文地址: https://12factor.net/ 在此文基础上增加个人的理解以及部分图解。 统一源代码管理系统 一份基准代码(Codebase),多份部署(depl o y) 在类似 SVN 这样的集中式版本控制系统中, 基准代码 就是指控制系统中的这一份代码库;而在 Git 那样的分布式版本控制系统中, 基准代码 则是指最上游的那份代码库。 基准代码和应用之间总是保持一一对应的关系: 一旦有多个基准代码,就不能称为一个应用,而是一个分布式系统。分布式系统中的每一个组件都是一个应用,每一个应用可以分别使用 12-Factor

Scrum冲刺阶段3

纵饮孤独 提交于 2020-02-06 02:20:46
Alpha项目冲刺 Scrum冲刺阶段3 1.今日各个成员完成任务 学号 姓名 问题 211606387 叶宏奇(队长) 组织好团体的整体协作 211606354 陈泓宇 风格磨合 211606306 黄柏涛 风格磨合 211606309 焦成伟 前端设计比较困难,还在学习 211606375 牛振乾 初步构思完成,还在逐步完善 211606310 柯伟敏 后端困难,学习ing 211606385 谢章洪 后端困难,学习ing 211606308 江东 后端困难,学习ing 2.今日各个成员的问题 学号 姓名 问题 211606387 叶宏奇(队长) 暂无 211606354 陈泓宇 暂无 211606306 黄柏涛 暂无 211606309 焦成伟 前端设计比较困难 211606375 牛振乾 逐步完善构思 211606310 柯伟敏 后端困难 211606385 谢章洪 后端困难 211606308 江东 后端困难 3.明日各个成员的任务安排 学号 姓名 任务 211606387 叶宏奇(队长) 加强组织好团体的整体协作 211606354 陈泓宇 进行风格设计 211606306 黄柏涛 进行风格设计 211606309 焦成伟 继续学习前端设计 211606375 牛振乾 努力写出大纲 211606310 柯伟敏 继续学习后端搭建 211606385 谢章洪

前端和后端哪个累,前端入职之后真的很痛苦吗

末鹿安然 提交于 2020-02-05 01:38:52
前端VS后端” 哪个更好? 前端和后端哪个累,前端入职之后真的很痛苦吗 web前端开发和后端开发哪个好,这是许多程序员新手一定会问的问题,毕竟,男怕入错行,那么前端和后端哪个是更好的选择,小职就在下面几方面给大家分析一下。 Q裙:768976403领取学习资料 薪资 前端和后端哪个累,前端入职之后真的很痛苦吗 前端:前端是一个相对比较新的行业,互联网发展早期(1995年~2005年)是没有专业的前端工程师的。随着互联网的发展,到了2010年,互联网开始全面进入移动时代,前端工程师的地位越来越重要。而前端的前景也十分的好。 前端薪资:有越来越高的趋势 前端和后端哪个累,前端入职之后真的很痛苦吗 从表中可以看出,工资在20k-30k范围内的岗位占了30.2%,占比最大,更有一部分精英薪资水平达到30k+。 前端和后端哪个累,前端入职之后真的很痛苦吗 以北京为首,全国各大城市薪资水平都十分可观。 前端和后端哪个累,前端入职之后真的很痛苦吗 工资水平呈现逐年上升趋势,17年以后幅度更大。 后端:后端开发以Java为例,主要用到的是,包括但不限于Struts、spring、springmvc、Hibernate、Http协议、Servlet Tomcat服务器等技术。后端的发展历史较久,已经进入一个稳定阶段,所以需求量没有那么高。 后端:薪资不低,但是对于技术人员要求较高 前端和后端哪个累

长文慎入,如何快速开发区块链游戏

爷,独闯天下 提交于 2020-02-03 05:14:18
长文慎入,如何快速开发区块链游戏 译者注: 原文: 初始发行 Enjin整合 初始整合 客户端SDK GUI 客户端SDK API Enjin的API是GraphQL Enjin推荐 使用服务器 排列你的物品并分批发送 存储返回的transactionId 高级发送很棒 确保你允许区块链拥堵 后端v1-PlayFab 供应有限 服务器脚本 后端v1.5 —临时Bandaid 后端v1.5日落—再见PlayFab 后端v2-自定义解决方案 管理小组 编辑项目 待创建区块链项目 Enjin区块链发送队列 Unity 3d游戏引擎 游戏引擎历史 Unity Asset Store的强大功能 Unity编辑器 有兴趣尝试区块链游戏吗? 遗失的宝藏 译者注: 该文章是独立游戏开发者克里夫·考利写的区块链游戏开发技术文章。没有投资没有团队,他自己一个人成功开发了以太坊区块链第一款真正意义上的ARPG游戏—— 遗失的宝藏 。目前游戏已稳定运营8个月,游戏玩家人数已经超过3700人,玩家道具周交易量在1万人民币左右,月营收在80000 ENJ(人民币50000元)左右。克里夫近期分享了自己从零开发搭建区块链游戏的技术路线。作为一名区块链游戏的粉丝,我见证了 遗失的宝藏 从无到有的过程。为克里夫喝彩之余,感慨为何国内没有游戏开发者能做出如此上等品质的区块链游戏。于是翻译这篇文章

LVS、Nginx 及 HAProxy 工作原理

点点圈 提交于 2020-01-28 08:05:38
当前大多数的互联网系统都使用了服务器集群技术,集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是 Web 应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等。 在实际应用中,在 Web 服务器集群之前总会有一台负载均衡服务器,负载均衡设备的任务就是作为 Web 服务器流量的入口,挑选最合适的一台 Web 服务器,将客户端的请求转发给它处理,实现客户端到真实服务端的透明转发。 最近几年很火的「云计算」以及分布式架构,本质上也是将后端服务器作为计算资源、存储资源,由某台管理服务器封装成一个服务对外提供,客户端不需要关心真正提供服务的是哪台机器,在它看来,就好像它面对的是一台拥有近乎无限能力的服务器,而本质上,真正提供服务的,是后端的集群。 LVS、Nginx、HAProxy 是目前使用最广泛的三种软件负载均衡软件。 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的 Web 应用,比如日 PV 小于1000万,用 Nginx 就完全可以了;如果机器不少,可以用 DNS 轮询,LVS 所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用 LVS。 目前关于网站架构一般比较合理流行的架构方案: Web 前端采用 Nginx/HAProxy

运维之道 | LVS原理详解

 ̄綄美尐妖づ 提交于 2020-01-27 01:15:24
LVS原理详解及部署 一、LVS简介 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群。常用的负载均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡设备F5、Netscale。这里主要是学习 LVS 并对其进行了详细的总结记录。 二、LVS基本原理 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间。 PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链。 IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和自己已定义好的集群服务进行比对,如果用户请求的就是定义的集群服务,那么此时IPVS会强行修改数据包里的目标IP地址及端口,并将新的数据包发往POSTROUTING链。 POSTROUTING链接收数据包后发现目标IP地址刚好是自己的后端服务器,那么此时通过选路,将数据包最终发送给后端的服务器。 三、LVS组成 LVS 由2部分程序组成,包括 ipvs 和 ipvsadm IPVS(ip virtual server) :一段代码工作在内核空间,叫IPVS,是真正生效实现调度的代码。IPVS的总体结构主要由 IP包处理、负载均衡算法、系统配置与管理 三个模块及 虚拟服务器与真实服务器链表 组成。 ipvsadm