展开

关键词

我们软件出了什么问题------《敏捷软件开发:原则、模式与实践》(一)

第一篇 软件设计存在问题 我们知道,系统设计,是存在于头脑中衣服至关重要图像。 即使我们在一开始设计阶段,就非常清晰了解了需求,甚至于在发布时候,依然清楚。 但是在接下来,随着不断使用,弊端、不足会一一被暴露出来。系统变得越来越难以维护,最后,即使仅仅进行最简单更改,也需要花费巨大努力。 笔者提出了一下观点:当软件出现了下面任何一种气味时,就表明软件正在腐化: 1、僵化性:很难对系统进行改动。因为牵扯到其他太多部分改动。 2、脆弱性:对系统改动会导致心痛中和改动地方在概念上无关许多地方出现问题。(开发人员就像是一只不停追逐自己尾巴狗) 3、牢固性:很难解开系统纠结,使之可重用。 而我们希望是,可以更容易地进行哪些保持设计变动。 5、不必要复杂性:设计中包含有不具任何直接好处基础结构。 6、不必要重复:设计中包含有重复结构,而该结构本可以使用单一抽象进行统一。

42380

羊了个羊对伤害超出了意外

利用cocos creator 3d做了个3d版羊了个羊,文末“阅读原文”可体验。

5420
  • 广告
    关闭

    《云安全最佳实践-创作者计划》火热征稿中

    发布文章赢千元好礼!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    他一开口,就嗅出了骗子味道!

    王女士描述暑期兼职欺诈不是个例,小助手在后台还收到了类似这样粉丝留言: 田七 和同学找她刷单,说好了一单一结,结果变成了一个任务有10单,我们根本没那么多钱,她还不退钱。 月月 被网络兼职骗了,怎么办啊,一个月生活费? 接下来小助手就带大家见识一下那些专门瞄准学生党诈骗案例。 案例一:听说紧缺快递录单,就报名了 小雨(化名) 初二学生 小雨无意在QQ上看到有人招聘快递录单员,就想赚点零花钱。 小雨准备好接单了,这时任务员才说要交198元会员激活费才能做任务,小雨很是犹豫,但对方承诺做满7天后退还,又晒出了兼职人员工资结算单。 小雨很动心,就交了钱。 青少年网恋又出新招,磕泡泡了解一下 谁动了个人信息?

    29310

    是的,开源项目被曝出了高危漏洞。。

    这开发者都这么不注意吗?这谁干好事啊? 没错,那个开发者就是。。。 是的,开源项目 Gerapy 里面写出来了这个漏洞,然后喜提 CVE:https://cve.mitre.org/cgi-bin/cvename.cgi? 但总之,这个过程学到了很多东西,这里来记录下这个漏洞是怎么产生以及怎么规避。 传入了一个域名,输出了 dig 命令之后域名解析结果。 而且尤其作为开源项目的作者,也有必要好好地处理好安全性问题,不然大家用了项目,但是出现了问题,还是难辞其咎。 以后我会多加注意,谢谢大家支持。 End

    27450

    为了治好拖延症,出了这个自虐项目,把卧槽卧槽

    大家好,是 Rocky0429,一个在划水界鼎鼎有名蒟蒻... 最近雨下有点多,导致划水量有点大,被水淹有点不知所措,患上了传说中拖延症性关节炎... ? 这直接导致最近经常能在后台看到诸如“辣鸡,取关了”、“狗营销号”等溢美之言,不绝于耳... 搞有点羞涩,毕竟这人最受不了别人夸... ? 所 以 决 定 要 做 回 普 通 人! ? 这人没别的爱好,就是喜欢自虐... 为了改头换面重新做人,在某个夜深风高夜晚,扛着小锄头,挖出了压箱底宝贝,轻轻掸去了一层浮灰... ? 想象一下,本就拖拖拉拉自己,好不容易忍着写了几百字,突然想玩会手机犒劳一下自己,手机刚拿出来,写东西没了,你是什么感觉?想了一下,如果有钱的话,直接就把手机砸了... ? 顺便立个 flag,以后要是再拖延就抽死自己,这篇文章写了十几次才写完,换谁也扛不住啊,手指头都要断了... 看在手指头份上,怎么也得给个在看安慰一下不是...

    28510

    AsyncListDiffer-RecyclerView最好伙伴

    导读,近些年来 Android 一直在优化 RecyclerView 刷新效率,相继出了 DiffUtil,AsyncListDiffer ,开源库 Flap 中也支持了 AsyncListDiffer , 不过还有很多人根本不知道它存在,于是找了篇文章,不了解可以看看,希望对大家有所帮助。 position,那么这将是一场灾难 DiffUtil Google似乎也注意到了这一点,因此在support-recyclerview-v7:24.2.0中,推出了一个用于计算哪些位置需要刷新工具类 使用DiffUtil,有3个步骤 1.自实现DiffUtil.callback private DiffUtil.Callback diffCallback = new DiffUtil.Callback 不难看出,AsyncListDiffer使用步骤: 自实现DiffUtil.ItemCallback,给出item差异性计算条件 将所有对数据操作代理给AsyncListDiffer,可以看到这个Adapter

    86810

    为了控制Bean加载使出了这些杀手锏

    心情那是破凉破凉,无法言喻。 故事背景是最近由于需求变动,小张在项目中加入了 MQ 集成,刚开始还没什么问题,后面慢慢问题显露出来了。 这样一来老启动命令都不用改变,本地开发时候也不用增加参数,可以说是最佳方案,因为改动点变少了,出错几率小,使用难度低。 她有个想法是将某些信息可以通过 Feign 或者 RestTemplate 进行传递,天然友好方式就是在拦截器中统一实现。 RestTemplateRequestInterceptor restTemplateRequestInterceptor() { return new RestTemplateRequestInterceptor(); } 两个拦截器都是实现框架自带接口 另一种学习方式就是鼓励大家去看一些框架源码,特别在 Spring Cloud 这些框架中大量自动配置,都有用到这些注解,贴几个图给大家看看。 ? ?

    20730

    为了控制Bean加载使出了这些杀手锏

    心情那是破凉破凉,无法言喻。 故事背景是最近由于需求变动,小张在项目中加入了 MQ 集成,刚开始还没什么问题,后面慢慢问题显露出来了。 这样一来老启动命令都不用改变,本地开发时候也不用增加参数,可以说是最佳方案,因为改动点变少了,出错几率小,使用难度低。 她有个想法是将某些信息可以通过 Feign 或者 RestTemplate 进行传递,天然友好方式就是在拦截器中统一实现。 RestTemplateRequestInterceptor restTemplateRequestInterceptor() { return new RestTemplateRequestInterceptor(); } 两个拦截器都是实现框架自带接口 另一种学习方式就是鼓励大家去看一些框架源码,特别在 Spring Cloud 这些框架中大量自动配置,都有用到这些注解,贴几个图给大家看看。 ? ?

    71540

    Go 杂谈——interface与nil细节让出了线上BUG

    这可给我吓得不轻,要知道线上 go 程序 panic 可是很要命。 但是追查下来,让百思不得姐。下面来把现场用一个 demo 复述一下。 带着这个疑问,翻阅了一下源码,发现了这两个结构体。 所以,上面在比较时候,err 确实是 0 (nil) 了。 解决方案 在目前 Go 版本中,并没有找到优雅解决方案。只能给出三个这种方案。 第一种,直接用反射来判断。 ,但是,对于鸭子模型 Go 来说,后两者并不友好,毕竟需要侵入实现函数。 而鸭子模型最大魅力在于,我们可以不用关心实现,只需要定义接口。 image.png

    28200

    为了解决这个 RTT 过长问题,出了大招!

    大家好,是坤哥 昨天这篇文章发出来后忘标原创了,所以重发一遍 今天给大家分享一个这两天排查成功案例,相信对大家会有些帮助。 ,今天要分享这个 case 就是个典型,废话不多说,进入正题。 看下请求是否依然缓慢,这里两个方法都试了,用 Safari 也重现了 RTT 大于 3s 情况,并且用 curl 在终端请求也发现了 RTT 大于 3s 情况,如何使用 curl 请求呢,这里提醒一下 可以看到请求需要经过反向代理层,接入层后才能到达我们站点层(即我们 Spring MVC 服务),也就是说从「反向代理层到接入层」及「接入层到站点层」都可能导致请求缓慢,于是用 arthas trace 执行结果(MVC 服务执行时间 80ms 左右)与前端请求有 1/3 概率超过 3s 结论告诉了运维,让他们排查一下从反向代理层到站点层这中间是否有啥问题,不一会儿果然查出了问题。

    37740

    忍受不了糟糕工作氛围,退出了 Google WebAssembly 团队

    过去二十年来,饱受各种慢性病折磨,好在同事们对体贴有加,才让勉强坚持下来。这里先给结论:Google 是待过最差企业,而且这份工作经历给我大脑造成了永久损伤。 到这里,WebAssembly 改进流程已经基本定型:汲取 asm.js 优势同时克服其弱点,再构建起一套能在现有 JavaScript 运行时上通过代码生成、调试和其他基础设施轻松实现新规范。 最后,还是团队在孤立无援下全靠自己拼出了一条生路。 就这样,平静地结束了自己 Google 任职期。 现在终于有所好转,也开始从开源贡献中赚取报酬。但无论如何,再也不是当初那个健康活泼了。 希望这份避坑指南能给大家一点启示,也祝愿各位能够勇猛精进,探索出适合自己职业道路。加油! 或许,在当下,比起技术实现、创新等难题,更值得大家思考是如何治理好团队,平衡工作和“人”之间矛盾,实现团队高效、稳定、可持续发展。

    7210

    用python算出了同事身份证号码!

    文章转载自:凹凸玩数据,作者:朱小五 事情经过是这样同事李大伟最近出差去了。 昨晚睡觉前翻了翻朋友圈, 就跟他愉快地 互怼 交流了起来。 ? 估计是他想起了朱小五从不打无把握之赌,后面就怂了。 一杯奶茶嘛,也可以接受, 像杰伦一样快乐就好啦。 开工。 先看看李大伟朋友圈中发图片。 ? 根据李大伟身份证信息前6位“330221” 轻易可得: ? 最终可以测出李大伟出生日期是:19930608 收工, 奶茶到手。 ---- ---- 大家是不是想知道到底试了多少次才成功? 刚刚回来李大伟也表示很想知道。 其实一次也没用试。 现在喝着李大伟买奶茶 码着文 打开钉钉 看着李大伟昵称 ? 心里笑出猪叫。 文中人物、身份证号码纯属虚构,如有雷同,就是抄

    33260

    用python算出了同事身份证号码!

    事情经过是这样同事李大伟最近出差去了。 昨晚睡觉前翻了翻朋友圈, 就跟他愉快地 互怼 交流了起来。 估计是他想起了朱小五从不打无把握之赌,后面就怂了。 先看看李大伟朋友圈中发图片。 (该火车票来自其他平行世界,扫描可能发生奇怪现象) 车票中暴露个人信息为: 3302211993****4914 李大伟 只缺少月份日期四位。 科普时间: 根据李大伟身份证信息前6位“330221” 轻易可得: 浙江省宁波人,1993年滴 那我先用python生成1993年所有日期吧 import time #生成出生当年所有日期 最终可以测出李大伟出生日期是:19930608 收工, 奶茶到手。 ---- 大家是不是想知道到底试了多少次才成功? 刚刚回来李大伟也表示很想知道。 其实一次也没用试。 现在喝着李大伟买奶茶 码着文 打开钉钉 看着李大伟昵称 心里笑出猪叫。 文中人物、身份证号码纯属虚构,如有雷同,就是抄

    5910

    用python算出了同事身份证号码!

    作者:朱小五 事情经过是这样同事李大伟最近出差去了。 昨晚睡觉前翻了翻朋友圈, 就跟他愉快地 互怼 交流了起来。 ? 估计是他想起了朱小五从不打无把握之赌,后面就怂了。 先看看李大伟朋友圈中发图片。 ? (该火车票来自其他平行世界,扫描可能发生奇怪现象) 车票中暴露个人信息为: 3302211993****4914 李大伟 只缺少月份日期四位。 根据李大伟身份证信息前6位“330221” 轻易可得: ? 额 有33个都符合校验逻辑,这只筛掉了90%啊 这就尴尬了 如何在33个日期中挑出来李大伟真实出生日期呢? 思考了一下 (其实是百度了一波) 这里需要我们每个人都用过12306。 ? 最终可以测出李大伟出生日期是:19930608 收工, 奶茶到手。 文中人物、身份证号码纯属虚构,如有雷同,就是抄

    57370

    用python算出了同事身份证号码!

    先看看李大伟朋友圈中发图片。 ? (该火车票来自其他平行世界,扫描可能发生奇怪现象) 车票中暴露个人信息为: 3302211993****4914 李大伟 只缺少月份日期四位。 根据李大伟身份证信息前6位“330221” 轻易可得: ? 额 有33个都符合校验逻辑,这只筛掉了90%啊 这就尴尬了 如何在33个日期中挑出来李大伟真实出生日期呢? 思考了一下 (其实是百度了一波) 这里需要我们每个人都用过12306。 ? 最终可以测出李大伟出生日期是:19930608 收工, 奶茶到手。 ---- ---- 大家是不是想知道到底试了多少次才成功? 刚刚回来李大伟也表示很想知道。 其实一次也没用试。 现在喝着李大伟买奶茶 码着文 打开钉钉 看着李大伟昵称 ? 心里笑出猪叫。 文中人物、身份证号码纯属虚构,如有雷同,就是抄

    62430

    用python算出了同事身份证号码!

    事情经过是这样同事李大伟最近出差去了。 昨晚睡觉前翻了翻朋友圈, 就跟他愉快地 互怼 交流了起来。 ? 估计是他想起了朱小五从不打无把握之赌,后面就怂了。 先看看李大伟朋友圈中发图片。 ? (该火车票来自其他平行世界,扫描可能发生奇怪现象) 车票中暴露个人信息为: 3302211993****4914 李大伟 只缺少月份日期四位。 根据李大伟身份证信息前6位“330221” 轻易可得: ? 最终可以测出李大伟出生日期是:19930608 收工, 奶茶到手。 ---- ---- 大家是不是想知道到底试了多少次才成功? 刚刚回来李大伟也表示很想知道。 其实一次也没用试。 现在喝着李大伟买奶茶 码着文 打开钉钉 看着李大伟昵称 ? 心里笑出猪叫。 后台回复【身份证】获取源码 【完】

    28230

    从贝索斯信里,出了新零售味道

    文|孟永辉 作为国际知名互联网公司,亚马逊每一个动作都会引起人们注意。而作为亚马逊掌舵人,亚马逊CEO杰夫-贝索斯言行更是值得我们去解读,并能够发现未来发展一些基本脉络。 今年,杰夫-贝索斯给股东信件如期而至,除了带给人们震撼之外,贝索斯有关“首日”公司和“次日”公司概念定义则让我们对于当下互联网公司有了一个新定义,对于未来互联网公司发展同样有了一些可以探索方向 “首日”公司具备一个很大特点就是不断接受新事物,不断以用户为中心,不断提升决策效率;而“次日”公司具备一个很大特点就是陷入到程式化、下滑频繁、死神跟随阶段之中,并且“次日”公司不会再短时间内显露出来而是要经过一个相当长过程 借助这样一种逻辑,亚马逊推出了“金牌服务员”服务,而这样一种逻辑完全能够在未来新零售时代继续发展下去,通过不断找到新零售时代用户需求,重塑用户在新零售时代中心地位。 不成熟决策能够为新零售找到更多发展方向和模式。当前国内新零售很多决策真正建立在以往观念和经验上,但是这些观念和经验往往缺少现实成长条件,这就导致很多对于新零售预判往往都是错误

    43870

    从这份报告,出了数据从业者局限与未来

    ,读完之后觉得比较接地气+有料,决定分享给大家~为了节省你时间,摘取其中重点进行导读,发车? 嵌入化对应就是上表“分散式”,典型表现就是每个业务线都有自己数据团队,而不是像“集中式”那样,整个公司只有一个大一统数据团队。 自下而上是一个很好做事态度,但我们更需要自上而下做事视角 3,不同条件数据从业者薪资水平 ? 通过角色转换,让自己具备以终为始能力,做出更有意义分析,而非脱离实际纸上谈兵 认识数据边界和局限性,就是上文提到过,不唯数据论。 知道这很难,因为目前有太多企业和老板并不懂数据,也有太多同行和同事缺乏数据思维或分析能力,导致数据从业者们日常不得不花大量时间“屎上雕花”。

    78220

    Postgresqllatch实现中self-pipe trick解决什么问题

    ENOMEM unable to allocate memory for internal tables. select答案是:会返回-1,并置EINTR=4(Interrupted system call 收到信号后,系统会跳转到信号处理函数,如果当前正在做一些IO相关系统调用,例如上面的select,会直接失败返回EINTR。 结果: 1、虽然PG使用sigaction可以定义syscall行为:SA_RESTART,但这点其实是无法严格保证。 ) 2、信号处理喊出要求比较严格:递归调用场景要求函数是可重入,或者在信号处理时屏蔽新信号 3、io多路复用函数和信号处理函数竞争场景会有并发问题。 (select运行中被信号处理函数中断,导致select未预期结果) 那么有什么方法能把信号处理 归并到 IO事件处理里面,用统一逻辑唤醒进程?

    6510

    为了做到微服务高可用,鬼知道出了多少张牌

    高可用并不是一套整体解决方案,而是由诸多环节组成,一环扣一环,鬼知道为了这些串联起来环节,得出多少张牌去应对,才能最终组成一个整个系统高可用落地方案。 HDFS , mongoDB sharding 模式也基本是基于这种分片模式去实现,我们在设计分片主要考虑到点是: 做数据分片,如何将数据映射到节点 数据分片特征值,即按照数据中哪一个属性(字段 异步化大致有这三种实现方式: 服务端接收到请求后,创建新线程处理业务逻辑,服务端先回应答给客户端 服务端接收到请求后,服务端先回应答给客户端,再继续处理业务逻辑 服务端接收到请求后,服务端把信息保存在消息队列或者数据库 熔断跟高可用关系是什么,上面说了微服务是一个错综复杂调用链关系,假设 模块A 调用 模块B , 模块B 又调用了 模块C , 模块C 调用了 模块D,这个时候,模块D 出了问题出现严重时延,这个时候 总结: 出了那么多张牌,出牌只是术,真正道还是得静下心来看看整个服务高可用本质是什么,随着微服务架构相互调用越来越复杂,环节只会越来越多,只有建立清晰架构和层次才能理清楚每个环节高可用保障,

    17340

    相关产品

    • 边缘可用区

      边缘可用区

      腾讯云边缘可用区(TencentCloud Edge Zone,TEZ)适用于解决计算、存储和服务可用性问题,基本消除延迟问题,在更靠近客户的位置提供与中心节点一致的体验。助力业务下沉,更低延时、更广覆盖、更少成本。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券