Skip to content

Instantly share code, notes, and snippets.

@nicklegr
nicklegr / export_mongodb.sh
Created August 1, 2023 04:39
MongoDBをJSON形式でエクスポート
#!/bin/bash
SERVICE_NAME=mongodb
if [ ! $1 ]; then
echo " Example of use: $0 database_name [dir_to_store]"
exit 1
fi
db=$1
out_dir=$2
@nicklegr
nicklegr / get_bearer_token.py
Created March 8, 2018 09:24
Twitterのbearer_tokenの取得 (Application-only Authentication)
# coding: utf-8
# 参考: http://ktkrhr.hatenablog.com/entry/2013/03/27/002447
import urllib
import urllib2
import base64
import json
oauth_consumer_key = ""
@nicklegr
nicklegr / yt_proxy.rb
Created December 1, 2017 10:49
yt gemのプロキシ対応
# プロキシを通すためメソッドを上書き
# 元のメソッドは https://github.com/Fullscreen/yt/blob/v0.32.1/lib/yt/request.rb#L170
module Yt
class Request
private
def send_http_request
net_http_options = [uri.host, uri.port, :ENV, use_ssl: true]
ActiveSupport::Notifications.instrument 'request.yt' do |payload|
payload[:method] = @method
payload[:request_uri] = uri
def encode(str)
str
.gsub(" ", "%20")
.gsub("\n", "%0d%0a")
end
cmd = "curl gopher://example.com:80/_" + encode(<<-EOD)
GET / HTTP/1.1
Host: example.com
@nicklegr
nicklegr / http.rb
Last active March 13, 2020 08:23
Simple net/http wrapper
require "net/https"
class Http
def self.get(url, header, params = {})
uri = URI(url)
uri.query = URI.encode_www_form(params)
http = Net::HTTP.new(uri.hostname, uri.port)
# https.proxy_from_env = true
if uri.port == 443
@nicklegr
nicklegr / http2.rb
Created August 16, 2017 08:10
Simple http/2 wrapper
require 'optparse'
require 'socket'
require 'openssl'
require 'http/2'
require 'uri'
DRAFT = 'h2'.freeze
class Logger
def initialize(id)
@nicklegr
nicklegr / Dockerfile
Created June 9, 2017 10:54
Crowi-plusのDocker設定
FROM weseek/crowi-plus:1.2.2
ENV APP_DIR /opt/crowi-plus
# install dockerize
ENV DOCKERIZE_VERSION v0.3.0
RUN apk add --no-cache --virtual .dl-deps curl \
&& curl -SL https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
| tar -xz -C /usr/local/bin \
&& apk del .dl-deps
#!/bin/bash
# バックアップスクリプト
# コンテナの外で実行します。docker-composeでmongoコンテナを起動中なのが前提
set -o errexit
SRC_CONTAINER=$1
SRC_VOLUME_DIR=$2
OUTPUT_DIR=$3
@nicklegr
nicklegr / bulk_push_to_bitbucket.rb
Created December 14, 2014 09:38
gitリポジトリをbitbucketに一括push。リポジトリの作成も同時に
reposes = Dir.glob("git_repos/*")
reposes.each do |repos_path|
puts repos_path
repos = File.basename(repos_path, ".*")
system("curl --user nicklegr:PASSWORD https://api.bitbucket.org/1.0/repositories/ --data is_private='true' --data name=#{repos}")
Dir.chdir(repos_path) do
@nicklegr
nicklegr / svn2git.rb
Last active August 29, 2015 14:11
svnリポジトリのダンプ → gitレポジトリ の変換
require 'fileutils'
# カレントにauthors.txtを作る
# svnadminのヘルプを参照
have_trunk = %w|
(trunkがあるリポジトリを列挙)
|
# 1. trunkがない