How about work with digital

I started to work with Digital last year, but I have been working with eCommerce since 2009, I mean officially in B2C (business to customer) operations, also I have worked with eCommerce since 2006, when I needed to make a system for one of the biggest Brazilian pharmaceutic industries to it communicate with its buyers.

Well, at this time, from to 2006 to 2012 it was not normal to hear the term “digital”, nowadays it is so normally than:

  • Big Data – this concept is not so young, actually the technologies allow data processing with great scale, then, we started to work with massive data in a very large scale
  • IoT (Internet of Things) – wearables like Iwatch and some bracelets can verify how is the person’s heart, how many calories one person is losing while this one is practicing some sport etc.
  • NoSQL (not only SQL) – Databases with characteristics that determines a type or group specialized in Database’s softwares

After I started to work in eCommerce’s Startup of fast fashion, I started to hear this term “Digital”, after in a great retailer, and after in my own company (for while small but focused in system integration), and now at the bigger Digital Agency and consulting in the world, I hear this every day and all the time…

IMHO we have started living in the “Digital Culture”, because nowadays less than half of the population in the world has access to the Internet, only 44%.

When we talk about the Digital Culture, we can see social networks connected one with each other, for example Twitter + Linkedin or Instagram + Facebook, people who communicate in a lot of social networks, global interaction between the users, and the most interesting to me: a collective mind.

The collective mind is the concept of a lot of minds without limits working together, of course it is concern of the minds plugged in a social network.

When you have the opportunity to work with a lot of people who have this type of behavior (digital culture, and it is only the begining) I think you can’t  have a blocker in your mind.

References

http://www.tracto.com.br/quantas-pessoas-tem-acesso-a-internet-no-mundo/
http://culturadigital.br/conceito-de-cultura-digital/

Instalando o Eclipse no Ubuntu

Por esses dias estou experimentando um pouco mais o mundo opensource, e claro, estou começando pela IDE, além de utilizar a distribuição Ubuntu LTS 14.04 do Linux, também resolvi instalar o Eclipse, e vou colocar aqui com fiz para conseguir fazer isso.

A primeira coisa deve ser feita é a instalação do OpenJDK Java 7, que você instalar no modo macho com o comando abaixo:

$ sudo apt-get install openjdk-7-jre

Ou então pode ir na central de programas, pesquisar e instalar por lá.

Agora é necessário baixar o Eclipse, feito isso dê um Ctrl + Alt + T (para abrir o terminal), agora extrair o Eclipse para /opt/

$ cd /opt/ && sudo tar -zxvf ~/Downloads/eclipse-*.tar.gz</code>

Se não funcionar, coloque o nome completo do arquivo que você baixo, agora vamos utilizar o gksudo para mudar de forma gráfica o nosso atalho (o gksudo serve para isso).

$ gksudo gedit /usr/share/applications/eclipse.desktop

Para ficar mais fácil, coloque tudo isso abaixo dentro do arquivo que for aberto:

[Desktop Entry]
Name=Eclipse
Type=Application
Exec=/opt/eclipse/eclipse
Terminal=false
Icon=/opt/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE;
Name[en]=Eclipse

Agora, basta pesquisar em seus programas e ver que o eclipse está lá e você pode utilizá-lo, espero que seja de utilidade.

Abs e até a próxima.

Indentação de código

Na Wikipedia você poderá ler o que é indentar o código, até mesmo no Python se não houver esse trabalho o mesmo não funcionará corretamente, dessa vez, fica a dica.

Em muitas outras linguagens isso não fará diferença, a não ser quando for necessário efetuar alguma manutenção, ai meu amigo, vai ser quando você ou o próximo desenvolver vai chorar e a mãe não vai ver.

Até a próxima.

pythonforidentado

indentação python

MongoDB – CRUD com C#

Muito se ouve falar em NOSQL e também em sua aplicabilidade para trabalhar com grande velocidade numa massa de dados gigante. Quero mostrar como inserir, ler, atualizar e remover dados de uma base de dados MongoDB, que é super fácil, e, após você fazer isso uma vez com certeza terá mais uma opção para trabalhar em suas aplicações.

