Skip to content

Instantly share code, notes, and snippets.

View rupert-ong's full-sized avatar

Rupert Ong rupert-ong

  • Toronto, Ontario
View GitHub Profile
@rupert-ong
rupert-ong / main.js
Created October 27, 2018 17:36
JavaScript: Classical Inheritance with Object.create() #javascript #prototype #es5 #inheritance #object #create
var MyShape = function (x, y) {
this.x = x;
this.y = y;
}
MyShape.prototype.move = function(xOffset, yOffset){
this.x += xOffset;
this.y += yOffset;
console.log(`MyShape instance moved to ${this.x}, ${this.y}.`);
}
@rupert-ong
rupert-ong / AccountGroup.java
Created September 17, 2018 19:24
Java Serialization, Deserialization and Transient Fields #java #serialization #deserialization #transient #objectoutputstream #objectinputstream
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* Used to illustrate transient (don't get serialized) fields.
* Useful for values that are derived from other members, like totals.
* For deserialization, you must specify the value for transient fields in the readObject method
@rupert-ong
rupert-ong / Main.java
Created September 16, 2018 02:08
Java Creating ZIP file system and Copying and Writing into It #java #filesystem #streams #buffered #files #io
package com.jwhh;
import java.io.BufferedWriter;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.charset.Charset;
import java.nio.file.*;
import java.util.Arrays;
import java.util.HashMap;
@rupert-ong
rupert-ong / AccountWorkerRevisted.java
Last active September 16, 2018 02:43
Java: Instance Creation and Invocation Revisited With Custom Annotation (No Constructor) #java #reflection #runtime #worker #annotation
package com.ps.utils;
import com.ps.WorkHandler;
import com.ps.finance.BankAccount;
import com.ps.finance.HighVolumeAccount;
@WorkHandler(useThreadPool = false)
public class AccountWorkerRevisited implements Runnable, TaskWorker {
// Only include BankAccount as HighVolumeAccount inherits from it
private BankAccount ba;
@rupert-ong
rupert-ong / AccountWorker.java
Created September 16, 2018 00:52
Java: Instance Creation and Invocation with Runtime Reflection #java #reflection #runtime
package com.ps.utils;
import com.ps.finance.BankAccount;
import com.ps.finance.HighVolumeAccount;
public class AccountWorker implements Runnable {
private BankAccount ba;
private HighVolumeAccount hva;
private char txType = 'w';
@rupert-ong
rupert-ong / AccessTypeClassInstance.java
Last active September 13, 2018 14:41
Java Runtime Reflection: Accessing and Invoking Members #java #runtime #reflection #members #invocation
package com.ps;
import com.ps.finance.BankAccount;
public class AccessTypeClassInstance {
public static void main(String[] args) {
// Class instance from Type Reference
BankAccount acct = new BankAccount("1234");
doWork(acct);
@rupert-ong
rupert-ong / Adder.java
Last active September 3, 2022 10:53
Java: Direct Threading, ExecutorService, Future and Callable #java #thread #runnable #future #callable #executorservice
package com.ps;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class Adder implements Runnable {
private String inFile, outFile;
@rupert-ong
rupert-ong / Main.java
Last active September 16, 2018 01:54
Java: Logging Hierarchy #java #logging #hierarchy
package com.ps;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Main {
// Parent and child logger
static Logger pkgLogger = Logger.getLogger("com.ps");
static Logger logger = Logger.getLogger("com.ps.Main");
@rupert-ong
rupert-ong / gist:6685564
Created September 24, 2013 14:24
Wordpress: Get Featured Image Source
<?php
$imgsrc = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "Full");
echo $imgsrc[0];
?>
@rupert-ong
rupert-ong / functions.php
Created September 24, 2013 14:23
Wordpress: Limit Search Results to Specific Post Type
<?php
function SearchFilter($query) {
if ($query->is_search) {
$query->set('post_type',array('post','page'));
}
return $query;
}
add_filter('pre_get_posts','SearchFilter');
?>