Latest news

Open Day da Xpand IT 2019: três razões para te inscreveres em 2020

No dia 6 de junho abrimos as portas dos nossos escritórios em Lisboa para receber 12 estudantes finalistas de engenharia informática que aceitaram o desafio de conhecer a nossa cultura e metodologias de trabalho durante a 4ª edição do Open Day da Xpand IT 2019.

Um dia de networking, desafios tech e partilha de know-how entre os Xpanders e os jovens talentos que provaram ter uma paixão enorme pela tecnologia. A próxima edição é em 2020 e contamos-te agora a journey dos participantes que estiveram connosco.

Open Day da Xpand IT 2019
Open Day da Xpand IT 2019
Open Day da Xpand IT 2019

Estas são as três razões que destacamos para te inscreveres em 2020:

  • Vais poder ter contacto hands-on com tecnologias inovadoras e disruptivas que utilizamos com o mentoring dos nossos experts. Durante o Open Day da Xpand IT 2019, os estudantes partilharam boas práticas, good tips e know-how relevante para o dia-a-dia de um projeto tecnológico.
  • Vais ser desafiado para Tech challenges, simulando casos reais. Os alunos finalistas tiveram um primeiro contacto com a tecnologia Salesforce e resolveram business cases com Tableau, uma ferramenta de business intelligence.
  • Os participantes viveram a experiência de serem Xpanders por um dia, desfrutando de momentos de trabalho mas também de descontração.
Open Day da Xpand IT 2019
Open Day da Xpand IT 2019
Open Day da Xpand IT 2019

Tech Challenge Salesforce: como trabalhar e desenvolver?

O desafio foi dividido em duas partes:

  • Na primeira parte, os estudantes foram introduzidos à ferramenta de CRM.
  • Na segunda parte, aplicaram um caso prático, aprendendo a manipular o modelo de dados e a criar automações para simular no Salesforce uma plataforma de vendas. Desta forma, puderam ter uma visão 360º sobre o perfil dos clientes (informações, produtos, transações).

Conclusões

A maioria experimentou pela primeira vez esta ferramenta de CRM, tendo, assim, tido a oportunidade de conhecer melhor os desafios ligados ao desenvolvimento nesta área.

Tech Challenge Tableau: como resolver business cases?

O desafio foi dividido em duas partes:

  • Inicialmente foi feita uma apresentação da ferramenta de Business Intelligence – Tableau bem como do universo de dados a utilizar no desafio. Os estudantes tiveram oportunidade de ver as potencialidades da ferramenta e de algumas das funcionalidades mais relevantes.
  • Seguidamente foi apresentado o desafio com um conjunto de questões de negócio da empresa fictícia que teriam de ser respondidas criando visualizações de Tableau. No final foi pedia a criação de um dashboard com as especificações descritas.

Conclusões

Com este desafio os estudantes puderam experimentar uma ferramenta de Business Intelligence e responder a um conjunto de questões semelhantes às que existem num projeto real.

O Talento compensa

Os jovens provaram o seu talento com muita energia, dedicação e empenho, tendo sido atribuído aos cinco vencedores dos dois desafios um prémio especial: uma Alexa. Acreditamos que a excelência deve ser sempre reconhecida.

Open Day da Xpand IT 2019

Ser Xpander por um dia

Para além do know-how técnico que puderam aprofundar, os participantes viveram a nossa cultura:

Partilhámos momentos descontraídos, games, um almoço (pizza time!) mas o fundamental foi o networking com as equipas e com os diferentes roles que enfrentaram, em que foi possível partilhar novas ideias. Esta é a abordagem de proximidade que nos caracteriza na nossa forma de estar no dia-a-dia.

Open Day da Xpand IT 2019

Expertise goes both ways

Queremos estar ao lado das melhores expectativas, metodologias e dos desafios tecnológicos de futuro. Por isso, experiências como o Open Day da Xpand IT 2019 são uma oportunidade incrível para estarmos em contacto com diferentes realidades universitárias e backgrounds, ouvindo e integrando novos insights.

Não percas as próximas edições. A paixão pela tecnologia é aquilo que nos une!


O que dizem os estudantes?

Sara GodinhoOpen Day da Xpand IT 2019: três razões para te inscreveres em 2020
read more

Utilizar o Salesforce com Pentaho Data Integration

Pentaho Data Integration é a ferramenta mais indicada para mover dados entre diferentes sistemas, e não significa que seja necessariamente um processo de business intelligence. Pode ser utilizada como uma ferramenta ágil para integração ponto-a-ponto entre sistemas. O Pentaho Data Integration possui o seu próprio input step Salesforce, o que faz desta ferramenta uma opção fantástica em processos de integração.

O que é o Salesforce?

O Salesforce é uma solução em cloud para gestão de relacionamento com o cliente (CRM). Sendo uma Plataforma como Serviço (PaaS – Application as a Service) multi-tenant de última geração, a sua infraestrutura única permite-lhe focar todos os seus esforços nas áreas mais essenciais: criar micro-serviços com potencial de alavancagem em aplicações inovadoras e acelerar verdadeiramente o processo de desenvolvimento CRM.

