技术文章

lintCode第一题A+B问题

痞子三分冷 提交于 2021-02-18 17:26:27
http://www.lintcode.com/zh-cn/problem/a-b-problem/ 问题: 给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。 注意事项 你不需要从输入流读入数据, 只需要根据aplusb的两个参数a和b, 计算他们的和并返回就行。 您在真实的面试中是否遇到过这个题? 说明 a和b都是 32 位 整数么? 是的 我可以使用位运算符么? 当然可以 样例 如果 a = 1 并且 b = 2, 返回3 涉及知识点: javascript中的位操作符,参考资料 javascript高级程序设计 按位非(NOT) 按位操作的本质:操作数的负值减1。用~表示 按位与(AND) (&)表示。两个操作数先转为二进制,比较二进制中的每一位数,如果两个都是1,则返回1。其中任何一位是0,结果都是0 例如: var result = 25&3; 底层操作为:(最后8位) 25:0001 1001 3:0000 0011 &:0000 0001 返回 1 按位或(OR) (|)表示。两个操作数先转为二进制,比较二进制中的每一位数,如果有一个位是1的情况下返回1,而只有在两个位都是0的情况下才返回0 例如: var result = 25|3; 底层操作:(最后8位) 25: 0001 1001 3: 0000 0011 |: 0001 1011 返回27

集群、分布式、微服务概念和区别

不想你离开。 提交于 2021-02-18 17:23:57
概念: 集群是个物理形态,分布式是个工作方式。 1.分布式:一个业务分拆多个子业务,部署在不同的服务器上 2.集群:同一个业务,部署在多个服务器上 分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。 分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。 举例:就比如新浪网,访问的人多了,他可以做一个集群,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。 而分布式,从窄意上理解,也跟集群差不多,但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。 分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。 简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。 例如:如果一个任务由 10 个子任务组成,每个子任务单独执行需 1 小时,则在一台服务器上执行该任务需 10 小时。 采用分布式方案,提供 10 台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是 Hadoop 的 Map/Reduce 分布式计算模型) 而采用集群方案,同样提供 10 台服务器

谈谈用户倾向系统“点赞”“收藏”“喜欢”“关注”的区别

一个人想着一个人 提交于 2021-02-18 17:22:52
由于正好在做社区产品,于是对用户倾向系统做了点总结。这是我之前在某论坛上简单地回答过的问题,现在做一些补充形成文章吧。 点赞 私以为“点赞”的初衷是“评论”功能的简化版。在web1.0时代,很多人面对一段内容,想要互动,但不知道说什么,于facebook发明了“点赞”按钮,无需打字,只用点一下鼠标就能互动,网民们从此有了偷懒的互动方式。点赞最大的特征是自我曝光程度高,不仅赞数满足了内容创造者的虚荣心,点赞这个动作本身也是表达内容消费者态度的做法,即消费者认同此内容的价值观,为此而点赞。因此点赞适合表达强烈态度的场合,比如新闻评论、问答社区。正由于点赞的这一特性,为了强化用户的自我曝光,点赞也常常和分享功能搭配,点赞后直接分享到个人主页和粉丝的时间线上。 点赞功能通常会和排序结合起来,点赞数据往往作为读者的筛选依据呈现在列表页。在过去web1.0时代,浏览、回复数是帖子火爆程度的关键指标。web2.0后,大部分网站舍弃了浏览数,而使用点赞、喜欢数作为内容质量的重要指标。因为浏览量是以用户点击为基础的,而吸引用户点击往往是因为标题、配图,这并不能代表内容质量好。并且浏览量权重太大会诞生一批标题党、刷浏览量的创作者,这些帖子内容不那么好,用户依据高浏览量点进去后会有上当受骗的感觉。因此目前的网站更多地使用点赞、喜欢作为人气指标,因为点赞、喜欢是用户在阅读内容之后做出的行为

在线原型实例(可编辑):图片社交-InstagraAPP

