felipelima.eti.br

Analista de Sistemas Engenheiro de Software

felipelima.eti.br

Scrum Agile

Como funciona o Scrum?

Se você está pensando em iniciar uma viagem para o mundo ágil e decidiu escolher o Scrum como companheiro, esse post lhe será bastante útil. O Scrum é um framework para gerenciamento de projetos complexos, sendo um dos métodos ágeis mais populares do mundo. Muitas empresas estão abandonando modelos tradicionais e migrando para o modelo de trabalho proposto pelo Scrum, o que tem possibilitado entregas em menor tempo e com mais valor agregado para o cliente. Porém, muitas pessoas sentem uma dúvida comum ao tentar aplicar o Scrum, a de como ele funciona exatamente, quais seus eventos, artefatos e papéis. Nesse post eu explico como o framework Scrum funciona e quais os pontos mais importantes, trazendo uma visão geral do método.

O Scrum em ação

Scrum busca entregar resultados de maneira mais rápida e com menor custo, focando em fornecer produtos e serviços que se alinhem as necessidades do cliente. Ao implementar o Scrum em sua organização, é importante que todas as partes envolvidas se concentrem com a ideia de o “cliente em primeiro lugar”. Estando com essa visão bem estabelecida, será possível entregar produtos que realmente impactem os negócios do cliente.

Implementar o Scrum não precisa ser uma coisa assustadora. Claro, o Scrum é sim diferente das abordagens tradicionais para gerenciamento de projetos, mas essa diferença é a principal razão pela qual ele funciona. Como em qualquer tipo de adoção você irá passar por pontos altos e desafiadores, mas os resultados poderão ser bem gratificantes. O Scrum fornece resultados para melhorar suas taxas de sucesso e, ao mesmo tempo, consegue construir equipes mais engajados e com níveis mais altos de satisfação.

É isso, espero que tenha gostado da aula e do Scrum… 😉

PORQUE O LARAVEL É O MELHOR FRAMEWORK PHP

Um framework é uma estrutura, ou plataforma, em que você pode escolher e desenvolver um software.

Isso vai decidir a estrutura do seu aplicativa, e ajudar a conectá-lo com vários APIs.

O Laravel é um framework PHP que permite que os desenvolvedores avancem no processo de desenvolvimento sem aumentar o overhead dos projetos.

Ao contrário de outros frameworks, o Laravel garante grande performance e escalabilidade, o que faz com que ele seja o preferido para o desenvolvimento de inúmeros projetos.

Porque escolher o Laravel entre os outros Frameworks PHP

Para começar a falar sobre a escolha do laravel, vamos compará-lo aos outros frameworks PHP. Vamos falar sobre as principais categorias que devem ser levadas em consideração pelos desenvolvedores.

#1 – Ferramentas e compatibilidade

Começando pela fase das ferramentas e compatibilidade, separamos os frameworks em três categorias: Vanguarda, Consagrados e Revelações. Vamos falar mais sobre eles e suas principais qualidades e defeitos

Vanguarda

O grupo de Vanguarda contém aqueles frameworks com uma base de código mais madura, que são utilizados para o desenvolvimento há vários anos. Qualquer um destes frameworks funciona de forma excelente, mas não têm suporte as ferramentas de linguagem mais recentes.

CodeIgniter – Este framework é uma plataforma estável, e é compatível com as versões mais antigas de PHP. Ele possui um grande número de adeptos e é popular entre a comunidade de desenvolvimento PHP.

CakePHP – Parte de um projeto que commeçou em 2008, ele continua sendo desenvolvido, mas deve uma queda de popularidade devido as novas opções disponíveis na comunidade de desenvolvimento.

Consagrados

As opções consagradas são aquelas que possuem grande uso, uma comunidade de desenvolvimento ativa, base de códigos testada e são frequentemente escolhidos para novos sites. Eles podem estar começando a diminuir a compatibilidade com novas linguagens, sendo mais relacionados a versões mais antigas de PHP, que outros frameworks decidiram abandonar.

Zend Framework – O Zend faz quase tudo, e mostra serviço. Muitas lojas e projetos comerciais são construídos por ele, já que ele é atualizado constantemente, além de testado. Apesar do tamanho, e o processamento e memória necessários, este framework possui poucos ponto fracos.

Kohana – Inspirado no CodeIngiter, este framework se mantém atual ao adicionar novas ferramentas, mas acaba com um problema comum de alguns softwares: a documentação. É como se ela praticamente não existisse.

Yii – Este framework é pouco utilizado, mas é uma boa escolha, e além de tudo é pequeno e serve para completar completar tarefas comuns. Este framework também se aproveita de sua compatibilidade com o PHP 5.3+.

