Skip to content

Start Concurrent: An Introduction to Problem Solving in Java with a Focus on Concurrency, by Barry Wittman, Tim Korb, and Aditya Mathur.

License

Notifications You must be signed in to change notification settings

maykonchagas/start-concurrent.github.io

 
 

Repository files navigation

README

Este repositório contém o código fonte do livro Start Concurrent: A Gentle Introduction to Concurrent Programming, essa é uma tradução livre, autorizada pelos autores @bwittman e @jtkorb, como segue na issue #145. Este livro está licenciado sob Apache License 2.0.

Softwares necessários

Básico

  1. Git (e uma conta no GitHub para acessar repositório Start Concurrent)

  2. Ruby

  3. Asciidoctor

  4. Asciidoctor-Mathematical (note special instructions below for installing Mathematical on MacOS Mojave)

Pacotes para dividir o livro em um arquivo por Capítulo

  1. Asciidoctor Chunker (para converter para pedaços HTML)

  2. Roswell (necessário para Asciidoctor Chunker)

MacOS: Instalando o Mathematical (e o Asciidoctor-Mathematical) no Mojave (10.14.x)

  1. Corrija o local do arquivo de cabeçalho do MacOS executando este comando em uma janela de terminal: open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg.

  2. Adicione o caminho do pacote Homebrew a PKG_CONFIG_PATH (por exemplo, em .bash_profile): export PKG_CONFIG_PATH=“/usr/local/lib/pkgconfig”

Essas instruções são altamente dependentes da situação. Consulte Brew Install on Mojave para obter sugestões adicionais.

Editando as ilustrações

A maioria (todas?) das “figuras” no livro são feitas com o Adobe Illustrator e salvas em formato PDF, e estão localizadas na pasta figures de cada capítulo em que aparecem. Para cada arquivo PDF, há um arquivo SVG correspondente localizado na pasta images. O arquivo SVG é o que é importado pelo arquivo AsciiDoc.

Para criar uma nova figura ou editar uma já existente…​

  1. Crie ou edite o arquivo do Illustrator no subdiretório de figuras.

  2. Salvar as alterações usando o formato padrão (PDF).

  3. Converter temporariamente todo o texto em contornos:

    1. Select > Select All

    2. Type > Create Outlines

  4. Em seguida, Save a Copy As…​, usando o formato SVG e desmarcando a opção “Preserve Illustrator Editing Capability”, para criar um arquivo .SVG no subdiretório images.

Observação: não salve a versão de texto delineada de volta no arquivo PDF original!

Gerando o arquivo HTML

$ ruby update-html.rb

Observação: o plug-in Asciidoctor Rouge é necessário para realçar a sintaxe.

Gerando um arquivo HTML por capítulo

  1. Instale Asciidoctor Chunker, incluindo Roswell.

  2. Crie a versão HTML completa do livro:
    ruby update-html.rb

  3. Converter usando o Asciidoctor Chunker (com ascidoctor-chunker.ros em seu caminho):
    $ asciidoctor-chunker.ros full/index.html -o chunked

Um script UNIX para atualizar as versões completa e em pedaços do HTML está localizado no diretório raiz (update-html).

Geração do PDF

  1. Instale a gema Asciidoctor PDF.

  2. Execute o Asciidoctor PDF para fazer a conversão:
    $ (cd full; asciidoctor-pdf index.adoc -D ../pdf)

Solução alternativa especial para tabelas

Há um bug no código prawn-table usado pelo Asciidoctor-PDF ao formatar determinadas tabelas. Há uma discussão e uma correção (até agora incompleta) aqui.

Etapas para corrigir o problema (simplificado para não usar um Gemfile):

  1. Baixe o código mais recente do prawn-table em um repositório separado.

  2. Compilar e instalar.

    1. gem build prawn-table.gemspec

    2. gem install prawn-table-0.2.3.gem

Essas etapas não corrigem todas as tabelas. Especificamente, nem todas as tabelas com largura automática funcionarão. Conselho do Asciidoctor authority é usar as proporções das colunas e a largura da tabela.

Geração de formatos de E-Book

ATENÇÃO: Em progresso.

  1. Atualizar fontes de livros para que estejam de acordo com o formato exigido. (Uma vez; em andamento.)

  2. Instalar o AsciiDoctor EPUB3 gem.

  3. Execute o Asciidoctor EPUB3 para fazer a conversão:
    $ (cd full; asciidoctor-epub3 index.adoc -D ../epub3)

  4. Etapas adicionais (TBD) convertem o documento para o formato Kindle (KF8/MOBI).

Outras gemas necessárias (aparentemente):

About

Start Concurrent: An Introduction to Problem Solving in Java with a Focus on Concurrency, by Barry Wittman, Tim Korb, and Aditya Mathur.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 96.4%
  • Java 2.8%
  • Other 0.8%