问答网站
摇滚牛奶
这个作者很懒,什么都没留下…
展开
-
个人知乎 ##基础一-项目介绍
个人知乎基础一-项目介绍代码管理Githttps://www.nowcoder.com/courses/2github桌面版:一个方便的控制系统能够管理本地仓库并上传到githubgit gui:同样是一个本地仓库控制,能够push/pull任意网站南大TSS系统:一个类似gitHub的远程仓库IDEA的git:能够创建本地仓库,提交,并push到任意url,非常方便IDEAjava开发i原创 2017-11-23 23:39:27 · 410 阅读 · 1 评论 -
个人知乎 ##基础八—python基础
个人知乎基础八——python基础类构造器 def __init__(self,xx,xx)toString def __repr__(self)继承 class Student(People)重写 同名成员函数随机数random.seed(1)random.randint(0,100)random.random()*100#抽取random.choi原创 2017-11-25 21:42:56 · 257 阅读 · 0 评论 -
个人知乎 ##功能九-timeline/新鲜事推送
个人知乎功能九-timeline/新鲜事推送基础知识不同用户不同的内容推: 事件触发后广播给所有粉丝,异步实现简单 粉丝量大时,后台压力大拉: 登录时主动拉取关注内容 读取压力大推拉: 活跃/在线用户推 其他/僵尸拉大型网站技术架构 按时间分表 异步处理 分库分表,比如按尾号 分级缓存,热门数据存在内存原创 2017-11-25 21:42:24 · 585 阅读 · 0 评论 -
个人知乎 ##基础七-排序显示
个人知乎基础七-排序显示业务分析让热门的信息排在前面排序公式用log来平滑比较大的值,如点赞、关注等正相关的值:浏览、点赞、回答负相关:发布时间长度hacknews:简单公式 Score=(p-1)/(T+2)^G p: 投票数 T:发布到现在时间,小时 G: 重力加速度,平衡Treddit的排序公式:时间最关键,适合大流量新闻网站 t:发布时间-固原创 2017-11-25 21:41:31 · 239 阅读 · 0 评论 -
个人知乎 ##功能八-关注服务
个人知乎功能八-关注服务业务分析概念 粉丝 被关注对象 可以是任意对象,人,问题,答案等存储结构 redis.set提供服务Service 关注接口 粉丝列表 关注对象的列表具体业务Controller 首页问题关注数 详情页问题关注列表 粉丝/关注人列表 关注异步事件 异步站内信原创 2017-11-25 21:41:05 · 237 阅读 · 0 评论 -
个人知乎 ##功能七-邮件发送
个人知乎功能七-邮件发送基本概念异步实现 handler引入依赖 javax.mail邮件协议设置 smtp使用模板引擎渲染出邮件正文支持多种邮件发送邮件类型的判断jdk1.8可能会报ssl错误原创 2017-11-25 21:40:12 · 703 阅读 · 0 评论 -
个人知乎 ##基础六/功能六-异步队列实现赞踩站内信
个人知乎基础六/功能六-异步队列实现赞踩站内信基本概念同步业务 request->controller->service 立即执行异步业务 service不立即处理,仅把它置入待处理事件缓冲池 比如:点赞同时异步发送站内信事件缓冲池 单向队列/优先队列结构package:asyncEventType 记录事件的类型EventModel原创 2017-11-24 21:01:56 · 645 阅读 · 1 评论 -
个人知乎 ##功能五-赞踩功能对评论
个人知乎功能五-赞踩功能对评论业务分析赞踩无关顺序需要及时更新redis set实现封装jedis–DAOutil.JedisAdapter封装jedis的连接池及操作生成reidsKeyjedis的key不能随便取依照一定规定统一生成不重复的(entity_id+entity_type)likeKeydislikeKeyLikeServicelike(userid ,entity_原创 2017-11-24 21:01:04 · 1413 阅读 · 1 评论 -
个人知乎 ##基础五-redis
个人知乎基础五-redis功能pv:立即增加浏览数点赞排行榜验证码缓存异步队列判题队列地理位置功能基础知识key-value数据库,缓存数据库内容安装配置文件<denpendencies>RDB:记录结果AOF:记录执行过程基本使用//连接6379端口,9号数据库Jedis jedis = new Jedis("redis://localhost:6379/9");je原创 2017-11-24 21:00:42 · 333 阅读 · 0 评论 -
个人知乎 ##功能四-站内信
个人知乎功能四-站内信业务分析消息中心,私信是相互的数据表Messageid:from_id:发to_id:收content:created_date:has_read:对方是否读过conversation_id:与某人的会话,小的排在前面收发一致Message和表对应的模型,get/set方法MessageDAOaddMessage(Message ):插入数据库表select原创 2017-11-24 21:00:05 · 435 阅读 · 0 评论 -
个人知乎 ##功能三-评论中心
个人知乎功能三-评论中心业务分析帖子的回复,回复的评论,问题的答案都是评论抽象成评论中心数据表comments字段id:content内容:entity_id:回复实体的id,表示是谁的评论entity_type:回复实体的类型,问题评论都能有评论, 无法靠id区分created_date:日期user_id:用户idstatus:状态内存模型comment与表一一匹配的m原创 2017-11-24 20:59:41 · 254 阅读 · 0 评论 -
个人知乎 ##基础四-多线程
个人知乎基础四-多线程ThreadLocal:线程本地变量,每个线程有一个副本线程安全变量: AtomicInteger=new AtomicInteger(0); BlockingQueue线程池:减少线程创建销毁开销//单线程excutorExecutorService service=Excutors.newSingleThreadExecutor();service原创 2017-11-24 20:58:58 · 493 阅读 · 0 评论 -
个人知乎 ##功能二-问题发布
个人知乎功能二-问题发布数据库:QuestionDAO内存模型:Question服务:QuestionService控制入口:QuestionControllerajaxjs请求urlcontroller直接返回json串js得到json返回值后不刷新页面直接渲染htmlHTML过滤,避免用户上传脚本//html语言成为转义,只是纯文本了question.setContent(HtmlUti原创 2017-11-24 20:58:31 · 230 阅读 · 0 评论 -
个人知乎 ##功能一-登录注册
个人知乎功能一-登录注册注册用户名合法性检测密码长度要求密码salt加密用户邮件/短信激活登录token登记关联userid,保存入数据库token有效期设置,下发给浏览器cookie是token的一种形式浏览浏览器访问时带上cookie,服务端查cookie判断用户状态,权限拦截器切面的思路:框架拦截器所有业务都需要先判断->用户登录判断完成后加入到上下文使能够渲染出用户信息原创 2017-11-24 20:57:57 · 726 阅读 · 0 评论 -
个人知乎 ##基础三-数据库基础
个人知乎基础三-数据库基础业务字段设计业务设计->数据表->表间关系做一些冗余来加快查询数据库创建MySQL Workbench:本地调试界面工具,复制SQL语句服务器上:拷贝SQL语句CRUD操作INSERT: insert into Table values(..); insert into Table select..SELECT: select .. fro原创 2017-11-24 20:57:13 · 821 阅读 · 0 评论 -
个人知乎 ##基础二-WEB知识
个人知乎基础二-WEB知识SpringBoot工程:类似Spring,但使用注解而不是配置文件框架学习:看官方文档样例,读个大概,具体问题具体查start.spring.io:自动配置好一个spring项目,下载解压即可pom.xml:IDEA通过打开pom文件导入到文件目录结构java:源代码目录java.controller:入口控制java.model:数据模型,与数据表匹配java原创 2017-11-24 20:56:02 · 252 阅读 · 0 评论 -
个人知乎 ##基础九——爬虫入门PySpider
个人知乎基础九——爬虫入门PySpider爬虫基础框架安装:pip install pyspiderscheduler:调度器,调度一个url处理fetcher:下载网页器processor:处理网页器,并解析出新的urlclass Handler(BaseHandler): crawl_config = { } @every(minutes=24 * 60)原创 2017-11-26 00:12:03 · 1018 阅读 · 0 评论