Trilhe seu Caminho para chegar ao sucesso na Programação

Desenvolva suas habilidades de programação e alcance o próximo nível na academia de programação. Aprenda, pratique e conquiste seus objetivos com nosso suporte especializado.

Saber Mais

Parceiros

Primeira Edição

Academia Sintaxy

A Academia Sintaxy está comprometida em Ser e Fazer diferente

A Tecnologia da Informação é essencial em todas as áreas atualmente. Sua presença generalizada significa que mais pessoas têm a oportunidade de se integrar, pertencer e ter acesso. Na Academia Sintaxy o foco é motivar a participação e presença de mais meninas e mulheres nessa revolução tecnológica que está ao nosso redor. Seja a inspiração que impulsiona a inovação, aqui a diversidade é o vetor que nos impulsiona a alcançar novos horizontes.

Testemunhos


Laura Reis
Programadora fullStack
Quote
A formação em linguagem de programação foi enriquecedora, mesmo para quem já tinha experiência. A estrutura organizada,
Stefan Vitoria
programador FullStack
Quote
Foi uma imersão intensa e desafiadora. Aprendi muito e cresci não só tecnicamente, mas também em termos de resiliência e
Victor Rony Fernandes
Programador FullStack
Quote
A experiência na formação foi enriquecedora em vários aspectos. Durante o curso, adquiri não apenas habilidades técnicas
Bruno Cardoso
Programador FullStack
Quote
Um período intensivo onde mergulhei profundamente no mundo da programação, aprendendo desde os fundamentos até técnicas
Fábio Silva
Programador FullStack
Quote
A formação de Academia Sintaxy foi uma experiência produtiva que me proporcionou um novo conjunto de habilidades. Aprend
São fundamentais na construção e estilização de sites. Utilizando HTML, você organiza o conteúdo da página, incluindo textos e imagens. Já o CSS possibilita a aplicação de cores, fontes, layouts e efeitos visuais, elevando a atratividade e a usabilidade do seu site. Essas ferramentas são essenciais para criar uma base sólida e visualmente agradável para suas páginas web.
Desempenha um papel crucial ao conferir vida e interatividade às páginas web. Ao programar em JavaScript, é possível incorporar funcionalidades dinâmicas, como formulários interativos e animações, aprimorando significativamente a experiência do utilizador. A linguagem permite a criação de elementos dinâmicos que tornam as páginas mais envolventes e funcionais, contribuindo para um ambiente web mais interativo e atraente.
Como React e Vue.js, proporcionam uma abordagem avançada para criar interfaces de utilizador impactantes e reativas. Ao explorar esses frameworks, adquire a capacidade de desenvolver componentes reutilizáveis e gerenciar eficientemente o estado de sua aplicação. Essa prática não apenas melhora a qualidade visual de suas interfaces, mas também otimiza a eficiência geral do processo de desenvolvimento.
Aprenda a armazenar e recuperar dados para a sua aplicação. Utilizaremos tecnologias como MySQL e MongoDB para uma organização eficiente dos dados. O MySQL, sistema relacional, organiza dados em tabelas, enquanto o MongoDB, NoSQL, oferece flexibilidade com armazenamento em formato de documento. Essas ferramentas permitem estratégias eficazes para otimizar o desempenho e a funcionalidade da sua aplicação.
Aprofunde-se na criação da lógica operacional das aplicações web. Isso implica na administração eficiente de servidores, garantindo a estabilidade do sistema. Além disso, o roteamento habilidoso de solicitações é fundamental para uma navegação fluida e eficaz. Por fim, a implementação de medidas de segurança robustas é essencial para resguardar os dados do aplicativo, garantindo a integridade e a confidencialidade das informações em todo o processo.
Desenvolva a habilidade de conectar sua aplicação a serviços externos, como redes sociais ou sistemas de pagamento, para adicionar funcionalidades avançadas. Irá compreender como comunicar com outras plataformas e utilizar os seus recursos de forma eficiente para enriquecer a sua aplicação. Este conhecimento permitirá a criação de uma experiência mais completa e abrangente para os utilizadores, ao incorporar eficazmente funcionalidades externas.
Desenvolva competências em ferramentas como Git para colaborar eficientemente com outros programadores e monitorar as alterações no seu código. Esta habilidade é essencial para manter um histórico de desenvolvimento organizado, facilitando a colaboração em equipa e possibilitando uma gestão eficaz das mudanças ao longo do tempo. Ao dominar o controle de versão, terá uma visão clara da evolução do seu projeto, promovendo uma abordagem colaborativa e organizada no desenvolvimento de software.
Ao longo da formação, terá a oportunidade de desenvolver uma aplicação web prática, aplicando os conhecimentos adquiridos em cada fase do processo. Esta abordagem prática permite consolidar a aprendizagem, proporcionando uma visão holística de como todas as partes se interligam para criar um aplicativo completo. Essa experiência prática não apenas reforça o entendimento teórico, mas também capacita-o a enfrentar desafios do mundo real no desenvolvimento de aplicações web.

