Skip to content

Instantly share code, notes, and snippets.

View goldeneggg's full-sized avatar

Fuminori Sakamoto goldeneggg

  • 合同会社Practa/Practa, Inc.(Founder)
  • Japan
  • X @practainc
View GitHub Profile
@goldeneggg
goldeneggg / bench_uniq_reject.rb
Last active June 28, 2020 06:16
[ruby] 一覧から重複削除してnilを除去、の実装方法別パフォーマンス比較
require 'benchmark/ips'
require 'benchmark/memory'
require 'set'
CLASSES = [
Class.new {
@arr = ['1', '2', '33', '444', nil, '5555', nil, '444', '66666', 'abcde', '777777', nil, 'XXXX', '33', 'zzzzzzzzzz']
def self.label
@goldeneggg
goldeneggg / app.js
Last active December 7, 2018 03:27
AWS Lambdaの言語サポート状況を取得する為のLambda Function
const axios = require('axios');
const cheerio = require('cheerio');
const url = 'https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-runtimes.html';
let $;
let response;
/**
@goldeneggg
goldeneggg / kh2md.rb
Last active May 22, 2018 00:39
Kindle highlights to markdown for amazon.co.jp
# Note:
# tagged version of kindle-highlights gem is not supported "root_url" option.
# So should use "master" branch version.
require "kindle_highlights"
puts "START kindle highlights output to markdown"
kindle = KindleHighlights::Client.new(email_address: ENV['KINDLE_EMAIL'], password: ENV['KINDLE_PASSWD'], root_url: 'https://read.amazon.co.jp')
kindle.books.each_with_index do |book, i|
puts "========== TITLE: #{book.title}"
@goldeneggg
goldeneggg / sslrails
Created July 4, 2016 11:23
ローカルのrailsをオレオレ証明書でSSL化して起動する `sslrails` コマンド
#!/usr/bin/env ruby
APP_PATH = File.expand_path('../../config/application', __FILE__)
require_relative '../config/boot'
require 'rubygems'
require 'rails/commands/server'
require 'rack'
require 'webrick'
require 'webrick/https'
@goldeneggg
goldeneggg / attribute_convertable.rb
Created October 7, 2015 06:57
属性値の設定時に自動変換を行うconcern module
module AttributeConvertable
extend ActiveSupport::Concern
included do
# 全角英数字を半角英数字に変換
#
# (使用例.modelの定義)
# downcase_attr :hoge
#
# (使用例.modelへの値設定)
@goldeneggg
goldeneggg / slackrtm.go
Created August 3, 2015 12:29
WebSocket message receiver client for Slack
package main
import (
"encoding/json"
"flag"
"fmt"
"io/ioutil"
"net/http"
"net/url"
"os"
@goldeneggg
goldeneggg / gocon2015s.md
Last active August 29, 2015 14:23
gocon 2015 summer のメモ

gocon2015s

https://github.com/GoCon/GoCon/blob/master/2015summer.rst

Prepare

  • rakyll/boom (ベンチマークツール) のコード読み
  • mholt/caddy (HTTP2サーバ) のコード読み
  • yhat/scrape (超シンプルwebスクレイパ) のコード読み
  • golang.org/x/ パッケージの最近の状況把握
@goldeneggg
goldeneggg / stdin
Created June 18, 2015 06:02
rails本体のテストコードっぽいファイル一覧
./actionmailer/bin/test
./actionmailer/lib/action_mailer/test_case.rb
./actionmailer/lib/action_mailer/test_helper.rb
./actionmailer/test/fixtures/attachments/test.jpg
./actionmailer/test/test_case_test.rb
./actionmailer/test/test_helper_test.rb
./actionpack/bin/test
./actionpack/lib/action_controller/metal/testing.rb
./actionpack/lib/action_controller/test_case.rb
./actionpack/lib/action_dispatch/testing/test_process.rb
@goldeneggg
goldeneggg / grep.Body.Close.txt
Last active March 11, 2019 05:20
Go 1.4.2, grep "Body.Close"
cmd/go/http.go-28-func httpGET(url string) ([]byte, error) {
cmd/go/http.go-29- resp, err := httpClient.Get(url)
cmd/go/http.go-30- if err != nil {
cmd/go/http.go-31- return nil, err
cmd/go/http.go-32- }
cmd/go/http.go:33: defer resp.Body.Close()
cmd/go/http.go-34- if resp.StatusCode != 200 {
cmd/go/http.go-35- return nil, fmt.Errorf("%s: %s", url, resp.Status)
cmd/go/http.go-36- }
cmd/go/http.go-37- b, err := ioutil.ReadAll(resp.Body)
@goldeneggg
goldeneggg / asanaevents.rb
Created May 20, 2015 02:45
asanaの新規タスク情報を取得するスクリプト
require "json"
require "net/http"
require "uri"
require "pathname"
require "pp"
class AsanaEvents
BASE_URI = "https://app.asana.com/api/1.0"
SYNC_SAVE_PATH = "#{ENV['HOME']}/.asana_events_api/sync.txt"