Skip to content

Instantly share code, notes, and snippets.

View IEvangelist's full-sized avatar
:octocat:
Coding for a better world 🤓

David Pine IEvangelist

:octocat:
Coding for a better world 🤓
View GitHub Profile

Upgrade Yourself: Most Valued Developer

In programming we know countless ways to solve the same problem. The same is true with professional growth. No two paths are alike and you control your own destiny. I'm thrilled to share my failed attempts and the lessons-learned. We'll clear your path - where every challenge is an opportunity. From blogging to speaking. From open-source contributions to stackoverflow Q/A. From attending conferences to organizing them. We will take on impostor syndrome and grow together! You'll see how becoming a social developer can launch your career to the next level.

What's new in C#

The C# language team has been making some awesome improvements. In March 2017, we were given C# 7. This major release brought some powerful features such as: pattern-matching, tuple literals/deconstruction, and local functions to name a few. Since then the team introduced the notion of point releases. Expect to learn about all the features of C# 7, as well as the C# 7.1 and 7.2 point releases. Additionally, we'll take a look at the plan for C# 8.

This is a sample app, trying to demonstrate the smallest ASP.NET Core Minimal API, a "Hello World!" example. The Program.cs* is only three lines of code.

Program.cs:

var app = WebApplication.CreateBuilder(args).Build();
app.MapGet("/", () => "Hello World!");
app.Run();
@IEvangelist
IEvangelist / blah.md
Created August 19, 2017 23:22
Becoming a better Person through Software Development as a Career

// TODO

This is a TEST

Only a Test

Where a variable namely, a is correctly formatted when shared.

And, we can block quote all the things 😄 and code blocks work too!

public Task<Toppings> GetToppingsAsync([FromServices] toppingsService)
    => toppingsService.ResolveToppingsAsync();
// If this call fails, we'll try it again with the same payload two times
getFooBars(onNext: (fooBars: FooBar[]) => void) {
this.get("api/foobar")
.map(response => <FooBar[]>response.json())
.retry(2)
.subscribe(onNext,
error =>
console.log("An error occurred when requesting api/foobar.", error));
}
// Simple .ctor()
constructor(http: Http) { }
// Is equivalent to...
http: Http; // When the access modifier is omitted it's defaulted to public
constructor(http: Http) {
this.http = http;
}
// Simple .ctor()
constructor(private http: Http) { }
// Is equivalent to...
private http: Http;
constructor(http: Http) {
this.http = http;
}
import {Observable} from "RxJS/Rx";
import {Injectable} from "@angular/core";
import {Http} from "@angular/http";
@Injectable() export class ExampleService {
constructor(private http: Http) { }
getFooBars(onNext: (fooBars: FooBar[]) => void) {
this.get("api/foobar")
.map(response => <FooBar[]>reponse.json())
module ExampleModule {
export class ExampleService implements IExampleService {
static $inject = ["$http", "$q"];
private $http: ng.IHttpService;
private $q: ng.IQService;
constructor($http: ng.IHttpService,
$q: ng.IQService) {
this.$http = $http;