Skip to content

Instantly share code, notes, and snippets.

View xiaohui-zhangxh's full-sized avatar

xiaohui xiaohui-zhangxh

  • Tanmer Inc.
  • 中国
View GitHub Profile
@xiaohui-zhangxh
xiaohui-zhangxh / array_combination.rb
Created September 28, 2013 06:18
Get all unsorted combinations for a certain number items of array
def combine(arr, size)
return [] if size > arr.size || size <= 0
return [arr] if size == arr.size
return arr.map{|item| [item]} if size == 1
last = arr[-1]
left = arr[0..-2]
a = combine(left, size - 1).map{|item| item + [last]}
b = combine(left, size)
return a + b
end
@xiaohui-zhangxh
xiaohui-zhangxh / take_snapshot_of_mobile_website.rb
Created October 31, 2013 06:44
How to take snapshot for a mobile website
=begin
** Install required packages
sudo apt-get install xvfb # fake X server
sudo apt-get install xfonts-base xfonts-75dpi xfonts-100dpi # fonts
sudo apt-get install iceweasel # this is firefox
=end
require 'headless'
require 'selenium-webdriver'
require 'webdriver-user-agent'
load 'deploy' unless defined?(_cset)
_cset :asset_env, "RAILS_GROUPS=assets"
_cset :assets_prefix, "assets"
_cset :assets_role, [:web]
_cset :normalize_asset_timestamps, false
before 'deploy:finalize_update', 'deploy:mm_assets:symlink'
after 'deploy:update_code', 'deploy:mm_assets:precompile'
#!/bin/bash
PING_COUNT=10
INFO_LOG=/var/log/ups_monitor.log
ERROR_LOG=/var/log/ups_monitor.err
STATUS_LOG=/tmp/ups_monitor.log
SHUTDOWN_LOG=/var/log/ups_monitor_shutdown.log
LOCKER=/tmp/ups_monitor.lock
SHUTDOWN_COUNTER=5

tmux cheatsheet

As configured in my dotfiles.

start new:

tmux

start new with session name:

@xiaohui-zhangxh
xiaohui-zhangxh / config.ru
Created June 4, 2018 02:25 — forked from cmer/config.ru
Gem In a Box basic authentication & authorization rackup file
#
# This is a simple rackup file for geminabox. It allows simple role-based authorization.
#
# roles:
# - developer
# - upload
# - delete
# - admin (can do anything)
#
# For example, a developer who can access the service and upload new gems would have the following roles: `%w(developer upload)
@xiaohui-zhangxh
xiaohui-zhangxh / dnspod_api.rb
Last active March 15, 2020 15:28
通过 QCloud/DnsPod API 动态更新域名解析
# frozen_string_literal: true
require 'json'
require 'net/http'
class DnspodAPI
API_HOST = 'https://dnsapi.cn'
# API requires UserAgent contains app name/version and email
def initialize(token, app_name:, app_version:, email:)
@xiaohui-zhangxh
xiaohui-zhangxh / README.md
Created November 1, 2018 02:07 — forked from lgersman/README.md
improved state diagram editor based on https://gist.github.com/lgersman/5311202 featuring curvy connections with helper points

new features

  • css improved
  • css transitions added

nodes

  • double click on a node to remove it
@xiaohui-zhangxh
xiaohui-zhangxh / capybara.md
Created November 25, 2019 16:05 — forked from steveclarke/capybara.md
RSpec Matchers

Capybara

save_and_open_page

Matchers

have_button(locator)
@xiaohui-zhangxh
xiaohui-zhangxh / ucloud_api.rb
Created March 15, 2020 13:53
通过 UCloud API 管理资源
# frozen_string_literal: true
require 'json'
require 'net/http'
require 'digest'
class UcloudAPI
API_HOST = 'https://api.ucloud.cn'
def initialize(public_key, private_key)