Skip to content

Instantly share code, notes, and snippets.

View micalevisk's full-sized avatar
🇧🇷
HTTP 499 ~ Adding bugs to programs.‏‏‎

Micael Levi L. Cavalcante micalevisk

🇧🇷
HTTP 499 ~ Adding bugs to programs.‏‏‎
View GitHub Profile
@micalevisk
micalevisk / timeout.interceptor.spec.ts
Last active August 7, 2022 01:27
An attempt to unit test a timeout NestJS (v8) interceptor.
import { createMock } from '@golevelup/ts-jest';
import { CallHandler, ExecutionContext, RequestTimeoutException } from '@nestjs/common';
import { throwError } from 'rxjs';
import { marbles } from 'rxjs-marbles/jest';
import { TimeoutInterceptor } from '@/api/interceptors/timeout.interceptor';
describe('TimeoutInterceptor', () => {
const TIMEOUT = TimeoutInterceptor.TIMEOUT_RESPONSE_TIME_MS;
//
@micalevisk
micalevisk / README.md
Last active March 2, 2021 20:01
https://www.octotree.io (free version) dark style for GitHub dark mode. (Firefox)
@micalevisk
micalevisk / blur-vscode-panels.js
Last active October 23, 2020 18:10
blur visible Visual Studio Code panels (tested on VSC v1.50.1)
// go to Help > Toggle Developer Tools
const toogleInlineStyle = (el, styleProp, styleValue) =>
!!el.style[styleProp] ? (el.style[styleProp]='') : (el.style[styleProp]=styleValue)
const blur = () =>
document.querySelectorAll('[class="monaco-scrollable-element editor-scrollable vs-dark"]')
.forEach(el => toogleInlineStyle(el, 'filter', 'blur(3px)'))
@micalevisk
micalevisk / read-that-sheet.js
Last active September 18, 2022 05:21
Dead simple NodeJS script to read public Google Sheets as CSV. (just the first sheet)
// $ npm install -g google-spreadsheet
const { GoogleSpreadsheet } = require('google-spreadsheet')
const API_KEY = '<YOUR-SUPER-SECRET-API-KEY>' // See: https://developers.google.com/sheets/api/guides/authorizing#APIKey
const SHEET_ID = '<target-sheet-id>' // spreadsheet key is the long id in the sheets URL
const doc = new GoogleSpreadsheet(SHEET_ID)
doc.useApiKey(API_KEY)
@micalevisk
micalevisk / nodejs-puzzle.js
Last active August 19, 2022 19:20
Without running the code... what message is printed? (James Snell puzzle) https://youtu.be/XV-u_Ow47s0?t=234
// (c) https://youtu.be/XV-u_Ow47s0?t=234
// run with: node --no-warnings nodejs-puzzle.js
const { promisify } = require('util');
const sleep = promisify(setTimeout);
async function bar(n, s, t) {
setImmediate(() => process.stdout.write(s));
await sleep(n);
return t;
}
@micalevisk
micalevisk / code.js
Last active October 25, 2019 18:24
Get moments from YouNow! https://www.younow.com
// Go to https://www.younow.com and paste the code below on console dev tools
const params = {
user: 'Iamhannahstone',
createdBefore: 0,
records: 20,
};
fetch(`https://cdn.younow.com/php/api/channel/getInfo/user=${params.user}`)
.then(res => res.json())
.then(data => data.userId)
@micalevisk
micalevisk / .progress.
Last active August 31, 2023 00:01
📋 Reading List (updated at: 05/09/2022 22:13:43 [America/Manaus])
Articles █████████████▋░░░░░░░ 65.1%
Videos ██████████████████▌░░ 88.3%
Books ████████▋░░░░░░░░░░░░ 41.4%
Learn React ████████████░░░░░░░░░ 57.1%
Learn TypeScript █████████████████████ 100.0%
GitHub ████████████████▊░░░░ 80.0%
@micalevisk
micalevisk / lista2.md
Last active December 26, 2021 17:36
coisas de Banco de Dados 1 2017/02

Lista de Exercícios - Álgebra Relacional

Enunciados

  • (1) Quais os modelos de PC têm uma velocidade de pelos menos 3.00?
  • (2) Quais os fabricantes fazem laptops com um disco rígido de pelo menos 100GB?
  • (3) Encontre o número do modelo e preço de todos os produtos (de qualquer tipo) que são produzidos pelo fabricante B
  • (4) Encontre os números dos modelos de todas as impressoras a laser coloridas
  • (5) Encontre os fabricantes que vendem laptops, mas não PCs
  • (6) Encontrar os tamanhos de discos rígidos que ocorrem em dois ou mais PCs
@micalevisk
micalevisk / respostas.md
Last active September 1, 2018 19:25
[PW 2018/1] Lista de revisão para a prova final

1

Tipagem dinâmica significa que os tipos das variáveis são associadas à valores, e não à variáveis. Ou seja, o tipo de uma variável é inferido em tempo de execução, o que permite que ela seja variada no decorrer do código.

<?php
$foo = 'bar'; // tipo `string`
$foo = 123;   // agora é do tipo `integer`
$foo = 1.3; // agore é do tipo `double`