###The Web Ahead Conversations with world experts on changing technologies and future of the web. The Web Ahead is your shortcut to keeping up.
###Shop Talk Show An internet radio show about the internet starring Dave Rupert and Chris Coyier.
| <link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'> | |
| <template id="custom-card"> | |
| <style> | |
| :host{ | |
| font-family: 'Open Sans', sans-serif; | |
| font-weight: 100; | |
| } | |
| .flip-container{ | |
| float: left; | |
| margin: 0.5em; |
| <div class="host"> | |
| <div class="loading loading-0"></div> | |
| <div class="loading loading-1"></div> | |
| <div class="loading loading-2"></div> | |
| </div> |
###The Web Ahead Conversations with world experts on changing technologies and future of the web. The Web Ahead is your shortcut to keeping up.
###Shop Talk Show An internet radio show about the internet starring Dave Rupert and Chris Coyier.
| <?xml version="1.0" encoding="utf-8"?> | |
| <!-- Copyright (C) 2011 Jake Wharton | |
| Licensed under the Apache License, Version 2.0 (the "License"); | |
| you may not use this file except in compliance with the License. | |
| You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software | |
| distributed under the License is distributed on an "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| See the License for the specific language governing permissions and |
| dependencies { | |
| compile 'com.android.support:design:22.2.1' | |
| } |
| const chai = require('chai'); | |
| const expect = chai.expect; | |
| chai.use(require('chai-as-promised')); | |
| chai.should(); | |
| describe('Promises', function() { | |
| it('Should be true', function() { | |
| return Promise.resolve(true).should.eventually.equal(true); | |
| }); |
| import {AbstractControl} from '@angular/forms'; | |
| export const CpfValidator = { | |
| numberValidator:function(){ | |
| return (control:AbstractControl):{[key:string]:any} =>{ | |
| let multipliers = [10,9,8,7,6,5,4,3,2] | |
| let value = control.value.replace(/\D+/g, ''); | |
| if(value.length===11){ | |
| control.markAsTouched(); | |
| let total = value.split('').reduce((total, item) => { |
https://code.visualstudio.com/
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs| var Foo = function () { | |
| if(this instanceof Foo){ | |
| this.a = true; | |
| this.b = 'hello'; | |
| this.c = 5; | |
| } else { | |
| return new Foo(); | |
| } | |
| }; |
| 'use strict'; | |
| const nodemailer = require('nodemailer'); | |
| const {smtp} = require('./config.json'); | |
| const smtpTransport = require('nodemailer-smtp-transport'); | |
| // Generate test SMTP service account from ethereal.email | |
| // Only needed if you don't have a real mail account for testing | |
| nodemailer.createTestAccount((err, account) => { | |
| // create reusable transporter object using the default SMTP transport |