Fiz um estudo sobre essas operações básicas para um sistema que estou evoluindo, vejam só o que aprendi.

Instalando o banco de dados

A primeira coisa a ser feita aqui é baixar MongoDB e coloca-lo para rodar, basta seguir esse tutorial que existe no próprio site do MongoDB http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/.
Após instalar o MongoDB coloque-o para rodar, dê um “start” no banco de dados, dentro do mesma URL informada agora a pouco há também a explicação de como fazer isso. Olha só que legal, na sua máquina está rodando um banco de dados NOSQL :O !!!

Crie seu projeto

Agora crie um novo projeto do tipo Console Application, nesse caso, com a linguagem C#.

Namespaces

Antes de qualquer coisa, leia essa URL http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-csharp-driver/, e, obtenha o driver do MongoDB para C#.
Inclua os seguintes namespaces em sua classe:

  • MongoDB.Bson –> MongoDB usa o formato BSON para armazenamento e transferência de dados. Utilizaremos esse namespace para fazer a utilização de seus objetos.
  • MongoDB.Driver –> Através desse namespace que acessaremos o MongoDB;
  • MongoDB.Driver.Builders –> Aqui estarão as classes e métodos “helpers” para construir vários objetos.

Criando as variáveis para utilização no nosso programa

Aqui estão as variáveis para fazermos conexão com o nosso banco de dados.

 var connectionString = "mongodb://localhost";
 var client = new MongoClient(connectionString);
 var server = client.GetServer();
 var database = server.GetDatabase("teste"); // "test2" é o nome da sua base de dados, caso vc não tenha criado nenhuma base de dados, o próprio driver se encarregará disso

Além dessas variáveis também iremos criar a classe Entidade, conforme abaixo:

public class Entidade
 {
 public ObjectId Id { get; set; }
 public string Nome { get; set; }
 }

Criando uma coleção e inserindo um novo objeto

Uma coisa muito legal no MongoDB é que não é necessário criar as coleções (podemos chamar de tabelas também), abaixo nós estamos:

  1. Criando a coleção “entidades” e tipando-a com nossa classe “Entidade”
  2. Criamos um novo objeto do tipo “Entidade”
  3. Inserimos o objeto na coleção
  4. Setamos o Id com o Id gerado pelo Mongo DB
</pre>
var collection = database.GetCollection<Entidade>("entidades"); // podemos pensar nessa como uma tabela
 var entity = new Entidade() { Nome = "Fulano de tal" };
 collection.Insert(entity);
 var id = entity.Id; // Insere e seta o ID, sempre devemos colocar um ObjectId em nossos objetos que serão inseridos no
<pre>

MongoDB, podemos setar o ID também, mas o mesmo é gerado automaticamente

Encontrando os objetos gravados no banco

Aqui é possível encontrar um objeto através de sua chave (gerada pelo MongoDB)

  1. Setamos a coleção
  2. Criamos um objeto de busca e seu critério
  3. Setamos o retorno em um objeto ou coleção
var collection = database.GetCollection<Entidade>("entidades");
var query = Query<Entidade>.EQ(e => e.Id, id);
var entity = collection.FindOne(query);

Atualizando objetos

Para atualizar um objeto no banco é tão fácil quanto no SQL

  1. Setamos a coleção
  2. Criamos um objeto de busca, nesse caso pelo id
  3. Criamos um objeto de update bem como a atualização dos dados
  4. Fazemos a atualização da coleção
var collection = database.GetCollection<Entidade>("entidades");
 var query = Query<Entidade>.EQ(e => e.Id, id);
 var update = Update<Entidade>.Set(e => e.Nome, "Fulano atualizado"); // update modifiers
 collection.Update(query, update);

Excluindo objetos

A dinâmica é a mesma

  1. Setamos a coleção
  2. Montamos a busca com o critério do ID
  3. E removemos o objeto da coleção
 var collection = database.GetCollection<Entidade>("entidades");
 query = Query<Entidade>.EQ(e => e.Id, id);
 collection.Remove(query);

Conclusão

