Skip to content

Instantly share code, notes, and snippets.

View yukidarake's full-sized avatar
🎯
Focusing

Toshiyuki Nakamura yukidarake

🎯
Focusing
View GitHub Profile
@yukidarake
yukidarake / jsondiff.js
Last active October 11, 2015 08:47
MongoDBのデータのdiffをとる
#!/usr/bin/env node
var fs = require('fs');
var difflet = require('difflet');
var deepEqual = require('deep-equal');
var read = function(file) {
return fs.readFileSync(file, 'utf8')
.split(/\n/)
.filter(function(line) {
return line;
@yukidarake
yukidarake / gist:3863055
Created October 10, 2012 03:54
指定した文字、長さでランダムな文字列を生成
my @use_chars = ( 'a' .. 'z', 0 .. 9 );
my $serial_length = 7;
my $serian_num = 120_000;
for ( 1 .. $serian_num ) {
print random_str($serial_length), "\n";
}
sub random_str {
my $length = shift;
@yukidarake
yukidarake / gist:3863066
Created October 10, 2012 03:58
Image::Magickを使ってリサイズをする例
use strict;
use warnings;
use utf8;
use Image::Magick;
use File::Basename;
use File::Path;
for (<*.jpg>) {
resize($_);
}
@yukidarake
yukidarake / slurp.pl
Created October 10, 2012 04:05
ファイルを一気に読み込む
use strict;
use warnings;
use utf8;
sub slurp {
my $file = shift;
open my $fh, $file or die $!;
my $content = do {
local $/;
<$fh>;
@yukidarake
yukidarake / result
Created November 14, 2012 05:27
arrayの要素を追加する方法で高速なのはどちら?
var TIMES = 10000;
console.time(1);
var array1 = [];
for (var i = 0; i < TIMES; i++) {
array1.push(Math.random());
}
console.timeEnd(1);
console.time(2);
@yukidarake
yukidarake / gist:4618249
Created January 24, 2013 07:10
Vimでスペース2のインデントをタブに置換
'<,'>perld s{^(( )+)}{"\t" x (length($1)/2)}e
@yukidarake
yukidarake / gist:4618259
Created January 24, 2013 07:12
インデントタブをスペース4に置換するワンライナー
perl -pi -e 's{^(\t+)}{q( ) x (length($1)*4)}e' **/*.js
@yukidarake
yukidarake / gist:4631890
Created January 25, 2013 04:56
new を忘れても大丈夫なパターン2種 from Effective JavaScript
function User(name) {
if (!(this instanceof User)) {
return new User(name);
}
this.name = name;
}
// better way
function User(name) {
var self = this instanceof User
@yukidarake
yukidarake / gist:4662008
Created January 29, 2013 05:21
行頭のコメントの下に/* jshint unused:false */を加えるというワンライナー。 ポイントは行番号$.をファイルごとにリセットする必要があるので、close ARGV if eofというイディオムを入れてみた。 あと、ackはやっぱり便利。
ack -f lib | xargs perl -i -pe 's#\*/\n#*/\n\n/*jshint unused: false */\n# if $. < 7; close ARGV if eof;'
@yukidarake
yukidarake / jst.pl
Last active December 14, 2015 11:38
Perl5.10以上ならTime::Pieceが標準添付モジュールとなっている。ミリ秒のUNIXタイムをJSTにする。
perl -MTime::Piece -lane 'print localtime(gmtime($F[0]/1000)->epoch)."\t$F[1]"' hoge.log