Commit 0bcac8cc37278cbbfbfc8827ab6983573dab3331

[pt_BR] Finished the A First Application chapter.

Commit diff

PortugueseBook/FirstApp/FirstApp.tex

 
637637Apesar do \foreign{fileout} ser uma forma conveniente de se extrair o código escrito por você, essa técnica é um tanto ``ultrapassada''.
638638Assim como a maioria dos projetos open-source acha mais conveniente manter seus códigos em um repositório \ind{CVS}\footnote{\url{www.nongnu.org/cvs}} ou \ind{Subversion}\footnote{\url{subversion.tigris.org}},
639639os programadores \squeak acham mais conveniente gerenciar seus códigos usando pacotes \ind{Monticello}.
640Esses pacotes são representados como arquivos cujos nomes terminam em \ct{.mcz}; na verdade eles são arquivos zip que contem o código completo do seu \ind{pacote}.
640Esses pacotes são representados como arquivos cujos nomes terminam em \ct{.mcz}; na verdade são arquivos zip que contem o código completo do seu \ind{pacote}.
641641
642642Usando o Monticello, você pode salvar pacotes a repositórios em diversos tipos de servidores, incluindo servidores FTP e HTTP; você também pode gravar os pacotes em um repositório situado no sistema de arquivos local.
643Uma cópia do seu pacote é sempre mantido no disco rígido, dentro do diretório \emph{package-cache}.
643Uma cópia do seu pacote é sempre mantida no disco rígido, dentro do diretório \emph{package-cache}.
644644O Monticello permite que você salve várias versões do seu programa, combine versões, volte para uma versão antiga e visualize as diferenças entre versões.
645645Na verdade, Monticello é um sistema de controle de versões distribuído; isso significa que os desenvolvedores podem salvar seus trabalhos em diferentes locais em vez de em um único repositório central, como é o caso do CVS ou Subversion.\damien{Mercurial, Git are examples of distributed revision control system; not sure it's worth mentioning them.}
646646\seeindex{package browser}{Monticello}
661661\label{fig:monticello1}}
662662\end{figure}
663663
664At the top of the list in the Monticello browser is a repository in a local directory called the \emphind{package cache}, which caches copies of the packages that you have loaded or published over the network. This local cache is really handy because it lets you keep your own local history; it also allows you to work in places where you do not have internet access, or where access is slow enough that you do not want to save to a remote repository very frequently.
664No topo dessa lista se encontra um repositório localizado no diretório local \emphind{package-cache}, que mantém cópias dos pacotes que você carregou ou publicou pela rede. Este \foreign{cache} local é muito útil porque permite que você mantenha seu próprio histórico local; ele também permite que você trabalhe em locais onde você não tenha acesso a internet, ou onde o acesso é lento o suficiente para fazer você não querer salvar pacotes em um repositório remoto com frequência.
665665
666666
667\subsection{Saving and loading code with Monticello.}
668On the left-hand side of the Monticello browser is a list of packages that have a version loaded into the image; packages that have been modified since they were loaded are marked with an asterisk. (These are sometimes referred to as \subind{package}{dirty} packages.) If you select a package, the list of repositories is restricted to just those repositories that contain a copy of the selected package.
669\seeindex{*}{package, dirty}
670\seeindex{dirty package}{package, dirty}
667\subsection{Salvando e carregando código com Monticello.}
668O painel da esquerda do \foreign{browser} é a lista de pacotes que possuem uma versão carregada na imagem; pacotes que foram modificados após terem sido carregados são marcados com um asterisco. (Este tipo de pacote é frequentemente chamado de pacote \subind{pacote}{sujo}.) Se você selecionar um pacote, a lista de repositórios é restringida somente aos repositórios que contém uma cópia do pacote selecionado.
669\seeindex{*}{sujo, pacote}
670\seeindex{pacote sujo}{sujo, pacote}
671671
672What is a package? For now, you can think of a package as a group of class and method categories that share the same prefix. Since we put all of the code for the Quinto game into the class category called \scat{SBE-Quinto}, we can refer to it as the \ct{SBE-Quinto} package.
672O que é um pacote? Por enquanto, você pode ver um pacote como sendo um grupo de categorias de classes e métodos que compartilham um mesmo prefixo. Uma vez que nós colocamos todo o código do jogo Quinto numa categoria de classe chamada \scat{SBE-Quinto}, nós podemos chamar este pacote de \ct{SBE-Quinto}.
673673
674\dothis{Add the \ct{SBE-Quinto} package to your Monticello browser using the \button{+Package} button and type \ct{SBE-Quinto}.}
674\dothis{Adicione o pacote \ct{SBE-Quinto} ao Monticello usando o botão \button{+Package} e digitando \ct{SBE-Quinto}.}
675675
676\subsection{\ind{SqueakSource}: a \ind{SourceForge} for \squeak.}
677We think that the best way to save your code and share it is to create an account for your project on a SqueakSource server.
678SqueakSource is like SourceForge\footnote{\url{www.sourceforge.net}}: it is a web front-end to a HTTP Monticello server that lets you manage your projects.
676\subsection{\ind{SqueakSource}: um \ind{SourceForge} para o \squeak.}
677Nós imaginamos que a melhor forma de salvar e compartilhar seu código é criar uma conta para seu projeto no servidor SqueakSource.
678SqueakSource é como um SourceForge\footnote{\url{www.sourceforge.net}}: uma interface web para um servidor HTTP Monticello que permite que você gerencie seus projetos.
679679%In addition, SqueakSource includes a wiki, remote code browsing, RSS feed, admin right and access right management,
680680% A number of {SqueakSource servers} around the Internet provide Monticello repositories and other facilities for development projects, including as a Wiki for documentation, remote code browsing, an RSS feed for update notification, and automatic publishing on SqueakMap.
681681\lr{- Automatic publishing on SqueakMap does not work reliable anymore (the SqueakMap API changed several times), so better remove this part (p. 53)}
682There is a public SqueakSource server at \url{http://www.squeaksource.com}, and a copy of the code related to this book is stored there at \url{http://www.squeaksource.com/SqueakByExample.html}. You can look at this project with a web browser, but it's a lot more productive to do so from inside \squeak, using the Monticello browser, which lets you manage your packages.
682Existe um servidor público SqueakSource em \url{http://www.squeaksource.com}, e uma cópia do código relacionado a este livro é armazenado neste servidor em \url{http://www.squeaksource.com/SqueakByExample.html}. Você pode olhar o projeto usando um navegador web, mas é muito mais produtivo fazer isso de dentro do \squeak, usando o Monticello, que o permite gerenciar seus pacotes.
683683
684\dothis{Open a web browser to \url{www.squeaksource.com}.
685Create an account for yourself and then create (\ie ``register'') a project for the Quinto game.}
686SqueakSource will show you the information that you should use when adding a repository using the Monticello browser.
684\dothis{Abra um navegador web e acesse o endereço \url{www.squeaksource.com}.
685Crie uma conta para você e então crie (\ie ``registre'') um projeto para o jogo Quinto.}
686O SqueakSource irá mostrar as informações que você precisa usar ao adicionar o repositório no Monticello.
687687
688Once your project has been created on SqueakSource, you have to tell your \squeak system to use it.
688Uma vez que o projeto foi criado no SqueakSouce, você precisa dizer ao \squeak para usá-lo.
689689
690\dothis{With the \ct{SBE-Quinto} package selected, click the \button{+Repository} button in the Monticello browser.} You will see a list of the different types of Repository that are available; to add a SqueakSource repository select \menu{HTTP}. You will be presented with a dialog in which you can provide the necessary information about the server.
691You should copy the presented template to identify your SqueakSource project, paste it into Monticello and supply your initials and password:
690\dothis{Com o pacote \ct{SBE-Quinto} selecionado, clique no botão \button{+Repository} no Monticello.} Você verá que existe uma lista com diferentes tipos de repositórios disponíveis; para adicionar um repositório SqueakSource selecione o menu \menu{HTTP}. Será mostrada uma caixa de diálogo para que você coloque as informações necessárias sobre o servidor.
691Você deve copiar o modelo que identifica seu projeto SqueakSource, e o colar no Monticello, fornecendo suas iniciais e sua senha:
692692
693693\needlines{5}
694694\begin{code}{}
695695MCHttpRepository
696 location: 'http://www.squeaksource.com/!\emph{YourProject}!'
697 user: '!\emph{yourInitials}!'
698 password: '!\emph{yourPassword}!'
696 location: 'http://www.squeaksource.com/!\emph{SeuProjeto}!'
697 user: '!\emph{suasIniciais}!'
698 password: '!\emph{suaSenha}!'
699699\end{code}
700700
701701\noindent
702If you provide empty initials and password strings, you can still load the project, but you will not be able to update it:
702Se você fornecer iniciais e senha vazias, você ainda pode carregar o projeto, mas não será capaz de atualizá-lo:
703703
704704\needlines{5}
705705\begin{code}{}
706706MCHttpRepository
707 location: 'http://www.squeaksource.com/!\emph{YourProject}!'
707 location: 'http://www.squeaksource.com/!\emph{SeuProjeto}!'
708708 user: ''
709709 password: ''
710710\end{code}
711711
712712%You can then load the code in your image by selecting the version you want. You can browse the code without loading it, using the \button{Browse} button.
713Once you have accepted this template, your new repository should be listed on the right-hand side of the Monticello browser.
713Uma vez que você confirmou este modelo, seu novo repositório deve ser listado no painel da direita do Monticello.
714714
715715\begin{figure}[hbt]
716716\ifluluelse
717717 {\centerline {\includegraphics[width=\textwidth]{BrowseRepository}}}
718718 {\centerline {\includegraphics[scale=0.7]{BrowseRepository}}}
719\caption{Browsing a Monticello Repository
719\caption{Navegando em um repositório Monticello
720720\label{fig:monticello3}}
721721\end{figure}
722722
723\dothis{Click on the \button{Save} button to save a first version of your Quinto game on SqueakSource.}
723\dothis{Clique no botão \button{Save} para salvar a primeira versão do seu jogo Quinto no SqueakSource.}
724724
725To load a package into your image, you must first select a particular version. You can do this in the repository browser, which you can open using the \button{Open} button or the yellow-button menu. Once you have selected a version, you can load it onto your image.
725Para carregar um pacote na sua imagem, você deve primeiro selecionar uma versão em particular. Você pode fazer isso no através do \foreign{repository browser}, que pode ser aberto clicando no botão \button{Open} ou através do menu do botão amarelo. Uma vez que você selecionou a versão, você pode carregá-la em sua imagem.
726726
727\dothis{Open the \ct{SBE-Quinto} repository you have just saved.}
727\dothis{Abra o repositório \ct{SBE-Quinto} que você acabou de salvar.}
728728
729Monticello has many more capabilities, which will be discussed in depth in \charef{env}.
730You can also look at the on-line documentation for Monticello at \url{http://www.wiresong.ca/Monticello/}.
729O Monticello possui vários outros recursos, que serão discutidos em detalhes no \charef{env}.
730Você também pode olhar a documentação on-line do Monticello em \url{http://www.wiresong.ca/Monticello/}.
731731
732732%=================================================================
733\section{Chapter summary}
734In this chapter you have seen how to create categories, classes and methods. You have see how to use the system browser, the inspector, the debugger and the Monticello browser.
733\section{Sumário do capítulo}
734Neste capítulo você viu como criar categorias, classes e métodos. Você viu como usar o \foreign{system browser}, o \foreign{inspector}, o \foreign{debugger} e o Monticello.
735735
736736\begin{itemize}
737 \item Categories are groups of related classes.
738 \item A new class is created by sending a message to its superclass.
739 \item Protocols are groups of related methods.
740 \item A new method is created or modified by editing its definition in the browser and then \emph{accepting} the changes.
741 \item The inspector offers a simple, general-purpose GUI for inspecting and interacting with arbitrary objects.
742 \item The system browser detects usage of undeclared methods and variables, and offers possible corrections.
743 \item The \ct{initialize} method is automatically executed after an object is created in \squeak. You can put any initialization code there.
744 \item The debugger provides a high-level GUI to inspect and modify the state of a running program.
745 \item You can share source code \emph{filing out} a category.
746 \item A better way to share code is to use Monticello to manage an external repository, for example defined as a SqueakSource project.
737 \item Categorias são grupos de classes relacionadas.
738 \item Uma nova classe é criada enviando uma mensagem a sua superclasse.
739 \item Protocolos são grupos de métodos relacionados.
740 \item Um novo método é criado ou modificado editando sua definição no \foreign{browser} e selecionado \menu{accept} para salvar as mudanças.
741 \item O \foreign{inspector} oferece uma interface gráfica simples e genérica para interagir e inspecionar objetos arbitrários.
742 \item O \foreign{system browser} detecta o uso de métodos e variáveis não declaradas e oferece possíveis correções.
743 \item O método \ct{initialize} é automaticamente executado depois que um objeto é criado no \squeak. Você pode colocar qualquer código de inicialização nele.
744 \item O \foreign{debugger} fornece uma interface gráfica de auto nível para inspecionar e modificar o estado de programas em execução.
745 \item Você pode compartilhar código fazendo o \emph{filing out} de uma categoria.
746 \item Uma forma melhor de compartilhar código é usar o Monticello para gerenciar um repositório externo, por exemplo definido como um projeto SqueakSource.
747747\end{itemize}
748748
749749%=================================================================
toggle raw diff