Skip to content

Instantly share code, notes, and snippets.

View tsabian's full-sized avatar
🏡
I may be slow to respond.

Tiago Oliveira tsabian

🏡
I may be slow to respond.
View GitHub Profile

iOS C++

objective-c Integration

Você pode usar C++ em projetos iOS escrevendo seu código em C++ e, em seguida, integrando-o em seu aplicativo iOS usando o Objective-C++. Objective-C++ é uma mistura de Objective-C e C++ que permite que você escreva código C++ dentro de um arquivo Objective-C.

Aqui está um exemplo de como você pode escrever uma função C++ e integrá-la em seu aplicativo iOS:

  1. Crie um arquivo .mm no seu projeto iOS:

Coordinator

Coordinator é uma arquitetura de software que tem como objetivo ajudar a manter a responsabilidade da navegação e da lógica de transição entre as telas da sua aplicação separadas da camada de visualização (camada View). O Padrão Coordinator usa coordinadores independentes para gerenciar a navegação, em vez de deixar que cada tela da sua aplicação seja responsável por sua própria navegação. Isso ajuda a manter o código organizado e escalável, além de facilitar a implementação de recursos de navegação avançados, como o suporte a rotas personalizadas.

protocol Coordinator: class {
    func start()
}

class LoginCoordinator: Coordinator {

Patterns

Existem vários padrões de projeto que podem ser aplicados a um aplicativo de locação, dependendo das suas necessidades e requisitos. Aqui estão alguns padrões de projeto comuns que podem ser úteis em um aplicativo de locação:

  • MVC (Model-View-Controller): É um dos padrões de projeto mais comuns na programação de aplicativos para iOS. O MVC separa a aplicação em três camadas: modelo, visualização e controlador. O modelo representa os dados e a lógica de negócios, a visualização representa a interface do usuário e o controlador lida com a lógica de interação do usuário.

  • MVP (Model-View-Presenter): É semelhante ao MVC, mas tem a vantagem de separar a lógica de apresentação da lógica de negócios. Isso permite uma melhor testabilidade e manutenção.

  • MVVM (Model-View-ViewModel): É outro padrão semelhante ao MVC, mas tem a vantagem de separar a lógica de apresentação da lógica de negócios, permitindo uma melhor testabilidade e manutenção. Além disso, o MVVM facilita a implementação da ligação de d

protocol Loopable {
func allProperties() -> [String]
}
extension Loopable {
func allProperties() -> [String] {
return props(obj: self)
}
private func props(obj: Any, prefix: String = "") -> [String] {
#! /usr/bin/env python
import os
import json
def parseAll():
tot = 0
totErr = 0
totSucc = 0
@tsabian
tsabian / gist:35dbdb9bcb80576b5f401800ae2d1c91
Created December 21, 2022 18:39
Kali wifi connected but, internet don't work
sudo rm -rf /etc/resolv.conf
# Replace [DNS IP]
sudo echo 'nameserver [DNS IP]' >/etc/resolv.conf
git remote add origin [repositoryURL.git]
git push -u origin [branch name]
#!/bin/bash
clear
domain1="domain1"
domain2="domain2"
domain3="domain3"
SERVERS=($domain1 $domain2 $domain3)
@tsabian
tsabian / Generate JWT pre-request base64.js
Created November 1, 2022 14:24
Pre-request JWT Script
// JWT generation script adapted from
// https://gist.github.com/corbanb/db03150abbe899285d6a86cc480f674d
var jwtSecret = pm.environment.get('jwt_secret') || ''
// Set headers for JWT
var header = {
'typ': 'JWT',
'alg': 'HS256'
};
apt list --installed | grep pipewire-pulse
sudo apt purge --autoremove pipewire-pulse
sudo reboot