Activeliang's Blog

黄鸿亮的博客


  • 主页

  • 目录

  • 标签

  • 分类

  • 关于

Ruby对接富途牛牛证券自定义TCP协议、Websocket协议的思路

发表于 2020-06-02 | 分类于 Ruby |
富途牛牛是唯数不多的互联网券商,有详细的API文档(同样有开放API的雪盈、老虎)但技术上都没有富途那么专业和强大。 最近刚好要写一个拉取富途行情数据的接口,用来做小工具—价格向右回撤提醒工具,一旦价格符合设定的点立即电话通知我出货。 这些年对过的API接口也不少,一开始我以为能很快用Ruby对接好,但实际上我错了,整整花费了大半个月。借此我也更深入的了解http与tcp之间的关系。自定义的tcp协议要如何对接等。 其实市场上是有其他开源的php/go/java对接好的源代码,但我不信,我就是想要用Ruby来对接….. 文档地址:https://openapi.futunn.com/futu-api-doc/ 文档使用了自定义tcp头 + google Protobuf 协议介绍 这就导致 ...
阅读全文 »

Docker在build生成镜像时使用proxy代理

发表于 2020-06-02 | 分类于 Docker |
正常的Docker在build的时候是不需要设置proxy的 ,但在天朝的程序员在特殊环境中,有时需要一个科学的proxy才能正常的完成构建镜像,而已这和平时的用法有点不一样,记录一下: 12345docker build \--build-arg http_proxy=http://docker.for.mac.localhost:8887 \--build-arg https_proxy=http://docker.for.mac.localhost:8887 \--build-arg npm_install=false \-t local/chrome-docker:0.0.1 . 这里我用的是Mac,我的代理服务的端口是8887,所以proxy的代理地址变成了http://docke ...
阅读全文 »

Webpacker生成自定义index.html文件.md

发表于 2020-03-23 | 分类于 Ruby/Rails |
实践中发现Rails webpacker在使用时,通常也是配置Rails自带的layout一起使用的,不像Vue+Webpack的普通项目,通常都是生成一个入口的html文件,那么Rails这边有没有什么方法也 生成一样的index.html入口文件呢?答案是有的: 首先要添加2个js库: https://www.npmjs.com/package/html-webpack-plugin https://www.npmjs.com/package/html-webpack-harddisk-plugin 在Rails项目的config/webpack目录下新增一个模块js文件: 1234567891011121314151617const HtmlWebpackPlugin = re ...
阅读全文 »

Rails的ActionCable发消息给某个用户和全体广播的方法

发表于 2020-03-07 | 分类于 Ruby/Rails |
Rails的action cable使得用websocket推送变得特别容易实现。 但一直以为有个小需求没有想明白如何实现,有时想私发给某个用户消息,有时又想给所有用户发消息。 俗话说念念不忘必有回响,直到有一天,准备放弃了,突然想到了实现方法。 Action cable是按channel来通信的。那要同时满足这两个条件,只需要建立2条通道,一条是个人通道,一条是广播通道。这样就满足了这两个需求。 123456class CoinfarmDataChannel < ApplicationCable::Channel def subscribe stream_from "coinfarm_data_#{params[:id]}" stream_from ...
阅读全文 »

Rails6.0 Webpacker+Vue用capistrano部署时可能遇到的坑

发表于 2020-01-02 | 分类于 Ruby/Rails |
Rails6.0 添加了webpack的支持,从此要在rails上引用前端库、打包前端资源变得非常的简单,再也不用像之前rails5.0的时候手工添加JS代码到vendor目录了,而是直接通过yarn指令添加前端库。在第一次上手使用rails webpacker并部署到生产环境时还是遇到了不少的坑。 如果你的云服务器很小,是个1G1C的小机机,那很可能在前端编译的时候会爆掉而部署中断。 这时你比较好的解决思路是,在部署的过程中,让编译这个步骤在本地电脑上执行,然后再把编译出来的包上传到服务器上。 在Capistrano部署代码中,可以这样做: 在config/deploy.rb 文件的最后,添加以下代码: 1234567891011121314151617181920212223242 ...
阅读全文 »

