Pesquisar aqui

sábado, 9 de novembro de 2019

iOS 11


IOS 11 logo.svg

Tela inicial para iOS 11 iPhone 7 Plus.png
  Como já tenho vindo a falar sobre muitos iOS, hoje cá vem mais um deles, apesar de já estar quase no fim do geral de cada um deles. O iPhone OS de hoje é o nª11 que foi lançado no dia 19 de setembro de 2017 e a sua ultima versão foi lançada no dia 9 de julho de 2018 e foi a 11.4.1 . Este sistema operativo esteve disponível para as seguintes plataformas: iPhone 5S, 6, 6 Plus, 6S, 6S Plus, 7, 7 Plus, 8, 8 Plus e X, iPod Touch de 6ª geração, iPad Air, Air 2, iPad(2017) (2018), Mini 2, 3 e 4 e Pro.

  As modificações efetuadas neste sistema operativo foram as seguintes:

 - A tela de bloqueio e o Centro de Notificações passar a ser conjuntos, permitindo que os utilizadores vejam todas as notificações diretamente no ecrã de bloqueio;


 

O Control Center foi redesenhado e agora unifica suas páginas e permite aos usuários pressionar os botões 3D Touch (ou pressionar longamente os dispositivos sem 3D Touch) para obter mais opções. O Centro de Controlo pode ser personalizado;








 - Este iOS apresenta suporte nativo para a digitalização de código QR , por meio do aplicativo Câmera;



 - As apps Notes , Contactos , Lembretes , Maps e App Store foram redesenhadas em termos dos seus ícones;



 - Foi adicionado o recurso "Emergency SOS " que desativa o Touch ID depois de carregar no botão Dormir / Despertar cinco vezes em rápida sucessão. Impede que o Touch ID funcione até que a senha do iPhone seja inserida e liga para um contacto de emergência;



 - A aplicação Mensagens no iPhone X apresenta um emoji de rastreamento de rosto chamado "Animoji"  que usa o Face ID.

sexta-feira, 8 de novembro de 2019

Banda Sonora

Banda Sonora


No meu último artigo falei na construção de um bom ambiente num filme.

Hoje, dentro deste ambiente falo mais aprofundadamente na escolha de uma boa banda sonora que se adequa perfeitamente ao nosso vídeo.
Para ilustrar perfeitamente o que vou falar vou recorrer ao filme Bohemian Rhapsody (2018)

Queremos uma banda sonora variada, maioritariamente instrumental mas em algumas fases será melhor recorrermos a músicas não instrumentais por exemplo num momento do nosso vídeo em que passamos sequências de time lapses.
Temos de ter o cuidado da pertinência de cada música no decorrer do vídeo. Não seria apropriado pormos a musica "Party" dos Queen enquanto uma personagem chora...
No entanto, neste exemplo,


enquanto assistimos a Freddie Mercury (interpretado por Rami Malek) a arrepender-se do seu erro não há som absolutamente nenhum à exceção da chuva e das vozes das personagens mas quando admite mudar a sua vida para melhor a música "Under Pressure" chega-nos aos ouvidos a pouco e pouco. Este é um exemplo em que a mistura sonora foi bem executada (não é por nada que este filme ganhou o prémio da academia para o filme com melhor edição e mistura sonora).


O que é Domótica?

Domótica é uma tecnologia super recente, responsável pela gestão de todos os recursos habitacionais (smart home). Este termo nasceu da fusão de "Domus" que significa casa, com "Robótica". Estamos essencialmente a utilizar a internet para controlar dispositivos (IoT), sejam estores, forno, climatização, iluminação...

Este conceito beneficiou em muito da popularização de microcontroladores como Arduino ou Raspberry Pi, que são responsáveis pelo controlo dos diferentes dispositivos, estando tudo centralizado, normalmente num smart speaker com IA (Amazon Echo, Google Home, Home Pod) ou numa app para smarthpone. Claro que se tivermos equipamentos de melhor qualidade, pode nem ser necessário dár-lhes ordem, pois estes podem ter capacidade de ação autónoma, como, por exemplo: abrir os estores ao amanhecer; acender as luzes progressivamente antes de acordarmos; se está frio, o ar condicionado aumenta a temperatura sozinho; o aspirador apenas realiza a sua função quando não está ninguém em casa;...

