Skip to content

Instantly share code, notes, and snippets.

@kawanet
kawanet / window.js
Created June 11, 2013 08:13
browserify を使って node.js&ブラウザ両対応するライブラリ中で、window.jQuery とかを取り出すためのライブラリ。 var $ = require('./window').jQuery; とかして使う。node.js だと変数 window が定義されていない点を使って判別する。
/*! window.js */
var _window;
try {
_window = window; // running on browser
} catch(error) {
// running on node.js
}
@kawanet
kawanet / NSURL+dictionaryFromQueryString.h
Last active December 23, 2015 15:49 — forked from halsk/NSURL+dictionaryFromQueryString.h
val にも = が入っていたり、key/val に + があった場合に対応してみました。 val が不正で stringByReplacingPercentEscapesUsingEncoding が例外を出す場合もあるけど未対応。
#import <Foundation/Foundation.h>
@interface NSURL (dictionaryFromQueryString)
-(NSDictionary *) dictionaryFromQueryString;
@end
@kawanet
kawanet / NSUUID+UUIDOfUser.h
Last active December 29, 2015 13:18
This category provides UUIDOfUser static method which saves and fetches an user identifier at user defaults or at key chain. The code is based on @ux_design_tokyo's post: http://qiita.com/ux_design_tokyo/items/ace0caf4b909c785836f
//
// NSUUID+UUIDOfUser.h
//
// Created by Yusuke Kawasaki on 2013/11/27.
// Copyright (c) 2013 Kawanet. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface NSUUID (UUIDOfUser)
@kawanet
kawanet / UIViewController+Util.h
Created December 22, 2013 16:45
instantiateWithStoryboard 前提として、Storyboard IDとクラス名を揃えておく。以下のカテゴリを使うと、文字列指定でなくて、クラス指定任意の画面を取り出せるようになる。
#import <UIKit/UIKit.h>
@interface UIViewController (Util)
// Usage:
// FOOViewController *vc = [FOOViewController instantiateWithStoryboard:self.storyboard];
// [self.navigationController pushViewController:vc animated:YES];
+ (instancetype)instantiateWithStoryboard:(UIStoryboard *)storyboard;
@kawanet
kawanet / jQuery-outerHTML.js
Created January 12, 2014 12:51
This implements outerHTML method which jQuery is missing for long.
/**
* This implements outerHTML method which jQuery is missing for long.
* @returns {String} outerHTML
* @example
* $("<p>foo</p>").addClass("bar").html(); // => "foo"
* $("<p>foo</p>").addClass("bar").outerHTML(); // => "<p class="bar">foo</p>"
*/
jQuery.prototype.outerHTML = function(){
var wrap = new jQuery("<div/>");
@kawanet
kawanet / parse_query_param.js
Created January 12, 2014 13:48
QUERY_STRING をパースする JavaScript 関数。今まで何度も書いたと思うけど!
/**
* @example
*
* var param1 = parse_query_param(location.search.substr(1));
*
* var param2 = parse_query_param(location.hash.search(/^#!.*\?/)?"":location.hash.replace(/^#!.*\?/, ""))
*/
function parse_query_param(query) {
var vars = query.split(/[&;]/);
@kawanet
kawanet / table_to_csv.js
Last active January 12, 2020 11:25
Convert array of array to CSV (text/comma-separated-values) in JavaScript
/**
* Convert array of array to CSV (text/comma-separated-values)
*
* @param table {Array} array of array
* @returns {String} CSV
* @license MIT
* @see https://gist.github.com/kawanet/8438183
*/
function table_to_csv(table) {
@kawanet
kawanet / Console.as
Last active January 4, 2016 04:49
This calls "console.log()" method to show messages on web browser's JavaScript console from ActionScript.
/**
* @example
* Console.log("text", {"key":"value"}, ["array"]);
*/
package {
import flash.external.ExternalInterface;
public class Console {
public static function log(message : String, ...args) : void {
if (!ExternalInterface.available) return;
@kawanet
kawanet / param-with-json.js
Created February 3, 2014 02:52
This encodes a query parameter object as `key=value` pairs of `application/x-www-form-urlencoded`. Uses JSON when an object given as a value.
/**
* @param {Object} query - query parameter object
* @param {String} `application/x-www-form-urlencoded` encoded string
*/
function param(query) {
var list = [];
for(var key in query) {
var val = query[key];
if ('object' === typeof val) {
@kawanet
kawanet / server_tokens.conf
Created February 3, 2014 14:56
This one line conf file work to remove version signature at nginx response such as `Server: nginx/1.4.3`.
server_tokens off;