A ideia aqui foi mostrar CRUD no MongoDB com C# de uma forma prática e simples. Espero que tenha ficado claro e que todos consigam fazer. Qualquer dúvida é só falar.

Espero que isso ajude no crescimento da comunidade. Um forte abraço e até a próxima!

Referências

http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-csharp-driver/
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/
http://docs.mongodb.org/ecosystem/tutorial/use-csharp-driver/

Instância Windows no AWS EC2 em 2 minutos

Esses dias precisei dar suporte para um cliente de como gerar uma instância Windows micro no AWS EC2, como eu sempre digo, é bom ter a mão uma boa ferramenta ou explicação de tudo como se faz, mandei esse video para meu cliente e ele conseguiu evoluir de forma muito rápida e assertiva seu trabalho. Além disso também mandei esse link da própria Amazon que foi de grande auxílio http://docs.aws.amazon.com/pt_br/gettingstarted/latest/awsgsg-freetier/TestDriveFreeTier-ec2.html.
Espero que ajude a todos.
Abs.

Motivação! Atitudes de Resultado

Foi o primeiro video motivacional que vi e que realmente me motivou, ainda hoje é um dos melhores videos que já vi. Fale apena dar uma olhadinha e ganhar esses 7 minutos!

Foi nesse video que conheci o texto abaixo, que está no artigo Não adianta ser só técnico.

E muitas vezes as coisas tomam direcionamentos, e nós temos que pegar uma borracha
E pegar aquele rascunho chamado sonho, apagar algumas linhas
E logo em seguida fazer um rascunho chamado SONHO
E apesar de ser um rascunho, é esse rascunho chamado sonho, que nos leva adiante, que nos dá motivo pra levantar, pra lutar, é o que nos motiva, ou seja, é que nos dá motivo para agir

Palestra Motivacional Atitudes de Resultado com Prof. Heinz.

Técnica Pomodoro

Hoje em dia o que nós mais precisamos é ter mais assertividades nos prazos que damos e aproveitar o nosso tempo da melhora maneira possível, com a técnica Pomodoro isso é possível.

Objetivo

O objetivo da Técnica Pomodoro é proporcionar uma ferramenta simples para melhorar o processo de produtividade (sua e de sua equipe), que é capaz de fazer o seguinte:

  • Aliviar a ansiedade;
  • Aumentar o foco e a concentração ao reduzir interrupções;
  • Aumentar a consciência de suas decisões;
  • Aumentar a motivação e mantê-la constante;
  • Reforçar a determinação para alcançar seus objetivos;
  • Refinar o processo de estimação, tanto em termos qualitativos e quantitativos;
  • Melhorar o seu processo de trabalho ou estudo;
  • Reforçar a sua determinação em continuar a aplicar-se diante de situações complexas.

O que preciso para implementar

Para Implentar a Técnica Pomodoro é necessário ter:

  • Um relógio Pomodoro
  • Uma lista de atividades para fazer, preenchido no início de cada dia com o seguinte:
    • Um título com local, data e autor;
    • Uma lista das coisas a fazer durante o dia, em ordem de prioridade;
    • Uma seção de atividades não planeadas e urgente, onde todas as tarefas inesperadas que têm de ser tratados devem ser listados como eles vêm para cima. Essas atividades podem potencialmente modificar o plano do dia.
  • Uma folha de backolog de atividades, que consiste em:
    • Uma posição com o nome do autor
    • Um número de linhas onde várias atividades são anotadas como em ordem de prioridade. No final do dia, os que foram completadas são removidas.
  • Uma folha de registros: Este é o conjunto de dados-primas necessárias para produzir relatórios pertinentes e gráficos. Dependendo dos objectivos em questão, este contém diferentes conjuntos de caixas. Normalmente, esta folha deve incluir a data, a descrição eo número de Pomodoros valor do esforço necessário para realizar uma tarefa. Esta folha é atualizado pelo menos uma vez por dia, geralmente no final do dia.

Pomodoro?

