Activeliang's Blog

黄鸿亮的博客


  • 主页

  • 目录

  • 标签

  • 分类

  • 关于

用原生ruby写一个最简单的http服务端

发表于 2018-04-27 | 分类于 Ruby/Rails |
用原生ruby写一个最简单的http服务端: 背景:为了要接botvs的能用协议,学习ruby 的socket,在程序与程序之间进行高效的交换数据 是成功的。但对接botvs总timeout。原因是botvs在与协议程序交互时,发起的请求是http请求。那我们为了要解开这个bug就要实现最简单的能处理http请求的ruby服务端为准。在浏览器直接打开能拿到返回的数据证明成功解决问题。PS:为什么不用rails来处理,对于简单的ruby原生代码一个脚本能解决的事,没有必要用肥大的rails来处理,而且装rails程序需要手工来生成,而原生的ruby脚本可以直接自动化部署,这样日后在需要多台服务器托管时,很方便! 在网上折腾了很久,终于找到一篇能实现的: 尝试解析HTTP请求时,Ruby W ...
阅读全文 »

如何在JS文件里使用EMMET的SNIPPETS片段自动补全功能

发表于 2018-04-11 | 分类于 js |
emmet插件帮我快速的完成html的补全功能。最近想在js文件里定制地写一个醒目的注释。怎么做呢?方法如下 :此教程基于Atom编辑器 打开emmet里的snippets.json文件。增加代码: 12345"jsx": { "snippets": { "88": "//=======================>>> | <<<============================" }} 其中snippets后面的内容就是你想增加的补全的内容。 打开atom 里有keymap.cson文件,增加代码: 12&ap ...
阅读全文 »

RUBY ON RAILS如何ping另外一台主机?

发表于 2018-03-27 | 分类于 Ruby/Rails |
在rails程序里,如果检查在远端的另一台服务器是否能ping得通呢?很简单 安装一个gem: 1gem install net-ping 打开irb,输入: 123require 'net/ping'Net::Ping::External.new('ip-address').ping#=> true/false 搞定啦~!
阅读全文 »

听许岑讲高效学习,提取记录。

发表于 2018-03-14 | 分类于 读书 |
什么是高效的学习 什么是高效学习: 短时间内完成。 选择什么样的学习方式。 学习分两种: 结构性学习 医学,经济学等等。 自然学习法 英语,炒菜,吉他等等。 没兴趣学怎么办? 成年人学习要带着任务不驱动学习,如果没有任务自己给任务(教别人)。任务也可以是工作。做完事情需要交待,这样学习才会更好! 最好能出教程。 如何克服拖延症 大家都是有拖延症的人。但总会对某些事不拖延。 给自己真正设定一个严格的任务 再给自己一个小目标 改善注意力不集中的问题 我会把注意力一直放在这上面。 学习工具要买贵的!好的工具是好的开始。(让自己有一点心疼点就好了) 许岑一开始学吉他时,花了4.6w买了一把吉他。用20元/张的纸来练书法。 许岑告诫:买其他东 ...
阅读全文 »

栏位变JSON后旧数据如何处理?

发表于 2018-01-25 | 分类于 Ruby/Rails |
当我们要把一个上传图片的栏位变成上传多个图片的时候,生产环境上的数据要怎么处理呢? 1OilDetail.last.update_attribute :logo, [OilDetail.last.read_attribute(:logo)].to_json) 后记: 最后是又出问题了,用了update_attribute还是不行,更新不了栏位。最后用的write_attribute给解决的!
阅读全文 »

京唐积分管理系统总结

发表于 2017-12-20 | 分类于 mac |
如果出错,直接用另外一个结果的方法: enum的用法:请看我的 另外一篇文章 increment方法,给一个栏位累加的方法: decrement方法,给一个栏位累减的方法: allow_nil: true,意思是这个栏位在数据验证的情况下,还请允许为nil。也就是说这个栏位要么为空,要么符合数据验证。 在定义active_record的时候,如何指定其他class呢? 算出某个栏位的累加,可以直接用sum方法: find_or_create_by一个找不到就新建的方法: 给资源resource增加路径的方法:
阅读全文 »

Rails翻译栏位

发表于 2017-12-18 | 分类于 Ruby/Rails |
在model里增加: 有一个前提条件:这个栏位需要是integer类型。 1enum exchange_type: [:stock, :rebate, :withdraw] 在view里这样写: 1<%= t log.exchange_type, scope: [:active_record, :value, :point_log, :exchange_type] %> 在config/initializers/local.rb里增加: 12345678# 指定 I18n 库搜索翻译文件的路径I18n.load_path += Dir[Rails.root.join('lib', 'locale', '*.{r ...
阅读全文 »