Rails Webpacker Vue单页面应用,打印时css样式全部丢失

发表于 2020-01-02 | 分类于 Ruby/Rails |
最近写的一个vue单页面应用,需要用到页面打印功能,奇怪的是在本地开发时打印一切都正常,但部署后,打印出来的页面css全部丢失。排查了很久最后发现是webpacker.yml的一个配置引起的: 当extract_css为true时,部署到生产环境后,会单独分离出一个css文件,这里打印时才会正常显示样式。
阅读全文 »

Webpack+Vue单页面应用push github时自动部署到linux服务器.md

发表于 2020-01-02 | 分类于 Vue |
vue单页面应用,在部署时,直接把打包好的文件搬到服务器上,再添加反射代理,就完成了部署,听起来挺简单,但如果每次修改完代码都要操作一遍的话,内心是拒绝的,于是我需要一个自动部署机制。 目标:每次修改完代码push到github的时候,阿里云服务器自动去github拉最新的代码并且打包好,更新部署最新代码。 其思路是在阿里云服务器上开一个webhook的server,然后github添加一个webhook的事件推送,当有新push时,给阿里云的服务器发送一个通知。阿里云接到通知后,拉新代码,打包,刷新nginx一气呵成。 具体步骤,请参考: https://jimmysong.io/blog/github-webhook-website-auto-deploy/ https://segm ...
阅读全文 »

Rails如何优雅和快速生成API文档

发表于 2020-01-02 | 分类于 Ruby/Rails |
用Rails来写后端API,其实挺方便快捷,并且其自身完备的自动化测试,在不需要打开server的情况下,就能开发出可靠的接口。开发完接口,如果是涉及到多人协作,那这时就需要写API文档了。作为懒是第一生产力的程序员,有没有一种方法让API文档也自动生成呢? 答案是有的! 并且还不少,其中比较出名的是swagger,但测试下来发现,它需要你单独跑一个server并且页面还不是很好看,所以在继续寻找后,发现了一个漂亮好用轻量的方法: gem dox 优点: 可以与rspec结合,跑一遍测试的同时,把文档也顺带生成了 可以只生成一种API Blueprint language的标记性文档 把文档上传到apipry.io这样的开源工具后,就能生成一份漂亮的在线文档 自动添加各种语言的调用示 ...
阅读全文 »

rails webpacker添加UI library框架部分组件无法正常工作

发表于 2019-09-18 | 分类于 Ruby/Rails |
Rails webpacker + element ui 会出现 table无法正常显示的问题。换成vue-ant-design框架也一样有部分组件无法正常使用。 关键是也没有报任何错! 折腾几天后准备弃坑,最后在见官方raills webpacker里的例子用的是vuetify框架,所以准备换vuetify,就是在换的过程中无意间找到了解法。 编辑config/webpack/environment.js: 编辑app/javascripts/packs/application.js:(即初始Vue的位置) 初始vue由原先的: 1import Vue from 'vue/dist/vue.esm' 改成: 1import Vue from 'vue ...
阅读全文 »

Rails Webpacker Vue配置Stylus

发表于 2019-09-06 | 分类于 Ruby/Rails |
Rails + webpacker + vue项目,组件里如何使用stylus呢? 增加依赖: 1$ yarn add stylus stylus-loader mini-css-extract-plugin 新增文件config/webpack/loaders/stylus.js: 12345678910const MiniCssExtractPlugin = require('mini-css-extract-plugin')module.exports = { test: /\.styl(us)?$/, use: [ MiniCssExtractPlugin.loader, 'css-loader', &a ...
阅读全文 »
123…5
黄鸿亮

黄鸿亮

记录让我们走得更远...

48 日志
30 分类
65 标签
© 2021 黄鸿亮
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.2