2017-01-06 11:00:00
本文介绍了如何为Onion Omega2物联网设备编写一个Python脚本,用于在OLED屏幕上显示系统信息,如IP地址和内存使用情况。文章详细说明了所需的硬件和软件,包括Omega2设备、OLED显示屏、Python和OLED模块。作者还展示了如何编写脚本以获取和显示这些信息,并解释了如何设置脚本在设备启动时自动运行。通过这种方式,用户可以方便地监控系统状态。
2017-01-06 11:00:00
本文介绍了如何为Onion Omega2物联网设备编写一个Python脚本,用于在OLED屏幕上显示系统信息,如IP地址和内存使用情况。文章详细说明了所需的硬件和软件,包括Omega2设备、OLED显示屏、Python和OLED模块。作者还展示了如何编写脚本以获取和显示这些信息,并解释了如何设置脚本在设备启动时自动运行。通过这种方式,用户可以方便地监控系统状态。
2017-01-06 06:55:08
Android Things是谷歌推出的一种Android版本,旨在开发嵌入式物联网设备。它基于Android生态系统,支持多种硬件平台,如Intel Edison、NXP Pico i.MX6UL和Raspberry Pi 3。Android Things提供了专门的SDK和库,简化了硬件操作和驱动开发。然而,由于缺少完整的Android应用和内容提供者,其功能相对有限。此外,Android Things在UI和集成方面存在一些局限性,例如缺乏Weave集成和Google服务支持。尽管如此,它为开发者提供了熟悉的开发环境和丰富的库资源,降低了嵌入式开发门槛。
2017-01-06 00:00:00
作者强调,在开源项目中,开发者们鼓励用户直接参与问题解决和功能实现。用户遇到问题时,应尝试自己修复并提交补丁,而不是期待他人代劳。作者认为,通过解决实际问题,用户不仅能够帮助项目,还能提升自己的技能。尽管可能存在困难,但通过学习新技能和资源,用户完全有能力参与其中,从而为个人和社区带来积极影响。
2017-01-05 21:00:00
TypeScript 2.1 引入的破坏性变更中,扩展内置对象如Error、Array和Map可能不再有效。例如,使用`class FooError extends Error`时,构造的子类对象可能缺少方法,导致调用`sayHello`出错,且`instanceof`检查可能失败。文章提出了一种解决方案,通过使用`Error.captureStackTrace`和`util.inherits`创建自定义错误类,确保错误处理正确无误。
2017-01-05 20:33:39
Node.js发布了v6.9.4版本,这是一个特殊的补丁版本,由于v6.9.3版本发布后,发布服务器上的tarballs被覆盖,导致shaums不同,因此进行了无变更的semver补丁发布。该版本支持多种平台,包括Windows、macOS、Linux等,并提供不同架构的安装包和二进制文件。同时,还提供了源代码和文档链接。
2017-01-05 20:02:13
Node.js发布了v4.7.2版本,这是一个特殊的补丁版本,由于在发布v4.7.1后,发布服务器上的tarballs被覆盖,导致不同的shasums。因此,为了消除任何混淆,进行了没有变更的semver补丁发布。提供了Windows、macOS、Linux等多个平台的安装包和二进制文件下载链接,以及源代码和文档。
2017-01-05 20:00:00
本文探讨了I/O多路复用模型中的`select`机制及其问题。作者指出,`select`机制存在设计上的缺陷,如重量级操作和可扩展性问题,导致性能下降。文章通过实验展示了当多个进程共享同一个套接字时,`select`机制如何引发“雷鸣般的人群”问题,并介绍了`epoll`和`EPOLLEXCLUSIVE`作为解决方案。作者认为,从根本上重新思考套接字多路复用机制,采用类似`kqueue`和`IOCP`的接口,才是更优的解决方案。
2017-01-05 19:23:07
2018年,StackShare Awards根据大量数据分析了数千个技术栈、百万次访问和开发者评论,评选出了年度最佳开发者工具。JavaScript因其在前端框架(如React和Angular)和后端Node.js的广泛应用而成为最受欢迎的语言。Bootstrap、Node.js、nginx、AngularJS和PHP等工具也位列前茅。此外,Google Analytics、Postman、Elasticsearch、SendGrid和Amazon Route 53等实用工具,以及GitHub、Docker、Atom、Jenkins和npm等DevOps工具,也备受开发者青睐。Slack、G Suite、Trello、WordPress和Intercom等业务工具,以及Parse-Server等新工具,也在榜单中占有一席之地。
2017-01-05 11:00:00
在本文中,作者Nic Raboy介绍了如何在NativeScript移动应用中实现国际化(i18n)支持,以便用户能够使用自己的母语访问应用。他使用Angular框架和ng2-translate库来展示如何创建一个支持多语言的应用。文章首先介绍了国际化的重要性,然后详细说明了如何创建一个NativeScript Android和iOS应用,并添加了翻译文件。接着,作者展示了如何使用Angular Translate库在应用中实现翻译功能,并提供了相应的代码示例。最后,作者总结了国际化对应用成功的重要性,并鼓励开发者添加多语言支持以扩大用户基础。
2017-01-05 03:00:00
本教程介绍了如何使用JWT(JSON Web Tokens)在Node应用中实现基于令牌的认证,并进一步展示了如何在Angular中添加认证功能。教程首先回顾了JWT的基本概念和优势,然后逐步构建了一个Angular应用,包括创建认证组件、服务以及处理用户登录、注册和状态验证。教程还涉及了如何使用localStorage存储令牌以实现用户会话的持久化,以及如何设置路由限制以确保只有认证用户才能访问特定页面。最后,教程鼓励读者继续学习和尝试使用不同的后端技术。
2017-01-04 22:47:56
Flickr通过多种技术手段降低了存储成本。文章指出,Flickr用户每天上传的照片数量巨大,存储成本高昂。为了降低成本,Flickr采取了调整存储阈值、扩展现有节省方法以及部署无损JPG压缩等措施。这些措施帮助Flickr在2016年全年未购买任何新的存储硬件。此外,Flickr还在探索其他优化方案,如冻结不活跃用户的照片、使用更高效的图像格式等,以进一步降低存储成本。
2017-01-04 21:00:00
自杜塞尔多夫的trivago软件工程部门成立公会以来,已有一年时间。目前,我们拥有三个活跃的公会:PHP、JavaScript和UX/UI。这些公会旨在打破知识孤岛,通过共享经验和知识,提高团队协作效率。文章强调了公会的重要性,并分享了在公会运作中的一些经验教训,如透明度、协调、选择合适的主题和避免可避免的问题。通过这些努力,trivago的工程文化得到了提升,团队协作更加紧密,软件质量得到改善。
2017-01-04 21:00:00
Serverless Framework v1.5.0版本发布,新增了AWS IoT事件触发Lambda函数的功能,支持Cognito用户池授权API Gateway端点,并允许在安装服务时重命名。此外,还进行了多项增强和错误修复。用户可通过Serverless Examples Repository了解实际应用案例。
2017-01-04 21:00:00
MoonMail是一款基于AWS的无服务器架构的电子邮件营销平台,旨在提高企业与其订阅者之间的沟通效率。该平台采用单页应用和微服务架构,通过Lambda函数和DynamoDB实现事件驱动和无限可扩展性。MoonMail的用户可以免费发送高达62,000封邮件,同时提供专业版以满足更多需求。MoonMail的开放源代码版本已在GitHub上发布,欢迎开发者贡献和用户试用。
2017-01-04 11:45:00
Amazon的DynamoDB虽然易于设置且具有无限可扩展性,但高吞吐量存储成本较高。Localytics通过优化去重模式,显著降低了存储成本。文章介绍了如何通过使用前缀/后缀模式、条件写入、集合类型和自动数据老化策略,将存储成本从每月60,100美元降至每月1,820美元。这种方法通过限制索引大小、允许数据自动老化以及优化数据结构,实现了成本的大幅降低。
2017-01-04 06:00:00
GoCardless致力于为开发者提供强大的API和直观的开发者体验。文章介绍了公司如何通过自动化工具保持API文档和库的更新,以及如何构建新的开发者网站,包括添加代码示例和“入门”指南,以帮助开发者快速上手。此外,文章强调了细节关注和用户反馈在提升开发者体验中的重要性,并展望了未来将推出更深入的仪表板内开发者体验。
2017-01-04 03:00:00
《编程在21世纪》博客即将结束,作者最初希望探讨与编程相关的软性话题,如创意和灵感,但最终转向了更技术性的主题。作者认为“程序员”这一称呼限制了他的视野,他更愿意将技术用于创造有趣的事物。博客中包含了许多关于编程、创意、Erlang和复古游戏的文章。随着作者完成了他的写作目标,他决定结束这个博客,专注于技术带来的乐趣。
2017-01-03 22:00:00
随着2017年的到来,使用安全的SSL连接变得尤为重要。Google将从搜索结果中惩罚未使用SSL连接的网站。CloudFlare提供免费的全局SSL服务,只需简单几步,包括添加网站、配置DNS和设置重定向规则,即可实现SSL加密。此外,还需确保网站内容不包含混合内容,并迁移外部资源链接。CloudFlare不仅提供免费的SSL支持,还提供多种优化,使网站运行更快。整个过程简单快捷,几分钟内即可完成。
2017-01-03 21:13:29
Node.js发布了v4.7.2版本,这是一个针对v4.7.1版本的小版本更新,主要修复了构建、REPL、定时器、assert、async_wrap、benchmark、build、crypto、debugger、doc、repl、test、tools等模块的bug,并优化了文档和测试。同时,该版本增加了对AIX平台的共享库支持,并对多个平台提供了安装包和二进制文件。
2017-01-03 21:02:08
Node.js发布了v6.9.4版本,这是一个针对v6.9.3版本的小版本更新,主要目的是修复发布过程中出现的文件覆盖问题。新版本中包含了对AIX平台共享库支持的修复,npm和V8的更新,以及多个模块和工具的改进。此外,还进行了大量的文档更新和测试改进。用户可以通过提供的链接下载不同平台的安装包和源代码。
2017-01-03 21:00:00
在处理日期和时间问题时,UTC(协调世界时)和本地时间之间的差异是关键。在.NET中,`System.DateTime`和`System.DateTimeOffset`类用于表示时间,但需要明确它们的`DateTimeKind`属性。`DateTime`需要额外指定UTC或本地时间,而`DateTimeOffset`则包含本地时间和UTC偏移量,便于转换。选择哪个类取决于具体需求,但重要的是确保在跨系统交互时保持时间的一致性,并制定明确的文档和指南。
2017-01-03 21:00:00
本教程旨在帮助Linux管理员将服务器上的SSH安全事件(如SSH会话、认证尝试等)集中收集。使用SumoLogic存储和搜索聚合日志,以及Teleport SSH访问解决方案,可以轻松搜索“谁做了什么以及何时”,并配置在发生不良事件时发出警报。Teleport不仅记录用户身份,还能与流行的身份提供者和工具集成。教程概述了设置Sumo Logic Docker收集器和配置SumoLogic仪表板以查看SSH访问日志的步骤。通过Teleport,管理员可以收集所有机器的事件,并使用Sumo Logic进行存储和搜索,从而实现更有效的SSH会话管理和安全监控。
2017-01-03 21:00:00
安娜·杜布科娃,伦敦Red Badger的软件工程师,介绍了如何使用Serverless Framework编写自定义插件。文章首先解释了插件如何简化重复性任务和解决特定问题,接着通过实例教学如何创建插件,包括定义命令、生命周期事件和钩子。文章强调了插件作为类、命令定义、生命周期事件和钩子的重要性,并提供了实现示例。通过这些步骤,读者可以学会如何编写自己的Serverless插件,以增强日常部署的效率。
2017-01-02 21:00:00
IBM Bluemix是一个云平台即服务(PaaS)解决方案,它支持多种编程语言,包括Swift,并简化了开发流程,如网络、服务器、存储和软件依赖管理等。本文通过教程介绍了如何使用Bluemix和Kitura框架来创建和部署Swift应用程序。首先,介绍了如何在Bluemix上设置环境,包括创建应用、配置服务器和启用持续集成。接着,详细讲解了如何使用Swift Package Manager和Kitura框架来构建一个实用的服务,该服务能够解析cron表达式并返回人类可读的描述。最后,展示了如何将应用程序部署到Bluemix上,并提供了相关的操作步骤和注意事项。通过本文,读者可以了解如何利用Bluemix和Kitura框架快速开发并部署Swift服务器端应用程序。
2017-01-02 21:00:00
Teleport与Tigera合作,确保其私有Kubernetes部署支持Calico,以实现安全、策略驱动的网络。Teleport基于Kubernetes,旨在提供灵活、安全、可靠的内部服务通信。Calico因其成熟的系统、良好的扩展性和易于管理的特性,成为Kubernetes网络的首选。Tigera的协助缩短了Teleport的市场推出时间,并提供了多种网络选项,包括直接对私有云基础设施的连接和跨公共云区域的路由。此外,Calico还增强了Gravity用户的应用程序安全性。
2017-01-02 21:00:00
网页标题显示为“# This page has moved...”,提示页面已移动。若用户未自动跳转,则需点击链接进行重定向。文章内容简洁,主要告知用户页面已迁移,并提供了跳转链接。
2017-01-02 21:00:00
欧洲最大的黑客和技术社区会议——混沌计算机大会(Chaos Computer Congress)在德国汉堡举行,今年是第33届(简称33C3)。会议期间,众多精彩的演讲和展示吸引了众多参与者。个人最喜欢的主题包括技术、嵌入式/物联网、柴油门事件、游戏、监控、太空、黑客技术、安全与漏洞、政治、社会与世界,以及闪电演讲等。
2017-01-02 11:00:00
为了确保WordPress博客的安全,作者Nic Raboy介绍了一种使用Linux脚本备份WordPress数据库和文件系统的方法。该脚本通过mysqldump备份数据库,使用tar命令打包网站文件,并定期通过crontab执行。这种方法虽然不是增量备份,但可以提供完整的网站快照,有助于在数据丢失时恢复。作者强调,尽管有各种备份插件可用,但手动备份有时能让人更安心。
2017-01-01 21:00:00
本文深入探讨了操作系统中双故障(double faults)的概念及其处理方法。文章首先解释了双故障的定义,即当CPU无法调用异常处理程序时发生的特殊异常。接着,文章通过实例展示了如何触发双故障,并解释了未处理双故障可能导致的三重故障(triple fault)及其后果。为了防止三重故障,文章介绍了如何设置中断描述符表(IDT)中的双故障处理程序。此外,文章还讨论了双故障的触发原因,包括内核堆栈溢出等情况。为了解决这些问题,文章提出了使用中断堆栈表(IST)和任务状态段(TSS)的方法,以确保在双故障发生时,CPU能够切换到预定义的已知良好堆栈,从而避免三重故障。最后,文章概述了下一步的工作,即探索外部设备(如定时器、键盘和网络控制器)产生的中断。
2017-01-01 21:00:00
作者开发了一个名为GoReleaser的工具,用于自动化构建和发布Go语言编写的应用程序。该工具支持跨平台构建,并能自动生成和更新Homebrew公式。通过简单的配置文件,GoReleaser可以轻松集成到持续集成流程中,简化了发布过程。作者已在多个项目中使用GoReleaser,并计划添加更多功能,如Bintray支持、创建Linux包和构建钩子,以进一步提升其实用性。