最新技术选型
最新技术选型
语言
- Reason 可以让您编写简单,快速和优质的类型安全代码,同时利用 JavaScript 和 OCaml 的生态。
- OCaml is an industrial strength programming language supporting functional, imperative and object-oriented styles. 一种支持功能、命令和面向对象的工业强度编程语言,一种快速、实用且强类型的编程语言
- BuckleScript 不是一个新的编程语言。 它只是将输入的 OCaml,通过一些调整,使其编译为干净、可读的 JavaScript 代码。
- Buck A high-performance build tool,可用于快速编译 Android, iOS, Java, Ocaml, Go 等
- Tree-sitter is an incremental parsing library. 可以解析各种语言的库。
- Julia 可用于人工智能等领域
Utils
加密
crypto-js JavaScript library of crypto standards. 包含几乎所有标准加密库。
bcrypt.js Optimized bcrypt in plain JavaScript with zero dependencies.
egg-bcrypt Based on bcrypt.js for egg.js web framework.
Web 前端(JavaScript, ClojureScript)
Web
微前端 single-spa
Aurelia is a JavaScript client framework for web, mobile and desktop that leverages simple conventions to empower your creativity. 非常全面的前端框架,适合替换 Angular, Angular 学习曲线很陡峭,特殊的魔法太多。 而这个 Aurelia 则更直观简洁,使用最新的 ES6 技术,设计更合理也更易于实践。
Immer Create the next immutable state by mutating the current one. 与 MobX 相同的创建者,中年大叔。
MobX Simple, scalable state management. 超越 Redux 的库,更灵活,更简单,更函数式编程,更响应式编程。中文文档
Tangram Simple, React state management
UmiJS 极快的类 Next.js 的 React 应用框架。
UI
- RSUITE 一套 React 的 UI 组件库
- Aurelia UI Framework A bespoke UI Framework for business applications, 比较专业的 UI 框架,使用 Aurelia 技术。 The MIT License (MIT)
- Materialize A modern responsive front-end framework based on Material Design
- Aurelia Materialize Bridge
- Semantic UI
- aurelia-semantic-ui 开发状态,未到 alpha 版
- TOAST UI Components
- FreePik 免费失量图片
- 进阶攻略|前端最全的框架总结
- UI世界 各种 UI 展示,仅图片,可供设计参考。
Layout & Farewell CSS
- PostCSS A tool for transforming CSS with JavaScrip. 超越 Sass 和 Less 了。通过插件系统,也可以自定义插件,最终可以实现各种需求。
- Some things you may think about PostCSS… and you might be wrong
- It’s Time for Everyone to Learn About PostCSS What It Really Is; What It Really Does
- PostCSS Deep Dive 详细教程
- PostCSS.parts A searchable catalog of PostCSS plugins. 搜 PostCSS 的插件
- es-css-modules PostCSS plugin that combines CSS Modules and ES Imports.
- 如何在react中使用antd+less+css modules
- 精度《请停止css-in-js的行为》
- postcss-preset-env Use tomorrow’s CSS today.
- Yoga Flexible Layouts
CSS in JS
Web 2D
- GCanvas 淘宝开源
- Fabric.js provides interactive object model on top of canvas element. Fabric also has SVG-to-canvas (and canvas-to-SVG) parse. SVG 和 Canvas 互转库。
Web 3D
- G3D 淘宝开源
CSS in js
用户响应
- BindingX 淘宝开源,将用户的操作转化为表达式,直接转化为原生应用,不通过 javascript 中转。
代码检查
- eslint-plugin-jquery Disallow jQuery functions with native equivalents. 如果有人试图使用 jQuery 功能,例如 $.ajax,CI 检查将会失败。
人工智能
App 开发
- AppCelerator
- Framework7
- Taro 一套遵循 React 语法规范的多端统一开发框架
- Chameleon 一套代码运行多端,一端所见
Web 后端
- 命令查询职责分离模式(Command Query Responsibility Segregation,CQRS)
- cheerio core jQuery designed specifically for the server.
Node.js
- 需要底层性能优化时,可以考虑用 Rust
- How to Use Rust with Node.js When Performance Matters
- 其中提到为什么不用 addon 和 nan,如果需要访问 V8/libuv 就适合使用 native addons,否则可以尝试其他更好的方案。
- node-with-rust A demo use Rust from Node.
- Segmentation fault到底是何方妖孽 解释了进程、程序、装载等概念。
- Sequelize ORM 库,用于连接各种关系型数据库,如:MySQL, PostgreSQL, SQLite 和 MSSQL 等。
基于 Egg.js 的技术选型
- Awesome Egg.js
- CNode 源码
- 北斗 Baidou 同构框架 阿里巴巴开源框架
- EggBorn.js 是一款顶级Javascript全栈开发框架。前端采用 Vue.js + Framework7 / Vue Router + Webpack,后端采用Koa.js + Egg.js,数据库采用mysql。
- egg-commerceegg / mysql 开发电商平台 集成支付宝面对面支付、手机网站唤醒APP支付。
- 微信小程序社区全栈解决方案 24小时社区
- AVET 一款更好的构建 React 同构应用框架,结合 Egg.js 和 Next.js,主要特色是服务端渲染,同构 React 应用。 2018年6月7日 注:起步阶段,不成熟,但可以关注发展。
- 接口管理系统 - API Mocker 成熟可用,采用技术:Egg.js, Vue.js, ElementUI, Mock.js, MongoDB, Mongoose, Ramda, ESLint 等。
API tools
- knife4j是为Java MVC框架集成Swagger生成Api文档的工具,前身是swagger-bootstrap-ui,knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案 Gitee库地址
- Why do I need OpenAPI, Swagger or RAML?
- What Is the Difference Between Swagger and OpenAPI?
- Open API and RAML: Better Together RAML as a modeling language and OAS as a description language.
无服务器计算
- Serverless vs 容器:Serverless终将胜出!
- 数K8S无服务器风流人物,还得看Kubeless
- 关于 Serverless 架构及平台选择,你知道多少?
- 使微服务、容器趋向完美——Serverless架构你应当知道的二三事
服务选择
- serverless.com
- kubeless.io 似乎只提供了
- fnproject.io
- hook.io 免费每月 1k 请求,$10 每月 10k 请求。
- spotinst.com 免费 1.5 million 请求,400,000 GB-seconds,没仔细理解到底免费了多少。注册时提示是14天的免费试用。
- webtask.io 免费每秒一个请求。
- IronFunctions - the serverless microservices platform,仅免费全功能 14 天。
- 好雨科技
- DaoCloud 个人用户免费,组织套餐200元/5人/月,后加一人 80元/人/月
打包工具 及 包依赖管理工具
- rollup.js
- webpack.js 中文网
- parcel.js 极速零配置Web应用打包工具
- Comparing Javascript module bundlers : Webpack , Rollup or Parcel
- JSPM - Native ES Modules CDN
抓包 HTTP 调试工具
- NProxy A cli proxy tool specialised in file replacing,使用 JSON 配置代理的规则,非常简洁明了。同时也适合熟悉 Node.js 的开发人员使用。
- Rythem 腾讯 AlloyTeam 开发的基于 Qt 的类似 Fiddler 工具
- whistle 基于Node实现的跨平台web调试代理工具,主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器使用,不同于Fiddler通过断点修改请求响应的方式,whistle采用的是类似配置系统hosts的方式,一切操作都可以通过配置实现,支持域名、路径、正则表达式、通配符、通配路径等多种匹配方式,且可以通过Node模块扩展功能
初步总结分析: Whistle 可能更好用些,功能更全面,而 NProxy 只是命令行工具,功能可能只局限在替换代理,也许未来会有基于它之上的更全面的工具吧。 Rythem 感觉较早,同时基于 Qt ,估计界面不是很好吧。
PHP (动态解释性语言、低效、语法不喜欢)
DevOps
Compile code
- Google Closure Compile 需要用 Java 8 以上版本运行。
CI/CD 持续集成部署
Deploy 部署
云服务
Docker UI
Rancher is an open source software platform that enables organizations to run and manage Docker and Kubernetes in production.
sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancherDocker compose UI is simple,run the below command and wait while Docker pulls the container from the Docker Hub.
docker run \ --name docker-compose-ui \ -p 5000:5000 \ -w /opt/docker-compose-projects/ \ -v /var/run/docker.sock:/var/run/docker.sock \ francescou/docker-compose-ui:1.13.0
消息队列
开发工具
VSCode
Markdown 相关
- mermaid 在 markdown 中插入甘特图、流程图等
Clojure/Script 语言路线
FrontEnd
BackEnd
- MACCHIATO ClojureScript arrives on server.
编译工具
- boot
- shadow-cljs 编译 ClojureScript 代码,需要 JVM 运行,可实现热加载刷新。
- Lumo is a standalone ClojureScript environment that runs on Node.js and the V8 JavaScript engine.
- Lumo: Brightening the Horizons for Clojurescript’ing Lumo 是写命令行脚本不错的选择,通过 cljs 语法写脚本,调用 Node.js 相应系统库的功能,执行几乎所有功能。
- Compiling ClojureScript Projects Without the JVM
- Planck Planck is a stand-alone ClojureScript REPL for macOS and Linux. 并不是编译工具,只是个命令行运行工具。 支持 REPL 功能。
- ClojureScript 入门指南 使用 Lumo 作为 REPL 和脚本的执行工具,使用 shadow-cljs 作为项目的建构工具。
- Figwheel GitHub builds your ClojureScript code and hot loads it into the browser as you are coding!
- Enclose.IO 将应用编译为单个执行文件,支持 node.js, ruby 等,支持跨平台。
GraphQL 技术 参考 GraphQL 学习
- Awesome GraphQL
- Lacinia is a library for implementing Facebook’s GraphQL specification in idiomatic Clojure. Github site
Git 服务
- Gogs
- GitLab
- GitHub
DB 数据库
无服务器数据库
- FaunaDB Facebook 开源无服务器数据库
系统级编程
- 传统是用 C 或 C++,缺点是内存管理易出错,难度大。
- 用 Golang,不过 Golang(和 Erlang 一样)“为服务器端大并发场景设计”的标签太明显(虽然用在非服务器端毫无问题),而且有GC。Golang 是设计云平台的脚本语言, 适合写业务逻辑.
- 用 Rust 是比较好的选择,命令式的,无 GC 的,可以编译成紧凑的高性能的原生二进制代码的“系统编程语言”。
- 为什么我说Rust是靠谱的编程语言
- Servo, the Parallel Browser Engine Project. 用 Rust 语言开发的并发浏览器引擎
商业模式
- 谦太祥和 AICODER 全栈项目实习生组 腾讯课堂
学习资源
- 七天学会NodeJS
- 《Node.js 包教不包会》
- CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
命令行
- Cobra Cli 开发命令行工具的工具,Go 语言的牛X 工具。
- 添加 vi-mode 到 on-my-zsh 中非常简单,只需添加:
plugins=(git vi-mode)即可。
Android
- Litho: A declarative UI framework for Android
- 最灵活的UI控件库:React Native UI Lib
iOS
- ComponentKit A React-Inspired View Framework for iOS
DB, SQL
- PostgreSQL 12,显著提升查询性能,特别是对大数据集,总的空间利用率方面。对 SQL 和 JSON 路径表达式的支持,优化公共表达式(WITH 查询)的执行,以及对生成列的支持等。引入了可插拨的表存取接口,允许开发者在表创建和使用时用不同的存取方式。
会议工具
- Zoom 类似 Skype 的电话会议工具
- 会议室助手 会议室预订助手
- 企业内部微信会议室预订系统
- 免安装,网页和微信实时预订会议
- 微信扫描会议室门口二维码查询预订状态
- 支持 Outlook插件/会议显示
- MRBS is a free, GPL, web application using PHP and MySQL/pgsql for booking meeting rooms or other resources.
绘画工具
- INFINITE STUDIO 手机上的绘画工具,功能强大,收费。
音乐工具
- Overtone Clojure 音乐库
笔记工具
- MDo is a free, open source to-do app built to live inside your editor.
服务
- Mattermost is an open source, self-hosted Slack-alternative. 开源的自建类似Slack聊天服务。
梯子-科学上网
安全工具
- XRAY0.9.0 一款功能强大的安全评估工具
下一代编辑器
之前收集的解决方案大全
- 想了解 Rust 所有权?想深入理解内存机制?请参考此文!
- Rust 如何判断文件为文本文件还是二进制文件
- Headless browser Puppeteer,无头浏览器:
- 可做为浏览器应用程序的自动化测试工具;
- 可编写复杂的数据爬虫;类似 Python 的 Scrapy 框架;
- 自动化网页交互工具,如工作流减少重复劳动; 来自“B站 CodeScript”
- deepin连接罗技蓝牙键盘K380
- 用 Scoop 改善 Windows Powershell
- Markdown 转为其他格式出书的方案:
- GitBook 安装以及使用
- 写作工具的取经之路(Writing Tools Study)
- Pandoc a universal document converter Pandoc 官网,文本格式万能转换库
- 静态网站生成器Hexo、Gitbook、Vuepress、Docsify、Docute、Nuxt
- Docut: Vue based
- Docsify: Vanilla js based
- Vuepress 中文网
- Vercel is the optimal workflow for frontend teams. All-in-one: Static and Jamstack deployment, Serverless Functions, and Global CDN.
- 持续集成服务 Travis CI 教程
- 在 AWS 上设置 CI/CD 管道
- TiKV : A distributed transactional key-value database 分布式事务键值数据库
- CI/CD on Windows
- SINON.JS Standalone test spies, stubs and mocks for JavaScript. Works with any unit testing framework. 独立的 JavaScript 打桩和模拟测试库,可以和任何单元测试框架共同使用。
UI
- vue-element-admin 后台前端解决方案,它基于 vue 和 element-ui实现。
- Vue I18n 文字国际化,日期时间本地化,数字本地化等。
- X-admin 基于 LayUI 的后台前端方案
- [Vue + TS] Watch for Changes in Vue Using the @Watch Decorator with TypeScript
- 基于 Vue+Mint-ui 的 Mobile-h5 的项目说明
bluetoothctl
connect 34:88:5D:9B:6B:E4
React 阵营
- Umi 是可扩展的企业级前端应用框架。
微服务
- BladeX企业级开发平台 商业授权约 3000 元
- Pig,开源的微服务 开发平台 基于Spring Cloud最完美实践
- Jeecg 快速开发平台 Jeecg-Boot 是一款基于BPM的低代码开发平台!采用前后端分离架构: SpringBoot 2.x,Ant Design&Vue,Mybatis-plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码!!有商业授权
- JeeSite 快速开发平台 基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Beetl、Bootstrap)在线代码生成工具,支持 Spring Cloud 架构,分布式,微服务,微内核,信息化领域的专家。 用户数不可超过100个,最大允许10个用户同时在线,核心代码闭源。
- gin-vue-admin 基于gin+vue搭建的后台管理系统框架,集成jwt鉴权,权限管理,动态路由,分页封装,多点登录拦截,资源权限,上传下载,代码生成器,表单生成器等基础功能
- 若依管理系统 暂无 SpringCloud 微服务版
- 云购OS 支付接口服务
- Hasor Framework 类似 SpringBoot 的框架,集成的 DataQL 和 Dataway 很有特点,可以快速实现数据接口,而不需要写代码。
解决分区失误
- TestDisk 英文命令行工具,一步步按提示操作,找到丢失的分区表信息,保存重启就可以了。同样的功能 DiskGenius 也可以实现,有界面更人性化,但是需要收费。
启动光盘制作
CI, DevOps
快速开发
- Strapi Node.js 快速搭建 API 框架
- JeeThink 吉想 SpringBoot、Shiro、Thymeleaf、Vue、Bootstrap 前后端分离
- JeeSite 快速开发平台 SprintBoot + MyBatis + Beetl
- nice-router 第0适合后端程序员的前端小程序开发框架
- DaaS Start Kit React/Java 技术栈,代码和数据云端生成,本地部署低代码平台,手写代码和生成代码目录分离,适合专业开发人员开发长期维护的软件。
- his-biz-suite 用于演示智能化快速开发的系统,一个医院的排班系统,管理医院的科室,收费条目,医生和医生预约,本演示运行于南大通用GBase 8s v8.7之上。
- 免费开源的 JPress 微信商城小程序【官方出品】
- Gatsby 是一个基于 React 的免费、开源框架,用于帮助 开发者构建运行速度极快的 网站 和 应用程序。 鲁迅说: 如果你想用React写一个博客, 就用GatsbyJs吧。
- Gridsome - Vue.js 生态圈下的 Gatsby.js
Nest.js —— Node.js 世界的 Spring
- 一个使用nestjs开发的社区系统,界面优雅,功能丰富😛 目前已完成文章、标签、图书、沸点、评论等功能
- Nest.js 中文网 NestJS从入门到跑路
- nestjs 介绍(二)
前端
Node.js 框架选型
选择 Nest.js,其他的都不用考虑了。
- 如何选择正确的Node框架:Express,Koa还是Hapi?
- 如何选择正确的Node框架:Next, Nuxt, Nest?
- 初期、小规模 Strapi,直连 MongoDB 数据库;或者使用 Nest.js 自己编写后端。
- strapi vs nest js for my next project 有个思路就是使用 Strapi 建表结构,管理基本的 CRUD,依赖 GraphQL 来给前端提供数据,而后期用 Nest.js 来连接数据库,实现复杂的业务逻辑,提供另外一些特殊的业务接口。 问题是二者可以共存在一个项目中吗?可能不行。
- Build a blog with Nuxt (Vue.js), Strapi and Apollo
- Strapi Starter Nuxt Blog
- 后期、大项目 Nest.js,连接 Helon gRPC 微服务云;
- MQTT系列实践二 在EGG中使用mqtt
- 从文档中可以看到 Egg.js 的其他支持(如:MQTT, gRPC 等)通常依赖于第三方的插件,而 Nest.js 官网有非常全面的解决方案。
- Egg.js 企业级框架 很多地方对 TypeScript 的支持并不好,而 Nest.js 是以 TypeScript 为主要支持的。
- 不过 Egg.js 也有 Egg beyond TypeScript 给出了 TypeScript 全面的解决方案。
Service Mesh
- Istio Connect, secure, control, and observe services. Istio 是一种开放式技术,能够为开发人员提供一种无缝连接、管理及保护不同微服务网络的方法,无论是何平台、来源或供应商。Istio 是一种开放式服务网平台,用于连接、保护、控制和观察云平台(例如,IBM Cloud Kubernetes Service 中的 Kubernetes)上的微服务。
- Linkerd adds critical security, observability, and reliability features to your Kubernetes stack—no code change required. 无需更改代码即可为Kubernetes堆栈添加关键的安全性、可观察性和可靠性特性。
- Linkerd 基本功能
- Load balancing:负载均衡算法,它们使用实时性能指标来分配负载并减少整个应用程序的尾部延迟。
- Circuit breaking:自动熔断,将停止将流量发送到被认为不健康的实例,从而使他们有机会恢复并避免连锁反应故障。
- Service discovery:服务发现后端集成,通过删除特定的(ad-hoc)服务发现实现来帮助您降低代码的复杂性。
- Dynamic request routing:动态请求路由和重新路由,允许您使用最少量的配置来设置分段服务(staging service),金丝雀(canaries),蓝绿部署(blue-green deploy),跨DC故障切换和黑暗流量(dark traffic)。
- Retries and deadlines:在某些故障时自动重试请求,并且可以在指定的时间段之后让请求超时。
- TLS:可以配置为使用 TLS 发送和接收请求,您可以使用它来加密跨主机边界的通信,而不用修改现有的应用程序代码。
- HTTP proxy integration:可以作为 HTTP 代理,几乎所有现代 HTTP 客户端都广泛支持,使其易于集成到现有应用程序中。
- Transparent Proxying:在主机上使用 iptables 规则,设置通过 linkerd 的透明代理
- gRPC: 支持 HTTP/2 和 TLS,允许它路由 gRPC 请求,支持高级 RPC 机制,如双向流,流程控制和结构化数据负载。
- Distributed tracing:分布式跟踪和度量仪器,可以提供跨越所有服务的统一的可观察性。
- Instrumentation:支持分布式跟踪和度量仪器,可以提供跨越所有服务的统一的可观察性。
采集
处理 Excel
Python
Python处理excel的第三方库有:xlrd,xlwt,openpyxl等。
- xlrd只能读excel,xlwt只能写excel,
- Openpyxl,它既可以读写数据,还能操作工作表,比如生成柱状图等。
参考文档: