倾城博客

优质网站同好者周刊(第 066 期)

倾城之链作为一个开放平台,旨在云集全球优秀网站,探索互联网中更广阔的世界。此周刊,将汇聚过去一周倾城所收录的内容,以飨同好;欢迎推荐或自荐(仅限有独立域名的网站,可以是二级域名)。您如果要了解收录要求,请参见关于倾城

备注:本周刊每周五生成,首发于个人微信公众号晚晴幽草轩、博客晚晴幽草轩,以及悠然宜想亭社区;此一键生成脚本基于 Deno 编写,并在 Github 开源:nicejade/nicelinks-weekly

Welcome to Python.org

标签编程语言 · Python · 编程

关键字:Python programming language object oriented web free open source software license documentation download community

The official home of the Python Programming Language

倾城之链 - Welcome to Python.org

推荐语Python ,是一种易于学习又功能强大的编程语言,可让您快速工作并更有效地集成系统。它提供了高效的高级数据结构,还能简单有效地面向对象编程。它优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本,以及快速开发应用的理想语言。

Python 在诞生之初,因为其功能不好,运转功率低,不支持多核,根本没有并发性可言,在计算功能不那么好的年代,一直没有火爆起来,甚至很多人根本不知道有这门语言。随着时代的发展,物理硬件功能不断提高,而软件的复杂性也不断增大,开发效率越来越被企业重视,因此,Python 逐渐得到越来越多开发者的亲睐;在 12~14 年,云计算升温,大量创业公司和互联网巨头挤进云计算领域,Python 就此异军突起;随后几年,备受关注的人工智能、机器学习、数据科学、机器人,其首选开发语言也是 Python。至此,Python 炙手可热,成为最受欢迎编程语言之一。

Python 不仅入门容易、功能强大;而且适用领域极为广泛;对于前端工程师而言,使用它能够很容易构建 Web 应用,依托于它强大的功能库,也能快速打造些趁手工具;随着大前端的日益演进,在完成模块化、工程化之后,走向自动化、智能化也是必然趋势;鉴于这一点,则更有必要对 Python、算法、数学等加以学习。如果您对 Python 感兴趣,可以参见 与时俱进版资源教程 | Python

── 出自倾城之链 - Welcome to Python.org

Nawvel

标签聚合 · 分享 · 效率

Build an audience by sharing links

倾城之链 - Nawvel

推荐语Nawvel,是一个创新型社区,即由现代图书馆员和合成器更新的图书馆,旨在发现资源集合并建立您的生活手册;他们探究和收录优质资源,从而将优质内容聚合起来,给到社区成员,以达到节省时间的目的。其初衷是:如今互联网每天有数百亿的帖子内容,🙃 其中 99.99% 对于用户您来说,都是冗余信息;只有 0.01% 可以改变你的生活。💔 在互联网的混乱中找到优质资源,已经变得非常困难。😭 谷歌搜索是一项技能,很容易在现有平台上陷入自己的推荐循环。因此,Nawvel 得以建立,它是一个由制作者、创作者和合成器组成的社区。🦍 该团队在官网上,称花费 1000 小时进行研究,花费 1000 美元用于资源,并分享他们发现的最好的东西,来节省您的时间。

Nawvel, 是什么?它是一个称为章节的资源集合库。创作团队希望:让您更轻松地参与自我引导的资源发现和在线学习。他们分享精心策划、经过尝试和测试的资源,让您更轻松地深入研究有关制作产品(初创公司)和内容(创作者)的各种酷主题。并围绕 3 个支柱构建了 Nawvel:

  • 💚 让管理资源路径变得更容易:作为一个策展人社区,Nawvel 团队希望减少连接有意义的资源,并在以后重新访问它们的痛苦。(接下来,他们会推出浏览器扩展)。
  • 💚 更容易发现有意义的资源:Nawvel 团队消耗大量资源并整理资源,如视频、播客、博客,并与行业领先的创作者保持同步。
  • 💚 以学习者为中心:Nawvel 团队希望您花更少的时间去发现和做更多的事情。您不必阅读每个博客、观看每个视频、收听每个播客。相反,它是关于找到合适的并开始工作(人们并不缺乏学习的动力。他们缺乏发现可以改变他们生活的有意义的资源)。

