最新技术选型
最新技术选型
语言
- 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/rancher
-
Docker 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,它既可以读写数据,还能操作工作表,比如生成柱状图等。
参考文档: