Install up-to-date PowerShell Core.
$brew cask install powershell
...
$ pwsh --version
| const https = require('https'); | |
| https.get('https://google.com', resp => { | |
| let data = ''; | |
| resp.on('data', chunk => data += chunk); | |
| resp.on('end', () => console.log(data)); | |
| }).on('error', err => console.log(`Error: ${err}`)); |
| { | |
| "name": "practice_adal", | |
| "version": "0.0.1", | |
| "description": "Nothing special", | |
| "main": "index.js", | |
| "scripts": { | |
| "start": "ts-node server.ts" | |
| }, | |
| "author": "", | |
| "license": "ISC", |
| """ | |
| Requirement: | |
| Generate key pairs: | |
| ``` | |
| openssl genrsa -out server.pem 2048 | |
| openssl req -new -key server.pem -out server.csr | |
| openssl x509 -req -days 365 -in server.csr -signkey server.pem -out server.crt | |
| ``` |
| // Practice Ramda | |
| import * as R from 'ramda' | |
| const guys: Array<string> = ["Tom", "Jim"] | |
| const ladies: Array<string> = ["Marry", "Jane"] | |
| // any | |
| R.any(x => x == "Tom")(guys); // true | |
| R.any(x => x == "Tony")(guys); // false |
| // TS basic types | |
| // from https://www.typescriptlang.org/docs/handbook/basic-types.html | |
| // Boolean | |
| let isDone: boolean = false; | |
| // Number (floating point values like JS) | |
| let decimal: number = 6; | |
| let float: number = 6.1; | |
| let hex: number = 0xf00d; |
| import { Subject } from "./subject"; | |
| import { Observer } from "./observer"; | |
| const subject = new Subject(); | |
| const observer1 = new Observer('John'); | |
| const observer2 = new Observer('Tae'); | |
| const observer3 = new Observer('Jin'); | |
| subject.subscribe(observer1); | |
| subject.subscribe(observer2); |
| import { Person } from "./person"; | |
| export class Adult extends Person { | |
| getStatus(): void { | |
| console.log('I am an adult!'); | |
| } | |
| } |
| import { Facade } from "./facade"; | |
| const facade: Facade = new Facade(); | |
| const isEligibile: boolean = facade.checkEligibility(); | |
| console.log(`You are${isEligibile ? '' : 'not'} eligible.`); |
| using System; | |
| namespace ConsoleApplication1 | |
| { | |
| class Program | |
| { | |
| static void Main(string[] args) | |
| { | |
| Counter c = new Counter(new Random().Next(10)); | |
| c.ThresholdReached += c_ThresholdReached; |