Latest news

Apache Spark: como criar um processamento distribuído eficiente?

No dia 30 de maio a XTech Community promoveu uma sessão hands-on para explicar à comunidade como criar um processamento distribuído eficiente com Spark, demonstrando as suas vantagens em relação a Hadoop MapReduce.

Mas antes de mais, o que é Spark? É uma framework de processamento paralelo e distribuído, que nos últimos anos tem sido um dos projetos mais ativos na área de Big Data, tanto na utilização como contribuição pela comunidade open source.

As Funcionalidades de Apache Spark

Como principais vantagens em relação ao Hadoop MapReduce foram apresentadas a facilidade da escrita de jobs compostos por múltiplos passos, através da API de Spark baseada em programação funcional bem como a capacidade de guardar os dados intermédios em memória.

Apache Spark

As funcionalidades oferecidas pelo Apache Spark foram introduzidas através das suas bibliotecas embutidas, implementadas por cima do Spark Core Engine, e pela possibilidade de usar bibliotecas externas disponíveis no repositório de Spark Packages.

Apache Spark

Conceitos de Spark Core

Após à introdução, o foco da apresentação passou para os conceitos importantes de Spark Core, tendo-se explicado:

  • em que consiste o programa Driver escrito pelos developers,
  • a abstração de RDD que permite paralelizar a execução de operações sobre datasets distribuídos
  • os tipos de operações aplicáveis sobre os RDDs: actions e

Através de um exemplo de word count em Spark, demonstrou-se a facilidade da escrita de um primeiro job e quais os componentes envolvidos.

Apache Spark

Foi também apresentado o resultado da execução do word count na Spark UI –  interface web disponibilizada para monitorizar a execução de aplicações Spark, que permitiu explicar o significado das unidades de execução física em quais uma aplicação de Spark se divide: Job, Stage e Task.

Apache Spark

Particionamento

O seguinte tópico abordado no meetup Spark Intro and Beyond foi o particionamento do Apache Spark. O número de partições de um RDD depende diretamente do particionamento dos dados na origem e de algumas possíveis parametrizações.

É importante perceber como funciona o particionamento uma vez que o número de partições de um RDD determina o paralelismo da execução das operações distribuídas e o seu controlo permite escrever aplicações mais eficientes, utilizando da melhor forma maneira os recursos do cluster.

Apache Spark