Symfony – Este framework tem um número extenso de referências de terceiros a seu dispor, como o PHPUnit (usado para testes), SwiftMailer (e-mail), e Twig (templates). Eles possuem um desenvolvimento de qualidade, e tudo é facilmente configurável.

Revelações

As revelações foram adotados no desenvolvimento de grandes projetos há poucos anos, tem novas ferramentas PHP, e um desenvolvimento inteligente.

FuelPHP – A equipe de que construiu este framework adotou um grande números de ideias vindas do CodeIngniter, assim como muitas inspirações de outros frameworks. Como resultado ele se apresenta como um  produto mais leve e modular. Ele possui uma boa documentação, e um grande número dos desenvolvedores que utilizavam o CodeIgniter migraram para este framework.

Laravel – Este framework já existe há algum tempo, mas parece que só se estabeleceu em sua terceira versão, e sempre é remodelado em versões subsequentes. Além de ser, inicialmente, inspirado pelo CodeIgniter e alguns outros frameworks, ele tomou um novo caminho em sua jornada de desenvolvimento.

#2 – Revisão do Código

Além da ferramentas disponíveis, é preciso levar em consideração um grande número de funções dos frameworks disponíveis. Entre elas, na construção do código, itens como a legibilidade, complexidade e estrutura devem ser avaliados, assim como a organização da estrutura de um projeto.

É fácil encontrar um tema dentro da estrutura de pastas, apesar de alguns frameworks utilizam uma terminologia própria. A ideia geral de “Application/App” e “System/<nome do framework>/etc” é comum na maioria dos frameworks.

#3 – Diminuindo a competição

Para a avaliação mais avançada, vamos seguir com os mais utilizados: CodeIgniter, FuelPHP e Laravel. Mesmo que existam muitos fatores a serem levados em consideração, vamos falar apenas do principais:

Estrutura de Pastas

A estrutura comum de pastas, citada anteriormente, diz respeito a esta etapa. Todos os frameworks selecionados para a avaliação separam o código de forma lógica, a fim de ajudar no desenvolvimento de um projeto mais extenso.

Suporte a Bundles e Módulos

Modularidade e a compatibilidade com conteúdo externo é importante. Enquanto um framework leve tem suas vantagens, ele também deve se integrar a outros códigos de forma simples. Nenhum site importante existe em um mundo que não entra em contato com outras formas de desenvolvimento. Um projeto pode precisar se conectar a serviços e APIs relacionadas ao MailChimp, SendGrid, Vimeo, Facebook, Amazon, etc.

Tamanho da base de código

Enquanto podemos ter certeza que um framework robusto contém muitas ferramentas, eles podem gerar ciclos de processamento e memória dentro de sua hospedagem. É claro que esta etapa deve ser avaliada de acordo com as ferramentas necessárias e os requisitos de cada projeto, mas existem formas simples de entender os resultados. Nesta etapa, um framework como o Zend não performa de um jeito favorável.

#4 – Projetos Modelo

Os frameworks PHP tem se desenvolvido de forma interessante nos últimos anos. A criação de projetos modelo no FuelPHP, Laravel e CodeIgniter são incríveis. Por serem parecidos, é impossível eliminar algum das escolhas com facilidade, apesar que a disponibilidade de módulos (“bundles”) é melhor no Laravel.

#5 – Hora de Escolher

No fim, a escolha fica entre FuelPHP e Laravel. Como o CodeIgniter é um produto mais antigo, não é possível ter certa que ele irá evoluir de forma correta, a medida que novos projetos forem surgindo. Mesmo que não seja uma preocupação atual, pode vir a se tornar um problema futuro.

Quando é levado em consideração a comunidade de desenvolvimento de cada framework, alguma diferenças aparecem. O Laravel é, claramente, o vencedor. Enquanto eles já falam de PSR-2, e estão abraçado o sistema Composer, com componentes de terceiros. o FuelPHP fica pra trás. No fim, a equipe responsável pelo Laravel é mais robusta e se atualiza de forma mais rápida, tanto para se adaptar quanto para inovar.

Tanto o FuelPHP quanto o Laravel tem bons níveis de desenvolvimentos, e os projetos modelo desenvolvidos em ambos os frameworks são grande exemplos do que o PHP pode ser: algo que serve de suporte, que acelera e padroniza o desenvolvimento, enquanto não atrapalha.

Com tudo levado em consideração, consideramos o Laravel o melhor framework, por causa dessas 5 primeiras comparações. Agora, vamos falar sobre 5 outras razões pelas quais o Laravel é um framework popular.