Tens algo para perguntar?

Preparado para aceder a nova realidade – Informa-se sobre o programa e tire todas as dúvidas, contacte-nos.

Saber Mais
VADY

Porquê Nós?

A abordagem interativa da Academia Sintaxy é fundamental para garantir um aprendizado eficaz e significativo. Nossa metodologia é projetada para conectar o conhecer e o fazer de uma maneira única, permitindo que os alunos se envolvam ativamente no processo de aprendizado. Aqui estão alguns dos princípios-chave que sustentam nossa abordagem: > Aprendizagem baseada em projetos; > Interatividade; > Aprendizagem colaborativa;

Antes de Fazer é Preciso Ser

Seja o ator principal da sua Vida, aposte no desenvolvimento de habilidades transversais a todas ás áreas e permita-se aprender a desaprender e aprender de novo, este o verdadeiro caminho da mudança, Seja Adaptável. Um verdadeiro FullStack precisa de um conjunto diversificado de habilidades, como, Liderança, Comunicação, Pensamento Crítico Resiliência e Empatia. Essas Habilidades são tão cruciais quanto a habilidade de codificação, e aqui apostamos no desenho dessas habilidades para o teu sucesso pessoal e profissional

Saber mais

Composição de Órgãos Sociais

Conheça os fundadores da Academia Sintaxy e perceba a verdadeira orgânica da instituição.

Saber Mais

Abel Mendonça

Presidente do conselho Diretivo

Belarmino Silva

Presidente da Assembleia

Victor Pinto

Presidente do conselho de Curadores

Elson Vaz

Presidente do Conselho Fiscal

Notícias

Ver todos

African Coder: Perceções sobre a Web Summit 2023

A Web Summit é a principal conferência de tecnologia da Europa, realizada anualmente desde 2009. Neste ano (2023), um dos principais temas em destaque foi a Inteligência Artificial, abordando não apenas sua aplicação prática, mas também os desafios associados a ela. Pela segunda vez consecutiva, a African Coder marcou presença nesse evento, sediado na cidade de Lisboa, entre os dias 13 e 16. Esses dias foram marcados por oportunidades de networking, avaliação das demandas globais e, principalmente, a exploração das oportunidades que se abrem para o continente africano. A Web Summit proporciona um ambiente único para empresas, reunindo grandes nomes da indústria em um só espaço e oferecendo a oportunidade de discutir as melhores e mais impactantes ideias que permeiam o mundo tecnológico. Neste ano, o evento contou com a participação de mais de 2.600 startups e atraiu 70.000 participantes, sendo um dos maiores encontros que fomentam a interação entre pessoas e empresas que estão redefinindo a indústria global de tecnologia. Seu lema, "Brings together the people and companies redefining the global tech industry", reflete a essência do evento." Segundo Cláudia Monteiro, CFO da African Coders, este evento representa uma oportunidade crucial para as empresas nacionais, independentemente da modalidade de participação. Ela defende veementemente a ideia de que a participação nestes espaços de troca amplifica a visão das empresas. "O fato é que, nos dias de hoje, o mundo digital faz parte do nosso cotidiano, seja como cidadãos comuns ou como organizações. Estar presente nesses ambientes não apenas nos mantém atualizados, mas, principalmente, nos permite estar alinhados com as transformações ao nosso redor. Isso nos coloca em posição para antecipar o futuro e ter uma visão expandida das oportunidades e demandas que permeiam o mundo atual." A declaração de Monteiro enfatiza não só a importância da presença em eventos tecnológicos, mas também ressalta a necessidade de adaptabilidade e visão de futuro para as empresas frente às constantes mudanças do ambiente digital.

Parcerias que Geram Valores

