Como escrever uma CI de maneira rápida e simples

Image for post
Image for post
Photo by Jeremy Thomas on Unsplash

Github

O GitHub é uma plataforma de hospedagem de código-fonte e arquivos com controle de versão através do Git.

Github Actions

Github Actions é uma API para lidar com eventos pré definidos do Github, recentemente disponibilizado para lidar com CI/CD de maneira open source.

CI

O processo de continuos Integration(CI) consiste em automatizar a execução de validação de código antes de ser mesclado na branch principal.

Esse processo, de modo geral, realiza as tarefas de construir a aplicação, executar os testes dela e validar métricas como a cobertura de testes.

Através dessa automação, a revisão do código pode ser feita apenas sobre o código. Sem necessidade de baixar a branch, rodar o build e os testes e validar a cobertura sempre que um novo commit for enviado para revisão. …


Do Command + U ao sucesso!

Image for post
Image for post
Photo by Glen Jackson on Unsplash

Teste

Na área da computação diversos desenvolvedores buscam escrever o melhor código possível. Para chegar no estado da arte de software, diversos conceitos são comumente aplicados, como por exemplo princípios SOLID, padrões de projetos e outras boas práticas.

Mas, afinal, como garantir que mesmo após usar tantos conceitos o produto entregue é de fato bom?
Para responder essa pergunta, precisamos saber como é possível garantir qualidade na engenharia de software.

Uma forma comum e segura para garantir a qualidade do código é utilizar o recurso de testes automatizados.

O teste de software geralmente é a última etapa na construção de um programa, visando checar o seu nível de qualidade — exceto quando essa prática é o TDD, quando os testes são construídos antes da implementação final. …


How to change an object behavior in Runtime

Image for post
Image for post
Photo by Ross Findon on Unsplash

First things first

Before the explanation about Method Swizzling, it’s important to understand what is the Swift Runtime, once it’s a key concept that enables language features like the Swizlling.

Runtime

The Swift Runtime is a part of the standard library that enables behaviors while the application is running. Good examples of Those behaviors are casts, reflections, and memory allocation.

At this moment developers start to realize that those behaviors are pretty common in the development. Casts, for example, are present almost every time inheritance is used, transforming superclasses into subclasses.

But how those things are Runtime features?

All the examples given are very common, for example, a cast, that is basically the keyword as in the code. But this is what a cast represents only in the compiling time, which leads to the next important concept. …


Como verificar se o target do UIControl está corretamente configurado?

Image for post
Image for post

No desenvolvimento iOS é comum adicionarmos às nossas telas diversas especializações da classe UIControl, como botões e sliders, para lidarmos com ações. E, para isso, costumamos adicionar targets a elas. Neste post, vamos entender o que significa tudo isso e como verificar se o target do UI Control está configurado direitinho. Bora lá?

Adicionando uma ação a um UIControl

Para lidar com ações nas classes de UIControl no desevolvimento iOS, costumamos adicionar targets a elas, assim:

Exemplo de como adicionar um target a um UIButton (especialização de UIControl)

Mas o que realmente está acontecendo?

O comando de adicionar um target é realmente muito comum, mas afinal, quais são os parâmetros que passamos com ele? Para entendê-los completamente é preciso compreender um conceito muito importante do Runtime, o Selector.


Ou o isolamento de testes unitários

Image for post
Image for post

Se você é um desenvolvedor ou desenvolvedora e acompanha o Blog da Concrete há algum tempo já sabe que os testes são parte essencial do desenvolvimento de produtos, certo? Neste post, vamos falar um pouco mais sobre os testes unitários e como garantir uma das suas características principais: o isolamento.

Mas, antes de tudo: o que são testes unitários?

O teste unitário é um código que testa a menor parte testável de um sistema, a chamada unit, com o objetivo de ajudar a detectar falhas durante a fase de desenvolvimento e evitar problemas nas fases de testes de integração, além de servir como documentação para seu código e garantir que mudanças e adições não alterem o comportamento esperado do sistema já desenvolvido. …

About

Matheus de Vasconcelos

iOS Developer — Apple Developer Academy Alumni | Mackenzie. Studying Unit Tests.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store