5 Motivos pelos quais o Laravel é um framework popular

O Laravel é um framework PHP avançado, que incorpora um ecossistema amplo com hospedagem instantânea e desenvolvimento. Abaixo, vamos falar sobre 5 ferramentas que se destacam neste framework:

1. Autenticação e Lógica de Aplicação

Uma das partes cruciais do desenvolvimento de qualquer aplicativo web é a autenticação, e os desenvolvedores costumar gastar muito tempo gerando estes códigos. O Laravel facilita este processo por organiza a lógica de autorização, enquanto organiza também o acesso aos recursos disponíveis. Além disso, um dos últimos redesigns do Laravel oferece um código de validação pré-construído, e que vai diminuir exponencialmente o tempo necessário para compor estes grandes códigos.

Por outro lado, a lógica de aplicação pode ser executada em qualquer aplicativo, através de controles ou diretamente, utilizando a sintaxe. Em resumo, o Laravel oferece flexibilidade para os desenvolvedores, assegurando um ecossistema adaptável, perfeito para a construção de aplicativos empresariais ou pequenos sites.

2. Blade

O Blade representa um modelo simples, porém dinâmico, de mecanismo de template, construído junto ao Laravel, para utilizaão de PHP puro. Os outros frameworks restringem que seus usuários utilizem códigos desta forma. Já o Laravel dá suporte a esta ferramenta.

3. Artisan

O Artisan é uma interface disponibilizada pelo Laravel. Ela oferece vários comando prontos, para ajudar com o avanço do desenvolvimento de seu projeto. Tipicamente, os desenvolvedores interagem com o framework utilizando linhas de comando manuais. Através do Artisan, ele podem criar várias tarefas tediosas da programação com facilidade e precisão.

4. Laracasts

O Laracast é um tutorial de aprendizado de grande qualidade, que incorpora vídeos grátis e pagos, que foram criado especificamente para ajudar os usuários a se acostumarem com os principais conceitos do Laravel. Os vídeos são criado por Jeffrey Way, e são claros e concisos, além de satisfazer o principal propósito.

5. Melhor documentação e suporte a MVC

Todos os desenvolvedores que utilizam o Laravel podem confirmar a existência de uma documentação detalhada. Ele utiliza o Flysystem apra conseguir isso, e todas as opções de documentação podem ser organizadas em um framework remoto.

Quanto ao MVC, o Laravel utiliza o padrão model-view-controller. Ela entrega várias funções já incorporadas, e faz com que seja ainda mais fácil desenvolver seus projetos.

6. Segurança

O Laravel garante uma segurança extrema aos seus usuários, já que nunca salva suas senhas, no formato de texto, em sua base de dados, utilizando um algoritmo para a criação de uma senha criptografada. Além disso, a homologação do SQL garante uma segurança ainda mais avançada.

7. Migração de banco de dados

Manter o banco de dados em sincronia com as ferramentas de desenvolvimento pode ser uma tarefa cansativa, mas com as migrações de banco de dados do Laravel, isso pode ser feito sem muito esforço.

Concluindo

O desenvolvimento através do Laravel posiciona este framework entre os melhores da atualidade, já que sempre consegue sucesso em satisfazer todas as principais demandas do desenvolvimento web. Qualquer empresa que trabalha com o desenvolvimento de aplicativos pode confirmar as contribuições das ferramentas citadas dentro de um grande projeto. Apesar disso, a escolha de u framework deve ir além de apenas ferramentas. Ela deve incorporar um conhecimento profundo do mercado, desafios, requisitos e mais.

Se você precisa de uma equipe para o desenvolvimento do seu projeto, podemos te ajudar. Com mais de 15 anos de mercado, e a expertise de uma fábrica de software que produziu inúmeros casos de sucesso no desenvolvimento de aplicativos mobile e web.

Android vs IOS

Os números não mentem: Android ou iOS, qual é o melhor?
Seja em uma mesa de bar ou em um fórum da internet, você já viu ou participou da discussão sobre qual é o melhor sistema operacional móvel: Android ou iOS. Cada qual com suas vantagens e desvantagens, fica difícil chegar a uma conclusão certa, mesmo porque o melhor para você pode não ser o melhor para outra pessoa. Mas então, em vez de analisar os atributos de cada um, que tal focar nos números?