Esta tecnologia surge como uma forma de nos facilitar o dia a dia, ajudando na poupança do tempo. Sendo uma grande impulsionadora do nosso conforto e melhoria de vida. Quem não quer? A resposta a esta pergunta é muito evidente. Porém, a domótica ainda não muito conhecida e ainda menos divulgado. Provavelmente devido aos preços que ainda são elevados ou devido ao medo de não "saber como mexer nessas coisas". No entanto, é uma tecnologia que tem muito espaço de crescimento e que no futuro estará certamente na casa de quase toda a gente. O que me faz crer isto? O crescente número de projetos com estas soluções de automatização. Mas só o tempo dirá, claro.


Blogue pessoal sobre tech:

Imagem:
  • URL
  • consultada no dia 03/11/2019
fontes:

Python - Cores no Terminal

TUDO DEVE TER UMA BOA ESTÉTICA, E ATÉ EM PROGRAMAÇÃO EM PYTHON PODEMOS COLOCAR ALGUMAS MODIFICAÇÕES NO QUE APARECE NO TERMINAL!

A publicação de hoje não tem muito a desenvolver a nível aritmético ou outro nível da programação  que pode ser considerado como 'mais importante', consideremos como uma informação bónus que até pode ser utilizada de algumas maneiras interessantes.

Para colocar mos cores no terminal Python, temos um comando base:


