USPCodeLab Leste

USPCodeLab Leste O USPCodeLab é um grupo de extensão universitária que tem como objetivo estimular a inovação te

Quando um site na web, por trás daquela estética amigável dos ícones, vídeos e textos, há um conjunto de componentes não...
22/06/2022

Quando um site na web, por trás daquela estética amigável dos ícones, vídeos e textos, há um conjunto de componentes não-acessíveis que possibilitam o funcionamento harmônico dessa interface. Esse conjunto de componentes é chamado de “back-end”, tecnicamente definido como a área da programação que objetiva o pleno funcionamento interno de um software: é responsável pela segurança, atualizações e mudanças dele. Banco de dados e Frameworks são ferramentas muito importantes para o back-end, porque possibilitam o armazenamento de informações e facilitam o processo de programação, respectivamente. Dentre as linguagens mais usadas pelos desenvolvedores back-end estão Ruby, Python, PHP, JavaScript e Java. Além disso, linguagens query, como SQL, são utilizadas para consultar um banco de dados ou um sistema de informação.

Computação Gráfica tem como objetivo a geração, manipulação e análise de imagens, através do computador. A área foi popu...
30/05/2022

Computação Gráfica tem como objetivo a geração, manipulação e análise de imagens, através do computador. A área foi popularizada com o surgimento de placas gráficas para PCs e bibliotecas de imagens, como o OpenGL, que não exigem conhecimento especializado para uso.
A computação gráfica trabalha com dois tipos de entradas: objetos bidimensionais - descritos por coordenadas - e dados gerados por simulações. Essas entradas podem ser utilizadas para gerar design auxiliado por computador (CAD), animações, efeitos especiais e representações gráficas e de dados.
O pipeline de visualização 3D é a sequência de etapas que o computador realiza para converter objetos bidimensionais ou dados em uma imagem tridimensional. Esse processo inicia com o estabelecimento de coordenadas espaciais do objeto para determinar suas medidas e sua localização espacial através de sistemas de referência digitais. Depois é feito o recorte 3D e a projeção e mapeamento na tela através do alinhamento dos Sistemas de Referência de Objeto (STO) com o Sistema de Referência da Tela (SRT) e o Sistema de Referência de Projeção (SRP). A região da tela onde a imagem será projetada é chamada viewport. Por último acontece a rasterização, processo que define a posição e cor dos pixels que compõem a imagem através de algoritmos como o de Bresenham e o flood-fill que já são parte das bibliotecas gráficas.
Algumas aplicações da Computação Gráfica são: modelagem de produtos, design de jogos eletrônicos, representação de dados meteorológicos, oceanográficos, médicos e financeiros, animações, simulações e desenvolvimento de realidade virtual (RV).

Aproveitando que nessa semana tivemos uma palestra sobre Machine Learning o nosso post de hoje é sobre a diferença entre...
23/05/2022

Aproveitando que nessa semana tivemos uma palestra sobre Machine Learning o nosso post de hoje é sobre a diferença entre inteligência artificial e Machine Learning. Muitas pessoas associam as duas como se fossem a mesma coisa, mas na realidade Machine Learning é uma sub-área da IA, que é um conceito mais amplo

Qual a diferença entre as duas?
Inteligência artificial é uma área que é um aglomerado de diversas tecnologias para simular cada vez mais fielmente a inteligência humana. Em relação à tomada de decisão, raciocínio e percepção de ambiente. Para isso são usados algoritmos, Machine Learning, Processamento de Linguagem Natural e Deep Learning.
Já o Machine Learning tem a ver com a capacidade de criar softwares que conseguem “aprender” com as interações às quais são submetidos. Eles, por meio de diversas tecnologias, têm a capacidade de mudar comportamentos e respostas à medida que aprendem mais. O método mais usado e mais conhecido para isso são as redes neurais, que simulam o cérebro humano
Resumindo, em IA acontece a repetição de padrões para simular decisões e raciocínios humanos, e Machine Learning é o aprendizado que os software conseguem ter por meio dos dados que passam por eles. Mas estão amplamente relacionados já que para o desenvolvimento da Inteligência artificial é usado Machine Learning.

