Skip to content

Instantly share code, notes, and snippets.

View pocari's full-sized avatar
🍻
🍻

pocari pocari

🍻
🍻
View GitHub Profile
require 'prawn'
require 'prawn/table'
Prawn::Document.generate("output.pdf") do
str1 = <<~EOS
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@pocari
pocari / gist:fedd5da1b52fff110e22bd63fb2715bd
Created April 7, 2022 18:10
signal をつけて reopen するlogger logrotate ローテーション
require 'pry-byebug'
require 'logger'
pid_file = '/home/pocari/tmp/logrotate/sample_daemon.pid'
File.open(pid_file, "w") { |f| f.write "#{Process.pid}" }
at_exit do
if File.exists?(pid_file)
File.delete(pid_file)
end
end
@pocari
pocari / main.go
Created September 6, 2021 12:50
go-query-context-sample
package main
import (
"context"
"database/sql"
"fmt"
"time"
_ "github.com/go-sql-driver/mysql"
)
@pocari
pocari / gist:718cd739966ae3ec5b60e1f2607511c8
Last active January 5, 2021 07:57
vim で args コマンドを使って一気に処理する
" ar[gs] コマンドで今から処理対象にするファイルを開く
:ar **/*.rb

" ar の引数にはバッククォートで任意の外部コマンドが使えるので下記のように git管理されているファイルで conf がパスに含まれるファイル一覧みたいなのもできる
:ar `git ls-files \| grep conf`
# ar で処理対象にしたファイルに対して、exコマンドを実行して、保存する
import java.io.*;
import java.util.*;
public class Parser {
public static int charToNum(char c) {
if ('A' <= c && c <= 'F') {
return c - 'A' + 10;
}
// 違う場合は全部数字とみなす
return c - '0';
@pocari
pocari / main.go
Created October 18, 2019 16:04
golang 日付 parse jst loadlocation parse parseinlocation
package main
import (
"fmt"
"time"
)
func main() {
jst, _ := time.LoadLocation("Asia/Tokyo")
@pocari
pocari / fixnum_immediate_value_boundary.rb
Last active August 24, 2019 14:28
rubyで即値になる数値とobjectになる数値の境界を探す
def immediate_value?(number)
(number.object_id >> 1) == number
end
def bin_search(min, max)
# p [:try, min, max]
if (max - min) <= 1
puts "stop"
puts "min: #{min}, bit_length: #{min.bit_length} check: #{immediate_value?(min)}"
puts "max: #{max}, bit_length: #{max.bit_length} check: #{immediate_value?(max)}"
@pocari
pocari / tropical_ruby.rb
Last active July 15, 2019 12:19
トロピカルruby
# https://qiita.com/lotz/items/094bffd77b24e37bf20e
# 動的計画法を実現する代数〜トロピカル演算でグラフの最短経路を計算する〜
#
# をrubyでそれっぽく書いてみる
class Semiring
attr_reader :value
def initialize(v)
@value = v
end
@pocari
pocari / company_registration_form.rb
Last active February 6, 2019 05:26
rails form object
class CompanyRegistrationForm
include ActiveModel::Model
attr_accessor :name, :address
attr_reader :employees_attributes
attr_reader :president_attributes
def company
@company ||= Company.new
end
@pocari
pocari / dp.rb
Created November 22, 2018 05:30
ナップザック
# frozen_string_literal: true
# require 'pry-byebug'
def check_path(goods, n, w, table, acc=[])
# p [:acc, n, w, acc]
# binding.pry
if n == 0
acc
else
if table[n][w] == table[n - 1][w]