Instantly share code, notes, and snippets.

View rgb2hsv.ts
// https://lab.syncer.jp/Web/JavaScript/Snippet/66/
/**
* rgb から hsv に変換する
* @param {[number]} rgb
* @returns {[number]}
*/
const rgb2hsv = (rgb: [number, number, number]) => {
const r: number = rgb[0] / 255;
const g: number = rgb[1] / 255;
const b: number = rgb[2] / 255;
View color-thief.js
var ColorThief = require('color-thief-jimp');
var Jimp = require('jimp');
Jimp.read(imageFilepathOrUrl, (err, sourceImage) => {
if (err) {
console.error(err);
return;
}
var dominantColor = ColorThief.getColor(sourceImage);
View node-canvas.js
const { registerFont, createCanvas, loadImage } = require('canvas');
const fs = require('fs')
registerFont('./fonts/sazanami/sazanami-gothic.ttf', {family: 'Sazanami Gothic'});
const canvas = createCanvas(500, 500);
const ctx = canvas.getContext('2d');
// Draw cat with lime helmet
loadImage('images/lemon-sour.jpg').then((image) => {
ctx.drawImage(image, 0, 0, 500, 500);
View buildspec.yml
version: 0.2
env:
variables:
PJ_NAME: "aws-ecs-sample-app"
REPO_NAME: "ここに数字.dkr.ecr.ap-northeast-1.amazonaws.com/aws-ecs-sample-app"
phases:
install:
commands:
View aws-ecs-stack.md

Stack

  • TypeScript: AltJS

    • webpack: Serverless Framework の TypeScript テンプレートで使用

    • node-canvas: 画像ジェネレーターの中核を担うサーバーサイド canvas

    • Jest: テストは Jest のみを使用

View camera起動forElectron.js
window.addEventListener('load', function(){
navigator.mediaDevices.getUserMedia({audio: false, video: true}).then((stream) => {
const video = document.createElement('video');
video.id = 'drag';
video.draggable=true;
document.body.appendChild(video);
video.src=window.URL.createObjectURL(stream);
video.style='position: absolute; left: 10px; top: 10px; max-width: 300px; max-height: 300px; border: 1vmin solid white; z-index:99999;';
video.play();
View 文字の幅確認.md

文字の幅確認

iOS

全角 - 6文字(湖湖湖湖湖湖) 半角英字 - 10文字(AAAAAAAAAA) 半角カタカナ - 12文字(ママママママママママママ)

Android

View AttachConsoleSample.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AttachConsoleSample
{
class Program
{
View AttachConsole.cs
[DllImport("kernel32.dll")]
public static extern bool AttachConsole(uint dwProcessId);
[DllImport("kernel32.dll")]
public static extern bool FreeConsole();
private bool writeConsole( string msg ) {
if ( !AttachConsole( System.UInt32.MaxValue ) ) {
return false;
View win32-in-path.js
const log = require('electron-log-rotate');
module.exports = {
// path.resolve([from ...], to)
resolve: function resolve() {
var resolvedDevice = '';
var resolvedTail = '';
var resolvedAbsolute = false;
for (var i = arguments.length - 1; i >= -1; i--) {