其他技术区最新随笔(rss) RSS

仿微信的IM聊天时间显示格式(含iOS/Android/Web实现)[图文+源码]

     摘要: 本文为原创分享,转载请注明出处。1、引言即时通讯IM应用中的聊天消息时间显示是个再常见不过的需求,现在都讲究用户体验,所以时间显示再也不能像传统软件一样简单粗地暴显示成“年/月/日 时:分:秒”这样。所以,市面上几乎所有的IM都会对聊天消息的时间显示格化做人性化处理,从而提升用户体验(使用感受会明显友好)。这两天正在继续开发RainbowChat-Web产品,所以正需要这样...  阅读全文

幸运赛车规则 www.cqk4s.cn 2019-02-23 16:54 作者: Jack Jiang【评论:0】【阅读:20】 

整理了最近百年的藏历数据,做了个公历藏历映射的小工具

@import url(//www.cqk4s.cn/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 过去三年一直都在每年藏历新年前设法拿到新一年的藏历数据更新到自己的一个gihub项目里面,今年临近藏历新年,却发现以往的很多藏历网站都没有更新明年的数据了,正好弄到了最近一百年的藏历数据,花了点时间全部都更新了进去,顺便申请了一个还不错的域名 zangli.pro, 发布了一个新网站百年藏历,方便大家随时查询或者在自己的产品中直接引用藏历公历的换算脚本。

2019-01-30 13:34 作者: emu【评论:0】【阅读:51】 

小米技术分享:解密小米抢购系统千万高并发架构的演进和实践

     摘要: 本文原文内容引用自高可用架构公众号,内容有整理和修订。1、引言大家对下面这个排队的场景应该非常熟悉,这个是小米手机抢购的用户排队交互图,大家看到这些排队的兔子时,说明也有很多用户在同一时间向小米抢购系统提交了购买请求。▲ 小米手机抢购排队中...小米抢购系统后端服务面临巨大的压力,下图可以反映小米抢购系统面临的瞬间峰值压力。这张图截取自某年米粉节大秒服务后端其中一组LB(负载均衡层)的...  阅读全文

2019-01-24 20:27 作者: Jack Jiang【评论:0】【阅读:52】 

《测试驱动开发》的读书笔记

     摘要: 《测试驱动开发》的读书笔记 学习基?。? 学习过程: 学习目的: 学习感悟: 学习代码: 测试驱动开发的规则 测试程序开发周期的阶段 《测试驱动开发》的读书笔记 学习基?。?熟悉《设计模式》的基本概念,熟悉《重构》的基本概念,熟悉基本的Java语法,熟悉Eclipse和JUnit的使用,有相对较好的英语基础。 学习过程: 第1部分,手工输入实例程序,了解TDD的方法和过程。重点...  阅读全文

2019-01-18 23:25 作者: 朱远翔【评论:0】【阅读:43】 

详解音频编解码的原理、演进和应用选型等

     摘要: 本文来自网易云音乐音视频实验室负责人刘华平在LiveVideoStackCon 2017大会上的分享,并由LiveVideoStack根据演讲内容整理而成(本次演讲PPT文稿,请从文末附件下载)。1、引言大家好,我是刘华平,从毕业到现在我一直在从事音视频领域相关工作,也有一些自己的创业项目,曾为早期Google Android SDK多媒体架构的构建作出贡献。就音频而言,无论是算法多样性,Code...  阅读全文

2019-01-18 22:02 作者: Jack Jiang【评论:0】【阅读:36】 

《单元测试之道Java版》的读书笔记

     摘要: 总览 第2章 首个单元测试 第3章 使用JUnit编写测试 3.1 构建单元测试 3.2 JUnit的各种断言 3.3 JUnit框架 4. 测试什么? 5.CORRECT(正确的)边界条件 6.使用Mock对象 7. 好的测试所具有的品质(A-TRIP) 8. 在项目中进行测试 9. 设计话题 总览 这是本相对简单的书,书中采用的JUnit的版本也是旧的,但是在新的J...  阅读全文

2019-01-16 17:57 作者: 朱远翔【评论:0】【阅读:40】 

《重构》的读书笔记–方法列表

     摘要: 第5章 重构列表 5.1 重构的记录格式103 5.2 寻找引用点105 5.3 这些重构手法有多成熟106 第6章 重新组织函数 6.1 (P110)Extract Method(提炼函数) 6.2 Inline Method(内联函数)117 6.3 Inline Temp(内联临时变量)119 6.4 Replace Temp with Query(以查询取代临时变量)1...  阅读全文

2019-01-16 17:50 作者: 朱远翔【评论:0】【阅读:37】 

《重构》的读书笔记

     摘要: 总览 第1章 重构,第一个案例 1.1 (P1)起点 1.2 (P7)重构的第一步 第2章 重构原则 2.1 (P53)何谓重构 2.2 (P55)为何重构 2.3 (P57)何时重构 2.4 (P60)怎么对经理说 间接访问 2.5 (P62)重构的难题 2.6 (P66)重构与设计 2.7 (P69)重构与性能 第3章 代码的坏味道 3.1 (P76)Dup...  阅读全文

2019-01-16 17:48 作者: 朱远翔【评论:0】【阅读:35】 

《重构》的读书重点

重构的原因:
  • 改善软件的设计水平;
  • 使软件更加容易被理解;
  • 使软件更加容易寻找错误;
  • 使软件开发速度更快;
  • 使软件代码更好维护。
重构的时间:
  • 增加函数的时候重构;
  • 修改错误的时候重构;
  • 代码审查的时候重构。
重构的主要方法
  • Extract/Inline
    • Method
    • Class
      • Subclass
      • Superclass
      • Interface
    • Hierarchy
  • Move
    • Field
    • Method
    • Variable
  • Rename
    • Method
    • Variable
    • Class
  • Pull Up
    • Field
    • Method
    • Constructor Body
  • Push Down
    • Field
    • Method
    • Constructor Body
重构的工具
  • IDE提供了自动化的代码重构工具;
  • JUnit提供了自动化的测试框架;
  • 设计模式提供了重构的方向;
  • 极限编程提供了完整的开发过程,包括:结队编程、自动化测试、代码审查、及时反馈、代码重构等等。

2019-01-16 17:46 作者: 朱远翔【评论:0】【阅读:40】 

《重构》的读后感

重构是本好书

作者优秀,作品优秀,翻译也很优秀。但是,无论多么好的翻译也无法完整传达作者的原意。因此,读之前最好准备英文和中文两个版本,中文读不懂的地方就换英文,英文读的累的地方就换中文。充分利用自己在两种语言上知识储备,可以使读这本书产生事半功倍的效果。

重构是由需求驱动的

为什么要重构?不仅仅是个人或团体的喜好(感性驱动),还应该是由客户的需求变更导致项目迭代出现困难,而重构正是解决困难的好办法,于是推动重构(理性驱动)。

当然,作为重构刚刚入门的程序员一定会到处使用这个大杀器,但是随着技术和经验的成熟,应该走向顺应需求的重构,满足客户需求才是项目的根本。

重构要有具体的目标

目标明确,拒绝诱惑。重构的过程也是熟悉业务的过程,检查错误的过程

重构要把大目标分解成许多个小目标
  • 因为每个小目标才不会超出自己的控制能力,出现错误后也更容易回退。
  • 重构的每个小目标最好能够具备有效地检测机制
  • 重构的大目标必须提供检验机制
重构最好能使用GIT、JUnit等等好的重构工具辅助

熟悉重构的理论知识,善用重构的工具。对于工具的理解可参考《工具的意义》

2019-01-16 17:43 作者: 朱远翔【评论:0】【阅读:19】 

Windows7下chm文件打不开

从网上下载的CHM文件在Windows7系统中无法显示内容,是因为Windows7系统中的浏览器下载的文件是被默认为锁定的,所以打开以后是无法显示里面的具体内容的,解决的办法:

  • 选中这个CHM文件;
  • 点右键,选择“属性”,在“常规”标签栏的最下面,有个“解除锁定”的按钮,点击以后
  • 再正常打开chm文件就可以浏览到里面的内容了。

2019-01-15 12:05 作者: 朱远翔【评论:0】【阅读:40】 

爱奇艺技术分享:爱奇艺Android客户端启动速度优化实践总结

     摘要: 本文由爱奇艺技术团队原创分享,原题《爱奇艺Android客户端启动优化与分析》。1、引言互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Android APP而言,要求更加严格,如果系统无响应时间超过5秒,便会出现ANR,APP可能会被强制关闭,因此,启动时间作为一个重要的性能指标,关系着用户的第一体验。爱奇艺安卓APP非常重视启动速度的优化,本文将从启动过程...  阅读全文

2019-01-14 11:53 作者: Jack Jiang【评论:0】【阅读:38】 

Android程序员必知必会的网络通信传输层协议——UDP和TCP

     摘要: 1、点评互联网发展至今已经高度发达,而对于互联网应用(尤其即时通讯技术这一块)的开发者来说,网络编程是基础中的基础,只有更好地理解相关基础知识,对于应用层的开发才能做到游刃有余。对于Android程序员来说,如果您觉得本文内容稍显枯燥,可以看看即时通讯网之前整理过的一篇类似文章《迈向高阶:优秀Android程序员必知必会的网络基础》,该文内容更偏向于知识点的概括。如果您希望更系统地学习网络编程方面...  阅读全文

2019-01-10 11:15 作者: Jack Jiang【评论:0】【阅读:39】 

全面解密QQ红包技术方案:架构、技术实现、移动端优化、创新玩法等

     摘要: 本文来自腾讯QQ技术团队工程师许灵锋、周海发的技术分享。一、引言自 2015 年春节以来,QQ 春节红包经历了企业红包(2015 年)、刷一刷红包(2016 年)和 AR 红包(2017 年)几个阶段,通过不断创新玩法,活跃度节节攀升,成为春节一大玩点,给火红的春节带来一抹亮色。2017 年除夕,AR 红包、刷一刷红包再创新高,抢红包用户数达 3.42 亿,共刷出红包 37.77 亿个。那么,QQ...  阅读全文

2019-01-07 12:10 作者: Jack Jiang【评论:0】【阅读:51】 

美图App的移动端DNS优化实践:HTTPS请求耗时减小近半

     摘要: 本文引用了颜向群发表于高可用架构公众号上的文章《聊聊HTTPS环境DNS优化:美图App请求耗时节约近半案例》的部分内容,感谢原作者。1、引言移动互联网时代,APP 厂商之间的竞争非常激烈,而良好的用户体验是必须优先考虑的,美图产品以高颜值著称,对产品的用户体验非常重视。从技术的角度来看,客户端的体验优化当中 DNS 优化是非常关键的一环,怎么降低 DNS 的耗时、怎么减少域名劫持等问题,都是大家...  阅读全文

2018-12-25 16:30 作者: Jack Jiang【评论:0】【阅读:39】 

Android端IM应用中的@人功能实现:仿微博、QQ、微信,零入侵、高可扩展

     摘要: 本文由“猫爸iYao”原创分享,感谢作者。1、引言最近有个需求:评论@人(没错,就是IM聊天或者微博APP里的@人功能),就像下图这样:▲ 微信群聊界面里的@人功能 ▲ QQ群聊界面里的@人功能网上已经有一些文章分享了类似功能实现逻辑,但是几乎都是扩展EditText类,这种实现方式肯定不能进入我的首发阵容。你以为是因为它不符合面向对象六大...  阅读全文

2018-12-23 21:31 作者: Jack Jiang【评论:0】【阅读:73】 

技 术 改 变 世 界

宣传语

网站分类

其他分类

Google站内搜索

 

24小时内最热随笔

统计信息

订阅

Blog客户端API

推荐客户端

博客排行榜[前100人]

友情链接

  • 苹果-热门标签-华商生活 2019-03-10
  • “奥运新秀”亮相上海 亚帆联杯等你来看 2019-03-07
  • 蔡奇就历史文化遗产保护调研:把燕都金中都建设保护好 2019-02-23
  • 红曲美的绿盒子,绿色生活大不同 2019-02-23
  • 理发迎接世界杯 梅西粉丝将偶像笑脸“抛在脑后” 2018-11-26
  • 我省各类创业孵化载体累计“毕业”企业3054家 2018-11-26
  • 鸿山慈善会厦门佛事展举行义诊活动 赢得群众交口称赞 2018-11-24
  • 特色小镇里的税收服务 定海国地税多措并举提升效能 2018-11-24
  • 端午小长假我市旅游总收入同比增20.5% 2018-08-12
  • [微笑]其实很简单就能破这个局:立法禁止通过房地产二次交易获利,炒房就会被杜绝,炒房一旦被杜绝,房价就会受正常供需关系影响波动在合理范围内。 2018-08-12
  • 987| 582| 670| 553| 948| 761| 433| 822| 37| 770|