Skip to content

Instantly share code, notes, and snippets.

Avatar
🎯
Focusing

Makoto Shiga MacoTasu

🎯
Focusing
View GitHub Profile
@MacoTasu
MacoTasu / gist:3cd2d8d0b8af4ed759b7
Last active Aug 29, 2015
コードレビュー初心者視点
View gist:3cd2d8d0b8af4ed759b7
  1. 新しいチームに入って最初に見たコードなんでわからないことしか無いので、「なんでこうしてるんだ?」っておもったらまず聞くことを心がけた
  • 聞かないことには始まらないし、深い理由を追えない
  • 理由を聞くと思想がわかってくるから、他のコード見た時「あ、なるほどな」ってなるようになるのでいい
  1. コードで大切にしている方針を見ながらレビューするようにした
  • ポケットだと「良いコード = みんなが理解しやすいコード」みたいなのがざっくりあったからそれを意識してレビューしてた
  • ex) mapとgrep使いまくって一行で納めてるコードより、methodに細分化して名前をつけたコードのほうがみんな分かりやすい的な
  • チームで大切にしている考えをもとにレビューしていけば、いいプロダクトになる
  1. LGTMつかってこ 
View mouse.pl
package Result::User {
use strict;
use warnings;
use utf8;
sub new { bless {}, shift }
sub to_model {
my $self = shift;
Model::User->new(user => $self);
@MacoTasu
MacoTasu / gist:7ce1f00d434fe72e0710
Last active Aug 29, 2015
intaractve select bucket
View gist:7ce1f00d434fe72e0710
func getBucket(svc *s3.S3) string {
» var param *s3.ListBucketsInput
» resp, err := svc.ListBuckets(param)
» if err != nil {
» » assert(err)
» }
» var buckets []string
» for index, b := range resp.Buckets {
@MacoTasu
MacoTasu / gist:746d42c6cced111508b2
Created Jun 24, 2015
ダンゲル氏の傑作コード
View gist:746d42c6cced111508b2
func (k *Ksatriya) handle(method, path string, hf HandlerFunc, filterFuncs map[string]FilterFunc) {
k.router.Handle(method, path, func(w http.ResponseWriter, req *http.Request, args httprouter.Params) {
ctx := NewContext(req, args)
if ff, ok := filterFuncs[BeforeFilterFuncKey]; ok {
ff(ctx)
if ctx.Response().StatusCode() == http.StatusFound {
ctx.Write(w)
return
}
@MacoTasu
MacoTasu / datetime-vs-datetime-epoch.pl
Last active Sep 1, 2015
Benchmark DateTime vs DateTime::epoch
View datetime-vs-datetime-epoch.pl
#!/usr/bin/perl
use strict;
use utf8;
use warnings;
use DateTime;
use Benchmark qw(:all) ;
my $now_1 = DateTime->now;
@MacoTasu
MacoTasu / p5-remove-remote-branch.pl
Last active Sep 10, 2015
remote branch remove script
View p5-remove-remote-branch.pl
use common::sense;
use Getopt::Long;
local $| = 1;
GetOptions(\my %opts, qw/
prod
/);
my $prod = $opts{'prod'};
@MacoTasu
MacoTasu / gist:4230822
Created Dec 7, 2012
redirect実装したい
View gist:4230822
ackage Actlog::Controller::Login;
use Ark 'Controller';
use Actlog::Models;
use Try::Tiny;
use JSON::Types;
use Facebook::Graph;
use CGI;
@MacoTasu
MacoTasu / test.sql
Created Dec 6, 2015
create test data sql
View test.sql
DROP TABLE IF EXISTS `entries`;
CREATE TABLE `entries` (
`id` INTEGER unsigned NOT NULL auto_increment,
`user_id` INTEGER,
`title` VARCHAR(191) NOT NULL,
`created_at` datetime,
`updated_at` datetime,
INDEX `user_id_idx` (`user_id`),
PRIMARY KEY (`id`)
@MacoTasu
MacoTasu / irc-notification.pl
Last active Dec 16, 2015
script which contributes to irc from a command line
View irc-notification.pl
use strict;
use warnings;
use AnyEvent;
use AnyEvent::IRC::Client;
# conf
my $conf = {
irc => {
server => '*****',#server
channel => '#****',# channel
View method override
#例えばAcme::Testにあるpingというメソッドを変更したかったら..
#このスコープ内だけでメソッドを有効にする
{
local *Acme::Test::ping = sub{
##ここに処理を書く
}
}
You can’t perform that action at this time.