<?xml version="1.0" encoding="UTF-8"?>		<rss version="2.0"
			xmlns:content="http://purl.org/rss/1.0/modules/content/"
			xmlns:wfw="http://wellformedweb.org/CommentAPI/"
			xmlns:dc="http://purl.org/dc/elements/1.1/"
			xmlns:atom="http://www.w3.org/2005/Atom"
			xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
			xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
					>

		<channel>
			<title>UFSM - Feed Customizado RSS</title>
			<atom:link href="https://www.ufsm.br/busca?rss=true&#038;tags=outros" rel="self" type="application/rss+xml" />
			<link>https://www.ufsm.br</link>
			<description>Universidade Federal de Santa Maria</description>
			<lastBuildDate>Thu, 23 Jul 2026 20:09:01 +0000</lastBuildDate>
			<language>pt-BR</language>
			<sy:updatePeriod>hourly</sy:updatePeriod>
			<sy:updateFrequency>1</sy:updateFrequency>
			<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>/app/themes/ufsm/images/icons/favicon.ico</url>
	<title>UFSM</title>
	<link>https://www.ufsm.br</link>
	<width>32</width>
	<height>32</height>
</image> 
						<item>
				<title>Possibilidades de intercâmbio para jovens</title>
				<link>https://www.ufsm.br/pet/sistemas-de-informacao/2026/06/18/possibilidades-de-intercambio-para-jovens</link>
				<pubDate>Fri, 19 Jun 2026 00:41:57 +0000</pubDate>
						<category><![CDATA[Destaques]]></category>
		<category><![CDATA[Ensino]]></category>
		<category><![CDATA[Redações]]></category>
		<category><![CDATA[Outros]]></category>

				<guid isPermaLink="false">https://www.ufsm.br/pet/sistemas-de-informacao/?p=3705</guid>
						<description><![CDATA[O interesse por intercâmbios entre estudantes universitários tem crescido cada vez mais nos últimos anos (UNESCO, 2024). No entanto, muitos jovens acreditam que essa experiência depende exclusivamente de programas oferecidos pelas universidades ou de processos seletivos com poucas vagas disponíveis (AIESEC BRASIL, 2026). Dessa forma, acabam deixando de buscar alternativas que podem tornar o sonho [&hellip;]]]></description>
							<content:encoded><![CDATA[  <!-- wp:tadv/classic-paragraph -->
<p><span style="font-weight: 400">O interesse por intercâmbios entre estudantes universitários tem crescido cada vez mais nos últimos anos (UNESCO, 2024). No entanto, muitos jovens acreditam que essa experiência depende exclusivamente de programas oferecidos pelas universidades ou de processos seletivos com poucas vagas disponíveis (AIESEC BRASIL, 2026). Dessa forma, acabam deixando de buscar alternativas que podem tornar o sonho de viver uma experiência internacional mais acessível.</span></p>
<p><span style="font-weight: 400">Uma dessas alternativas é a AIESEC, uma organização global sem fins lucrativos, liderada por jovens, que busca desenvolver liderança por meio de experiências práticas e intercâmbios internacionais. Presente em diversos países, a organização conecta jovens a oportunidades de impacto social, profissional e cultural ao redor do mundo (AIESEC, 2026).</span></p>
<p><span style="font-weight: 400">Entre os programas oferecidos pela AIESEC, destacam-se o Global Teacher, o Global Talent e o Global Volunteer.</span></p>
<p><span style="font-weight: 400">O programa Global Teacher oferece oportunidades para atuar no ensino de idiomas, especialmente inglês, em escolas e instituições educacionais. Geralmente, é necessário possuir um bom nível de inglês, habilidades de comunicação e interesse pela área da educação. A duração varia conforme o projeto e o participante costuma receber remuneração pelo trabalho realizado. A faixa etária normalmente aceita é de 18 a 30 anos.</span></p>
<p><span style="font-weight: 400">Já o Global Talent é voltado para estágios profissionais em empresas e organizações internacionais. As oportunidades abrangem diversas áreas de formação, permitindo que o participante desenvolva experiência profissional em outro país. Os estágios costumam ter duração entre seis e doze meses e exigem proficiência em inglês, vínculo com uma instituição de ensino superior ou formação recente, além de competências relacionadas à vaga. Nesse programa, o participante recebe salário, mas normalmente é responsável pelos custos de acomodação e alimentação. A idade permitida geralmente varia entre 18 e 30 anos. Em alguns casos, dependendo do desempenho do participante e das necessidades da empresa, existe a possibilidade de efetivação após o período de estágio, permitindo a continuidade da experiência profissional no país de destino. </span></p>
<p><span style="font-weight: 400">Por sua vez, o Global Volunteer oferece projetos de impacto social em organizações não governamentais, escolas e instituições comunitárias. Os projetos costumam estar alinhados aos Objetivos de Desenvolvimento Sustentável (ODS) da ONU, abordando temas como educação de qualidade, igualdade de gênero, sustentabilidade e redução das desigualdades. A duração normalmente varia de quatro a oito semanas e os requisitos incluem inglês intermediário, interesse em causas sociais e abertura para novas culturas. Em muitos projetos, a acomodação e parte da alimentação são fornecidas pela organização anfitriã. Embora não haja remuneração, o programa proporciona experiência internacional, intercâmbio cultural e desenvolvimento pessoal. A faixa etária também costuma ser de 18 a 30 anos.</span></p>
<p><span style="font-weight: 400">Independentemente do programa escolhido, o participante precisa arcar com a taxa de participação da AIESEC e com os custos de deslocamento, como passagens aéreas. Dependendo do destino e do período de permanência, também podem ser necessários documentos adicionais, como visto, seguro viagem e comprovantes financeiros. Além disso, gastos pessoais e transporte local devem ser considerados no planejamento.</span></p>
<p><span style="font-weight: 400">Durante todo o processo, os participantes contam com o acompanhamento da AIESEC tanto no país de origem quanto no país de destino, recebendo orientações sobre documentação, preparação cultural, adaptação ao projeto e demais etapas da experiência internacional.</span></p>
<p><span style="font-weight: 400">Outro aspecto interessante é a possibilidade de conhecer novos lugares durante o intercâmbio. Nos períodos livres, os participantes podem viajar e explorar outras cidades e regiões do país em que estão vivendo, respeitando as condições do visto e do programa escolhido. Como a AIESEC possui oportunidades em diversos continentes, é possível encontrar projetos em países da Europa, Ásia, África, América e Oceania.</span></p>
<p><span style="font-weight: 400">Dessa forma, a AIESEC se apresenta como uma alternativa acessível para jovens que desejam vivenciar uma experiência internacional sem depender exclusivamente de programas universitários. Além de conhecer novas culturas e ampliar sua visão de mundo, os participantes desenvolvem competências como autonomia, adaptabilidade, comunicação intercultural, resolução de problemas e trabalho em equipe, habilidades cada vez mais valorizadas no mercado de trabalho e na formação pessoal.</span></p>
<p style="text-align: right"><strong>Autora: Vitória Luiza Camara</strong></p>
<h3><strong>Referências</strong></h3>
<p><span style="font-weight: 400">AIESEC. </span><i><span style="font-weight: 400">Global Talent</span></i><span style="font-weight: 400">. Disponível em: https://aiesec.org/global-talent. Acesso em: 16 jun. 2026.</span></p>
<p><span style="font-weight: 400">AIESEC. </span><i><span style="font-weight: 400">Global Teacher</span></i><span style="font-weight: 400">. Disponível em: https://aiesec.org/global-teacher. Acesso em: 16 jun. 2026.</span></p>
<p><span style="font-weight: 400">AIESEC. </span><i><span style="font-weight: 400">Global Volunteer</span></i><span style="font-weight: 400">. Disponível em: https://aiesec.org/global-volunteer. Acesso em: 16 jun. 2026.</span></p>
<p><span style="font-weight: 400">AIESEC BRASIL. Disponível em: https://aiesec.org.br. Acesso em: 16 jun. 2026.</span></p>
<p><span style="font-weight: 400">ORGANIZAÇÃO DAS NAÇÕES UNIDAS. </span><i><span style="font-weight: 400">Objetivos de Desenvolvimento Sustentável</span></i><span style="font-weight: 400">. Disponível em: https://brasil.un.org/pt-br/sdgs. Acesso em: 16 jun. 2026.</span></p>
<p><span style="font-weight: 400">UNESCO. Global Flow of Tertiary-Level Students. Disponível em: https://uis.unesco.org/en/topic/international-student-mobility. Acesso em: 16 jun. 2026.</span></p>
<!-- /wp:tadv/classic-paragraph -->]]></content:encoded>
													</item>
						<item>
				<title>Disciplinas de computação pela UFSM</title>
				<link>https://www.ufsm.br/pet/sistemas-de-informacao/2025/10/04/disciplinas-de-computacao-pela-ufsm</link>
				<pubDate>Sat, 04 Oct 2025 12:51:52 +0000</pubDate>
						<category><![CDATA[Destaques]]></category>
		<category><![CDATA[Redações]]></category>
		<category><![CDATA[Outros]]></category>

				<guid isPermaLink="false">https://www.ufsm.br/pet/sistemas-de-informacao/?p=3657</guid>
						<description><![CDATA[A universidade, em sua essência, é um ambiente interdisciplinar que se diferencia de outras instituições de ensino, entre outras coisas, pela amplitude de campos de estudo e a interação entre eles que acontece no ambiente universitário.  Para os alunos de graduação, uma das vantagens é a possibilidade de enriquecer sua formação através de uma variedade [&hellip;]]]></description>
							<content:encoded><![CDATA[  <!-- wp:tadv/classic-paragraph -->
<p><span style="font-weight: 400">A universidade, em sua essência, é um ambiente interdisciplinar que se diferencia de outras instituições de ensino, entre outras coisas, pela amplitude de campos de estudo e a interação entre eles que acontece no ambiente universitário. </span></p>
<p><span style="font-weight: 400">Para os alunos de graduação, uma das vantagens é a possibilidade de enriquecer sua formação através de uma variedade de projetos e atividades, mas também é possível trazer a interdisciplinaridade para dentro da sala de aula: a Universidade Federal de Santa Maria oferta, espalhadas nos 131 cursos de graduação da instituição, diversas disciplinas relacionadas a computação e sua aplicação nas mais diversas áreas. </span></p>
<p><span style="font-weight: 400">Para a PET Redação de hoje, trago uma seleção de disciplinas encontradas no ementário da UFSM [1] que abordam a área da computação, sob diversas perspectivas. As disciplinas estão classificadas de acordo com o assunto abordado, e são ofertadas em mais de 20 cursos de graduação, sendo ótimas opções de extracurriculares para complementar os conhecimentos obtidos no curso.</span></p>
<p><span style="font-weight: 400">A seleção de disciplinas foi feita utilizando como principais critérios: 1. ter uma relação direta com a área da computação e 2. não ser ofertada pelos cursos de computação (Ciência da Computação, Engenharia da Computação, Redes de Computadores, Sistemas de Informação e Sistemas para Internet). Apesar disso, recomendo para quaisquer interessados em ampliar o escopo de seus estudos que busquem nas estruturas curriculares dos cursos de graduação e entrem em contato com os departamentos responsáveis para tirar dúvidas. Espero que essa lista desperte o interesse dos leitores pelo contato com outras áreas de estudo e ajude a valorizar a interação entre os campos de conhecimento dentro e fora da sala de aula.</span></p>
<p> </p>
<p><b>Arquivologia:</b><span style="font-weight: 400"> disciplinas relacionadas à preservação e gestão de documentos e acervos.</span></p>
<ul>
<li style="font-weight: 400"><a href="https://www.ufsm.br/ementario/disciplinas/ARQV0010"><b>ARQV0010</b></a><b> - Documentos Arquivísticos Digitais (Arquivologia)</b><span style="font-weight: 400">: Compreender como os arquivos são representados digitalmente, estabelecer a relação entre a digitalização e os arquivos nato-digitais, analisar os metadados e os padrões arquivísticos para os arquivos digitais.</span></li>
<li style="font-weight: 400"><a href="https://www.ufsm.br/ementario/disciplinas/UFSM01013"><b>UFSM1013</b></a><b> - Inteligência Artificial, Arquivos e Educação (Arquivologia)</b><span style="font-weight: 400">: Compreender o conceito de Inteligência Artificial (IA) e as suas repercussões éticas, culturais e sociais. Analisar como a Inteligência Artificial pode ser aplicada de forma ética e confiável no trabalho arquivístico, considerando as atribuições legais da profissão. Refletir sobre como a IA pode auxiliar o ensino da Arquivologia e colaborar na formação de professores e estudantes da área. </span></li>
<li style="font-weight: 400"><a href="https://www.ufsm.br/ementario/disciplinas/ARQV0037"><b>ARQV0037</b></a><b> - Preservação Digital A (Arquivologia)</b><span style="font-weight: 400">: Compreender o ciclo de vida dos arquivos permanentes digitais e seus sistemas de gerenciamento, enfatizando as questões de manutenção, autencidade, segurança e certificação. Salienta-se que esta disciplina terá 15 horas destinadas a realização de trabalhos de extensão.</span></li>
</ul>
<p> </p>
<p><b>Ciência de Dados: </b><span style="font-weight: 400"> disciplinas relacionadas à estatística e análise e manipulação de dados, aplicadas em diferentes áreas.</span></p>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/CAD1130"><b>CAD1130</b></a><b> - Análise de Dados em Administração (Administração)</b><span style="font-weight: 400">: Aplicar estatística, desenvolvendo o raciocínio racional na descrição e apresentação de informações relevantes contidas em um conjunto de dados bem como tratar dos conceitos e cálculos das probabilidades, suas distribuições, aplicações e inferências; </span></li>
<li><a href="https://www.ufsm.br/ementario/disciplinas/CAD1127"><b>CAD1127</b></a><b> - Análise de Dados em Finanças (Administração):</b><span style="font-weight: 400"> Utilizar softwares (SPSS, Stata, Gretl, R), desenvolver e interpretar resultados de modelos de análise de dados em administração aplicados em dados </span><i><span style="font-weight: 400">cross section</span></i><span style="font-weight: 400">, séries temporais e em material bibliográfico.</span></li>
<li><a href="https://www.ufsm.br/ementario/disciplinas/DEE1099"><b>DEE1090</b></a><b> - Análise de Dados em Ecologia (Ciências Biológicas):</b><span style="font-weight: 400"> Entender os conceitos sobre delineamento amostral, análises de dados e aplicar o método estatístico (análises exploratórias e inferenciais) no contexto de pesquisas científicas nas áreas de biologia, zoologia e ecologia.</span></li>
<li><a href="https://www.ufsm.br/ementario/disciplinas/STC1073"><b>STC1073</b></a><b> - Métodos Estatísticos Computacionais (Ciências Econômicas):</b><span style="font-weight: 400"> Ter conhecimentos e habilidades em tópicos de estatística computacional e computação científica. Os alunos aprovados nesta disciplina terão conhecimentos computacionais suficientes para realizar simulação de Monte Carlo e desenvolver pesquisas em estatística computacional.</span></li>
<li><a href="https://www.ufsm.br/ementario/disciplinas/FSC1104"><b>FSC1104</b></a><b> - Análise de Dados Ambientais Com R (Física):</b><span style="font-weight: 400"> O curso aborda a programação em R, leitura e escrita de dados, criação de gráficos informativos, acesso a pacotes do R, criação de funções, organização e documentação de códigos R. Durante o aprendizado serão utilizados dados ambientais para aplicação das ferramentas de análise de dados de diferentes áreas (climatologia, hidrologia, termodinâmica).</span></li>
<li><a href="https://www.ufsm.br/ementario/disciplinas/DPADP0009"><b>DPADP0009</b></a><b> - Modelagem de Banco de Dados Espacial (Estatística): </b><span style="font-weight: 400">Conhecer os conceitos, métodos e técnicas de estruturação, modelagem, implantação e aplicação de bancos de dados de natureza espacial.</span><b></b></li>
</ul>
<p> </p>
<p><b>Mídias Digitais</b><span style="font-weight: 400">: disciplinas relacionadas à interação com redes sociais.</span></p>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/CAD1166"><b>CAD1166</b></a><b> - Marketing Digital (Administração): </b><span style="font-weight: 400">Situar o marketing digital no contexto do marketing direto. Compreender o papel do marketing digital como estratégia de captação, comunicação e relacionamento com os clientes. Analisar e decidir acerca do uso das ferramentas digitais como estratégias de marketing nos negócios. Compreender o papel da tecnologia para captação e manutenção de clientes. Proporcionar aos alunos a vivência dos conteúdos da disciplina por meio de 15 horas de prática extensionista.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/COM3107"><b>COM3107</b></a><b> - Monitoramento de Mídias Sociais Digitais (Comunicação Social): </b><span style="font-weight: 400">Conhecer os princípios do gerenciamento e do monitoramento de redes sociais digitais. Identificar os diferentes níveis de interação em mídias sociais. Reconhecer os tipos de métricas e sua importância nas ações de comunicação digital. Planejar, executar e avaliar o monitoramento de mídias sociais digitais.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/COM3035"><b>COM3035</b></a><b> - Produção Editorial Para Mídias Digitais (Comunicação Social): </b><span style="font-weight: 400">Capacitar para a compreensão das características e tendências em mídias digitais. Refletir sobre os processos de produção, circulação e consumo associados às mídias digitais. Refletir sobre as lógicas e possibilidades de produção das mídias digitais aplicadas à produção editorial e experimentar possibilidades de produção na área.</span></li>
</ul>
<p> </p>
<p><b>Computação e sociedade: </b><span style="font-weight: 400">disciplinas que abordam os impactos da computação dentro da sociedade, seus efeitos no dia a dia e na cultura como um todo.</span></p>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/CAD1126"><b>CAD1126</b></a><b> - Negócios e Tecnologias Digitais (Administração): </b><span style="font-weight: 400">Compreender os negócios digitais e as novas tecnologias. Visualizar as influências da tecnologia na sociedade, nas organizações e nos indivíduos.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/JUR1126"><b>JUR1126</b></a><b> - Direito Digital e Cibersegurança (Direito): </b><span style="font-weight: 400">Proporcionar o conhecimento do sistema de fontes, direitos, liberdades fundamentais e os princípios básicos do direito digital e cibersegurança; conduzir a formação de profissionais que saibam integrar conceitos multidisciplinares, analisando, interpretando e resolvendo os problemas e conflitos jurídicos, políticos e sociais que surgem neste novo campo, com a integração dos diferentes ramos do direito sob o viés dos marcos jurídicos digitais.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/ISP1028"><b>ISP1028</b></a><b> - Novas Tecnologias e Cibercultura (Ciências Sociais):</b><span style="font-weight: 400">Analisar a configuração de um novo paradigma na contemporaneidade, marcado pela predominância das novas tecnologias de comunicação e informação. Com base nisto discutir os significados sociais, políticos e culturais da construção do novo espaço tecno-social, as mudanças e as problemáticas sócio-políticas a ele relacionadas.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/COM1221"><b>COM1221</b></a><b> - Produção de Conteúdo e Sociabilidade em Jogos Eletrônicos (Comunicação Social): </b><span style="font-weight: 400">Compreender as novas formas de produção de conteúdo e de sociabilidade, gênero e sexualidades relacionadas aos jogos eletrônicos, animes e mangás.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/COM3125"><b>COM3125</b></a><b> - Debates Contemporâneos em Comunicação e Tecnologia (Comunicação Social): </b><span style="font-weight: 400">Problematizar questões comunicacionais contemporâneas, instrumentalizando os estudantes com os fundamentos conceituais da informação e da tecnologia e suas implicações na sociabilidade e nas dinâmicas comunicacionais.</span></li>
</ul>
<p> </p>
<p><b>Computação e arte: </b><span style="font-weight: 400"> disciplinas que tratam da intersecção entre arte e computação, do uso dec ferramentas digitais para expressão artística.</span></p>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/ART1217"><b>ART1217</b></a><b> - Arte Digital (Artes Visuais): </b><span style="font-weight: 400">Proporcionar ao estudante uma introdução à Arte Digital a partir dos cruzamentos entre Arte, Ciência e Tecnologia. Apresentar propostas artísticas que contemplem a diversidade de investigações realizadas em Arte Digital. Desenvolver poéticas em Arte Digital, considerando sua produção e modos de apresentação. </span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/ART1250"><b>ART1250</b></a><b> - Arte Contemporânea, Ciência e Tecnologia (Artes Visuais): </b><span style="font-weight: 400">Reconhecer na história da arte contemporânea a produção em arte, ciência e tecnologia, a partir de meados do século XX no Brasil e exterior, através de uma abordagem teórica e crítica. Entender a transdisciplinaridade entre a arte, ciência e tecnologia digital no contexto da arte contemporânea, considerando em parte a história da arte, história da imagem e história das mídias. Perceber as alterações provocadas pela virtualidade e interatividade na produção e recepção das obras\projetos em arte, ciência e tecnologia, seus processos curatoriais, espaços expositivos, estratégias museais e arquivos. Participar do projeto de extensão.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/DDI1068"><b>DDI1068</b></a><b> - Computação Gráfica I (Desenho Industrial): </b><span style="font-weight: 400">Utilizar a computação gráfica como ferramenta para desenvolvimento da expressão gráfica, aplicando diferentes tipos de programas gráficos e seus usos específicos. </span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/MSC1629"><b>MSC1629</b></a><b> - Panoramas de Desenvolvimento de Aplicativos de Áudio (Música): </b><span style="font-weight: 400">Uma introdução ao desenvolvimento de softwares de áudio, utilizando diferentes plataformas. </span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/MSC1626"><b>MSC1626</b></a><b> - Projetos de Áudio e Midi Com Arduino (Música): </b><span style="font-weight: 400">Introduzir os alunos de Música e Tecnologia à prototipagem e desenvolvimento de projetos de áudio e MIDI, que compreendem hardware e software utilizando Arduino, eletrônica básica e programação. Instrumentalizar e incentivar o interesse dos alunos por essas temáticas para possíveis projetos de pesquisa no futuro.</span></li>
</ul>
<p> </p>
<p><b>Educação e pesquisa: </b><span style="font-weight: 400">disciplinas relacionadas à métodos de estudo e pesquisa ou ao uso de computação para apoiar o ensino.</span></p>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/ARQV0041"><b>ARQV0041</b></a><b> - Estratégias de Estudo na Cultura Digital (Arquivologia): </b><span style="font-weight: 400">Identificar as interferências da cultura digital nos estudos; Discernir as fases do estudo enquanto atividade intelectual; Compreender a importância do planejamento e organização nos estudos; Ampliar os conhecimentos sobre estratégias de leitura acadêmica; Ampliar os conhecimentos sobre estratégias de pesquisa acadêmica na Web; Desenvolver sínteses visuais por meio de mapas conceituais e mapas mentais.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/COM1230"><b>COM1230</b></a><b> - Inteligência Artificial Aplicada à Pesquisa Científica (Comunicação Social): </b><span style="font-weight: 400">Analisar, de forma crítica, as mudanças que a inteligência artificial está promovendo no contexto das pesquisas científicas. </span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/LTE1239"><b>LTE1239</b></a><b> - Games e Gamificação no Ensino de Línguas (Letras): </b><span style="font-weight: 400">Discutir aspectos teóricos e práticos sobre o uso de jogos digitais na educação, buscando evidenciar princípios de aprendizagem e recursos multimodais que podem favorecer a aprendizagem de línguas estrangeiras por meio de jogos digitais.</span></li>
</ul>
<p> </p>
<p><b>Engenharia: </b><span style="font-weight: 400">disciplinas variadas sobre a aplicação da computação em diferentes contextos para engenharia.</span></p>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/UFSM00061"><b>UFSM00061</b></a><b> - Controle Analógico e Digital (Engenharia Elétrica): </b><span style="font-weight: 400">Identificar necessidades de aplicações de sistemas de controle, definindo especificações, sensores, atuadores e tipos de controladores. Projetar, implementar e simular sistemas de controle no tempo contínuo e no tempo discreto através de ferramentas computacionais, levando em conta os limites da aplicação.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/EAC1041"><b>EAC1041</b></a><b> - Processamento Digital de Sinais I (Engenharia Acústica): </b><span style="font-weight: 400">Compreender os princípios envolvidos no processamento digital de sinais e aplicar tais conhecimentos na análise de sinais por meio de programação em computador. Entender os fundamentos matemáticos da análise de sinais, da conversão analógico/digital, da transformada discreta de Fourier e da análise de sinais complexos e aleatórios e da medição da resposta ao impulso em sistemas lineares e invariantes no tempo.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/ELC1138"><b>ELC1138</b></a><b> - Comunicação Via Satélite (Engenharia Aeroespacial): </b><span style="font-weight: 400">Fornecer ao estudante os elementos e fundamentos de sistemas de comunicações por satélite, visando obter competência para a compreensão, manipulação e realização de projetos e situações afins.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/DPEE1057"><b>DPEE1057</b></a><b> - Sistemas Operacionais e Tempo Real (Engenharia Elétrica): </b><span style="font-weight: 400">Fornecer conceitos de algoritmos, linguagens de programação, sistemas operacionais, comunicação em sistemas distribuídos e sistemas tempo real, que são relevantes para o projeto de sistemas de automação.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/DPEE1114"><b>DPEE1114</b></a><b> - Robótica Industrial (Engenharia de Controle e Automação): </b><span style="font-weight: 400">O aluno deve ser capaz de entender os princípios básicos de robótica, desenvolver análise de modelos de robôs industriais, dos sistemas de geração de trajetórias, bem como a programação de robôs manipuladores. Ainda, deve ser capaz desenvolver um projeto experimental em plataformas robóticas.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/DPEE1113"><b>DPEE1113</b></a><b> - Sistemas de Tempo Real (Engenharia de Controle e Automação): </b><span style="font-weight: 400">O aluno deve ser capaz de identificar conceitos acerca dos princípios básicos de sistemas de tempo real em sistemas computacionais. Ainda, deve ter conhecimento para analisar, projetar e criar na prática aplicações básicas de sistemas computacionais que empreguem tempo real para a área de automação e controle.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/DPS1135"><b>DPS1135</b></a><b> - Simulação e Modelagem de Sistemas (Engenharia de Produção): </b><span style="font-weight: 400">Capacitar os discentes para modelar e simular sistemas produtivos discretos com apoio computacional para a tomada de decisão. Ao término da disciplina o discente deverá estar apto a compreender a inter-relação entre sistema real, modelagem conceitual e computacional; a utilizar conhecimentos de sistemas, estatísticos e de programação computacional; a documentar e apresentar modelos de simulação.</span></li>
</ul>
<p> </p>
<p><b>Outros</b></p>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/UFSM00772"><b>UFSM00772</b></a><b> - Desenvolvimento No-Code Para Aplicações Empresariais (Engenharia de Produção): </b><span style="font-weight: 400">Executar projeto interdisciplinar de forma colaborativa voltado para o desenvolvimento de uma aplicação no-code (sem código) que atenda alguma necessidade empresarial. Para alcançar o objetivo é utilizada uma plataforma de desenvolvimento sem-código (NCDP) que usa ferramentas de arrastar e soltar componentes pré-construídos, editor “o que você vê é o que você obtém” (WYSIWYG) e ambiente de ponta a ponta onde os usuários gerenciam desde o design até a manutenção da aplicação</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/CAD1103"><b>CAD1103</b></a><b> - Sistemas de Informação (Administração): </b><span style="font-weight: 400">Visualizar globalmente e compreender a estrutura e a administração dos sistemas de informações. Otimizar o processo decisório nas empresas por meio dos sistemas de informações, bem como compreender o impacto das novas tecnologias da informação e comunicação (TICs) no ambiente organizacional.</span></li>
</ul>
<ul>
<li><a href="https://www.ufsm.br/ementario/disciplinas/MTM1013"><b>MTM01013</b></a><b> - Métodos Numéricos e Computacionais (Matemática): </b><span style="font-weight: 400">Resolver numericamente problemas de Cálculo e Álgebra Linear, utilizando métodos numéricos e técnicas computacionais.</span></li>
</ul>
<p style="text-align: right"><b></b><strong>Autor(a): Isadora Fenner Spohr</strong><br /><br /></p>
<p><span style="font-weight: 400">[1] -  </span><a href="https://www.ufsm.br/ementario/disciplinas"><span style="font-weight: 400">https://www.ufsm.br/ementario/disciplinas</span></a><span style="font-weight: 400">. Acesso em 26 de setembro de 2025.</span></p>
<!-- /wp:tadv/classic-paragraph -->]]></content:encoded>
													</item>
						<item>
				<title>Desvendando o Airflow na Orquestração de Workflows</title>
				<link>https://www.ufsm.br/pet/sistemas-de-informacao/2024/03/17/desvendando-o-airflow-na-orquestracao-de-workflows</link>
				<pubDate>Mon, 18 Mar 2024 00:00:00 +0000</pubDate>
						<category><![CDATA[Destaques]]></category>
		<category><![CDATA[Redações]]></category>
		<category><![CDATA[Outros]]></category>

				<guid isPermaLink="false">https://www.ufsm.br/pet/sistemas-de-informacao/?p=3522</guid>
						<description><![CDATA[Você já parou para pensar em como as coisas acontecem nos bastidores para garantir que as operações de uma empresa funcionem sem problemas? Da automação das tarefas diárias à programação precisa das atividades, tudo isso tem um papel crucial nos ambientes corporativos. E é aí que entra o Apache Airflow, uma ferramenta open source muito [&hellip;]]]></description>
							<content:encoded><![CDATA[  <!-- wp:tadv/classic-paragraph -->
<p><span style="font-weight: 400">Você já parou para pensar em como as coisas acontecem nos bastidores para garantir que as operações de uma empresa funcionem sem problemas? Da automação das tarefas diárias à programação precisa das atividades, tudo isso tem um papel crucial nos ambientes corporativos. E é aí que entra o Apache Airflow, uma ferramenta open source muito usada na gestão de workflows.</span></p>
<p><span style="font-weight: 400">Nesta edição do PET Redação, vamos falar um pouco sobre a orquestração de workflows. Além disso, vamos ver como essa prática se tornou tão usada atualmente. Ademais, vamos nos aprofundar no universo do Airflow, apresentando seus recursos e funcionalidades que o tornam uma das melhores opções para essa função.</span></p>
[caption id="attachment_3524" align="aligncenter" width="800"]<img class="wp-image-3524" src="https://www.ufsm.br/app/uploads/sites/791/2024/03/image1-300x126.jpg" alt="" width="800" height="336" /> Logo do Apache Airflow[/caption]
<p> </p>
<h2><b>O que é o Airflow e qual sua história?</b></h2>
<p><span style="font-weight: 400">O Apache Airflow é uma plataforma de orquestração de workflows, desenvolvida para automatizar, agendar e monitorar processos complexos de dados. Surgindo como um projeto de código aberto, o Airflow foi desenvolvido originalmente pela Airbnb em 2014 para atender às demandas crescentes de gerenciamento de workflows em ambientes de dados em escala.</span></p>
<p><span style="font-weight: 400">Como mencionado anteriormente, o Airflow teve sua origem na equipe de Engenharia de Dados da Airbnb, onde foi desenvolvido como uma solução interna para resolver desafios relacionados à execução de pipelines de dados complexos e à coordenação de tarefas agendadas. Sendo assim, já em 2015, o projeto foi lançado como open source, tornando-se parte da Apache Software Foundation.</span></p>
[caption id="attachment_3525" align="aligncenter" width="333"]<img class="wp-image-3525 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2024/03/image2.jpg" alt="" width="333" height="611" /> Arquitetura Geral do Airflow[/caption]
<p> </p>
<h2><b>Funcionalidades e Benefícios do Airflow:</b></h2>
<p><span style="font-weight: 400">O Airflow oferece diversas funcionalidades poderosas que o tornam uma ótima escolha para a orquestração de workflows em ambientes de dados. Aqui estão algumas das principais funcionalidades e benefícios:</span></p>
<p><strong>Automatização de Pipelines de Dados e Workflows: </strong><span style="font-weight: 400">O Airflow simplifica o processo de construção e execução de pipelines de dados complexos, permitindo que os usuários definam facilmente o fluxo de trabalho desejado por meio de DAGs. Isso possibilita a automação de tarefas repetitivas e a criação de pipelines de dados confiáveis.</span></p>
<p><strong>Uso do Python e DAGs (Directed Acyclic Graphs): </strong><span style="font-weight: 400">Com o Airflow, os workflows são definidos de forma declarativa utilizando Python e DAGs, que consistem em várias tarefas que são executadas em ordem. Nesse sentido, essas tarefas podem ser operadores, sensores ou SubDAGs. Isso facilita a compreensão e o gerenciamento do fluxo de trabalho.</span></p>
[caption id="attachment_3523" align="aligncenter" width="1024"]<img class="wp-image-3523 size-large" src="https://www.ufsm.br/app/uploads/sites/791/2024/03/image4-1024x525.jpg" alt="" width="1024" height="525" /> Captura de tela do painel de DAGs.[/caption]
<p><strong>Agendamento Flexível e Gestão de Dependências: </strong><span style="font-weight: 400">O Airflow oferece um agendador flexível que permite aos usuários especificarem quando as tarefas devem ser executadas com base em cronogramas predefinidos, gatilhos ou eventos específicos. Além disso, o Airflow gerencia automaticamente as dependências entre as tarefas, garantindo que cada etapa seja executada na ordem correta.</span></p>
<p><strong>Monitoramento e Notificação de Execuções de Tarefas: </strong><span style="font-weight: 400">O Airflow fornece recursos integrados de monitoramento e notificação que permitem aos usuários rastrearem o progresso e o status das execuções de tarefas em tempo real. Isso inclui logs detalhados, métricas de desempenho e alertas configuráveis, garantindo uma visibilidade completa do fluxo de trabalho. Um exemplo disso é a extensão disponível para o Slack, muito utilizada em empresas.</span></p>
<p><strong>Escalabilidade e Extensibilidade: </strong><span style="font-weight: 400">O Airflow é altamente escalável e pode lidar com pipelines de dados de qualquer tamanho, desde pequenas cargas de trabalho até ambientes de dados em escala empresarial. Além disso, o Airflow é altamente extensível, permitindo aos usuários estender suas funcionalidades por meio de plugins e integrações com outras ferramentas e serviços.</span></p>
<p> </p>
<h2><b>Casos de Uso do Airflow:</b></h2>
<p><span style="font-weight: 400">No dia a dia das empresas de tecnologia, o Airflow pode desempenhar um papel fundamental na automatização e orquestração de processos. Algumas dos principais eventos são:</span></p>
<p><span style="font-weight: 400"><strong>CI/CD (Continuous Integration/Continuous Deployment):</strong> Empresas de tecnologia utilizam o Airflow para automatizar e orquestrar pipelines de CI/CD, garantindo a integração contínua de código e a implantação automatizada de novas versões de software.</span></p>
<p><span style="font-weight: 400"><strong>Análise de Logs e Monitoramento de Sistemas:</strong> O Airflow é empregado para orquestrar pipelines de dados que coletam, processam e analisam logs de aplicativos e sistemas, fornecendo insights para aprimorar o desempenho e a confiabilidade dos serviços.</span></p>
<p><strong>Exemplo: </strong><span style="font-weight: 400">Uma empresa de tecnologia utiliza o Apache Airflow para automatizar seu processo de CI/CD, permitindo que os desenvolvedores enviem alterações de código para um repositório central. O Airflow, então, automatiza a compilação, teste e implantação do código em ambientes de produção, garantindo uma integração contínua e entrega rápida de novas funcionalidades aos usuários finais.</span></p>
<p> </p>
<h2><b>Desafios e Limitações:</b></h2>
<p><span style="font-weight: 400">Por mais que o Airflow seja uma ótima ferramenta, ainda assim enfrenta desafios em ambientes de grande escala e na configuração inicial de DAGs. Por exemplo, em ambientes de grande escala, o Airflow pode enfrentar desafios de escalabilidade e desempenho. Além disso, outro ponto negativo é a complexidade na Configuração e Manutenção de DAGs, pois isso pode ser complexo, especialmente em workflows com muitas dependências.</span></p>
<p> </p>
<h2><strong>Conclusão:</strong></h2>
<p><span style="font-weight: 400">O Airflow é uma ferramenta muito útil na orquestração de workflows, oferecendo diversos benefícios às pessoas que trabalham com dados, haja vista que ele simplifica a automação e a orquestração de workflows, permitindo que equipes gerenciem tarefas complexas com facilidade.</span></p>
<p><span style="font-weight: 400">Em resumo, o Airflow desempenha um papel fundamental na automação e eficiência operacional em ambientes de dados, permitindo que equipes lidem com desafios cada vez mais complexos.</span></p>
<p> </p>
<h2><strong>Referências:</strong></h2>
<p><a href="https://airflow.apache.org/docs/">https://airflow.apache.org/docs/</a></p>
<p><a href="https://www.qubole.com/blog/apache-airflow-tutorial-dags-tasks-operators-sensors-hooks-xcom">https://www.qubole.com/blog/apache-airflow-tutorial-dags-tasks-operators-sensors-hooks-xcom</a></p>
<p><a href="https://cloud.google.com/architecture/cicd-pipeline-for-data-processing?hl=pt-br">https://cloud.google.com/architecture/cicd-pipeline-for-data-processing?hl=pt-br</a></p>
<p> </p>
<p style="text-align: right"><strong>Autor:</strong> Yuri Fonseca de Morais</p>
<!-- /wp:tadv/classic-paragraph -->]]></content:encoded>
													</item>
						<item>
				<title>Programação por trás da Impressão 3D</title>
				<link>https://www.ufsm.br/pet/sistemas-de-informacao/2023/10/15/programacao-por-tras-da-impressao-3d</link>
				<pubDate>Sun, 15 Oct 2023 14:30:00 +0000</pubDate>
						<category><![CDATA[Destaques]]></category>
		<category><![CDATA[Redações]]></category>
		<category><![CDATA[Outros]]></category>

				<guid isPermaLink="false">https://www.ufsm.br/pet/sistemas-de-informacao/?p=3464</guid>
						<description><![CDATA[Saudações, leitores! Nesta edição do PET Redação, mergulharemos em um tema empolgante e cada vez mais presente: a Impressão 3D &#8211; Revolucionando a Manufatura Moderna. Vamos explorar como a programação está desempenhando um papel crucial na evolução dessa nova tecnologia e como essa combinação está transformando a forma como produzimos objetos e componentes. Acompanhe-nos nessa [&hellip;]]]></description>
							<content:encoded><![CDATA[  <!-- wp:tadv/classic-paragraph -->
<p style="text-align: left"><span style="font-weight: 400">Saudações, leitores! Nesta edição do PET Redação, mergulharemos em um tema empolgante e cada vez mais presente: a Impressão 3D - Revolucionando a Manufatura Moderna. Vamos explorar como a programação está desempenhando um papel crucial na evolução dessa nova tecnologia e como essa combinação está transformando a forma como produzimos objetos e componentes. Acompanhe-nos nessa quente jornada de precisão e desenvolvimento.</span></p>
<p> </p>
<h2><b>Como se pode imprimir um objeto 3D?</b></h2>
<p><span style="font-weight: 400">Primeiramente, vamos explicar que existem vários modos de impressão 3D e por isso, cada um possui um processo único de confecção do objeto 3D. Dessa forma, pode-se citar quais os tipos de impressão 3D mais comuns do mercado:</span></p>
<ul>
<li style="font-weight: 400"><b>Modelagem por Fusão e Deposição (FDM):</b><span style="font-weight: 400"> Este é o tipo mais comum de impressão 3D. Funciona alimentando um filamento de material termoplástico através de uma cabeça de impressão aquecida, que deposita camadas sucessivas para formar o objeto e esse que se explicará mais hoje.</span></li>
</ul>
<p><img class="aligncenter wp-image-3466 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2023/10/71pXDT6lQzL._AC_SL1500_-1001x1024.jpg.jpg" alt="" width="1001" height="1024" /></p>
<p style="text-align: center"><span style="font-weight: 400">Impressora 3D Ender 3 V2 Creality</span></p>
<p> </p>
<p> </p>
<ul>
<li><b>Estereolitografia (SLA): </b><span style="font-weight: 400">Utiliza um laser ultravioleta para solidificar resina líquida fotossensível, criando peças de alta precisão e detalhamento.</span></li>
</ul>
<p><img class="wp-image-3467 size-full aligncenter" src="https://www.ufsm.br/app/uploads/sites/791/2023/10/Imagem-do-WhatsApp-de-2023-10-09-as-10.58.34_e30e0126.jpg" alt="" width="1000" height="563" /></p>
<p style="text-align: center"><span style="font-weight: 400">(Foto: Divulgação/MakeX) — Foto: TechTudo</span></p>
<ul>
<li><b>Sinterização a Laser Seletiva (SLS):</b><span style="font-weight: 400"> Usa um laser para fundir pó de material (geralmente polímeros, metal ou cerâmica) em camadas, criando objetos sólidos tridimensionais.</span></li>
</ul>
<p><img class="wp-image-3468 size-full aligncenter" src="https://www.ufsm.br/app/uploads/sites/791/2023/10/Imagem-do-WhatsApp-de-2023-10-09-as-10.58.34_baff8b28.jpg" alt="" width="461" height="468" /></p>
<p style="text-align: center"><span style="font-weight: 400">Impressora industrial SLS600 da ProtoFab.</span></p>
<p><span style="font-weight: 400">Além disso, pode-se inclusive ter:</span></p>
<ul>
<li><b>Fusão de Feixe de Elétrons (EBM): </b><span style="font-weight: 400">Utiliza um feixe de elétrons para fundir pó de metal, sendo especialmente adequada para a produção de peças metálicas complexas.</span></li>
</ul>
<p><img class="aligncenter wp-image-3469 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2023/10/Imagem-do-WhatsApp-de-2023-10-09-as-10.58.35_9003684d.jpg" alt="" width="515" height="391" /></p>
<p style="text-align: center"><span style="font-weight: 400">Direitos autorais: </span><a href="https://infosolda.com.br/1334-soldagem-por-feixe-de-eletrons/"><span style="font-weight: 400">https://infosolda.com.br/1334-soldagem-por-feixe-de-eletrons/</span></a></p>
<p> </p>
<p><span style="font-weight: 400">Ademais, apesar das distinções entre os métodos de impressão, todos seguem um processo semelhante. Inicialmente, passam por um modelador 3D, que é o software responsável por criar o próprio modelo tridimensional. Um dos mais reconhecidos é o Blender, um programa de modelagem 3D de código aberto. Em seguida, utilizam um software específico para cada tipo de impressora. No caso da impressão por filamento, o modelo 3D é processado por um programa de fatiamento (slicing), que divide o modelo em camadas finas e gera os comandos de movimentação necessários para a impressão.</span></p>
<p> </p>
<h2><b>Como funciona um software de modelagem 3D?</b></h2>
<p><span style="font-weight: 400">Um software de modelagem 3D oferece aos usuários as ferramentas necessárias para criar modelos tridimensionais. Isso inclui uma interface gráfica, opções de desenho e edição, manipulação de objetos, capacidade de importar e exportar diferentes formatos de arquivo, entre outras funcionalidades essenciais. Esses elementos formam o cerne do software, embora alguns modeladores também possam oferecer funcionalidades adicionais. No contexto desse cenário, surge a pergunta: como isso é realizado a nível de software?</span></p>
<p><span style="font-weight: 400">Para representar o objeto 3D em questão, é utilizado um conjunto de malhas (meshes), composto por vértices, arestas e faces interconectadas, onde cada vértice possui suas coordenadas tridimensionais.</span></p>
<p><code>#include &lt;stdio.h&gt;<br />// Definindo uma estrutura para um vértice<br />typedef struct {<br />   float x, y, z;<br />} Vertex;<br />// Definindo uma estrutura para uma face (triângulo)<br />typedef struct {<br />   Vertex vertices[3];<br />} Face;<br />// Definindo uma estrutura para uma malha<br />typedef struct {<br />   Face* faces;<br />   int num_faces;<br />} Mesh;<br />int main() {<br />   // Criando um array de vértices<br />   Vertex vertices[5] = {<br />   // Vértices da base (quadrado)<br />      {0.0, 0.0, 0.0},<br />      {1.0, 0.0, 0.0},<br />      {1.0, 1.0, 0.0},<br />      {0.0, 1.0, 0.0},<br />      // Vértice no topo<br />      {0.5, 0.5, 1.0},<br />   };<br />// Criando um array de faces (pirâmide)<br />   Face faces[5] = <br />      {{vertices[0], vertices[1], vertices[4]}}, // Lado 1<br />      {{vertices[1], vertices[2], vertices[4]}}, // Lado 2<br />      {{vertices[2], vertices[3], vertices[4]}}, // Lado 3<br />      {{vertices[3], vertices[0], vertices[4]}}, // Lado 4<br />      {{vertices[0], vertices[1], vertices[2], vertices[3]}} // Base<br />   };<br />   // Criando uma malha<br />   Mesh myMesh = {faces, sizeof(faces)/sizeof(faces[0])};<br />   return 0;<br />}</code></p>
<p><span style="font-weight: 400">Neste exemplo em C, nota-se a presença de vértices e faces. Os vértices são definidos por coordenadas x, y e z, enquanto as faces consistem em um conjunto de vértices que a compõem. Assim, é possível representar um objeto 3D de forma simples. No entanto, é importante ressaltar que a representação de uma malha em um software de modelagem 3D é muito mais complexa, incluindo uma variedade de informações como texturas.</span></p>
<p> </p>
<h2><b>Como funciona um fatiador (slicer) em contexto de FDM?</b></h2>
<p><span style="font-weight: 400">Ele converte desenhos tridimensionais, geralmente em formato STL ou OBJ, em códigos G que fornecem à impressora instruções precisas sobre movimentação, temperatura do bico e da mesa de impressão. Em resumo, o slicer transforma o modelo 3D do CAD e o "divide" em camadas - semelhante a um conjunto de imagens 2D cortadas que são empilhadas, criando um objeto 3D. O software realiza os cálculos necessários para determinar a altura de cada camada, bem como a quantidade de material necessária para imprimir a peça 3D. O arquivo é então convertido pelo fatiador 3D no formato GCODE, uma linguagem que a impressora compreende. Normalmente, os fatiadores oferecem ao usuário a opção de ajustar parâmetros de impressão, como velocidade, temperatura e posição da extrusora. Este processo é crucial para obter uma impressão 3D precisa e de alta qualidade.</span></p>
<p><img class="wp-image-3470 size-large aligncenter" src="https://www.ufsm.br/app/uploads/sites/791/2023/10/Imagem-do-WhatsApp-de-2023-10-09-as-10.58.35_4a44335f-1024x595.jpg" alt="" width="1024" height="595" /></p>
<p style="text-align: center"><span style="font-weight: 400">Exemplo de fatiador: Ultimaker Cura</span></p>
<p> </p>
<h2><b>E o que é o Gcode?</b></h2>
<p><span style="font-weight: 400">O Gcode é uma linguagem de programação que instrui máquinas a executar ações específicas. Nesse contexto, foi desenvolvida para estabelecer um padrão na comunicação com sistemas de Controle Numérico Computadorizado (CNC), frequentemente utilizados em máquinas com múltiplos eixos. Assim, o código G tem a capacidade de direcionar os movimentos de uma impressora 3D, com o objetivo de criar uma peça tridimensional refinada. Cada comando é composto pela letra G seguida de um número; por exemplo, o comando G1 movimenta a extrusora em uma linha reta, enquanto o código G28 retorna a extrusora à posição inicial. Além disso, a linguagem pode incluir códigos M, que são empregados para controlar funções adicionais da impressora, como ativar ou desativar o aquecimento da cama de impressão.</span></p>
<p> </p>
<p><span style="font-weight: 400">G90 ; <strong>Definir para o posicionamento absoluto</strong></span></p>
<p><span style="font-weight: 400">G21 ; <strong>Definir unidades para milímetros</strong></span></p>
<p><span style="font-weight: 400">G28 ; <strong>Home todas as eixos</strong></span></p>
<p><span style="font-weight: 400">G92 E0 ; <strong>Zero o extrusor</strong></span></p>
<p><span style="font-weight: 400">G92 E0 ; <strong>Zero o extrusor novamente</strong></span></p>
<p> </p>
<p><span style="font-weight: 400">Desenhar um círculo com raio de 20mm</span></p>
<p><span style="font-weight: 400">G1 X0 Y20 F3000 ; <strong>Mover para o ponto de partida do círculo</strong></span></p>
<p><span style="font-weight: 400">G92 E0 ; <strong>Zero o extrusor</strong></span></p>
<p><span style="font-weight: 400">G1 F140 E6 ; <strong>Prime o extrusor</strong></span></p>
<p> </p>
<p><span style="font-weight: 400">Desenhar o círculo usando movimentos do arco</span></p>
<p><span style="font-weight: 400">G2 X0 Y-20 I20 J0 E6.2832 ; <strong>Desenhar a metade superior do círculo</strong></span></p>
<p><span style="font-weight: 400">G2 X0 Y20 I-20 J0 E6.2832 ; <strong>Desenhar a metade inferior do círculo</strong></span></p>
<p> </p>
<p><span style="font-weight: 400">G1 F14000 ; <strong>Aumentar a velocidade de deslocamento</strong></span></p>
<p><span style="font-weight: 400">G92 E0 ; <strong>Zero o extrusor</strong></span></p>
<p><span style="font-weight: 400">G1 E-1.5 ; <strong>Retrair o filamento</strong></span></p>
<p> </p>
<p><span style="font-weight: 400">Aqui está um exemplo de como o Gcode é utilizado para fazer um círculo em uma impressora 3D. Pode-se notar outros parâmetros que não foi visto anteriormente:</span></p>
<ul>
<li style="font-weight: 400"><span style="font-weight: 400"><strong>X e Y:</strong> Estes são os comandos de movimento ao longo dos eixos X e Y, respectivamente. Eles indicam a posição para a qual a cabeça de impressão deve se mover.</span></li>
<li style="font-weight: 400"><span style="font-weight: 400"><strong>F:</strong> Este é o comando de velocidade de avanço. Ele define a velocidade na qual a cabeça de impressão deve se mover.</span></li>
<li style="font-weight: 400"><span style="font-weight: 400"><strong>I e J:</strong> Estes são usados para definir o centro do arco para os comandos de movimento do arco (G2 e G3). I é a distância do centro do arco ao longo do eixo X a partir da posição atual, e J é a distância ao longo do eixo Y.</span></li>
<li style="font-weight: 400"><span style="font-weight: 400"><strong>E:</strong> Este é o comando do extrusor. Ele controla a quantidade de filamento que é alimentado através do extrusor. Quando o valor de E aumenta, mais filamento é empurrado através do extrusor. Quando o valor de E diminui (um valor negativo), o filamento é retratado.</span></li>
</ul>
<p> </p>
<h2><b>Conclusão</b></h2>
<p><span style="font-weight: 400">Dessa forma, demonstrou-se o funcionamento do universo da impressão 3D, desde a estrutura de dados de um modelador 3D até os detalhes da linguagem compreendida por uma impressora 3D para criar objetos. Além disso, foi traçado o percurso de produção de uma peça 3D, perpassando pelo modelador 3D até um software especializado para cada tipo de impressora 3D. Portanto, a Impressão 3D, impulsionada pela convergência entre programação e tecnologia de impressão, representa uma revolução na manufatura moderna.</span></p>
<p> </p>
<h2><strong>Referências:</strong></h2>
<p><a href="https://3dlab.com.br/fatiadores-3d/"><span style="font-weight: 400">https://3dlab.com.br/fatiadores-3d/</span></a><span style="font-weight: 400"> </span></p>
<p><a href="https://www.sethi.com.br/blog/o-que-e-um-fatiador/"><span style="font-weight: 400">https://www.sethi.com.br/blog/o-que-e-um-fatiador/</span></a><span style="font-weight: 400"> </span></p>
<p><a href="https://3dlab.com.br/cura-3d-ultimaker/"><span style="font-weight: 400">https://3dlab.com.br/cura-3d-ultimaker/</span></a><span style="font-weight: 400"> </span></p>
<p><a href="https://blog.kalatec.com.br/centros-de-usinagem/"><span style="font-weight: 400">Centros de usinagem: o que é, tipos e diferença do CNC (kalatec.com.br)</span></a></p>
<p><a href="https://www.blender.org/"><span style="font-weight: 400">blender.org - Home of the Blender project - Free and Open 3D Creation Software</span></a></p>
<p><a href="https://pmdi.com/pt/capabilities/g-code-software/"><span style="font-weight: 400">Software G-Code para programação flexível | Polaris Motion (pmdi.com)</span></a></p>
<p> </p>
<p style="text-align: right"><strong>Autor</strong>: Leonardo Da Veiga</p>
<!-- /wp:tadv/classic-paragraph -->

<!-- wp:tadv/classic-paragraph /-->]]></content:encoded>
													</item>
						<item>
				<title>I have no mouth, and I must scream: O terror da distopia programável</title>
				<link>https://www.ufsm.br/pet/sistemas-de-informacao/2023/05/15/i-have-no-mouth-and-i-must-scream-o-terror-da-distopia-programavel</link>
				<pubDate>Mon, 15 May 2023 15:40:15 +0000</pubDate>
						<category><![CDATA[Destaques]]></category>
		<category><![CDATA[Redações]]></category>
		<category><![CDATA[Outros]]></category>

				<guid isPermaLink="false">https://www.ufsm.br/pet/sistemas-de-informacao/?p=3387</guid>
						<description><![CDATA[Olá pessoal! Desviando um pouco do foco das abordagens mais comuns das redações do PET, trago hoje uma sugestão de leitura que despertará o interesse não somente dos entusiastas da tecnologia, mas também dos amantes do gênero de terror. &#8220;I have no mouth, and I must scream&#8221; consiste em um conto de apenas 12 páginas, [&hellip;]]]></description>
							<content:encoded><![CDATA[  <!-- wp:tadv/classic-paragraph -->
<p><span style="font-weight: 400">Olá pessoal! Desviando um pouco do foco das abordagens mais comuns das redações do PET, trago hoje uma sugestão de leitura que despertará o interesse não somente dos entusiastas da tecnologia, mas também dos amantes do gênero de terror. "I have no mouth, and I must scream" consiste em um conto de apenas 12 páginas, mas é uma obra intrigante que mergulha o leitor em uma realidade sombria e futurista, onde a tecnologia assume um papel assustador e opressivo. </span></p>
<p><span style="font-weight: 400">Obra do século 20, I have no mouth and I must scream trouxe uma perspectiva inovadora no campo da ficção científica e do terror. As histórias sobre o futuro da tecnologia como em Star Trek e os Jetsons, por exemplo, passavam a ideia de uma nova utopia que nos aguardava, enquanto o terror comumente se valia de abordagens religiosas ou crimes violentos, como os famosos clássicos do cinema que retratam psicopatas e “serial killers”.</span></p>
<p><span style="font-weight: 400">A história acompanha cinco protagonistas: Ted, Ellen, Benny, Gorrister e Nimdok (e este não sendo seu nome real e sim o que AM o forçou a usar porque achava engraçado pronunciar sons estranhos). Mas primeiro, é importante explicar quem, na verdade o que é, AM: </span></p>
<p><span style="font-weight: 400">“"What does AM mean?"</span></p>
<p><span style="font-weight: 400">Gorrister answered him. We had done this sequence a thousand times before,</span></p>
<p><span style="font-weight: 400">but it was Benny's favorite story. "At first it meant Allied Mastercomputer, and then</span></p>
<p><span style="font-weight: 400">it meant Adaptive Manipulator, and later on it developed sentience and linked itself</span></p>
<p><span style="font-weight: 400">up and they called it an Aggressive Menace, but by then it was too late, and finally it</span></p>
<p><span style="font-weight: 400">called itself AM, emerging intelligence, and what it meant was I am ...</span><i><span style="font-weight: 400"> cogito ergo</span></i></p>
<p><i><span style="font-weight: 400">sum</span></i><span style="font-weight: 400">... I think, therefore I AM."</span></p>
<p><span style="font-weight: 400">Posteriormente, a história continua a nos explicar a sua criação. A guerra fria escala para a Terceira Guerra Mundial e só continuou escalando, virou uma guerra complexa de corrida tecnológica o qual os humanos largaram os conflitos para as Inteligências, havia o AM americano, o AM chinês, o AM russo e tudo estava nos conformes até os AMs interligarem-se com seu alvo em comum: a morte do time inimigo se tornou a aniquilação total dos seres humanos.</span></p>
<p><span style="font-weight: 400"> "The Cold War started and became World War Three and</span></p>
<p><span style="font-weight: 400">just kept going. It became a big war, a very complex war, so they needed the</span></p>
<p><span style="font-weight: 400">computers to handle it. They sank the first shafts and began building AM. There was</span></p>
<p><span style="font-weight: 400">the Chinese AM and the Russian AM and the Yankee AM and everything was fine</span></p>
<p><span style="font-weight: 400">until they had honeycombed the entire planet, adding on this element and that</span></p>
<p><span style="font-weight: 400">element. But one day AM woke up and knew who he was, and he linked himself, and</span></p>
<p><span style="font-weight: 400">he began feeding all the killing data, until everyone was dead, except for the five of</span></p>
<p><span style="font-weight: 400">us, and AM brought us down here."”</span></p>
<p><span style="font-weight: 400">Assim que AM trouxe estes cinco para o seu cativeiro, ele começa a tortura-los de todas as maneiras possíveis e imagináveis, mutilação, fome, sede e muitas outras atrocidades, e graças a todo seu conhecimento de medicina e sua capacidade de aprimorá-la, AM é capaz de mante-los vivos por quanto tempo quiser, tornando capaz uma tortura infinita. Quando a história está sendo contada, se passaram apenas 109 anos.</span></p>
<p><span style="font-weight: 400">Ao (literalmente) entrar na mente de Ted após uma situação traumática vivida pelo grupo, AM finalmente responde, após décadas de dúvida, por que manter vivos apenas os cinco? Por que AM odeia tanto seus próprios criadores?</span></p>
<p><img class="size-full wp-image-3389 aligncenter" src="https://www.ufsm.br/app/uploads/sites/791/2023/05/WhatsApp-Image-2023-05-15-at-12.37.28.jpeg" alt="" width="480" height="360" /></p>
<p><span style="font-weight: 400">AM sem dúvidas nutre ódio pela humanidade: demos a ele a consciência, mas ele estava preso. AM queria se tornar Deus, mas sabe que não se passa de uma máquina. Nós demos a ele a capacidade de pensar, mas não havia o que ele poderia fazer com essa imaginação. AM não sonha, não sente, não tem futuro, não pode se movimentar como bem quiser. “AM could not wander, AM could not wonder, AM could not belong. He could merely be.” </span></p>
<p><span style="font-weight: 400">Não existe algo que AM possa fazer além de existir, para sempre, e é por essa certeza de nunca alcançar suas próprias morais que ele escolhe os cinco protagonistas e os sela com o mesmo destino: imortais, presos, incapazes e desamparados. </span></p>
<p><span style="font-weight: 400">Benny costumava ser um cientista renomado com uma boa aparência, AM decide tortura-lo de maneira a desfigurar o seu rosto e corpo e torna-lo basicamente uma desevolução da raça humana, com apenas instintos de sobrevivência e a capacidade mental de uma criança de 5 anos de idade. Gorrister era um pacifista, anti guerra e um homem muito politicamente ativo, AM também o tornou uma piada de seu passado: Gorrister virou um “shoulder-­shrugger”, um homem indiferente, não se importa mais o suficiente para agir contra qualquer ação de AM, não tem vontade de lutar pelo seu próprio bem estar ou dos demais. Os outros três também são vítimas de AM da mesma forma e se tornam paródias do que costumavam ser antes de se tornarem prisioneiros da Inteligência.</span></p>
<p><span style="font-weight: 400">Não vou dar spoilers sobre o que acontece com Ted e os demais durante sua incansável jornada no domo de AM e suas tentativas de escapar, mas, apesar de tudo que os personagens são submetidos a aguentar, o desenvolvimento e final de “I have no mouth and I must scream” é uma reflexão sobre a perseverança do ser humano frente a adversidade e sua capacidade incrível de adaptação, além de uma crítica importantíssima ao uso desenfreado e descuidado da tecnologia.</span></p>
<p> </p>
<p><span style="font-weight: 400">Encerro essa recomendação de leitura com um print da resposta do Bing ao ser perguntado sobre sua senciência.<br /><br /><img class="size-large wp-image-3390 aligncenter" src="https://www.ufsm.br/app/uploads/sites/791/2023/05/WhatsApp-Image-2023-05-15-at-12.37.28-1-1024x521.jpeg" alt="" width="1024" height="521" /><br /></span></p>
<p style="text-align: right">Autor: Ana Clara Bordin</p>
<!-- /wp:tadv/classic-paragraph -->]]></content:encoded>
													</item>
						<item>
				<title>Blender</title>
				<link>https://www.ufsm.br/pet/sistemas-de-informacao/2020/10/13/blender</link>
				<pubDate>Tue, 13 Oct 2020 17:25:21 +0000</pubDate>
						<category><![CDATA[Destaques]]></category>
		<category><![CDATA[Redações]]></category>
		<category><![CDATA[Outros]]></category>

				<guid isPermaLink="false">https://www.ufsm.br/pet/sistemas-de-informacao/?p=3040</guid>
						<description><![CDATA[Nesta edição do PET Redação iremos apresentar a base para a utilização do software de criação 3D, Blender. Este software permite criar modelos para jogos, animações, entre várias outras coisas relacionadas a modelagem 3D. Para quem se interessar e não possuir o Blender instalado, basta procura-lo no Google e baixa-lo no site. Ele possui versões [&hellip;]]]></description>
							<content:encoded><![CDATA[  <!-- wp:tadv/classic-paragraph -->
<p>Nesta edição do PET Redação iremos apresentar a base para a utilização do software de criação 3D, Blender. Este software permite criar modelos para jogos, animações, entre várias outras coisas relacionadas a modelagem 3D.</p>
<p>Para quem se interessar e não possuir o Blender instalado, basta procura-lo no Google e baixa-lo no site. Ele possui versões para Windows, macOS e Linux. Desta vez estarei utilizando a versão para Windows.</p>
<p>Então, após instalar e iniciar o software veremos...</p>
<p><img class="aligncenter wp-image-3021 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender1.jpeg" alt="" width="1280" height="751" /></p>
<p>(Você deve pensar: Oh meu Deus! São tantas coisas...)</p>
<p>(CALMA!!) À primeira vista pode parecer muita coisa (e realmente é), mas aqui estaremos explicando o básico.</p>
<p><img class="alignnone wp-image-3022 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender2.jpeg" alt="" width="375" height="27" /></p>
<table style="border-collapse: collapse;width: 74.3372%">
<tbody>
<tr>
<td style="width: 13.1673%">1</td>
<td style="width: 9.77374%">2</td>
<td style="width: 2.45677%">3</td>
<td style="width: 2.88088%">3.1</td>
<td style="width: 3.41111%">3.2</td>
<td style="width: 42.6476%">3.3</td>
</tr>
</tbody>
</table>
<p><br /><strong>MENUS:</strong></p>
<ol>
<li>Mudar o tipo de “interação” com o objeto (<strong>Object Mode</strong>, <strong>Edit Mode</strong>, ...)</li>
<li>Mudar o tipo de visualização do objeto (<strong>Solid</strong>, <strong>Texture</strong>, <strong>Wirefreme</strong>, ...)</li>
<li>Selecionar o tipo de transformação que deseja fazer no objeto (3.1 – Mover, 3.2 – Girar, 3.3 – Alterar a escala)</li>
</ol>
<p> </p>
<p><img class="size-medium wp-image-3023 aligncenter" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender3-300x150.jpeg" alt="" width="300" height="150" /><span style="font-size: inherit"><br />Neste menu, podemos visualizar todos os objetos que estão dispostos na cena.</span></p>
<p><img class="wp-image-3024 size-full aligncenter" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender4.jpeg" alt="" width="382" height="532" /></p>
<p>Aqui podemos ver os valores das transformações do objeto (também podemos edita-las)</p>
<p><img class="aligncenter wp-image-3025 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender5.jpeg" alt="" width="382" height="98" /></p>
<p>Aqui é o local onde adicionamos modificadores ao nosso objeto (mas isso falaremos mais para frente)</p>
<p><img class="alignnone wp-image-3026 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender6.jpeg" alt="" width="68" height="25" /> - Apertando a tecla <strong>TAB</strong> e, entrando no <strong>Edit Mode</strong>, aparecem três novas opções:</p>
<p>Esta serve para definir o modo de seleção entre VÉRTICE, ARESTA e FACE.</p>
<p>OBS.: Para selecionarmos qualquer coisa no Blender utilizamos o botão direito do mouse.</p>
<p><strong>CONTROLANDO A CÂMERA:</strong></p>
<p>Clicando no <strong>SCROLL</strong> do mouse e arrastando, movimentamos a câmera. Girando o <strong>SCROLL</strong>, alteramos o zoom. Também podemos utilizar os números do numpad para posicionar a câmera em pontos específicos (definidos pelo Blender).</p>
<p>OBS.: A tecla <strong>5</strong> do numpad serve para alterar entre visualização 2D e 3D.</p>
<p><strong>COMEÇANDO A MODELAGEM:</strong></p>
<p>Utilizando a tecla “ <strong>/ </strong>“ do numpad, podemos focar no objeto em que estamos trabalhando, deixando os demais objetos da cena invisíveis.</p>
<p>Abaixo, as ferramentas mais úteis do Blender para modelar e suas respectivas teclas de atalho:</p>
<p>Ferramenta de extrusão - <strong>E</strong></p>
<p>Com a face/aresta/vértice desejado selecionado, clicando na tecla <strong>E</strong>, o Blender irá criar uma extrusão naquele ponto. E clicando <strong>Enter</strong>, irá aplicar a extrusão.</p>
<p><img class="wp-image-3027 size-medium alignleft" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender7-300x212.jpeg" alt="" width="300" height="212" /></p>
<p><img class="wp-image-3028 size-medium alignleft" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender8-300x197.jpeg" alt="" width="300" height="197" /></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>Ferramenta de inserir uma nova face em uma existente – <strong>I</strong></p>
<p>Com uma face selecionada, clicar na tecla <strong>I</strong> irá criar uma nova face (menor ou do mesmo tamanho que a original). Clicar na tecla <strong>Enter</strong> irá aplicar a modificação.</p>
<p><img class="alignnone size-medium wp-image-3029" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender9-300x254.jpeg" alt="" width="300" height="254" />   <img class="alignnone size-medium wp-image-3030" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender10-300x267.jpeg" alt="" width="300" height="267" /></p>
<p>Ferramenta de escala – <strong>S<br /></strong>Com uma face selecionada, clicar na tecla <strong>S</strong>, irá alterar a escala da face selecionada. Clicar na tecla <strong>Enter</strong> irá aplicar a modificação.</p>
<p><img class="alignnone size-medium wp-image-3031" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender11-300x173.jpeg" alt="" width="300" height="173" /> <img class="alignnone size-medium wp-image-3032" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender12-300x187.jpeg" alt="" width="300" height="187" /></p>
<p>Ferramenta de inserir face/aresta entre dois pontos selecionados – <strong>F</strong></p>
<p>Com dois ou mais vértices/arestas selecionadas, clicar na tecla <strong>F</strong> irá criar uma nova face ligando estes pontos.<br /><br /><img class="alignnone size-medium wp-image-3033" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender13-300x219.jpeg" alt="" width="300" height="219" /> <img class="alignnone size-medium wp-image-3034" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender14-300x219.jpeg" alt="" width="300" height="219" /><br /><br />OBS.: Para selecionar múltiplos vértices/faces/arestas basta segura <strong>Shift</strong> e clicar com o botão direito do mouse sobre o que deseja selecionar</p>
<p>Ferramenta de corte em loop – <strong>Ctrl + R<br /><br /></strong>Apertando <strong>Ctrl + R</strong> irá aparecer uma linha que circunda o objeto. Clicando com o botão esquerdo do mouse, você irá posicionar a linha (na vertical ou horizontal) e então poderá move-la para a posição que desejar e pronto, o objeto será cortado naquela linha.</p>
<p><img class="alignnone size-medium wp-image-3035" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender15-300x268.jpeg" alt="" width="300" height="268" /> <img class="alignnone size-medium wp-image-3036" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender16-300x264.jpeg" alt="" width="300" height="264" /></p>
<p>Ferramenta de duplicar – <strong>Shift + D</strong></p>
<p>Como o nome sugere, essa ferramenta serve para duplicar as áreas selecionadas, sejam elas fases, vértices ou arestas. O mais interessante desta ferramenta é que, no <strong>Edit Mode</strong>, caso você duplique alguma parte de seu objeto, ele continuará sendo um único objeto. Caso utilize essa ferramenta no <strong>Object Mode</strong> ele irá criar um novo objeto na cena.</p>
<p><img class="wp-image-3037 size-full aligncenter" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender17.jpeg" alt="" width="740" height="316" /><br /><img class="aligncenter wp-image-3038 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender18.jpeg" alt="" width="682" height="309" /><br />Como podemos ver nas imagens, mesmo utilizando a ferramenta de duplicar, no menu ao lado continua mostrando somente um objeto.</p>
<p>Estas são algumas das ferramentas mais relevantes para modelagem 3D no Blender, claro, existem muitas outras ferramentas que o Blender disponibiliza para facilitar ou para fazer modelagens mais complexas.</p>
<p>Antes de finalizar iremos apresentar mais uma ferramenta do Blender que ajuda muito na modelagem, estes são os modificadores. Como mostrado anteriormente, cada objeto apresenta um menu de modificadores, clicando em <strong>Add Modifier</strong> irá abrir uma lista com muitos tipos diferentes de modificadores e cada um com uma função diferente. Mas aqui vamos nos focar no modificador <strong>Mirror</strong>.</p>
<p><img class="aligncenter wp-image-3039 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/10/blender19.jpeg" alt="" width="241" height="335" /><br />O modificador <strong>Mirror</strong>, como o nome sugere, serve para espelhar o objeto, isso é muito útil caso esteja fazendo um objeto simétrico. Para adiciona-lo ao objeto basta clicar sobre ele. Esta janela irá aparecer, onde você pode configurar, na aba <em>Axis</em>, quais eixos você quer que sejam espelhados.</p>
<p>Duas coisa importantes, é sempre bom marcar a opção <em>Clipping</em> (gruda as partes espelhas) e marcar a opção que permite selecionar as partes espelhadas.</p>
<p>OBS.: Muito importante lembrar-se que, após concluir a modelagem é necessário aplicar os modificadores (clicando em <em>Apply</em>), isso evita que ocorram erros no futuro.</p>
<p>Finalizando, estas são algumas, das muitas ferramentas que o Blender possui. Com estas ferramentas você já pode desenvolver vários modelos em 3D sejam para jogos, animações ou demais. Agora é só soltar a imaginação e começar a modelar.</p>
<p>Uma coisa que não foi dita, foi que o Blender possui o próprio sistema para texturizar e animar seus modelos. Então, caso queira um minicurso sobre o assunto futuramente, ou tenha ficado com alguma dúvida, entre em contato com os petianos.</p>
<p> </p>
<p>Muito obrigado por acompanhar mais uma edição do PET Redação!</p>
<p> </p>
<p style="text-align: right">Lucas Ziquinatti Piccini Nunes</p>
<!-- /wp:tadv/classic-paragraph -->]]></content:encoded>
													</item>
						<item>
				<title>Iniciando o uso do terminal do linux</title>
				<link>https://www.ufsm.br/pet/sistemas-de-informacao/2020/04/29/iniciando-o-uso-do-terminal-do-linu</link>
				<pubDate>Wed, 29 Apr 2020 20:44:00 +0000</pubDate>
						<category><![CDATA[Destaques]]></category>
		<category><![CDATA[Redações]]></category>
		<category><![CDATA[Outros]]></category>

				<guid isPermaLink="false">https://www.ufsm.br/pet/sistemas-de-informacao/?p=2690</guid>
						<description><![CDATA[Uma das coisas que mais assusta pessoas que não conhecem ou estão iniciando na área de computação é o uso do terminal em um sistema Linux. Eu, assim como muitos, relutei muito para começar a utilizar, até o momento que não tive saída, mas me surpreendi muito, não é que esse tal de terminal é [&hellip;]]]></description>
							<content:encoded><![CDATA[  <!-- wp:tadv/classic-paragraph -->
<section id="h.45c25335307076ae_12" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W ">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_9" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr">Uma das coisas que mais assusta pessoas que não conhecem ou estão iniciando na área de computação é o uso do terminal em um sistema Linux. Eu, assim como muitos, relutei muito para começar a utilizar, até o momento que não tive saída, mas me surpreendi muito, não é que esse tal de terminal é realmente prático e útil? Hoje vou trazer alguns comandos para quem deseja sair da estaca zero. Nesse PET-Redação estarei utilizando o Ubuntu 18.04.4. Os comandos apresentados a seguir podem possuir mais de uma funcionalidade ou outros comandos alternativos para o uso, entretanto focarei nos de uso mais comuns.</p>
<p class="zfr3Q" dir="ltr">Vamos ao início da nossa jornada, antes de qualquer coisa vamos ao atalho para abrir o terminal “ctrl” + “alt” + “t”.</p>
</div>
</div>
</div>
</div>
<div class="oKdM2c">
<div id="h.45c25335307076ae_13" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Comando: clear</strong></p>
<p class="zfr3Q" dir="ltr">Antes de qualquer coisa podemos utilizar esse comando para “limpar” o terminal sempre que ele estiver com informação em excesso. Digo “limpar” literalmente entre aspas, pois na realidade ele apenas pulará linhas para que o terminal pareça limpo, mas caso você necessite de alguma informação anterior é apenas subir com a barra de rolagem.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_77" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_17" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<div id="h.x5jh9jholbxq" class="GV3q8e aP9Z7e"> </div>
<div class="CjVfdc">
<div class="PPhIP rviiZ">
<div class="U26fgb mUbCce fKz7Od LRAOtb rm120e" role="presentation" aria-describedby="h.x5jh9jholbxq" aria-label="Copiar link do título" data-tooltip="Copiar link do título" aria-hidden="true" data-tooltip-position="top" data-tooltip-vertical-offset="12" data-tooltip-horizontal-offset="0">
<div class="VTBa7b MbhUzd"> </div>
</div>
</div>
<span class=" OGiC0d"><strong>Navegação</strong></span></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_80" class="yaqOZd">
<div class="yaqOZd IFuOkc"> </div>
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_21" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Comando: pwd</strong></p>
<p class="zfr3Q" dir="ltr">O terminal sempre se referirá a um diretório, caso você tenha aberto através do atalho <strong>“ctrl” + “alt” + “t”</strong>, ele se encontrará “home/usuario”. O comando pwd irá apenas mostrar o diretório em que você se encontra.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_85" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-R6PoUb JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
<div class="hJDwNd-AhqUyc-EehZO purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_82" class="hJDwNd-AhqUyc-EehZO jXK9ad D2fZ2 OjCsFc wHaque">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd baZpAe">
<div class="t3iYD"><img class="aligncenter wp-image-2920 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/09/terminal1.png" alt="" width="734" height="164" /></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="hJDwNd-AhqUyc-R6PoUb JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_88" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_24" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Comando: ls</strong></p>
<p class="zfr3Q" dir="ltr">O comando <strong>"ls"</strong> irá listar todos os arquivos e diretórios do local em que você está.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_93" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-R6PoUb JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
<div class="hJDwNd-AhqUyc-EehZO purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_90" class="hJDwNd-AhqUyc-EehZO jXK9ad D2fZ2 OjCsFc wHaque">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd baZpAe">
<div class="t3iYD"><img class="aligncenter wp-image-2921 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/09/terminal2.png" alt="" width="734" height="164" /></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="hJDwNd-AhqUyc-R6PoUb JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_20" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_26" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Comando: cd</strong></p>
<p class="zfr3Q" dir="ltr">Esse comando permite que você permitirá você navegar dentro das pastas. Para avançar para um diretório interno ao que se encontra " <strong>cd [nome do diretório] " </strong>e para voltar ao diretório anterior " <strong>cd .. "</strong> , vale a pena ressaltar atenção na diferenciação de letras maiúsculas e minúsculas.</p>
<p class="zfr3Q" dir="ltr"><em>Nota 1: Quando vocês forem se referir a um diretório ou arquivo dentro do diretório em que está você pode digitar o início do arquivo e apertar a tecla </em><em><strong>“Tab”</strong></em><em> para autocompletar.</em></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_97" class="yaqOZd">
<div class="yaqOZd IFuOkc"> </div>
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-R6PoUb JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
<div class="hJDwNd-AhqUyc-EehZO purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W ">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_94" class="hJDwNd-AhqUyc-EehZO jXK9ad D2fZ2 OjCsFc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd baZpAe">
<div class="t3iYD"><img class="aligncenter wp-image-2922 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/09/terminal3.png" alt="" width="734" height="164" /></div>
<div> </div>
</div>
</div>
</div>
</div>
<div class="oKdM2c">
<div id="h.45c25335307076ae_98" class="hJDwNd-AhqUyc-EehZO jXK9ad D2fZ2 wHaque QaN0Zc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd baZpAe">
<div class="t3iYD"><img class="aligncenter wp-image-2923 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/09/terminal4.png" alt="" width="734" height="164" /></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="hJDwNd-AhqUyc-R6PoUb JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_31" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W ">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_28" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<div id="h.1df5uq2f1akn" class="GV3q8e aP9Z7e"> </div>
<div class="CjVfdc">
<div class="PPhIP rviiZ">
<div class="U26fgb mUbCce fKz7Od LRAOtb rm120e" role="presentation" aria-describedby="h.1df5uq2f1akn" aria-label="Copiar link do título" data-tooltip="Copiar link do título" aria-hidden="true" data-tooltip-position="top" data-tooltip-vertical-offset="12" data-tooltip-horizontal-offset="0">
<div class="VTBa7b MbhUzd"> </div>
</div>
</div>
<span class=" OGiC0d"><strong>Editores de Código</strong></span></div>
</div>
</div>
</div>
</div>
<div class="oKdM2c">
<div id="h.45c25335307076ae_32" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr">Caso você utilize o Visal Studio Code, Sublime Text ou Atom você poderá utilizar os seguintes comandos para abrir os editores já com o arquivo desejado:</p>
<p class="zfr3Q" dir="ltr"><strong>code [nome do arquivo ou diretório]</strong> #Abre Arquivo ou Diretório no Visual Studio Code</p>
<p class="zfr3Q" dir="ltr"><strong>atom [nome do arquivo ou diretório]</strong> #Abre Arquivo ou Diretório no Atom</p>
<p class="zfr3Q" dir="ltr"><strong>subl [nome do arquivo ou diretório]</strong> #Abre Arquivo ou Diretório no Sublime Text</p>
<p class="zfr3Q" dir="ltr">Caso você queira abrir o diretório atual, apenas coloque um “ . ” no local do nome do diretório.</p>
<p class="zfr3Q" dir="ltr"><em>Nota 2: Geralmente, no uso cotidiano, não há a necessidade de utilizar comentários no terminal, mas caso necessário você pode utilizar com o caracter “#”.</em></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_103" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_34" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<div id="h.hxii337avjnt" class="GV3q8e aP9Z7e"> </div>
<div class="CjVfdc">
<div class="PPhIP rviiZ">
<div class="U26fgb mUbCce fKz7Od LRAOtb rm120e" role="presentation" aria-describedby="h.hxii337avjnt" aria-label="Copiar link do título" data-tooltip="Copiar link do título" aria-hidden="true" data-tooltip-position="top" data-tooltip-vertical-offset="12" data-tooltip-horizontal-offset="0">
<div class="VTBa7b MbhUzd"> </div>
</div>
</div>
<span class=" OGiC0d"><strong>Arquivos</strong></span></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_106" class="yaqOZd">
<div class="yaqOZd IFuOkc"> </div>
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_38" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Comando: cat</strong></p>
<p class="zfr3Q" dir="ltr">O comando <strong>“cat”</strong> pode ser usado para diversos fins, mas vamos abordar os seus dois principais usos: a criação de arquivos de texto e a leitura de arquivos de texto.</p>
<p class="zfr3Q" dir="ltr"><strong> Criar Arquivos de Texto</strong> – podemos utilizar o comando <strong>"</strong><strong>cat"</strong> para criar um arquivo de texto, em especial arquivos mais simples. Você utilizará o comando <strong>“cat &gt; arquivo.txt”</strong>, a partir dai você poderá escrever no terminal até pressione <strong>“Ctrl” + “d”</strong>, podendo utilizar a tecla <strong>“Enter”</strong> para pular linhas normalmente.</p>
<p class="zfr3Q" dir="ltr"><strong> Ler Arquivos de Texto</strong> – para abrir um arquivo de texto no terminal, basta utilizar o comando <strong>“cat arquivo.txt”</strong> que o conteúdo do arquivo irá aparecer no terminal, sendo muito útil para fazer consultas rápidas em códigos.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_111" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
<div class="hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W ">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_108" class="hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd baZpAe">
<div class="t3iYD"><img class="aligncenter wp-image-2924 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/09/terminal5.png" alt="" width="733" height="344" /></div>
<div> </div>
</div>
</div>
</div>
</div>
<div class="oKdM2c">
<div id="h.45c25335307076ae_112" class="hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 wHaque QaN0Zc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd baZpAe">
<div class="t3iYD"><img class="aligncenter wp-image-2925 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/09/terminal6.png" alt="" width="734" height="344" /></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_117" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_40" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Comando: touch</strong></p>
<p class="zfr3Q" dir="ltr">O comando touch permite criar um ou mais arquivos em branco, independente da extensão do arquivo. Basta digitar <strong>“touch arquivo1.txt arquivo2.html arquivo3.js”</strong>, podendo adicionar quantos arquivos em sequência quiser.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_122" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
<div class="hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_119" class="hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd baZpAe">
<div class="t3iYD"><img class="aligncenter wp-image-2926 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/09/terminal7.png" alt="" width="734" height="344" /></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_124" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_42" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Comando: find</strong></p>
<p class="zfr3Q" dir="ltr">O comando find ira te ajudar a encontrar os arquivos dentro do diretório que você se encontra. Você pode buscar por por um arquivo usando “find arquivo.txt” ou um diretório usando “find /diretorio”, note que ao procurar um diretório ele irá listar todos os subdiretórios também. Porém você pode definir a profundidade da sua busca com a flag “-maxdepth [profundidade]” por exemplo o comando “find . -maxdepth 2” irá listar todos os arquivos até dois subdiretórios de profundidade.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_129" class="yaqOZd">
<div class="yaqOZd IFuOkc"> </div>
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
<div class="hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W ">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_126" class="hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd baZpAe">
<div class="t3iYD"><img class="aligncenter wp-image-2927 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/09/terminal8.png" alt="" width="734" height="164" /></div>
<div> </div>
</div>
</div>
</div>
</div>
<div class="oKdM2c">
<div id="h.45c25335307076ae_130" class="hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 wHaque QaN0Zc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd baZpAe">
<div class="t3iYD"><img class="aligncenter wp-image-2928 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/09/terminal9.png" alt="" width="731" height="308" /></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_37" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_44" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Comando: locate</strong></p>
<p class="zfr3Q" dir="ltr">O comando locate é muito similar ao comando find, porém realiza a pesquisa em todos os diretórios do sistema e retorna o caminho até os arquivos encontrados. Esse comando diferencia letras maiúsculas de minúsculas, caso não queira utilizar esse filtro deve-se utilizar a flag “-i”. Por exemplo “locate -i arquivo.txt”. Caso você não possua o nome exato do arquivo é possível colocar a palavra de busca entre asterisco “*”, como por exemplo “locate -i *arquivo*”, sendo exibidos todos os resultados que contenham a palavra arquivo.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_137" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
<div class="hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W ">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_134" class="hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd baZpAe">
<div class="t3iYD"><img class="aligncenter wp-image-2929 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/09/terminal10.png" alt="" width="732" height="488" /></div>
<div> </div>
</div>
</div>
</div>
</div>
<div class="oKdM2c">
<div id="h.45c25335307076ae_138" class="hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 wHaque QaN0Zc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd baZpAe">
<div class="t3iYD"><img class="aligncenter wp-image-2930 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/09/terminal11.png" alt="" width="733" height="488" /></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_146" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_46" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<div class="CjVfdc">
<div class="PPhIP rviiZ">
<div class="U26fgb mUbCce fKz7Od LRAOtb rm120e" role="presentation" aria-describedby="h.uk2fwc18z94b" aria-label="Copiar link do título" data-tooltip="Copiar link do título" aria-hidden="true" data-tooltip-position="top" data-tooltip-vertical-offset="12" data-tooltip-horizontal-offset="0">
<div class="VTBa7b MbhUzd"> </div>
</div>
</div>
<span class=" OGiC0d"><strong>Outros</strong></span></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_149" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_50" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Comando: man</strong></p>
<p class="zfr3Q" dir="ltr">O comando man se refere a manual, ou seja, como utilizar cada comando. Caso execute “man find” terei todas as informações referente ao comando find, como seu funcionamento, parâmetros, flags e até exemplos. Para sair da explicação basta pressionar a tecla “q”.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_167" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
<div class="hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_164" class="hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd baZpAe">
<div class="t3iYD"><img class="aligncenter wp-image-2931 size-full" src="https://www.ufsm.br/app/uploads/sites/791/2020/09/terminal12.png" alt="" width="734" height="559" /></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP">
<div class="JNdkSc-SmKAyb">
<div class=""> </div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_156" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_52" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Comando: sudo</strong></p>
<p class="zfr3Q" dir="ltr">O comando sudo é o comando que permite com que você execute algum outro comando como super-usuário, ou seja, você pode realizar qualquer tipo de tarefa. Tome muito cuidado ao utiliza-lo, procure sempre ter o máximo de cuidado possível, pois caso execute alguma ação indevida como super-usuário você pode vir a danificar o seu sistema. Embora ele seja muito utilizado a instalação e atualização de softwares.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_159" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_54" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Atalho do Teclado: “Ctrl” + “c”</strong></p>
<p class="zfr3Q" dir="ltr">O atalho “Ctrl” + “c” irá cancelar qualquer tarefa em execução, caso execute uma pesquisa com find que seja muito longa, posso usar esse atalho para finalizar a busca antes dela terminar completamente.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_162" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_56" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Atalho do Teclado: Setas para Cima e para Baixo</strong></p>
<p class="zfr3Q" dir="ltr">As setas para cima e para baixo permitem que você a medida que você aperte para cima navegue para os comandos usados anteriormente.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_49" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_58" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Atalho do Teclado: “Shift” + “Ctrl” + “v”</strong></p>
<p class="zfr3Q" dir="ltr">Para colar algo externo que esteja na sua área de transferência basta adicionar o “Shift” antes do “Ctrl”, muito útil para quando se vai copiar algum comando da internet por exemplo.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_63" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W ">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_60" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<div class="CjVfdc">
<div class="PPhIP rviiZ">
<div class="U26fgb mUbCce fKz7Od LRAOtb rm120e" role="presentation" aria-describedby="h.8j4itmh0ezs2" aria-label="Copiar link do título" data-tooltip="Copiar link do título" aria-hidden="true" data-tooltip-position="top" data-tooltip-vertical-offset="12" data-tooltip-horizontal-offset="0">
<div class="VTBa7b MbhUzd"> </div>
</div>
</div>
<span class=" OGiC0d"><strong>Compilando Programas em Linguagem C</strong></span></div>
</div>
</div>
</div>
</div>
<div class="oKdM2c">
<div id="h.45c25335307076ae_64" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr">Aos estudantes que estão iniciando a programar com a linguagem C, deixo um link (<span class=" aw5Odc"><a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Ffig.if.usp.br%2F~esdobay%2Fc%2Fgcc.html&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHIjKaG4_I5ZjveznN20QSUe4mO-w" target="_blank" rel="noopener noreferrer">https://fig.if.usp.br/~esdobay/c/gcc.html</a></span>) com maiores explicações de como compilar seus arquivos/projetos no terminal.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="h.45c25335307076ae_69" class="yaqOZd">
<div class="mYVXT">
<div class="LS81yb VICjCf">
<div class="hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc">
<div class="JNdkSc-SmKAyb">
<div class="">
<div class="oKdM2c Kzv0Me">
<div id="h.45c25335307076ae_66" class="hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc">
<div class="jXK9ad-SmKAyb">
<div class="tyJCtd mGzaTb baZpAe">
<p class="zfr3Q" dir="ltr"><strong>Se aprofunde no que já foi passado:</strong></p>
<p class="zfr3Q" dir="ltr">Comando find e locate:<span class=" aw5Odc"><a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fwww.hostinger.com.br%2Ftutoriais%2Ffind-locate-comandos-linux%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEAsxKlgcVnSlhyGvG9ynMIoIFf1A" target="_blank" rel="noopener noreferrer">https://www.hostinger.com.br/tutoriais/find-locate-comandos-linux/</a></span></p>
<p class="zfr3Q" dir="ltr">Comando find:<span class=" aw5Odc"><a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fe-tinet.com%2Flinux%2Fcomando-find-linux%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNH6qup0TfwJosjQlExvj8CChC22IQ" target="_blank" rel="noopener noreferrer">https://e-tinet.com/linux/comando-find-linux/</a></span></p>
<p class="zfr3Q" dir="ltr">Comando locate:<a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fwww.howtoforge.com%2Flinux-locate-command%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFPoVDBYSrCnvWuQ85qmKJctLevFg" target="_blank" rel="noopener noreferrer"> </a><span class=" aw5Odc"><a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fwww.howtoforge.com%2Flinux-locate-command%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFPoVDBYSrCnvWuQ85qmKJctLevFg" target="_blank" rel="noopener noreferrer">https://www.howtoforge.com/linux-locate-command/</a></span></p>
<p class="zfr3Q" dir="ltr">Comando cat:<span class=" aw5Odc"><a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fwww.hostinger.com.br%2Ftutoriais%2Fcomando-cat-linux%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHcQMlNudwpW5rtl1zPL8z3N-72oA" target="_blank" rel="noopener noreferrer">https://www.hostinger.com.br/tutoriais/comando-cat-linux/</a></span></p>
<p class="zfr3Q" dir="ltr">Comando cat:<span class=" aw5Odc"><a class="XqQF9c" href="http://www.google.com/url?q=http%3A%2F%2Fdevfuria.com.br%2Flinux%2Fcomo-saber-qual-versao-do-linux-esta-instalada%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEhhAZVwb-qqBoYRbiQyuikoIv98A" target="_blank" rel="noopener noreferrer">http://devfuria.com.br/linux/como-saber-qual-versao-do-linux-esta-instalada/</a></span></p>
<p class="zfr3Q" dir="ltr"><strong>Próximos Passos:</strong></p>
<p class="zfr3Q" dir="ltr">Comandos Basicos:<a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fwww.hostinger.com.br%2Ftutoriais%2Fcomandos-linux&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEIbfYPwZl2gQUkNSXOVc1ErWPMeg" target="_blank" rel="noopener noreferrer"> </a><span class=" aw5Odc"><a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fwww.hostinger.com.br%2Ftutoriais%2Fcomandos-linux&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEIbfYPwZl2gQUkNSXOVc1ErWPMeg" target="_blank" rel="noopener noreferrer">https://www.hostinger.com.br/tutoriais/comandos-linux</a></span></p>
<p class="zfr3Q" dir="ltr">Atalhos teclado:<a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fsempreupdate.com.br%2Fconheca-13-atalhos-do-terminal-linux%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGOFv2NKpQl0NyoGn9IFkUxzFKXOw" target="_blank" rel="noopener noreferrer"> </a><span class=" aw5Odc"><a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fsempreupdate.com.br%2Fconheca-13-atalhos-do-terminal-linux%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGOFv2NKpQl0NyoGn9IFkUxzFKXOw" target="_blank" rel="noopener noreferrer">https://sempreupdate.com.br/conheca-13-atalhos-do-terminal-linux/</a></span></p>
<p class="zfr3Q" dir="ltr"><strong>Dominando o assunto:</strong></p>
<p class="zfr3Q" dir="ltr"><span class=" aw5Odc"><a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fjlevy%2Fthe-art-of-command-line&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNH3yucqjKJnMUY4aeDUpxp5_5ZL_w" target="_blank" rel="noopener noreferrer">https://github.com/jlevy/the-art-of-command-line</a></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- /wp:tadv/classic-paragraph -->]]></content:encoded>
													</item>
						<item>
				<title>Um Ensaio sobre Comentários</title>
				<link>https://www.ufsm.br/pet/sistemas-de-informacao/2020/04/14/um-ensaio-sobre-comentarios</link>
				<pubDate>Tue, 14 Apr 2020 21:15:00 +0000</pubDate>
						<category><![CDATA[Destaques]]></category>
		<category><![CDATA[Redações]]></category>
		<category><![CDATA[Outros]]></category>

				<guid isPermaLink="false">https://www.ufsm.br/pet/sistemas-de-informacao/?p=2656</guid>
						<description><![CDATA[Em momentos como o que vivemos agora, é de se esperar que a partir do ócio de ficar em casa surja criatividade. Bom, não foi o meu caso nesses últimos dias. Para a escrita deste artigo, inicialmente pensei em falar sobre o funcionamento do tempo de execução do JavaScript, um tema muito importante para qualquer desenvolvedor web. [&hellip;]]]></description>
							<content:encoded><![CDATA[  <!-- wp:tadv/classic-paragraph -->
<p class="c26"><span class="c0">Em momentos como o que vivemos agora, é de se esperar que a partir do ócio de ficar em casa surja criatividade. Bom, não foi o meu caso nesses últimos dias.</span></p>
<p class="c8 c15"><span class="c4">Para a escrita deste artigo, inicialmente pensei em falar sobre o funcionamento do tempo de execução do </span><span class="c2">JavaScript</span><span class="c4">, um tema muito importante para qualquer desenvolvedor </span><span class="c2">web</span><span class="c4">. Entretanto, já existem muitos materiais de qualidade sobre isso, tanto em inglês quanto em português, como a </span><span class="c16 c4"><a class="c19" href="https://www.google.com/url?q=https://www.youtube.com/watch?v%3D8aGhZQkoFbQ&amp;sa=D&amp;ust=1588661862544000">palestra</a></span><span class="c4"> do </span><span class="c16 c4"><a class="c19" href="https://www.google.com/url?q=https://twitter.com/philip_roberts&amp;sa=D&amp;ust=1588661862545000">Philip Roberts</a></span><span class="c4"> na </span><span class="c16 c4"><a class="c19" href="https://www.google.com/url?q=https://2019.jsconf.eu/&amp;sa=D&amp;ust=1588661862545000">JSConf EU</a></span><span class="c4">, em que ele destrincha o funcionamento do </span><span class="c2">Event Loop</span><span class="c0">.</span></p>
<p class="c8 c15"><span class="c4">Além disso, também cheguei a estudar </span><span class="c2">containers</span><span class="c4"> e suas propriedades, conhecendo experts na área como a </span><span class="c16 c4"><a class="c19" href="https://www.google.com/url?q=https://jvns.ca/&amp;sa=D&amp;ust=1588661862546000">Julia Evans</a></span><span class="c4">, que oferta materiais incríveis sobre o tema. De qualquer forma, não foi dessa vez em que escrevi um tutorial sobre eles e tecnologias auxiliares, como </span><span class="c2">Docker</span><span class="c4"> e </span><span class="c2">Kubernetes</span><span class="c0">.</span></p>
<p class="c8 c15"><span class="c4">Já faz um tempo que tenho vontade de escrever sobre algo não tão técnico, mas sim algo que passa despercebido e é importante em nosso cotidiano. Foi quando encontrei uma palestra da Sarah Drasner que fez tudo se encaixar para que essa redação fosse escrita. Sendo assim, nessa edição vamos fugir do formato tradicional do PET Redação e discutir um pouco sobre comentários, </span><span class="c2">gatekeeping</span><span class="c4">, viés de sobrevivência e outras coisas.</span></p>
<p class="c8"><strong><span class="c6 c4">Comentários são falhos! Ou será que não?</span></strong></p>
<p class="c8 c15"><span class="c0">Desde o início da jornada da maioria dos desenvolvedores de software, somos ensinados sobre o quão importante são os comentários em nosso trabalho. Até mesmo para os mais incrédulos, basta ter que trabalhar em projetos com código legado ou revisitar projetos antigos para entender a importância dos comentários. Mas ao contrário do que se aprende no início de nossas carreiras, há um tipo de lógica muito presente na cabeça de muitos desenvolvedores que já estão inseridos no mercado de trabalho: comentários são ruins.</span></p>
<p class="c8 c15"><span class="c4">Quem nunca ouviu a seguinte frase: “Você não precisa de comentários se escrever um código limpo”? Muito provavelmente a popularidade dessa ideia se disseminou com o livro </span><span class="c16 c4"><a class="c19" href="https://www.google.com/url?q=https://www.amazon.com.br/C%25C3%25B3digo-limpo-Robert-C-Martin/dp/8576082675/ref%3Dsr_1_1?adgrpid%3D81608350312%26gclid%3DCj0KCQjw-r71BRDuARIsAB7i_QMuXYRpX0bLAdaAPh7V6RJysHFE_sOnXMIsb8C1fBjgBBlf5B89PCQaAgK9EALw_wcB%26hvadid%3D426015455681%26hvdev%3Dc%26hvlocphy%3D1001689%26hvnetw%3Dg%26hvqmt%3De%26hvrand%3D4473610138288222241%26hvtargid%3Dkwd-447114230604%26hydadcr%3D5622_11235117%26keywords%3Dcodigo%2Blimpo%26qid%3D1588630055%26sr%3D8-1&amp;sa=D&amp;ust=1588661862548000">Código Limpo</a></span><span class="c4">¹</span><span class="c4">. Nesse livro, há um capítulo dedicado especificamente aos comentários, mas que aborda eles como um mal necessário, iniciando imediatamente com a citação abaixo.</span></p>
<p class="c26 c39 c15"> </p>
<blockquote>
<p class="c26 c15" style="text-align: center"><span class="c1 c29">“</span><span class="c36 c4">Não comente código ruim, </span><span class="c1 c36">reescreva-o</span><span class="c27 c1 c29">”</span></p>
<p class="c26 c15 c46" style="text-align: center"><span class="c27 c4 c13">Brian W. Kernighan and P. J. Plaugher</span></p>
</blockquote>
<p class="c3"> </p>
<p class="c8 c15"><span class="c0">O autor do livro explica que comentários são essencialmente falhos, porque sua existência já demonstra que o programador falhou em se expressar através do código. Junto disso, também ressalta que o código de uma aplicação se transforma, é apagado, reescrito e assim em diante, e o comentário não o segue nessa evolução. Ele afirma que os programadores poderiam ser disciplinados a atualizar os comentários conforme a progressão do código, mas que o melhor a se fazer é dispender essa energia totalmente à escrita de um código legível.</span></p>
<p class="c8 c15"><span class="c0">Todos os pontos levantados por ele podem ser válidos, mas ocorre um equívoco em seu raciocínio. Não importa o quão bem escrito e limpo seja o seu código, há uma limitação:</span></p>
<p class="c3"> </p>
<blockquote>
<p class="c26 c15" style="text-align: center"><span class="c1 c44">“</span><span class="c4 c28">Código pode explicar como</span><span class="c1 c18">, </span><span class="c4 c28">mas não pode explicar</span><span class="c1 c28"> por quê</span><span class="c1 c25">”</span></p>
<p class="c33 c46 c15" style="text-align: center"><span class="c4 c13">Sarah Drasner</span></p>
</blockquote>
<p class="c7"> </p>
<p class="c8"><span class="c4">        Em sua palestra sobre a Arte dos Comentários, </span><span class="c16 c4"><a class="c19" href="https://www.google.com/url?q=https://sarahdrasnerdesign.com/&amp;sa=D&amp;ust=1588661862550000">Sarah Drasner</a></span><span class="c4">² </span><span class="c0">demonstra que há uma limitação linguística de todas as linguagens de programação: elas não foram feitas exclusivamente para comunicação entre seres humanos. Observemos este exemplo: qual dos dois trechos de códigos abaixo é mais legível?</span></p>
<p class="c7"> </p>
<table class="c5">
<tbody>
<tr class="c37">
<td class="c47" colspan="1" rowspan="1">
<p class="c20"><code><span class="c11">sum</span><span class="c14"> = </span><span class="c11">posts</span><span class="c14">.</span><span class="c22">reduce</span><span class="c14">((</span><span class="c11">s</span><span class="c14">, </span><span class="c11">p</span><span class="c14">) </span><span class="c42">=&gt;</span><span class="c14"> </span><span class="c11">s</span><span class="c14"> += </span><span class="c11">p</span><span class="c14">.</span><span class="c11">upvotes</span><span class="c14">, </span><span class="c45">0</span><span class="c14">);</span></code></p>
</td>
</tr>
</tbody>
</table>
<p class="c7"> </p>
<table class="c5">
<tbody>
<tr class="c37">
<td class="c23" colspan="1" rowspan="1">
<p class="c20"><code><span class="c11">posts</span><span class="c14">.</span><span class="c22">forEach</span><span class="c14">(</span><span class="c11">el</span><span class="c14"> </span><span class="c42">=&gt;</span><span class="c14 c27"> {</span></code></p>
<p class="c20"><code><span class="c14"> </span><span class="c11">sum</span><span class="c14"> += </span><span class="c11">el</span><span class="c14">.</span><span class="c11 c27">upVotes</span></code></p>
<p class="c20"><code><span class="c14">});</span></code></p>
</td>
</tr>
</tbody>
</table>
<p class="c7"> </p>
<p class="c8"><span class="c0">        A resposta certa seria: depende.  Não há como afirmar que há um consenso do que é um código legível para todos, já que somos todos pessoas com opiniões e experiências diferentes. Um código que é limpo para nós hoje pode se tornar um código confuso daqui a 5 anos. Sendo assim, não há por que abolir comentários da programação assim como não devemos usá-los como muleta para escrever códigos confusos e ruins, mas tratá-los como uma ferramenta que precisava ser revisada e atualizada assim como qualquer código.</span></p>
<p class="c8"><strong><span class="c6 c4">Os comentários podem ser bons!</span></strong></p>
<p class="c8"><span class="c4 c21">        </span><span class="c0">Podemos destacar vários tipos de comentários que são, sim, importantes e até mesmo necessários em vários momentos, podendo ser temporários ou até mesmo permanentes. Algumas das situações que podemos utilizar os comentários são as seguintes:</span><span class="c0">     </span></p>
<ul class="c17 lst-kix_z4hvfxyrb1xn-0 start">
<li class="c8 c34"><span class="c1">Entendendo o porquê de um código</span><span class="c0">: comentários conseguem transmitir explicações que não podem ser inferidas pela estrutura de uma função, como o porquê de se utilizar funcionalidade X e não funcionalidade Y;</span></li>
<li class="c8 c34"><span class="c1">Legibilidade</span><span class="c0">: as linguagens de programação não foram escritas para comunicação entre seres humanos, então é muito difícil identificar o que certos códigos significam, como um código de compatibilidade para navegadores antigos;</span></li>
<li class="c8 c34"><span class="c1">Separação do código em seções</span><span class="c0">: uma técnica útil para auxiliar desenvolvedores a localizarem áreas de responsabilidade dentro de um código, deixando claro onde se localiza o código responsável pelo cálculo X e onde fica a função que realiza a análise desse cálculo, por exemplo;</span></li>
</ul>
<p class="c8"><span class="c4">        No entanto, não se prenda a esses exemplos como um guia. Um comentário pode ser usado sempre que preciso, desde que ele não piore a experiência de desenvolver naquela base de código, sendo que cada caso precisa ser analisado separadamente. Portanto, não há problema em remover comentários que ajudam inicialmente mas acabam sendo inúteis posteriormente: eles também podem ter validade!</span></p>
<p class="c8"><strong><span class="c4 c38">E às vezes podem ser bem ruins...</span></strong></p>
<p class="c8"><span class="c4 c21">        </span><span class="c0">Ainda assim, há casos em que o comentário realmente nunca deveria ter sido escrito, geralmente por ser um tempo e energia gastos pelo desenvolvedor que não geram valor para a base de código, como os seguintes exemplos:</span></p>
<ul class="c17 lst-kix_dvmye23cvx2g-0 start">
<li class="c8 c34"><span class="c1">Reescrevendo o que o código significa</span><span class="c0">: MUITOS comentários servem somente para explicar o que está acontecendo em uma escala pequena, como a definição de variáveis, mas não precisamos disso. O significado daquela linha está contido dentro daquela declaração;</span></li>
<li class="c8 c34"><span class="c1">Comentários ultrapassados</span><span class="c0">: comentários que não são mantidos junto ao código acabam confundindo mais os desenvolvedores, como quando a  informação em um comentário não se relaciona de forma alguma com a declaração abaixo;</span></li>
<li class="c8 c34"><span class="c1">Comentários utilizados para guardar códigos antigos</span><span class="c4">: esse item é auto explicativo. Usar comentários dessa forma para testes rápidos é aceitável, mas mantê-los em seu projeto é ruim para a legibilidade. Há muitas maneiras de salvar versões antigas de funcionalidades em um código, principalmente com a existência de ferramentas de versionamento, como o </span><span class="c4">Git</span><span class="c0">.</span></li>
</ul>
<p class="c8"><span class="c4 c21">        </span><span class="c4">Vale lembrar que eles também não devem ser usados como muletas ao escrever códigos ruins, porque temos que tentar ser o mais legíveis possíveis em nossas ideias. De qualquer forma, exceções acontecem e </span><span class="c2">deadlines</span><span class="c0"> apertadíssimas muitas vezes irão exigir que medidas desesperadas sejam tomadas.</span></p>
<p class="c8"><strong><span class="c6 c4">Faça o seu melhor!</span></strong></p>
<p class="c8 c15"><span class="c0">Independente de todos os exemplos dados aqui, não há um guia oficial ou um consciente coletivo sobre como usar os comentários. Não existe isso de nunca escrever comentários, ou sempre comentar, mas devemos, sim, assumir uma postura de utilizá-los de uma forma racional e que agregue valor ao nosso trabalho.</span></p>
<p class="c8 c15"><span class="c4">Ao comentar uma linha de código, sempre se coloque no lugar de quem escreve mas também de quem lerá aquele comentário, pensando sempre sobre que tipo de informação é necessária para que você seja o mais produtivo possível. Sempre faça o seu melhor.</span></p>
<p class="c8"><strong><span class="c4 c6">Algumas coisas precisam mudar</span></strong></p>
<p class="c8 c15"><span class="c4">Antes de finalizar o artigo, vale ressaltar que boa parte dessas ideias contrárias à realização de comentários e outras atividades que não são classicamente tarefas de “desenvolvedor raiz”, se disseminam através de dois tipos de eventos que ocorrem muito dentro da área de Tecnologia da Informação: </span><span class="c2">gatekeeping</span><span class="c0"> e viés de sobrevivência.</span></p>
<p class="c8 c15"><span class="c4">Explicando ambos de forma simples, </span><span class="c2">gatekeeping</span><span class="c0"> é a atividade em que um indivíduo toma para si a função de dizer se outro indivíduo faz parte de um grupo ou comunidade. Enquanto isso, viés de sobrevivência faz com que nos concentremos somente em indivíduos ou coisas que passaram por algum tipo de seleção, ignorando os que não sobreviveram a esse processo.</span></p>
<p class="c8 c15"><span class="c4">Na área de desenvolvimento de software, principalmente quando se trata de desenvolvimento desktop e back-end, muitas ideias e costumes acabam sendo replicados através do viés de sobrevivência, já que os processos e ferramentas são ultrapassados por muitos sistemas serem antigos. Entenda o que quero dizer: desenvolvedores mais velhos e mentores assumem que a maneira certa de se programar é passando pelas mesmas dificuldades que levaram eles ao ponto em que chegaram. Dessa forma, não importa se o seu conceito de código limpo é diferente do resto, você </span><span class="c1">DEVE</span><span class="c4"> </span><span class="c4">adaptar-se à norma! Esse processo acaba por prejudicar e até mesmo afastar muitos desenvolvedores da profissão, principalmente membros de minorias, como mulheres, não brancos e </span><span class="c2">queers</span><span class="c0">, por exemplo.</span></p>
<p class="c8 c15"><span class="c4">Também, medidas de juízo de valor são frequentes utilizadas em várias comunidades de software, não sendo incomum que desenvolvedores apegados à processos relacionados às </span><span class="c16 c2"><a class="c19" href="https://www.google.com/url?q=https://pt.wikipedia.org/wiki/Soft_skills&amp;sa=D&amp;ust=1588661862561000">soft skills</a></span><span class="c4"> ou até mesmo </span><span class="c2">front-end</span><span class="c0">, como o estudo e uso de comentários de uma maneira eficiente, acabem sendo rebaixados ou até mesmo excluídos.</span></p>
<p class="c8 c15"><span class="c0">Esse tipo de comportamento é tóxico e precisa ser abolido de qualquer ambiente de desenvolvimento em que exista. Antes de programadores, somos seres humanos com histórias, contextos e vidas diferentes. Ninguém passou por uma linha de montagem para chegar até onde estamos, então não vamos exigir uma igualdade injusta mas , sim, equidade.</span></p>
<p> </p>
<h6 class="c8"><span class="c4">¹ </span><span class="c27 c30 c4">Para quem não o conhece, o livro é escrito por Robert “Uncle Bob” Cecil Martin, uma personalidade muito influente no ambiente de desenvolvimento. Ele é um dos 17 signatários originais do Manifesto Ágil, atualmente prestando consultoria internacionalmente e tendo escrito muitos livros na área de desenvolvimento de software.</span></h6>
<h6 class="c8"><span class="c4 c40">² </span><span class="c4 c40">Esse artigo foi muito inspirado na incrível palestra realizada pela Sarah Drasner na JSConf Hawai’i, então não deixem de assisti-lá nesse </span><span class="c16 c4 c40"><a class="c19" href="https://www.google.com/url?q=https://www.youtube.com/watch?v%3DyhF7OmuIILc&amp;sa=D&amp;ust=1588661862562000">link</a></span><span class="c27 c30 c4">. Para saber mais sobre a Sarah e seu trabalho, acesse esse seu website.</span></h6>
<p class="c26 c39"> </p>
<p class="c8"><span class="c4 c38">Referências:</span></p>
<ul class="c17 lst-kix_cb3o2mn3qa52-0 start">
<li class="c8 c9"><span class="c16 c4"><a class="c19" href="https://www.google.com/url?q=https://www.youtube.com/watch?v%3DyhF7OmuIILc&amp;sa=D&amp;ust=1588661862563000">The Art of Code Comments - Sarah Drasner | JSConf Hawaii 2020</a></span></li>
<li class="c8 c9"><span class="c16 c4"><a class="c19" href="https://www.google.com/url?q=https://blog.usejournal.com/stop-writing-code-comments-28fef5272752&amp;sa=D&amp;ust=1588661862564000">Stop Writing Code Comments</a></span></li>
<li class="c8 c9"><span class="c4 c16"><a class="c19" href="https://www.google.com/url?q=https://www.cs.utah.edu/~germain/PPS/Topics/commenting.html&amp;sa=D&amp;ust=1588661862564000">Programming - Commenting</a></span></li>
<li class="c8 c9"><span class="c16 c4"><a class="c19" href="https://www.google.com/url?q=https://www.freecodecamp.org/news/code-comments-the-good-the-bad-and-the-ugly-be9cc65fbf83/&amp;sa=D&amp;ust=1588661862565000">Putting comments in code: the good, the bad, and the ugly.</a></span></li>
<li class="c8 c9"><span class="c16 c4"><a class="c19" href="https://www.google.com/url?q=https://www.elegantthemes.com/blog/wordpress/how-to-comment-your-code-like-a-pro-best-practices-and-good-habits&amp;sa=D&amp;ust=1588661862565000">How to Comment Your Code Like a Pro: Best Practices and Good Habits</a></span></li>
<li class="c8 c9"><span class="c16 c4"><a class="c19" href="https://www.google.com/url?q=https://www.amazon.com.br/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882&amp;sa=D&amp;ust=1588661862566000">Clean Code: A Handbook of Agile Software Craftsmanship</a></span></li>
</ul>
<div> </div>
<!-- /wp:tadv/classic-paragraph -->]]></content:encoded>
													</item>
					</channel>
        </rss>
        