2018-02-24 14:38:24
比特币等加密货币试图在去中心化的数字系统中建立信任,通过“工作量证明”算法实现分布式共识,防止恶意行为。然而,这种模式消耗大量资源,可能导致事实上的集中化。尽管比特币市场潜力巨大,但参与挖矿可能并不划算,因为市场效率高且无门槛。加密网络技术可能具有互联网般的深远影响,但当前仍处于早期阶段,需要长期视角看待。
2018-02-24 14:38:24
比特币等加密货币试图在去中心化的数字系统中建立信任,通过“工作量证明”算法实现分布式共识,防止恶意行为。然而,这种模式消耗大量资源,可能导致事实上的集中化。尽管比特币市场潜力巨大,但参与挖矿可能并不划算,因为市场效率高且无门槛。加密网络技术可能具有互联网般的深远影响,但当前仍处于早期阶段,需要长期视角看待。
2018-02-24 00:00:00
作者长期致力于开源软件项目,但一直难以将其作为全职工作。近期,他通过多个捐赠平台获得了稳定的收入,足以覆盖基础设施成本,并开始考虑全职投入开源项目。他设定了每月6000美元的目标,以实现财务安全和满足生活需求。作者强调,随着捐赠收入的增加,他计划降低目标,并期待未来能为开源社区贡献更多。
2018-02-23 21:00:00
本文探讨了两种重要的数据结构:栈和队列。首先,通过模拟文档编辑中的“撤销”和“重做”功能,介绍了栈的使用,它遵循后进先出(LIFO)的原则。接着,以机场安检行李传送带为例,解释了队列的应用,它遵循先进先出(FIFO)的原则。文章还讨论了如何为具有不同优先级的行李实现一个优先队列,并简要介绍了使用堆来实现更高效的优先队列。通过这些实例,作者强调了通过实际应用来学习数据结构的重要性。
2018-02-23 02:00:00
在本文中,我们学习了EcmaScript 6(ES6)中的两个新特性:字符串方法和解构赋值。字符串方法如`startsWith()`, `endsWith()`, `includes()`和`repeat()`使字符串解析更加直观,而解构赋值则允许我们从对象、数组、映射和集合中提取数据时编写更少的代码。文章通过实例展示了如何使用这些特性,并讨论了它们在提高代码可读性和维护性方面的作用。同时,也提到了在使用这些特性时需要注意的细节,如区分代码的简洁性和可读性,以及谨慎修改JavaScript原型。
2018-02-23 01:05:01
Node.js发布了v9.6.1版本,这是一个针对v9.6.0版本中可能存在的重大回归问题的修复版本。主要修复了`events`模块中`usingDomains`默认值从`true`改为`false`的行为变更,现在已恢复为`false`。同时,提供了多种操作系统的安装包和二进制文件下载链接,包括Windows、macOS、Linux等,以及源代码和文档链接。
2018-02-22 21:00:00
本文探讨了在软件开发中使用状态机来简化复杂逻辑的方法。文章指出,许多领域模型最终都会包含各种状态,而这些状态之间的转换逻辑往往分散在多个方法中,导致难以理解和修改。通过将领域模型视为状态机,可以保持模型的可理解性和可操作性,从而简化复杂性。文章详细介绍了状态机的概念,包括状态、转换和事件,并通过一个银行账户的例子展示了如何使用状态机来管理账户状态。此外,文章还讨论了如何将状态机描述编译成可执行的代码,以及如何通过组织代码来分离责任,使每个方法只关注实现单个状态的行为。
2018-02-22 21:00:00
GoReleaser开发者为了解决fpm的不稳定性和复杂性,开发了NFPM(Not FPM),一个使用Go语言编写的简单、可预测的软件包构建工具。NFPM可以作为库使用,也可以作为二进制文件安装,支持生成deb和rpm软件包。NFPM的设计借鉴了`database/sql`包,允许用户根据需要添加或导入不同的打包器。目前,NFPM主要用于生成deb和rpm包,未来可能支持更多格式。随着GoReleaser的更新,fpm将被NFPM取代,以简化发布流程。
2018-02-22 21:00:00
《Cisza w sieci》一书由Michał Zalewski所著,探讨了网络中的沉默现象。该书通过深入分析,揭示了网络沉默背后的社会心理和现象,为读者提供了对网络交流中沉默现象的深刻理解。
2018-02-22 21:00:00
软件工具行业未能有效提升开发者构建软件的效率。尽管过去30年软件开发技术取得了巨大进步,但软件构建的复杂性和成本并未显著降低。云服务虽然解放了开发者从服务器管理中解脱出来,但并未消除许多原始的复杂性。作者认为,Serverless技术有望通过抽象基础设施、提高代码复用性和数据访问性,大幅提升开发效率。目前,Serverless技术正逐渐发展,有望实现更高效、更便捷的软件开发。
2018-02-22 21:00:00
《Cisza w sieci》一书由Michał Zalewski所著,探讨了网络中的沉默现象。该书通过深入分析,揭示了网络沉默背后的社会心理和现象,为读者提供了对网络交流中沉默现象的深刻理解。
2018-02-22 14:03:37
Node.js v9.6.0版本更新中,主要改进包括:废弃不安全的`emitBefore`和`emitAfter`方法,重命名`PromiseWrap.parentId`为`PromiseWrap.isChainedPromise`,更新`node-inspect`和ICU库,增加`http.createServer()`的选项,支持动态导入(dynamic import),允许通过信号编号杀死进程,以及改进文档和测试等。同时,提供了不同操作系统的安装包下载链接。
2018-02-22 02:45:52
React在2017年被评为最佳开发者工具,2018年热度持续上升。StackShare团队整理了2月份的10篇React相关文章,包括React最新版本的变化、UI组件、开源项目、Context API、PWA构建、开发工具、教程等,旨在帮助开发者跟上React的最新动态。StackShare News是获取React新闻的最佳平台,用户可以定制自己的新闻源,关注感兴趣的工具。
2018-02-22 00:00:00
本篇文章是关于使用wlroots从头开始编写Wayland合成器的系列文章的第二篇。文章介绍了如何使合成器接受Wayland客户端连接,并展示了如何通过添加socket和设置环境变量来启动Wayland服务器。文章还介绍了如何使用weston-info连接到服务器并查看全局接口,以及如何通过wlroots实现各种协议。此外,文章还提到了如何添加输出设备全局接口,以便屏幕截图客户端能够使用。下一篇文章将介绍表面(surfaces)的概念,并使用它们来渲染第一个窗口。
2018-02-21 21:00:00
为了获得更好的浏览体验,请确保您的浏览器已启用JavaScript。若需要帮助启用,请点击链接获取指导。
2018-02-21 11:20:56
Kinvolk团队自豪地宣布,他们已成为Kubernetes认证服务提供商。这意味着他们拥有至少3名认证的Kubernetes管理员,并具备为各公司提供开发和运营服务的良好记录。Kinvolk凭借其核心Linux知识和在云计算基础设施项目中的应用经验,与云原生社区中的领先公司合作,致力于构建与Linux最佳集成的云基础设施技术。他们期待与Kubernetes社区中的更多合作伙伴继续合作。如需了解更多信息或寻求帮助,请通过电子邮件联系他们。
2018-02-20 22:00:00
本文介绍了如何使用Angular框架创建一个自定义指令,根据当前认证用户的权限显示或隐藏页面元素。通过实现一个名为`*hasPermission`的指令,可以检查用户是否具有特定权限,从而控制元素的可见性。文章详细解释了如何使用`ngIf`和`ngFor`指令的语法,并展示了如何通过逻辑运算符进行权限检查,包括逻辑“与”和逻辑“或”。此外,文章还强调了在浏览器端进行权限控制的安全性考虑,指出真正的权限检查应在服务器端完成。
2018-02-20 21:00:00
为了获得更好的浏览体验,请确保您的浏览器已启用JavaScript。若需要帮助启用,请点击链接获取指导。
2018-02-20 12:00:00
最新一期《多语言开发者播客》聚焦于在无服务器云平台上部署函数的开发与部署,特别介绍了Apache OpenWhisk,并提及了AWS Lambda和Azure Functions等云服务。本期播客由IBM云函数团队的Carlos Santana参与,播客可在各大播客平台收听,并提供相关链接以获取更多信息。
2018-02-20 09:19:00
本篇文章探讨了多种技术主题。首先,介绍了使用共享字符串来优化Ruby性能的方法,通过避免重复内存分配来提升效率和减少内存消耗。接着,讲述了如何利用Chef、Terraform和Rundeck自动化Cassandra的扩展,以支持150个节点。文章还涵盖了容器模式,包括从伪装主机到多阶段构建,以及侧车容器和运行时挂载源等。此外,介绍了strace工具,它可以帮助分析程序的系统调用,用于诊断程序挂起或失败的问题。最后,文章提供了前端面试手册,分享了有趣的前端问题,并讨论了使用CSS窃取数据的攻击和防御方法,以及NGINX HTTP2服务器推送功能。
2018-02-20 06:00:00
三月份,GoCardless团队将活跃于英国及海外多场活动。在参与这些活动前,团队刚刚参加了二月末的Techies和Quickbooks Connect伦敦站。三月份,团队将出席Accountex Summit North '18、Sage Sessions伦敦和布里斯托尔站、Subscribed Stockholm等活动,并在Intech 2018、Innovate Finance Global Summit、Future of Utilities等会议上发表演讲,分享GoCardless在支付领域的创新和成功案例。
2018-02-19 21:00:00
本学期,作者在麻省理工学院教授用户界面设计与实现课程,课程中包含Web开发内容。作者从零开始设计了新的实验室,将实验室数量从2个增加到3个,但仍然觉得难以在6小时内涵盖所有重要内容。作者分享了课程幻灯片,适用于Web开发初学者但具备技术背景的学生。幻灯片包含代码示例和解释,适用于Firefox和Safari浏览器,推荐使用Chrome浏览器。作者希望这些材料对他人有所帮助,但无法提供技术支持或修复问题。
2018-02-19 21:00:00
为了获得更好的浏览体验,请确保您的浏览器已启用JavaScript。若需要帮助启用,请点击链接获取指导。
2018-02-19 21:00:00
本文探讨了在软件开发中,过度抽象和泛化代码可能带来的问题。作者指出,虽然追求代码的通用性和抽象层次可以避免因业务需求变化而导致的函数签名破坏,但这种做法可能导致更严重的工程问题。作者认为,应该避免编写泛化代码和添加额外的抽象层,而应专注于编写精确、清晰、一致和高效的代码。通过减少、简化代码库,精确的代码可以减少误用、提高对欺诈的防御能力,并使测试和调试更加准确。文章还通过一个代码审查的例子,展示了如何通过重构代码来提高其可读性和可维护性。总结来说,作者主张开发者应追求代码的精确性,以实现更清晰、一致和高效的软件开发。
2018-02-19 21:00:00
本文介绍了如何使用无服务器架构创建ETL(提取、转换、加载)作业服务。通过Python编写代码,从公共API获取数据,并将其存储在AWS Redshift数据库中。服务每小时自动运行一次,并使用Chart.io进行数据可视化。文章详细说明了设置AWS Redshift、创建无服务器项目、安装依赖、编写ETL处理代码、测试和部署服务的过程。此外,还强调了使用无服务器架构的成本效益,即按需付费,无需维护专用基础设施。
2018-02-19 20:00:00
作者回顾了自己过去一年每天骑自行车上班的经历。由于新公寓离工作地点更近,他开始几乎每天都骑自行车上班。相比公共交通和开车,骑自行车让他感觉更有活力,有助于区分工作和私人生活。作者享受骑行的自由和自然风光,同时提到自行车的一些不便,如天气变化和偶尔的故障。总结来说,骑自行车上班成为他生活中的一部分,让他感到愉悦和健康。
2018-02-19 12:00:00
本文介绍了在Go语言应用中使用crypto包进行数据加密和解密的方法。首先,通过MD5哈希算法将密码转换为32字节密钥。接着,使用AES算法和GCM模式进行数据加密,并生成随机nonce。解密过程与加密类似,但需要正确分离nonce和数据。文章还提供了加密和解密文件的示例代码,并强调了加密与哈希的区别。
2018-02-19 06:00:00
GoCardless高度重视客户数据保护,积极响应即将实施的欧盟通用数据保护条例(GDPR)。为符合新规定,GoCardless调整了政策、流程、产品和系统,并致力于帮助客户满足GDPR要求。GDPR扩大了数据主体的隐私权,对处理个人数据的组织施加了更多义务。GoCardless通过数据映射、流程分析、产品调整、合同审查和员工培训等措施确保合规。此外,GoCardless还推出了隐私计划,旨在将数据保护原则融入公司运营的每个环节。
2018-02-19 05:00:53
本文介绍了在TypeScript中如何使用Monads(一种编程概念)来简化代码,特别是处理可能为空的结果。文章以一个简单的员工层级结构应用为例,展示了如何使用Monads来避免嵌套的if语句,提高代码的可读性和健壮性。通过创建一个名为“Maybe”的类型,可以封装可能为空的结果,并使用“map”和“flatMap”操作来处理这些结果。这种方法使得代码更加简洁,易于维护,并能够优雅地处理各种边缘情况。
2018-02-19 05:00:00
为了鼓励更多客户使用直接借记支付,商家可以采取多种策略。首先,通过提供激励措施,如产品、服务或折扣,将节省的成本转嫁给客户。其次,强调直接借记的便利性,如一次性设置后无需再次操作,有助于客户更好地预算。此外,商家应坦诚说明直接借记对业务效率的提升,并突出其安全性。最后,通过优化支付页面,提供灵活的签约方式,如在线、纸质表格或电话,以及定期提醒,可提高直接借记的使用率。
2018-02-18 21:00:00
Cerner公司第十届ShipIt Day活动于12月14日至15日举行,18支团队争夺金杯。活动从最初的团队小型黑客马拉松发展成如今涵盖整个工程部门的季度性活动,促进了跨团队和跨组织的思想交流。本次ShipIt Day以构建基于Cerner Terra UI主题的React应用程序为主题,并引入了新类别以表彰使用这些项目的团队。活动期间,团队展示了各种创意项目,其中“Delayed Gratification”队获得第一名,他们的项目“RUSS test”旨在帮助服务所有者做出明智的地理位置决策。ShipIt Day已成为Cerner最受欢迎的开发文化事件之一,并计划于3月8日至9日再次举行。