【后端开发】Next.js 13.4:前端开发的游戏规则改变者!
Vercel最近推出了NextJs 13.4稳定版,作为服务客户端前端框架。
但我们更感兴趣的是,这将如何改变网络开发流程。😉
很多人会把它与Php进行比较,或者说“这就是我们10年前在Php中所做的”,答案有点复杂。
PHP实际上是一种服务器端编程语言,主要用于服务器端处理和生成动态web内容。PHP本身并不直接与前端交互,也不提供客户端交互。为了实现前端交互或实时更新,Ajax或JavaScript等附加技术通常与PHP结合使用。
【桌面应用开发】Tauri是什么?
Tauri是一个帮助开发人员为主要桌面平台制作应用程序的工具包,几乎可以使用现有的任何前端框架。核心是用Rust构建的,CLI利用Node.js使Tauri成为一种真正的多语言方法来创建和维护优秀的应用程序。
如果您想了解更多技术细节,请访问简介。如果你想了解更多关于这个项目的理念,请继续阅读。
安全第一
在当今世界,每个诚实的威胁模型都假设用户的设备已经受到威胁。这让应用程序开发人员陷入了一个复杂的境地,因为如果设备已经处于风险之中,该软件如何可信?
纵深防御是我们采取的方法。我们希望您能够采取一切可能的预防措施,最大限度地减少您给攻击者带来的表面面积。Tauri允许您选择要交付的API端点,无论您是否希望在应用程序中内置本地主机服务器,它甚至在运行时随机分配功能句柄。这些和其他技术形成了一个安全的基线,为您和您的用户提供了能力。
游戏的名称是通过使静态攻击变得极其困难并将系统彼此隔离来减缓攻击者的速度。如果你来自Electron生态系统,请放心,默认情况下,Tauri只运送二进制文件,而不是ASAR文件。
通过选择以安全为指导力量建设Tauri,我们为您提供了采取积极安全态势的一切机会。
【快速应用开发】看看RedwoodJS
将整个堆栈带到JAMstack
几天前,我在浏览Hacker News时,看到了一篇有趣的帖子,标题是“Redwood:一个用于JAMstack的集成、全栈JavaScript web框架”。评论中有一些有趣而生动的讨论——我建议你去看看。
我最近完成了RedwoodJS教程,其中涉及构建一个简单的博客应用程序。在这篇文章中,我将分享一些关于我与红木公司合作的初步想法。
概述
让我们先来看看自述中对红木的官方描述(增加了重点):
“Redwood是一个固执己见、全栈、无服务器的web应用程序框架,它将允许您轻松构建和部署JAMstack应用程序。想象一下,一个由CDN静态交付的React前端,它通过GraphQL与您在世界各地的AWS Lambdas上运行的后端进行通信,所有这些都只需一个git推送即可部署——这就是Redwood。
通过为您做出大量决策,Redwood可以让您着手研究应用程序的特殊之处,而不是浪费时间选择和重新选择各种技术和配置。此外,由于Redwood是一个合适的框架,您可以在一段时间内以最小的工作量持续进行性能和功能升级。”
【开源软件】最好的开源软件-2022-第28名 EleutherAI
GPT-NeoX-20B是一个新的200亿参数的自然语言处理模型,由早期GPT-J的发行商EleutherAI创建,这是一个60亿参数的模型。与OpenAI的GPT-3相比,这些模型可能看起来很小,GPT-3有1750亿个参数,但它们使用LAMBADA、Winogrande、Hellaswag和其他数据集取得了强大的基准测试结果。你可以测试GPT-J的句子完成,并执行更高级的NLP任务,如翻译和分类。
EleutherAI推动开源如此强大的模型的背后是什么?该项目的创始人之一Conor Leahy解释道,“我们必须把人工智能视为思维与我们不同的奇怪外星人。”目标是让尽可能多的研究人员能够使用这项技术,这样我们就可以学会如何控制它。
——Isaac Sacolik
【开源软件】最好的开源软件-2022-第27名 Stable Diffusion
Stable Diffusion是一个文本到图像的人工智能模型,可以生成质量惊人的图像。该项目成立仅两个月,就如野火般蔓延,世界各地的爱好者已经在对原作进行改进,以加快生成速度,在内存较低的GPU上运行,并增加内画和外画支持。他们甚至在M1驱动的MacBooks上运行了Stable Diffusion。
Stability.ai花了60万美元训练这个模型,并立即将其作为开源(与OpenAI的DALL-E形成对比)。虽然这样的模型肯定会引发人们对数据集管理和创建NSFW图像的能力的担忧,但几乎可以肯定的是,这项技术最好掌握在每个人手中,而不仅仅是少数几家大公司手中,无论是为了推进研究,还是为了在未来几年创作艺术作品。——Ian Pointer
【开源软件】最好的开源软件-2022-第26名 Accelerate
如果只需添加四行代码,就可以将大规模的分布式训练和推理添加到任何PyTorch代码中,会怎么样?Huggingface的Accelerate开箱即用,允许您通过简单的配置开关使用TPU设备或微软的DeepSpeed优化等功能。是的,您可以使用分布式训练、分片并行和梯度积累等技术,在十亿参数规模上训练深度学习模型,所有这些都由Accelerate库在幕后处理。确保大模特的培训不仅限于行业中的重量级人物,这对多样性和实验性很重要,因此看到Accelerate成为PyTorch生态系统的一部分令人振奋。
——Ian Pointer
【开源软件】最好的开源软件-2022-第25名 nbdev
使用Jupyter或Google Colab等环境进行笔记本编程的一个肮脏秘密是,它产生了一些你见过的最糟糕的意大利面条代码,数据科学家从一个Cell跳到另一个Cell,造成了无法维护的混乱。有些人甚至说,笔记本编程可能和GOTO当年一样有害。nbdev拥抱笔记本编程的好处,并试图减轻坏处。
nbdev是fast.ai的一个支持Git的Jupyter笔记本驱动的开发平台,它为数据科学家提供了所需的探索自由,但也能够在同一个笔记本内轻松创建带有文档的模块,是的,甚至可以进行适当的测试。你会发现它在Netflix和Lyft等公司使用,当然还有fast.ai,它们使用nbdev创建了fast.ai库的新版本。
——Ian Pointer
【开源软件】最好的开源软件-2022-第24名 JAX
谷歌广受欢迎的开源TensorFlow机器学习平台的创新包括自动微分(Autograd)和用于深度学习的XLA(加速线性代数)优化编译器。JAX同样来自谷歌,是另一个将这两种技术结合在一起的项目,它在速度和性能方面提供了相当大的好处。当在GPU或TPU上运行时,JAX可以替换其他调用NumPy的程序,但它的程序运行得更快。(Autograd引擎可以自动区分原生Python和NumPy代码。)此外,将JAX用于神经网络可以使添加新功能比扩展TensorFlow等更大的框架更容易。
——马丁·海勒
【开源软件】最好的开源软件-2022-第23名 Apache Druid
Apache Druid是一个实时分析数据库,通过Kafka、Kinesis和其他平台的流摄取,提供亚秒查询、高并发性以及实时和历史见解。该技术建立在10年的发布、400多名贡献者和分布式数据存储架构的基础上,该架构结合了数据仓库、时间序列数据库和搜索系统的思想。包括Netflix、Salesforce和沃尔玛在内的数千家公司使用Druid为分析应用程序提供支持。用例包括点击流分析、风险和欺诈分析以及供应链分析。开发人员可以查看Apache Druid的介绍和成功故事的电子书,开始学习。
——Isaac Sacolik
【开源软件】最好的开源软件-2022-第22名 Apache Iceberg
Apache Iceberg是一种用于大型分析表的高性能格式,它将SQL表的可靠性和简单性带到了大数据中,同时使Trino、Spark、Sonar、Presto、Hive、Flink和Impala等引擎能够同时安全地使用相同的表。Iceberg支持灵活的SQL命令来合并新数据、更新现有行和执行有针对性的删除。它可以急切地重写数据文件以获得读取性能,也可以使用删除增量以获得更快的更新。Iceberg支持模式进化、自动分区、时间旅行查询、版本回滚和开箱即用的数据压缩。
——马丁·海勒