O Salesforce é a plataforma ideal para lhe providenciar uma visão de 360º do seu cliente e das suas interações com a sua marca, independentemente de acontecerem via campanhas por e-mail, call centers, redes sociais ou uma simples chamada telefónica. A automação de marketing, por exemplo, é apenas uma das inúmeras vantagens que o Salesforce lhe oferece numa plataforma polivalente.

Como estabelecemos ligação entre o Pentaho Data Integration e Salesforce?

Para garantir o acesso, necessitamos de todos os detalhes de conexão do Salesforce: nome de utilizador, palavra-passe e o URL do serviço web SOAP. É imperativo que o PDI seja compatível com a versão da API SOAP que utiliza. Por exemplo:

  Versão do PDI   Versão da API SOAP
  2.0   1.0
  3.8   20.0
  4.2   21.0
  6.0   24.0
  7.0   37.0
  8.2   40.0

 

De qualquer forma, mesmo que o Salesforce nos providencie uma nova versão da API, ainda é possível utilizar a API anterior na perfeição. No entanto, tenha cuidado, porque caso tenha criado novos módulos na plataforma, a nova API não incluirá esses elementos personalizados e, consequentemente, terá que utilizar a linguagem Salesforce Object Query Language (SOQL) para obter os dados. Não se preocupe, pois explicaremos tudo na próxima secção.

Especificações SOQL

A sintaxe SOQL é bastante similar à sintaxe SQL, com algumas diferenças:

  1. O SOQL não reconhece quaisquer carateres especiais (tais como * ou ; ) e, portanto, é necessário utilizar todos os campos obtidos a partir do Salesforce, e não é possível adicionar o ; no EOF.
  2. Não é possível utilizar comentários em queries; o SOQL não os reconhece.
  3. Para criar joins necessitamos de saber algumas regras:
    • Em módulos nativos para os quais necessitamos de associações (relação direta), é necessário adicionar um ‘s’ ao nome final. Por exemplo:

Get all Orders with and without has Products (OrderItem Module)

    • Em módulos de personalização para os quais necessitamos de obter dados de outro módulo (relação direta) necessitamos de adicionar ‘__r’ ao nome final. Por exemplo:

Filter  OrderItems by Product_Skins__c field inside Product 2 Module

Como extraímos dados do Salesforce com o Pentaho Data Integration?

Podemos utilizar o input step Salesforce integrado no PDI para obter dados do Salesforce via SOQL; note que o limite máximo de carateres na criação de um query é de 20,000.

  • Parâmetros de conexão especificados:
    • Salesforce web service URL:

<url of Salesforce Platform>/services/Soap/u/<number of API Soap updated>

  • Nome de Utilizador: Nome de Utilizador de Acesso à Plataforma (ex.: myname@pentaho.com)
  • Palavra-passe:Palavra-passe + Token (a empresa providencia o token para adicionarmos à palavra-passe em Kettle.Properties) ex.: PASSWORDTOKEN
  • Definições especificadas:
    • Especificar o query: Sem ativo (como é possível verificar na imagem abaixo) necessitamos apenas de selecionar o módulo (a tabela que contem os registos aos quais pretendemos aceder).

Para o próximo separador (Content / Conteúdo) existem as seguintes opções:

  • Caso seja pretendido obter todos os registos do Salesforce (por outras palavras, obter registos “delete” e “insert” – “eliminados” e “inseridos”) é necessário assinalar a opção “Query All Records” e selecionar dos parâmetros abaixo uma das seguintes opções:
    • All (obter registos “new” (novos) e registos “delete” (eliminados)), Update (obter apenas “inserts” (inseridos) e registos “update” (atualizados));
    • Caso desmarque a opção “Query All Records” nos parâmetros, obteremos apenas registos “insert”/”update” – “inseridos”/”eliminados”;
    • Delete (obtemos apenas registos “delete” – “eliminados”).

De que forma o Pentaho Data Integration reconhece registos “novos” / “atualizados” ou “eliminados”?

O Salesforce possui campos nativos bastante úteis para controlar o processo. No entanto, não é possível observar esses campos no layout ou no esquema de construção em SF. Apenas os dados associados se encontram visíveis com estes campos específicos ao utilizar o SOQL ou PDI para aceder aos mesmos.

  • CreatedById e CreateDate são campos que exibem o utilizador, assim como a hora em que os registos foram criados.
  • LastModifiedDate e LastModifiedID mostra a hora e o utilizador que modificou o registo. Podemos utilizar estes campos para obter dados atualizados em SF.
  • Id (Salesforce Id), presente no URL como uma string de 18 carateres, (Java config.) exibe o registo.
    Por exemplo:
  • Temos um campo adicional, IsDeleted, com o tipo de dados = Boolean que informa se o registo foi removido (IsDelete = true) ou não (IsDelete = false).

No campo “Additional” / “Adicional”, temos três opções adicionais:

  • Time out é útil em sistemas assíncronos, uma vez que possibilita a configuração do intervalo “timeout” em milissegundos antes da expiração do step;
  • Use Compression é útil para obter mais performance do processo. Quando selecionada, esta opção fará com que o sistema redirecione todas as chamadas para a API e as envie em formato .qzip;
  • Limit serve para configurar o número máximo de registos a recolher do query.

