Skip to content

Instantly share code, notes, and snippets.

View nodlAndHodl's full-sized avatar

NodlAndHodl nodlAndHodl

View GitHub Profile
@nodlAndHodl
nodlAndHodl / ArcobjectsTable.cs
Created March 14, 2018 17:13
Using Arcobjects For Table Updates in SDE environments
public static void PopulateFeatureToMetadata(ProductMetadataTables metaTable, IFeatureWorkspace tempFWS, IFeatureWorkspace extractWS, string pidTableName)
{
using (ComReleaser comReleaser = new ComReleaser())
{
ITable srcFeatureMetadataTable = extractWS.OpenTable(metaTable.Owner + "." + metaTable.Source_Meta_table);
ITable pidTable = extractWS.OpenTable(pidTableName);
ITable outFeatMetaDataTable = tempFWS.OpenTable(metaTable.Source_Meta_table);
//using these to get the field index for the cursor to search on.
int tempIndePermId = outFeatMetaDataTable.FindField(metaTable.Meta_field);
@nodlAndHodl
nodlAndHodl / task.js
Last active March 30, 2018 19:47
Javascript Create New Object
//using the new keyword for creating javascript object. Using a constructor function.
//Links to an object prototype
//Demo on creation of new constructor
let Task = function(name){
this.name = name;
this.completed = false;
}
//using binding of functions to this.prototype
//using this, reduces the creation of new save,
//or complete function everytime a new Task is created.
@nodlAndHodl
nodlAndHodl / spread.js
Created June 1, 2018 21:34
Spread Operator in ES6
let doWork = function(x, y, z){
return x + y + z;
}
//using the ... syntax on an array we are able to pass in the params as follows:
nums = [1, 2, 3]
let result = doWork(...nums)
//which is the equivelent as
@nodlAndHodl
nodlAndHodl / string-literals.js
Created June 1, 2018 21:39
Template Literals in ES6
//instead of doing string concatenation like so:
let name = "Nick";
let last = "Dude";
let full = "My name is " + name + " " + last;
// we can do the following in ES6 for string literals using template
let redo = `My name is {name} {last}!`;
@nodlAndHodl
nodlAndHodl / class.js
Created June 8, 2018 18:49
ES6 Classes
//this is the old way of creating a class using protypal inheritance.
//As you see this is somewhat cumbersome and difficult to follow
var Employee = function(){
};
//Assign the do work method to the Employee object.
Employee.prototype ={
doWork: function(){
return "complete";
}
@nodlAndHodl
nodlAndHodl / constructor.js
Last active June 8, 2018 19:32
ES6 constructors
//Simple implementation of a class using a the ES6 defined constructor function, showing inheritance
//using Vehicle Class to inherit property from
class Vehicle {
constructor(color){
this._color = color;
}
}
//Car inherits from Vehicle class
@nodlAndHodl
nodlAndHodl / iterator.js
Created June 9, 2018 20:08
Using an iterator to get values from object or array in ES6
//Showing the difference between using a 'for' loop and 'for of' loop in ES6
let numbs = [1,2,3,4,5];
sum = 0;
for (let i = 0; 0 > numbs.length; i++){
sum += numbs[i];
}
console.log(sum); //15
sum = 0;
@nodlAndHodl
nodlAndHodl / books.js
Created June 12, 2018 03:19
Object Comparison
var assert = require('assert');
class Book{
constructor(title, author, year, publisher){
this.title = title;
this.author = author;
this.year = year;
this.publisher = publisher;
}
}
@nodlAndHodl
nodlAndHodl / sum_primes.py
Created June 23, 2018 18:06
Sieve of Eratosthenes Algorithm for Finding Prime Numbers
import math
def primeSieve(sieveSize):
# Returns a list of prime numbers calculated using
# the Sieve of Eratosthenes algorithm.
sieve = [True] * sieveSize
sieve[0] = False # zero and one are not prime numbers
sieve[1] = False
for i in range(2, int(math.sqrt(sieveSize)) + 1):
pointer = i * 2
@nodlAndHodl
nodlAndHodl / series.py
Created June 23, 2018 19:14
Largest In a Series
from collections import deque
digits_str = "73167176531330624919225119674426574742355349194934\
96983520312774506326239578318016984801869478851843\
85861560789112949495459501737958331952853208805511\
12540698747158523863050715693290963295227443043557\
66896648950445244523161731856403098711121722383113\
62229893423380308135336276614282806444486645238749\
30358907296290491560440772390713810515859307960866\
70172427121883998797908792274921901699720888093776\