O Techland resolveu tornar a batalha objetiva e reuniu diversas pesquisas da área mobile sobre os mais diversos aspectos de cada sistema operacional – da quantidade de apps ao lucro gerado à empresa –, deixando com os gráficos a tarefa de mostrar qual dos dois é melhor. Nessa luta há diversas variáveis, portanto vale deixar claro que foram consideradas as pesquisas mais recentes. Além disso, apesar de haver outros sistemas operacionais móveis relevantes, como o Windows Phone e o BlackBerry, optou-se por manter o foco nos dois principais, o Android e o iOS. Prontos para a batalha? Round 1 – Vendas e uso Vendas de smartphones no mundo O Android ganha com folga quando o assunto é vendas. Com 70,1%, o sistema móvel da Google prova que caiu no gosto dos usuários – pelo menos por enquanto. O iOS, restrito ao iPhone, fica com 21%. Quando: 4o trimestre de 2012 Pesquisa: IDC Android: 70,1% iOS: 21% Uso de smartphones nos EUA Levando em conta todo e qualquer norte-americano com mais de 13 anos que tenha um smartphone, o Android, com 52,3% de market share, fica mais uma vez à frente do iPhone, 37,8%. Pesquisa sobre smartphones Quando: Janeiro 2013 Pesquisa: ComScore MobiLens Android: 52,3% iOS: 37,8% Vendas de smartphones nos EUA Nos EUA, o iPhone pode até vender mais – talvez devido a parcerias com operadoras, que fornecem o aparelho a um custo baixo –, mas mesmo assim não consegue superar o Android, responsável por 51,2% das vendas, contra 43,5% do sistema da Apple. Pesquisa sobre smartphones Quando: Novembro 2012 a Fevereiro 2013 Pesquisa: Kantar Wordpanel Comtech Android: 51,2% iOS: 43,5% Vendas de tablets no mundo De certa forma pioneiro na reinvenção dos tablets, o iPad continua sendo o favorito, o que eleva o uso do iOS entre os tablets para 53,8% contra 42,6 do Android. O sistema operacional do Google, contudo, tem se dado bem devido aos tablets menores, com um tamanho de tela de 7”, modelos bastante procurados pelos consumidores. Quando: Dezembro 2012 Pesquisa: IDC Android: 42,7% iOS: 53,8% Empresas que mais vendem smartphones Ao utilizar metodologias diferentes, duas pesquisas sobre um mesmo assunto podem chegar a resultados completamente distintos. Foi o caso deste estudo da IDC e da Strategy Analytics sobre quais empresas mais vendem smartphones. Enquanto que a primeira aponta uma vantagem de 7,2% da Samsung frente à Apple, o segundo estudo coloca a Apple à frente, com uma diferença de 1,7%. Pesquisa sobre smartphonesPesquisa sobre smartphones Quando: 4o trimestre de 2012 Pesquisa: IDC, Strategy Analytics Android: 29% (IDC), 32,3% (SA) iOS: 21,8% (IDC), 34% (SA) Lucro gerado pela venda global de smartphones Pesquisa sobre smartphones Apesar de a Samsung também utilizar o Windows Phone em alguns de seus modelos, é inegável que a empresa é a grande responsável pelo uso do Android no mundo. Sendo assim, a Canaccord Genuity comparou o lucro da Apple e da Samsung a fim de comprovar que nem sempre quem mais vende é quem mais ganha. A Apple teria tido 72% de lucro, enquanto que a Samsung ficou com apenas 29%. Quando: 4o trimestre de 2012 Pesquisa: Canaccord Genuity Android – Samsung: 29% iOS: 72% Round 2 – Apps disponíveis Quantidade de apps disponíveis Neste ponto, pouco os usuários de ambos os sistemas operacionais móveis podem reclamar. Existem apps para tudo. Afinal, são mais de 800 mil em cada uma das lojas. Pesquisa sobre smartphones Quando: Abril 2013 Pesquisa: AppStore e Google Play Android: + 800 mil iOS: + 800 mil Quantidade de apps específicos para tablets disponíveis Por apresentar um tamanho de tela maior, muitos desenvolvedores concordaram em criar apps específicos para tablets. Sendo assim, a AppStore oferece mais de 300 mil apps para iPad. Contudo, não é possível saber pelo Google Play um número certo. Ficamos com a incógnita. Quando: Abril 2013 Pesquisa: AppStore Android: não informado iOS: +300 mil Qualidade dos apps – uTest Pesquisa sobre smartphones Embora este seja um tópico bastante subjetivo, há uma forma de monitorar a qualidade dos apps usando as mesmas regras. O uTest é um serviço online que usa comentários e ratings para atribuir uma nota de qualidade a apps. Segundo o serviço, a qualidade dos apps da AppStore ficou com a nota 68,5, enquanto que os aplicativos da Google Play foram avaliados em 63,3. Quando: Janeiro 2013 Pesquisa: uTest Android: 63,3 iOS: 68,5 Quantidade de apps baixados Além de ser mais utilizado, o Android parece ser mais bem aproveitado que o iOS. Isso porque 51% de todos os aplicativos baixados para todas as plataformas eram para Android, enquanto que apenas 40% eram para iOS. Pesquisa sobre smartphones Quando: 1o trimestre de 2013 Pesquisa: Canalys Android: 51% iOS: 40% Valor gerado pela venda de apps Apesar dos usuários Android baixarem mais aplicativos, são os desenvolvedores para iOS que estão lucrando mais. De toda a quantia gasta em apps durante o 1o semestre de 2013, 74% dela veio de usuários de iOS, enquanto que apenas 20% veio do Android. Pesquisa sobre smartphones Quando: 1o trimestre de 2013 Pesquisa: Canalys Android: 20% iOS: 74% Round 3 – Extras Maior uso da internet Quem mais faz uso da internet? Usuários Android ou iOS? Mais uma vez, devido a metodologias distintas, foi possível encontrar dois resultados diferentes para uma mesma situação. A NetMarketShare considera que 61,4% dos usuários que fazem uso da internet são iOS, enquanto que apenas 24,3% seriam Android. No entanto, segundo a StatCounter, o cenário é completamente diferente. 37,2% dos usuários que usam a internet são usuários Android e 27,1% usam iOS. Pesquisa sobre smartphonesPesquisa sobre smartphones Quando: Março 2013 Pesquisa: NetMarketShare, StatCounter Android: 24,3% (NMS), 37,2% (SC) iOS: 61,4% (NMS), 27,1% (SC) Uso corporativo Dentro das empresas, o ambiente controlado do iOS parece conquistar mais funcionários. O uso em business dos smartphones é liderado pelo iOS (62%), contra 35% do Android. Pesquisa sobre smartphones Quando: 4o trimestre de 2012 Pesquisa: Citrix Android: 35% iOS: 62% Qual é o melhor, afinal? Android vs Apple Em termos de venda e uso, o Android ganha disparado. Isso está relacionado ao fato de que este não é um sistema exclusivo e está presente em centenas de modelos de smartphones e tablets pelo mundo. Outro fator que colabora é o preço de alguns desses aparelhos, que são muito mais acessíveis que um iPhone, por exemplo, facilitando a popularização do sistema. No entanto, é inegável dizer que a Apple sabe como fazer dinheiro. Mesmo não sendo o sistema operacional mais utilizado, a empresa conseguiu fazer com que ele seja altamente rentável, garantindo aos cofres de Tim Cook muitos milhões de dólares todos os anos. É curioso perceber como, neste cenário do mobile, não é o mais popular quem faz mais dinheiro. Vale lembra, “até agora, é um mercado completamente diferente do de PCs nos anos 90, quando o market share estava diretamente relacionado ao sucesso financeiro”. E então, falta estratégia para o Android ou sobra hype para o iOS? Fonte: Techland

