Skip to content

Instantly share code, notes, and snippets.

View okabe-yuya's full-sized avatar
🏠
Working from home

okbee okabe-yuya

🏠
Working from home
View GitHub Profile
@okabe-yuya
okabe-yuya / functor_for_struct.ex
Last active August 22, 2021 02:19
構造体へのFunctor / fmapのオリジナル定義
defmodule Product do
defstruct name: "", price: 0
def fmap(func, %Product{ name: name, price: price }) do
{ n_name, n_price } = func.(name, price)
%Product{ name: n_name, price: n_price }
end
end
stones = %Product{ name: "大人気!その辺に落ちていた石の詰め合わせ", price: 2000 }
summer_sale = Product.fmap(fn name, price -> { "[SummerSale]: #{name}", price - 200 } end, stones)
@okabe-yuya
okabe-yuya / delete.sh
Created December 13, 2021 09:20
delete branches(avoid master)
git branch | grep -ve " master$" | xargs git branch -D
@okabe-yuya
okabe-yuya / bloom_filter.py
Created May 1, 2022 03:25
implement bloom filter by python3
import functools
class BloomFilter:
def __init__(self, filter_size):
self.filter_size = filter_size
self.bloom_filter = [0 for _ in range(filter_size)]
def exist_v(self, val):
indexes = self.n_hash(val)
for index in indexes:
@okabe-yuya
okabe-yuya / iterator_pattern.rb
Created September 4, 2022 13:22
design pattern in ruby
class Iterator
def next
raise NotImplementedError.new("#{self.class}##{__method__} が実装されていません")
end
def has_next
raise NotImplementedError.new("#{self.class}##{__method__} が実装されていません")
end
end
# Adapte
module Adaoter
class Queue
attr_reader :queue
def initialize
@queue = []
end
def enqueue(val)
class Sward
attr_reader :options
def initialize
@options = {}
end
def cost
raise NotImplementedError.new("#{self.class}##{__method__} が実装されていません")
end
# Your code here!
class Notify
def exec(*data)
raise NotImplementedError.new("#{self.class}##{__method__} が実装されていません")
end
end
class User< Notify
def exec(*data)
puts "send to User #{data}"
class StringArray
attr_reader :s_array
def initialize
@s_array = ''
end
def push(v)
@s_array += "#{v}SPLIT"
self
end
use std::collections::HashMap;
fn main(){
let field_name = String::from("Favorite color");
let field_value = String::from("Blue");
let mut map = HashMap::new();
map.insert(&field_name, field_value);
let score = map.get(&field_name);
match score {
@okabe-yuya
okabe-yuya / splatoon_equipments.sql
Created January 31, 2023 12:09
スプラトゥーン3のER図を考える【キャラクター編】の装備側のSQL
/* プレイヤー情報 */
CREATE TABLE IF NOT EXISTS players (
player_id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
created_at TIMESTAMP NOT NULL,
updated_at TIMESTAMP NOT NULL,
name_changed_at TIMESTAMP NOT NULL,
last_loggined_at TIMESTAMP NOT NULL
);