Sozinhos vamos mais rápidos, juntos vamos mais longe. A Academia Sintaxy e a Unipiaget estabeleceram um protocolo de parceria no mês de novembro. A Academia Sintaxy tem como objetivo capacitar jovens na área de programação, com um enfoque especial em Fullstack. A metodologia aplicada pela academia se diferencia das demais por sua centralização na aplicação prática do conhecimento. No atual contexto em que nos encontramos, a informação está cada vez mais disseminada, o que tem levado a uma crescente criação de valor. O papel das entidades formadoras está se tornando cada vez mais desafiador. Além da necessidade permanente de atualização, elas devem estar cada vez mais alinhadas aos novos perfis dos alunos. Em um contexto de globalização, dos indicadores ESG e da disseminação da IA, a capacidade dos formadores se torna um fator essencial para o sucesso dos formandos. Assim, a Unipiaget, como uma entidade educacional com anos de experiência, traz consigo expertise crucial para a Academia. Essa parceria estratégica agrega valor social para nós, permitindo-nos alavancar e potencializar nossos objetivos. Ambas as organizações têm um propósito em comum: construir e desenvolver competências únicas no país.

Artigos

Ver todos

Arquitetura Monolítica Modular: Organização Modular de Pastas

Quando você está a desenvolver uma Aplicação Empresarial que será utilizada apenas pela empresa e os seus funcionários. Você não está a construir uma aplicação de escala global, ou não tem um caso para escalabilidade. Você não precisa de Micro-serviços e de todas as complexidades de infraestrutura que resultam destes. Ainda assim, você precisa ter boas bases para a sua aplicação. E se chegar o momento, você pode facilmente dividir as partes em serviços separados. Este artigo pretende expandir a proposta apresentada em Componentes do Software Empresarial: Caso Prático, relativamente a organização de pastas segundo os conceitos de Clean Architecture e Hexagonal Architecture. Aqui irei propor uma estrutura de pastas mais elaborada da que foi apresentada no artigo anterior. Devo ressalvar que as arquiteturas Clean e Hexagonal não se referem à organização das pastas, mas sim uma abstração lógica dos componentes de software, das suas responsabilidades, e das relações de dependência entre si. Aspectos Fundamentais a Considerar A organização de pastas deve estar alinhado com os conceitos de design de software, e uma das qualidades mais importantes terá a ver com a manutenção da aplicação ao longo prazo, e com a capacidade de evoluir, ou escalar, com o mínimo de esforço necessário. Separação de Responsabilidades: A estrutura de pastas deve refletir o princípio de separação de responsabilidades, em que diferentes componentes ou camadas do sistema são agrupados com base em suas responsabilidades. Arquitetura em Camadas: Organizar com base nas diferentes camadas, como por exemplo a camada de apresentação, a camada de negócios e a camada de dados. Módulos Funcionais: Identificar os módulos funcionais da aplicação e organizar as pastas de acordo. Cada módulo deve ter sua própria pasta com os seus componentes, como por ex. controllers, serviços, models e views. Reutilização de Código: Estrutura de pastas que promova a reutilização de código. Identificar os componentes comuns ou utilitários que podem ser compartilhados em diferentes partes da aplicação e colocá-los em pastas ou módulos separados. Escalabilidade e Crescimento: Considere a escalabilidade e o crescimento futuro do projeto. A estrutura de pastas deve ser capaz de acomodar novos recursos, componentes ou camadas sem se tornar excessivamente complexa ou confusa. Ela deve facilitar a adição ou modificação de funcionalidades à medida que o projeto evolui. Convenções de Nomenclatura: A estrutura deve seguir convenções claras e consistentes de nomenclatura para pastas e ficheiros. Facilitando na navegação do código e na compreensão do propósito de cada pasta ou ficheiros. Configuração e Recursos: Separar arquivos de configuração, recursos estáticos (como imagens ou ficheiros de estilo) e outros ficheiros não relacionados ao código-fonte em pastas apropriadas. Colaboração e Estrutura da Equipa: Considerar a estrutura da equipa de desenvolvimento e como eles colaboram no projeto. A estrutura de pastas deve estar alinhada com o fluxo de trabalho da equipe e facilitar o desenvolvimento simultâneo, controle de versão e processos de revisão de código.

Entity Framework Core

