- 博客(743)
- 资源 (1)
- 收藏
- 关注
原创 产品方法论(三)
《结网》系列读书笔记 这本书已经被陆续的读完了,总结总是落后半拍,坏处是容易遗漏细节,不过这样也有好处:那就是总结思考,把对我印象最深的写出来。产品经理的工作流程检查和体验产品腾讯的pony ma不只是作为ceo,更是腾讯产品的首席体验官,他在半夜三经把产品改进体验的邮件一度被传为美谈。 作为产品经理,我们一定要使用我们的产品,你自己都不使用,怎么指望别人使用,只有在不断的...
2018-08-19 21:40:15 1554 1
原创 产品方法论(二)
《结网》读书笔记系列概念文件化这是非常重要的一个步骤,我们需要一个文件贯穿产品开发的始终,作为指导的明灯。我们常规意义的理解就是产品文档,其实形似不重要,主要是内容。1.结构图一定要描述清楚产品的结构,可以采用MECE原则,也就是互相排序,完全穷尽额思路。通俗点就是面向对象的思路思考产品,然后分类阐述产品的功能,越详细越好。2.说明文档这个每个公司都有规范吧,最接近常规...
2018-08-18 19:27:35 1915 2
原创 产品方法论(一)
这是我的《结网》系列读书笔记和思考。《结网》读书笔记产品初级要考虑的问题我们初次操刀一个产品时候,除了考虑这个产品本真,哈还有一个比较重要的事情是: 1.我们的竞品是什么? 2.如何跟踪行业动态和行业数据? 很好的回答这两个问题,可以保证你及时跟踪行业的动态,这可以很大限度的避免闭门造车,物极必反,但也不要一样的模仿,也要消化吸收。确认好产品概念1.不要拒绝cop...
2018-08-05 20:58:33 3602 5
原创 ReentrantReadWriteLock(互斥)和CountDownLatch(同步)解析
今天讲一下Java常用的两个类,一个是常用的互斥类,一个是同步。ReentrantReadWriteLockReentrantReadWriteLock和同一个包下面的ReentrantLock都是用于互斥。区别是ReentrantReadWriteLock效率更高,分为读写锁。 读锁:ReentrantReadWriteLock.readLock.lock() 写锁:Reentran...
2018-07-09 22:45:10 702 3
原创 Android中的源码设计模式-备忘录模式
定义备忘录设计模式的定义就是把对象的状态记录和管理委托给外界处理,用以维持自己的封闭性。角色1.笔记本:很多的内部状态需要被建立一个备忘录来管理,创建和取出备忘录来恢复状态。 2.备忘录类:实体类用来记录笔记本的状态 3.备忘录管理类:用于管理备忘录,存储和取出。在Android中的典型使用状态保存是Android中备忘录模式的典型使用,主要对应Activity的两...
2018-06-24 19:36:25 2123 1
原创 一文学会Gradle安装配置:透过现象看本质
背景相信很多人第一次安装androidstudio跑工程时候,会遇到一个问题:android sutdio第一次打开一个工程巨慢怎么办? 或者是gradle project sync filded错误有没有想过androidstudio是如何找到我们的gardle的?原理关于gradle的配置分为几个部分1.gardle的下载和配置以及原理 2.gradle插件的下载和配置以...
2018-05-27 19:05:34 1400 2
原创 Java volatile关键字详解
郑重说明根据https://www.cnblogs.com/dolphin0520/p/3920373.html改编,做了适当删减。1.背景在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v...
2018-04-25 14:30:02 5934 14
原创 2018程序员必读书单
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?这个书单列表内容丰富,涵盖很多东西。”《代码大全》 史蒂夫·迈克康奈尔“优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起来,就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。” —— Joel Spolsky对于新手来说,这本书中的观念有点高...
2018-01-02 01:09:31 3322 1
原创 一文读懂微信身份证和背后的技术
微信身份证是什么?微信身份证是由公安部第一研究所在国家重大项目支撑下推出的网络身份证,是实体身份证芯片唯一对应的电子映射文件,通过国家“互联网+可信身份认证平台”签发,目的是解决“网上身份难确认、易伪造”等难题。发展历程2017年12月25日,由广州市公安局南沙区分局、腾讯、建设银行等10余家单位发起的“微警云联盟”在广州南沙成立。活动现场,联盟成员单位共同签署合作框架协议,并且现...
2017-12-29 20:11:52 1968
原创 小程序的野心
小程序最近两次密集升级,代表了微信力推小程序的决心,和小程序越来越重要的战略位置。新增功能有哪些:1.微信在主界面新增了小程序任务栏的功能。2.小程序菜单进行了升级,并提供小程序间快速切换的功能。3.开放了小游戏开发文档和开发者工具。01—新增小程序任务栏功能用户可以通过下拉的动作,唤出小程序任务栏,打开最近使用过的小程序或进入小程序历史列表。(通过任务栏打开最近使用的小程序)01解读:这个是一个顶
2017-12-29 00:35:41 1063
原创 程序员免费自学编程的8大网站!
正文开始很多人包括一些企业家,和市场营销人员都认为学习编程对一个人走向成功十分有帮助。在过去的一年里,我一直在学习编程。它有助我成为一个更好的创业者,我甚至可以提供一些帮助,当我的团队需要解决一些bug的时候。现在,如果你想学编程的话,这12个网站可以帮助你,它们都提供了免费的课程供你学习,因此你无需担心费用的问题。1.Codecademy其中,Codecademy是最受欢迎的...
2017-11-23 00:01:33 64023 20
原创 六款互联网人不容错过的软件神器
前言本文来自凌晨四点半的投稿,感谢!他的博客地址:http://www.jianshu.com/u/8da95d74dca0正文开始作为一个在职场混迹多年的老鸟,电脑的软件换了一拨又一拨。然而,无论是大学的读书生涯,还是在不同的公司搬砖,始终有那么几款软件,一直相伴左右。原因很简单,它们实在是太好用了! 1、everything 文件搜索神器Everything是vo...
2017-11-20 00:25:11 3720 2
原创 互联网人必备的六大类专业搜索工具
前言感谢凌晨四点半的投稿,他的博客地址:http://www.jianshu.com/u/8da95d74dca0我的一位朋友,用了10年的电脑。作为一名老网民,他的信息检索能力让我诧异。每次需要找点图片、网站、研究报告甚至小电影,他都需要花费很多时间,在各个论坛、网站里疲于奔波。因为他只会用百度!然而,世界上不仅仅只有一类搜索引擎。百度或者google虽然可以提供...
2017-11-18 00:05:13 7628 1
原创 AI时代取代手机:语音交互设计漫谈
文章翻译自Lyndon Cerejo发表于SMASHING MAGAZINE的Designing Voice Experiences,全文通过构建一个语音问答类的益智游戏来分享了作者关于语音体验设计的经验,涵盖了一个语音应用程序从设计到开发测试及上线的整个流程。基于语音的界面正变得司空见惯。 Siri和Cortana等语音助手也已经出现好几年了,但在过去的这个假期,亚马逊和谷歌的语音驱动型设备进入了
2017-11-12 19:32:43 2131 1
原创 Github上Python超越Java,人工智能程序员大热
前言GitHub 2017年年度报告发布:有70万来自中国的新用户加入,占据Github新人总数70%。Python超越Java成为第二最受欢迎的语言,TensorFlow依然是最受欢迎的深度学习库。Python超越Java跃居第二!15种语言 ![Uploading image_276438.png …] Python取代Java成为GitHub上第二流行的语言,今年...
2017-10-29 16:11:26 2198 1
原创 为什么移动端跨平台开发不靠谱?
前言翻墙偶然读到一篇不错的文章,随手翻译,作者是jielse发表于androidHub。随着智能手机的发明,许多开发人员都提出了同样的问题:如何为多个移动平台构建和发布应用程序? 包括最初的iPhone和BlackBerries,Android,以及Windows Phone和Web。 每个平台单独发布应用程序是很昂贵的。我们最初的想法: 肯定有一个解决方案可以降低开发多个应用的成本。...
2017-10-27 03:30:31 20706 13
原创 所有的Android开发者都将转到Kotlin
本文翻译自国外开发者jielse的博客。Google I / O 2017当天是让已经转到Kotlin的Android开发人员兴奋的一天。 最后宣布,Kotlin是完全支持的Android编程语言。 直接集成到Android Studio 3.0中。链接如下: https://android-developers.googleblog.com/2017/05/android-announces-s
2017-10-25 02:01:08 1747
原创 Google自动编程框架AutoML入门指南
前言本篇是和Kabuto_hui(ISN国家重点实验室成员)合作修改生成的,感谢Kabuto_hui。更多技术文章请访问,Kabuto_hui的csdn博客()链接:http://blog.csdn.net/kabuto_hui导读Google在AI First的战略下,陆续发布AI相关的产品,技术。据最新的报道:Google AutoML 系统自主编写机器学习代码,其效率在某种程...
2017-10-21 23:48:24 10883 7
原创 奇点到来,超越人类 《Nature论文:人工智能从0-1自学打败阿法狗 》论文翻译
翻译前言阿法狗 ZERO以100:0打败阿法狗 ,引起轰动,论文在Nature发表。 阿法狗 ZERO引起轰动的原因: 1.完全自学,超越人类。 2.发展出超越人类认知的新知识,新策略。 3.能够快速移植到新领域本文是我和好友春(机器学习在读博士,研究方向为自然语言处理,机器学习,深度学习,微信号:zyc973950709)一同翻译,感谢。其中第三章考虑篇幅去掉,具体查看原文,或者私信我。题
2017-10-20 02:08:05 10218 7
原创 Android ListView常用属性解析
ListView常用属性解析下面的程序作为示例<ListView android:id="@id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:cacheColorHint="#00000000" android:de
2017-09-13 00:41:27 3764 4
原创 Android使用Firebase
Android使用Firebase图1. Android Studio中的助手工具窗口。Firebase是一个移动平台,可帮助您快速开发高品质的应用程序,增加用户群,并赚取更多的收益。 Firebase由互补的功能组成,可以混合搭配以满足您的需求,Google Analytics(分析)为Firebase的核心。 您可以使用图1所示的“助理”窗口,直接从Android Studio探索并整合您的应用
2017-09-05 00:53:19 2831
原创 Android创建WebP图像
Android创建WebP图像创建WebP图像WebP是Google提供的有损压缩(如JPEG)以及透明度(如PNG)的图像文件格式,但可以提供比JPEG或PNG更好的压缩。 Android 4.0(API级别14)及更高版本支持有损WebP图像,Android 4.3(API级别18)及更高版本支持无损和透明的WebP图像。 此页面显示如何将图像转换为WebP格式以及如何将WebP图像转换为PNG
2017-09-05 00:22:35 2688
原创 AndroidStudio基本配置
AndroidStudio基本配置1.配置文件Android Studio 通过 Help 菜单提供对两个配置文件的访问:studio.vmoptions:自定义 Studio Java 虚拟机 (JVM) 的选项,如堆内存和缓存大小。idea.properties:自定义 Android Studio 的属性,如插件文件夹路径或最大支持文件大小。2.配置文件位置Windows:%USERPROFI
2017-09-04 01:23:09 2500
原创 《重构》一书总结(二)
《重构》一书总结(二)重构的重点,在于对那些代码进行重构,如果重构不当,反而适得其反。重构代码终结如下1.Duplicated Code 重复代码 2.Large Class 复杂的类 3.Long Parameter List 过长的参数列表 4.Divergent Change 发散式变化 5.Long Method 过长的函数 6.Shotgun Surgrny 霰弹式修改 7.D
2017-09-02 23:52:11 1620
原创 《重构》一书经典总结(一)
《重构》一书经典总结(一)为何重构1.重构改进软件设计 2.重构使软件更容易理解 3.重构提交稿编程速度 4.重构帮助找到bug何时重构1.三次法则 第一次做某事的时候去做,第二次会产生反感,但还是会做,第三次就应该重构2.添加功能时候重构 3.修补错误时重构 4.复审代码时重构重构面临的难题1.数据库 2.修改接口 3.难以通过重构手法完成的设计改动 4.何时不该重构
2017-09-02 20:10:18 4157
原创 《Effective Java》经典建议系列(3)
通用程序设计1.将局部变量的作用最小化 2.for-each循环优于传统的for循环 3.了解和使用类库 4.如果需要精确的答案请避免使用float和double 5.基本类型优于装箱基本类型 6.如果其他类型更合适,避免使用字符串 7.当心字符串连接的性能 8.通过接口引用对象 9.接口优先于反射机制 10.谨慎的使用本地方法 11.谨慎的进行优化 12.遵守普遍接受的命名惯
2017-09-01 00:46:26 1934
原创 《 Effective Java》关于泛型,方法和枚举,注解的建议
泛型27.优先考虑泛型方法 28.利用有限制通配符来提高API的灵活性 29.优先考虑类型安全的异构容器枚举30.用enum代替int常量 31.用实例域代替序数 32.用EnumSet代替位域 33.EnumMap代替序数索引 34.用接口模拟可伸缩的枚举 35.注解优先于命令模式 36.坚持使用override注解 37.用标记接口定义类型方法类38.检查参数的有效性 39.
2017-08-31 01:41:55 1369 1
翻译 面向开发者的 Android 8.0 Oreo 详细介绍
面向开发者的 Android 8.0 Oreo 引言Posted By: Dave Burke, VP of Engineering翻译 by fengsehng(刘朋)经过一年多的开发和测试,开发人员和早期采用者(谢谢!),我们现在准备正式推出Android 8.0 Oreo到世界各地。 Android 8.0带来了许多伟大的功能,如图片,自动填充,集成即时应用程序,Google Play保护,
2017-08-28 00:48:11 3623 2
原创 《Effective Java》的前26条建议
Think in Java的前26条建议1.考虑用静态工厂方法代替构造器2.遇到有多个构造器参数时要考虑使用构建器3.用私有构造器或者枚举类型强化Singleton模式4.通过私有构造器强化不可实例化的能力5.避免创建不必要的对象6.消除过期的对象引用7.避免使用终结方法8.覆盖equals()方法时遵守通用约定9.覆盖equals时总是要覆盖hashCode()方法10.始终要覆盖toString
2017-08-21 23:35:39 1858 1
原创 Android -对图片Drawable进行变色
Android 图片DrawableCompat利用setTint()对图片Drawable进行变色1.利用color资源对Drawable变色Drawable对象的来源不限制,可以是从资源getResource().getDrawable(int resourceId)也可以是其他的方式得到的DrawableDrawable wrappedDrawable = DrawableCompat.wra
2017-08-21 21:25:03 5243
翻译 fecebook移动端AI实践方案
随着视频成为人们沟通的越来越受欢迎的方式,我们希望为大家提供最先进的创意工具来帮助用户表达自己。我们最近开始在Facebook应用程序中测试新的创意效果相机,帮助人们将视频转化为艺术品。这种技术被称为“风格转换”。它采用一种形象风格的艺术品质,就像梵高绘画的样式,并将其应用于其他图像和视频。直到现在,通常需要将内容发送到数据中心进行大型计算机服务器处理,这是一项技术难点。我们开发了一个新的移动深度学
2017-06-21 01:12:25 1577
原创 Android TextView设置图片技巧
经常遇到要在textview旁边设置图片的需求,总结一下。布局中android:drawableRight="@drawable/rightdrawable"图片的显示和隐藏隐藏textView.setCompoundDrawables(null,null,null,null);显示Drawable drawable = MyApplication.getInstance().getResource
2017-06-21 00:05:48 1959
翻译 Facebook安卓Feed流的内存优化实践
引言大量的用户每天在Android设备上使用Facebook,滚动新闻Feed流页面,包括个人资料,活动,页面和组,与他们关心的人员和信息进行互动等一系列行为。 所有这些不同的Feed类型都由Android Feed Platform小组创建的平台提供支持,因此我们对Feed平台进行的任何优化都可能提高我们的应用程序的性能。 我们专注于页面的滚动性能,因为我们希望用户在滚动他们的Feed流页面时有一
2017-06-20 00:38:16 5749
原创 java必备技能-集合类的遍历删除和包含判断
集合类的遍历删除和包含判断这里用List举例循环删除1.常用的方式是for循环遍历删除这样的方式会有问题,因为删除的时候会改变元素的顺序,会发生前移,这样同一个坐标对应的元素会发生变化。2.推荐采用迭代的方式遍历删除代码如下:Iterator<String> it = list.iterator();while(it.hasNext()){ String x = it.next();
2017-06-16 09:48:46 919
原创 动态加载布局LayoutInflater.inflate()源代码解析
动态加载布局LayoutInflater.inflate()源代码解析如何获取LayoutInflater获得 LayoutInflater 实例的三种方式1.LayoutInflater inflater = getLayoutInflater(); //调用Activity的getLayoutInflater()2.LayoutInflater localinflater =(LayoutIn
2017-06-12 18:27:21 2307
原创 量子计算机的现状和趋势
量子计算机的现状和趋势量子计算机概述计算机是一种新型的运算 它具有具有强大的并行处理数据的能力,可解决现有计算机难以运算的数学问题。因此,它成为世界各国战略竞争的焦点。量子计算机的优势量子计算机与现有的电子计算机以及正在研究的光计算机,生物计算机等的根本区别在于其信息单元不是比特。而是量子比特qubit,即是0和1两个状态的叠加。 因此单个量子cpu具有强的平行处理数据的能力。其运算能力随量子处理数
2017-06-11 23:33:21 8029 2
原创 区块链技术概述
区块链技术概述现状区块链是随着比特币等数字加密货币的日益普及而逐渐兴起的一种全新的去中心化基础架构与分布式计算范式, 目 前已经引起政府部门、金融机构、科技企业和资本市场的高度重视与广泛关注. 区块链技术具有去中心化、时序数据、集体维 护、可编程和安全可信等特点, 特别适合构建可编程的货币系统、金融系统乃至宏观社会系统.优点区块链技术的核心优势是去中心 化, 能够通过运用数据加密、时间戳、分布式共识
2017-06-08 20:00:34 7878
原创 Android自定义布局属性
Android自定义布局属性自定义属性的步骤1.自定义xml文件 2.布局中使用 3.代码中使用1.自定义xml文件<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name=“myview”> <attr name="text" format="string" />
2017-06-05 20:40:15 1550
原创 ADB shell的dumpsys命令-查看android组件信息详解
基本使用命令:dumpsys activity -hActivity manager dump options: [-a] [-c] [-p package] [-h] [cmd] ... //这个是后面可以跟的参数 cmd may be one of: //这个代表可以跟的命令 a[ctivities]: activity stack state //activity的栈信息
2017-05-22 22:33:35 6690 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人