No último separador é possível visualizar todos os campos do query no interior do primeiro separador. Sem o SOQL, obtemos todos os campos dos módulos. Com SOQL, obtemos todos os campos pertencentes à função SELECT.

Necessitamos de mais cuidado com a opção “Get Field Button”, uma vez que o Type (Tipo), Format (Formato) e Size (Tamanho) não podem ser corrigidos. Nestes casos, é necessário recorrer a alterações manuais.
Para obter mais detalhes:

O base64 exibe imagens ou PDFs presentes em SF.

Caso seja necessário enviar imagens (.jpeg) ou PDF (.pdf) diretamente para SF, carregamos este tipo de campos via JAVA, convertendo ficheiros binários para o base64.

Por exemplo, para enviar um ficheiro PDF para SF:

Como carregar dados para Salesforce via Pentaho Data Integration?

Envie dados para o Salesforce através de outras bases de dados ou a partir do Salesforce.

A opção de conexão é igual à descrita previamente no input Salesforce.
Nas opções das Definições (Settings), temos os seguintes parâmetros:

  • Rollback all Changes on error – caso nos deparemos com algum erro, nada será integrado em SF;
  • Batch Size – é possível trazer um número estático de registos e integrá-los simultaneamente (no mesmo batch) em SF;
  • Em Output Fields Label é necessário adicionar o nome do campo do qual pretendemos obter o Salesforce ID para cada registo integrado.

No parâmetro Fields Option, necessitamos de colocar o mapeamento dos campos.

  • Para Module Field, necessitamos de colocar o campo API Name em SF para obter novos dados;
  • Em Steam Field, é necessário colocar o nome do campo que será integrado no respetivo campo em SF;
  • Use External id = N para todos os campos atualizados no respetivo Módulo;
  • Use External id = Y para todos os registos que necessitamos atualizar, mas que não se encontram presentes noutro módulo.

Eliminar registos no Salesforce

Eliminamos registos do Salesforce com o step Delete Salesforce. É necessário especificar o campo chave do Table Input que faz a referência para a chave em Salesforce (Salesforce ID).

Atualizar registos Salesforce

Caso pretendamos apenas atualizar registos em SF, é necessário utilizar o Salesforce Update Step.
Incluído na seccção Fields (Key included) Option, necessitamos de adicionar a chave aos registos para o módulo específico.

Upsert de dados no Salesforce

Se desejarmos inserir e atualizar (“insert” e “update”) no mesmo Batch em SF, necessitamos de utilizar a funcionalidade Salesforce Upsert.
O parâmetro Upsert Comparison Field ajuda a comparar os dados em SF.

Fátima MirandaUtilizar o Salesforce com Pentaho Data Integration
read more

Estivemos na JNation. Next Stop: Landing Festival

Vem connosco aos maiores eventos de Tecnologia.

Na Xpand IT acreditamos que a expertise tecnológica não se “desenvolve” sozinha e deve ser partilhada e vivida com os melhores profissionais, que todos os dias contribuem para melhorar o mundo através da tecnologia. Esse é um dos nossos propósitos quando fazemos o nosso caminho: ir onde o talento está e trabalhar com as tecnologias que fazem a diferença.

Enquanto especialistas em Java e JavaScript, não podíamos faltar à JNation, a maior conferência em Portugal nas duas linguagens mais populares do mundo. Fomos sponsors do evento que reuniu developers, gigantes tecnológicas e oradores internacionais, no dia 4 de junho, em Coimbra, no Convento de São Francisco.

Stand Xpand IT na JNation 2019
Xpand IT na JNation stand

Ao longo do dia, as nossas equipas estiveram presentes e puderam partilhar e aprofundar os casos de sucesso que nos têm distinguido no mercado. É razão para dizermos que tivemos casa cheia no nosso stand, repleto de momentos de alegria e networking. Para além da expertise, levámos connosco a boa disposição e vestidos a rigor desenvolvemos várias ativações que se revelaram uma surpresa:

Sorteio de Alexa com Simulador de mota

Há jogos que são para sempre e tecnologias também. Há desafios a que não conseguimos ficar indiferentes. O nosso simulador de motas criou um ambiente de verdadeira adrenalina. Os participantes aceleraram a fundo e no final do dia sorteámos uma Alexa:

Vencedor prémio Alexa Xpand It JNation

Find the bug

Levámos muito a sério a gamification. O nosso stand inclui um code challenge à altura dos mais atentos. Os participantes que encontraram os bugs de código ganharam senhas que puderam trocar por prémios da JNation.

A conferência foi um sucesso e uma excelente oportunidade de networking em que partilhámos com os developers as diferentes áreas e projectos em que desenvolvemos com Java, Spring, JavaScript, angular, react.js, typescript, neo4j, node.js, entre outros.


Tive a oportunidade de ir à JNation com a Xpand IT e foi enriquecedor porque aprendi bastante com as talks sobre Kubernetes e Kotlin.

Pedro Marques, Enterprise Solutions expert da Xpand IT
Pedro Marques da Xpand IT

Aproveitei ao máximo as diversas talks durante o dia, especialmente as de Kubernetes e JavaScript. O evento estava muito bem organizado

Paulo Alves, Collaboration and Development Solutions expert da Xpand IT
Paulo Alves da Xpand IT

