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 / 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:4618259
Created January 24, 2013 07:12
インデントタブをスペース4に置換するワンライナー
perl -pi -e 's{^(\t+)}{q( ) x (length($1)*4)}e' **/*.js
@yukidarake
yukidarake / gist:4618249
Created January 24, 2013 07:10
Vimでスペース2のインデントをタブに置換
'<,'>perld s{^(( )+)}{"\t" x (length($1)/2)}e
@yukidarake
yukidarake / esformatter.json
Last active November 11, 2015 08:23
esformatter用の設定例
{
"root": true,
"esformatter": {
"allowShebang": true
},
"indent": {
"value": " ",
"alignComments": true,
@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 / 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 / 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 / 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 / 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 / replace.pl
Created June 18, 2012 11:42
config.hogeというfunctionブロックを除去し、インデントを一つ下げる
use strict;
use warnings;
for my $js(<*.js>) {
open my $new, '>', "$js.2" or die $!;
open my $old, '<', $js or die $!;
my $spaces = '';
while (my $line = <$old>) {
if (!$spaces && (($spaces) = ($line =~ /^(\s+)config.hoge/))) {