Abordámos quatro técnicas para aumentar o paralelismo da execução:

  • Através do 2º parâmetro da função sc.textFile(“hdfs://…”, 120)
  • Aumentando o número de partições do tópico de Kafka lido
  • Através do 2º parâmetro das wide transformations, e.g rdd.reduceByKey(_ + _, 100)
  • Através da função rdd.repartition(120)

Redução do Shuffle Data

Por fim, mostrámos 3 técnicas que minimizam a quantidade de dados que são enviados entre dois Stages de um Job, que se designa por shuffle data, e permite aumentar a desempenho da aplicação.

Shuffles em Spark são muito pesados porque os dados são enviados em rede entre os Executors de Spark que residem em diferentes nós do cluster, e escritos para e lidos de disco pelos Executors do mesmo nó.

As técnicas apresentadas para reduzir shuffle data foram:

  • Uso de operações com pré-agregação, e.g reduceByKey vs groupByKey
  • Aplicar operações sobre RDDs previamente particionados e cached
  • Broadcast Joins

Conclusões

No final, para além de serem esclarecidas algumas dúvidas sobre a apresentação, foram também discutidos vários pontos relevantes como:

  • Data locality e a integração do Spark em clusters Hadoop
  • Cenários nos quais faz sentido aplicar processamento em Spark
  • Possíveis razões de um Spark job ter um elevado tempo de execução e como diagnosticar através da Spark UI

Mais informações sobre o meetup Spark Intro and Beyond.

Andriy Zabolotnyy

Big Data expert, Xpand IT

Andriy ZabolotnyyApache Spark: como criar um processamento distribuído eficiente?
read more

Zwoox – Simplifica a ingestão de dados

O Zwoox é uma ferramenta de ingestão de dados, desenvolvida pela Xpand IT, e que facilita a importação e estruturação de dados para um cluster Hadoop.

Esta é uma ferramenta altamente escalável dado que se encontra totalmente integrada no Cloudera Enterprise Data Hub e tira total proveito de várias tecnologias Hadoop, como Spark, Hbase e Kafka. Com o Zwoox a necessidade de codificar data pipelines “à mão” é eliminada, qualquer que seja a fonte de dados.

Uma das maiores vantagens do Zwoox é o facto de acelerar a ingestão de dados, oferecendo inúmeras opções no que à importação de dados diz respeito permitindo inclusive replicar RDBMS DML em near real-time para estruturas de dados Hadoop.

Apesar de existirem várias ferramentas que permitem a importação de dados para clusters Hadoop, só com o Zwoox é possível efetuar esta importação de forma acessível, eficiente e altamente escalável, persistindo os dados em HDFS (com tabelas Hive) ou Kudu.

Algumas das possibilidades que o Zwoox oferece:

  • Automação de particionamento em HDFS;
  • Tradução de data types;
  • Carregamento total ou por deltas;
  • Tabelas de audit (com full history) sem impactos na performance;
  • Derivação de novas colunas de funções pré-definidas ou código “pluggable”;
  • Integração operacional com o Cloudera Manager.

Esta ferramenta encontra-se disponível no Cloudera Solutions Center e estará brevemente no site da Xpand IT. Por enquanto, pode também consultar o documento informativo sobre o produto.

Se precisa de saber mais sobre o Zwoox ou sobre ingestão de dados, contacte-nos.

Ana LamelasZwoox – Simplifica a ingestão de dados
read more

Tecnologia biométrica de reconhecimento

Hoje, mais do que nunca, é fundamental que os utilizadores se sintam seguros ao utilizar um serviço, uma aplicação móvel ou a efetuar a inscrição num website. A prioridade para estes utilizadores é saber que os seus dados estarão, de facto, protegidos. Desta forma, a tecnologia biométrica de reconhecimento desempenha um papel fundamental, já que é uma das formas mais seguras e eficazes de autenticar o acesso dos utilizadores aos seus dispositivos móveis, às suas contas pessoais de e-mail ou mesmo às suas contas bancárias online.

A biometria tem-se tornado, então, uma das formas mais rápidas, seguras e eficazes de oferecer proteção aos indivíduos, não só por ser um dos requisitos de autenticação de cada pessoa enquanto cidadão de um país – ou não fosse a impressão digital um dos dados recolhidos e armazenados para efeitos de documentação legal – como por ser a maneira mais casual (e fiável) de proteger os nossos telemóveis. As vantagens de utilização de tecnologia biométrica de reconhecimento são, então, a eficácia, a precisão, a conveniência e a escalabilidade.

Nas TI, a biometria encontra-se maioritariamente ligada à verificação da identidade de alguém, através das suas características físicas ou comportamentais – impressão digital, reconhecimento facial, reconhecimento de voz ou mesmo a identificação da retina/ íris. Refere-se, então, a tecnologias que medem e analisam as características do corpo humano como forma de permitir ou negar acessos.

Mas como funciona esta identificação no backend? É utilizado um software que identifica pontos específicos dos dados apresentados, que são como pontos de partida. Estes pontos de partida são processados e transportados até uma base de dados que, por sua vez, utiliza um algoritmo que converte as informações num valor numérico. É este valor que irá ser comparado com a entrada biométrica registada do utilizador que o scanner detetou, e a sua autenticação é aprovada ou negada, consoante exista correspondência ou não.

O processo de identificação pode ser efetuado de duas formas: comparação de um-valor-para- muitos ou de um-valor-para-um. O processo de identificação de um-valor-para-muitos acontece quando uma amostra de um utilizador é submetida num sistema e comparada com amostras de outros indivíduos; já o processo de autenticação de um-valor-para-um funciona com apenas um utilizador, comparando os dados fornecidos com os dados anteriormente submetidos – como acontece  nos nossos dispositivos móveis.

Existem inúmeros tipos de leitura biométrica, sendo que estes são os mais comuns:

  1. Impressão digital (uma das tecnologias biométricas de identificação mais utilizadas e mais económicas, já que apresenta um grau de precisão bastante considerável. Na verificação de uma impressão são analisados vários pontos do dedo, como terminações e arcos únicos). Exemplos: aplicações Médis, MBWay ou Revolut;
  2. Reconhecimento facial (através de uma imagem facial do utilizador, constituída por vários pontos de identificação da face, é possível definir distâncias entre olhos e nariz, por exemplo, a estrutura óssea e os contornos de cada componente do rosto. Esta forma de leitura pode apresentar falhas consoante o utilizador tenha óculos de sol ou barba). Exemplo: Face ID da Apple;
  3. Reconhecimento de voz (a identificação é feita através de uma análise aos padrões de voz de cada indivíduo, juntando uma combinação entre fatores físicos e comportamentais. No entanto, não é das formas de reconhecimento mais fiáveis). Exemplos: Siri, da Apple, ou Alexa, da Amazon;
  4. Identificação pela íris/ pela retina (menos utilizada, a identificação pela íris/ retina acontece com o armazenamento dos contornos e padrões geométricos existentes – no caso da íris – e com a identificação de um indivíduo através de vasos sanguíneos no fundo dos olhos – no caso da retina. A garantia de fiabilidade é muito elevada, mas o custo é muito alto, o que faz com que não seja utilizada de forma massiva). Leia este artigo sobre identificação de identidade no setor da banca;
  5. Estilo de escrita (biometria comportamental baseada no tipo de escrita) (por fim, outra forma de autenticar um utilizador, é através da sua escrita – por exemplo, uma assinatura – já que a pressão no papel, a velocidade de escrita ou os movimentos exercidos no ar são muito difíceis de imitar. Esta é uma forma de autenticação mais antiga, utilizada fundamentalmente pela banca). Veja o artigo sobre a Read API, Microsoft Azure.
Ana LamelasTecnologia biométrica de reconhecimento
read more

Novo ciclo: a primeira edição do evento DnA 2019

O mês de maio ficou marcado na Xpand IT como o início de um novo ciclo: a primeira edição do evento DnA (Data ‘n’ Analytics 2019). Sob o mote “Building a Smarter Future”, esta nova abordagem quis mostrar como as diferentes áreas tecnológicas e de expertise, como Big Data, Data Science, Digital Xperience ou Business Intelligence, conseguem trabalhar de forma integrada, gerando efetivas mais-valias para as empresas.

A keynote da manhã focou-se, essencialmente, em transmitir uma visão coesa entre as diferentes áreas, demonstrando aos mais de 200 participantes que vivemos num mundo em que tudo à nossa volta gera dados e que essa é, de facto, uma oportunidade de ouro para conhecer melhor os seus clientes, propondo-lhes soluções mais adequadas para os desafios que enfrentam.

No entanto, essa oportunidade só existe se a soubermos criar, se soubermos potenciá-la, e Sérgio Viana, Digital Xperience Lead, mostrou à plateia de que forma o nosso expertise tem ajudado dezenas de empresas a cultivar essas mesmas oportunidades, apostando em construir uma cultura digital. Mas os dados gerados, se não foram extraídos e analisados de forma adequada, não passam disso mesmo: dados. Apenas com análises aprofundadas, com o software correto, e de acordo com as necessidades de cada decisor de negócio, é possível extrair todas as informações necessárias para que as decisões possam ser cada vez melhores e mais sustentadas. Todo este processo foi assegurado por Ricardo Pires, Business Intelligence Lead, que demonstrou como efetuá-lo de forma simples, mas eficaz. Por último, mas não menos importante, para que as análises possam ser efetuadas no momento certo, e a sustentar todos os processos de dados, são necessárias estruturas de Big Data que assegurem o volume desses dados, uma velocidade adequada (near real-time) e a escalabilidade conforme a necessidade de cada empresa – este foi o contributo de Nuno Barreto, Big Data Lead, que referiu ainda a nova geração de soluções de Big e Fast Data.

Da parte da tarde, as apresentações tornaram-se mais técnicas e com um cariz mais prático, sendo asseguradas por convidados tais como: Christian Violi e Filippo Lambiente, da Cloudera; Alexandre Baptista, da Microsoft; Daniel Olaso, da Hitachi Vantara; Rute Ferreira, da Tableau; Pedro Adão, da EDP Comercial; João Mira, do Santander e, ainda, por dois Xpanders, Boris Tchikoulaev e Luís Vicente. Numa sala à parte, decorreu, ainda, um workshop sobre como criar uma plataforma de dados.

No final das apresentações – e porque o dia a isso convidava – a Xpand IT ofereceu aos participantes um momento de networking final, no qual incluiu um beer-call. No próximo ano a Xpand IT promete trazer o DnA novamente, sempre focado em encontrar soluções para os desafios que as empresas modernas enfrentam, e sempre com os olhos postos no futuro. Mas o nosso futuro começa agora.

Aqui ficam algumas fotografias do grande evento do ano sobre Big Data & Analytics:

  • DNA
Rúben VanravanNovo ciclo: a primeira edição do evento DnA 2019
read more

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

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://dev.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