Próxima paragem no Landing Festival: Participa no Workshop Azure!

A próxima paragem é já no dia 28 e 29 de junho, na Landing Festival, em Lisboa, o maior evento dedicado ao desenvolvimento de skills profissionais techy. Na Landing Festival tens a oportunidade de participar em workshops, receber mentoring e insights relevantes na definição do teu percurso profissional.

Queremos conhecer-te. A ti e a todas as tuas perguntas. Vem descobrir o que fazemos e falar connosco. Podes também inscrever-te no workshop de Azure promovido pelo Sérgio Silva, expert em Digital Xperience da Xpand IT.

Sara GodinhoEstivemos na JNation. Next Stop: Landing Festival
read more

Meetup Data Science Hands-on do Lisbon Kaggle: hot topics da sessão

Data Science Hands-on: “Predicting movies’ worldwide revenue”

No passado dia 4 de Maio, dia mundialmente conhecido como o dia do Star Wars (“May the fourth“), cerca de 40 aficionados de Data Science aproveitaram a ocasião para em mais uma sessão do Lisbon Kaggle Meetup aprenderem sobre este tema a praticar e partilhar. O Meetup “Data Science Hands-on” decorreu no Instituto Superior Técnico (IST) e foi dedicado precisamente ao cinema:

  • o problema abordado consistiu em prever a receita dos filmes antes da sua estreia!

Para este evento contou-se ainda com o patrocínio da Xpand IT e com a colaboração da Hackerschool Lisboa, um grupo de alunos do IST interessados em tecnologia e que também evangeliza a prática do learn-by-doing.

Em primeiro lugar, o evento teve início com uma apresentação do Ricardo Pires da Xpand IT, que introduziu a empresa e as suas unidades focadas no tratamento e exploração de dados. Deu, assim, uma amostra aos participantes de como estes problemas se enquadram num contexto real. Logo de seguida, o professor Rui Henriques, que leciona a disciplina de Data Science no IST, explicou aos participantes a sua perspetiva de como abordar um problema de Data Science, dando algumas dicas sobre o desafio do meetup.

Os dados deste desafio potenciam a aprendizagem e dão uma ideia do que poderá ser um problema real uma vez que são semi-estruturados e exigem um esforço grande no tratamento dos mesmos.

Estima-se que cerca de 80% do trabalho diário de um Data Scientist seja em tarefas de tratamento de dados.

