其中有一些比较好的建议,比如希望能按需引入一些功能,因为有些场景可能只做一个展示的功能,并不需要各种操作的逻辑,那么引入完整的代码其实没有必要,于是我果断改成了插件化的架构,得益于一个功能一个类和事件机制...所以我相信做一个开源的思维导图工具是有一定价值的,即使相比商业软件,有些功能无法实现,比如云端同步、在线协作、手机 APP 等,但是思维导图场景,做一个单机软件也是完全可以接受的。...收获 技术 技术方面很难量化,你要说它具体给我带来了什么帮助,其实我也说不出来,但是确实比我在公司做的项目要难上很多,很多功能点实现起来也是有点难度的,比如各种布局结构的算法,尤其是鱼骨图,前后做了好几次才做出来...文件,因为我尝试后发现 Xmind 文件解压缩后再压缩,Xmind 软件打不开,于是我想当然的认为是 Xmind 软件识别出了它是被解压缩过的,于是拒绝打开,后来群里有一个人就发现了原因是解压后不能再对文件夹进行压缩...,但是有些人的语气就像你欠了他一样,我觉得这样不好,希望我们对待他人都能客气一点,虽然他做的东西他有一定义务,但是毕竟也会耗费他的一点时间,当然,如果你愿意先给他一点打赏,我相信他一定会很乐意解决你的问题
我们CMU的团队正在开展这样的工作,我待会想跟大家分享一下开发框架中比较有意思的思路和得到的经验教训。 这里首先要研究设计分布式的策略,怎么做分布。...我们从这个地方出发,怎么来解决这个问题,是相当有意思的一个问题。这块为了表达我们的思路,有必要稍微展示一下到底机器学习的神秘性或者它的特点在哪儿?跟普通的程序有什么区别?我尝试了一下做了比较。...这里用容错性做一个比较:比如说你在做一个排序,我们知道这个东西是不能容错的,这块如果错了以后不改,最后结果是错的。这是传统计算机程序的普遍特点,一旦在某个结骨眼出了错,你必须改。...我们组正在开发这么一个平台,叫Petuum,包含数据和模型并行两套功能,也对机器学习的特点做了比较深入的一个研究,对他们做了一些针对性的使用,所以我们系统对机器学习内部特点比较有针对性,他们有一些非常有意思的特性和功能...为什么这样做产生这样好的结果?这里边有一些比较深层的技术和科学原理,时间允许,我可以再讲几分钟。
如果你是一名大学生并且你正在努力完成你的作业,或者你是一名博士。学生,并且您正在尝试毕业,那么当您编写程序时,您的目标是它应该运行一次。至少一次。因为你必须做一个演示并能够展示它,看看它是否有效。...对我来说,协程的问题之一,这就是我很久没有使用它们的原因,是它们实际上并没有让你这样做或让你利用多个处理器。你不能做真正的并行。...但是,一旦您获得了这些基于协程的语言中的一种并尝试利用多个处理器,如果您正在执行大量协程类型的操作而您没有足够的处理器,那么您只会使一个饱和处理器。...所以你不能伪造一个指针。如果你看看像 C 这样的语言,如果你没有伪造的能力,你就不能做 C。有一些虚拟机没有严格的安全模型。...在 JVM 之类的东西上,如果您尝试实现 C - 有些人已经这样做了,尽管这很奇怪 - 如果您有一个严格安全的虚拟机,那么有些地方您就不能去。但是有些人构建的虚拟机并不严格安全,没有内存分配模型。
,尝试着去做一个物联网智能家居的整体方案的设计。...于是买了一些开发板自己玩,玩的挺开心,但是真正的找工作却发现没有什么公司做这个,大家还是做工业控制、做消费电子、做非联网的东西。为了工作、也只能把这份热爱留在心里。...后来,真正在工作中接触到物联网的一点东西是在18年左右,做智能锁需要用到zigbee模块,于是在调试zigbee的使用过程中,也慢慢的对物联网的产品有了一个基本的框架性的认识,包括数据的处理、数据的流向...而后有了更加稳定的程序输出。 总结 写这篇文章主要回顾一下自己做物联网的时候的心路历程,其实物联网的设备技术难度比我做的一些项目难度要低一些,但是我还是觉得这个是很有意思的一件事情。...做了几个物联网项目,给我的感觉比较深刻的有以下几点:第一就是设备端的联网模块要处理好,断线重连机制要很完善。第二就是协议层框架要很清楚,一个协议做一件事,不要耦合太多业务。
有很多公司参与来做是好事情,同时我们也并不担心这样一种竞争。虽然大家做的东西叫同一个名字,叫小程序这样一个名字,可能一些代码的接口跟我们是一样的,但是我并不担任对我们构成很大的威胁。...前不久有一个国内第二大的游戏公司的负责人来问我说,他们也想做小程序,但是又怕他们做了以后做的太好了,我们公司做一个同款的,一推出来就把他们灭掉了。...我们吐嘈页面上,有人在说能不能每一个小程序都能发通知,你觉得我们将来也会考虑这样做吗?一切皆有可能。但是还是有一些事情是不能做的。...往往是有了微信之后,你因为要分享给别人,才会拍这样一个东西,所以记录或者拍摄本身并不是一个需求。假设我们做一个APP,这个APP目的是说,记录我的人生或者记录真实的世界,这个APP是做不起来的。...去年在公开课说到,微信一部分是要探索线下的生活,这一块有点曲折,所以我们到现在还在一个灰度的阶段,目前只是团队拿广州用户做了一个试点。 类似这样的尝试会越来越多。
测试 我现在要向你提供测试,实现这个类时,你必须使其能够工作。你会看到我已经遍历了每一个操作,并试图覆盖大部分的边界情况,但是当我进行审计时,你会发现实际上我可能错过了一些。...这个流程一开始似乎很乏味,是的,但是你会越来越快,在视频中你会看到,在运行每个测试之前我都这么做(或至少我真的努力尝试这么做)。我按照以下流程: 写一些测试代码。 编写代码使测试工作。 审计二者。...我建议当你尝试在SingleLinkeList中实现一个函数时,首先写一些注释来描述它做了什么,然后填充 Python 代码来使这些注释工作。你会看到我在视频中这样做。...你首先需要尝试它,以便更好地了解我正在尝试的事情,这样可以使视频更容易理解。视频中我只是编程而不说话,但我会做一个旁白来讨论发生了什么。视频也更快来节省时间,我会剪切掉任何无聊的错误或时间的浪费。...一旦你看到我是怎么做的,你已经做了笔记(对吗?),然后去尝试更严格的东西,并尽可能仔细地执行代码审核过程。 审计 编写代码后,请确保执行第三部分中描述的审计流程。
,当时我只是在研究一些现有的解决方案,并试图找出如果我构建这样的东西,我会怎么做。...但是,这些统计数据在某种程度上还是有用的,比如对于市场营销来说。 但是如果你尝试去做一个技术决策,并且尝试去和市面上已经成熟的技术去竞争的话,那么这些数字在某个阈值上的相关性会越来越小。...我认为不能单纯的以一个好与坏来评价一个框架。 ? 人们往往会问一些问题,比如哪个框架更好,请别再问这个了。 因为我们很难简单地去评定一个框架要优于另一个框架。...但是对于当前的这些问题,我们仍然有通过文档去提供解决方案。当你的用例变得更复杂的时候,当你要构建更复杂的东西的时候,这时你意识到自己需要一个路由。...在这块我们已经做了很多尝试,但从本质上来说,我们很难通过这种方式对其提供安全的优化。
很多时候产品经理做了一个功能,而不是做一个定位。我把它总结以后,功能是做需求,定位是做一种心理诉求,也就是说定位是更底层的一些心理供给。...我自己的个人喜好,我会看一些论坛或者微博这样的东西,去看这些离我很远的用户,他们在什么样的氛围、什么样的场景里面用我们的产品。 用户是很懒惰的,我们要针对这些懒惰的人来做设计。...当然,最后你要承认它是一个好功能,但是我们不做它。我们同时通过一些别的方式做更好的东西。如我们首先做了导入技能,对方就很被动,他们不知道该做还是不做。 第四,任何规划都跟不上变化。...那你会很奇怪,这样做不会忘掉吗?我们会把一些可能忘掉的东西都砍掉,每做一个事情我们会很保守。从头一个版本到现在看起来,我会认为从结果来看这个版本规划的非常有序,但其实它是没有规划的。...因为我们觉得不能用户要什么就给他什么,要变个花样给他,用户要的不一定是对的。 这种需求挺多的,但是我想表达的是如果我们针对需求一个人去满足,你可能获取了这部分用户,但是得罪了另外一部分用户。
还有一点,Kubernetes号称有各式各类功能,我可能要泼一下冷水。京东很多东西的确是基于Kubernetes建设起来的,Kubernetes对我们的帮助非常大,但是它也不是万能的。...因为你的调度有的在排队,有的depending,但是有一些业务在发布的时候,他会提出一个问题,我原来有100个容器,我发布完之后只剩80了,另外20个容器的资源被别的业务抢走了,这是不能接受的,所以我们也有了这种所谓的优先...京东做得比较早,从2013年就开始做容器,在过去几年我们在这块已经做了很多工作。 还有另外一个,大家也都感同身受。...为解决这一问题,我们应用上线的时候会要选优先级,如果你的优先级不高的话,有可能会被优先级高的驱逐掉,相当于我们单独对Kubernetes重新做一个东西,即我们的驱逐器。...所以我们建议心跳检测这一块尽量用另外一套系统来做,把你检测的结果反馈给Kubernetes,这样可能会更好一些。 这就是我今天演讲,谢谢大家。
KDD Cup是一个比较大的平台,我们希望能做一个比较强大的工具,从而尝试各种各样的想法。...cxxnet以后也可能慢慢发展为一个比较好的深度学习库。我们也开始考虑做一些对用户友好的R或python的接口,现在已经有了python的接口但是还不够友好。...我们现在已经做了一些这样的事情,在这方面应该比现有的一些机器学习工具有一定的优势。...等XGBoost成熟之后,或许我也不会永远做树模型,可以去做一些其他的模型。就是尽量不要让自己陷入舒适区里,尝试一些自己以前不能够做的事情。...但是有时候这样并不好,一个人再强,他的精力也是有限的,不可能做到所有的东西。所以我们现在可以拿出更多的时间来做和自己的研究相关的工作。
让我们实现这一点,我做了一个非常粗糙的测试程序,以识别图像中的每个视图,提取边界,根据边界挤压面孔,但它太小了,不能在游戏中使用。...3、来自Jimmy的新想法 有一天,我搜索了一些有关怪物生成的关键字,并找到了Jimmy Gunawan的博客, 我被他的文章震惊了,这就是我要找的,这就是答案,我非常兴奋,当读到博客上关于Blender...4、启动Dust3D项目 我启动了 Dust3D 项目, 并在reddit贴出了我的计划,虽然这是我还没有做很多事情。我这样做是因为,作为游戏行业的新手,我不想在一开始错过一些事情。...6、再次重造车轮 你可以看到,dust3d是从零依赖开始,然后不可避免地引入一些东西。如果继续这样下去,一切顺利。但有些事情发生了。...我做了一些调查,并尝试了许多GUI解决方案,如bgfx,我甚至修复了bgfx的一个微不足道的问题,并且合并进主分支。但最后,我仍然决定使用Qt。
这个我们称之为程序员自己挖了一个坑。自己留着的时候说没关系,我三个月有空档期我重构一下。但是反过来看,这些真的被重构了吗?我在想我们为什么不能放弃掉这个代码,重新做一个,老的不要了。...[zmjvfz7wo8.png] 刚才说,怎么去使用中间件,这个也是Serverless要解决的一个问题,于是我们做了一个SDK,来统一的用。为什么这样做呢?...这样做有什么好处呢,真正开发的时候很多同学不再需要考虑布在哪里。同时Cash会这样做,Q也会这样做。这样就是不停的在脚本里说需要什么东西,而这个东西永远是一个对象。...其实说的这么好,程序员也很反感,说你把我废了,我离开你这里我不会写代码了。但是确实碰到这样的问题,因为程序员只能用你的。所以我们做了一个本地的环境,定制做了一些事情。...为了说能够让所有程序员把这个脚本,自己有什么脚本发布出去,我们做了一个脚本商店,在每个部门,每个流程,已经有这些可以直接调。
对于内容的形式可能大家也会做一些尝试,比如说视频化展现这些内容。所以在去年大家可以看到我们做了一个公众号的APP,大家会寄予很大的希望,但是它只是一个帮助公众号的发布工具而已。...在手机里面看东西,手机屏幕很窄,你只能往下滑是最快的,但是不能因此说这样的东西贴一个标签就是信息流。这样的一种认知是特别简单的一种认知。...但我们有很多好东西藏得实在太深了,所以有很多的用户根本就不知道有这样的一些东西存在。这是一些小的东西。 但是我们在微信里面有一些特别大的东西,就是一直我们做得不够好的,就是我们卡包的能力。...因为去年我在公开课说了微信的一部分是要探索线下的生活,但是这一点有一点曲折,到现在只是灰度的一个现状,目前团队只是拿广州的用户做了一个试点。 但是类似这样的尝试,我觉得会越来越多。...但是毕竟它的承载能力也是有限的,所以在下一个阶段,我觉得微信更多的是围绕微信通过不同的APP,尝试跟微信有某一种关联的其他一些服务形态。
DBA同学可能清楚一点,很多时候做迁移,其实是做了一个同构到同构的迁移,但现在我们会遇到一些很多新的场景,比如像刚才我也提到做读写分离加速的场景,我们希望把数据库里的比如说MySQL的数据,我希望把它同步到我的...像我们最近在接触的一些客户,从MySQL迁移到达梦里面去,这个东西如果说我们要手工去做,DBA同学会很崩溃的。 3. 如何保证稳定性和可靠性?...这张图上我们大家可以看到我们现在已经支持的一些数据源,还有一部分是我们正在开发即将上线的一些能力,如果说我们同学如果有测试的需求,比如说这里面我有些数据源是没有的,希望我们加进来的,非常欢迎大家给我们提更多的意见和建议...,也欢迎大家来做更多的尝试。...任务可用性监控 刚才我们也提到了,我有一个工具,我能保证它能解决我基本的问题,但是我们如果希望它能够真正在我们的生产环境真正发挥它的价值,我们除了对它的功能性有要求,稳定性和可用性也是非常关键的考量点。
对于内容的形式可能大家也会做一些尝试,比如说视频化展现这些内容。所以在去年大家可以看到我们做了一个公众号的APP,大家会寄予很大的希望,但是它只是一个帮助公众号的发布工具而已。...在手机里面看东西,手机屏幕很窄,你只能往下滑是最快的,但是不能因此说这样的东西贴一个标签就是信息流。这样的一种认知是特别简单的一种认知。...但我们有很多好东西藏得实在太深了,所以有很多的用户根本就不知道有这样的一些东西存在。这是一些小的东西。 但是我们在微信里面有一些特别大的东西,就是一直我们做得不够好的,就是我们卡包的能力。...因为去年我在公开课说了微信的一部分是要探索线下的生活,但是这一点有一点曲折,到现在只是灰度的一个现状,目前团队只是拿广州的用户做了一个试点。 但是类似这样的尝试,我觉得会越来越多。...但是毕竟它的承载能力也是有限的,所以在下一个阶段,我觉得微信更多的是围绕微信通过不同的APP尝试跟微信有某一种关联的其他一些服务形态。
但是在 2008 2009 年的时候,如果你尝试去做一个云计算的公司,会头破血流。除非你是Amazon,你可能也会头破血流,然后他们就更改了他们的决定。...但是有一个巨大的问题其实就是Cloudera之所以做了这么大,很多其实是因为 support,就是做开源做定制,做售后支持。...很多客户很可能他觉得我非常想用这个开源原厂商的产品,Databricks做了一些新的东西,可以支持Spark。...那我在Databricks上做一些简单的prototype,但是当我需要做大规模部署的,这个时候我当然去找一个最便宜的厂商了。...如果你觉得那个东西是一个你特别有大激情去改善这个世界,我觉得这是一个比较好的动力,这样才可以支撑你多年非常高强度的工作。
但是我不可能跟每个用户去说你要这样来拍,所以对于产品来说,最终的走向是会让一个用户在压力最大的情况底下能够很自由去拍一些东西去记录他自己或者他周围的世界。 同时它有足够的动力去做这个事情。...在手机里面看东西,手机屏幕很窄,你只能往下滑是最快的,但是不能因此说这样的东西贴一个标签就是信息流。这样的一种认知是特别简单的一种认知。...但我们有很多好东西藏得实在太深了,所以有很多的用户根本就不知道有这样的一些东西存在。这是一些小的东西。 但是我们在微信里面有一些特别大的东西,就是一直我们做得不够好的,就是我们卡包的能力。...因为去年我在公开课说了微信的一部分是要探索线下的生活,但是这一点有一点曲折,到现在只是灰度的一个现状,目前团队只是拿广州的用户做了一个试点。 但是类似这样的尝试,我觉得会越来越多。...但是毕竟它的承载能力也是有限的,所以在下一个阶段,我觉得微信更多的是围绕微信通过不同的App尝试跟微信有某一种关联的其他一些服务形态。
对于内容的形式可能大家也会做一些尝试,比如说视频化展现这些内容。所以在去年大家可以看到我们做了一个公众号的APP,大家会寄予很大的希望,但是它只是一个帮助公众号的发布工具而已。 ...在手机里面看东西,手机屏幕很窄,你只能往下滑是最快的,但是不能因此说这样的东西贴一个标签就是信息流。这样的一种认知是特别简单的一种认知。 ...但我们有很多好东西藏得实在太深了,所以有很多的用户根本就不知道有这样的一些东西存在。这是一些小的东西。 但是我们在微信里面有一些特别大的东西,就是一直我们做得不够好的,就是我们卡包的能力。...因为去年我在公开课说了微信的一部分是要探索线下的生活,但是这一点有一点曲折,到现在只是灰度的一个现状,目前团队只是拿广州的用户做了一个试点。 但是类似这样的尝试,我觉得会越来越多。...但是毕竟它的承载能力也是有限的,所以在下一个阶段,我觉得微信更多的是围绕微信通过不同的APP,尝试跟微信有某一种关联的其他一些服务形态。
那个时候世界已经处于一个现代化的程度了,操作系统都有虚拟内存,有图形界面,有因特网,开发软件还有集成开发环境可用,跟一些老前辈所描述的编译一个程序还要换几次磁盘的日子已经完全不一样了。...后来我试图用 OpenGL 做 3D 游戏,但是由于很难找到有共同爱好的美工跟我一起做,便作罢了。但是这却让我获得了很多时间,可以投入到图形界面和脚本引擎之中去。 ?...在这里我想可以回答一个月前不能很好地回答师弟师妹们的一个问题了。如何能够在微软找到工作?因为我把我上面做的这些东西都写进了简历。...但是做一个 GUI 库工作量实在是有点大,我又追求要有良好的开发体验,因此就做了这么久。...因此为了实现这一点,写一个编译器在所难免,而且编译出来的东西还要能跟 C++ 那边的类相互沟通,从而又复习了一遍 COM 的内容(尽管我并没有使用它,我只是尝试做了一个一样的东西)。
领取专属 10元无门槛券
手把手带您无忧上云