by shigemk2

当面は技術的なことしか書かない

GitHubリポジトリの複製

一応こんな風には書いてあります。

$ git clone --bare https://github.com/exampleuser/old-repository.git
# Make a bare clone of the repository

$ cd old-repository.git
$ git push --mirror https://github.com/exampleuser/new-repository.git
# Mirror-push to the new repository

$ cd ..
$ rm -rf old-repository.git
# Remove our temporary local repository

前提といたしましては、複製したいリポジトリ、複製元のリポジトリ、両方ともGitHubにリポジトリがあることです。Gitのドキュメントにも書いてありますが、ローカルのrefをmirror pushすることでリモートのリポジトリのrefに上書き出来るのです。なお、mirror pushの性質上force pushとなり、複製先のリポジトリに既に何かファイルがあってもすべて上書きされてしまうのでそこだけ注意ということで。

Git - git-push Documentation

Duplicating a repository - User Documentation

LambdaとAPI GatewayとSlack

ただのメモです、走り書きです。何も期待しないでください。

  • Lambda→Web上で簡単なプログラムを作る
  • API Gateway→WebAPIを自作出来る
  • Slack→チャットツール

Slackのoutgoing webhookとAPI Gateway+Lambdaを組み合わせて、「ホノカチャン」とつぶやいたら南ことりちゃんの画像が返ってくるBOTを作るだとか、incoming webhookとAPI Gateway+Lambdaを組み合わせて、毎朝10時に「今日も一日がんばるぞい」画像を出したりなど出来る。なお、Lambdaで書ける言語はJava/Python/Node.jsのいずれかから選べる。

dev.classmethod.jp

qiita.com

blog.manabusakai.com

dev.classmethod.jp

ホノカチャンBOTのほうは、正直プログラムの可読性とかはあんまり考えていない。手動にしたのは、ボットの性質上画像が問題ないことを手動で確認しておかないと画像関係で事故が起きるから。無用な騒乱は避けたい。なお、?とタイムスタンプをくっつけているのは、何度も同じ画像URLを投稿すると画像が展開されないっぽいから。あと南こうせつとグラハムボネットの画像も入れてる。

exports.handler = function(event, context) {
    var text = [
        "画像URLを並べて"
      ];
  context.done(null, {text: text[Math.floor( Math.random() * text.length )] + "?" + new Date().getTime()});
};

ぞいBOTのほうは、QiitaのやつからGoogleで画像を引っ張ってくる実装を取り除いたものをそのまま使っているのでココでは載せない。