RestClient::Forbidden:403记录一个解BUG过程

发表于 2017-11-11 | 分类于 Ruby/Rails |

记录一个坑爹的BUG的解决过程,和启发。

事件背景:

需要调用一个Public API,但在本地一直调用失败!用RestClient发起HTTP,提示: RestClient::Forbidden: 403 Forbidden 。自此开启DEBUG之路。

现象一:

用浏览器和POSTMAN来调用API,调正常,返回200。但遇到RestClient就挂。

疑点与解决:

  • 是否版本冲突?

    找了8个同学的电脑测试,一样的Ruby/Rails/Openssl版本,有的可以有的不可以,否。

  • 是否IP被限制?

    如果IP被限制,那用浏览器和POSTMAN就应该也会遇错吧?否。

最后:

无意间用RestClient来get Google,才发现终端机一直没有走上代理,我是用shadowsocks来实现科学上网的。那API无法访问是否也是因为这个呢?用手机4G来测试,果然!

原因:

科学上网用的shadownsocks,用浏览器和postman发出的请求能通过shadowsocks科学上网,而用RestClient和curl发出的请求通常不走shadowsocks代理。

阅读全文 »

利用Heroku搭建自己的梯子,3步实现免费科学上网。

发表于 2017-10-20 | 分类于 mac |
网速如何?请看图!
简单粗暴的小教程开始:
  1. 打开终端机,执行指令,下载项目并部署:

    提示:想登录Heroku删app需要等很久?怎么删app最快捷?这样做:

    1
    2
    3
    $ heroku apps #列出您所有的app
    $ heroku apps:destroy appname --confirm appname #两处appname自行替换成您想删的app名,完成。
    >
    1
    2
    3
    4
    $ git clone git@github.com:activeliang/shadowsocks-over-websocket.git
    $ cd shadowsocks-over-websocket
    $ heroku create
    $ git push heroku master

    (注意:指令前的字符$代表这是一条指令,请不要跟着复制)

  2. 设置密码并启动:

阅读全文 »

MAC下让终端机走Shadowsocks代理的方法。

发表于 2017-10-18 | 分类于 mac |

最新更新:19-01-19

直接安装一个软件叫proxifier,教程网上很多,可以配合shadowsocks实现mac全局代码

嗯,是的,若你的电脑是通过Shadowsocks科学上网,通常情况下终端机是没有走代理的。如果你没有这个概念,那你可能会跟我一样遇到这个坑

怎么破?网上教程不少,但真正简单粗暴好用的不多。经常一通解决后,决定自己写一个教程。

本教程需要你Mac已经配置好Shadowsocks服务或者v2ray科学上网软件。如何搭建?这里有一个小程序

  • 购买主机自己搭建,参考:这篇简单粗暴的教程
  • 利用Heroku自己搭建,参考:三步搭梯教程

简单粗暴的小教程开始:

  1. 安装privoxy:

    1
    $ brew install privoxy

    注意:$代表这是一条需要在终端机里执行的指令。请不用跟着复制。

  2. 设置下开机自启:

    1
    2
    $ ln -sfv /usr/local/opt/privoxy/*.plist ~/Library/LaunchAgents
    $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.privoxy.plist
  3. 编辑配置文件:

    1
    $ sudo atom /usr/local/etc/privoxy/config

    在最底部填入:

    1
    2
    3
    4
    5
    6
    7
    8
    forward-socks5 / 127.0.0.1:1080 .
    listen-address 0.0.0.0:8118
    forward 192.168.*.*/ .
    forward 10.*.*.*/ .
    forward 127.*.*.*/ .
    forward 172.*.*.*/ .
    forward git.meiyou.im/ .
    forward ci.meiyou.im/ .
  4. 设置下快捷指令,方便下次使用:

    1
    $ atom ~/.zshrc

    填入:

    1
    2
    alias setss="export http_proxy=127.0.0.1:8118&&export https_proxy=127.0.0.1:8118"
    alias unsetss="unset http_proxy&&unset https_proxy"

    执行:source ~/.zshrc

  5. 启动与停止:

    1
    2
    $ setss #启动
    $ unsetss #停止
阅读全文 »
1…345
黄鸿亮

黄鸿亮

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

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