随笔分类 -  后台开发

摘要:10年前,big data火遍全球,进而带动了数据存储的大发展!互联网大厂动辄数亿的DAU,每天带来了PB级别的新增数据;这么多数据,正确、快速的存储和精准、高效的查询/检索成了当务之急,由此带来了各种数据库的发展:有OLTP事务型的,有OLAP分析型的,也有专门做倒排检索(Elastic sear 阅读全文
posted @ 2022-10-06 23:21 第七子007 阅读(259) 评论(2) 推荐(0) 编辑
摘要:在线文旦都用过吧? 别人给个链接,用浏览器打开后,只要有相应的权限就能读写文档内容了!核心功能如下: 1、在线文档一般用的都是浏览器打开链接,而不是自己单独出个app,目的就是利用浏览器存量用户多的优势,降低用户触达和使用的门槛。既然是用浏览器,有两个问题需要解决: url该怎么设计了?既要方便传播 阅读全文
posted @ 2022-08-28 12:47 第七子007 阅读(1036) 评论(0) 推荐(1) 编辑
摘要:自从十几年前智能机和MBB开始普及,移动互联网迎来了井喷式的发展,到现在人手一部智能手机。既然是移动互联网,基于LBS的O2O自然是非常重要的业务之一,国内的滴滴、美团、饿了么都用过吧?这些O2O的后台又是怎么设计的了? 1、(1)先来分析一下业务场景: • 第一阶段: • Driver repor 阅读全文
posted @ 2022-08-27 16:27 第七子007 阅读(441) 评论(0) 推荐(0) 编辑
摘要:1、说到聊天IM,大家第一个想起的肯定是微信了!这种国民级别的APP,肯定人手一个账号,其界面的功能看着也简单: 登陆微信后首先有个list,列举了用户当前所有的会话;本想用session表示,但这个单词已经在http/https的cookie里面被使用了,为了防止混淆,这里用thread替代单个会 阅读全文
posted @ 2022-08-26 11:36 第七子007 阅读(1646) 评论(0) 推荐(0) 编辑
摘要:1、互联网服务重要的功能之一就是评论了,从电商到社交,从短视频到长视频,无一例外都有评论功能!如果是一些流量小的站点(average QPS只有几到十几那种),每天有几千条评论已经很多了,一年也就新增million级别的数据,就这点数据量,webserver可以直接从数据库DB读写,也可以在数据库做 阅读全文
posted @ 2022-08-24 17:12 第七子007 阅读(943) 评论(0) 推荐(0) 编辑
摘要:1、所有的IT系统,到最后都只剩2个功能:read data和write data!一般情况下,read data远比write data频率更高,毕竟write data的最终目的还是为了read data的嘛!为了加快read data的速度,一般可以有这么几个改经: cache:从硬件上将,m 阅读全文
posted @ 2022-08-22 23:39 第七子007 阅读(586) 评论(0) 推荐(0) 编辑
摘要:1、逆向完别人家的APP后,下一步就要想办法变现了,不然花了这么多时间和精力,岂不是白干了?变现的方式之一就是爬虫了!10多年前,那个时候的APP不多,爬虫主要爬取的还是网页web。随着移动互联网大发展,APP数量越来越多,用户组件从PC的浏览器转移到了cellphone的APP,但是爬虫的核心思路 阅读全文
posted @ 2022-08-21 22:10 第七子007 阅读(259) 评论(0) 推荐(0) 编辑
摘要:1、印象中从2017年开始抖音火了,直接带动了视频流这种UGC的火爆,江湖传闻抖音的DAU和平均用户时长已经超过了wechat,实现了弯道超车,实在是后生可畏!对于这种视频站点,可能的架构如下(这是上传的流程,从站点下载视频流程类似): (1)整个流程大致如下: 用户的请求现到web server, 阅读全文
posted @ 2022-08-21 11:36 第七子007 阅读(480) 评论(0) 推荐(0) 编辑
摘要:1、要想数据查的块,索引是必须来相建!在一堆杂乱无章的数据中查找,那就只能顺序扫描了!为了提升效率,排序和建索引是必须的!以B+树建索引为例,MyISAM树如下: 这里的叶子节点并不是最终的数据,而是地址,需要进一步通过这个地址查到最终的数据;MyISAM不支持transaction,并且拿到叶子节 阅读全文
posted @ 2022-08-19 18:02 第七子007 阅读(214) 评论(0) 推荐(0) 编辑
摘要:前面介绍的GFS和BigTable本质上都是数据的分布式存储,核心思路并不复杂:一个集群有多个节点,通过特定的算法(比如consistent hash)找一个合适的slave存放就行了!读的时候通过同样的算法找到slave读取就行,整个流程理解起来很容易,没啥特别的!除了分布式存储,还有个很重要的需 阅读全文
posted @ 2022-08-18 15:57 第七子007 阅读(140) 评论(0) 推荐(0) 编辑
摘要:1、计算机硬件系统存储数据有两个地方:memory和hard disk! 这两者各有各的优缺点,互为补充,所以能共存至今!理论上讲:memory的读写速度是hard disk的million倍,但memory很贵,普通服务器能有256G已经很不错了,并且memory掉电就丢数据,而hard disk 阅读全文
posted @ 2022-08-17 23:26 第七子007 阅读(209) 评论(0) 推荐(0) 编辑
摘要:1、(1)逆向APP时,第一个干的事就是抓包了,抓包的结果类似下面: GET https://aweme.snssdk.com/aweme/v1/commit/item/digg/?aweme_id=6956180208793718055&type=1&channel_id=-1&city=5101 阅读全文
posted @ 2022-08-16 20:47 第七子007 阅读(807) 评论(0) 推荐(0) 编辑
摘要:1、众所周知,数据要想永久保存,肯定是要放磁盘的啦!磁盘和内存不一样,内存最小的存储单位是byte,1 byte = 8bit;但是磁盘不一样了,最小存储单位是 sector, 1 sector = 512byte!而在磁盘上,数据都是以文件file的形式存储的。假如文件大小是1kb,那就需要在磁盘 阅读全文
posted @ 2022-08-16 12:17 第七子007 阅读(312) 评论(0) 推荐(0) 编辑
摘要:互联网上所有重要数据最终的归宿都是数据库(没有之一),所以数据库就面临两个最重要的问题: 负载均衡load balance:很明显单节点的数据库肯定是无法满足性能需求的,用行话讲就是QPS很大,单节点的数据库无法承载了,必须要数据库集群来分担大量的QPS!那么问题又来了:怎么合理地把这些QPS尽可能 阅读全文
posted @ 2022-08-14 21:49 第七子007 阅读(271) 评论(1) 推荐(0) 编辑
摘要:1、我们现在用的手机、笔记本、pc等,任何功能都不再是单机,都要和后端的server通信,而通信的本质就是交换数据,重要的数据最终都会存放在server端。那么问题来了,每个用户无时无刻都在产生大量数据,这些数据在server端都是怎么存放的了? 存放好后,怎么才能快速地增删改查、做crud了? 按 阅读全文
posted @ 2022-08-12 11:10 第七子007 阅读(427) 评论(0) 推荐(0) 编辑
摘要:1、不管是逆向破解,还是正向开发,看别人的代码是必不可少的。如果别人的代码看起来特别费劲,甚至完全看不懂,原因如下: 正向开发做的太少,不了解业务需求,不知道代码的业务意义 数据结构和算法技能缺失 完全不懂设计模式,不知道代码分层的意义 本文来总结一下常见的设计模式场景! 2、(1)长时间用java 阅读全文
posted @ 2022-07-29 12:16 第七子007 阅读(185) 评论(2) 推荐(1) 编辑
摘要:逆向APP的核心目的之一就是写爬虫爬取后台的数据,诸如电商、评论、弹幕等;另一个目的就是提供sign字段的生成服务,可以通过https服务接口的形式给第三方调用!不论是做啥,为了提高效率,多线程都是必须的!可一旦涉及到多线程,线程之间的同步和互斥就必须考虑了,包括生产者和消费者之间、生产者和生产者之 阅读全文
posted @ 2022-07-21 12:35 第七子007 阅读(272) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示