北战南征 提交于 2021-02-18 17:22:29
Instagram是一款运行在移动端上的社交应用,以一种快速、美妙和有趣的方式将你随时抓拍下的图片彼此分享。Instagram提供了这样一套顺畅的操作流程:拍照--滤镜特效(以lomo风为主的11种照片特效)--添加说明/添加地点--分享(可以共享到Twitter、Facebook、Tumblr甚至新浪微博这些主流社交网络)。同时Instagram基于这些照片建立了一个微社区,在这里你可以通过关注、评论、赞等操作与其他用户进行互动。 这款例子共15个页面,使用了摹客中最常用的8种交互方式以及15种交互动画,使用的组件包括面板、内容面板、选项卡等常用组件,展示基本的页面跳转。 原型模板地址: https://app.mockplus.cn/rp/example/qIw3zzvPy/wiPO3iifgC 文末福利: 送你高效原型设计神器,可领取团队版,最高可获得1年VIP。 新用户注册福利,最高可获得1年 在摹客官网 www.mockplus.cn/get-idoc 输入激活码【mock2021】即可领取摹客专业版3个月,若团队超过20人请联系(微信号:wenwb0077)申请更多时长。 来源: oschina 链接: https://my.oschina.net/u/2008098/blog/4955008

Helm 安装 nginx-ingress 的方法

陌路散爱 提交于 2021-02-18 17:02:33
还是没学会 今天继续研究. Using Helm NGINX Ingress controller can be installed via Helm using the chart stable/nginx from the official charts repository. To install the chart with the release name my-nginx : helm install stable/nginx-ingress --name my-nginx If the kubernetes cluster has RBAC enabled, then run: helm install stable/nginx-ingress --name my-nginx -- set rbac.create= true 好像不管用呢... 试过了 不太行 貌似. 来源: oschina 链接: https://my.oschina.net/u/4316097/blog/3863962

IT企业招聘程序员“是否参与培训机构”

故事扮演 提交于 2021-02-18 17:01:18
近几年,互联网让IT程序员的需求大大增加,各类IT培训机构风生水起,办得如火如荼。然而,一些公司却招聘网站上写着“没有参加过培训班的优先”,为什么会有这样的区别对待呢?难道参加过培训的就不好么? 小编经过多方网站查询多方讨论发现,主要有以下原因: 1、很多IT公司认为参加培训的人员并不是真正喜欢做程序,他们完全是因为这个行业的工资高待遇好而来,入职以后没有激情。 2、很多IT公司认为很多人并不适合这个行业,而培训机构对入学的学员几乎没有任何要求,只要你交了钱就可以去学。导致培训机构出来的人,很难有大成就。 3、很多IT公司认为参加培训了的程序员自学能力较差,培训机构会教你怎么写python,怎么完成个人博客或购物车之类的小项目。而到了工作中,面对巨大的未知和陌生的项目,你能不能举一反三灵活运用,充满了未知。IT公司也就不愿冒这个险,也就不愿意招你。 4、很多IT公司认为其简历造假,许多HR显示,培训机构出来的程序员,简历都统一写着做过怎样怎样的大项目,这使得HR在筛选简历的时候直接会pass掉培训机构的学员。 那么哪些人适合在这个行业发展呢?哪些人又适合做程序员或者一名合格的程序员应该具备哪些素质和能力呢? 首先,进入这个行业前,必须要有对互联网的兴趣和热爱,而不仅仅是为了拿高薪; 其次是发自内心的喜欢编程;简历也要根据实际操作,不能夸大奇谈; 最后要有良好的自学能力

【Zookeeper系列四】ZooKeeper 分布式锁实现