Matéria completa:

https://corporate.canaltech.com.br/analise/mobile/os-numeros-nao-mentem-android-ou-ios-qual-e-o-melhor-7657/

O que é Python?

Python

Python é uma linguagem de programação criada por Guido van Rossum em 1991. Os objetivos do projeto da linguagem eram: produtividade e legibilidade. Em outras palavras, Python é uma linguagem que foi criada para produzir código bom e fácil de manter de maneira rápida. Entre as características da linguagem que ressaltam esses objetivos estão:

  • baixo uso de caracteres especiais, o que torna a linguagem muito parecida com pseudo-código executável;
  • o uso de identação para marcar blocos;
  • quase nenhum uso de palavras-chave voltadas para a compilação;
  • coletor de lixo para gerenciar automaticamente o uso da memória;
  • etc.

Além disso, Python suporta múltiplos paradigmas de programação. A programação procedimental pode ser usada para programas simples e rápidos, mas estruturas de dados complexas, como tuplas, listas e dicionários, estão disponíveis para facilitar o desenvolvimento de algoritmos complexos. Grandes projetos podem ser feitos usando técnicas de orientação a objetos, que é completamente suportada em Python (inclusive sobrecarga de operadores e herança múltipla). Um suporte modesto para programação funcional existe, o que torna a linguagem extremamente expressiva: é fácil fazer muita coisa com poucas linhas de comando. E também possui inúmeras capacidades de meta-programação: técnicas simples para alterar o comportamento de comportamentos da linguagem, permitindo a criação de linguagens de domínio específico.