有初步体验 Nawvel,使用非常简单,只需基于账号登录,设定名字和头像,就能来到其 discover 页面,有 60 多个不同方向主题/章节(多是与互联网相关),每个主题/章节下有汇聚些资源,直接链接于外部网站。另外值得一提的是,您可以建立属于自己的章节(chapters),可自由设置为公开(public)或私有(private);在您的章节(chapters)中,您可以添加资源(Resources),只需填写标题跟链接即可;如此一来,就相当于有了「网络书签」功能;整体来看,这 Nawvel 与本站倾城之链设计哲学很相似,感兴趣的朋不妨了解下。

── 出自倾城之链 - Nawvel

Code to Image Converter

标签代码 · 工具 · 美图

关键字:codetoimg, codeimg, image, code, developer, developer tool, image generator, code snippets, snippets, code to image, converter, image converter, convert code to images, code to img, code image

Code to Image converter is a beautifully designed application that helps you generate beautiful and customizable images of your code snippets. This is built for the developer by the developer. If you want to share your code with anyone or on any social media this is the application you need.

倾城之链 - Code to Image Converter

推荐语Code to Image Converter 是一个设计精美的应用程序,可帮助您生成漂亮且可自定义的代码片段图像,诸如背景色、模糊程度、阴影、字体、padding、代码行号、编程语言等,都是可以自行调节的。这是由开发人员为开发人员构建的。如果您想与任何人或在任何社交媒体上共享您的代码,这就是您需要的应用程序。值得一提的是,该项目在 Github 开源,您可以基于 Docker 或 Docker-compose 快速将其部署于自己的服务器。同类的产品还有 Carbonray.so,基于这样的小工具,可帮助创建和分享源代码美丽图像,在写 PPT 时,用来展示关键代码,非常实用。

── 出自倾城之链 - Code to Image Converter

Fengari

标签Lua · 框架 · 编程

关键字:Fengari, Lua, Lua VM, JS, ES6, Node, browser, 浏览器, 协程, 编码, 嵌入

🌙 φεγγάρι - The Lua VM written in JS ES6 for Node and the browser

倾城之链 - Fengari

推荐语Fengari ,(希腊文中的月亮 🌛Moon)是用 JavaScript 编写的 Lua VM,以浏览器为主要目标(当然也可以用于 Node.js )。它使用 JavaScript 的垃圾收集器,因此与 DOM 的互操作性是无泄漏的。它带有一个简单的模块,可以使与 JavaScript 和 DOM 的任何交互变得透明:

local js = require "js"
local window = js.global
local document = window.document

print("Document's title: " .. document.title)

浏览器中运行 Lua,意味着您可以使用协程,来编写漂亮的异步代码,示例如下:

local js = require "js"
local window = js.global

local function sleep(delay)
    local co = assert(coroutine.running(), "Should be run in a coroutine")

    window:setTimeout(function()
        assert(coroutine.resume(co))
    end, delay*1000)

    coroutine.yield()
end

coroutine.wrap(function()
    print "Going to sleep now..."

    sleep(3)

    print "Sleep well?"
end)()

Fengari 的目标是 100% 符合最新的 Lua 语义。它尽可能接近 Lua 的代码库,如果你熟悉它,你会很容易理解 Fengari。目前已涵盖 Lua 99% 的范围,因此您应该能够运行任何 Lua 项目,只需稍作调整。