(Fonte: Forbes

Assim, após as duas apresentações, os participantes começaram a desvendar os mistérios escondidos nos dados. Verificaram, por exemplo, o aumento das receitas ao longo dos anos de uma forma geral. Notaram ainda que os filmes americanos têm uma receita superior aos restantes.

Abordagem ao desafio

Na primeira parte, os participantes modelaram o problema com colunas mais simples e estruturadas como: 

  • budget
  • popularity
  • runtime
  • data

Desta forma, tentaram obter as suas primeiras previsões para as receitas dos filmes. Na figura abaixo, que representa a matriz de correlação de Spearman, verifica-se que o budget e a popularity são as colunas mais correlacionadas com a receita.

Na segunda parte, atacaram-se as colunas semi-estruturadas, aplicando a técnica de one-hot encoding, como:

  • realizador
  • o elenco do filme

Com esta exploração mais aprofundada dos dados, as equipas descobriram os filmes que mais receitas geraram (ver tabela abaixo).

Outro aspeto relevante é percebermos que a popularidade nem sempre está diretamente relacionada com a receita, como é o caso do filme “Transformers: Dark of the Moon”,  uma vez que se apresenta pouco popular mas com uma receita alta.

Outro facto interessante é observar os atores que em média geraram as receitas mais altas:

Conclusões

No final do meetup, os participantes deram a conhecer as soluções implementadas:

  • O grupo com um dos melhores resultados aplicou Logistic Regression. Apesar de ser um modelo simples, pode dar bons resultados quando há foco no tratamento dos dados.
  • O tratamento dos dados passou por técnicas como a deteção de outliers, nos filmes com um budget muito discrepante, substituindo estes valores pela mediana.
  • As colunas de budget e revenue foram transformadas para o logaritmo das mesmas, de modo a aproximá-las de uma distribuição Gaussiana.
  • Umas das vantagens de usar um modelo mais simples é que estes são, também, mais fáceis de explicar a um stakeholder de negócio.

O dia 4 de maio foi passado a aprender e aberto a todos os níveis. Se tens interesse em Data Science junta-te à comunidade e aparece nos eventos que ocorrem habitualmente uma vez por mês.

Mais informações sobre o meetup “Data Science Hands-on”.

Joana Pinto

Data Science expert, Xpand IT

Alexandre Gomes

Data Science expert, Xpand IT

Joana PintoMeetup Data Science Hands-on do Lisbon Kaggle: hot topics da sessão
read more

Sorteio Agile Portugal 2019 – Termos e Condições

Termos e Condições de Participação no Sorteio de 2 bilhetes para o evento Agile Portugal 2019

A participação no sorteio “Bilhetes para o evento Agile Portugal 2019 – Porto” é promovida pela Xpand Solutions – Informática e Novas Tecnologias, Lda (adiante designada por Xpand IT) e implica a total aceitação dos Termos e Condições de Participação aqui designados.

Regras de participação:

  1. O sorteio é online e decorrerá de dia 24 de maio de 2019 até 28 de maio de 2019 nas contas oficiais de Facebook – https://www.facebook.com/XpandITPortugal/ e LinkedIn – https://www.linkedin.com/company/xpand-it da Xpand IT. A Xpand IT reserva-se o direito de alterar as datas do sorteio.
  2. São válidas as participações no sorteio que cumpram todos os seguintes requisitos:
  • Maiores de 18 anos;
  • Residentes em Portugal;
  • Atuais ou novos seguidores das contas oficiais de Facebook e LinkedIn que participem no sorteio;
  • Pessoas com contas ativas no Facebook e LinkedIn e cujos perfis à data da participação sejam passíveis de identificação como pertencentes às pessoas que as utilizam;
  • Pessoas que não estejam envolvidas ou tenham vínculo com as promotoras do Agile Portugal 2019 bem como com a Xpand IT.
  1. O sorteio destina-se a oferecer exclusivamente 2 bilhetes individuais para o evento Agile Portugal 2019 (https://2019.agilept.org/), a decorrer no dia 31 de maio, no Porto.
  2. O apuramento dos vencedores será feito pela Xpand IT através de sorteio aleatório com recurso à plataforma random.org.
  3. É proibida a participação no sorteio da Xpand IT para fins contrários à Lei e que sejam suscetíveis de causar prejuízo a terceiros, ou que, de qualquer forma, lesionem a sua honra, dignidade, imagem, intimidade, crenças, ideologias, crenças religiosas ou qualquer outro direito reconhecido legalmente. O participante não pode assumir a identidade de outra pessoa utilizando para o efeito dados de identificação desta.

Modo e condições de participação

  1. A participação no sorteio deve ser feita exclusivamente da seguinte forma:
    • Seguir a conta oficial de Facebook e LinkedIn da Xpand IT;
    • Fazer like no post do Facebook e LinkedIn da Xpand IT sobre o Agile Portugal 2019;
    • Fazer 1 (um) comentário e “taggar” dois amigos no post. 
  2. Serão aceites todas as participações feitas até às 10h00 do dia 28 de maio.
  3. Por cada conta de Facebook e LinkedIn será validado para efeitos do sorteio 1 (um) comentário.
  4. Não serão validados quaisquer comentários que contenham afirmações com linguagem imprópria, conteúdos difamatórios e/ou caluniosos, que sejam suscetíveis de causar prejuízo a terceiros e de lesionar a dignidade, honra, crenças e imagem de outras entidades ou utilizadores de contas de Facebook ou LinkedIn. A Xpand IT reserva-se o direito de eliminar comentários e/ou bloquear contas que tenham os comportamentos acima descritos.
  5. O sorteio realiza-se no dia útil em que o sorteio termina, após as 10h00 do dia 28 de maio.
  6. A comunicação aos vencedores é feita através de mensagem privada na conta de Facebook ou LinkedIn e só se concretiza após a indicação pelo utilizador dos seguintes dados pessoais:
    • nome (primeiro e apelido);
    • email profissional válido;
    • empresa.
  7. A comunicação dos vencedores é feita através das contas oficiais de Facebook e LinkedIn da Xpand IT, com identificação das contas vencedoras através de um post.
  8. Será disponibilizada online, no portal https://www.xpand-it.com/pt-pt/, na área exclusiva do sorteio, uma página web com toda a informação, termos e condições de participação sobre o sorteio.

Entrega do prémio

  1. Os 2 bilhetes de entrada no evento Agile Portugal 2019 serão entregues por email (através do email profissional fornecido), ao longo do dia 28 de maio.
  2. A entrega do prémio é da inteira responsabilidade da Xpand IT não podendo ser assumida por outra entidade ou pelos promotores do evento.
  3. A Xpand IT pode dar lugar à substituição do prémio a todo o tempo, comunicando assim que possível aos vencedores.
  4. Cada bilhete é individual e intransmissível, não podendo ser substituído no dia por outro prémio, convertido em dinheiro ou transmitido a outra pessoa, por qualquer razão.
  5. Em caso de cancelamento do evento, não haverá lugar ao reembolso do prémio.

Tratamento de dados pessoais

  1. A Xpand IT garante a reserva da identidade de cada participante.
  2. A Xpand IT, nos fins estritos de desenvolvimento e persecução do sorteio, irá recolher e fazer o tratamento dos dados dos participantes vencedores, podendo incluir os mesmos num ficheiro de propriedade exclusiva da Xpand IT, que os salvaguardará.
  3. Os participantes vencedores poderão exercer os seus direitos de cancelamento e/ou retificação dos seus dados mediante solicitação escrita dirigida à Xpand IT ou através do email data.protection@xpand-it.com.
Ana LamelasSorteio Agile Portugal 2019 – Termos e Condições
read more

Bootstrap: introdução à biblioteca CSS mais popular do mundo

O Bootstrap é a framework baseada em HTML, CSS e JavaScript mais popular para a criação de websites responsivos e direcionados para plataformas móveis.

Com o crescimento incessante de dispositivos móveis em todo o mundo, tornou-se clara a necessidade de possuir um website responsivo, e ao aplicar uma abordagem mobile-first (direcionada especificamente para plataformas móveis), esta framework revelou-se uma ferramenta indispensável e tornou-se cada vez mais popular, ano após ano, maioritariamente devido às suas inúmeras funcionalidades e facilidade de utilização. Um dos aspetos mais essenciais desta framework, cujo representa a base para construir um layout organizado e estruturado, é o grid (grelha). O Bootstrap foi desenvolvido com um poderoso 12-Column Grid System (Sistema de Grelha com 12 Colunas), que permite aos developers organizarem e alinharem o conteúdo numa grelha completamente personalizável e responsiva. A grelha ajusta-se de acordo com a resolução do dispositivo ou dimensão do viewport (“janela de visualização”), tornando o conteúdo do website interativo e agradável tanto para utilizadores de dispositivos móveis, como para utilizadores de desktop.

Para além disso, o Bootstrap providencia um estilo base para a maioria dos elementos HTML, atribuindo ao website um aspeto mais polido, assim como uma lista vasta de componentes pré-concebidos e completamente responsivos, fáceis de integrar e personalizar. Em termos de personalização, o Bootstrap permite a alteração do estilo base, tais como o tipo, cor e tamanho de letra, assim como a modificação de breakpoints existentes utilizados num layout em grelha, sobrepondo as regras CSS existentes com regras personalizadas, de acordo com o design do projeto.

O Bootstrap também poderá beneficiar aqueles que preferem construir um website responsivo sem qualquer base, sem assistência de qualquer biblioteca terciária, e utilizar código CSS pré-concebido e componentes de projetos anteriores para criar o mesmo resultado, ou quem tenha uma abordagem mais conservadora em aceitar as funcionalidades desta framework.

Portanto, como é que o Bootstrap beneficia este tipo de utilizadores?

Bem, se existir um projeto com uma data de entrega exigente, que envolva vários developers, o Bootstrap providencia consistência entre projetos e indivíduos (representa uma tecnologia bastante familiar), assim como velocidade no processo de desenvolvimento, graças às classes pré-concebidas, reduzindo a quantidade de trabalho e tempo necessária para escrever o código integralmente. É importante mencionar que o Bootstrap possui uma excelente compatibilidade entre diferentes browsers, sendo atualmente compatível com as versões mais recentes de todos os browsers mais populares (Chrome, Firefox, Safari, Microsoft Edge e Internet Explorer 10+), e um nível soberbo de suporte, possível através da gigantesca comunidade por detrás da framework. Ser completamente grátis e open source são os aspetos mais importantes a salientar. Antes de analisarmos alguns exemplos, vamos descobrir como é fácil começar com o Bootstrap.

Continuar a ler
Diogo CardanteBootstrap: introdução à biblioteca CSS mais popular do mundo
read more

Guia prático para instalar Kotlin

Com o passar do tempo são cada vez mais os adeptos da linguagem de programação Kotlin, especialmente no que toca ao desenvolvimento Android. No entanto, Kotlin não serve apenas para desenvolver aplicações Android. Tanto é uma linguagem de programação para a JVM como é uma linguagem de programação para o Browser ou Nativo, sem precisar de correr numa máquina virtual.

Kotlin é 100% interoperável com Java, o que nos permite adicionar código em Kotlin num projeto que tenha sido iniciado em Java.

Uma das grandes vantagens desta linguagem é a ausência de NullPointerExceptions. Se compararmos diretamente com Java, vemos também que é possível criar-se as mesmas classes usando menos linhas de código.

Se ficou convencido com estes argumentos, ou se sentiu curiosidade em relação a esta linguagem, faça download de um guia prático de instalação – onde também poderá ficar a par de alguns conceitos básicos.

Download do guia de instalação de kotlin

Se pretende saber mais sobre a linguagem de programação Kotlin, recomendamos a leitura deste blog post: Kotlin e um futuro (ainda mais) brilhante.

Bruno AzevedoGuia prático para instalar Kotlin
read more

Advanced Analytics: elevar a análise de dados a um outro nível

Implementar um modelo de Business Intelligence é muito mais que recolher dados, trata-se sobretudo de converter esses grandes dados em insights valiosos que irão acrescentar valor ao negócio. No entanto, se não houver um modelo que permite analisar e compreender os dados que vão surgindo, tudo o que irá existir serão números sem contexto e sem valor acrescentado.

Para fazer uma análise de dados correta é necessário ter em atenção que não existe apenas um método válido de análise; este processo está dependente das necessidades em questão e do tipo de dados recolhido, afim de aplicar a metodologia correta de análise.

Existem, no entanto, métodos comuns de advanced analytics que permitem tornar os dados em valor acrescentado, mesmo quando à partida não existem regras de negócio bem definidas, transformando um aglomerado de dados em insights relevantes para o negócio, que permite a tomada de decisões fundamentada.

Dados quantitativos e dados qualitativos

Antes de abordar os vários métodos, é necessário entender que tipo de dados que vão ser analisados. Para dados quantitativos, o foco está na quantidade de números em bruto, como o próprio nome indica. Deste tipo são exemplos os dados de sales, de marketing, de payroll, receita e despesa, etc. No fundo, refere-se a dados que são quantificáveis e passíveis de ser medidos objetivamente.

Dados qualitativos são, por sua vez, mais dificeis de interpretar à partida, uma vez que são dados não estruturados, mais subjetivos e de natureza interpretativa. A este campo pertencem exemplos como informação recolhida de sondagens, entrevistas aos empregados, questionários de satisfação, etc.

Medir dados quantitativos

Relativamente à análise de dados quantitativos, existem quatro métodos que vão elevar essa análise a um novo nível.

  1. Análise de Regressão

A escolha sobre qual o melhor tipo de estatística irá depender sempre do objectivo da pesquisa.

A análise de regressão permite modelar a relação entre uma variável dependente e uma ou mais variáveis independentes. Em data mining, esta técnica é utilizada para prever valores num dataset particular. Por exemplo, pode ser utilizada para prever o preço de um produto, tendo em conta outras variáveis. Pode também ser utilizada para identificar tendências e corelações entre fatores.

A regressão é um dos metódos de análises de dados mais usados no mercado para efeitos de gestão, planeamento de marketing, previsões financeiras, entre outros.

  1. Teste de hipóteses / teste de significância

Este método, também chamado de t testing, permite inferir se uma determinada premissa é verdadeira para o data set. Na análise de dados e em estatística, será considerado o resultado de uma hipótese que seja estatisticamente significativa, cujo resultado não possa ter decorrido de um acaso aleatório. Este procedimento infere sobre quantidades de interesse de uma população a partir de uma amostra observada, utilizando a teoria da probabilidade.

  1. Simulação Monte Carlo

Um dos métodos mais populares para calcular o efeito de variáveis imprevisiveis de um factor específico são as simulações de Monte Carlo que utilizam a modelagem de probabilidade para ajudar a prever o risco e a incerteza. Para testar um cenário ou hipótese, esta simulação recorre a números aleatórios e dados para simular uma variedade de outcomes possíveis. Esta ferramenta é frequentemente utilizada nas áreas de project management, finanças, engenharia e logística, entre outras.  Ao testar uma variedade de hipóteses, é possível concluir como é que uma série de variáveis aleatórias podem afetar os planos e projetos.

  1. Redes Neurais Artificiais

Este modelo computacional replica o sistema nervoso central de um humano ( neste caso, o cérebro), permitindo à máquina aprender através da observação dos dados, o chamado machine learning. Este processamento de informação replica as redes neurais, utilizando um modelo de inspiração biológica para processar a informação e aprender com análise, ao mesmo tempo que consegue fazer previsões. Neste modelo, os algoritmos partem de inputs amostrais e aplicam o raciocinio indutivo – extraindo regras e padrões de grandes conjuntos de dados.

Sílvia RaposoAdvanced Analytics: elevar a análise de dados a um outro nível
read more

5 dicas úteis para construir um chatbot simples com Azure

Uma forma inteligente para construíres um chatbot personalizado

Queres saber como configurar passo a passo um chatbot no Microsoft Azure? Queres aprender a trabalhar com o LUIS?

Com o Microsoft Azure e o Azure Bot Service já é possível de forma rápida e simples criar um chatbot Azure que pode ser conectado às redes sociais. A plataforma disponibiliza modelos de template básicos preparados para vários cenários que facilitam o desenvolvimento.

Um dos desafios associados à criação de chatbots é precisamente a capacidade que têm de compreender de forma inteligente as intenções e a mensagem escrita do utilizador em conversação, através da habilidade de processamento da linguagem natural. O que é possível através dos serviços cognitivos da Microsoft, mais precisamente o LUIS.

O LUIS (Language Understanding Intelligence Service) é um serviço de linguagem natural que permite humanizar e criar um bot sofisticado que decifra mensagens complexas:

  • compreende os comandos e objetivos do utilizador (intenções),
  • executa ações a partir da extração de informação valiosa das frases e expressões (entidades).

Uma das grandes vantagens é que o LUIS consegue fazer uso do serviço de linguagem natural sem ser necessário implementar algoritmos de raiz. A segunda é que este serviço de linguagem natural está em constante evolução, refinando a sua capacidade de associar as expressões às intenções corretas.

Cria e a implementa um novo chatbot Azure, aplicando estas 5 tips que te vão ajudar a otimizar o teu tempo:

  • Utiliza o Azure function bot e integra-o com o LUIS. Tira partido do serviço: da sua compreensão de linguagem, melhora e refina as intenções das expressões.
  • Tira proveito das diferentes funcionalidades do Azure Bot Service: webchat para testes, scripts básicos pré-programados e preparados e integração com diferentes canais e redes sociais
  • Utiliza o potencial e as capacidades que o LUIS te dão. Cria o teu modelo personalizado de linguagem natural, introduzindo frases (“utterances”) e definindo “intents” e “entitites”. O LUIS é dialogue driven. Foca-te nas expressões e intenções associadas a estas para melhorares o teu bot.
  • Constrói as frases mais variadas possíveis para preverem diferentes tipos de pergunta dos utilizadores e tornares o nível de conversação o mais personalizado e humanizado possível.
  • O LUIS tem a capacidade de aprender. Uma vez criado o primeiro modelo, progressivamente vai absorvendo novas informações através das conversações e interações em chat real com os utilizadores. Podes sempre fazer ajustes ao longo do tempo e incluir novos diálogos.

O teu próximo chatbot Azure pode estar à distância de uma palavra.

Ver meetups da XTech Community
Sara Godinho5 dicas úteis para construir um chatbot simples com Azure
read more

Sorteio JNation – Termos e Condições

Termos e Condições de Participação no Sorteio de dois bilhetes para a conferência JNation

A participação no sorteio “Sorteio de dois bilhetes para a conferência JNation” é promovida pela Xpand Solutions – Informática e Novas Tecnologias, Lda (adiante designada por Xpand IT) e implica a total aceitação dos Termos e Condições de Participação aqui designados.

Regras de participação:

  1. O sorteio é online e decorrerá de dia 6 de maio de 2019 até 15 de maio de 2019 na conta oficial do Instagram da Xpand IT – https://www.instagram.com/xpand_it/. A Xpand IT reserva-se o direito de alterar as datas do sorteio.
  2. São válidas as participações no sorteio que cumpram todos os seguintes requisitos:
  • maiores de 18 anos
  • residentes em Portugal
  • atuais seguidores ou novos seguidores da conta oficial que participem no sorteio
  • pessoas com contas ativas no Instagram e cujos perfis à data da participação sejam passiveis de identificar como pertencentes às pessoas que as utilizam.
  • Pessoas que não estejam envolvidas ou tenham vinculo com as promotoras da JNation bem como com a Xpand IT.
  1. 3. O sorteio destina-se a oferecer exclusivamente 2 bilhetes individuais para a conferência JNation, a decorrer no dia 4 de junho, em Coimbra.
  2. 4. O apuramento dos vencedores será feito pela Xpand IT através de sorteio aleatório com recurso à plataforma random.org.
  3. 5. É proibida a participação no sorteio da Xpand IT para fins contrários à Lei e que sejam suscetíveis de causar prejuízo em terceiros, ou que de qualquer forma lesionem a sua honra, dignidade, imagem, intimidade, crenças, ideologias, crenças religiosas ou qualquer outro direito reconhecido legalmente. O participante não pode assumir a identidade de outra pessoa utilizando para o efeito dados de identificação desta.

Modo e condições de participação

  1. A participação no sorteio deve ser feita exclusivamente da seguinte forma:
    • Seguir a conta oficial de Instagram da Xpand IT
    • Fazer like no post do Instagram da Xpand IT sobre a JNation
    • Fazer 1 (um) comentário e “taggar” dois amigos no post 
  2. Serão aceites todas as participações feitas até às 23h59 do dia 15 de maio.
  3. Por cada conta de Instagram será validado para efeitos do sorteio 1 (um) comentário.
  4. Não serão validados quaisquer comentários que contenham afirmações com linguagem imprópria, conteúdos difamatórios e/ou caluniosos, que sejam suscetíveis de causar prejuízo a terceiros e de lesionar a dignidade, honra, crenças e imagem de outras entidades ou utilizadores de contas de Instagram. A Xpand IT reserva-se o direito de eliminar comentários e/ou bloquear contas que tenham os comportamentos acima descritos.
  5. O sorteio realiza-se no dia útil seguinte, após 15 de maio.
  6. A comunicação aos vencedores é feita através de mensagem privada na conta do Instagram e só se concretiza após a indicação pelo utilizador dos seguintes dados pessoais:
    • email válido
    • estabelecimento de ensino e ou profissão
    • cidade de residência
  7. A comunicação dos vencedores é feita na conta oficial do Instagram da Xpand IT com identificação das contas vencedoras nos stories.
  8. Será disponibilizada online, no portal https://www.xpand-it.com/pt-pt/ na área exclusiva do sorteio, uma página web com toda a informação, termos e condições de participação sobre o sorteio.

Entrega do prémio

  1. Os 2 bilhetes de entrada na conferência JNation serão entregues na entrada principal da JNation, no Convento de São Francisco em Coimbra, no dia 4 de junho, pelas 9h00.
  2. A entrega do prémio é da inteira responsabilidade da Xpand IT não podendo ser assumida por outra entidade ou pelos promotores do evento.
  3. A Xpand IT pode dar lugar à substituição do prémio a todo o tempo, comunicando assim que possível aos vencedores.
  4. Cada bilhete é individual e intransmissível, não podendo ser substituído no dia por outro prémio, convertido em dinheiro ou transmitido a outra pessoa, por qualquer razão.
  5. Em caso de cancelamento do evento, não haverá lugar ao reembolso do prémio.

Tratamento de dados pessoais

  1. A Xpand IT garante a reserva da identidade de cada participante.
  2. A Xpand IT, nos fins estritos de desenvolvimento e persecução do sorteio, irá recolher e fazer o tratamento dos dados dos participantes vencedores, podendo incluir os mesmos num ficheiro de propriedade exclusiva da Xpand IT, que os salvaguardará.
  3. Os participantes vencedores poderão exercer os seus direitos de cancelamento e/ou retificação dos seus dados mediante solicitação escrita dirigida à Xpand IT ou através do email life@xpand-it.com
Catarina RochinhaSorteio JNation – Termos e Condições
read more