Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

yuya-okabe okabe-yuya

🏠
Working from home
View GitHub Profile
@okabe-yuya
okabe-yuya / await_interval.js
Last active Jan 3, 2021
await interval function
View await_interval.js
const interval = async (ms, callback, continueCond) => {
const _interval = async () => {
await new Promise(resolve => {
setTimeout(resolve, ms);
});
if (continueCond()) {
callback();
await _interval();
}
View setInterval_sample.js
const sleep = (ms) => {
setTimeout(() => undefined, ms);
};
const intervalCount = (ms) => {
let counter = 0;
setInterval(() => {
console.log("[Info] count: ", counter)
counter++;
}, ms);
@okabe-yuya
okabe-yuya / interval.js
Created Jan 1, 2021
slow down interval execution in javascript
View interval.js
const slowDownInterval = (ms, limit=10) => {
_slowDownInterval(ms, limit, 0);
}
const _slowDownInterval = (ms, limit, counter) => {
const sleepTimme = ms + (counter * 100);
if (limit > counter) {
setTimeout(() => {
console.log(`Interval: count => ${counter} ...`);
_slowDownInterval(ms, limit, counter + 1);
@okabe-yuya
okabe-yuya / diff.md
Created Dec 3, 2020
ファイル間の差分を確認する
View diff.md

ファイル全ての差分を確認する

diff -r dirA dirB

差分のあるファイルのみを確認する

diff -rq dirA dirB

View .vimrc
" syntax support
syntax on
set nocompatible
set backspace=indent,eol,start
set number
set expandtab
set autoindent
set title
set cursorline
set hlsearch
@okabe-yuya
okabe-yuya / novel_demo.ex
Created Nov 21, 2020
ノベル形式で標準出力のデモ
View novel_demo.ex
# 都度都度、sleepさせてあげれば動作を再現することは可能
# パフォーマンスについては未検証。他に良い方法があれば知りたい
defmodule GamePrintf do
@print_interval 100
@punctuations ["", "", ",", "."]
def print(content) do
IO.puts("[Info] #{content}")
end
@okabe-yuya
okabe-yuya / secret_santa.ex
Created Nov 14, 2020
クリスマスプレゼント交換会にElixirで備える
View secret_santa.ex
defmodule SecretSanta do
def static_solver, do: static_member() |> _solver()
def random_solver, do: random_member() |> _solver()
defp _solver(lst) do
lst |> Enum.shuffle() |> print_result()
end
defp static_member, do: ["tomoya", "nagisa", "kyou", "ryou", "tomoyo", "kotomi"]
defp random_member, do: Enum.map(1..100, fn n -> "mr_#{n}" end)
defp template_print(from, to), do: IO.puts("#{from} => #{to}")
@okabe-yuya
okabe-yuya / range.js
Created Oct 29, 2020
これBIFで用意しておいてほしい
View range.js
const range = (a, z) => _range(a, z, [])
const _range = (a, z, acc) => a < z + 1 ? _range(a+1, z, acc.concat(a)) : acc
const print = (v) => console.log("[info]", v)
print(range(1, 10)) // [info] [1, 2, .... 10]
print(range(1, 100)) // [info] [1, 2, .... 100]
@okabe-yuya
okabe-yuya / github_actions上でのみテストが失敗する時に確認すること(ver:Ruby).md
Created Aug 20, 2020
github actions上でのbuild時にのみ、Rspecのテストが失敗する現象が発生したのでまとめ
View github_actions上でのみテストが失敗する時に確認すること(ver:Ruby).md

確認事項

  • 外部ストレージと接続するようなテストが存在していないか
    • stubを使って、適当な関数が全てmockを返すように設定してあるか
  • 環境変数に依存するような処理が存在しているかどうか
  • SQLのcachedがされていないかどうか

明示的なキャッシュクリア

ActiveRecord::Base.connection.query_cache.clear
@okabe-yuya
okabe-yuya / ActiveRecord_cached_clear.rb
Last active Aug 20, 2020
ActiveRecordにて明示的にcachedをクリアする構文
View ActiveRecord_cached_clear.rb
ActiveRecord::Base.connection.query_cache.clear
You can’t perform that action at this time.