<?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>Arquivo para Desenvolvimento de Software - Bóson Treinamentos em Ciência e Tecnologia</title>
	<atom:link href="https://www.bosontreinamentos.com.br/tag/desenvolvimento-de-software/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bosontreinamentos.com.br/tag/desenvolvimento-de-software/</link>
	<description>Artigos e Tutoriais sobre Desenvolvimento de Software, Bancos de Dados SQL, Linux, Lógica de Programação, Inteligência Artificial, Hardware, Eletrônica, Arduino, Técnicas e Teorias de Estudo e Aprendizagem, Carreira em TI, Ciências Cognitivas, e muito mais!</description>
	<lastBuildDate>Wed, 18 Sep 2024 11:21:13 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.6</generator>
	<item>
		<title>10 Melhores dicas para desenvolvedores iniciantes (juniores)</title>
		<link>https://www.bosontreinamentos.com.br/carreira/10-dicas-para-desenvolvedores-iniciantes-juniores/</link>
					<comments>https://www.bosontreinamentos.com.br/carreira/10-dicas-para-desenvolvedores-iniciantes-juniores/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 02 Sep 2024 14:30:19 +0000</pubDate>
				<category><![CDATA[Carreira]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=18674</guid>

					<description><![CDATA[<p>10 Dicas para desenvolvedores iniciantes (juniores) Iniciar uma carreira como desenvolvedor júnior pode ser um grande desafio e, ao mesmo tempo, costuma ser bastante empolgante. Porem, a vasta quantidade de conhecimentos a serem adquiridos, a pressão para se destacar e a necessidade de absorver novas tecnologias rapidamente e frequentemente podem ser esmagadoras para muitos iniciantes. No entanto, empregando uma abordagem adequada, é possível transformar esses desafios em oportunidades de crescimento. Neste artigo eu apresento 10 dicas valiosas que eu acredito que irão guiá-lo nos primeiros passos de sua jornada como desenvolvedor, ajudando a construir uma base bem sólida para o sucesso futuro de sua carreira. Vamos às dicas. 1. Seja paciente Aprender a codificar requer tempo e paciência. Ninguém aprende programação da noite para o dia. Não desanime se algo parecer muito difícil de entender ou se você cometer erros. Isso é normal no processo de aprendizado. 2. Praticar e praticar mais A chave para o aprendizado de programação (e de muitas outras áreas) é a prática. Escreva código todos os dias, mesmo que por pouco tempo. Revise códigos que você escreveu anteriormente, e também códigos escritos por outros desenvolvedores. Quanto mais você codar, melhor se tornará. 3. Procure projetos [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/carreira/10-dicas-para-desenvolvedores-iniciantes-juniores/">10 Melhores dicas para desenvolvedores iniciantes (juniores)</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>10 Dicas para desenvolvedores iniciantes (juniores)</h2>
<p>Iniciar uma carreira como desenvolvedor júnior pode ser um grande desafio e, ao mesmo tempo, costuma ser bastante empolgante. Porem, a vasta quantidade de conhecimentos a serem adquiridos, a pressão para se destacar e a necessidade de absorver novas tecnologias rapidamente e frequentemente podem ser esmagadoras para muitos iniciantes.</p>
<p>No entanto, empregando uma abordagem adequada, é possível transformar esses desafios em oportunidades de crescimento. Neste artigo eu apresento 10 dicas valiosas que eu acredito que irão guiá-lo nos primeiros passos de sua jornada como desenvolvedor, ajudando a construir uma base bem sólida para o sucesso futuro de sua carreira.</p>
<p>Vamos às dicas.</p>
<h3>1. Seja paciente</h3>
<p>Aprender a codificar requer tempo e paciência. Ninguém aprende programação da noite para o dia. Não desanime se algo parecer muito difícil de entender ou se você cometer erros. Isso é normal no processo de aprendizado.</p>
<h3>2. Praticar e praticar mais</h3>
<p>A chave para o aprendizado de programação (e de muitas outras áreas) é a prática. Escreva código todos os dias, mesmo que por pouco tempo. Revise códigos que você escreveu anteriormente, e também códigos escritos por outros desenvolvedores.<br />
Quanto mais você codar, melhor se tornará.</p>
<h3>3. Procure projetos <a href="http://www.bosontreinamentos.com.br/linux/definicao-de-software-de-codigo-aberto-de-acordo-com-a-open-source-initiative-osi/"><em>Open-Source</em></a></h3>
<p>Trabalhar em projetos de código aberto é uma excelente maneira de ter acesso a código escrito por pessoas mais experientes, e você pode contribuir, mesmo que escrevendo scripts simples como uma interface de acesso ou uma consulta a banco de dados, o que permite praticar em projetos do mundo real.</p>
<h3>4. Participe de encontros e conferências</h3>
<p>Participar de palestras, <em>meetups</em>, conferências e eventos de tecnologia em geral é uma excelente maneira de ficar &#8220;por dentro&#8221; do que acontece no mundo do desenvolvimento de sistemas, ter contato com novas tecnologias e tendências de mercado, além de permitir conhecer pessoas e fazer networking &#8211; que você sem dúvida irá precisar mais adiante em sua carreira.</p>
<h3>5. Faça perguntas</h3>
<p>Surgiu uma dúvida? Pergunte.</p>
<p>Ficou &#8220;travado&#8221; em um algoritmo ou trecho de código? Pergunte.</p>
<p>Não se deixe cansar ou frustrar por problemas ou dúvidas na hora de codar: procure ajuda. Seja de seu professor, amigos, ou ainda em fóruns e sites como o <a href="https://pt.stackoverflow.com/" target="_blank" rel="noopener">StackOverflow</a>, poste sua dúvida que provavelmente alguém com mais experiência irá te responder e te indicar o caminho para resolver seu problema. E se necessário, não hesite em usar ferramentas de IA generativa para te auxiliar, como o ChatGPT ou o Google Gemini.</p>
<h3>6. Leia código</h3>
<p>Além de praticar muito, leia muito código também. Isso pode te ajudar a descobrir novas formas de resolver um problema, além de entender melhor como funcionam algoritmos tradicionais e trazer ideias que você poderá depois aplicar em seus próprios projetos.</p>
<h3>7. Escreva código elegante</h3>
<p>Desde o início, habitue-se a escrever código legível e bem formado. Lembre-se de que o trabalho de um desenvolvedor é frequentemente realizado em times (equipes), e o compartilhamento de código é padrão. Por isso, quanto mais bem escrito seu código, menos problemas e mais facilidade você e seus colegas terão ao desenvolver novas funcionalidades e debugar erros.</p>
<h3>8. É importante aprender várias tecnologias</h3>
<p>Para desenvolver aplicações, comumente lançamos mão de mais de uma tecnologia na construção das diferentes partes que as constituem. Por isso é importante aprender não somente lógica de programação e uma linguagem, mas também como usar IDEs de forma efetiva, como trabalhar com versionamento de código, conhecer fundamentos de redes e comunicação de dados, e também aprender a programar em outras linguagens, pois é comum que um sistema empregue códigos escritos em duas ou mais linguagens distintas.</p>
<p>Mas não tente aprender tudo de uma vez: vá com calma e aos poucos, para nãos se sobrecarregar e garantir o sucesso de seu aprendizado.</p>
<h3>9. Desenvolva seus <a href="http://www.bosontreinamentos.com.br/carreira/13-habilidades-nao-tecnicas-importantes-para-profissionais-de-tecnologia/"><em>soft skills</em></a> (habilidades não-técnicas)</h3>
<p>É muito importante trabalhar soft skills, ou habilidades interpessoais, pois em uma empresa você irá trabalhar em equipes, e saber como se relacionar e se comunicar com seus colegas é fundamental para o bom andamento de seu trabalho &#8211; e de sua carreira.</p>
<p>Aprenda coisas como: Trabalho em Equipe, Comunicação Efetiva, Gerenciamento de Tempo, entre outras.</p>
<h3>10. Cuide do corpo e da mente</h3>
<p>Não canso de ressaltar a importância de cuidar de si mesmo nos ambientes de trabalho e estudo. Preste muita atenção à sua alimentação, exercícios físicos, horas de sono e de lazer, pois a <a href="https://diarionumismatico.com.br/como-balancear-trabalho-estudo-e-vida-pessoal/">saúde física e também a mental</a> são de extrema importância para que você tenha sucesso em sua carreira e na sua vida pessoal.</p>
<h2>Conclusão</h2>
<p>Tornar-se um desenvolvedor de software competente e bem-sucedido exige mais do que apenas conhecer linguagens de programação ou dominar ferramentas, como IDEs. Trata-se de um processo contínuo de aprendizado, prática, e desenvolvimento tanto de habilidades técnicas quanto de habilidades interpessoais (<em>soft skills</em>).</p>
<p>Seguindo as dicas que eu apresentei, você provavelmente estará mais bem preparado para enfrentar os desafios da profissão e para evoluir constantemente em sua carreira. Lembre-se sempre: Sucesso é uma combinação de conhecimento, prática e cuidado com o próprio bem-estar.</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/carreira/10-dicas-para-desenvolvedores-iniciantes-juniores/">10 Melhores dicas para desenvolvedores iniciantes (juniores)</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/carreira/10-dicas-para-desenvolvedores-iniciantes-juniores/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>O que é uma API &#8211; Conceitos de Computação</title>
		<link>https://www.bosontreinamentos.com.br/analise-de-sistemas/o-que-e-uma-api-conceitos-de-computacao/</link>
					<comments>https://www.bosontreinamentos.com.br/analise-de-sistemas/o-que-e-uma-api-conceitos-de-computacao/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 17 Mar 2023 10:53:28 +0000</pubDate>
				<category><![CDATA[Análise de Sistemas]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=17107</guid>

					<description><![CDATA[<p>O que é uma API A sigla API significa Application Programming Interface, ou Interface de Programação de Aplicações, em português. É um conjunto de protocolos, rotinas e ferramentas que permitem que diferentes aplicativos de software se comuniquem entre si. As APIs agem como intermediárias entre aplicativos de software, permitindo que eles troquem dados e acessem as funcionalidades uns dos outros. Uma API define um conjunto específico de regras e padrões para a construção de aplicativos de software, especificando como os componentes de software devem interagir uns com os outros. Ela fornece uma maneira padronizada para diferentes aplicativos acessarem e compartilharem dados e serviços, sem exigir que os desenvolvedores desses aplicativos entendam os detalhes de implementação subjacentes. Trata-se de uma forma de comunicação entre duas aplicações de computador, que permite a troca de informações por meio de uma rede, como a Internet, usando uma linguagem em comum, que as aplicações conseguem entender. A empresa ou organização que oferece uma API é chamada de fornecedor da API. Arquitetura de uma API Para que serve uma API? Uma API fornece acesso a dados e serviços que permitem o rápido desenvolvimento de aplicações dos mais variados tipos. As APIs são amplamente utilizadas no desenvolvimento [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/analise-de-sistemas/o-que-e-uma-api-conceitos-de-computacao/">O que é uma API &#8211; Conceitos de Computação</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>O que é uma API</h2>
<p>A sigla API significa <em><strong>Application Programming Interface</strong></em>, ou <strong>Interface de Programação de Aplicações</strong>, em português. É um conjunto de protocolos, rotinas e ferramentas que permitem que diferentes aplicativos de software se comuniquem entre si.</p>
<p>As APIs agem como intermediárias entre aplicativos de software, permitindo que eles troquem dados e acessem as funcionalidades uns dos outros.</p>
<p>Uma API define um conjunto específico de regras e padrões para a construção de aplicativos de software, especificando como os componentes de software devem interagir uns com os outros.</p>
<p>Ela fornece uma maneira padronizada para diferentes aplicativos acessarem e compartilharem dados e serviços, sem exigir que os desenvolvedores desses aplicativos entendam os detalhes de implementação subjacentes.</p>
<p>Trata-se de uma forma de comunicação entre duas <strong>aplicações</strong> de computador, que permite a troca de informações por meio de uma rede, como a Internet, usando uma linguagem em comum, que as aplicações conseguem entender.</p>
<p>A empresa ou organização que oferece uma API é chamada de <em>fornecedor da API</em>.</p>
<div id="attachment_18908" style="width: 1034px" class="wp-caption aligncenter"><img decoding="async" aria-describedby="caption-attachment-18908" class="wp-image-18908 size-large" title="Arquitetura de uma API" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/API-arquitetura-1024x353.png" alt="Arquitetura de uma API" width="1024" height="353" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/API-arquitetura-1024x353.png 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/API-arquitetura-420x145.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/API-arquitetura-768x265.png 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/API-arquitetura.png 1139w" sizes="(max-width: 1024px) 100vw, 1024px" /><p id="caption-attachment-18908" class="wp-caption-text">Arquitetura de uma API</p></div>
<h3>Para que serve uma API?</h3>
<p>Uma API fornece acesso a dados e serviços que permitem o rápido desenvolvimento de aplicações dos mais variados tipos.</p>
<p>As APIs são amplamente utilizadas no desenvolvimento de software para permitir a integração entre diferentes sistemas de software, facilitar a troca e o compartilhamento de dados e agilizar o processo de desenvolvimento.</p>
<p>Elas são comumente usadas para desenvolver aplicativos da web e móveis, bem como para integrar serviços de terceiros e fontes de dados em aplicativos de software existentes.</p>
<h3>Especificações de APIs</h3>
<p>As APIs seguem uma especificação, o que na prática significa que:</p>
<ul>
<li>O fornecedor da API descreve exatamente as funcionalidades que a API irá oferecer</li>
<li>O fornecedor também descreve quando as funcionalidade estarão disponíveis, e quando existe a possibilidade de alterações nestas funcionalidades</li>
<li>O fornecedor da API também por estabelecer restrições técnicas ao uso da API, como limites de uso de banda, quantidade de acessos permitidos por uma aplicação, entre outras.</li>
<li>Os desenvolvedores (usuários) concordam em usar a API da forma como ela é descrita, seguindo as regras estabelecidas pelo fornecedor da API.</li>
</ul>
<p>O fornecedor da API pode também:</p>
<ul>
<li>Fornecer mecanismos para acesso à API</li>
<li>Fornecer documentação para ajudar a entender como ela funciona e como usá-la</li>
<li>Distribuir programas de exemplo para auxiliar os desenvolvedores interessados na API</li>
</ul>
<p>entre outros.</p>
<p>Algumas APIs são abertas a todos os desenvolvedores, algumas apenas para colaboradores e parceiros e outras são empregadas apenas internamente em uma empresa, por exemplo facilitando a comunicação e colaboração entre os times de desenvolvimento.</p>
<h3>Tipos de APIs</h3>
<p>As APIs podem ser públicas ou privadas, dependendo do público-alvo e da finalidade.</p>
<ul>
<li>APIs públicas são projetadas para serem usadas por desenvolvedores externos e normalmente são disponibilizadas por meio de documentação e portais de desenvolvedores.</li>
<li>Já as APIs privadas, por outro lado, são usadas dentro de uma organização ou por um conjunto específico de usuários e normalmente não são expostas a desenvolvedores externos.</li>
</ul>
<h3>Exemplos de APIs</h3>
<p>Existem muitos exemplos de APIs públicas que são amplamente utilizadas por desenvolvedores para criar aplicativos da web e móveis, bem como para integrar serviços de terceiros e fontes de dados em aplicativos de software existentes. A seguir listo alguns exemplos:</p>
<ul>
<li><strong>API do Google Maps</strong>: A <a href="https://cloud.google.com/apis" target="_blank" rel="noopener">API do Google Maps</a> permite que os desenvolvedores integrem o Google Maps em seus aplicativos, fornecendo aos usuários recursos como geocodificação, direções e atualizações de tráfego em tempo real.</li>
<li><strong>API do Twitter</strong>: A <a href="https://developer.twitter.com/en/docs/twitter-api" target="_blank" rel="noopener">API do Twitter</a> permite que os desenvolvedores acessem dados e funcionalidades do Twitter, como pesquisar tweets, postar tweets e recuperar informações do usuário.</li>
<li><strong>API do Facebook</strong>: A <a href="https://developers.facebook.com/docs/pages/" target="_blank" rel="noopener">API do Facebook</a> permite integração da funcionalidade do Facebook em seus aplicativos, como permitir que os usuários façam login com suas contas do Facebook, recuperar informações do usuário e postar nprópria rede social.</li>
<li><strong>API OpenWeatherMap</strong>: A <a href="https://openweathermap.org/api" target="_blank" rel="noopener">API OpenWeatherMap</a> fornece aos desenvolvedores acesso a dados meteorológicos de todo o mundo, incluindo condições atuais do clima e tempo, previsões e dados históricos.</li>
<li><strong>API do GitHub</strong>: A <a href="https://docs.github.com/en/rest" target="_blank" rel="noopener">API do GitHub</a> permite que o acesso às funcionalidades do GitHub, como gerenciamento de repositórios, criação de requisições e recuperação de informações do usuário.</li>
</ul>
<h3>Conclusão</h3>
<p>No geral, as APIs desempenham um papel crucial no desenvolvimento de software moderno, permitindo que os desenvolvedores criem aplicativos de software mais robustos e interconectados que podem se comunicar e trocar dados perfeitamente entre si.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/analise-de-sistemas/o-que-e-uma-api-conceitos-de-computacao/">O que é uma API &#8211; Conceitos de Computação</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/analise-de-sistemas/o-que-e-uma-api-conceitos-de-computacao/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Introdução ao Git</title>
		<link>https://www.bosontreinamentos.com.br/git/introducao-ao-git/</link>
					<comments>https://www.bosontreinamentos.com.br/git/introducao-ao-git/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 24 Jan 2020 20:28:47 +0000</pubDate>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=16220</guid>

					<description><![CDATA[<p>Introdução ao Git Neste artigo vamos fazer uma rápida introdução ao Git, sistema de controle de versões mais empregado atualmente no mundo. Porém, antes de falarmos especificamente do Git em si, vamos relembrar o que é um sistema de versionamento, especialmente os sistemas de controle de versão distribuídos. Sistema de Controle de Versão Distribuído Um sistema de controle de versão distribuído é similar aos sistemas centralizados, porém sem necessariamente possuir um servidor&#160;central para armazenar o histórico de alterações do projeto. Neste tipo de sistema, cada cliente possui uma cópia do repositório e do histórico de alterações, o que diminui drasticamente a chance de perder o projeto ou partes dele. Além disso, um SCVD não necessita de conexão de rede permanente para ser utilizado, o que facilita o trabalho dos desenvolvedores e simplifica a infraestrutura necessária no dia-a-dia do trabalho. Além disso, é possível implementar o conceito de forking &#8211; que significa, basicamente, a possibilidade de clonar um projeto já existente, realizar alterações e criar um novo projeto derivado. Exemplos de sistemas de controle de versão distribuídos incluem: BitKeeper Git Mercurial A figura a seguir ilustra a arquitetura de um sistema de controle de versão distribuído: Sistema de Controle de Versão [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/git/introducao-ao-git/">Introdução ao Git</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introdução ao Git</h2>
<p>Neste artigo vamos fazer uma rápida introdução ao <strong>Git</strong>, sistema de controle de versões mais empregado atualmente no mundo.</p>
<p>Porém, antes de falarmos especificamente do Git em si, vamos relembrar o que é um sistema de versionamento, especialmente os sistemas de controle de versão distribuídos.</p>
<h3>Sistema de Controle de Versão Distribuído</h3>
<p>Um sistema de controle de versão distribuído é similar aos sistemas centralizados, porém sem necessariamente possuir um servidor&nbsp;central para armazenar o histórico de alterações do projeto. Neste tipo de sistema, cada cliente possui uma cópia do repositório e do histórico de alterações, o que diminui drasticamente a chance de perder o projeto ou partes dele.<br />
Além disso, um SCVD não necessita de conexão de rede permanente para ser utilizado, o que facilita o trabalho dos desenvolvedores e simplifica a infraestrutura necessária no dia-a-dia do trabalho.</p>
<p>Além disso, é possível implementar o conceito de <em><strong>forking</strong></em> &#8211; que significa, basicamente, a possibilidade de clonar um projeto já existente, realizar alterações e criar um novo projeto derivado.</p>
<p>Exemplos de sistemas de controle de versão distribuídos incluem:</p>
<ul>
<li>BitKeeper</li>
<li>Git</li>
<li>Mercurial</li>
</ul>
<p>A figura a seguir ilustra a arquitetura de um sistema de controle de versão distribuído:</p>
<div id="attachment_16221" style="width: 660px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-16221" class="wp-image-16221" title="Sistema de Controle de Versão Distribuído Git" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/sistema-controle-git.jpg" alt="Sistema de Controle de Versão Distribuído Git" width="650" height="533" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/sistema-controle-git.jpg 808w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/sistema-controle-git-420x345.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/sistema-controle-git-768x630.jpg 768w" sizes="auto, (max-width: 650px) 100vw, 650px" /><p id="caption-attachment-16221" class="wp-caption-text">Sistema de Controle de Versão Distribuído</p></div>
<h3>O que é o Git</h3>
<p>O Git é um Sistema de Controle de Versão Distribuído amplamente utilizado &#8211; o mais utilizado atualmente no mundo. Foi criado por Linus Torvalds em 2005 para substituir o sistema BitKeeper SCM, que tinha acesso gratuito, mas que teve o acesso removido em determinado momento. Era empregado no desenvolvimento do sistema operacional Linux, e acabou se tornando o sistema padrão para controle de versões em desenvolvimento de softwares dos mais diversos tipos e tamanhos.</p>
<p>O Git é Software Livre, distribuído sob a licença GNU GPL V.2.</p>
<div id="attachment_16222" style="width: 330px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-16222" class="wp-image-16222 size-full" title="Linus Torvalds - Git" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/linus-torvalds-git.jpg" alt="Linus Torvalds - Git" width="320" height="309"><p id="caption-attachment-16222" class="wp-caption-text">Linus Torvalds</p></div>
<h3>Vantagens do Git</h3>
<p>O Git possui uma série de vantagens em relação a outros sistemas de controle de versão, as quais incluem:</p>
<ul>
<li>Permite rastrear alterações com muita facilidade</li>
<li>Excelente para trabalho em equipes de qualquer tamanho</li>
<li>Permite fazer revisão em alterações feitas por outros membros</li>
<li>Sistema de branching aprimorado</li>
<li>Operação de Merging extremamente simples</li>
<li>Stashing para testes de features sem interferir em modificações atuais</li>
<li>Trabalha com snapshots para versionamento</li>
<li>Histórico com autenticação criptográfica</li>
</ul>
<p>Entre outras.</p>
<h3>Exemplos de projetos que usam Git</h3>
<p>Uma quantidade gigantesca de projetos empregam git atualmente, desde pequenos projetos acadêmicos até softwares de uso massivo, como por exemplo:</p>
<ul>
<li>Android</li>
<li><a href="http://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/debian-8-jessie-linux-apresentacao-e-instalacao/" target="_blank" rel="noopener">Debian</a></li>
<li><a href="http://www.bosontreinamentos.com.br/java/programacao-em-java-instalando-o-ide-eclipse/" target="_blank" rel="noopener">Eclipse</a></li>
<li>Gimp</li>
<li>jQuery</li>
<li>Kernel do <a href="http://www.bosontreinamentos.com.br/curso-de-linux-basico-e-certificacao-lpi-1/" target="_blank" rel="noopener">Linux</a></li>
<li><a href="http://www.bosontreinamentos.com.br/curso-basico-de-programacao-web-com-php/" target="_blank" rel="noopener">PHP</a></li>
<li>Reddit</li>
<li>Ruby on Rails</li>
<li>VLC</li>
</ul>
<p>E muito, muito mais.</p>
<h3>Sistema de Três Estados do Git</h3>
<p>Uma das principais características do Git é seu <strong>sistema de três estados</strong>. Neste sistema, existem três estados nos quais um código em desenvolvimento pode se encontrar:</p>
<ul>
<li><strong>Estado Modificado</strong>: <em>Snapshot</em> atual no qual o trabalho é feito no momento. Arquivos no Diretório de Trabalho.</li>
<li><strong>Estado Preparado</strong>: Os arquivos modificados são marcados em sua versão atual, pronta para ser armazenada no banco de dados. Arquivos no <em>Staging Area</em>.</li>
<li><strong>Estado Consolidado</strong>: Dados são salvos no Repositório (Banco de dados) onde o histórico é armazenado. Esse estado é compartilhado. Arquivos no Diretório do Git.</li>
</ul>
<p>A ilustração a seguir mostra o fluxo dos três estados de arquivos do git.</p>
<div id="attachment_16223" style="width: 860px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-16223" class="wp-image-16223" title="Fluxo de 3 estados do git" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/tres-estados-git-1024x282.jpg" alt="Fluxo de 3 estados do git" width="850" height="234" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/tres-estados-git-1024x282.jpg 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/tres-estados-git-420x116.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/tres-estados-git-768x212.jpg 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/tres-estados-git.jpg 1151w" sizes="auto, (max-width: 850px) 100vw, 850px" /><p id="caption-attachment-16223" class="wp-caption-text">Fluxo dos Três Estados do Git</p></div>
<p>Algumas das características básicas de cada estado são apresentadas a seguir:</p>
<h4>Estado Modificado</h4>
<ul>
<li>Arquivos adicionados, modificados ou removidos são marcados como modificados.</li>
<li>Indica que um arquivo sofreu alterações.</li>
<li>Indica também que estão diferentes em relação à última versão que está armazenada no banco de dados.</li>
</ul>
<h4>Estado Preparado</h4>
<ul>
<li>Arquivo é enviado para a área de preparação antes de ser consolidado.</li>
<li>Os arquivos entram neste estado após uma instrução <em>git add</em></li>
<li>Assim, se tornam preparados para serem versionados.</li>
</ul>
<h4>Estado Consolidado</h4>
<ul>
<li>Os arquivos preparados são salvos em definitivo após a execução de uma instrução <em>git commit</em></li>
<li>Uma nova imagem é salva no histórico, contendo o estado dos arquivos salvos.</li>
<li>Arquivos não podem ser consolidados se ainda estiverem no estado modificado.</li>
</ul>
<p>Nos próximos artigos vamos estudar esses estados com mais detalhes, e aprender como utilizar os comandos do git para transferir os arquivos de um estado para outro.</p>
<h3>Fluxo de Operação do Git</h3>
<p>O fluxo de operação dos arquivos no git é, basicamente, o seguinte:</p>
<ol>
<li>Os arquivos são criados, modificados ou excluídos</li>
<li>Arquivos que serão incluídos no snapshot são adicionados na área de staging</li>
<li>Snapshot é criado</li>
<li>Adicionar modificações ao banco de dados</li>
<li>Assim, um arquivo vai do estado modificado para staged e então para commited.</li>
</ol>
<p>Esse fluxo também será estudado com detalhes em nossas próximas lições.</p>
<h3>Referências</h3>
<ul>
<li>Tsitoara, M. <em>Beginning Git and GitHub</em>, 1ª edição, 2019. Editora Apress</li>
<li>Schacon, S. <em>Pro Git</em>, 2ª edição. Editora Apress</li>
<li>Git Official Documentation &#8211; <a href="https://git-scm.com/doc" target="_blank" rel="noopener">https://git-scm.com/doc</a></li>
</ul>
<p>No próximo artigo vamos mostrar como baixar e instalar o Git em seu computador.</p>
<p>Enquanto isso, aproveite para assistir ao vídeo introdutório sobre Git da Bóson Treinamentos:</p>
<p><iframe loading="lazy" src="https://www.youtube.com/embed/Cto2h_1U2yo" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/git/introducao-ao-git/">Introdução ao Git</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/git/introducao-ao-git/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>O que é UML &#8211; Unified Modelling Language</title>
		<link>https://www.bosontreinamentos.com.br/uml/o-que-e-uml-unified-modelling-language/</link>
					<comments>https://www.bosontreinamentos.com.br/uml/o-que-e-uml-unified-modelling-language/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 13 Dec 2019 13:30:11 +0000</pubDate>
				<category><![CDATA[UML]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=15999</guid>

					<description><![CDATA[<p>O que é UML UML, sigla de Unified Modelling Language (Linguagem de Modelagem Unificada, é uma linguagem unificada visual que habilita profissionais de tecnologia da informação a modelar e documentar aplicações de software (e outros tipos de projetos). Em termos de design, a UML oferece um meio de visualizar a arquitetura de um sistema por meio de diversos diagramas, incluindo atividades, componentes individuais do sistema, a interação desses componentes, interfaces, interação com o mundo externo, entre outras. É importante notar que essa linguagem de modelagem não é um método de desenvolvimento em si, e é independente de plataforma ou linguagem de programação. Atualmente, está na versão&#160; 2.4.1. Neste tutorial vamos introduzir de forma simplificada o conceito de UML, sua importância e aplicações. Conteúdo Termos-chave da UML Como surgiu a UML? Quais as categorias de diagramas UML? Quantos diagramas UML existem? Quais são os diagramas UML? Quem usa UML? Termos-chave da UML Alguns termos são importantes para entender o que é a UML, de onde surgiu e qual sua aplicação em desenvolvimento de projetos de software. Entre eles destacamos: Rational Software: Empresa que fornecia ferramentas para prática de engenharia de software. Vendida para a IBM em 2003. OMG: Object Management Group. [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/uml/o-que-e-uml-unified-modelling-language/">O que é UML &#8211; Unified Modelling Language</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>O que é UML</h2>
<p><strong>UML</strong>, sigla de <em><strong>Unified Modelling Language</strong></em> (Linguagem de Modelagem Unificada, é uma linguagem unificada visual que habilita profissionais de tecnologia da informação a modelar e documentar aplicações de software (e outros tipos de projetos).</p>
<p>Em termos de design, a UML oferece um meio de visualizar a arquitetura de um sistema por meio de diversos diagramas, incluindo atividades, componentes individuais do sistema, a interação desses componentes, interfaces, interação com o mundo externo, entre outras.</p>
<p>É importante notar que essa linguagem de modelagem não é um método de desenvolvimento em si, e é independente de plataforma ou linguagem de programação. Atualmente, está na versão&nbsp; 2.4.1.</p>
<p>Neste tutorial vamos introduzir de forma simplificada o conceito de UML, sua importância e aplicações.</p>
<h3>Conteúdo</h3>
<ul>
<li><a href="#uml-termos-chave">Termos-chave da UML</a></li>
<li><a href="#uml-origens">Como surgiu a UML?</a></li>
<li><a href="#categorias-diagramas-uml">Quais as categorias de diagramas UML?</a></li>
<li><a href="#quantos-diagramas-uml-existem">Quantos diagramas UML existem?</a></li>
<li><a href="#lista-diagramas-uml">Quais são os diagramas UML?</a></li>
<li><a href="#uml-quem-usa">Quem usa UML?</a></li>
</ul>
<h3 id="uml-termos-chave">Termos-chave da UML</h3>
<p>Alguns termos são importantes para entender o que é a UML, de onde surgiu e qual sua aplicação em desenvolvimento de projetos de software. Entre eles destacamos:</p>
<ul>
<li><strong>Rational Software</strong>: Empresa que fornecia ferramentas para prática de engenharia de software. Vendida para a IBM em 2003.</li>
<li><strong>OMG</strong>: <em>Object Management Group</em>. Consórcio internacional de padrões da indústria de computadores, sem fins lucrativos, com representantes do governo, indústria e academia. Fornece especificações para padrões (mas não implementações). Áreas de atuação da OMG incluem sistemas financeiros, de saúde, armazenamento de dados, blockchain, IoT, cibersegurança e astronomia.</li>
<li><strong>Diagrama</strong>: Representação gráfica (geralmente parcial) do modelo de um sistema ou de parte dele, como um processo em particular.</li>
</ul>
<h3 id="uml-origens">Histórico Resumido da UML</h3>
<p>Como surgiu a UML? Quem a criou? Porque a UML foi criada? Vejamos um pequeno histórico da linguagem, de forma bem sucinta.</p>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">UML &#8211; Unified Modeling Language / Linguagem de Modelagem Unificada &#8211; é uma linguagem de modelagem de propósito geral, para desenvolvimento em engenharia de software, que permite visualizar de uma forma padronizada o projeto (design) de um sistema.</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Desenvolvida por </span><b>Grady Booch</b><span style="font-weight: 400;">, </span><b>Ivar Jacobson</b><span style="font-weight: 400;"> e </span><b>James Rumbaugh</b><span style="font-weight: 400;"> quando trabalhavam na Rational Software entre 1994 e 1995.</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">O Object Management Group (OMG) adotou a UML como linguagem padrão em 1997, e em 2005 foi publicada pela ISO como um padrão aprovado.</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Décadas de 70 e 80</span>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">Análise e Projeto Estruturado de Sistemas</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Domínio das linguagens procedurais</span></li>
</ul>
</li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Final dos anos 80</span>
<ul>
<li style="font-weight: 400;"><a href="http://www.bosontreinamentos.com.br/analise-de-sistemas/conceitos-de-programacao-orientada-a-objetos/"><span style="font-weight: 400;">Análise e Projeto de Sistemas Orientados a Objetos</span></a></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Técnicas de Modelagem variadas</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Sem padronização</span></li>
</ul>
</li>
<li style="font-weight: 400;"><span style="font-weight: 400;">1997</span>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">OMG padroniza a versão do UML 1.0</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Em novembro de 1997 é lançado o UML 1.1 pela Rational</span></li>
</ul>
</li>
<li>
<p>Agosto 2005</p>
<ul>
<li>Lançada a versão UML 2.0.Novos diagramas forma adicionados à UML, incluindo os diagramas de temporização e interação. O diagrama de colaboração foi renomeado para diagrama de comunicação.</li>
</ul>
</li>
</ul>
<ul>
<li>
<p>Abril 2006</p>
<ul>
<li>
<p>UML 2.0 sofreu algumas correções importantes.</p>
</li>
</ul>
</li>
<li>
<p>Fevereiro 2009</p>
<ul>
<li>
<p>A UML foi atualizada para versão 2.2, incluindo correções de bugs da versão anterior.</p>
</li>
</ul>
</li>
<li>
<p>Junho 2015</p>
<ul>
<li>
<p>UML atualizada para versão 2.5, com simplificações e eliminação de features desatualizadas.</p>
</li>
</ul>
</li>
</ul>
<h3>O que um Diagrama UML representa?</h3>
<p><span style="font-weight: 400;">Os diversos diagramas representam duas visões distintas de um modelo de sistema:</span></p>
<ul>
<li style="font-weight: 400;"><b>Estática</b><span style="font-weight: 400;"> (estrutural) &#8211; estrutura estática por meio de objetos, operações, relações e atributos.</span></li>
<li style="font-weight: 400;"><b>Dinâmica</b> (comportamental) &#8211; comportamento dinâmico por meio de colaboração entre os objetos e mudanças de seus estados internos</li>
</ul>
<h3 id="quantos-diagramas-uml-existem">Quais são os diagramas UML?</h3>
<p id="categorias-diagramas-uml">Atualmente existem 14 diagramas UML, divididos em duas grandes categorias: diagramas Estruturais e diagramas Comportamentais, listados a seguir:</p>
<p id="lista-diagramas-uml"><strong>Diagramas Estruturais</strong></p>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">Classes</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Objetos</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Pacotes</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Componentes</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Implantação</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Estrutura Composta</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Perfil</span></li>
</ul>
<p><strong>Diagramas Comportamentais</strong></p>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">Caso de Uso</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Sequência</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Comunicação</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Máquina de Estados</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Atividade</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Visão Geral de Interação</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Temporização</span></li>
</ul>
<h3 id="uml-quem-usa">Quem se beneficia dos diagramas UML?</h3>
<p>Durante o processo de desenvolvimento de sistemas, várias categorias de profissionais podem se beneficiar do emprego de diagramas UML, destacando-se, entre outros, os seguintes stakeholders:</p>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">Proprietário do Produto</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Analista de Negócios</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Analista de Sistemas</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Operadores do Sistema</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Desenvolvedor / Programador</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Gerentes de Qualidade</span></li>
</ul>
<p>No próximo post vamos iniciar o estudo dos diagramas UML individuais.</p>
<h3>Referências</h3>
<ul>
<li><span style="font-weight: 400;">OMG: </span><a href="http://www.omg.org"><span style="font-weight: 400;">www.omg.org</span></a></li>
<li><span style="font-weight: 400;">Rational: </span><a href="https://www.ibm.com/software/uk/rational/"><span style="font-weight: 400;">https://www.ibm.com/software/uk/rational/</span></a></li>
<li><span style="font-weight: 400;">UML: </span><a href="http://www.uml.org"><span style="font-weight: 400;">http://www.uml.org</span></a></li>
<li><span style="font-weight: 400;">Booch; Rumbaugh; Jacobson; </span><strong><i>UML &#8211; Guia do Usuário</i></strong><span style="font-weight: 400;">, 2ª edição.</span></li>
</ul>
<p>Aproveite para assistir ao vídeo introdutório sobre UML da Bóson Treinamentos em Tecnologia no YouTube:</p>
<p style="text-align: center;"><iframe loading="lazy" src="https://www.youtube.com/embed/C3xYBT3o_5k" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/uml/o-que-e-uml-unified-modelling-language/">O que é UML &#8211; Unified Modelling Language</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/uml/o-que-e-uml-unified-modelling-language/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
