Skip to content

Instantly share code, notes, and snippets.

View esnya's full-sized avatar

esnya

  • Japan
View GitHub Profile
@esnya
esnya / publish.d
Last active August 29, 2015 14:19
ディレクトリ下のD言語ソースコードを全てコンパイルして指定した場所に設置する何か
module publish;
import std.algorithm;
import std.file;
import std.range;
import std.stdio;
import std.parallelism;
import std.path;
import std.process;
import std.typecons;
@esnya
esnya / update_sevpn.d
Created April 27, 2015 04:24
Linux で SoftEther VPN の更新があればダウンロードしてビルドして配置する何か
import std.algorithm;
import std.conv;
import std.exception;
import std.getopt;
import std.net.curl;
import std.path;
import std.process;
import std.range;
import std.regex;
import std.stdio;
@esnya
esnya / namedparam.d
Last active August 29, 2015 14:21
D言語で名前付き引数?
module namedparam;
import std.stdio;
import std.traits;
import std.typecons;
template Arg(alias T, size_t N = 0) if (!is(typeof(ParameterDefaultValueTuple!T[N]))) {
alias Arg = Arg!(T, N + 1);
}
template Arg(alias T, size_t N = 0) if (is(typeof(ParameterDefaultValueTuple!T[N]))) {
@esnya
esnya / gulpfile.js
Created May 13, 2015 17:08
React with gulp
'use strict';
var gulp = require('gulp');
var react = require('gulp-react');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var browserfyConfig = {
entries: ['./js/index.js'],
standalone: 'app'
@esnya
esnya / index.html
Created May 26, 2015 02:45
Hello React
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Hello React</title>
<script src="https://fb.me/react-0.13.3.js"></script>
<script src="https://fb.me/JSXTransformer-0.13.3.js"></script>
</head>
<body>
<div id="example"></div>
@esnya
esnya / app.d
Created June 14, 2015 08:03
画像中の色数を数える何か
// source/app.d
import derelict.freeimage.freeimage;
import std.algorithm;
import std.string;
import std.range;
import std.utf;
import std.stdio;
void main(string[] args)
@esnya
esnya / gulpfile.js
Created July 8, 2015 03:02
React.js用gulpfile.js
'use strict';
var browserify = require('browserify');
var babelify = require('babelify');
var reactify = require('reactify');
var source = require('vinyl-source-stream');
var gulp = require('gulp');
var jest = require('gulp-jest');
import std.digest.digest;
auto hmac(alias T, size_t BlockSize = 512 / 8)(in void[] data, in void[] key) if (isDigest!T) {
import std.algorithm;
import std.range;
auto _key = cast(ubyte[])key;
if (_key.length > BlockSize) {
_key = cast(ubyte[])digest!T(_key);
@esnya
esnya / DiceCommand.txt
Last active December 26, 2015 06:40
ダイス式の構文
DiceCommand:
Expression '='
Expression '<'
Expression '>'
Expression '<='
Expression '>='
Expression:
Term
Expression '+' Term
@esnya
esnya / freeimage.d
Last active December 30, 2015 06:53
Minimal wrapper for DererictFI
public import derelict.freeimage.freeimage;
import std.traits;
static this() {
DerelictFI.load();
}
auto camelize(T)(T str) {
import std.ascii : toUpper;
return str[0].toUpper() ~ str[1 .. $];