Python tem uma biblioteca padrão imensa, que contém classes, métodos e funções para realizar essencialmente qualquer tarefa, desde acesso a bancos de dados a interfaces gráficas com o usuário. E, logicamente, já que esse é o objetivo deste grupo, existem muitas ferramentas para lidar com dados científicos. Essa característica da linguagem é comumente chamado baterias inclusas, significando que tudo que você precisa para rodar um programa está — na maior parte das vezes — presente na instalação básica.

Por fim, e não menos importante, Python é uma linguagem livre e multiplataforma. Isso significa que os programas escritos em uma plataforma serão executados sem nenhum problema na maioria das plataformas existentes sem nenhuma modificação. E, caso a plataforma objetivo não tenha uma versão de Python, desenvolvedores têm a liberdade de estudar e modificar o código da linguagem para fazer com que ela rode onde quer que seja.

Maiores informações

Material Design

Material Design

Em 2014 o Google apresentou o Material Design: um guia para redefinir o visual de aplicativos. Vários aplicativos aderiram ao Material Design, como por exemplo, o WhatsApp, que mudou por completo o visual.

Para facilitar ainda mais a vida do usuário, o Google anunciou uma ferramenta para introduzir o Material Design em websites, chamado de Material Design Lite (MDL).

Assim como qualquer outro framework, o MDL oferece uma documentação e vários exemplos para facilitar a aplicação em websites. O nome “Lite” –  segundo o Google – dá-se pela extrema facilidade, pouca dependência e também pelo tamanho do pacote (aproximadamente 27KB gzipped).

MDL torna fácil adicionar o estilo “material design” aos seus websites. (…) É um framework agnóstico, isto é, significa que pode ser usado com quaisquer uma das ferramentas que surgem rapidamente no horizonte front-end. MDL é leve de carregar e estritamente focado em aplicar o “material design” aos websites.

O MDL é compatível com todos os navegadores modernos: Google Chrome, Mozilla Firefox, Opera e o novo Microsoft Edge que acaba de chegar no Windows 10. E claro, o MDL é responsivo.

Google Material Design Lite para Website

Assim como aconteceu nos aplicativos, é bem provável que veremos daqui para frente muitos websites aderindo a concepção do MDL, e, segundo informações do artigo do Google, o pessoal de lá não vê a hora que isso aconteça.

Mal podemos esperar para ver os belos, modernos, sites responsivos que você irá construir com Material Design Lite.

O link do Google Developers para o artigo de divulgação do MDL no Medium é este aqui.

 

Fonte: Tableless

Plataforma Rede Social

Rede para viajantes possibilita a criação de álbum impresso de viagens

EM

O Ministério do Turismo adverte: os brasileiros estão viajando mais. Com o aumento de pessoas que saem pelo mundo em busca de novos horizontes e experiências, ferramentas tecnológicas são lançadas para facilitar as viagens e também o compartilhamento sobre elas.

Entre elas, está a plataforma Whisgo, uma rede social para troca de experiências e consulta de informações sobre viagens, destinos, roteiros e lugares.

qi_viagem

“Além de dar acesso às informações, funciona como um moleskine virtual para viajantes que pode se transformar em um verdadeiro diário de bordo com fotos e depoimentos”, explica o sócio-fundador da empresa, Mariano Camara. “No final, ainda é possível imprimi-lo e recebê-lo em casa, como um álbum personalizado para compartilhar com a família.”

A ideia surgiu quando Camara, ao programar uma viagem para o Peru, em 2011, sentiu falta de um mecanismo integrado de consulta de destinos e elaboração de roteiro. “Pensei em criar uma plataforma que agrupasse outros serviços já existentes, como Google Place e Maps, para facilitar o planejamento de uma rota criativa. Daí veio a ideia dos cadernos de viagem”, conta Camara.

Ao compartilhar memórias e traçar novos roteiros, o usuário do Whisgo pode adicionar amigos para também contribuir com o conteúdo e com a programação. O sistema pontua quando há indicações do caderno dentro da rede e com o acúmulo de pontos o usuário pode monetizar sua criação. Blogueiros viajantes também podem personalizar suas informações em um caderno para vender.

O site ainda oferece mais três modelos de guias de viagem como foco em empresas: os cadernos oficiais, usados por estabelecimentos comerciais e espaços culturais interessados em divulgar suas agendas de programação; os cadernos comerciais, elaborados por empresas que oferecem pacotes promocionais de viagem; e os cadernos patrocinados, que permitem às empresas publicar conteúdo associado a suas marcas.

Fonte: Catraca Livre

Sistema Operacional Linux

Porquê escolher Linux?


Fonte : Tech&Net

 

Ok, então o que é o Linux?

