从 VSCode 看大型 IDE 技术架构
谈起 Web IDE,没人能绕开 VSCode,它非常流行,同时又完全开源,总共 350000 行 TypeScript 代码的巨大工程,使用了 142 个开源库。市面上选择基于 VSCode 去修改定制的 IDE 比比皆是:Weex Studio、白鹭Egret Wing、快应用IDE... 我希望从 VSCode 身上看到什么? 大型复杂 GUI 软件(如 IDE 类)如何组织功能模块代码如何使用 Electron 技术将 Web 软件桌面化如何在打造插件化开放生态的同时保证软件整体质量与性能如何打造一款好用的、流行的工具软件 一、VSCode 是什么 官方定义 https://code.…
数据分析网址
数据可视化工具 百度EChartshttp://echarts.baidu.com/Cytoscapehttp://www.cytoscape.org/图表秀http://www.tubiaoxiu.com/数据观http://shujuguan.cn/微博足迹可视化http://vis.pku.edu.cn/weibova/weibogeo_footprint/index.htmlBDP个人版https://me.bdp.cn/home.html魔镜http://www.moojnn.com/图表秀https://www.tubiaoxiu.com文图https://www.wentu.io…
thumbnail
瞎折腾之搭建Theia
Theia(全名Eclipse Theia)是一个可扩展的平台,用于使用最新的Web技术开发多语言的云端和桌面的 IDE 展示 耗费1天的时间终于在树莓派中把theia 搭了起来,期间出了各种错误,特此整理一下 环境 node 12.15.0 yarn 1.22.11 依赖 electron 9.1.0 (桌面端需要) keytar native-keymap 安装这几个包时简直了,, # 首先down代码 git clone https://github.com/eclipse-theia/theia # 完成后 cd ./theia yarn all yarn start browser …
thumbnail
前端Web组态工具整理
现在系统可视化需求越来越大,本文整理几个目前最热的前端Web组态工具。 1.mxgraph: 介绍:开源免费,但是需要解决的问题很多,国内学习参考资料少。但是,可视化组态的实现基本都是借助于这个框架来实现的。 演示demo:Grapheditor mxgraph官方文档API:mxCell 最大的交流社区:Diagram Software and Flowchart Maker 交流社区2:Newest 'mxgraph' Questions github:GitHub - jgraph/mxgraph: mxGraph is a fully client side JavaScript di…
整理就像治愈
趁着周末,想打扫一下卫生,先是扫地拖地,接着又忍不住把整个洗手间都清理了一次。到了阳台晒东西的时候,突然又觉得阳台也想要清一下,最后连厨房都想搞了…… 真的是一旦开始就停不下来,一下子把自己搞得快要累趴,感觉需要休息一下,吹着风扇坐在椅子上放空。 打扫卫生,就是一件很神奇的事情。一开始你可能不想搞,可是当你行动起来,你会发现所有的地方都值得更干净整理。 就像我们做整理一样,很多东西看起来很难整理,根本不想动,可是一旦你行动起来整理一个角落,你会发现家里其他角落已经配不上你整理的这一个小角落了,就恨不得把整一个房间都整理一次,而当你体验上这种整洁舒服的生活之后,就一定不会想要再回到过去了! 我们…
BuildMaster
BuildMaster是一个应用程序发布自动化工具,它结合了构建管理和ARA功能,可以管理和自动化主要与持续集成,数据库更改脚本和生产部署相关的流程,从而可靠地全面发布应用程序。该工具基于浏览器,可以“开箱即用”使用。 BuildMaster 是一个应用程序发布自动化工具,由软件开发团队 Inedo 设计。它结合了构建管理和 ARA 功能,可以管理和自动化主要与持续集成,数据库更改脚本和生产部署相关的流程,从而可靠地全面发布应用程序。该工具基于浏览器,可以“开箱即用”使用。 BuildMaster 的功能集和范围使其与 DevOps 保持一致运动,并被称为“不仅仅是一个发布自动化工具。它汇集了…
thumbnail
404页面收藏
一个有创意的404页面是用户对网站的一种新发现。它可以把令人不怎么愉快的场景变得轻松起来,还可以让用户知道在哪儿可以获得帮助。
WordPress 5.8更新后小工具报错
WordPress 5.8更新后小工具编辑报错。报错信息:xxx区块受错误影响,可能无法正常运行。请检查开发者工具以了解更多详情。解决方法:安装Classic Widgets 插件,恢复到经典编辑器
Js下载流文件(Blob)
function blobDownload(data, filename) { var fileName = filename || (new Date()).getTime() var blob = new Blob([data]) // ie 10+ var navigator = window.navigator var userAgent = window.navigator.userAgent if (navigator.msSaveBlob) { window.navigator.msSaveOrOpenBlob(blob, fileName) return } var l…
ios Date对象
ios不支持 new Date('2020-09-18 16:30') 会返回NaN 需要转化为 new Date('2020/09/18 16:30') // 正则转换 ('2020/09/18 16:30').substring(0, 10).replace(/-/g, "/")
thumbnail
HTTP 身份验证
http,身份验证,token,www-authenticate,authorization,proxy-authorization,401,403,407,axios,postman,basic,服务端
地址管理
chrome,调试,chrome://inspect/#devices
thumbnail
Nginx命令
Nginx 是一个免费、开源、高性能、可伸缩、可靠、功能全面且流行的 HTTP和反向代理服务器,一个邮件代理服务器,以及通用的 TCP/UDP 代理服务器。 Nginx 的配置很简单,资源消耗低。连 Github、SoundCloud、Dropbox、Netflix、WordPress 等 高流量站点都在用它。 所有接下来的 Nginx 命令都必须以 root 或 sudo user 的身份执行,并且必须在近代的 Linux 发行版上执行,比如 CentOS,RHEL, Debian, Ubuntu 和 Fedora。 安装 Nginx 服务 根据你的系统,选择对应的命令来安装: sudo y…
thumbnail
树莓派4 资料整理
树莓派4(Raspberry Pi 4 Model B)是一个全面的升级,几乎涉及到每一个元素。树莓派官方称第一次为大多数用户提供类似PC的性能水平,同时也保留了经典的树莓派接口功能。本文汇总了树莓派4的一些资料,供大家学习和免费下载
阿里云是干什么的?
阿里云是干什么的? 世事安稳,岁月静好。 电影里才有疯子。麦克墨菲在疯人院里带领一群精神病人揭竿而起,怼天怼地;饿了三天的黑皮为了抢一口面包被店主追上高架桥,末路狂奔;杰克和泰勒在午夜的搏击俱乐部里挥拳相向,鲜血淋漓。屏幕对面,我们把爆米花塞进嘴里,哭成狗或者笑成狗。电影散场,各自回家。
thumbnail
Vue插件总结
UI组件 框架 element – 饿了么出品的Vue2的web UI工具套件mint-ui – Vue 2的移动UI元素iview – 基于 Vuejs 的开源 UI 组件库Keen-UI – 轻量级的基本UI组件合集vue-material – 通过Vue Material和Vue 2建立精美的app应用muse-ui – 三端样式一致的响应式 UI 库vuetify – 为移动而生的Vue JS 2组件框架vonic – 快速构建移动端单页应用vue-blu – 帮助你轻松创建w…
thumbnail
Mongo操作
备份与恢复 mongodump -h 127.0.0.1 -d admin -o c:\ mongorestore -h 127.0.0.1:27017 -d shopAdmin C:\Users\thelm\Desktop\admin
thumbnail
Git操作
1. 本地分支重命名 git branch -m oldbranchname newbranchname 2. 远程分支重命名 (假设本地分支和远程对应分支名称相同) a. 重命名远程分支对应的本地分支 git branch -m old-local-branch-name new-local-branch-name b. 删除远程分支 git push origin  :old-local-branch-name c. 上传新命名的本地分支 xuelian@Lenovo-PC MINGW64 ~/git/centricOS0629 (master_quartz) git push origi…
thumbnail
js工具
拼接url + data function getUrl(url, data){ let str = (JSON.stringify(data) === '{}')?'':'?' Object.keys(data).forEach((item,kIndex) => { Object.values(data).forEach((value,vIndex) =>{ if(kIndex === vIndex){ str += item + '=' + value +( kIndex === Object.keys(data).length-1 && vIndex == Object.…