Skip to content

Instantly share code, notes, and snippets.

David Chang zetachang

Block or report user

Report or block zetachang

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@zetachang
zetachang / read-access.sql
Created May 24, 2017 — forked from oinopion/read-access.sql
How to create read only user in PostgreSQL
View read-access.sql
-- Create a group
CREATE ROLE readaccess;
-- Grant access to existing tables
GRANT USAGE ON SCHEMA public TO readaccess;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readaccess;
-- Grant access to future tables
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readaccess;
View hash_destruct.rb
class Hash
def destruct(&block)
keys = block.parameters.map{|a| a[1]}
block.call(*self.values_at(*keys))
end
end
h = { a: 10, foo: 'bar', c: true }
h.destruct { |foo, a|
View fix.patch
From 22a8d63c748a3abf1dc0dd619d4d3b0d3f848c5c Mon Sep 17 00:00:00 2001
From: David Chang <zeta11235813@gmail.com>
Date: Fri, 30 Sep 2016 17:50:12 +0800
Subject: [PATCH] Some fix
---
application.rb | 7 ++++---
controller.rb | 4 +++-
2 files changed, 7 insertions(+), 4 deletions(-)
View gist:abf76b110ac5c80bd4e9
module React
def self.create_element(klass)
%x{
function ctor(){
this.constructor = ctor
React.Component.apply(this, arguments);
klass._alloc.prototype.$initialize.call(this);
};
ctor.prototype = klass._proto;
Object.assign(ctor.prototype, React.Component.prototype);
@zetachang
zetachang / rep.rb
Last active Dec 16, 2015
A proof of concept which wrap IRB in a different feed-driven API
View rep.rb
require 'irb'
module IRB
WAITING_FOR_INPUT_IDENTIFIER = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
class MyInputMethod < StdioInputMethod
def gets
puts WAITING_FOR_INPUT_IDENTIFIER
print @prompt + "\n"
line = @stdin.gets
@zetachang
zetachang / gist:4111314
Created Nov 19, 2012
Instruction on adding a Acknowledgements Settings.bundle
View gist:4111314
  • To add Settings.bundle in Xcode. Command N and in Resource, choose Settings Bundle .
  • Open Root.plist in source code, paste the code below to replace it,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>PreferenceSpecifiers</key>
	<array>
View gist:4105844
bracketed_content = {
name = 'meta.bracketed.objc';
begin = '\[';
end = '\]';
beginCaptures = { 0 = { name = 'punctuation.section.scope.begin.objc'; }; };
endCaptures = { 0 = { name = 'punctuation.section.scope.end.objc'; }; };
patterns = (
{ name = 'meta.function-call.predicate.objc';
begin = '(?=predicateWithFormat:)(?<=NSPredicate )(predicateWithFormat:)';
end = '(?=\])';
View gist:1501633
#include <stdio.h>
#include <stdlib.h>
void three_n_plus_one(int n,int *count,int a[]);
int main(void)
{
int count=0,input[3],a[100],i,j;
printf("請輸入三個值:");
scanf("%d %d %d",&input[0],&input[1],&input[2]);
for(i=0;i<3;i++)
View gist:1423906
<!DOCTYPE html>
%html
%head
%meta{:charset=>"utf-8"}
<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame -->
%meta{:content=>"IE=edge,chrome=1", :"http-equiv"=>"X-UA-Compatible"}
= stylesheet_link_tag "site"
= javascript_include_tag "https://www.google.com/jsapi"
= javascript_include_tag "application"
%meta{:property=>"og:title",:content=>"針對新聞說出你的看法--台灣投票 Taiwan Voting"}
View gist:1423898
@import "compass"
@import "preboot"
@import "compass-bootstrap/compass_bootstrap"
@mixin center
margin-left: auto
margin-right: auto
body
//background: image_url('background3.jpg')
background: #dcdcdc
#topbar
You can’t perform that action at this time.