Sem entrar em detalhes técnicos, o Linux é um sistema operativo tal como o Windows, com a diferença de que o Linux devido à forma como é construido, permite uma versatilidade, uma plasticidade, uma capacidade de adaptação que poucos sistemas operativos conseguem atingir.
O Linux corre em praticamente tudo o que é hardware, tendo por vezes alguma dificuldade com hardware mais exótico. Muitos são os equipamentos que correm Linux, normalmente as pessoas surpreendem-se ao descobrir que usam Linux sem se aperceberem, por exemplo ao usar o Google ou o Youtube ou 90% dos sites na Internet estamos a usar serviços que correm em servidores Linux. Alguns eletrodomésticos usam Linux, desde frigoríficos, televisões etc. As probabilidades de estar a usar Linux no seu smartphone são muito altas uma vez que o sistema operativo Android detém a maior quota de mercado, e este é uma versão modificada de Linux. A razão, em parte, destas qualidades do Linux é o facto de que Linux é software Livre.

E o que é Software Livre?

O software Livre ou de código aberto(Open Source), é todo o software que adota uma licença Livre, sendo a mais comum a GPL – General Public License (Licença Pública Geral). Esta Licença em particular garante ao utilizador 4 liberdades fundamentais.

  • A liberdade de usar o software, para qualquer propósito.
  • A liberdade de estudar o software e adaptá-lo para as suas necessidades.
  • A liberdade de redistribuir cópias do software de modo a que possa ajudar o próximo.
  • A liberdade de aperfeiçoar o programa, e redistribuir as alterações, de modo que toda a comunidade beneficie delas, as alterações devem estar também sob a licença GPL.

Para garantir todas as liberdades da licença GPL, o(s) programador(es) autor(es) do software devem providenciar o código fonte do programa, trocando por miúdos, o autor do programa deve disponibilizar a receita que permite fazer o programa funcionar a quem quer que o queira ver.

Ok, mas qual é a Importância destas Liberdades?

Imaginemos o seguinte cenário, a Microsoft decide que o próximo Windows só dá em computadores muito mais potentes e por sinal muito mais caros. E descontinua completamente o Windows atual, sendo o código deles eles podem fazer isso, obrigando os consumidores a fazer uma atualização de hardware isto se quiserem continuar a usar o sistema operativo Windows. E em cima disto tudo aumenta o preço das licenças para o dobro. É certo que é um caso muito improvável de acontecer no mundo real.

Se estiver preso ao Windows não há muito que fazer, tinha de obedecer e atualizar o hardware e as licenças quer em casa quer no trabalho, isto se quisesse permanecer seguro e com atualizações. Depende do software de uma só companhia, e não pode fazer nada.

Tem em mãos um serio problema. Está super-dependente de uma só firma e tem de lhe confiar cegamente os destinos do seu computador para que ele continue a funcionar normalmente.

E se o Windows tem um bug ou uma vulnerabilidade que o incomoda e a Microsoft não a encontra, ou imagine que a Microsoft se lembra de alterar completamente a forma de interagir com o Windows, e faz com que tenha de aprender quase que de novo a forma como interage com o seu computador. Não há muito que possa fazer a não ser aguentar, pode instalar mais uma ou outra aplicação, mas nunca desinstalar o que vem predefinido, esse vai estar sempre em plano de fundo a ocupar recursos preciosos do seu computador.

No mundo Open Source se um projeto em particular segue um determinado caminho que não agrada à comunidade, nada se perde, sendo o código-fonte livre a comunidade pode juntar-se e bifurcar(em inglês fork) o projeto de forma a manter as qualidades que a comunidade tanto gosta e continuar a melhorar o projeto sem ir na direção que o projeto inicialmente decidiu ir. Exemplos disso são o GNOME e o MATE, quando a GNOME traçou o caminho para a sua versão 3, parte da comunidade não gostou dessa direção, então pegou na ultima versão disponível da versão 2(2.32) do projeto e formou o projeto MATE que mantém as qualidades que a comunidade tanto gosta. No fim quem ganhou foi o utilizador, tendo assim mais uma opção de escolha.

No caso de ser um bug a incomodar, podemos enviar um relatório de erro com bug, ou mesmo falar com o programador autor do programa, ou ainda melhor, corrigi-lo nós mesmos(ou contartar um programador para o fazer) e enviar as alterações de volta para o projeto de forma a que outros beneficiem do melhoramento que fizemos. Com software proprietário nós não poderíamos corrigir o bug pelas próprias mãos. E comunicar o bug à empresa proprietária pode ser extremamente complicado e, ainda temos que esperar que a pequena equipa de programadores da empresa veja e corrija o erro atempadamente, independentemente do tamanho da empresa, esta nunca tem uma comunidade de milhões de programadores dispostos a participar e ajudar, assim quando uma vulnerabilidade ocorre em Linux, normalmente esta é corrigida muito rapidamente o que não permite que haja a proliferação de tantos vírus em Linux.