🔹  ATENÇÃO!  Amanhã, dia 17/05 às 16h no Anfiteatro 1 do Ciclo Básico nós da CodeLab promoveremos uma palestra exclusiva...
16/05/2022

🔹 ATENÇÃO! Amanhã, dia 17/05 às 16h no Anfiteatro 1 do Ciclo Básico nós da CodeLab promoveremos uma palestra exclusiva o engenheiro líder Renato Ferreira, com o tema: Introdução à Machine Learning. Você não vai querer deixar essa passar.

🔹 Quem é o Renato?

Renato Ferreira é o atual líder de engenharia em Machine Learning na Elo7 e procura colocar os modelos de IA em produção no mundo real. Fez desde a sua graduação até o Doutorado aqui no IME-USP, com enfoque para Sistemas Inteligentes e Arquitetura de Software. É também um dos cofundadores do próprio CodeLab!

🔹 O que é Machine Learning?

Machine Learning é uma tecnologia que permite a construção de Inteligências Artificiais (IAs) a partir da intepretação de dados e do aprendizado adquirido pelas respostas dadas. São usadas desde algoritmos para prever dados estatísticos, até IAs capazes de jogar xadrez, ler imagens ou até mesmo ser o piloto de bordo de um avião! Elas funcionam a partir do aprendizado com o erro e modificam o seu código automaticamente! Quanto mais próximas as respostas dadas estão da esperada, menos modificam o código, quanto menos próximas, mais modificações acontecem.

🔹 Mas e eu que não sei programar, que nem sei o que é uma IA?

Se você tem esse pensamento então fique tranquilo pois você não precisa se preocupar. A palestra é pensada para te levar desde os conceitos mais básicos sobre Machine Learning até tópicos avançados, como a Validação Cruzado e o Pipeline da Ciência de Dados!

🔹 Eai gostou? Então corre lá e não perde essa oportunidade! Ah, e siga a gente nas redes sociais para ficar sabendo de mais eventos imperdíveis como esse.

Você sabe o que cada parte da URL de um site quer dizer?Vamos dizer que você quer fazer uma busca no google, e na barra ...
13/05/2022

Você sabe o que cada parte da URL de um site quer dizer?

Vamos dizer que você quer fazer uma busca no google, e na barra de endereço aparece um link mais ou menos assim:

https://www.google.com.br/search?q=uspcodelableste

E você se pergunta: “o que exatamente cada uma dessas partes significa? É um monte de termo sem sentido?” Não! Cada parte tem uma importância, e hoje vamos resumir o que cada uma significa.

Antes de tudo, é importante entender que a internet moderna funciona por meio de requisições de servidor-cliente, ou seja, você (o “cliente”) ao colocar essa URL no seu navegador, está pedindo para o servidor te trazer uma resposta que corresponde ao endereço digitado. E assim como um endereço físico possui várias componentes (país, cidade, bairro, rua), o de um site também tem suas partes bem definidas.

https://”: Com essa parte estamos definindo o protocolo de troca de dados, que no caso da web usa o Protocolo Seguro de Transferência de HiperTexto (do Inglês Secure HyperText Transfer Protocol), que vai nos retornar uma página HTML.

“www.”: Acrônimo para “WordWide Web”, ou Rede Global de Computadores, específica que estamos acessando a internet como um todo, e não uma intranet, ou uma rede de computadores fechada.

“google.com.br”: Essa é a parte do domínio do site que estamos acessando, que é sempre seguida de sufixos que mostram qual a finalidade do site (neste caso “.com” quer dizer que é um site comercial, e “.br” que está sendo hosteado no Brasil).

“/search”: Essa é a rota do servidor que estamos acessando, ela diz para o servidor algo como “dentro do site, eu quero usar o que está nesta subpasta”, no nosso caso, estamos na rota de busca do google.

“?q=uspcodelableste”: No final da URL podemos colocar algo que chamamos de Parâmetros. Iniciando com um sinal de interrogação, podemos passar pares de dados que contém quaisquer informações que o site necessita para funcionar ou dados extras (como analíticos); no nosso caso é o termo que estamos procurando no google.

