Skip to content

Instantly share code, notes, and snippets.

View OberdanBrito's full-sized avatar

Oberdan Brito OberdanBrito

View GitHub Profile
@OberdanBrito
OberdanBrito / Obter imagem dentro do texto HTML
Last active August 18, 2021 14:24
Método para pesquisar imagens dentro de HTML fazer upload e aguardar o retorno dentro de looping asincrono
async ObtemConteudodoEmail() {
let parser = new DOMParser();
this.doc = parser.parseFromString(this.editor.getContent(), 'text/html');
let imagens = Array.from(this.doc.getElementsByTagName('img'))
await Promise.all(imagens.map(async (elemento) => {
elemento.src = await this.ModificaImagem(elemento.src)
@OberdanBrito
OberdanBrito / index.js
Created April 10, 2021 22:14
Exemplo de upload usando NodeJS
/**
* @author: Oberdan Brito
* @copyright 2021 Craos.NET
* @description Exemplo de upload usando NodeJS
* @license MIT
* @site Para visualizar o código completo acess: https://github.com/OberdanBrito/Upload-com-NodeJS
*/
const Config = require('./config')
const express = require('express')
@OberdanBrito
OberdanBrito / Ajsutar o tamanho da imagem
Last active August 18, 2021 14:27
Recebe uma string base64 para ajuste do tamanho
resizeImage(base64Str, maxWidth = 400, maxHeight = 350) {
return new Promise((resolve) => {
let img = new Image()
img.src = base64Str
img.onload = () => {
let canvas = document.createElement('canvas')
const MAX_WIDTH = maxWidth
const MAX_HEIGHT = maxHeight
let width = img.width
let height = img.height
@OberdanBrito
OberdanBrito / Datas Retroativas.sql
Created September 20, 2021 18:52
O exemplo utiliza o looping do banco de dados dentro de cada linha para gerar uma sequência de 365 dias do ano para cada registro da tabela de destino
/**
* Como obter datas retroativas usando o bloco de código, Looping
*/
do
$$
begin
for i in 1 .. 365 loop
raise notice '%', current_date - i || 'T00:00:00.000Z';
@OberdanBrito
OberdanBrito / meses_corrente.sql
Created September 26, 2022 17:45
PostgresqL - gerador de meses para intervalo de 1 ano
create or replace view api.consultoria_remessa_meses(ano, mes) as
SELECT c.ano,
c.mes::integer AS mes
FROM ( SELECT date_part('year'::text, CURRENT_DATE) AS ano,
to_char(a.datas::timestamp with time zone, 'mm'::text) AS mes
FROM ( SELECT date_trunc('month'::text, datas.datas)::date AS datas
FROM generate_series((date_part('year'::text, CURRENT_DATE)::text || '-01-01'::text)::timestamp without time zone, (date_part('year'::text, CURRENT_DATE)::text || '-12-01'::text)::timestamp without time zone, '1 mon'::interval) datas(datas)) a
WHERE date_part('month'::text, a.datas) >= (date_part('month'::text, CURRENT_DATE) - 6::double precision)
UNION
SELECT date_part('year'::text, CURRENT_DATE) + 1::double precision AS ano,
@OberdanBrito
OberdanBrito / home.dart
Created December 24, 2022 13:16
página inicial do aplicativo qui:casa
import 'package:flutter/material.dart';
import 'sidebar.dart';
import 'theme.dart';
import 'package:unit/docs/docs_list.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:carousel_slider/carousel_slider.dart';
class HomePage extends StatefulWidget {
const HomePage({Key? key}) : super(key: key);
@OberdanBrito
OberdanBrito / contacts_list.dart
Created December 27, 2022 10:46
Lista de contatos
// ignore_for_file: depend_on_referenced_packages
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:gestor_commons/data/data.dart';
import 'package:gestor_commons/theme.dart';
import 'package:gestor_commons/images.dart';
import 'package:intl/intl.dart';
@OberdanBrito
OberdanBrito / contacts.dart
Created December 30, 2022 19:41
Página para gestão de contatos do dispositivo. Através desta é possível adicionar, remover, pesquisar e criar uma lista de convidados
// ignore_for_file: depend_on_referenced_packages, unnecessary_import
import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:gestor_commons/data/data.dart';
import 'package:gestor_commons/images.dart';
import 'package:gestor_commons/theme.dart';
@OberdanBrito
OberdanBrito / contacts_list.dart
Created December 30, 2022 22:28
gerenciamento de contatos
// ignore_for_file: depend_on_referenced_packages
import 'dart:async';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:gestor_commons/data/data.dart';
import 'package:gestor_commons/images.dart';
import 'package:gestor_commons/theme.dart';
@OberdanBrito
OberdanBrito / gist:253fc530539c3e72d6268826829151be
Created March 20, 2023 17:46
Código e VBA para separar informações em diferntes arquivos
Dim linha, contador, inicio, final, vazios As Long
Function FormatarNomeArquivo(str As String) As String
Dim i As Long, letters As String, letter As String
letters = vbNullString
For i = 1 To Len(str)
letter = VBA.Mid$(str, i, 1)
If (Asc(LCase(letter)) >= 97 And Asc(LCase(letter)) <= 122) Or letter = Chr(32) Then
letters = letters + letter
End If