Skip to content

Instantly share code, notes, and snippets.

View sinmetal's full-sized avatar

sinmetal sinmetal

View GitHub Profile
import groovy.xml.MarkupBuilder
apply plugin: "java"
apply plugin: "war"
apply plugin: "eclipse"
// maven-publish, maven2Gradle, build-dashboard
// checkstyle, findbugs, jdepend, pmd
package org.sinmetal.xgtx;
import java.io.IOException;
import java.util.ConcurrentModificationException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.appengine.api.datastore.DatastoreService;
@sinmetal
sinmetal / sample.html
Last active December 17, 2015 00:59
AngularJSがDOMを生成したことを検知する方法を考える。 directive作って、function postLinkを設定してやれば、DOMが生成された時に、呼んでくれるみたいだ。
<!DOCTYPE html>
<html lang="ja" ng-app="myApp">
<head>
<meta charset="utf-8">
<title>sample</title>
<link rel="stylesheet" href="../static/stylesheets/bootstrap.min.css">
<link rel="stylesheet" href="../static/stylesheets/bootstrapSwitch.css">
</head>
<body>
<div class="row-fluid" ng-controller="mainCtrl">
@sinmetal
sinmetal / FileInfo.java
Last active December 20, 2015 01:28
Google Cloud Storage Client Libraryを適当に使ってみたサンプル。 with slim3
package org.sinmetal.appengine.sample.model.gcs;
import org.slim3.datastore.Attribute;
import org.slim3.datastore.Datastore;
import org.slim3.datastore.Model;
import com.google.appengine.api.datastore.Key;
@Model(schemaVersionName = "schemaVersion", schemaVersion = 1)
public class FileInfo {
@sinmetal
sinmetal / Server.java
Last active August 29, 2015 14:06 — forked from u1aryz/gist:2644671
package org.sinmetal.http;
import java.io.*;
import java.net.*;
/**
* 簡易HTTPサーバ
*
*/
public class Server {
@sinmetal
sinmetal / gist:d29215d9ebaaaaeeeec5
Created January 20, 2015 04:18
Memcache.putIfUntouched
package org.sinmetal.controller;
import javax.servlet.http.HttpServletResponse;
import org.slim3.controller.Navigation;
import org.slim3.controller.SimpleController;
import com.google.appengine.api.memcache.MemcacheService;
import com.google.appengine.api.memcache.MemcacheService.IdentifiableValue;
import com.google.appengine.api.memcache.MemcacheServiceFactory;
@sinmetal
sinmetal / count_ehomaki.sql
Created February 5, 2015 02:16
Tweetを適当にためたBigQueryのTableから、恵方巻関連のつぶやきを拾ったもの。
SELECT
year, month, day,
count(text) AS count
FROM
(
SELECT
YEAR(DATE_ADD (createdAt, 9, "HOUR")) AS year,
MONTH(DATE_ADD (createdAt, 9, "HOUR")) AS month,
DAY(DATE_ADD (createdAt, 9, "HOUR")) AS day,
text
#!/usr/local/bin/zsh
while true;
do
curl $1
sleep 1
done
package org.sinmetal.controller;
import java.io.*;
import java.util.*;
import java.util.logging.*;
import org.codehaus.jackson.*;
import org.codehaus.jackson.map.*;
import org.sinmetal.meta.*;
import org.sinmetal.model.*;
SELECT
JSON_EXTRACT(protoPayload.line.logMessage, '$.__DS__KIND__PUGEVENT__.id') AS id,
JSON_EXTRACT(protoPayload.line.logMessage, '$.__DS__KIND__PUGEVENT__.organizationId') AS organizationId,
JSON_EXTRACT(protoPayload.line.logMessage, '$.__DS__KIND__PUGEVENT__.title') AS title,
JSON_EXTRACT(protoPayload.line.logMessage, '$.__DS__KIND__PUGEVENT__.description') AS description,
JSON_EXTRACT(protoPayload.line.logMessage, '$.__DS__KIND__PUGEVENT__.url') AS url,
JSON_EXTRACT(protoPayload.line.logMessage, '$.__DS__KIND__PUGEVENT__.startAt') AS startAt,
JSON_EXTRACT(protoPayload.line.logMessage, '$.__DS__KIND__PUGEVENT__.createdAt') AS createdAt,
JSON_EXTRACT(protoPayload.line.logMessage, '$.__DS__KIND__PUGEVENT__.updatedAt') AS updatedAt,
protoPayload.line.logMessage AS source