E aí, você já sabia das funções de cada parte das URLs? Gosta do mundo de desenvolvimento web? Comente abaixo e deixe seu like!

O desenvolvimento front-end é a parte do software que coloca ênfase na experiência de usuário, tentando deixá-la mais in...
09/05/2022

O desenvolvimento front-end é a parte do software que coloca ênfase na experiência de usuário, tentando deixá-la mais intuitiva e dinâmica. O front-end normalmente também decide a identidade visual do software, então além de conhecimento nas linguagens de programação, esse desenvolvedor é mais valorizado se tiver conhecimentos de design, mas também se estende à como as informações do sistema serão mostradas ao usuários. Resumidamente, o desenvolvedor front-end precisa conhecer sobre as linguagens de programação mais usadas, design e arquitetura da informação, tudo para incrementar positivamente a experiência do usuário. O front-end é utilizado basicamente em qualquer software que necessite de uma interface gráfica e que terá interação com o usuário final. As grandes vantagens de um sistema possuir um front-end bem feito são uma redução nos custos de treinamento de funcionários para sistemas empresariais, por exemplo, já que é necessário muito menos treinamento para aprender a usar um sistema intuitivo, isso se aplica a outros tipos de sistema, por exemplo, websites e aplicativos com um bom front-end tendem a manter os usuários mais engajados. Quando se trata de desenvolvimento web, as principais linguagens usadas para o front-end são HTML para estruturar e criar os elementos do site em geral, CSS para cuidar da apresentação visual do site e JavaScript para tornar os elementos do site interativos e em geral facilitar a criação de elementos mais complexos dentro do site. Já para o desenvolvimento mobile, os aplicativos Android usam a IDE e framework do Android Studio em Java, enquanto os aplicativos iOS usa o Swift iOS que usa principalmente o Objective-C, mas ultimamente vem sendo capaz de integrar outras linguagens como o Python.

O sistema operacional Debian, criado em 1993, é uma das distribuições livres do Linux mais populares e inspirou muitas o...
06/05/2022

O sistema operacional Debian, criado em 1993, é uma das distribuições livres do Linux mais populares e inspirou muitas outras distribuições Linux, como Ubuntu, Knoppix e Tails.

Além disso, o Debian conta com diversas aplicações disponíveis para os usuários e repositórios online com quase 60 mil pacotes. O sistema operacional, assim como seus pacotes, possui apenas softwares livres que podem ser baixados e instalados gratuitamente, contribuindo para a excelente performance e flexibilidade, e permitindo um maior controle do software em uso no sistema.

Esse desbravador do universo de sistemas operacionais foi um dos primeiros a implementar um sistema de gerenciamento de pacotes, o Dpkg, que é essencial pois garante consistência entre as centenas de bibliotecas do sistema.

Já o apt, implementado em 1998, permitiu a uma instalação debian que utilizasse a internet para atualizar e gerenciar pacotes. Isso permitiu aos usuários, novas formas de descobrir programas, e aos desenvolvedores, uma maneira mais dinâmica e veloz de manter o sistema operacional seguro e estável.

E foi assim, juntando todas essas vantagens e qualidades, que o Debian se tornou um dos mais difundidos sistemas operacionais e serve de base para muitos outros até hoje.

Você aí, já ouviu falar do Ubuntu?Ubuntu é uma das diversas distribuições (distro) do sistema operacional Linux em diret...
04/05/2022