使用 C API(而不是 JS API),您可以决定用 Lua 编写所有内容,或者将其用作调用 JS 代码库来完成繁重工作的高级语言。这也意味着您可以将您的代码隔离在单独的绝缘 Lua 状态中。您还可以使用 fengari-interop 模块直接从您的 Lua 代码与 JS 端进行交互。它确保操作 JS 对象或函数始终按照您期望的方式运行。值得一提的是,Fengari 这个网站,其逻辑代码即采用 Lua 编写,而 JS 仅用于创建 Lua 状态并运行主脚本。

事实上,在浏览器中,使用 JavaScript 以外的语言,已经是业界潜在已久的共识(愿望);而且已经有很好的方案,诸如 Web Assembly,但距离在生产环境中可用,看起来还有很长的路要走,并且仍然不允许与所有 Web api 进行完全交互。鉴于类似及相关诉求考量,于是该团队便有了 Fengari 这个项目,详情可参见:为什么我们用 JS 重写 Lua

── 出自倾城之链 - Fengari

The Programming Language Lua

标签编程语言 · Lua · 编程

关键字:lua, language, extension, embedding, configuration, scripting, rapid prototyping, free, source, portable

Official web site of the Lua language

倾城之链 - The Programming Language Lua

推荐语Lua 是一种轻量小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由 Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo 三人所组成的研究小组于 1993 年开发的。用标准 C 语言编写,代码简洁优美,并以源代码形式开放,几乎在所有操作系统和平台上都可以编译,运行。其设计目的是为了通过灵活嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua 有一个同时进行的 JIT 项目,提供在特定平台上的即时编译功能。Lua 具有一下特性:

  • 轻量级: 它用标准 C 语言编写并以源代码形式开放,编译后仅仅一百余 KB,可以很方便的嵌入别的程序里。
  • 可扩展: Lua 提供了非常易于使用的扩展接口和机制:由宿主语言(通常是 C 或 C++)提供这些功能,Lua 可以使用它们,就像是本来就内置的功能一样。
  • 其它特性:
    • 支持面向过程(procedure-oriented)编程和函数式编程(functional programming);
    • 自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;
    • 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;
    • 通过闭包和 table 可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。

Lua 脚本可以很容易的被 C/C++ 代码调用,也可以反过来调用 C/C++的函数,这使得 Lua 在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替 XML、ini 等文件格式,并且更容易理解和维护。 一个完整的 Lua 解释器不过 200k,在所有脚本引擎中,Lua 的速度是最快的。这一切都决定了 Lua 是作为嵌入式脚本的最佳选择。

鉴于 Lua 有如上特性,因而在以下应用场景,得到了广泛的应用:

  • 游戏开发;
  • 独立应用脚本;
  • Web 应用脚本;
  • 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench;
  • 安全系统,如入侵检测系统;

Lua 的目标是:成为一个很容易嵌入其它语言中使用的语言,事实上它做到了。毕业后第一家公司,从事移动设备棋牌类游戏开发,便是实用 Lua 作为主要语言,来写业务逻辑,配合自制引擎绘制页面等等。Lua 上手十分简单,比于 JavaScript 有过之无不及,感兴趣的朋友不妨了解下。

── 出自倾城之链 - The Programming Language Lua

对倾城之链感兴趣的朋友,可通过 Web,小程序,快应用等渠道进行访问(后续将支持更多,如 VsCode 插件,Chrome 扩展等)。您有任何问题,欢迎随时向我们反馈(您可以通过官网反馈渠道,或添加如下客服微信),🤲 。

倾城之链 - 客服微信

本期文末寄语

缓慢的、持久的、有纪律的努力,最终会导致令人难以置信的结果。每当我无法忍受日常生活时,我就提醒自己,没有什么比每天坚持做下去更重要了。虽然我很难看到未来会怎样,但我知道持久性具有强大的威力,就像一句古老格言说的"继续去做"(keep doing)。── 网络 · 佚名

倾城之链作为一个开放平台,旨在云集全球优秀网站,探索互联网中更广阔的世界;在这里,你可以轻松发现、学习、分享更多有用或有趣的事物。

小程序码 - 倾城之链

您可能感兴趣的文章