Skip to content

Instantly share code, notes, and snippets.

View seraphy's full-sized avatar

seraphy seraphy

View GitHub Profile
@seraphy
seraphy / Main.java
Created February 9, 2014 15:00
JAASを単純なログインとして用いる例。(セキュリティの機能はない。)
package jp.seraphyware.authtest;
import java.io.IOException;
import java.util.HashMap;
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.NameCallback;
import javax.security.auth.callback.PasswordCallback;
import javax.security.auth.callback.UnsupportedCallbackException;
@seraphy
seraphy / JNDITest.java
Created February 9, 2014 15:02
独自のJNDIサービスを作るとっかかり例.
package jp.seraphyware.jnditest;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.util.Enumeration;
import javax.naming.InitialContext;
#!/bin/bash
if [ "$#" -eq 0 ]; then
echo "Usage:"
echo " dir2dmg <path/to/directory>"
exit 1
fi
PWD=`pwd`
@seraphy
seraphy / ado_db_recordset.vbs
Created March 17, 2014 23:25
ADODB.RECORDSETを使った非接続型、オンメモリの仮想テーブルの作成方法
option explicit
dim rs
set rs = CreateObject("ADODB.Recordset")
with rs.Fields
.Append "IDX", 3 ' integer
.Append "VAL", 200, 50 ' varchar(50) 文字列は長さ指定必要
end with
rs.Open
dim idx
@seraphy
seraphy / GenericTypeParameterSample.java
Created May 1, 2014 09:38
クラス定義時にジェネリック引数として指定されたデータ型を取得する。 "クラス定義時に明示されている場合のみ取得可能"であるため、親クラスまたはインターフェイスの実装として型指定しておく。
import java.lang.reflect.ParameterizedType;
public class GenericTypeParameterSample
extends AbstractGenericTypeParameterSample<String> {
public static void main(String[] args) {
GenericTypeParameterSample inst = new GenericTypeParameterSample();
Class<?> dataType = inst.getDataType();
System.out.println("dataType=" + dataType);
}
@seraphy
seraphy / Main.java
Created May 23, 2014 12:47
Java8のNashornをサンドボックスで評価する。カスタムポリシークラスもしくはポリシーファイルによるポリシーの設定方法と、undocumentedなNashornのオプションである --no-java の利用によるJavaコードの制限方法についての例。
package jp.seraphyware.sandboxscript;
import java.beans.Expression;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Reader;
import java.io.UncheckedIOException;
import java.io.Writer;
import java.nio.file.Files;
@seraphy
seraphy / Main.java
Last active September 15, 2015 01:50
JAASによる対話的なログインと、Principalの設定をもつPolicyのセキュリティマネージャを有効にした場合のユーザーによる権限の切り替えの実装例.
package jp.seraphyware.jaasexample;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
@seraphy
seraphy / DDEServerExampleVC6.cpp
Created November 12, 2014 09:43
DDEサーバーの実装例(VC6コンパイル可能バージョン)、メイン画面は、スクロールバーつきログ表示機能あり。
// DDEServerExampleVC6.cpp
//
#include "stdafx.h"
// stdafx.h内に、#pragma warning(disable:4786) をいれてmap展開の長さ警告を抑制する
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <tchar.h>
@seraphy
seraphy / pyexcel_sample.py
Created October 4, 2011 01:29
pyExcelerator test
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pyExcelerator
# スタイルのキャッシュ
styles = {};
# パターン番号からスタイルを生成しキャッシュする.
@seraphy
seraphy / extjs_skel.js
Created November 15, 2011 09:08
ExtJS4のお決まりの導入部
// ローダのメカニズムを有効化
Ext.Loader.setConfig({
enabled: true
});
// Ext.uxで始まる名前のスクリプト(お手製スクリプト)は
// uxフォルダ以下を検索するように指示する.
Ext.Loader.setPath('Ext.ux', 'ux');
// このページで使用するコンポーネント