sexta-feira, 26 de agosto de 2022
How to install Drush globally for Drupal?
domingo, 20 de fevereiro de 2022
Google Adsense e Google Ads: qual a diferença?
Muita gente tem dúvida e não sabe a diferença entre Google Adsense e Google Ads. Além disso, siglas relacionadas a estes mecanismos de anúncios podem causar muitas confusões. Para descomplicar, criei este artigo bem simples e objetivo. Vejamos dois exemplos:
Exemplo 1: João tem um website legal onde ele disponibiliza conteúdos autorais e de qualidade. Ele quer ganhar dinheiro anunciando propagandas no seu website. Para isso ele utiliza o Google Adsense para divulgar as propagandas e ganhar dinheiro por clique ou por visualização.
Exemplo 2: Maria tem um negócio (comércio físico, comércio eletrônico, produto autorial ou afiliados). Ela deseja divulgar o seu negócio para que muitas pessoas vejam e cheguem no seu serviço. Para isso ela pode pagar para o Google Ads anunciar o produto dela.
Vimos dois exemplos distintos do que seria o Google Ads e o Google Adsense. Para explicar melhor, vamos para as perguntas.
O que é Google Adsense?
O que é Google Ads?
O que é CPC?
O que é CPM?
terça-feira, 7 de dezembro de 2021
How to migrate large ammount of data from Drupal 7 to Drupal 9 (or Drupal 8)
terça-feira, 21 de julho de 2020
Como configurar múltiplos websites utilizando o CMS Drupal 8
quarta-feira, 6 de fevereiro de 2019
Web Scraping
Web Scraping (raspagem da web) é uma técnica de extração de dados da web, usualmente conteúdos html ou xml.
É uma maneira de obter dados de um website por meio de um processo automatizado. As ferramentas realizam consultas para as páginas solicitadas e, em seguida, vasculham o código HTML e recuperam os itens específicos.
Com Web Scraping podemos recuperar dados valiosos e exportar para uma planilha excel ou outro formato para análise de dados.
Existem diversas ferramentas que fazem o webscrapping. Algumas exigem conhecimentos de programação, outros fazem de forma automatizada. Obviamente, as API de web scraping permitem customizar melhor o interesse do seu cliente, podendo aprimorar a extração de dados.
Para mais informações: www.google.com.br
quarta-feira, 29 de agosto de 2018
Best databases for searching articles related to Computer Engineering and Computer Science
- IEEE Xplore: https://ieeexplore.ieee.org/Xplore/home.jsp
- ACM Digital Library: https://dl.acm.org/
- Springer links: https://link.springer.com/
- Scorpus: https://www.scopus.com
- Google Scholar: https://scholar.google.com/
- Search for recent articles of maximum 5 years;
- Give preference to magazine articles whose publication criteria are usually higher;
- Also search for Google in journals / journals in your research area.
Melhores bases de dados para pesquisar artigos de Engenharia Elétrica, Eletrônica, Computação
- IEEE Xplore: https://ieeexplore.ieee.org/Xplore/home.jsp
- ACM Digital Library: https://dl.acm.org/
- Springer links: https://link.springer.com/
- Scorpus: https://www.scopus.com
- Google Acadêmico: https://scholar.google.com.br/
- Pesquise por artigos recentes de no máximo 5 anos;
- Dê preferência para artigos de revista cujo critério para publicação costuma ser maior;
- Pesquise também pelo Google em revistas/journal de sua área de pesquisa.
domingo, 5 de fevereiro de 2017
Como apresentar a leitura de um comando de voz no ambiente de Realidade Aumentada Vuforia - UNITY
Primeiramente vamos apresentar o contexto:
- O ambiente de Realidade Aumentada adotado chama-se Vuforia ;
- O plugin de comando de voz é o Android Ultimate Plugin ;
- O problema em questão é integrar o comando de voz no ambiente de RA utilizando um botão "falar";
- A partir do comando, um texto é apresentado no ambiente validando o comando e em seguida é executado o comando caso seja reconhecido;
- Comandos de voz como socorro, me ajuda, estou perdido, automaticamente é realizado uma ligação para o cuidador e uma mensagem SMS também é enviada.
Para apresentar o texto em tempo real, utilizou-se o método OnGUI do Monobehavior:
Este método OnGUI atualiza a interface por frame, ou seja, o texto é atualizado em tempo real.
Os botões foram inseridos a partir do GUI.Button;
O GUI.TextField se encarregou de retornar o texto gerado a partir do comando de voz
Com relação ao posicionamentodo botão e do texto na interface, utilizou-se o referencial Screen.width e Screen.height.
Segue o código do GUI interface:
#region "GUI"
void OnGUI(){
guiStyle.fontSize = 50;
//imprime um campo de texto na interface e posiciona no canto inferior da tela
resultText = GUI.TextField(new Rect(350, Screen.height - 150, 200, 100), resultText,25,guiStyle);
//imprime um botão com um ícone "falar" no canto inferior direito
if (GUI.Button(new Rect(Screen.width -250, Screen.height -250, 250, 250), iconeFalar))
{
StartListeningWithExtraLanguage();
}
}
#endregion
sexta-feira, 11 de novembro de 2016
Simple solution to add 3D dynamic text in UNITY Vuforia
1) First of all, insert a 3D Text in the scene. Go to menu GameObject > 3D Object > 3D Text. Write any text in there and call it "dynamicText";
2) Move this 3D Text into ImageTarget;
2) Create a C# Script. Right button on Asset windows > create > C# Script.
Write this code in there:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class textScript : MonoBehaviour {
// Define this variable will allow you to associate your 3D Text.
// To associate it you have to grab the
[SerializeField]
private TextMesh changeTextMesh = null;
// Use this for initialization
void Start () {
changeTextMesh.text = "This is the new text";
}
// Update is called once per frame
void Update () {
}
}
3) Save it and go back to the scene. Grab this C# script into the ImageTarget;
4) Grab the dynamicText into the changeTextMesh variable that is obviously located in the ImageTarget inspector (where you input your C# Script)
5) By the time you connect the dynamicText with changeTextMesh it will work like a charm.
sexta-feira, 4 de novembro de 2016
Diferença entre Bluetooth vs Bluetooth Low Energy
De forma resumida, o Bluetooth serve para trabalhar com grande quantidade de dados trafegados. Por essa razão consome-se mais energia. Já o BLE é usado para aplicações que não requerem uma grande quantidade de dados. Assim, consome-se menos bateria, durando por anos e com custo reduzido.
O Bluetooth Low Energy pode se referir também como Bluetooth 4.0.
O range (distância) do BLE (no máximo 250m) é menor do que comparado ao BT (máximo 800m).
A taxa de transferência do BLE (100kbps) é baixo se comparado ao BT (2mbps).
Além de todas estas diferenças listadas acima, a implementação também é um pouco diferente na plataforma Android. Apesar de utilizar a mesma biblioteca, requere-se cuidados com a forma de implementar a interação com o BLE. Para isso existe o GATT (Generic Attribute Profile). o GATT é uma especificação para envio e recebimento de pequena quantidade de dados através de um link BLE. O bluetooth SIG define procedimentos de como o dispositivo deve trabalhar com o BLE.
Referências:
https://www.link-labs.com/bluetooth-vs-bluetooth-low-energy/
http://stackoverflow.com/questions/32367108/android-bluetooth-vs-bluetooth-low-energy
https://developer.android.com/guide/topics/connectivity/bluetooth-le.html
Diferença entre Bluetooth vs Bluetooth Low Energy
De forma resumida, o Bluetooth serve para trabalhar com grande quantidade de dados trafegados. Por essa razão consome-se mais energia. Já o BLE é usado para aplicações que não requerem uma grande quantidade de dados. Assim, consome-se menos bateria, durando por anos e com custo reduzido.
O Bluetooth Low Energy pode se referir também como Bluetooth 4.0.
O range (distância) do BLE (no máximo 250m) é menor do que comparado ao BT (máximo 800m).
A taxa de transferência do BLE (100kbps) é baixo se comparado ao BT (2mbps).
Além de todas estas diferenças listadas acima, a implementação também é um pouco diferente na plataforma Android. Apesar de utilizar a mesma biblioteca, requere-se cuidados com a forma de implementar a interação com o BLE. Para isso existe o GATT (Generic Attribute Profile). o GATT é uma especificação para envio e recebimento de pequena quantidade de dados através de um link BLE. O bluetooth SIG define procedimentos de como o dispositivo deve trabalhar com o BLE.
Referências:
https://www.link-labs.com/bluetooth-vs-bluetooth-low-energy/
http://stackoverflow.com/questions/32367108/android-bluetooth-vs-bluetooth-low-energy
https://developer.android.com/guide/topics/connectivity/bluetooth-le.html
Beacons: Entendimento técnico
quinta-feira, 6 de outubro de 2016
Um pouco sobre Ionic e tecnologias relacionadas
O Ionic é um framework que auxilia no desenvolvimento de aplicações móveis seja Android,IOS. Desta forma pode ser definida como desenvolvimento de aplicações híbridas.
O Ionic depende de alguns softwares para funcionar. São eles:
- Node JS: É um interpretador de código JavaScript Server Side, ou seja, que funciona do lado do servidor. A importância dele é permitir a criação de aplicações de alta escalabilidade.
- NPM: É um gerenciador de pacotes para o JavaScript que permite a utilização de linhas de comandos para instalação e configuração do ambiente de desenvolvimento.
terça-feira, 13 de setembro de 2016
Um pouco sobre UNITY
Basicamente, o Unity é uma engine que permite desenvolver jogos 3D ou 2D enquanto que o Vuforia é uma ferramenta de desenvolvimento de aplicações de Realidade Aumentada. Já o Blender é um software de modelagem 3D.
Alguns termos comumente usados no UNITY:
GameObject:
Prefabs:
Scenes:
segunda-feira, 10 de fevereiro de 2014
Augmented Reality Software developed to auxiliate patients to take drugs
This is a video that I made to show how the system works. Basically, the alarm clock alert the patient that is time to take medicine. Then, the person attend the phone and checks throw the camera which medicine he needs to take. The one that appears in green color is the drug that he has to take.
sábado, 8 de setembro de 2012
"Assassinos" da Inovação
1 – Esperar que a inovação caia do céu
2 – Guardar as ideias "para um dia"
3 – Deixar a inovação só a cargo da TI
4 – Criar obstáculos ao surgimento de ideias
6 – Não ligue se a ideia não for econômica e legalmente viável
quinta-feira, 6 de setembro de 2012
Projetos de Realidade Aumentada
Desde o primeiro contato que tive com a tecnologia de RA na Universidade Federal de Uberlândia com o prof. Alexandre Cardoso e o prof. Cláudio Kirner, sempre acreditei que esta tecnologia iria deslanchar.
Hoje temos o privilégio de "acompanhar" a evolução da tecnologia em diversas aplicações, seja no marketing de produtos comerciais, nos aplicativos de localização de smartphones, no video-game e outros (simuladores, treinamento industrial, treinamento militar,etc).
Tenho acompanhado o desenvolvimento do projeto da google: "Project Glass" visto em: https://plus.google.com/+projectglass/posts. Com certeza serei um dos primeiros a requisitar este produto!
Segue um projeto interessante de montagem do LED em uma lente de contato onde os pesquisadores acreditam que pode-se incorporar a tecnologia de Realidade Aumentada:
Segue um vídeo interessante do que a Realidade Aumentada pode nos auxiliar ou prejudicar:
terça-feira, 17 de abril de 2012
Criando interfaces para Mobile utilizando o JQuery Mobile
No entanto, caso queira criar interfaces personalizadas de um website para ser visualizado através de um dispositivo móvel, o JQuery Mobile pode ser uma ferramenta muito prática.
Basta criar a interface do website em tempo real através do site jquerymobile.com e salvar o arquivo. Em seguida use este gerador de código php para reconhecer em qual aparelho o usuário está acessando: http://detectmobilebrowsers.mobi/#generator
Configuring Selection List in Drupal to show/hide limited data
Also there is a possibility to input custom Select List depending on a role of the user. In my case I had to create 3 different roles that can only fill limited data in a Selection List.
In this case we have to input php code in the selection list field. Just go to content type > manager field > selection list field.
Basically we have to set:
global $user; //get user informations
By this you can get the role and the user name by doing this:
$user->roles;
$user->name;
Then you can create a variable of type array to input the custom values that will show depending on the role and name of the user. Finally return this variable to show in the selection list:
return $variable;
Criar Enquetes no Drupal controlando votos através de Cockies
Caso a votação seja realizada em um terminal onde diversos usuários podem votar pode-se usar o módulo advanced pool. Através do módulo, pode-se configurar o controle de votos através do Cockie do navegador. Pode-se definir por exemplo que o voto seja realizado por máquina a cada 1 minuto. Depois de 1 minuto o cockie e removido possibilitando que o usuário vote novamente.
Outra vantagem deste módulo é a possibilidade de limitar os usuários que podem votar. O detalhe é que a versão é beta, mas funcionou perfeitamente na versão 6.12, 6.19 e 6.23. Um último detalhe é que caso você já tenha várias enquetes criadas, o módulo advanced pool consegue se adaptar aos dados do módulo pool.