View dbbackup.sh
#!/bin/sh | |
keepday=14 | |
dir=/home/dbbackup | |
file=dump.sql | |
now_date=`date +%Y%m%d` | |
old_date=`date "-d$keepday days ago" +%Y%m%d` | |
cd $dir |
View UnlockPDF.bat
set ttt=%1 | |
set tt=%ttt:~0,-4% | |
gswin32c -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sFONTPATH=%windir%/fonts;xfonts;. -sPDFPassword= -dPDFSETTINGS=/prepress -dPassThroughJPEGImages=true -sOutputFile="%tt%_noPW.pdf" %1 |
View gist:3099041
# サーバに割り当てた任意の IP アドレスを利用する | |
# (本コードではランダムに選択) | |
use LWP::UserAgent (@LWP::Protocol::http::EXTRA_SOCK_OPTS); | |
# ランダムに IP を選択 | |
{ | |
my @IP = qw( | |
203.0.113.1 | |
203.0.113.2 |
View wget_wrapper.pl
#!/usr/bin/perl | |
# Wget のラッパー | |
# 任意の URL のページを画像込みで保存する | |
# $ wget_wrapper.pl Directory URL | |
# (Directory は URL ごとにユニークなものを指定する) | |
# | |
# .htaccess 設定例 | |
# AddType text/html .htmlwget | |
# DirectoryIndex index.htmlwget index.html index.htm |
View gist:4506257
use List::Util; | |
sub add_cloud_font_size { | |
my ($font_size_min, $font_size_max, $val_col, @lists) = @_; | |
if (scalar(@lists) == 0) { | |
return; | |
} | |
my $val_min = log(List::Util::min(map { $_->{$val_col} } @lists) + 1); | |
my $val_max = log(List::Util::max(map { $_->{$val_col} } @lists) + 1); |
View sign_test.pl
# Reference: | |
# http://aoki2.si.gunma-u.ac.jp/lecture/Average/sign-test.html | |
# http://kusuri-jouhou.com/statistics/fugou.html | |
use strict; | |
use warnings; | |
use List::Util; | |
my @sign = qw(1 0 1 1 -1 1 1 -1 1 1); |
View gist:5570475
use List::Util; | |
sub cosine_similarity { | |
my ($vector_1, $vector_2, $is_pearson) = @_; | |
my %union; | |
foreach (keys %{$vector_1}, keys %{$vector_2}) { | |
$union{$_}++; | |
} | |
my $avg_1 = List::Util::sum(values %{$vector_1}) / scalar(keys %union); |
View gist:5836205
sub snippet { | |
my ($text, $terms, $max, $tag_s, $tag_e) = @_; | |
utf8::decode($text); | |
if (length($text) < $max) { | |
return $text; | |
} | |
if (! ref($terms)) { |
View gist:6102297
use Text::MeCab; | |
our $mecab = Text::MeCab->new({ node_format => "%M" }); | |
sub get_terms { | |
my $str = shift; | |
my @terms; | |
my @surfaces; | |
for (my $node = $mecab->parse($str); $node; $node = $node->next) { | |
my @feature = split /,/, $node->feature; |
View gist:7379560
use Data::Pageset; | |
$self->helper( | |
pagination => sub { | |
my ($self, $total_entries, $current_page) = @_; | |
my $dp = Data::Pageset->new({ | |
'total_entries' => $total_entries, | |
'entries_per_page' => 20, | |
'current_page' => (! $current_page || $current_page < 1) ? 1 : $current_page, |
OlderNewer