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) { |