\033['style'; 'text'; 'back'm

Começa sempre com '\033' e as modificações podem ser realizadas em 3 secções para cada tipo de variação:


  • Style - que muda o estilo em que o texto está escrito, podendo variar nos seguintes tipos:

Traduzindo, quando colocamos 0, o estilo do texto fica normal, colocando 1, fica a negrito, 4 fica sublinhado e 7 fica negativo, ou seja, a cor do texto passa a ser a cor de fundo do texto.

  • Text - muda a cor do texto, podendo variar em 8 cores:
As cores podem ser:

Branco

Vermelho

Verde

Amarelo

Azul

Roxo

Ciano

Cinza


  • Back - que muda a cor do estilo negativo, também podendo variar entre 8 cores:
As cores podem ser:


Branco

Vermelho

Verde

Amarelo

Azul

Roxo

Ciano

Cinza


Sendo assim as mesmas que em Text.


Esta informação pode ser útil para fazer um código de cores ou até para animar um bocado o seu terminal.


Referências:

C++ - Input do utilizador na consola


Já sabemos como fazer output para a consola, a partir do cout, mas como é que se faz input do utilizador para a consola? Isto é, o utilizador escrever informação na consola que vai ser usada no código?

Para fazermos isto, existe o cin, que assim como o cout e o endl, tem sim um significado para o nome:
  • cin - Console In
  • cout - Console Out
  • endl - End Line
cin (Console In), significa então que a consola vai receber informação (in) em vez de dar informação (out). Quando usarmos o cin, o programa vai parar e esperar input do utilizador. Com input quero dizer algum texto ou número, seguido de um Enter. O valor deste input vai ser guardado numa variável já criada.

Escrevendo:
cin >> variable;
onde variable é a variável onde queremos guardar a informação.

O tipo de dado da variável deve corresponder ao tipo de input: se o input é um número inteiro, a variável é um int; se é um carácter, é um char; etc.

Cada input é separado por um espaço.
Ou seja, se escrevermos um texto com espaços, apenas vai ser lida a parte até o primeiro espaço, o resto é ignorado, a menos que haja outros pedidos de input.
Por exemplo, escrever "Sou Nyck" na consola e dar Enter, com variable sendo uma string, apenas vai guardar "Sou" na variável.
"Nyck", vai ser ignorado a menos que eu tenha outra variável string a pedir input com o cin, assim:
cin >> variable;
cin >> variable2;
ou
cin >> variable >> variable2;

Assim, "Sou" fica em variable e "Nyck" em variable2.
Neste caso, escrever "Sou" numa linha, dar Enter e escrever "Nyck" numa linha, e dar Enter, vai ter o mesmo resultado.

cin.get()
Também existe o cin.get(), que é outra forma de receber input, mas apenas para o primeiro carácter.
char c;
cin.get(c);

Se eu escrever "Sou", apenas o 'S' vai ser lido (e atribuído a c).

Só escrever
cin.get();
também vai parar o programa até receber um Enter.

Programa exemplo
#include <iostream>
using namespace std;

int main(){
    string nome;

    cout << "Hey, camarada! Escreve o teu nome: ";
    cin >> nome;
    cout << nome << endl;
}

Agora já temos uma forma de "interagir" com o nosso programa. Podemos introduzir dados os quais vão ser atribuídos a variáveis do programa.

Referências

quinta-feira, 7 de novembro de 2019

iOS 10

IOS 10 logo.svg



A tela inicial padrão do iOS 10 em um iPhone 7  Hoje vou falar sobre o iOS 10 que foi lançado no dia 13 de setembro de 2016 e a sua última versão foi lançada no dia 22 de julho de 2019 que foi a 10.3.4, que esteve disponível nas seguintes plataformas: iPhone 5, 5C, 5S, 6, 6 Plus, 6S, 6S Plus, SE, 7 e 7 Plus, iPod Touch de 6ª geração e iPad de 4ª geração, Air, Air 2, iPad(2017), Mini 2, 3 e 4 e no Pro.
 As modificações feitas neste sistema operativo foram as seguintes:

 Centro de Controlo foi redesenhado e dividido em três partes: uma para configurações a um nível geral, como a mudança rápida para o modo avião e bloqueio de orientação, uma para controles de áudio e outra para controlar os aparelhos HomeKit, se forem utilizados;

 - O sistema "deslize para desbloquear" na tela de bloqueio foi removido, sendo reposicionado pelo sistema de carregar no botão central;

 - São apresentados novos efeitos sonoros para bloquear o dispositivo e cliques no teclado;
 - Se um dispositivo detetar algum líquido na porta Lightning, surge uma notificação que avisa o utilizador para desconectar o cabo Lightning e permitir que a porta seque;
 - Também fica a ser permitido que os utilizadores encontrem o seu Apple Watch usando o Find My iPhone;
 - No calendário, os utilizadores agora podem alterar em que dia da semana o calendário é iniciado, além de configurações de alerta para aniversários e eventos e tipo de calendário;
 - A app do relógio agora tem um tema escuro. Um novo recurso  chamado "Hora de dormir" que lembra o utilizador de quando deve ir para a cama para dormir a quantidade desejada. Também há um novo estilo de cronómetro, que pode ser acedido deslizando para a esquerda;
 - A app Maps foi redesenhada e atualizada com recursos adicionais. Um marcador pode ser colocado automaticamente para indicar onde está o carro estacionado. A aplicação agora ajuda os utilizadores a encontrar postos de gasolina, restaurantes de fast-food ou o café mais próximo;
 - Por fim a app das mensagens, passa a ter a  sua própria App Store, que permite que os utilizadores descarreguem apps do iMessage de terceiros que podem ser acedidos ​​nas conversas do iMessage. A aplicação foi atualizada para incluir muitos efeitos visuais. Os balões de bate-papo, por exemplo, podem ser enviados com uma animação "alta" ou "suave" que o destinatário vê ao receber. O efeito "tinta invisível" obscurece a mensagem até que o destinatário passe sobre ela. Efeitos em tela cheia, como balões, confetes ou fogos de artifício, podem ser enviados.


quarta-feira, 6 de novembro de 2019

Criar um ambiente

Criar um ambiente

Estamos a aproximar-nos do Natal, daqui a pouco começamos a ver a clássica iluminação, as revistas da Toys R Us, do El Corte Inglês e do continente começam a chegar assim como filmes de Natal. E hoje venho falar dos cabazes de Natal do Continente. Mentira, venho falar dos ambientes dos filmes  de Natal.

Se queremos um ambiente Natalício não convém gravar noutra época que não no natal, temos de "apanhar" a época quando ela está a acontecer. Vejamos por exemplo a seguinte printscreen de um filme que passa nesta altura e que nos faz chorar de rir, Home Alone 2.
Toda a imagem grita época de Natal, desde os figurantes, a iluminação, a humidade da estrada, tudo nesta imagem é verdadeiro.
Já falámos de cenário, se queremos uma época, esperamos por essa época, mas não é só isso, falta uma coisa: música. Sugiro uma experiência, vão lá fora, sentem-se num banco e fiquem só a ouvir música, um estilo de música só. Acreditem que sempre que ouvirem esse estilo de música vão associar a esse local onde estiveram sentados. O mesmo acontece se passarem por esse sítio vão se lembrar desse estilo de música. Indo buscar o mesmo exemplo de filme, quando o vêm que artista vem à cabeça? The Chairman of the Board claro (Frank Sinatra para quem não sabia desta alcunha).

Se querem saber mais sobre que música adicionar aos vossos vídeos fiquem atentos porque sexta feira irei falar-lhes sobre esse tema.

Duas combinações improváveis: IoT e agricultura!

Se à algumas semanas falei da Indústria 4.0, hoje vou falar sobre a Agricultura 4.0. O que é? À semelhança daquilo que se passa na indústria este conceito representa a digitalização dos processos de produção e captação de dados (clima, solo, entre outros) a partir de dispositivos de IoT. Esta "nova" agricultura baseia-se em em 4 aspetos principais:
  • Gestão baseada em dados
  • Produção a partir de novas ferramentas e técnicas
  • Sustentabilidade
  • Profissionalização
As vantagens para os agricultores:
  • Monitorização das colheitas - com a utilização de diversos sensores, podemos obter e visualizar dados relativos ao estado do solo e clima, em tempo real e à distância.
  • Aumento de produtividade / Redução de custos - com um número amplo de informação confiável sobre as plantações, é possível antever pragas e evitar replantações ou repassagem de máquinas. Para além disso, é possível realizar uma gestão mais cuidada e organizada dos recursos disponíveis.
Aplicações da IoT na agricultura:
  • Prevenção e manejo de pragas - avisos de possíveis pragas e aplicação autónoma, precisa e detalhada de medidas defensivas (agentes biológicos, por exemplo).
  • Irrigação e gestão da água - acompanhamento da necessidade das plantações, identificação da água disponível no solo e chuvas e posterior atuação.
  • Rastreabilidade animal - monitoramento do rebanho através de coleiras inteligentes; virtual fencing (uso das coleiras inteligentes para emitir pulsos sonoros, quando uma vaca se aproxima de um limite estabelecido, de modo a persuadi-la a não o ultrapassar, sem necessitar de barreiras físicas).
  • Smart farming - permite um agricultura precisa, uma coleta automatizada das muitas varáveis de interesse, e integração de decisões automáticas.
É importante afirmar que todo o processo da Agricultura 4.0 é multidisciplinar dentro da tecnologia, com o uso de IoT para recolha de dados, IA para análise e Robótica para atuação.


Blogue pessoal sobre tech:
Imagem:

  • URL
  • consultada no dia 03/11/2019

fontes:

Python - Biblioteca 'Random'

ESTA É A PRIMEIRA BIBLIOTECA QUE IREI EXPLORAR EM PYTHON, SENDO UMA DAS MAIS ÚTEIS E INTERESSANTES.

Antes de mais, iremos importar a biblioteca, como demonstrado na publicação 'Python - Bibliotecas'(se ainda não foi lida, dê uma vista de olhos primeiro a essa publicação):

import random

Agora que importamos a biblioteca, podemos utilizar os seus comandos. A biblioteca random disponibiliza diversos comandos úteis que permitem gerar números aleatórios, baralhar listas e sortear valores de sequências.

Para mais informações sobre esta biblioteca, acessar: docs.python.org/3/library/random.html

Gerar número inteiro
A biblioteca disponibiliza 2 comandos diferentes que podem ser utilizados para esta função:

  • 'Randint': em que programamos com ajuda desse comando para gerar um número inteiro aleatório entre um intervalo de números:
import random

number = random.randint(1, 10)

Neste exemplo acima, o programa gera um número inteiro entre 1 e 10.

  • 'Randrange': semelhante ao  randint só que aqui basta colocarmos o número máximo do intervalo, considerando o mínimo 0:
import random

number = random.randrange(10)

Assim, este código gera um número entre 0 e 9. inclusive.

Baralhar listas
Para baralhar listas, esta biblioteca disponibiliza 2 comandos:

  • 'Shuffle': que serve para trocar a ordem de valores de uma lista; exemplificando:
import random

cards = ['A', 2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K']

random.shuffle(cards)

Neste exemplo, temos uma lista de cartas pertencentes a um dos 4 naipes. Depois de usarmos esse comando poderia aparecer por exemplo:

[5, 'K', 'Q', 2, 6, 7, 'A', 4, 3, 'J', 10, 9, 8]


  • 'Sample': com este comando, podemos baralhar os valores de uma lista, mas também criar uma sub-lista derivada da lista anterior:
import random

cards = [5, 'K', 'Q', 2, 6, 7, 'A', 4, 3, 'J', 10, 9, 8]

hand = random.sample(cards, 5)

em que depois da virgula podemos colocar o número de cartas que queremos adicionar à nova lista; o resultado dessa lista poderia ser:

['K', 7, 'A', 4, 10]


Sortear valores
Para esta funcionalidade, temos 1 comando da biblioteca que podemos utilizar:
  • 'Choice': em que escolhemos um valor de uma lista:

import random

fruit = [orange, banana, apple, pineapple]

print(random.choice(fruit))

em que o resultado poderia ser:


banana


Concluindo assim a publicação sobre esta biblioteca que poderá ser utilizada no futuro.


Referências:











C++ - String


Ao contrário do Python, o tipo de dado string não vem originalmente com o C++ (não primitivo). Mas mesmo assim, é muitíssimo utilizado.

A string é um conjunto de carácteres, basicamente um texto.

Faz parte da biblioteca iostream, assim como o cout e etc; logo é do namespace std.

Escrevendo:
string name;
onde name é o identifier da variável.

name = "Nome";
Os textos estão sempre entre aspas (""), na string não é excessão.

Programa exemplo
#include <iostream>
using namespace std;

int main(){
    string nome, cidade;
    nome = "Nyck";
    cidade = "Lisboa";

    cout << "Nome: " << nome << endl;
    cout << "Cidade: " << cidade << endl;
}

Como podem ver variáveis podem ser definidas juntas, separadas por uma vírgula.

A string vai muito além de apenas ser um conjunto de carácteres. Há formas de aceder a cada carácter individualmente, e muitas outras funcionalidades, cada uma das quais que falarei no futuro.

Referências

terça-feira, 5 de novembro de 2019

Modelação 3D

O tema do qual eu escolhi trabalhar este ano foi a modelação 3D, a criação de personagens em específico.
A modelação 3D é utilizada em todo o lado, como filmes e jogos. Cada vez mais os jogos para venderem mais utilizam como factor de venda a qualidade dos gráficos e na maior parte das vezes essa qualidade vem da modelação 3D. As personagens dos jogos nos últimos anos viram um grande aumento na qualidade dos gráficos, passando de ângulos afiados para superfícies lisas e suaves. 
Mesmo com este aumento de qualidade dos gráficos há criadores de jogos que optam por utilizar um tipo de imagem “retro” (a imitar os jogos antigos). Por exemplo Minecraft é um dos jogos mais populares de sempre existindo à mais de 10 anos mas, mesmo  assim quase não viu mudança nos gráficos, Cuphead é outro exemplo, este é um jogo recente mas, mesmo assim os criadores decidiram editar e criar a maior parte do jogo para imitar os desenhos animados do início da animação.

Eu pretendo, ao longo do ano explicar os diversos programas e técnicas utilizadas, dando exemplo de pessoas que trabalham nesta área e jogos, tanto da atualidade como antigos e, a evolução de franchises de jogos.

segunda-feira, 4 de novembro de 2019

IoT poderá salvar vidas!

A tecnologia cada vez mais prova que a sua aplicabilidade pode ser alargada a todos os setores. A saúde não é excessão. Vou mostrar como a IoT tem sido utilizada neste área.

O tratamento de cancro é uma experiência muito meticulosa e como tal, todas as indicações e reações dos pacientes podem influenciar o tratamento. Por isso, a empresa Medidata está a testar sensores rastreadores da atividade dos pacientes, como o nível de apetite ou fadiga, de modo que os médicos tenham uma maior gama de informações em tempo real sobre o paciente, ajustando o tratamento.

Outro exemplo, são as lentes de contacto inteligentes, desenvolvidas pela Novartis, que conseguem medir os níveis de glicose de um paciente com diabetes a partir das suas lágrimas, guardando todas as informações num dispositivo móvel. A empresa está a pesar utilizar esta tecnologia para outras doenças, porém, nada foi confirmado.

Os idosos têm grande tendência para quedas e como sabes, para eles, estas podem ser muito graves ou até fatais. Como tal um grupo de docentes da universidade de São Paulo está a estudar o uso de pulseiras inteligentes, juntamente com sensores espalhados pela casa, de modo a detetar a queda do idoso e reportá-la às autoridades. O estudo demonstrou uma precisão de 96.62%.

Existem vários exames que são considerados invasores e que apesar de necessários, preferíamos não fazer. Por isso, estão a ser desenvolvidos sensores ingeríveis. Um exemplo é a PillCam COLON que é uma alternativa à colonoscopia. Esta capta e transmite imagens do trato gastrointestinal e do cólon, ajudando a detetar precocemente o cancro colorretal. Por sua vez, a Scripps Health desenvolveu nanosensores que após serem ingeridos, dirigem-se para a corrente sanguínea, de onde enviam informações sobre o sistema cardiovascular.

Por fim, não nos podemos esquecer dos tão populares wearables como a linha Xiaomi Mi Band ou Huawei Honor Band que possuem informações de batimentos cardíacos, oxigenação do sangue e até monitorizam o sono. Tudo isto de forma cómoda e simples, estando ao alcance de qualquer pessoa (são dispositivos relativamente baratos).



Blogue pessoal sobre tech:



Python - Condições

TANTO NA LÓGICA COMO EM PROGRAMAÇÃO, TRABALHAMOS COM CONDIÇÕES PARA DEFINIR DIFERENTES CONSEQUÊNCIAS PARA DIFERENTES ACONTECIMENTOS, PYTHON NÃO É EXCESSÃO.

Em todos os exemplos de programas simples que demonstrei, nenhuma linha de código podia ser ignorada, mas através do uso de condições, podemos criar diferentes códigos para diferentes acontecimentos criando 'caminhos'.

Para criar e utilizar condições, usamos diversos comandos. Os mais importantes são 'if', 'else' e 'elif' que é uma 'mistura' dos dois primeiros. O if serve para iniciar uma condição e o else serve para terminá-la, enquanto que o elif serve para adicionar um terceiro ou mais 'caminhos' (blocos de código).

Existem 3 tipos de condições:
  • Simples: compostas apenas por um operador 'if'; exemplo:

pergunta = str(input('Today is your birthday? Yes or No?'))

if pergunta = Yes:
   print('Happy Birthday!')

em que só existe um caminho; se a resposta fosse qualquer outra coisa, o bloco de comando não iria ser executado.
  • Compostas: existem dois operadores, um 'if' e um 'else', com dois blocos de texto distintos:

pergunta = str(input('Today is your birthday? Yes or No?'))

if pergunta = Yes:
   print('Happy Birthday!')

else:
   print('Sorry, you have to wait.')

em que não é necessário descrever o que acontece após 'else' porque só existem duas opções de resposta, neste caso.
  • Aninhadas: constituídas por mais de dois blocos de código, existindo obrigatoriamente pelo menos um 'elif':

pergunta = str(input('Today is your birthday? Yes or No?'))

if pergunta = Yes :
   print('Happy Birthday!')

elif pergunta = No :
   print('Sorry, you have to wait.')

else:
   print('Invalid answer!')

Este tipo de codição é o mais utilizado, podendo ter inúmeros 'elif', assim podendo ter inúmeros blocos de código para cada ocasião especifica.

Existem outros operadores que podem ser utilizados em condições como:

  • Operadores de comparação;
  • and;
  • or;
  • while;
  • not;
  • then;
  • Valores Booleanos ('True' e 'False');
Irei falar destes operadores em futuras publicações!


Referências:

C++ - Comentários

Uma parte importante da programação e escrita de código é identificar e explicar o que escrevemos de modo a facilitar a leitura, seja para nós próprios ou para os outros que poderão lê-lo.
Isto faz-se partir de uma ferramenta chamada comentário.
Os comentários não são lidos pelo compiler, ou seja, são apenas úteis para o programador, seja para organizar ou para explicar o código. No fundo, é como se nem estivessem lá. Mas é preciso ter cuidado para não interferirem com o código, se estiverem mal posicionados.

Linha única (//)
Para adicionar um comentário de um linha no C++, é necessário colocar "//" antes das palavras do comentário.
Exemplo:
int num = 1;
//Olá! Isto é um comentário!
char h = 'H';

Como veem, o que está depois do "//" é um comentário.
Pode ser colocado em cima, em baixo, e há direita de código, mas nunca há esquerda (e obviamente também não no meio do código). Se à esquerda, todo o código que está à direita transforma-se num comentário.

À direita:
int num = 3; //Aqui, criamos uma variável de valor 3

À esquerda:
//Aqui, criamos uma variável de valor 3 int num = 3;


Múltiplas linhas (/* */)
Para adicionar um comentário de várias linhas, é necessário colocar "/*" no início, e "*/" no fim.
Exemplo:
/* Isto
   é
   um
   comentário */

O comentário engloba então essas 3 linhas mais um restinho da quarta.

Não necessariamente tem de ser de várias linhas. Pelo contrário, posso usar este tipo de comentário para criar um comentário ainda mais pequeno, com os limites definidos. Diferente do comentário de uma linha ("//") que começa num lugar e vai até o fim da linha.

Exemplo:
/* Comentário */ int num = 3;
int number = 5; /* Comentário 2 */


Vou também usar os comentários para explicar certas partes de códigos futuramente.
É sempre um bom hábito comentar os nossos códigos, nem que seja para ficar mais bonito. É muito importante no caso de nos esquecermos o que o código faz. Muitas vezes, vamos ter escrito tanto código que ficamos perdidos!

Referências

domingo, 3 de novembro de 2019

iOS 9

                                                                        IOS 9 Logo.png

IOS 9 Homescreen.png  Este iOS esteve disponível no dia 16 de setembro de 2015, há 4 anos e a sua última versão foi a 9.3.6 que saiu no dia 22 de julho de 2019, neste ano. Esteve disponível para as seguintes plataformas: iPhone 4S, 5, 5S, 5C, 6, 6 Plus, 6S, 6S Plus, SE, iPod Touch de 5ª e 6ª geração, iPad 2, de3ª e 4ª geração, Air, Air 2, Mini de 1ª geração, Mini 2, Mini 3, Mini 4, Pro de 12.9 polegadas e Pro de 9.7 polegadas.
 Este sistema operativo teve as seguintes modificações:
 - No iPhone 6S e iPhone 6S Plus , um recurso de exibição sensível ao toque chamado 3D Touch. É semelhante ao Force Touch. São adicionadas ações rápidas e atalhos às aplicações compatíveis com o recurso 3D Touch e são acionados pressionando um pouco mais o ícone da app. Ele também introduz-nos ações conhecidas como Peek e Pop, que permitem que os utilizadores segurem com firmeza para visualizar ("Peek") qualquer tipo de conteúdo em uma janela flutuante, antes de, opcionalmente, aplicarem mais pressão para inserir ("Pop") o conteúdo em exibição completa;

 - A nível da bateria, duas importantes atualizações de economia de bateria são adicionadas. Quando um telemóvel é colocado com o ecrã para baixo, a tela não acende ao receber notificações. Também adicionou o Modo de baixo consumo, que modifica a quantidade de energia dedicada aos serviços e animações em segundo plano. Por exemplo, atualização de aplicativo em segundo plano e email push são pausados ​​durante o Modo de baixa energia. Quando um telefone atinge 20% do nível da bateria, os utilizadores são questionados automaticamente se querem ativar o Modo de baixo consumo, que altera a cor do ícone da bateria para amarelo. Quando a bateria ultrapassa o nível de 80%, o Modo de baixo consumo desliga-se automaticamente;

 - o Night Shift que é um modo de exibição introduzido no iOS 9.3. O modo muda as cores do ecrã do dispositivo para ficar mais quente. Quando ativado, ele usa o relógio e a localização geográfica do dispositivo para determinar quando ativar ou desativar o recurso. O utilizador pode também definir um agendamento manual ou não ter um agendamento;

 - São apresentas várias melhorias a nível de segurança. Foi introduzida uma senha de 6 dígitos como padrão, dois dígitos extras do padrão de 4 dígitos anterior, além de suporte para autenticação de dois fatores;

 - No iBooks, os PDFs salvos na app iBooks via Safari ou iTunes podem ser sincronizados com o iCloud;

 - Este sistema tem uma configuração que ativa uma app chamada iCloud Drive na tela inicial. O iCloud Drive permite que o utilizador guarde e navegue em arquivos e pastas no iCloud;

 - A app Notas recebeu várias melhorias  incluindo a capacidade de desenhar esboços com várias ferramentas diferentes, incluindo uma régua para linhas retas. As imagens também podem ser adicionadas e os links para sites. No iPad e no iPhone a aplicação Notas adquiriu uma variedade de opções de cores para desenho e uma borracha. Um recurso de notas seguras, permite que um utilizador do iOS proteja suas notas com uma senha ou Touch ID;

 - A aplicação Passbook foi renomeada para Wallet e inclui muitas alterações, como suporte para cartões de fidelidade, cartões-presente, cartões Discover de crédito / débito e Apple Pay no Reino Unido. A app Wallet também pode ser acedida através tela de bloqueio.