Você aí, já ouviu falar do Ubuntu?
Ubuntu é uma das diversas distribuições (distro) do sistema operacional Linux em direta concorrência com o Windows e MacOS, é gratuita e open-source, ou seja, qualquer um pode ver o código fonte.
Criado em 2004, foi baseado numa distro mais antiga do Linux: o Debian, uma das mais antigas, lançada lá em 1993. O Debian possuía na época o fatal problema de ser difícil de instalar, problema este que o Ubuntu se propôs a resolver. Aliado da arquitetura do Debian e da ideologia de tornar o Linux acessível a todos, Ubuntu é um gigante no ecossistema Linux e é altamente influente, servindo de base para outras distribuições.
O Ubuntu promete ao usuário final uma experiência simples e agradável, sendo uma excelente porta de entrada para outras distribuições do Linux mais complexas. Pode-se dizer então que o Ubuntu é o “Linux para quem veio do Windows” pela sua simplicidade. Então se você não está satisfeito com o Windows (especialmente o 11 pq convenhamos né, deus me livre), não quer incentivar as megacorporações como a Apple ou Google, ou simplesmente quer experimentar o ambiente Linux mas não está afim de ter que lidar com a complexidade desse sistema, então o Ubuntu é uma excelente opção para você.
Eaí, gostou do nosso papo? Se interessou pelo Ubuntu e quer sair dessa vida de só Windows e Mac, ou então quer se aventurar no mundo do Linux, descobrindo outras distribuições geniais e muito úteis. Então cola com a gente no Linux Install Fest que a gente do CodeLab Leste estamos promovendo. O evento acontecerá no dia 06/05 das 14h às 16h no laboratório 6 do Ciclo Básico aqui na EACH da USP Leste, leve seu notebook ou pen drive vazio pois lá nós ajudaremos você a instalar uma distribuição de Linux na sua máquina, podendo ser Ubuntu, Debian, Mint, Fedora, entre outras. Se interessou? Então vai lá e se inscreve, o link está na bio.

🔹Dia 06/05, das 14h às 16h, no laboratório 6 do Ciclo Básico, vamos promover um evento para instalação de distribuições ...
29/04/2022

🔹Dia 06/05, das 14h às 16h, no laboratório 6 do Ciclo Básico, vamos promover um evento para instalação de distribuições Linux.

⚠️Não esqueça de fazer o seu backup previamente. O USPCodeLab Leste não terá responsabilidade por dados perdidos.

🔹O que é linux?
É uma categoria de sistemas operacionais de código aberto, isto é, qualquer usuário pode contribuir para sua construição.

🔹Por que Linux?
A liberdade de usar um SO de código aberto contribuí para diversas funcionalidades, sendo a principal a liberdade de configuração do sistema.

🔹E se eu sou usuário de Windows?
Existem diversas distribuições de linux, cada uma com sua particulariedade, então com certeza você vai achar uma que faça sentir-se confortável e ao mesmo tempo livre para configurar do seu jeito.

🔹O que levo?
Traga seu notebook (e, se possível, um pendrive vazio) para instalarmos linux no seu computador, lembrando que não é necessário escolher entre Linux e Windows. Isso mesmo que entendeu, você pode ter os dois SO's na sua máquina, o famoso dual boot!

Criado em 1991 por Linus Torvalds para ser uma opção de código aberto ao sistema operacional Minix, e batizado com o nom...
25/04/2022

Criado em 1991 por Linus Torvalds para ser uma opção de código aberto ao sistema operacional Minix, e batizado com o nome de seu criador, o Linux se tornou hoje um dos sistemas operacionais mais utilizados do mundo, logo atrás dos seus maiores rivais, o MacOS e o Windows. Antes considerado um sistema usado apenas por programadores e entusiastas de computadores, hoje até mesmo os usuários mais casuais conseguem usufruir de seus benefícios.

Você pode até não perceber à primeira vista, mas o OS do pinguinzinho está presente em toda parte, indo desde do seu celular com o android (que é baseado em Linux) até os site que você acessa na internet, com a maioria dos servidores web rodando alguma distribuição Linux como sistema operacional.

Por ser de código aberto e de graça criado em cima do sistema GNU, o Linux ganhou muita notoriedade como um OS flexível, onde existem várias distribuições diferentes para usos específicos. Alguns exemplos são: Ubuntu, Fedora, Debian, Mint, CentOS, PopOS para uso geral; Android, para mobile; e o recente SteamOS, que é o sistema operacional do console SteamDeck. Dentro das distribuições de uso geral, existem algumas variações para uso empresarial, como por exemplo Ubuntu Server/Enterprise e versões do Linux customizadas pela empresa Red Hat. Ou seja, existe um linux perfeito para o que você precisar.

