https://github.com/mumoshu/variant
- 手順でよくわからない、もしくは上手く動かないという方がいれば随時声かけてください
- もし、文章の方が説明しやすいという方がいれば@k_kinzalまでメンションかDMをお送りください
import { | |
createContext, Dispatch, | |
PropsWithChildren, | |
ReactElement, | |
useContext, useEffect, useReducer, useState | |
} from "react"; | |
import {useLocalStorageReducer} from "../hooks/localStorage"; | |
export type ColorScheme = "system" | "light" | "dark"; |
FROM alpine/git:1.0.4 as variant | |
ARG VARIANT_VERSION=0.10.0 | |
WORKDIR / | |
RUN git clone https://github.com/cw-ozaki/variant.git \ | |
&& cd /variant \ | |
&& git checkout -b tag refs/tags/$VARIANT_VERSION || git checkout $(echo $VARIANT_VERSION | sed 's/+dirty$//') -b varind |
https://github.com/mumoshu/variant
.PHONY: apply plan destroy clean | |
UNAME_S := $(shell uname -s) | |
TMP_DIR := $(shell mktemp -d -t '') | |
profile ?= default | |
target ?= imiew-com kinzal-net logn-in other | |
apply: | |
find base ${target} -name '*.tf' | xargs -J% cp -n % ${TMP_DIR} |
package com.chatwork.quiz.collection | |
import com.chatwork.quiz.{MyNone, MyOption} | |
// FIXME: MyNil、MyConsを使ってる場所はそれぞれのクラスでやるべきでは? | |
// FIXME: ifをなんとかしたい | |
sealed trait MyList[+A] { | |
// Easy |
def binarySearch(number: Int, numbers: List[Int]): Try[Int] = { | |
import scala.annotation.tailrec | |
@tailrec | |
def recursive(number: Int, numbers: List[Int], left:Int = 0): Try[Int] = { | |
(numbers.length / 2) match { | |
case i if (numbers == Nil) || (numbers.length == 1 && numbers(i) != number) => Failure(new NoSuchElementException) | |
case i => numbers(i) match { | |
case n if n == number => Try{i + left} | |
case n if n > number => recursive(number, numbers.take(i), left) | |
case n if n < number => recursive(number, numbers.drop(i), left + i) |
(function remove(aid) { | |
(function fn() { | |
$('#_timeLine').scrollTop(0); | |
var $elements = $('div[id^="_messageId"]').find('img[data-aid="'+aid+'"]').parent().parent().parent(); | |
$elements.each(function(index, element) { | |
console.log( { cmd: 'delete_chat', myid: aid, chat_id: $(element).data('mid'), _t: ACCESS_TOKEN}); | |
$.get("gateway.php", { cmd: 'delete_chat', myid: aid, chat_id: $(element).data('mid'), _t: ACCESS_TOKEN}); | |
}); | |
setTimeout(fn, 1000); | |
})(); |
/** | |
* file download in current page. | |
* @param {String} selector CSS selector | |
* @param {HTMLElement} [target] element which does not belong document root | |
* @example download('img') | |
*/ | |
function download(selector, target) { | |
target = target instanceof HTMLElement ? target : document; | |
var elements = target.querySelectorAll(selector); | |
for (var i = 0, anchor, evt; i < elements.length; i++) { |
// get permission | |
navigator.webkitGetUserMedia({video:true}, function(stream) { | |
// allow permission | |
// call capture | |
capture(stream, function(blob) { | |
// get blob and blob to image src | |
//-- Webkit browser is window.webkitURL.createObjectURL | |
document.querySelector('img').src = window.webkitURL.createObjectURL(blob); | |
}); | |
}, function(e) { |