Skip to content

Instantly share code, notes, and snippets.

View butackle's full-sized avatar
🐷
happy

ぷる butackle

🐷
happy
  • Japan
View GitHub Profile
@butackle
butackle / shellGei_20160618_memo.sh
Created June 18, 2016 07:56
2016/6/18のシェル芸勉強会の雑メモ
sed 's/.. / /' monthly_typhoon | sm2 1 1 2 2 | paste - <(tail -n +2 landing.csv ) | sed 's/,$/,0/' | tr , ' ' | awk '$1!=$3 || $2!=$NF
sed 1d landing.csv | awk -F, '{for(i=1;i<=12;i++){a[i]+=$(i+1)}}END{for(k in a){print k" " a[k]"/"NR"="a[k]/NR }}' | sort -n
sed 1d landing.csv | awk -F, '{for(i=1;i<=12;i++){if(i==1 || $i != ""){printf $i;if(i>1){printf ":";print $i;break}}}}'
awk -F, '{for(i=2;i<=13;i++){if($i>0){print $1,i; next}}}' landing.csv
cat monthly_typhoon | grep -v ' 0$' | less | guniq -w4 | sed 's/....//' | awk '{print $1}' | sort | uniq -c
@butackle
butackle / index.coffee
Created October 30, 2016 03:37
paiza_run_bot script
module.exports = (robot) ->
robot.hear /.+/i, (msg) ->
@exec = require('child_process').exec
user_name= msg.match[0].split(" ")[0];
Command = msg.match[0].replace(user_name,"");
@exec "#{Command}", (error, stdout, stderr) ->
msg.send error if error?
msg.send stdout if stdout?
msg.send stderr if stderr?
module.exports = (robot) => {
robot.router.get('/', (req, res) => {
res.end("<出力内容>");
});
};
@butackle
butackle / index.js
Last active December 4, 2016 14:26
module.exports = (robot) => {
robot.router.get('/', (req, res) => {
res.end("ページ");
robot.send({room: '<チャンネルID>'}, "アクセスあり");
});
};
const test = new Promise((resolve, reject) => {
setTimeout(()=>{
console.log("4秒経過");
resolve(3000);
},4000)
});
test
.then((sec) => new Promise((resolve) => setTimeout(() => { console.log("7秒経過");resolve(2000); },sec)))  //sec=3000
.then((sec) => new Promise((resolve) => setTimeout(() => { console.log("9秒経過");resolve(1000); },sec)))  //sec=2000
const timeoutPromise = (sec, msg) => {
return new Promise((resolve, reject) => {
setTimeout(()=>{
console.log(msg);
resolve();
},sec)
});
}
timeoutPromise(4000,"4秒経過")
const testPromise = (num,sec) => {
const random = Math.round(Math.random() * 10); //ランダムで0〜9の数値を返す
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log(num + ": random is " + random);
if (random === 3) reject("random is three");
resolve("random is " + random)
},sec);
})
}
// Initialize Firebase
const config = {
apiKey: "sakiika_ikaga00sakiika_ikaga",
authDomain: "sakiika-ikaga.firebaseapp.com",
databaseURL: "https://sakiika-ikaga.firebaseio.com",
storageBucket: "sakiika-ikaga.appspot.com",
messagingSenderId: "0123456789"
};
firebase.initializeApp(config);
const getList = (snapshot) => {
const obj = snapshot.val();
if (!obj) return [];
return Object.keys(obj).map((key) => obj[key]);
}
database.ref('list').once('value').then((snapshot) => {
const list = getList(snapshot);
riot.mount('List', { list });
riot.mount('Add');
})