A Microsoft tem desenvolvido esforços no sentido de fazer o ASP.NET Core ser uma opção de excelência no desenvolvimento de aplicações, já temos indicadores que apontam progressos interessantes de realçar, um deles é o benchmarks partilhado também no próprio site, que aponta ASP.NET Core como mais rápido e consegue processar mais requests por segundo que NodeJS e JAVA. A Entity Framework Core faz parte do ecossistema, tem recebido contribuições da própria Microsoft e da comunidade, por ser open source diferentemente do Entity Framework, tudo isso, tem contribuído para uma rápida evolução Entity Framework Core, que já conta com várias novas funcionalidades que não fazem parte de Entity Framework. O que é o Entity Framework Core Entity Framework Core (EF Core) é um conjunto de bibliotecas criadas e mantidas pela Microsoft, ao contrário da Entity Framework, este é open source, recebe contribuições da comunidade, o que tem colaborado para uma evolução mais rápida que antecessor. EF Core possibilita que aplicações desenvolvidas em ASP.NET Core possam obter e persistir dados em base de dados de forma simples e clean. EF Core é uma Object-Relational Mapper (O/RM), criado para ser uma nova versão do Entity Framework mais leve, open source, multiplataforma, extensível e já conta com funcionalidade adicionais, segue alguns: DbContext pooling — possibilita reutilizar instâncias do contexto, cada instância de contexto é configurado vários serviços internos e objetos necessários para executar suas tarefas, a reutilização pode representar ganhos em situações de alto volume de requests por segundo; Alternate keys — que permite definir colunas com valores únicos; Global query filters — filtros aplicados a nível global; Entity Framework Core e base de dados EF Core suporta vários sistemas de gestão de base de dados como Oracle, SQL Server/Azure SQL Database, SQLite, MySQL, PostgreSQL, Azure Cosmos DB e In-memory (for testing). Conceitos importante nas aplicações com EF Core As aplicações que usam EF Core, usam alguns conceitos como: Database Context — é uma classe que faz o mapeamento dos objectos de base de dados e objectos da aplicação, configurações e dados e inicialização. A Database Context serve como uma ponte entre a aplicação e a base de dados para obter e persistir dados. Model — é a classe que é mapeado com uma tabela para obter ou persistir dados, o model é uma classe C# com configurações adicionais. Temos duas abordagens, para configurar as models: Data Annotations; Fluent API configurations;

Reduza bugs, vulnerabilidades, code smells, entre outros problemas em aplicações .NET Core, com esta ferramenta.

Na linha dos conteúdos abordados anteriormente, a qualidade do software é uma preocupação a se ter em conta pelas empresas e profissionais da área. Anteriormente falamos de testes que é um excelente aliado na busca pela qualidade. Todavia, existem outros aspectos que pretendemos dar ênfase neste artigo, como codigos seguros e a complexidades dos mesmo. Complexidade para leitura, como para incluir novas alterações de forma fácil. Talvez esteja a pensar, mas a revisão de código pode mitigar esses impactos. A proposta é não depender apenas de desenvolvedores, mas recorrer a uma ferramenta que faz a análise dos códigos e apresenta problemas relacionados com os pontos acima mencionados em minutos. Como bônus apresenta sugestões de correção. Sonarqube É uma ferramenta de análise de código que ajuda os desenvolvedores a entregar código de qualidade, seguro, consistentes, confiáveis e com baixo nível de complexidade. Possui suporte a mais de 30 linguagens de programação, pode ser integrado a pipeline de continuous integration. Desenvolvido na linguagem Java em 2006. Em termos de licenciamento possui versão grátis e outras versões pagas. Sonarqube possibilita identificar: Vulnerabilidade de segurança; Bugs; Duplicação de código; Nível de cobertura de teste; Complexidade de código que podem dificultar no processo de manutenção; Permite ainda, criar novas regras para assegurar que certos padrões sejam seguidos. Funcionamento A solução é composta por duas aplicações, um cliente que recolhe os dados do código fonte e os respetivos testes, outro servidor que faz processamento dos dados recolhidos e apresenta os relatórios e as sugestões de correção. No servidor pode ser feito as configurações e criação das novas regras. Demonstração Para efeitos de demonstração a proposta é instalar a versão Community Edition. O servidor vai ser instalado num container Docker, assim como uma base de dados PostgreSQL. Para facilitar segue um ficheiro Docker compose (docker-compose.yml) que, permite configurar e arrancar vários containers container ao mesmo tempo. O ficheiro deve ser criado com o nome docker-compose.yml, a sugestão seria criar uma pasta, dentro da pasta criar o ficheiro e executar os comandos a seguir.