首页
学习
活动
专区
圈层
工具
发布

免费拿走我的代码可以,但请对使用我的时间付费

我为开源工作付出了很多自己的业余时间,这些时间原本可以用来陪伴家人、享受生活或者写作,然而这样的付出并没有收到任何物质方面的回报。我今天在此声明,决定终止目前自己所从事的所有开源工作。”...并且在专注 FubuMVC 的过程中,我不得不放弃其他的事情以及自我学习,开源工作的机会成本很高。”...——Jeremy Miller,FubuMVC 的前项目负责人 “当我决定开始要小孩的时候,我可能会放弃开源,一旦有了小孩我的时间将远远不够用,我估计只有放弃开源工作才能真正解决我的问题。...如果你希望在代码库中保持高水平的概念完整性,那么限制社区尤为重要。具有自由贡献政策的无头项目很少需要收费。 如果你的项目对其他人有利,为了完成自己的愿景,众筹是获得项目资金的重要方式。...这些想法代表着可持续发展的道路,也可以解决开源的多样化问题,这些问题可能源自于之前的无偿性质。但最重要的是让我们明白生命所剩的时光,而且我们有一天会为我们浪费的时间感到遗憾。

1.6K80

为什么我改变了对区块链的看法

我大学时学习密码学,而比特币作为一个新颖且非常规的概念出现。在我的一门课程中,我们分析了与比特币非常类似的加密货币的密码学构建模块。尽管我钦佩算法和协议的精妙,但我对 区块链技术 并不特别感兴趣。...我的主要保留意见是,尽管其设计创新,但它并没有解决我个人认为重要的任何问题。 我对区块链的怀疑一直持续到几个月前,当时我与 Aerospike 的一位新客户合作, BSV 协会。...在 前一篇文章 中,我详细阐述了为什么这种方法非常低效。 通常,这些解决方案采用可扩展数据库,通过复杂的数据提取、转换、加载 (ETL) 流程从不可扩展的 RDBMS 中检索数据。...虽然这些系统确实增加了工作负载容量,但它们需要大量投资于新基础设施,需要数百万小时的工程工作,并导致创建难以维护的复杂系统。这就是我所说的低效扩展。...没有不断升级的复杂性。没有耗时数年、耗资数十亿美元的项目来启动一个应用程序。 正是这种愿景改变了我对区块链的看法。

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

    我在工作中的常用代码管理

    说是管理其实就是把常用的一些JS方法,自己保存下来,这样的以后的工作中可以比较方便的使用。 哪些方法可以、或是说值得保存呢?...还有一些是扩展型的函数,例如,判断数组,增加、删除数组什么的, 还有一些工具类的,什么复制属性啊,字数判断啊,DOM节点操作啊,轮播广告啊,日期操作 总之,上面列出的那些内容的JS代码都是与具体业务逻辑无关的...============= 我写这些东西基本都是“思路或方法”的占多数,我觉得思维在层次上是高于具体实现的。...这也是我为什么很少写JS的具体实现的原因,我总觉得应该给我的粉丝们一些不一样的东西,一些别的地方得不到的东西。因为网上JS教程很多,我又写不好JS教程,我没耐心一步一步的详细写。...要看JS教程有很多地方可以看到很好的教程。 我希望关注我的朋友们,看我的微信公众号,能够体会一种“变通”的能力。不要我说一就是一,要懂得举一反三啊。 我再三提醒啊,不要僵化的去看待文中的内容。

    1.3K50

    工作多年,我对架构的一些理解

    每一个程序员都听过架构这个词,每一个程序员都有自己对此的理解和看法,本文分享我对架构的理解。 什么是架构? 因为我是程序员,所以本文讨论的架构特指软件架构(Soft Architecture)。...我的第一份工作做的东西就是用 C 语言点亮一块 LCD 屏,并解析串口协议,在屏幕上绘制规定的图形,比如圆形、矩阵、椭圆。 整个代码逻辑很简单。...多年来,我一直有一个遗憾就是,因为没有强力的推动,我始终没有在我第一份工作离职前把代码优化一下,把 ucos ii 整上去。 我驾驭不了其中的架构成为安慰自己的唯一理由。...所以,我可以回答这一节的问题:认为架构简单是因为低估复杂度 为什么有人认为架构太难了? 有人认为架构容易,有人认为架构很难。...其次,架构思维有利于做好当前工作 很多同学可能有困惑,已经工作好多年了,但似乎很难再突破,一个重要的原因就是视野所限。

    97910

    JavaScript调试指南:为什么我的代码没有运行?

    JavaScript调试指南:为什么我的代码没有运行? 引言 在Web开发中,JavaScript是构建动态网页的核心技术之一。...然而,许多初学者常常遇到一个问题:“为什么我的JavaScript代码没有运行?” 有时候,代码看似正确,但页面上没有任何反应,导致开发者困惑。...} // 调用函数 myFunction(); 1.2 用户遇到的问题 用户反馈:“我的HTML里面的JS没运行,帮我优化下...但实际上,这段代码确实运行了,只是用户可能没有看到预期的输出。为什么会这样? 2. 为什么代码看似“没运行”?...逐步调试(console.log、debugger)是解决问题的关键。 希望本文能帮助开发者更高效地调试JavaScript代码,减少“为什么没运行?”的困扰!

    17910

    我对 Twitter 前 10 行源代码的理解

    根据我的观察,部分开发人员不擅长现场编码或白板面试,即使他们对这项工作很在行。...我很喜欢问的一个问题是:“解释一下 Twitter 源代码的前十几行”。 我认为这是一个很简单的测试,可以借此了解应聘者对前端基础知识的掌握程度。本文列出了这个问题的最佳答案。...我打开 Twitter.com,点击查看源代码并分享我的屏幕,然后要求他们逐行进行解释,他们想说多少就说多少。...DOCTYPE html> 每个源代码文档的第一行都非常适合这个面试,因为应聘者对DOCTYPE声明的了解程度与他们的工作年限密切相关。...我面试过的人都不知道这个。我想,只有对标准化阶段发生的所有新鲜事都有深入的了解时,才会知道这个。

    1.5K20

    为什么我写不出面向对象的代码

    在面向对象思想中, 功能交付是对象与对象之间的交付,每个对象承担自己的工作,对象与对象之间应该尽量减少耦合。因此我们需要降低对象之间的耦合,关注对象功能本身。 我们将上述案例代码继续抽象。...关于DDD领域驱动设计,推荐书籍: “《领域驱动设计:软件核心复杂性应对之道》 《实现领域驱动设计》 ” 为什么我们在使用贫血模型 看了上面的代码,我们可能会疑问:我使用贫血模型开发挺好的啊?...因此我总结为什么人们更愿意使用贫血模型呢: “ 充血模型相对贫血模型存在一定的设计难度,你需要多花时间思考哪些是对象本身的行为 面向过程的编程思想根深蒂固,很难改变 对代码没有太大负责态度,认为怎么简单怎么来...在复杂的系统中,我们使用贫血模型(面向过程思维)开发,那最后的结果是 点连成线,线交织成网,密密麻麻不可维护 然而我们大部分负责的系统并不复杂,我的建议是: 朝充血模型思维方式靠齐 我的思考 如果你还在抱怨自己的工作只是简单...那么建议你多做一些的思考: 1.我的代码是不是面向对象的代码 2.我的代码设计是否遵循 高内聚,低耦合的设计标准 3.我的代码是否遵循设计原则,如单一职责原则,开闭原则等 4. ...

    2K20

    我为什么要创建一个不能被实例化的类

    摄影:产品经理 感谢小何的上等牛肉 当我们创建一个Python 类并初始化时,一般代码这样写: class People: def __init__(self, name): self.name...但如果有一天,你发现我写了这样一个类: class People: def say(self): print(f'我叫做:{self.name}') def __new...你会不会感到非常奇怪?...一个不能被初始化的类,有什么用? 这就要引入我们今天讨论的一种设计模式——混入(Mixins)。 Python 由于多继承的原因,可能会出现钻石继承[1]又叫菱形继承。...显然,这样写会报错,因为两个类的实例是不能比较大小的: 但在现实生活中,当我们说 某人比另一个人大时,实际上是指的某人的年龄比另一人年龄大。

    5.5K10

    最近,我对前端代码复用的一点思考

    这个时候,我们就需要考虑如何将这些重复的代码进行复用。在这篇文章中,我将会和大家分享一些前端代码复用的精髓。1....这就比较考验我们对业务的抽象能力了,我们需要将业务逻辑进行抽象,然后将这些抽象的业务逻辑进行封装,然后在不同的页面中引用这些抽象的业务逻辑。...): Promise { // 这里应该包含实际的印章管理逻辑 }}export default EnterpriseUserManager;然后,我在我的业务页面中引用这个M层,比如说...,我在我的企业认证流中的页面引入这个M层,他的小程序vue,和h5 react端的代码可能是这样的:小程序端 代码复用性的一些思考,前端代码复用是一个很重要的话题,是一个不能回避的问题,也是一个很难的问题。

    1.1K10

    我再用100行代码来支援青岛的防疫工作

    新故事背景: 上周末的,半夜11点多写完了《我用100行代码来支援青岛抗击疫情》,大概的内容是帮助之前的同学来处理几个excel匹配的问题。...所以我只要有所有的城市名字,然后对这一栏进行分词,只要分词后词语里不包含任何一个城市,那么就认为这其实是一个备注信息,这样处理起来就比较简单了。...上篇文章说,我在写一个关于打工人如何处理excel类的问题教程,我是真的在有准备。...我都大概整理了相关内容的目录,但是今天发现,处理问题不仅仅是一个包的功能,可能是一连串的内容都需要有点点了解,所以后面我在考虑考虑是否继续。或者你有什么更好的想法或者建议,也欢迎提供。...好了,今天就分享到这里,我是马拉松程序员,可不至于代码!

    77830

    用AI提高代码质量,同事对我的代码赞不绝口

    在当今软件开发领域,代码质量被视为至关重要的因素,因为它直接影响到软件的可维护性、可扩展性和可靠性。尽管有人担忧AI技术的快速发展可能会取代初级程序员的工作,但我们应该认识到提升自身技能和成长是关键。...然而,我们也应该意识到依赖AI技术并不能完全替代人类的创造力和判断力。在软件开发过程中,仍然需要人类程序员的综合能力来确保软件的成功实现。...1.使用ChatGPT生成代码注释,以提高代码的可读性和可维护性。代码的可读性很重要,因为代码是人编写和维护的。当代码可读性差的时,它将很难理解和修改,这将导致代码的可维护性和可扩展性受到影响。...:11.5// 则输出结果为:11.52、使用FuncGPT(慧函数)生成测试用例,以帮助和修复代码中的错误和缺陷除了改进代码,要提升代码质量,软件测试必不可少,他是用于测试功能和正确性的代码片段,可以帮助开发人员发现和修复代码中的错误和缺陷...但是,大部分程序员对写测试用例不够重视,这也是程序员需要不断提升的地方。FuncGPT(慧函数)现已开通免费使用:链接 https://c.suo.nz/8zS0A

    46220

    DALL-E发明者受访:我对其两年来产生的影响感到惊讶

    我知道这项技术将会对消费者产生影响,也会帮助到并对许多不同的应用程序,但我仍然对其发展速度之快感到惊讶。」 如今,生成式模型正在逐渐发展到「图像生成和多种模态的高光时刻」。...CLIP 从互联网上获取了 4 亿对带有文字说明的图像进行训练,能够使用自然语言进行分类基准测试并对 DALL-E 结果进行排名。 当然,很多早期迹象表明,当前即将迎来文字到图像的进步。...他说:「虽然这不是文本到图像合成领域的首项工作,但 OpenAI 不仅仅向 AI 研究领域推广他们工作的方法,更是将推广范围扩大到公众层面,这自然也是其颇受关注的原因所在。」...目前的系统「基本上是在窃取艺术家的概念,而没有为艺术家提供任何追索权,」她如此总结道。 DALL-E 没有公开源代码,这导致其他系统开发了开源的文本转图像选项,这在 2022 年夏天前引起了轰动。...并说「只有我的团队训练的模型可以称作开源」。

    68710

    撇开代码不说,谈谈我对架构的6个冷思考

    所以,我一直以最简单的方式对架构进行定义:架构是一种用计算机解决问题的综合能力,与头衔无关。下面我将结合自己的工作经验,谈谈这些年来,我对结构的理解。...建模本身是对客观事物的一种抽象,客观事物越复杂,那建模的结果变成「盲人摸象」的概率就越高。 然而,「盲人摸象」在IT领域其实不能算是个「贬义词」,因为这个现象十分的常见。...与人和团队的关系 架构往往是与个人或者团队的能力有关的,因为架构前一部分是设计工作,后一部分是代码框架的落地工作。...代码到不到位,写的好不好,对设计的落地实现会产生很大的影响。...· 宏观层面:对特定问题,进行解决方案的设计 · 微观层面:对后续的编码工作,形成与解决方案核心相一致的代码框架 做好「架构工作」有很多非技术的「软实力」,比如: · 对于团队中成员职能的正确定位,知道他们真正擅长什么

    83370

    工作六年后,我对软件开发的认知转变

    里面的大部分观点我都比较认同,在这里做了一个比较接地气的翻译,分享给大家。 正文 在软件产业工作六年后,我对软件行业的一些想法发生了改变。...以下这些观点是我以前内心比较矛盾,但是现在坚信的事情: 当你工作在一个开发人员众多且拥有不同开发水平的小组中,使用强类型语言显然更为合适。...但是如果没有好的抽象,就算实现的再漂亮,那也是在堆屎,对代码伤害极大。 Java并不是那么烂(译者注:看来大佬对Java怨念颇深)。 炫技的代码通常并不是好代码,一个清晰明了的代码比任何代码都好。...以下是我这一路以来了解到并认可的观点: 第一,YAGNI(非必要时不加入新代码), 其次, SOLID(面向对象设计), 第三, DRY(不要重复造轮子),按照这个优先级去写代码。...(译者注:面试很难真正看清一个人的开发水平) 以下是这么多年来我依然不变的观点: 过分强调代码风格、规则或其他细节的人是极端分子,毫无意义。 代码覆盖率对于提升代码质量没有丝毫帮助。

    64300

    我的代码背叛了我?为什么 a=1, b=2,最后x和y都等于0?

    随着多核架构的普及,并发编程已成为开发者不可或缺的核心技能。在学习过程中,开发者常会遇到这样的困惑:正确编写的单线程代码,为何在并发环境下可能瞬间失效?看似有序的语句执行后,为何结果却混乱不堪?...同时,通过剖析工程实践中常见的并发异常,并追溯其根本原因,帮助读者构建对并发编程本质的系统理解。并发之谜:为何我的代码背叛了我?...现在再回来看上面代码,那么可以得到四种结果:1)假设处理器A对变量a赋值,但没及时回写内存。处理器B对变量b赋值,且及时回写内存。处理器A从内存中读到变量b最新值。...对如下代码中的共享变量:// instance是volatile变量volatile Singlenton instance = new Singlenton();转换成汇编代码,如下:0x01a3de1d...当线程释放锁时,它会将工作内存中的值刷新回主内存,以便其他线程可以看到最新的值。未完待续很高兴与你相遇!如果你喜欢本文内容,记得关注哦!!!

    18710

    工作六年后,我对软件开发的认知转变

    里面的大部分观点我都比较认同,在这里做了一个比较接地气的翻译,分享给大家。 正文 在软件产业工作六年后,我对软件行业的一些想法发生了改变。...以下这些观点是我以前内心比较矛盾,但是现在坚信的事情: 当你工作在一个开发人员众多且拥有不同开发水平的小组中,使用强类型语言显然更为合适。...但是如果没有好的抽象,就算实现的再漂亮,那也是在堆屎,对代码伤害极大。 Java并不是那么烂(译者注:看来大佬对Java怨念颇深)。...以下是我这一路以来了解到并认可的观点: 第一,YAGNI(非必要时不加入新代码), 其次, SOLID(面向对象设计), 第三, DRY(不要重复造轮子),按照这个优先级去写代码。...(译者注:面试很难真正看清一个人的开发水平) 以下是这么多年来我依然不变的观点: 过分强调代码风格、规则或其他细节的人是极端分子,毫无意义。 代码覆盖率对于提升代码质量没有丝毫帮助。

    64120

    为什么我要拒绝梦寐以求的数据科学家工作?

    作者: Admond Lee 编译: Mika 本文为 CDA 数据分析师原创作品,转载需授权 在深入探讨这个问题前,让我们退后一步,先试着回答另一个问题:为什么要成为数据科学家?...最近IBM预计,到2020年数据科学家的市场需求将飙升28%。 这些吸引人的就业前景也让许多人投入数据科学的领域。 那么你肯定会想知道:为什么我要拒绝一份数据科学家的工作呢?...然而工作描述与实际工作形成了鲜明的对比,这让我感到无比困惑。 在上一轮面试之后,我拿到了数据科学家工作的offer。在同一段时间里,我还拿到了另一家公司研究工程师的offer。...这份工作描述更加明确,实际的工作范围也符合我想做的事情。 记得我之前提到的,大多数求职者所面临的职位名称与工作性质之间的两难选择吗?最终我选择了后者。 结语 ?...在新西兰玩耍 对我来说,职位名称是暂时的,但工作性质,这才是真正让我感兴趣并带来挑战性的,而且还能让我在工作中收获宝贵的技能和经验,这才是最重要的。

    1.5K30

    为什么if-else会影响我的代码的复杂度

    关于if-else的争议 我之前写了一篇文章《我用规则引擎消除if语句,提高了代码的可扩展性》,这篇文章我想阐述的观点是复杂的if语句可能会影响代码的阅读和代码的扩展性,会将非业务的条件逻辑与业务逻辑混合在一起...不过规则引擎已经算是比较成熟的框架了,如果对这方面担忧的建议使用策略模式。 用图来表示就是上面这个样子,是不是有点像服务注册。...这里我要阐明我的一个观点: “我的观点并不是说,我们在编码时不能使用if-else,而是说我们不应该简陋地用if-else去实现业务的分支流程,因为这样随意的代码堆砌很容易堆出一座座"屎山"。...实际工作中,能见到一个方法包含10个、20个甚至更多的逻辑分支的情况。...即使在代码还在起步阶段,我们也要能够看到将来代码发展的趋势。 真的不要觉得设计代码是一件费时费力的事情,到了多次项目迭代后,我们会发现好的设计可以提高工作效率和代码质量。

    2.4K10
    领券