Skip to content

Instantly share code, notes, and snippets.

Avatar
:octocat:
Wanna work abroad

Yuki Hirai yukihirai0505

:octocat:
Wanna work abroad
View GitHub Profile
@yukihirai0505
yukihirai0505 / __init__.py
Last active Oct 1, 2015
fabricでデプロイ自動化
View __init__.py
#!/usr/local/bin/python
# -*- coding:utf-8 -*-
from fabric.api import *
from fabric.decorators import runs_once
from datetime import datetime
env.hosts = ['ホスト名']
env.user = 'ユーザー名'
env.key_filename = '鍵の場所'
env.project_name = 'プロジェクトネーム'
View log.sql
SET @t = 2;
SELECT
SUM(A.counter) AS counter
FROM
(SELECT
FROM_UNIXTIME(CEILING(UNIX_TIMESTAMP(access_date) / (@t * 60)) * (@t * 60)) AS access_date,
1 AS counter
FROM
tmp_user
@yukihirai0505
yukihirai0505 / import.sql
Created Dec 11, 2015
CSVファイルのインポート
View import.sql
LOAD DATA LOCAL INFILE 'CSVファイルのフルパス' INTO TABLE [テーブル名] FIELDS TERMINATED BY ',' ENCLOSED BY '"'
@yukihirai0505
yukihirai0505 / calendar.sql
Created Feb 10, 2016
ストアドプロシージャで指定した日付から現在日付までのカラムをもったテーブルを作成する。
View calendar.sql
USE `[データベース名]`;
DROP PROCEDURE IF EXISTS `[ストアドプロシージャの名前]`;
DELIMITER $$
USE `[データベース名]`$$
CREATE DEFINER =`root`@`localhost` PROCEDURE `[ストアドプロシージャの名前]`(IN targetDate DATE)
BEGIN
/************************
テンポラリーテーブルをDROP
@yukihirai0505
yukihirai0505 / create_event_data.sql
Last active Feb 21, 2016
指定日から1ヶ月分のデータを動的に作成するストアドプロシージャ
View create_event_data.sql
/* ストアドプロシージャを使用したいDBを選択 */
USE [データベース名];
/* 今回使用したいストアドプロシージャの名前(初めて作成するときはいらない) */
DROP procedure IF EXISTS `[プロシージャ名]`;
/************************
通常のSQLだと「;(セミコロン)」でSQLの区切りを意味しているが今回はそれを「$$」に変えますよという意味。
これを使用することでSQLを一気に終端の$$まで実行することができる。
*************************/
DELIMITER $$
@yukihirai0505
yukihirai0505 / weekly.gs
Last active Feb 27, 2016
週毎に実行してくれるスクリプト
View weekly.gs
var bk = SpreadsheetApp.getActiveSpreadsheet();
var weeklySh = bk.getSheetByName("[シート名]");
/**
先週分のanalyticsのデータをセットする
**/
function setLastWeekData() {
// 毎週月曜日に実行されるので7日前が月曜日で1日前は日曜日
var today = new Date();
// 実行日が月曜日のとき
@yukihirai0505
yukihirai0505 / dateUtil.gs
Last active Feb 27, 2016
日付を扱う便利スクリプト
View dateUtil.gs
/**
指定日を文字列で取得する
@param nDaysAgo 何日前か
@return date
**/
function getLastNdays(nDaysAgo) {
var today = new Date();
var before = new Date();
before.setDate(today.getDate() - nDaysAgo);
return DateFormat(before);
@yukihirai0505
yukihirai0505 / analytics.gs
Last active Mar 8, 2016
GASでGoogleAnalyticsのPV・UUを取得してスプレッドシートにセットするスクリプト
View analytics.gs
/**
アナリティクスからデータを取得してくる
@param startDate 開始日
@param endDate 終了日
@param optArgs metricsやfilterなど
@return analyticsの結果
**/
function getAnalyticsData(startDate, endDate, optArgs) {
var profileId = [ビューID];
var tableId = 'ga:' + profileId;
@yukihirai0505
yukihirai0505 / ProductIteratorInTrait.scala
Created Dec 9, 2016
how to use productIterator in trait
View ProductIteratorInTrait.scala
/***
* Base trait for CSV
*/
trait BaseCsv {
def toStringSeq: Seq[String] = {
this.productIterator.map(_.asInstanceOf[Option[String]].getOrElse("")).toSeq
}
def productIterator: Iterator[Any]
}
View create_user_applied_count_tbl.sql
USE [DATABASE NAME];
DROP procedure IF EXISTS `[PROCEDURES NAME]`;
DELIMITER $$
USE [TABLE NAME]$$
CREATE DEFINER=`[USER NAME]`@`[HOST NAME]` PROCEDURE `[PROCEDURES NAME]`(IN targetDate date)
BEGIN
/* VARIABLE FOR CURSOR */