▼魔方 西西 提交于 2021-02-18 17:00:50
#0 系列目录# Zookeeper系列 【Zookeeper系列一】Zookeeper应用介绍与安装部署 【Zookeeper系列二】ZooKeeper典型应用场景实践 【Zookeeper系列三】ZooKeeper Java API使用 【Zookeeper系列四】ZooKeeper 分布式锁实现 【Zookeeper系列五】ZooKeeper 实时更新server列表 【Zookeeper系列六】Zookeeper 工作原理 Zookeeper源码 【Zookeeper源码一】Zookeeper 源码环境搭建 【Zookeeper源码二】Zookeeper 客户端创建连接过程分析 【Zookeeper源码三】Zookeeper 单机版服务器介绍 【Zookeeper源码四】Zookeeper 集群版服务器介绍 【Zookeeper源码五】Zookeeper 集群版建立连接过程 Zookeeper应用 基于ZooKeeper的分布式Session实现 #1 场景描述# 在分布式应用, 往往存在多个进程提供同一服务. 这些进程有可能在相同的机器上, 也有可能分布在不同的机器上. 如果这些进程共享了一些资源, 可能就需要分布式锁来锁定对这些资源的访问 。 #2 思路# 进程需要访问共享数据时, 就在"/locks"节点下创建一个sequence类型的子节点, 称为thisPath

lintcode算法题:LFUCache

ε祈祈猫儿з 提交于 2021-02-18 16:57:38
问题描述: 实现LFU中的get和set(LFU:least frequently used ,即最不经常使用页置换算法,要求在页置换时置换引用计数最小的页,因为经常使用的页应该有一个较大的引用次数。但是有些页在开始时使用次数很多,但以后就不再使用,这类页将会长时间留在内存中,因此可以将引用计数寄存器定时右移一位,形成指数衰减的平均使用次数。--百度 -_-|||) 样例:缓存大小为3( capacity =3 ) set(2,2) set(1,1) get(2) >> 2 get(1) >> 1 get(2) >> 2 set(3,3) set(4,4) get(3) >> -1 get(2) >> 2 get(1) >> 1 get(4) >> 4 我的实现思路: 1.Map用来存储缓存 2.使用双向链表来标记移除顺序。 将使用次数最少元素中的访问时间最早的哪一个放到链表尾部,作为下一个删除对象。 每次set(新加入)数据时,检查map大小等于capacity值时,从map中删除数据(根据链表尾部数据的key),并将链表尾部替换为新数据。 每次set(更新)数据时,直接更新map中的数据,并跟新数据的时间标记和使用频次 然后,将set的数据在链表中向前重新排序(当链表前一元素的使用频次低于本数据或者频次相等但是时间标记早于本元素时,将此两元素交换位置) 每次get数据时

LeetCode–正则表达式匹配

ぐ巨炮叔叔 提交于 2021-02-18 16:57:09
LeetCode–正则表达式匹配 <!-- more --> 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 介绍 剑指 Offer 19. 正则表达式匹配 主站 10 题目 请实现一个函数用来匹配包含'. '和' '的正则表达式。模式中的字符'.'表示任意一个字符,而' '表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab ac a"匹配,但与"aa.a"和"ab*a"均不匹配。 示例 1: 输入: s = "aa" p = "a" 输出: false 解释: "a" 无法匹配 "aa" 整个字符串。 示例 2: 输入: s = "aa" p = "a*" 输出: true 解释: 因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 'a'。因此,字符串 "aa" 可被视为 'a' 重复了一次。 示例 3: 输入: s = "ab" p = ".*" 输出: true 解释: ".*" 表示可匹配零个或多个('*')任意字符('.')。 示例 4: 输入: s = "aab" p = "c*a*b" 输出: true 解释: 因为 '*' 表示零个或多个,这里 'c' 为 0 个, 'a'

linux 挂载数据盘

此生再无相见时 提交于 2021-02-18 16:54:45
一、系统环境:centos7 >lsb_release -a 二、运行命令查看数据盘 >fdisk -l 三、对数据盘分区 >fdisk /dev/vdb 对数据盘进行分区。根据提示,输入 n, p, 1, 回车,回车, wq 四、查看分区是否成功 >fdisk -l 五、格式化分区 >mkfs.ext4 /dev/vdb1 六、创建挂载目录 >mkdir /data 七、写入新分区信息 >echo /dev/vdb1 /mnt ext4 defaults 0 0 >> /etc/fstab 八、cat /etc/fstab 九、挂载分区 >mount -a >mount /dev/vdb1 /mnt/data 十、查看挂载情况 来源: oschina 链接: https://my.oschina.net/u/4413093/blog/3661856