Skip to content

Instantly share code, notes, and snippets.

View shigeki's full-sized avatar

Shigeki Ohtsu shigeki

View GitHub Profile
@shigeki
shigeki / 新しく発行された中間証明書
Created October 14, 2016 02:52
GlobalSign中間証明書のHPKP比較
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
04:00:00:00:00:01:31:89:c6:44:c9
Signature Algorithm: sha256WithRSAEncryption
Issuer: OU=GlobalSign Root CA - R3, O=GlobalSign, CN=GlobalSign
Validity
Not Before: Aug 2 10:00:00 2011 GMT
Not After : Aug 2 10:00:00 2022 GMT
@shigeki
shigeki / test-tls-honorcipherorder.js
Created November 13, 2015 04:36
change test-tls-honorcipherorder.js to work on only TLS1.2 cipher
'use strict';
var common = require('../common');
var assert = require('assert');
if (!common.hasCrypto) {
console.log('1..0 # Skipped: missing crypto');
return;
}
var tls = require('tls');
@shigeki
shigeki / app.js
Last active December 28, 2015 18:09
Post Upload Control: File size check
var stream = require('stream');
var express = require('express');
var multiparty = require('multiparty');
var app = express();
var maxlimit = 2 * 1024 * 1024; // 2M byte
var postHandler = function(req, res, next) {
var length = 0;
var buflist = [];
var content_length = req.get('content-length');
@shigeki
shigeki / index.html
Created July 5, 2013 00:24
Ajax reconnect testing on quic vs spdy3
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>Ajax GET Test</title>
<script>
window.addEventListener('DOMContentLoaded', function() {
if (window.chrome.loadTimes().npnNegotiatedProtocol) {
var protocol = document.getElementById("protocol");
protocol.innerHTML = window.chrome.loadTimes().npnNegotiatedProtocol;
@shigeki
shigeki / main.c
Created April 10, 2013 02:36
uv_check() を利用した thread worker からのメッセージの出力 (worker 内の sleep 処理に依存しない方法)
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <queue>
#include "uv.h"
using namespace std;
uv_loop_t *loop;
@shigeki
shigeki / main.c
Created April 8, 2013 23:54
worker 内で単一の async ハンドラを操作すると thread safe なのかチェックするテスト
#include <stdio.h>
#include <stdlib.h>
#include "uv.h"
uv_loop_t *loop;
uv_async_t async;
static int closed = 0;
static int async_called = 0;
void print_progress(uv_async_t *handle, int status /*UNUSED*/) {
@shigeki
shigeki / stdin-to-ws.js
Last active October 27, 2023 16:32
標準入力をWebSocketで送信するサンプルプログラム
var http = require('http');
var WebSocketServer = require('websocket').server;
var port = 8080;
process.stdin.resume();
process.stdin.setEncoding('utf8');
var index = '<!DOCTYPE html><html><head><title>stdin-to-ws</title></head>'
+ '<body><div id="msg"></div><script>'
+ 'var msg = document.getElementById("msg");'
+ 'var ws = new WebSocket("ws:localhost:8080/stdin-to-ws", "stdin-to-ws");'
@shigeki
shigeki / index.html
Created January 25, 2013 08:30
socket.io を使ったデータの受け渡し (HTTP GET -> WS リレーサーバ対応)
<!DOCTYPE html>
<html>
<head>
<title>Standalone.sample</title>
<script src="http://localhost:8080/socket.io/socket.io.js"></script>
<script type="text/javascript">
var appname = io.connect('http://localhost:8080/appname');
appname.on('available_channel', function(channels) {
console.log('channels', channels);
// リスト先頭のチャネルIDを利用する
@shigeki
shigeki / kadai2.js
Created January 10, 2013 09:23
課題2
var net = require('net');
var maxreq = 1000;
var para = 10;
var port = 12345;
var counter = 0;
var server = net.createServer(function(socket) {
if (counter === maxreq) server.close();
}).listen(port, function() {
function client_connect() {
if (counter++ >= maxreq) return;
@shigeki
shigeki / observer4.html
Created December 5, 2012 22:27
Object.observer() デモ4
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>Object.observer() demo4</title>
<style>
table, td, th {
border: 2px #000000 solid;
}
</style>