Skip to content

Instantly share code, notes, and snippets.

Chulki Lee chulkilee

Block or report user

Report or block chulkilee

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@chulkilee
chulkilee / link_parser.ex
Last active Jun 23, 2019
Parsing HTTP Link header with NimbleParsec
View link_parser.ex
@chulkilee
chulkilee / gitlab-backfill-service-from-template.rb
Created Apr 25, 2018
GitLab: backfill service from template
View gitlab-backfill-service-from-template.rb
service_klass_to_property_keys = {
JiraService => %w[api_url url username password]
}
service_klass_to_property_keys.each do |klass, property_keys|
template_properties = klass.find_by!(template: true).properties.slice(*property_keys)
klass.find_each do |service|
service.properties = service.properties.merge(template_properties)
service.save! if service.changed?
View new-phx.sh
#!/bin/bash -eux
# tested with phoenix 1.3.0
shopt -s nullglob
app_path=$1
elixir_version=${ELIXIR_VERSION:-1.6.1}
echo n | mix phx.new "$app_path" --no-brunch --no-html
cd "$app_path"
View get-cert-chain.sh
servername=
port=
echo \
| openssl s_client -showcerts -servername $servername -connect $servername:$port 2>&1 \
| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' \
> $servername.crt
@chulkilee
chulkilee / generate-oj-changelog.rb
Created Dec 14, 2016
Generate changelog for oj gem
View generate-oj-changelog.rb
#!/usr/bin/env ruby
require 'nokogiri'
require 'open-uri'
entries = []
current_entry = nil
doc = Nokogiri::HTML(open('http://www.ohler.com/dev/oj_misc/release_notes.html'))
body = doc.at_css('.content_box')
body.children.each do |cur|
@chulkilee
chulkilee / Ipify.java
Created Mar 31, 2015
Print public ip address from Ipify
View Ipify.java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
public class Ipify {
public static void main(String[] args) throws Exception {
URL url = new URL("http://api.ipify.org");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
for (String line; (line = reader.readLine()) != null;) {
System.out.println(line);
@chulkilee
chulkilee / update-ldap-provider.rb
Created Feb 26, 2015
Update old LDAP provider name on gitlab
View update-ldap-provider.rb
puts Identity.unscoped.group(:provider).count
users = User.includes(:identities).all
duplicated_providers = %w(ldap ldapmain).sort
old_provider = 'ldap'
new_provider = 'ldapmain'
users.each do |u|
next if u.identities.blank?
@chulkilee
chulkilee / deploy.rake
Created Jan 23, 2015
capistrano deploy:check for local git repo
View deploy.rake
namespace :deploy do
namespace :git do
before :check, :local_repo do
on release_roles :all do
unless test "[ -d #{fetch(:local_repo_path)} ]"
execute :mkdir, '-p', fetch(:local_repo_path)
execute :git, "init --bare #{fetch(:local_repo_path)}"
end
end
end
View install-salt-masterless.sh
#!/bin/bash -eux
# http://docs.saltstack.com/en/latest/topics/tutorials/quickstart.html
# bootstrap salt minion
curl -L https://bootstrap.saltstack.com | sh
# make it masterless
sed -i 's/^#file_client: remote$/file_client: local/' /etc/salt/minion
View backup-mysql.sh
#!/bin/bash -eu
# Dump all mysql databases in to separate files
# config
user=backup-db
dir=/home/backup-db/data/mysql
# runtime variables
ts=$(date +%Y%m%d%H%M%S)
dbs=$(sudo -i -u ${user} mysql -N -r -s -e 'SHOW DATABASES' | egrep -v '^information_schema|performance_schema$')
You can’t perform that action at this time.