Skip to content

Instantly share code, notes, and snippets.

@yuemori
yuemori / 0_初めに.md
Created October 29, 2023 08:37 — forked from minhquang4334/0_初めに.md
Yasuo Team's Isucon Best Practices

参考: https://github.com/catatsuy/memo_isucon/blob/master/README.md Best Practices Gist: https://gist.github.com/minhquang4334/26e86a84731164581ed25d3fc7fe5211

最初の作業 (40分で終わないといけない)

  • リポジトリを作成する (isucon12q)
  • ポータルサイトにログインしてsshできることを確認
  • インスタンスにログインしてsshできることを確認

インフラ担当

  • Makefileを適切に修正する
  • ssh-keygenして鍵をdeploy keyに登録する
  • コードをリポジトリにpushする
@yuemori
yuemori / test.rb
Last active April 1, 2022 10:55
Use composite_primary_key gem with spanner
require "bundler/inline"
gemfile do
source "https://rubygems.org"
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
gem 'activerecord', '6.1.5'
gem 'activerecord-spanner-adapter'
gem 'composite_primary_keys'
@yuemori
yuemori / post_course_work.gs
Last active May 23, 2020 10:00
Google Classroomで自動投稿する
// クラスコードを指定する。複数指定したい場合は ["xxxxx","yyyyy"] のようにする
const CLASS_CODES = ["xxxxxx"];
// 投稿したい課題のタイトル
const COURSE_WORK_TITLE = "課題タイトル";
// 課題の説明
const COURSE_WORK_DESCRIPTION = "課題の説明";
// 課題に添付するテンプレートのリンク。このリンクのファイルが、対象のクラスのGDriveのフォルダにコピーされて投稿される
const COURSE_WORK_LINK = "https://docs.google.com/forms/d/xxxxxxxx";
// 下書きのままにしたい場合は "DRAFT" にする
product_a = Product.fetch(:product_a).new(price: 0)
product_b = Product.fetch(:product_b).new(price: 0)
Product.fetch_class(:product_a).transaction do
Product.fetch_class(:product_b).transaction do
product_a.save!
product_b.save!
end
end
@yuemori
yuemori / example.rb
Last active July 16, 2017 16:54
pubsub
class User < ActiveRecord
include Pubsub::Publisher
after_create do
publish(:welcome, user_name: name)
end
end
class Post < ApplicationRecord
include Pubsub::Publisher
@yuemori
yuemori / Foo.rb
Last active July 31, 2019 13:35
ruby + rails SystemStackError
class Foo
class << self
def foo
Foo
end
def method_missing(name)
foo.respond_to?(name) ? foo.send(name) : super
end
diff --git a/activerecord/lib/active_record/attributes.rb b/activerecord/lib/active_record/attributes.rb
index 9cb7b67..5d0405c 100644
--- a/activerecord/lib/active_record/attributes.rb
+++ b/activerecord/lib/active_record/attributes.rb
@@ -1,33 +1,44 @@
+require 'active_record/attribute/user_provided_default'
+
module ActiveRecord
- module Attributes # :nodoc:
+ # See ActiveRecord::Attributes::ClassMethods for documentation