Skip to content

Instantly share code, notes, and snippets.

class DragAndDropList extends HTMLElement {
constructor() {
super();
this.items = [];
this.draggedElement = null;
this.addEventListener('dragstart', this.handleDragStart.bind(this));
this.addEventListener('dragover', this.handleDragOver.bind(this));
this.addEventListener('drop', this.handleDrop.bind(this));
this.addEventListener('dragenter', this.handleDragEnter.bind(this));
this.addEventListener('dragleave', this.handleDragLeave.bind(this));
class ValidationFormBuilder < ActionView::Helpers::FormBuilder
include ActionView::Helpers::TagHelper
include ActionView::Context # 必須
def validation_text_field(attribute, options = {})
field_with_feedback(:text_field, attribute, options)
end
def validation_email_field(attribute, options = {})
field_with_feedback(:email_field, attribute, options)
@webuilder240
webuilder240 / helper.js
Last active January 11, 2025 02:14
SafetyFormData
export class SafetyFormData {
constructor(form) {
this.formData = new FormData(form);
}
append(key, value) {
this.formData.append(key, this.#sanitizeValue(value));
}
set(key, value) {
export async function requestGet(url) {
const response = await fetch(url)
return await response.text()
}
export function nextFrame() {
return new Promise(requestAnimationFrame)
}
export function delay(ms) {
module User
class CreatedSubscriber
def call(user)
puts "User created: #{user.name}"
end
end
end
@webuilder240
webuilder240 / Vue2Island.js
Last active January 8, 2024 12:37
tiny island Architecture Codes (not SSR
import Vue from 'vue';
class Vue2Island extends HTMLElement {
constructor() {
super();
this.vueInstance = null;
}
connectedCallback() {
this.name = this.dataset.name
@webuilder240
webuilder240 / 1_queuing_condition.rb
Last active April 18, 2023 13:13
1は条件分岐をキューイングする際、Jobクラス内部のどちらででも行うようにしています。2はJobクラスでのみ処理条件を書くようにしています。
# user.rb
class User < ApplicationRecord
after_create_commit do
if is_admin?
AdminUserCreateLoggingJob.perform_later(self.id)
end
end
end
# ConditionをJobクラスに含めない
// https://twitter.com/justin999_/status/1293738518989029379?s=21
//
// 1万個のarrayを高速で作る方法を考えよ。
// Swiftでいうなら、[[Int]]。
// なお、それぞれのarrayの中身はランダム、長さは7である
// [
// [1, 3, 9, 0, 1, 2, 4],
// [1, 9, 0, 7, 9 ,1, 2],
// ....(1万個)
// ]
@webuilder240
webuilder240 / designdoc.md
Last active January 11, 2022 04:05 — forked from daijinload/designdoc.md
Googleのデザインドックのマークダウンサンプルらしい
@webuilder240
webuilder240 / app.rb
Created August 28, 2021 03:52
EventEmitterをRubyで再実装
require "./emitter.rb"
Emitter.once("hello") do |param|
puts "Hello World #{param}"
end
Emitter.emit("hello", "param")
Emitter.emit("hello", "param2")