Skip to content

Instantly share code, notes, and snippets.

View fox1t's full-sized avatar

Maksim Sinik fox1t

View GitHub Profile
<meta property="og:title" content="Nucleode | Unique team. Unique solutions." class="next-head"/>
<meta property="og:type" content="website" class="next-head"/>
<meta property="og:description" content="Nucleode is a newborn healthcare startup based in Italy. We develop solutions dedicated to healthcare companies and organizations." class="next-head"/>
<meta property="og:image" content="https://nucleode.com/static/img/social.jpg" class="next-head"/>
<meta property="og:url" content="https://nucleode.com" class="next-head"/>
@fox1t
fox1t / immutable-arrays.js
Created November 10, 2017 09:53
Immutable array methods
const clone = x => [...x]
const push = y => [...x, y]
const pop = x = > x.slice(0, -1)
const unshift = y => x => [y, ...x]
const shift = x => x.slice(1)
const sort = f => x => [...x].sort(f)
const delete = i => x => [...x.slice(0, i), ...x.slice(i+1)]
const splice = (s, c, ...y) => x => [...x.slice(0, s), ...y, ...x.slice(s + c)]
@fox1t
fox1t / dummy.js
Created November 21, 2017 10:47
Dummy test
// immagina che pippo e giggio siano due oggetti molto più complessi
// e che tu conosca la signature con la quale verrà lanciata la funzione callback di
// highGreetings. Non hai bisogno del primo parametro, ma solo del secondo.
const highGreetings = (fn) =>
fn('pippo', 'gigio')
// hai bisogno per forza di gigio
// una possibilità è:
highGreetings((_, y) => {
console.log(y)
module.exports = (variables) => {
if (!Array.isArray(variables)) {
throw new Error('Variables must be an array')
}
const missing = variables
.reduce((missing, current) => !process.env[variable] ? [...missing, current] : missing, [])
if (missing.length > 0) {
const message = missing.length === 1 ?
`Missing environment variable ${missing[0]}`:
const parse = (env) =>
env
.split(/\r?\n|\r/g)
.reduce((obj, line) => {
const matched = line.match(/^\s*([\w\.\-]+)\s*=\s*(.*)?\s*$/)
if (matched != null) {
return Object.assign({}, _.set(obj, matched[1].toLowerCase(),matched[2] || '' ))
}
return obj
}, {})
declare namespace closeWithGrace {
interface Options {
/**
* The numbers of milliseconds before abruptly close the process
* @default 10000
*/
delay: number;
}
type Signals = "SIGTERM" | "SIGINT";
import { expectType, expectAssignable, expectError } from "tsd";
import * as closeWithGrace from ".";
import {
Options,
CloseWithGraceCallback,
CloseWithGraceAsyncCallback,
Signals,
} from ".";

TrustLayer Take-home exercise

Full-Stack Software Engineers Candidates

Objective:

Develop a TypeScript web application named "Event Feedback Hub", where users can share their feedback on events they attended (workshops, webinars, conferences), and view others' feedback in real-time.

Application Requirements