Parte importante de usar o Linux, é entender a sua funcionalidade mais amada pelos técnicos, e mais temida pelo público geral, o terminal de comandos. Em sua essência, o terminal serve para usar funcionalidades básicas do sistema operacional, como navegar e editar arquivos, instalar e rodar programas, manejar pastas, tudo isso apenas digitando comandos. Porém, com distribuições mais recentes, saber utilizar o terminal não é mais uma necessidade, já que muitas das funções podem ser desempenhadas pela interface gráfica, apesar de ser uma boa pedida para agilizar tarefas no computador.

Eu devo mudar pro Linux?

Não necessariamente. Por mais que seja um sistema muito prático e bastante poderoso (e graça também), ainda tem algumas pequenas desvantagens no seu uso ao invés do MacOS ou Windows. Sendo o maior deles a compatibilidade: existem vários programas/utilidades que simplesmente não são suportados no Linux nativamente (como a maioria dos jogos em DirectX, programas adobe, etc), precisando de um “tradutor” para que possa ser utilizado, o que pode dar muita dor de cabeça. Mas se o seu objetivo é usar apenas internet e programas de produtividade, ou usar para desenvolvimento, não existe sistema melhor.

E aí, o que você acha do Linux? Já usou o terminal na frente da família pra parecer o Hackerman ou ficou maluco tentando escolher entre uma das distribuições? Comente abaixo, e deixe seu like!

O CodeLab tem como seu cerne divulgar e promover a computação dentro do ambiente universitário. Uma das formas de maximi...
22/04/2022

O CodeLab tem como seu cerne divulgar e promover a computação dentro do ambiente universitário. Uma das formas de maximizar isso é através de nossos projetos promovidos pelo Dev.boos()! Através dele fazemos o desenvolvimento de projetos de maior complexidade, normalmente introduzindo os participantes para novos conceitos, como desenvolvimento de jogos ou microsserviços. Esse setor do CodeLab está no cerne do nosso objetivo, e traz aos participantes novas habilidades!

Structured Query Language (do inglês - Linguagem de Consulta Estruturada), ou como é mais comumente chamada "SQL", é uma...
20/04/2022

Structured Query Language (do inglês - Linguagem de Consulta Estruturada), ou como é mais comumente chamada "SQL", é uma linguagem de estruturação de banco de dados relacionais criada na década de 70 pela IBM, e faz sucesso desde a sua criação até os dias de hoje pela simplicidade que traz para o manejo de dados.

Se você já olhou para uma planilha do excel e pensou: "e se eu fizesse um aplicativo que guardasse informações assim?", não se preocupe, o SQL é o seu cara. Usando de tabelas de registros interconectadas por relacionamentos, a linguagem torna fácil desde manipulações simples de consulta até as mais complexas entrelaçando informações entre tabelas (os famosos 'joins').

E o melhor, tudo isso vem com uma sintaxe fácil de se entender e bastante intuitiva, fazendo com que qualquer pessoa com uma boa lógica de programação e lógica de conjuntos consiga pegar fácil.

Atualmente, para quem deseja entrar no mundo de banco de dados na área de SQL, opções não faltam com vários dialetos da linguagem e produtos para escolher. Entre os mais famosos temos o MySQL, Microsoft SQL Server, PostgreSQL. A lógica é a mesma, se diferenciando apenas em sintaxe.

Eu preciso aprender SQL?

É interessante. Via de regra, é sempre uma boa pedida ter SQL no seu leque de opções, apesar de ter vários novos sistemas de banco de dados com maiores abstrações para nichos específicos de arquiteturas de software. O SQL ainda é uma opção robusta para vários tipos de projetos e vale a pena conhecer ao menos o básico da linguagem.

E aí, o que você acha do SQL? Já teve que usar essa linguagem em algum projeto? Já se embolou fazendo joins complicados? Comente e deixe seu like!

Endereço

Rua Arlindo Béttio, 1000
São Paulo, SP

Notificações

Seja o primeiro recebendo as novidades e nos deixe lhe enviar um e-mail quando USPCodeLab Leste posta notícias e promoções. Seu endereço de e-mail não será usado com qualquer outro objetivo, e pode cancelar a inscrição em qualquer momento.

Compartilhar