(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
public class MyAppMain { | |
private final static Logger logger = LoggerFactory.getLogger(MyAppMain.class); | |
private final static String ENV_PREFIX_PROPERTY = "MYAPP_ENV_PREFIX"; | |
private final static String ENV_PREFIX_DEFAULT = "MYAPP_"; | |
public static void main(String[] args) { | |
String propertyPrefix = System.getenv().getOrDefault(ENV_PREFIX_PROPERTY, ENV_PREFIX_DEFAULT); | |
ConfigData configData = ConfigData.of() | |
.yaml(ClassLoader.getSystemResource("application.yaml")) |
server: | |
port: 9500 | |
idol: | |
host: localhost | |
indexPort: 9001 | |
searchPort: 9000 |
public class HandlerFactory implements ratpack.launch.HandlerFactory{ | |
private final static Logger logger = LoggerFactory.getLogger(HandlerFactory.class); | |
private ConfigData configData; | |
public HandlerFactory(ConfigData configData) { | |
this.configData = configData; | |
} | |
@SuppressWarnings({ "unchecked", "rawtypes" }) | |
@Override |
import lombok.Data; | |
@Data | |
public class IdolConfig { | |
String host; | |
int indexPort; | |
int searchPort; | |
} |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
import theano | |
import theano.tensor as T | |
from theano.sandbox.rng_mrg import MRG_RandomStreams as RandomStreams | |
from theano.tensor.signal.downsample import max_pool_2d | |
from theano.tensor.extra_ops import repeat | |
from theano.sandbox.cuda.dnn import dnn_conv | |
from time import time | |
import numpy as np | |
from matplotlib import pyplot as plt |
/** | |
* search for email with gmailSearchQuery (e.g. "to: [email protected] subject: spam") | |
* and get the raw content of the mail | |
*/ | |
async searchEmail(gmailSearchQuery: string): Promise<any[]> { | |
const auth = await this.authorize(); | |
const gmail = google.gmail({ version: 'v1', auth }); | |
return new Promise((resolve, reject) => { | |
gmail.users.messages.list( | |
{ |
import { browser, ElementFinder, ExpectedConditions, ProtractorBrowser, by } from 'protractor'; | |
export const defaultTimeout = 10000; | |
export class AppPo { | |
browserWindow: ProtractorBrowser; | |
constructor(browserWindow: ProtractorBrowser = browser) { | |
this.browserWindow = browserWindow; | |
} |
import gmailCred from '../resources/gmail.credentials.json'; | |
import { gmail_v1, google } from 'googleapis'; | |
import * as fs from 'fs'; | |
import { OAuth2Client } from 'google-auth-library'; | |
import { browser, by, ElementFinder } from 'protractor'; | |
// If modifying these scopes, delete token.json. | |
const SCOPES = ['https://www.googleapis.com/auth/gmail.readonly']; | |
// The file token.json stores the user's access and refresh tokens, and is | |
// created automatically when the authorization flow completes for the first |
FROM nextflow:19.07.0 | |
# copy nextflow pipeline to /bfx/nextflow | |
ADD . /bfx/nextflow | |
# install git (and configure it), nginx, fcgiwrap and apache2-utils | |
RUN apt-get update && \ | |
apt-get install -y git && \ | |
git config --global user.email "[email protected]" && \ | |
git config --global user.name "company admin" && \ |