Get Homebrew installed on your mac if you don't already have it
Install highlight. "brew install highlight". (This brings down Lua and Boost as well)
# To have launchd start mongodb at login: | |
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents | |
# Then to load mongodb now: | |
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist | |
# Or, if you don't want/need launchctl, you can just run: | |
mongod --config /usr/local/etc/mongod.conf |
Get Homebrew installed on your mac if you don't already have it
Install highlight. "brew install highlight". (This brings down Lua and Boost as well)
{ | |
// JSHint Default Configuration File (as on JSHint website) | |
// See http://jshint.com/docs/ for more details | |
"maxerr" : 50, // {int} Maximum error before stopping | |
// Enforcing | |
"bitwise" : true, // true: Prohibit bitwise operators (&, |, ^, etc.) | |
"camelcase" : false, // true: Identifiers must be in camelCase | |
"curly" : true, // true: Require {} for every new block or scope |
const fs = require('fs') | |
function readPackage (callback) { | |
//as of now we do not have default values in Node.js | |
callback = callback || function () {} | |
return new Promise((resolve, reject) => { | |
fs.readFile('./package.json', (err, data) => { | |
if (err) { | |
reject(err) | |
return callback(err) |
import org.springframework.beans.factory.annotation.Value; | |
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | |
import org.springframework.scheduling.annotation.Scheduled; | |
import org.springframework.stereotype.Service; | |
import twitter4j.*; | |
import javax.annotation.PostConstruct; | |
import java.io.IOException; | |
import java.nio.file.Files; | |
import java.nio.file.Paths; |
" _ _ " | |
" _ /|| . . ||\ _ " | |
" ( } \||D ' ' ' C||/ { % " | |
" | /\__,=_[_] ' . . ' [_]_=,__/\ |" | |
" |_\_ |----| |----| _/_|" | |
" | |/ | | | | \| |" | |
" | /_ | | | | _\ |" | |
It is all fun and games until someone gets hacked! |
public class GeminiException extends Exception { | |
String errorCodeName; | |
protected GeminiException(String errorCodeName) { | |
super(errorCodeName); | |
this.errorCodeName = errorCodeName; | |
} | |
protected GeminiException(String errorCodeName, String message) { | |
super(message); |
public class EntityRecordException extends GeminiException { | |
public enum Code { | |
MULTIPLE_LK_FOUND, | |
LK_NOTFOUND, | |
INSERTED_RECORD_NOT_FOUND | |
} | |
private final Entity entity; | |
private final Collection<? extends Record.FieldValue> lk; | |
private final Code errorCode; |
@Service | |
public class ErrorService implements InitializingBean { | |
private List<String> ERROR_CODES = new ArrayList<>(); | |
@Override | |
public void afterPropertiesSet() throws Exception { | |
ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(false); | |
provider.addIncludeFilter(new AssignableTypeFilter(GeminiException.class)); | |
Set<BeanDefinition> components = provider.findCandidateComponents("it.at7.gemini"); | |
for (BeanDefinition component : components) { |