Skip to content

Instantly share code, notes, and snippets.

View yukihirai0505's full-sized avatar
:octocat:
Wanna work abroad

Yuki Hirai yukihirai0505

:octocat:
Wanna work abroad
View GitHub Profile
// dtoSeqを5000で分割して、それぞれに別々のトークンを付与する
protected def mapToken[T](dtoSeq: Seq[InstagramDto[T]], tokens: Seq[String]): Seq[InstagramDto[T]] = {
dtoSeq.grouped(5000).toSeq.zipWithIndex.flatMap {
case (d, i) => d.map { s =>
def getIndex(index: Int): Int = {
if (index < tokens.length) index
else getIndex(index - tokens.length)
}
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 */
@yukihirai0505
yukihirai0505 / date_loop.bash
Last active July 20, 2017 11:11
date loop bash from start_date to end_date
#!/bin/bash
## Linux
START_DATE="20160902"
END_DATE="20170303"
for (( DATE=${START_DATE}; ${DATE} < ${END_DATE}; DATE=`date -d "${DATE} 1 day" '+%Y%m%d'`))
do
TARGET_DATE=`date -d ${DATE} '+%Y-%m-%d'`
@yukihirai0505
yukihirai0505 / ProductIteratorInTrait.scala
Created December 9, 2016 11:12
how to use productIterator in trait
/***
* Base trait for CSV
*/
trait BaseCsv {
def toStringSeq: Seq[String] = {
this.productIterator.map(_.asInstanceOf[Option[String]].getOrElse("")).toSeq
}
def productIterator: Iterator[Any]
}
@yukihirai0505
yukihirai0505 / weekly.gs
Last active February 27, 2016 01:49
週毎に実行してくれるスクリプト
var bk = SpreadsheetApp.getActiveSpreadsheet();
var weeklySh = bk.getSheetByName("[シート名]");
/**
先週分のanalyticsのデータをセットする
**/
function setLastWeekData() {
// 毎週月曜日に実行されるので7日前が月曜日で1日前は日曜日
var today = new Date();
// 実行日が月曜日のとき
@yukihirai0505
yukihirai0505 / dateUtil.gs
Last active February 27, 2016 01:50
日付を扱う便利スクリプト
/**
指定日を文字列で取得する
@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 March 8, 2016 04:43
GASでGoogleAnalyticsのPV・UUを取得してスプレッドシートにセットするスクリプト
/**
アナリティクスからデータを取得してくる
@param startDate 開始日
@param endDate 終了日
@param optArgs metricsやfilterなど
@return analyticsの結果
**/
function getAnalyticsData(startDate, endDate, optArgs) {
var profileId = [ビューID];
var tableId = 'ga:' + profileId;
@yukihirai0505
yukihirai0505 / create_event_data.sql
Last active February 21, 2016 03:12
指定日から1ヶ月分のデータを動的に作成するストアドプロシージャ
/* ストアドプロシージャを使用したいDBを選択 */
USE [データベース名];
/* 今回使用したいストアドプロシージャの名前(初めて作成するときはいらない) */
DROP procedure IF EXISTS `[プロシージャ名]`;
/************************
通常のSQLだと「;(セミコロン)」でSQLの区切りを意味しているが今回はそれを「$$」に変えますよという意味。
これを使用することでSQLを一気に終端の$$まで実行することができる。
*************************/
DELIMITER $$
@yukihirai0505
yukihirai0505 / calendar.sql
Created February 10, 2016 09:24
ストアドプロシージャで指定した日付から現在日付までのカラムをもったテーブルを作成する。
USE `[データベース名]`;
DROP PROCEDURE IF EXISTS `[ストアドプロシージャの名前]`;
DELIMITER $$
USE `[データベース名]`$$
CREATE DEFINER =`root`@`localhost` PROCEDURE `[ストアドプロシージャの名前]`(IN targetDate DATE)
BEGIN
/************************
テンポラリーテーブルをDROP
@yukihirai0505
yukihirai0505 / import.sql
Created December 11, 2015 13:39
CSVファイルのインポート
LOAD DATA LOCAL INFILE 'CSVファイルのフルパス' INTO TABLE [テーブル名] FIELDS TERMINATED BY ',' ENCLOSED BY '"'