Fonte: Why Linux Is Better

PHP + Json

json-php-transferencia-de-dados-eficiente

Use JSON e PHP no lugar de XML

 

O que é JSON?

JSON é um sigla para o termo JavaScript Object Notation (Notação de Objetos JavaScript). Como o próprio termo sugere, é uma forma textual para definir objetos usando um caminho diferente do que aprendemos ao estudar JavaScript.Mas não se engane, JSON não é uma nova tecnologia, é apenas um recurso da própria linguagem JavaScript.

Não é pretensão deste artigo explicar detalhadamente as diferenças de objetos tradicionais JavaScript e a notação de objetos usando JSON, mas mostrar sua utilidade como tecnologia para integração com outras aplicações.

Então… Porque o JSON e não XML?

Por ser uma linguagem de notação de objetos JavaScript, JSON não possui apenas a função de transferir dados, mas é possível também transferir objetos com métodos e propriedades do lado servidor para o cliente (navegador de internet), assim como criar objetos dinâmicos para as interfaces de interação com os usuários. As seguintes características contribuíram para que o JSON fosse utilizado como alternativa ao XML:

  • Por ser parte da linguagem JavaScript, JSON é completamente entendido e interpretado por todos os navegadores de internet que possuem suporte à JavaScript.
  • JSON é mais rápido de escrever, ler e entender que o XML.
  • JSON é executado de forma mais rápida que o XML, principalmente em requisições Ajax.
  • Um objeto em notação JSON pode ser criado a partir de uma string com um simples comando eval.
  • Por tornar-se popular entre os desenvolvedores, muitas outras tecnologias adicionaram suporte ao JSON, como o PHP, Java, C++, Python…
  • PHP possui a capacidade de transformar seus arrays em notação JSON e vice-versa, usando as funções json_encode e json_decode.
  • Por possuir uma sintaxe semelhante aos arrays, listas, hashmaps, e dicionários em outras linguagens, JSON se tornou uma notação com baixa curva de aprendizado para a maioria dos desenvolvedores, incluindo o programador PHP.

Como o JSON funciona?

Como já mencionei, o JSON entende como objeto tudo que estiver entre {} num formato de nome:valor. O nome é um texto que representa o atributo do objeto e o valor é um valor do tipo existente em JavaScript como: String, Number, Boolean ou null.

Assim, eu posso criar um objeto pessoa com os atributos nome e idade seguindo o padrão mencionado acima. Abaixo segue o código de exemplo:

Para acessar os valores dos atributos do objeto pessoa, basta usar o padrão objeto.atributo. Para modificar e adicionar dados ao atributo, usa-se o mesmo parão. Em JavaScript, isso poderia ser feito assim:

Outro recurso interessante do JSON são as listas, um array simples onde eu posso armazenar qualquer valor ou tipo de objeto. Toda lista em JSON é adicionada entre [] e cada item da lista está separado por “,”.

Como demonstrado no código acima, temos uma lista de objetos JavaScript em notação JSON com os atributos nome e idade.

E onde entra o PHP?

O PHP entra em ação quando é necessário gerar ou recuperar dados no formato JSON. Quando você precisa gerar uma informação em JSON, o caminho mais simples é criar um array e depois imprimir o resultado da função json_encode, passando o array como parâmetro para a função.

O código acima imprime um objeto em notação JSON que pode ser lido por uma requisição Ajax ou uma página PHP. Note que antes de imprimir o JSON, indicamos o tipo de conteúdo da página para o navegador de internet do usuário, assim o navegador irá se preparar para o conteúdo JSON que está por vir. Se você fosse escrever um arquivo JavaScript para ler o resultado do código acima, deveria escrever algo assim:

Note que usei jQuery para criar o JavaScript de leitura do JSON gerado pelo PHP. Se você não conhece jQuery, sugiro uma estudada no assunto. Um bom lugar para começar é o sitejquery.com.

No caso da linguagem PHP, você poderia escrever um código PHP para ler os objetos JSON degerar-json.php e manipular os objetos. Para isso, você poderia escrever um código como o mostrado abaixo:

No código acima, usamos a função file_get_contents para ler o conteúdo de gera-json.php e armazená-lo numa variável. Em seguida, transformamos o conteúdo JSON num array associativo da linguagem PHP, com objetivo de tornar a manipulação dos dados mais fácil.

Fonte PHP Mais