Skip to content

Instantly share code, notes, and snippets.

View pirosuke's full-sized avatar

Hiroki Tanaka pirosuke

  • Japan
View GitHub Profile
@pirosuke
pirosuke / CREATE_FUNCTION_GET_LIST_SIMILARITY.sql
Created August 23, 2015 14:25
Function for checking list similarities on PostgreSQL
CREATE OR REPLACE FUNCTION SF_GET_LIST_SIMILARITY(
p_list1 text[],
p_list2 text[]
) RETURNS NUMERIC(19,4) AS $$
DECLARE
w_list text[] := '{}';
BEGIN
IF p_list1 IS NULL OR p_list2 IS NULL THEN
RETURN 0;
END IF;
@pirosuke
pirosuke / CREATE_FUNCTION_IN_LIST.sql
Created August 23, 2015 14:43
in_list function for PostgreSQL
CREATE OR REPLACE FUNCTION SF_IN_LIST(
p_list1 text[],
p_list2 text[]
) RETURNS BOOLEAN AS $$
DECLARE
w_is_in_list BOOLEAN := true;
BEGIN
IF p_list1 IS NULL OR p_list2 IS NULL THEN
RETURN false;
END IF;
@pirosuke
pirosuke / excel2psql.py
Last active March 8, 2023 06:07
A Python script to create SQL file from Excel
# coding: utf-8
from __future__ import unicode_literals
import xlrd
import codecs
def output_insert_sqls(excel_path, output_path, sheet_names, table_names):
book = xlrd.open_workbook(excel_path)
out_f = codecs.open(output_path, "w", "utf_8")
@pirosuke
pirosuke / get_obj_attr.py
Last active August 30, 2015 15:54
A function to get value from multi level object. Usage: get_obj_attr(item, "ItemAttributes.Title")
def get_obj_attr(root, str_path, default_val="", debug=False):
attr_path = str_path.split(".")
base_obj = root
for attr in attr_path:
if hasattr(base_obj, attr):
base_obj = base_obj.__dict__[attr]
else:
if debug:
print "No attribute: %s" % attr
base_obj = default_val
@pirosuke
pirosuke / hatebu.js
Created February 14, 2016 14:59
Node.js XMLRPC Client Sample
var xmlrpc = require('xmlrpc');
var Hatebu = {};
Hatebu.getHatebuCount = function (domain, callback) {
var client = xmlrpc.createClient({
host: "b.hatena.ne.jp",
path: "/xmlrpc"
});
client.methodCall('bookmark.getTotalCount', [domain], function (error, value) {
@pirosuke
pirosuke / app.js
Last active February 14, 2016 16:36
REST API Sample For IFTTT Maker Channel.
var express = require('express')
, bodyParser = require('body-parser')
, ifttt = require('./ifttt')
, http = require('http')
, path = require('path');
var app = express();
// all environments
app.set('port', process.env.PORT || 3000);
@pirosuke
pirosuke / example_task.js
Created January 19, 2019 11:21
Example Using node-cron
const cron = require('node-cron');
const exampletask = require('./exampletask');
cron.schedule('0 9 * * * *', () => {
exampletask.main();
console.log('task completed');
});
@pirosuke
pirosuke / fetch_data_from_sql_server.js
Created January 19, 2019 16:09
A Sample To Fetch Data From MSSQL using Windows Authentication
const msnodesql = require("msnodesqlv8");
async function fetchDataList(conn, query) {
return new Promise((resolve, reject) => {
conn.query(query, (err, rows) => {
if (err !== null) {
reject(err);
return;
}
@pirosuke
pirosuke / minecraft_set_block.js
Created January 19, 2019 16:43
Sample Program To Put Block In Minecraft From Node.js
const WebSocket = require('ws');
const app = require('express')();
const server = require('http').Server(app);
const uuid = require('uuid/v4');
// Creates a JSON string for "setblock" command request
function setBlockCommand(x, y, z, blockType) {
return JSON.stringify({
"body": {
"origin": {
@pirosuke
pirosuke / convert_img_to_line_drawing.py
Created January 19, 2019 16:58
Convert Image Files To Line Drawings With OpenCV
# -*- coding: utf-8 -*-
import os
import cv2
import numpy as np
def create_line_drawing_image(img):
kernel = np.array([
[1, 1, 1, 1, 1],