首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

十七年来奇葩大崩溃!为不让OpenAI和谷歌白拿数据,Reddit 收取巨额API 费用还诽谤开发者,社区爆发大规模抗议

我们假设尽管经济不景气,但他们每个季度都设法做到这一点,并且在表现最好的季度已经翻了一番,达到 2 亿美元。更保守些,假设他们在 Reddit Premium 订阅中赚了 5000 万美元。...2019 年,Reddit 表示他们的月活跃用户达到了 4.3 亿。假设他们从那时起就没有添加过一个活跃用户如果我们计算每个用户的收入,用户越多,每个用户贡献的收入就越少)。...“成为 Reddit 用户已有 17 年了。这会让离开。”“那么再见 Reddit。如果没有第三方应用程序,我会像放弃 Twitter 一样放弃 Reddit。”...“如果他们不妥协或找不到其他解决方案,那么肯定不会再成为活跃的 Reddit 用户,因为几乎只使用 Apollo。” Reddit 浇油:诽谤开发者?...2014 年 10 月,Reddit 正式收购 Alien Blue,2016 年 5 月,Alien Blue 在 App Store 中停止使用,取而代之的是 Reddit 自己的应用程序 Reddit

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

    Google+ 为什么会死?

    如果我姐姐通过Google+给我发送了一条消息,那么这条消息不一定会显示在最顶端,而且如果它出现在比较靠下的位置,那也有可能还没看到这条消息就停止阅读了。...当时,他们已经拥有数十亿的用户指的是拥有Google账号的用户)。怎样才能让Google用户开始使用Google+呢?...实际情况是,活跃的朋友越多越好。事实上,用户活跃程度与朋友圈中活跃朋友的数量之间呈现出了轻微的负面关系。...不幸的是,用户并不知道哪些朋友是活跃的,哪些活跃。 对于Facebook这类对称关注的模型来说,这就不是问题,因为在和对方成为朋友之前,双方必须都处于活跃状态,这样对方才能接受你的邀请。...非对称性关注、极度依赖算法排序、大量活跃账户——这三大因素导致用户发给家人或朋友的消息非常不稳定。在Facebook中,可以和姐姐进行一对一的交流,我们都很确定对方会接收并阅读我们的消息。

    42720

    成为更好程序员的8种途径

    为了避免这种综合症,看看你做的每一种事情,然后问自己:“怎样才能让它变得更好?”   新手(以及很多经验丰富的开发人员)会看着他们自己写的代码,欣赏它的奇妙。...但是一般的程序员在这一点上就退出,然后继续下一件事。   但是一旦“完成”就停止了这种思想就像是拍一张快照,然后期待它是一件艺术品一样。伟大的程序员都知道第一次迭代只是一次迭代。它运行起来了,恭喜你!...想要变得更好,问问自己: 那块代码怎么写呢?既然你已经看到了别人的解决方案,那你会有什么思路呢? 学到了什么?如何将这种技术应用到我过去编写的代码中?...(“从来没有想过可以使用递归下降处理那块的逻辑”)。 如何改进这段代码?如果这是一个开源项目,你对自己的解决方案更有信心,那就去做吧! 以作者的风格编写代码。...如果你觉得做某件事只有一种正确的方式,那可能是时候进行现实核查了。条条框框的限制会妨碍你学习新事物的能力,也会使你很难适应变化。   可以继续前进,但自我提升的关键原则是知道何时停止

    68040

    管理只会影响搞研发

    在将 HashiCorp 打造为一家价值数十亿美元公司的近十年的里,不断重申仍然是一名工程师,如今准备更正式地重新专注于这一点。”Hashimoto 在内部信中表示。...现在 Dadgar 成为公司唯一的 CTO,Hashimoto 向他报告。对此,Hashimoto 表示,“终于又能亲手解决软件工程问题了,这才是真正喜欢的事情。” 但他并不会离开这家公司。...如果你和 Mitchell 谈论你的想法,当你下次见到他时,已经花了一整晚的时间去这个研究问题,并且很可能已经在 GitHub 上创建了一个原型应用程序。”...十几岁时开始使用 Visual Basic、PHP 和 C。...Aerendir Mobile 创始人兼首席执行官 Martin Zizi 认为,CTO 不仅需要与产品和用户保持一致,还需要弄清楚如何做到这一点。”

    20510

    我们公司是如何把项目中的2100个if-else彻底干掉的!

    如果使用else,我们将剩下干净的可读代码。请注意,也将样式更改为快速返回而不是单返回语句-如果已经找到正确的值,继续测试一个值根本没有意义。...也许有人倾向于使用久经考验的If-Else。如果添加新操作,只需简单地添加其他内容即可。很简单 但是,就维护而言,这种方法不是一个好的设计。...可读性已大大提高,并且可以更轻松地推断出代码。 注意,仅出于说明目的将字典放置在方法内部。您可能希望从其他地方提供它。 5.扩展应用程序—完全避免使用If-Else 这是一个稍微高级的示例。...通常,您会发现自己不得不扩展应用程序的某些部分。作为初级开发人员,您可能会倾向于通过添加额外的If-Else(即else-if)语句来做到这一点。 举这个说明性的例子。...正确的方法是遵循SOLID原则的方法-我们通过实施动态类型发现过程(在本例中为策略模式)来做到这一点

    93910

    替换If-Else的5种方法从入门到高级示例

    2、价值分配 如果你要根据提供的某些输入为变量分配新值,请停止使用If-Else,而应采用一种更具可读性的方法。...> If statements with fast return 如果使用else,我们将剩下干净的可读代码。...可读性已大大提高,并且可以更轻松地推断出代码。 注意,仅出于说明目的将字典放置在方法内部。您可能希望从其他地方提供它。 5、扩展应用程序—完全避免使用If-Else 这是一个稍微高级的示例。...通常,您会发现自己不得不扩展应用程序的某些部分。作为初级开发人员,您可能会倾向于通过添加额外的If-Else(即else-if)语句来做到这一点。 举这个说明性的例子。...正确的方法是遵循SOLID原则的方法-我们通过实施动态类型发现过程(在本例中为策略模式)来做到这一点

    4.7K30

    一名普通的程序员进阶成为伟大程序员有哪8种途径?

    为了避免这种综合症,看看你做的每一种事情,然后问自己:“怎样才能让它变得更好?” 新手(以及很多经验丰富的开发人员)会看着他们自己写的代码,欣赏它的奇妙。...想要变得更好,问问自己: 那块代码怎么写呢?既然你已经看到了别人的解决方案,那你会有什么思路呢学到了什么?如何将这种技术应用到我过去编写的代码中?...(“从来没有想过可以使用递归下降处理那块的逻辑”)。 如何改进这段代码?如果这是一个开源项目,你对自己的解决方案更有信心,那就去做吧! 以作者的风格编写代码。...7.尽一切可能做到与其他开发人员面对面的工作 倾听别人的意见是很有帮助的。这可能意味着结对编程,或者参加黑客马拉松,或者加入一个编程用户组(比如Vermont Coders Connection)。...如果你觉得做某件事只有一种正确的方式,那可能是时候进行现实核查了。条条框框的限制会妨碍你学习新事物的能力,也会使你很难适应变化。 可以继续前进,但自我提升的关键原则是知道何时停止

    1.1K80

    成为更好程序员的8种途径

    为了避免这种综合症,看看你做的每一种事情,然后问自己:“怎样才能让它变得更好?” 新手(以及很多经验丰富的开发人员)会看着他们自己写的代码,欣赏它的奇妙。...想要变得更好,问问自己: 那块代码怎么写呢?既然你已经看到了别人的解决方案,那你会有什么思路呢? 学到了什么?如何将这种技术应用到我过去编写的代码中?...(“从来没有想过可以使用递归下降处理那块的逻辑”)。 如何改进这段代码?如果这是一个开源项目,你对自己的解决方案更有信心,那就去做吧! 以作者的风格编写代码。...7.尽一切可能做到与其他开发人员面对面的工作 倾听别人的意见是很有帮助的。这可能意味着结对编程,或者参加黑客马拉松,或者加入一个编程用户组(比如Vermont Coders Connection)。...如果你觉得做某件事只有一种正确的方式,那可能是时候进行现实核查了。条条框框的限制会妨碍你学习新事物的能力,也会使你很难适应变化。 可以继续前进,但自我提升的关键原则是知道何时停止

    58780

    编写 if 时不带 else,你的代码会更好!

    > If statements with fast return 如果使用else,我们将剩下干净的可读代码。...请注意,也将样式更改为快速返回而不是单返回语句-如果已经找到正确的值,继续测试一个值根本没有意义。 3 前提条件检查 通常,发现,如果方法提供了无效的值,继续执行是没有意义的。...也许有人倾向于使用久经考验的If-Else。如果添加新操作,只需简单地添加其他内容即可。很简单 但是,就维护而言,这种方法不是一个好的设计。...通常,您会发现自己不得不扩展应用程序的某些部分。作为初级开发人员,您可能会倾向于通过添加额外的If-Else(即else-if)语句来做到这一点。 举这个说明性的例子。...正确的方法是遵循SOLID原则的方法-我们通过实施动态类型发现过程(在本例中为策略模式)来做到这一点

    66520

    编写 if 时不带 else,你的代码会更好!

    If statements with fast return 如果使用 else,我们将剩下干净的可读代码。...请注意,也将样式更改为快速返回而不是单返回语句 - 如果已经找到正确的值,继续测试一个值根本没有意义。 3 前提条件检查 通常,发现,如果方法提供了无效的值,继续执行是没有意义的。...也许有人倾向于使用久经考验的 If-Else。如果添加新操作,只需简单地添加其他内容即可。很简单 但是,就维护而言,这种方法不是一个好的设计。...正确的方法是遵循 SOLID 原则的方法 - 我们通过实施动态类型发现过程(在本例中为策略模式)来做到这一点。...但是动态扩展应用程序是一个高级主题。 只显示将替换 If-Else 示例的确切部分。如果要查看所有涉及的对象,请查看此要点。 ? 让我们快速浏览一下代码。

    93660

    编写 if 时不带 else,你的代码会更好!

    If statements with fast return 如果使用 else,我们将剩下干净的可读代码。...请注意,也将样式更改为快速返回而不是单返回语句 - 如果已经找到正确的值,继续测试一个值根本没有意义。 3 前提条件检查 通常,发现,如果方法提供了无效的值,继续执行是没有意义的。...也许有人倾向于使用久经考验的 If-Else。如果添加新操作,只需简单地添加其他内容即可。很简单 但是,就维护而言,这种方法不是一个好的设计。...正确的方法是遵循 SOLID 原则的方法 - 我们通过实施动态类型发现过程(在本例中为策略模式)来做到这一点。...但是动态扩展应用程序是一个高级主题。 只显示将替换 If-Else 示例的确切部分。如果要查看所有涉及的对象,请查看此要点。 让我们快速浏览一下代码。

    60130

    编写 if 时不带 else,你的代码会更好!

    > If statements with fast return 如果使用else,我们将剩下干净的可读代码。...请注意,也将样式更改为快速返回而不是单返回语句-如果已经找到正确的值,继续测试一个值根本没有意义。 3 前提条件检查 通常,发现,如果方法提供了无效的值,继续执行是没有意义的。...可读性已大大提高,并且可以更轻松地推断出代码。 注意,仅出于说明目的将字典放置在方法内部。您可能希望从其他地方提供它。 5 扩展应用程序—完全避免使用If-Else 这是一个稍微高级的示例。...通常,您会发现自己不得不扩展应用程序的某些部分。作为初级开发人员,您可能会倾向于通过添加额外的If-Else(即else-if)语句来做到这一点。 举这个说明性的例子。...正确的方法是遵循SOLID原则的方法-我们通过实施动态类型发现过程(在本例中为策略模式)来做到这一点

    70221

    C++之父Bjarne Stroustrup:我会为全球数十亿行 C++ 代码带来一个崭新的解决方案

    当 C++ 社区聚集在科罗拉多州奥罗拉市参加“CppCon”C++ 会议时,Bjarne Stroustrup 在一场演讲中向观众承诺,将首先明确编程语言所需的安全措施的具体类型,“然后将向大家展示几十年来我们一直在这方面努力的成果...但 Stroustrup 希望看到 C++ 的内容表达受到限制,事实上,设想了一种仍然遵守语言 ISO 标准的解决方案。“我们需要它是 C++。...“建议你采用基于模块的控制。”幻灯片展示了它在代码中的工作机制。...Stroustrup 放了一包含 11 个新关键字的幻灯片,说道:“这里从语法方面总结了如何做到这一点。” “这项工作正在进行中,”Stroustrup 告诉观众。“有相关论文,你可以去查一下。...(“的理想是像 Profiles Light 这样的东西,它提供了配置文件的大部分保证,但没法大包大揽,因为静态分析器还无法做到这一点。”)

    21010

    如何从一名普通的程序员进阶成为一名优秀的程序员

    为了避免这种综合症,看看你做的每一种事情,然后问自己:“怎样才能让它变得更好?” 新手(以及很多经验丰富的开发人员)会看着他们自己写的代码,欣赏它的奇妙。...想要变得更好,问问自己: 那块代码怎么写呢?既然你已经看到了别人的解决方案,那你会有什么思路呢? 学到了什么?如何将这种技术应用到我过去编写的代码中?...(“从来没有想过可以使用递归下降处理那块的逻辑”)。 如何改进这段代码?如果这是一个开源项目,你对自己的解决方案更有信心,那就去做吧!...7.尽一切可能做到与其他开发人员面对面的工作 倾听别人的意见是很有帮助的。这可能意味着结对编程,或者参加黑客马拉松,或者加入一个编程用户组(比如Vermont Coders Connection)。...如果你觉得做某件事只有一种正确的方式,那可能是时候进行现实核查了。条条框框的限制会妨碍你学习新事物的能力,也会使你很难适应变化。 可以继续前进,但自我提升的关键原则是知道何时停止

    36320

    Flask-Login文档翻译

    活跃用户或许不能登录进去(除了被强制的过程)。 is_anonymous 这个特性应该返回True,如果这是一个匿名用户。...当他们的会话被销毁且他们通过“记住”cookie登录回来时,会被标记为“活跃”。login_required区分活跃,对大部分页面友好。然而,敏感的行为比如改变一个私人信息,则需要活跃登录。...(当然,你必须使用活跃登录登入机制) 如果标识符在strong模式不能匹配非永久会话,然后整个会话(并且记住令牌 如果它是存在的)会被删除。...默认是False force(bool)——如果用户活跃的,设置这个为True将不用管这些直接登录。默认的是False....可以被方便的全局关闭认证当单元测试的时候。想开启这个,如果应用程序配置环境变量LOGIN_DISABLED被设置为True,这个修饰器将会被忽视。

    2.1K40

    C++ 之父 Bjarne Stroustrup:我会为全球数十亿行 C++ 代码带来一个崭新的解决方案

    当 C++ 社区聚集在科罗拉多州奥罗拉市参加“CppCon”C++ 会议时,Bjarne Stroustrup 在一场演讲中向观众承诺,将首先明确编程语言所需的安全措施的具体类型,“然后将向大家展示几十年来我们一直在这方面努力的成果...但 Stroustrup 希望看到 C++ 的内容表达受到限制,事实上,设想了一种仍然遵守语言 ISO 标准的解决方案。“我们需要它是 C++。...“建议你采用基于模块的控制。”幻灯片展示了它在代码中的工作机制。...Stroustrup 放了一包含 11 个新关键字的幻灯片,说道:“这里从语法方面总结了如何做到这一点。” “这项工作正在进行中,”Stroustrup 告诉观众。“有相关论文,你可以去查一下。...(“的理想是像 Profiles Light 这样的东西,它提供了配置文件的大部分保证,但没法大包大揽,因为静态分析器还无法做到这一点。”)

    35610

    真正的加密采用对加密基础设施的要求是什么?

    Ngako 想改变这一点。作为亚马逊的前软件工程师,已经致力于将比特币教育材料——例如中本聪的白皮书——翻译成 20 多种非洲语言,包括斯瓦希里语、绍纳语和 Oshiwambo。...Machankura 仍处于早期测试阶段,但 Ngako 表示它已经活跃使用了六个月,将这样的解决方案设想为吸引更多非洲人的一种方式,认为早该采用这种方式。...Ngako 说:“从采用的角度来看,比特币目前没达到其应该在的位置,”他指出,2007 年推出的数字(非加密)支付平台 Mobile Money 在肯尼亚拥有 600 万活跃用户,为什么比特币不能做同样的事情...人权基金会首席战略官兼著名比特币倡导者Alex Gladstein说:“目前的任务是让尽可能多的人自行保管他们的比特币,现在,我们不需要为比特币进行任何花哨的软件升级来做到这一点。”...例如,如果一家汽车制造商使用公共智能合约从供应商处购买轮胎,链上交易可能会被竞争对手发现。Brody 说:“企业供应链的细节非常非常敏感,这就是为什么供应链项目在公共区块链上几乎不可能”。

    35020

    如果有机会重来,你还愿意做iOS开发嘛~

    把自己当做app最重要的用户这一点非常重要。 曾问Tapbots的开发者Paul Haddad,最爱的app是哪一款,告诉的最爱正是自己的app,Tweetbot。并不是想自我吹嘘。...开发出来的东西是每天都想用的东西。这是我们每个人在开发应用时都应该做到的。 2.与真正的用户交流 作为开发者,很多时候我们不好意思跟目标受众交流。 编程是一种天赋,也是一种诅咒。...Jake想要了解用户是如何做出消费决定的,从而让自己的app更好地满足用户的需求。当有人面对两款牛仔裤犹豫决时,希望能够了解这个人是如何做出买或者不买的决定的。...Jake想要做出一款能够让用户实时了解他们花多少钱的app来。这款app不像它的竞争对手那样信息杂乱而冗余。唯有通过与用户对话,才搞清楚了什么信息和功能是需要在app中呈现的。...人们熟知的“一夜成名”的那些人,其实大都从事app开发10年左右了,如果你去问任何一个顶尖的游戏开发者,他们都会告诉你,即使一分钱赚,他们也不会停止游戏开发的脚步。

    41130

    数百次采访后,总结了 2021 年最好用的区块链开发框架

    你肯定希望人们能轻松地查看你的智能合约并与之互动,因此你需要随时对其进行验证,以便其他人可以做到这一点。...一定要在你的应用程序使用它。 create-eth-app 拥有一大堆后端智能合约诚然很不错,但是如果没有人可以使用你的 dApp,那这些合约将毫无价值。...上面说过,每个人都应该使用 OpenZeppelin 工具是有原因的。他们就是很好用。 如果他们不停止这个项目,那么他们的 SDK 很容易成为前四名的框架。...它活跃的时候看来是一个非常强大的项目,而且似乎仍然可以在本地开发中使用,但是建议用它替代前三个选项。...小结 活跃的 JS 框架 技术:JavaScript,Web3.js 区块链:本地 /Ganache,测试网,主网 有测试 维护:活跃 支持:活跃 开源 如果你觉得错过了什么框架或在哪里弄错了,

    62020
    领券