![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Node.js ::: Node.js + MongoDB ::: Passos Iniciais |
Node.js MongoDB - Como instalar o driver do MongoDB no Node.js e efetuar uma conexão Node.js + MongoDBQuantidade de visualizações: 1995 vezes |
|
Assumindo que você já conhece o banco de dados MongoDB, já fez sua instalação e já está um pouco familiarizado com suas características, nesta dica mostrarei como podemos efetuar uma conexão Node.js + MongoDB. Este é o passo inicial para desenvolver aplicações MEAN (Mongo, Express, Angular, Node) ou MERN (Mongo, Express, React, Node). Note que, nessa dica, usarei apenas o MongoClient para efetuar a conexão com o banco de dados MongoDB. Em outras dicas eu abordo o Mongoose. Então vamos iniciar. A primeira coisa que temos que fazer é instalar o driver MongoDB. Assim, com o Node.js devidamente instalado e funcionando, e com o banco MongoDB em perfeito funcionamento também, abra uma janela de terminal e digite o comando: npm install mongodb Após alguns minutos, a instalação será concluída e teremos o seguinte resultado: + mongodb@3.6.4 added 17 packages from 9 contributors and audited 20 packages in 9.358s 1 package is looking for funding run `npm fund` for details found 0 vulnerabilities Agora já podemos escrever o código que efetua a conexão Node.js com o MongoDB. Abra o seu editor de códigos favorito e digite a listagem abaixo:
// vamos obter uma referência ao MongoClient
var MongoClient = require('mongodb').MongoClient;
// vamos nos conectar à base de dados escola
var url = 'mongodb://localhost:27017/escola';
// Vamos nos conectar ao servidor e base de dados. Atenção: Em caso de erro, a
// função pode demorar a retornar, pois o Node.js pode pensar que é lentidão
// na rede
MongoClient.connect(url, {useUnifiedTopology: true}, function(err, db) {
if(err){
console.log("Não foi possível efetuar a conexão. Erro: " + err);
}
else{
console.log("Conexão efetuada com sucesso.");
}
// finalmente vamos fechar a conexao
if(db){
db.close();
}
});
Salve este código como conexao.js e execute-o no Node.js (com o MongoDB rodando, é claro) com o seguinte comando: c:\estudos_nodejs>node conexao.js Se tudo correr bem você verá a mensagem: Conexão efetuada com sucesso. Veja que, nesse código, eu efetuei uma conexão com a base de dados escola. Se a porta e o servidor estiverem corretos (talvez você tenha que informar um usuário e senha também), a conexão será efetuada com sucesso mesmo que a base de dados não exista. Quando informamos uma base de dados inexistente, o MongoDB entende que queremos criá-la, mas ele só a cria de fato, quando solicitamos a criação de uma nova coleção. Em mais dicas dessa seção você aprenderá como criar coleções no MongoDB a partir de seus códigos Node.js. Até lá e bons estudos. |
C++ ::: Win32 API (Windows API) ::: Aplicativos e Outros |
C++ Windows API GUI - Como criar sua primeira aplicação de interface gráfica usando C++ e WinAPIQuantidade de visualizações: 48630 vezes |
|
Esta dica mostra o código completo para uma aplicação de interface gráfica usando C++ e a Win32 (WinAPI - Windows Programming Interface). Trata-se de uma janela simples, mas com todas as características presentes em todas as janelas das aplicações Windows: uma barra de títulos, o ícone e os botões de maximizar, minimizar e fechar. Antes de executar o exemplo observe que este código contém o ponto inicial para a criação de qualquer aplicação gráfica em C++/WinAPI, a saber: A função de entrada WinMain, o laço de mensagens Message Loop, a função de callback Window Procedure e as técnicas de registrar e criar a janela. Neste momento não discutimos os detalhes do código. Em outras dicas você encontrará análises mais aprofundadas de cada parte. Este código foi escrito e testado no Dev-C++, mas, deve funcionar sem problemas em outros compiladores C++ para Windows. Assim, abra o Dev-C++, vá em File -> New -> Projec. Na aba Basic, selecione Console Application, dê um nome ao projeto e deixe a opção C++ Project marcada. Salve o projeto e inclua o código abaixo no arquivo .cpp principal:
#include <windows.h>
// define o nome da classe de janela
const char nomeJanela[] = "aCodigos";
// esta é a Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM
wParam, LPARAM lParam){
switch(msg){
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, msg, wParam,
lParam);
}
return 0;
}
// função de entrada da aplicação
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE
hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
WNDCLASSEX wc;
HWND hwnd;
MSG Msg;
// vamos registrar a Window Class
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.lpszMenuName = NULL;
wc.lpszClassName = nomeJanela;
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if(!RegisterClassEx(&wc)){
MessageBox(NULL, "Erro ao registrar a janela!",
"Erro!", MB_ICONEXCLAMATION | MB_OK);
return 0;
}
// cria a janela
hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, nomeJanela,
"Minha primeira aplicação Win32",
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,
350, 200, NULL, NULL, hInstance, NULL);
if(hwnd == NULL){
MessageBox(NULL, "Erro ao criar a janela!",
"Erro!", MB_ICONEXCLAMATION | MB_OK);
return 0;
}
// mostra a janela
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
// Este é o laço de mensagens (Message Loop)
while(GetMessage(&Msg, NULL, 0, 0) > 0){
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
Pronto! Só compilar (geralmente F9 no Dev-C++), observar o resultado e estudar o código atentamente. |
PHP ::: Dicas & Truques ::: PDO (PHP Data Objects) |
PHP PDO - Como disparar comandos SELECT usando a função PDO->query()Quantidade de visualizações: 15210 vezes |
|
Nesta dica mostrarei como disparar uma query SELECT usando PDO->query(). Veja que mostramos ainda como percorrer os resultados obtidos. Para este exemplo eu me conectei a um banco de dados MySQL e obtive dados de uma tabela chamada "produtos". Veja o código PHP PDO MySQL completo para o exemplo (incluindo a conexão com o banco de dados):
<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
<?php
// primeiro vamos obter a conexão com o banco de dados
$server = "localhost";
$user = "root";
$pass = "osmar1234";
$db = "estudos";
try{
$conn = new PDO("mysql:host=$server;dbname=$db",
$user, $pass);
// echo "Conexão efetuada com sucesso.";
}
catch(PDOException $e){
die('Não foi possível conectar: ' . $e->getMessage());
}
// agora que já temos a conexão, vamos disparar
// o comando DML SELECT
$resultado = $conn->query("SELECT * FROM produtos");
if($resultado){
while($linha = $resultado->fetch(PDO::FETCH_ASSOC)){
echo "Id: " . $linha['id'] . "<br>";
echo "Nome: " . $linha['nome'] . "<br>";
echo "Preço: " . $linha['preco'] . "<br>";
echo "Quantidade: " . $linha['quantidade'] . "<br><br>";
}
}
?>
</body>
</html>
Ao executar este código nós teremos o seguinte resultado: Id: 1 Nome: ARROZ TIPO A Preço: 13 Quantidade: 320 Id: 2 Nome: FEIJÃO CARIOCA Preço: 9.5 Quantidade: 120 Id: 3 Nome: EXTRATO DE TOMATE AMD Preço: 4.24 Quantidade: 50 |
Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: Passos Iniciais |
Como usar a biblioteca Pandas do Python em seus projetos de Data Science e Machine LearningQuantidade de visualizações: 3531 vezes |
|
A biblioteca Pandas foi criada por Wes McKinney em 2008 e, desde então, tem sido adotada em projetos que envolvem Big Data, Data Science, Data Mining, Machine Learning e até mesmo aplicações gerais de Inteligência Artificial (IA). Esta biblioteca nos oferece funções para o trabalho com datasets (conjunto de dados). Tais funções permitem analisar, limpar, explorar e manipular dados. Isso faz todo sentido, visto que o nome Pandas é uma referência à "Panel Data" e "Python Data Analysis". Já tenho o Pandas disponível na minha instalação do Python? Antes de iniciar qualquer projeto que envolva a bilioteca Pandas, é importante verificar se a mesma está disponível em sua instalação do Python. Isso pode ser de várias formas. Mostrarei como obter a lista de módulos usando a opção "list" do pip. Basta abrir uma janela de terminal e disparar o seguinte comando: C:\Users\Osmar>pip list Você terá um resultado parecido com: Package Version ----------------- ------- astroid 2.4.2 colorama 0.4.4 isort 5.6.4 lazy-object-proxy 1.4.3 mccabe 0.6.1 numpy 1.19.4 pandas 1.1.5 Pillow 8.0.1 pip 20.2.3 pylint 2.6.0 python-dateutil 2.8.1 pytz 2020.4 setuptools 49.2.1 six 1.15.0 toml 0.10.2 wrapt 1.12.1 wxPython 4.1.1 Uma outra forma é tentando importar o módulo pandas. Veja:
# importamos a bibliteca Pandas
import pandas as pd
def main():
# vamos mostrar a versão da biblioteca Pandas
versao = pd.__version__
print("A versão do Pandas é:", versao)
if __name__== "__main__":
main()
Se você tiver o Pandas instalado, o resultado desse código será algo como: A versão do Pandas é: 1.1.5 Se você não tiver a biblioteca Pandas instalada, a seguinte mensagem de erro será exibida:
Exception has occurred: ModuleNotFoundError
No module named 'pandas'
File "C:\estudos_python\estudos.py", line 2, in <module>
import pandas as pd
Não tenho o Pandas ainda. O que faço? Abra uma janela de terminal e dispare o comando abaixo: C:\Users\Osmar>pip install pandas Depois de alguns segundos você verá o seguinte resultado:
Collecting pandas
Downloading pandas-1.1.5-cp39-cp39-win_amd64.whl (8.9 MB)
|-| 8.9 MB 1.7 MB/s
Collecting numpy>=1.15.4
Downloading numpy-1.19.4-cp39-cp39-win_amd64.whl (13.0 MB)
|-| 13.0 MB 3.3 MB/s
Collecting pytz>=2017.2
Downloading pytz-2020.4-py2.py3-none-any.whl (509 kB)
|-| 509 kB 6.4 MB/s
Collecting python-dateutil>=2.7.3
Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
|-| 227 kB 3.2 MB/s
Requirement already satisfied: six>=1.5 in
c:\users\osmar\appdata\roaming\python\python39\site-packages
(from python-dateutil>=2.7.3->pandas) (1.15.0)
Installing collected packages: numpy, pytz,
python-dateutil, pandas
Successfully installed numpy-1.19.4 pandas-1.1.5
python-dateutil-2.8.1 pytz-2020.4
WARNING: You are using pip version 20.2.3; however,
version 20.3.1 is available.
You should consider upgrading via the 'c:\python_3_9_1\python.exe -m pip install
--upgrade pip' command.
Obteve resultado parecido? Pronto! Você já pode começar a usar a biblioteca Pandas em seus aplicações Python. |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como retornar o tamanho de uma string em JavaScript usando a propriedade length do objeto String JavaScript - Como testar se um ponto está dentro de um círculo em JavaScript - Desenvolvimento de Games com JavaScript Java - Programação Orientada a Objetos em Java - Como usar o modificador de acesso public da linguagem Java |
Você também poderá gostar das dicas e truques de programação abaixo |
|
PHP - Manipulação de texto em PHP - Como acessar e modificar os caracteres individuais de uma string Delphi - Como obter e exibir todos os itens selecionados em uma TListBox do Delphi de seleção múltipla Java - Estruturas de Dados em Java - Como inserir nós no início de uma lista singularmente ligada em Java |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |



