Axetroy

Results 128 issues of Axetroy

由于某些原因,无法下载go官方包。 此时应该从[官方的Github组织](https://github.com/golang)下载镜像 GO环境变量的设置 ```bash export PATH=$PATH:/usr/local/go/bin export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin export GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin # 自定义GOPATH export GOPATH=$HOME/go/src/github.com/axetroy/lib ``` ### [golang.org/x/text](https://github.com/golang/text) Go text processing support ```bash cd $GOPATH/src/golang/x git clone...

学习

一个开源项目,如何在别人一眼看上去就觉得靠谱,有点逼格。 这是一个值得深思的问题。可能代码不咋地,需要一些东西来装饰。 ### 如果你是开源社区的大牛 那还说什么,强如tj大神,开个仓库就是热门项目 ### Logo Logo即是商标,容易让人记住。也有的彰显着项目用途 比如这个趣图(来自[github.com/tj/node-prune](https://github.com/tj/node-prune)) ![huge](https://pbs.twimg.com/media/DEIV_1XWsAAlY29.jpg) ### Badge 徽章能一眼反映出一个开源项目的状态。比如,测试是否通过,代码覆盖率,依赖关系,兼容性,当前版本,许可文件等 比如[github.com/vuejs/vue](https://github.com/vuejs/vue) 你可以从[shields.io](https://shields.io/)自定义自己想要的徽章 大多数你需要的,有已经定义好了 ### Github的issue/pull request模板 项目根目录下,应该有个``.github``文件夹 - **ISSUE_TEMPLATE.md** (issue模板) ```markdown **I'm submitting a ...** (check one...

学习

## 使用docker-compose组件镜像容器 ```bash docker-compose up docker-compose down ``` ### nginx 托管静态目录 ```yaml version: '3' services: i18n_nginx_static: image: nginx:1.13.8-alpine restart: always working_dir: /home/static volumes: - ./dist:/usr/share/nginx/html ports: - 6098:80 ``` ###...

学习

> 从以前旧博客迁移至此 > 2016-04-07 21:46:42 Typescript是javascript的超集,并且是可以实现强类型的语言。 而且书写方式类似与后台语言,要写接口interface来限定类型。 然后编译成javascript。 javascript是动态类型语言,是弱类型,意味着变量不需要声明类型,不用限制变量的类型,它可以是数字,可以是字符串,可以是对象等等。 好处就是,书写javascript很轻松,坑的地方就是,变量的类型可以改变,可能会引发一些未知的bug。 而在2015年发布了ECMA5,并且以后每年都会发布新版本. 逐渐的模块话,类,以及ECMA7的装饰,正在实现一些javascript预编译的功能,而coffeeScript还没会,就已经被抛弃了。 不禁想,每年一个版本,而且nodejs让javascript可以编写后台,那么以后javascript会不会出现强类型?多线程之类的? 就关于强类型,我处于好奇,写了一段小代码。意在实现javascript的强类型。 代码如下 ```js function proxy(obj) { return function(attr, typeLimit) { let origin = obj[attr]; const type =...

技术

最近在研究P2P技术,奈何相关资料不多,自己琢磨了一下,分享一下学习P2P的一些原理, 以及如何打造一个P2P聊天应用。 这里指的P2P是指**peer to peer**, 点对点的技术, 每个客户端都是服务端,没有中心服务器,不是websocket针对某个connection推送消息。 ### 技术要点 - udp协议 - 节点之间的建立,连接和广播 - 内网穿透,如何能让两个处在内网的节点,相互发现自己的存在,并且建立通信 ### 原理 首先解决的是内网穿透的问题,常见的底层协议tcp,udp,他们各自有优缺点,简单说明一下。 tcp:需要处理粘包问题,双工流通道,是可靠的链接。 udp: 每次发送的都是数据包,没有粘包问题,但是连接不可靠,只能传输少量数据 更加详细的请Google 这里选择udp协议,简单一些。 再下来是内网穿透,先说结论: **两个处于不同内部网络的节点,永远无法发现他们之间的相互存在**,你就算是想顺着网线过去打他都不行。 所有的内网穿透原理无外乎需要一个有公网ip的中介服务器,包括虚拟货币像比特币之类的,所以首先要有一个**创世节点** 在NodeJS中,创建udp服务也很简单 ```javascript const dgram...

学习

每次需要使用忽略 `eslint`/`tslint` 错误的时候,老是记不住,基本都要翻文档,很烦。 所以干脆写那么一个扩展,来帮助我自动补全,岂不美哉! ![ts](https://github.com/axetroy/vscode-comment-autocomplete/raw/master/screenshot.gif) 既然这样了,索性做做成一个通用的,集成比如 `prettier/webpack/jshint/TODO/FIXME`等类似的自动补全。 目前支持语言有: - [x] Javascript/Typescript - [ ] Vue - [x] css/sass/less/scss - [x] HTML/markdown - [ ] JSON/yml/yaml 后续会支持更多语言和工具。 如果有什么建议,欢迎反馈! 最后上地址: [https://github.com/axetroy/vscode-comment-autocomplete](https://github.com/axetroy/vscode-comment-autocomplete)

分享

在工作中,部署前端应用,基本上大家都认同通过 Docker 来部署是最佳实践. 至于为什么,大家可以通过搜索相关的文章. 那么今天就来讲一讲我遇到过哪些痛点以及如何解决的: ### 部署繁琐 基本上工作流都是这样: ```bash # 本地 docker build xxx docker push xxx # 服务器 docker pull xxx docker run xxx # 或者 docker-compose up ```...

技术
分享

开发中,不可能每一个功能都自己亲力亲为。 在这个遍地第三方服务的时代,运用好第三方服务,能够极大的提升应用的健壮性。 接下来记录下在应用中使用的哪些第三方服务: ### eoLinker > eoLinker ™ 平台为您API的生产、运维及质量保障提供了强大且完善的体验网络,以满足您企业产品高速迭代和不断变化的需求。 方便管理/统一RESFUL接口文档。 第三方服务提供的好处就是随时提供的外网访问,可追溯的变更记录,以及便捷的测试环境。 当然,也有很多开源的文档生成工具,通过解析代码注释生成文档,代码=文档。 总体来说,开源工具生成的文档也只是 “能看” ,并不能那么得好用。 况且 eoLinker 是免费服务 **后端用GraphQL的可以忽略** ### bugsnag bugsnag 是一个免费的错误上报平台,免费版已经能满足绝大多数的需求了。 目前已应用到多个项目,真香 ### alinode alinode是阿里云提供的免费Node性能监控平台,发现内存泄漏,性能监控,性能预警,发现慢请求等等功能。 也是我在我司推广而出,也已部署到多个应用 ### 阿里云容器服务...

分享

趁着博客刚刚支持 ``jsfiddle``, 赶紧写一些demo ## 垂直水平居中 ### 通过 line-height 设置单行居中 ## 通过 Tabel 表格元素居中 ## 通过 Flex 布局居中 ## 圣杯布局 ## 侧边栏跟随 ## 返回顶部 ## 铆接点跳转 ## 头部悬浮 ## 聊天气泡 ##...

技术

在使用 JWT 的时候,有没有想过,为什么我们需要 JWT?以及它的工作原理是什么? 我们就来对比,传统的 session 和 JWT 的区别 我们以一个用户,获取用户资料的例子 ### 传统的 session 流程 1. 浏览器发起请求登陆 2. 服务端验证身份,生成**身份验证信息**,存储在服务端,并且告诉浏览器写入 Cookie 3. 浏览器发起请求获取用户资料,此时 Cookie 内容也跟随这发送到服务器 4. 服务器发现 Cookie 中有身份信息,验明正身 5. 服务器返回该用户的用户资料 ###...

技术