Um Pomodoro tem duarção de 30 minutos, 25 minutos atuando na atividade e 5 minutos de pausa. Quando os 25 minutos encerram a atividade terminou temporariamente, a pausa de 5 minutos lhe dá o tempo necessário para desconectar do trabalho, o que lhe dá tempo para assimilar o que aprendeu nos últimos 25 minutos e também lhe dá a chace de fazer algo de bom para sua saúde, como dar uma pequena caminhada, fazer algum alongamento, comer uma fruta ou lanche, tomar água, ir ao banheiro, fazer uma respiração profunda, conversar rapidamente com quem está ao seu lado. Não é recomendável fazer qualquer atividade que exija engajamento mental significativo durante a pausa, como, escrever e-mails importantes, conversar com colegas sobre coisas relacionadas ao trabalho, ligações importantes, esse tipo de atividade interfere na integração construtiva mental da qual é necessária para estar alerta e pronto para o início do próximo Pomodoro. Esse tipo de atividade deve estar inserido em Pomodoros durante esse dia. Você deve pensar no que foi feito nos últimos Pomodoros durante a pausa. Após terminar o Pomodoro marque com um X logo a frente dele determinando que ele foi concluído.

Você também pode utilizar Pomodoros no seu smartphone, como o Pomodroid ou outros que podem ser instalados no computador.

Como fazer então?

Vamos começar de forma simples, selecione atividades para o dia e coloque-as em uma lista, e tente estimar o tempo ou quantidade de Pomodoros para cada atividade. Feito isso, inicie o seu trabalho. Quando o tempo de 25 minutos passar, pare o que está fazendo, faça a pausa de 3 a 5 minutos, tome um café, vá ao banheiro, troque uma ou duas piadas e volte ao trabalho. Ao fim de cada Pomodoro marque um X a frente da lista de atividades sinalizando que você concluiu um Pomodoro.
Não inicie nenhuma atividade que exige um esforço mental significativo, pois dessa forma você não dá ao seu cérebro a possibilidade de efetuar a integração mental construtiva a qual fará a assimilação de todo o conteúdo no qual você se envolveu no último Pomodoro e você não estará em alerta para o próximo.

A cada 4 Pomodoros

Após 4 Pomodoros uma pausa de 15 a 30 minutos deve ser feita.
Essa pausa é o momento certo para arrumar a mesa, ouvir as mensagens da caixa postal, ler os e-mails, olhar nas redes sociais, fazer exercícios, uma caminhada rápida, de preferência nada que seja complexo senão a mente não consegue se reorganizar para integrar o que aprendeu. Nesse momento não é bom pensar no que foi feito nos últimos Pomodoros.

Interrupções Internas

A cada vez que você sentir necessidade de para para fazer alguma coisa, marque um apóstrofo em frente à atividade que você desenvolvendo e anote essa outra atividade numa lista de atividades não planejadas. Procure ver e-mails e antender ou retornar telefones em um horário específico do dia, crei Pomodoros apenas para isso. Se for necessáio atender uma ligação, diga que você retornará em 25 minutos.

Interrupções Externas

Geralmente são atividades urgentes, mas podem esperar 25 minutos (um Pomorodo), algumas vezes até 4 Pomodoros (2 horas), são poucas as vezes em que realmente temos que parar tudo para atuar em uma atividade imediatamente de tão urgente que ela seja, nesse caso marque uma letra com F (de falha) ou I (de interrompido) na frente do Pomodoro, esse pomodoro falhou e deverá ser retomado depois, nesse momento você passa a atuar na atividade urgente e em um novo Pomodoro, e essa atividade deve ser marcada na lista de atividades não programadas e urgentes.

No final das contas você simplesmente organizou seu dia forma melhor e se não media, agora passou a medir o que está fazendo. Além disso você passa a utilizar os ritmos biológicos (aqueles que estudamos em cronobiologia ao seu favor), mas isso é um outro assunto.

Para mais informações sobre Técnica Pomodoro acesse o site http://br.pomodorotechnique.com. Estou começando com o Pomodoro agora também, e estou curtindo muito, pelo o que Francesco Cirillo fala é possível utilizar Pomodoro em dulpas e até em times inteiros, vamos ver como nos saímos com isso.

Até a próxima.