Skip to content

Commit

Permalink
Conversão do site para hugo v0.139.2.
Browse files Browse the repository at this point in the history
  • Loading branch information
marcopaganini committed Nov 24, 2024
1 parent d069572 commit bcd7691
Show file tree
Hide file tree
Showing 34 changed files with 164 additions and 125 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.59.1'
hugo-version: '0.139.2'

- name: Build scoreboard binary
run: pushd op-scoreboard && go build -v && popd
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/presubmit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.59.1'
hugo-version: '0.139.2'

- name: Build Site
run: hugo -v
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ Untitled.ipynb
*.orig
.vs
.idea
.hugo_build.lock
5 changes: 4 additions & 1 deletion config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ languageCode = "pt_BR"
defaultContentLanguage = "pt"

# Define the number of posts per page
paginate = 12
pagination.PagerSize = 12

# Render HTML in articles.
ignoreLogs = ['warning-goldmark-raw-html']

[menu]

Expand Down
4 changes: 2 additions & 2 deletions content/blog/c_pointers.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ categories = ["linguagens"]
banner = "img/banners/languages.webp"
+++

## Introdução

O uso de ponteiros em C é um dos aspectos mais poderosos e importantes da
linguagem, e ainda assim, um dos mais confusos para os iniciantes. O objetivo
deste documento é fornecer uma introdução básica ao funcionamento e uso de
ponteiros em C.

<!--more-->

Importante: Vários conceitos foram simplificados para ajudar a compreensão do
tópico principal, tais como a representação exata de números em memória,
gerenciamento de memória e outros.
Expand Down
2 changes: 2 additions & 0 deletions content/blog/campsber.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ banner = "img/banners/campsber.webp"

Olá pessoal, tudo bem? Meu nome é Bernardo e vou contar um pouco da minha jornada. Espero que sirva de inspiração para alguém, assim como as histórias que ouvi aqui no grupo me inspiraram.

<!--more-->

#### O início
Nasci no finalzinho da década de 80 em uma cidade chamada Patos de Minas. Com seus pouco mais de 100.000 habitantes e longe da capital, a internet era a única conexão com o “mundo lá fora”. Meu primeiro contato com computador, um modelo 486, foi por volta dos meus 7-8 anos de idade. Ele veio com alguns jogos instalados e a única forma de instalar outros jogos era através de um disquete de 1.44 MB.

Expand Down
6 changes: 3 additions & 3 deletions content/blog/como-perguntar.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ categories = ["artigos"]
banner = "img/banners/como-perguntar-banner.webp"
+++

## Não pergunte se pode perguntar, apenas pergunte

De vez em quando, em chats do Telegram, ou outros programas de chat, vemos alguém fazer uma pergunta assim:

>José: Alguém aqui entende de C#?
Expand All @@ -16,6 +14,8 @@ Esta não é uma uma boa pergunta, por diversos motivos. O que esta pessoa está

>José: Alguém aqui entende de C# e está disposto a se comprometer a responder uma dúvida minha que talvez nem esteja relacionada a C#?
<!--more-->

Há vários motivos pelos quais uma pessoa que **TENHA** o conhecimento para responder a sua dúvida **NÃO** iria se dispor a ajuda-lo. Ao fazer uma pergunta assim você está pedindo mais do que acha que está pedindo.

Você está pedindo pela atenção e compromentimento de alguém. Você está questionando a confiança que outras pessoas têm em suas próprias habilidades, alienando pessoas que talvez pudessem te ajudar. É algo bastante comum que um programador responda perguntas de linguagens e bibliotecas as quais ele nunca usou porque muitas dúvidas de iniciantes são (do ponto de programação) coisas de senso comum, mas ao perguntar se "alguém entende" sobre um tópico você acaba abrindo um leque de possibilidades muito grande, embora sua dúvida possa ser simples.
Expand All @@ -34,4 +34,4 @@ Se sua dúvida é sobre algum programa que você escreveu ou que está tentando

Uma outra boa leitura é este artigo no StackOverflow: [Como fazer uma boa pergunta?](https://pt.stackoverflow.com/help/how-to-ask)

Este texto foi adaptado a partir do texto [neste site](https://dontasktoask.com/).
Este texto foi adaptado a partir do texto [neste site](https://dontasktoask.com/).
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,23 @@ banner = "img/banners/Le_Penseur_in_the_Jardin_du_Musée_Rodin,_Paris_14_June_20
+++

Por vezes, algumas pessoas acabam encontrando dificuldades para iniciar na programação e encontram-se um pouco perdidas em meio à quantidade de recursos e opções disponíveis.
Aqui nos programadores, buscamos ajudar a todos da melhor forma possível.
Aqui nos programadores, buscamos ajudar a todos da melhor forma possível.

Sem sombra de dúvida, uma das perguntas mais comuns [no nosso grupo no telegram](https://t.me/osprogramadores) de quem está querendo iniciar é:
<!--more-->

Sem sombra de dúvida, uma das perguntas mais comuns [no nosso grupo no telegram](https://t.me/osprogramadores) de quem está querendo iniciar é:

> "**Por onde eu começo?**"
Comumente, direcionamos as pessoas aos artigos introdutórios como o [Olá Mundo]({{< ref "/blog/ola-mundo.md" >}} ) e na sequência, também encaminhamo-nas para o [desafio 01]({{< ref "/desafios/d01.md" >}}).

Estes artigos são ótimos para **quem já tem uma boa base**! Porém, **e se esse não for o seu caso**?
Estes artigos são ótimos para **quem já tem uma boa base**! Porém, **e se esse não for o seu caso**?

E se você tiver dificuldades em compreender o que é um **_sistema operacional_**?
O que é um **_computador_**? Como **_navegar entre diretórios_**? Não souber o que é um **_terminal_**?

> Será que eu realmente estou pronto para começar sem entender sobre essas coisas?
>
>
> **São muitos termos que não conheço! E agora, o que fazer?**
Pode parecer muito complexo a princípio, **mas você está pronto para poder começar mesmo que não saiba nada do que foi mencionado até agora!**
Expand All @@ -30,18 +32,18 @@ Todos nascemos sem saber nada e aos poucos aprendemos sobre o mundo à nossa vol
A vontade e persistência de entender as coisas, ter a iniciativa de ir atrás do conhecimento, é muito mais importante neste momento inicial! Serão estas características que lhe ajudarão
a prosseguir nessa jornada, **a curto e longo prazo**; porque a vida do programador é fundamentada por aprendizado constante, autoaprimoramento contínuo e compartilhar suas experiências!

O seu caminho inicial pode parecer ser um pouco mais longo, pois terá que aprender algumas coisas a mais.
O seu caminho inicial pode parecer ser um pouco mais longo, pois terá que aprender algumas coisas a mais.

Isto significa que, uma vez que tenha compreendido estes conceitos fundamentais,
**poderá prosseguir com confiança e tranquilidade**!
**poderá prosseguir com confiança e tranquilidade**!

**Estas coisas podem parecer bobas e simples a princípio, mas são diferenciais para você conseguir entender o que está fazendo e consolidar o seu progresso!**

___

# O Programador e o Computador

Ao programar você está, a grosso modo, instruindo o computador a realizar uma sequência de instruções da forma que você deseja.
Ao programar você está, a grosso modo, instruindo o computador a realizar uma sequência de instruções da forma que você deseja.

Ou seja, o código que você gerar é responsável por orientar o computador
em todos os três escopos:
Expand All @@ -51,11 +53,11 @@ em todos os três escopos:
* **Como fazer?**
* É o seu código que vai "mostrar" para o computador como algo deve ser feito.
* **O modo de fazer?**
* O computador não entende que algo pode ser feito de diversas maneiras, ele não tem essa capacidade. A capacidade dele é de seguir as instruções fornecidas!
* O computador não entende que algo pode ser feito de diversas maneiras, ele não tem essa capacidade. A capacidade dele é de seguir as instruções fornecidas!
* Assim, o porquê de algo ser feito de tal forma
é algo dependente do programador e não do computador.

Notavelmente, quanto maior o seu entendimento sobre o funcionamento de um computador, a tendência é que o seu código seja mais preciso e faça um melhor uso dos recursos dele!
Notavelmente, quanto maior o seu entendimento sobre o funcionamento de um computador, a tendência é que o seu código seja mais preciso e faça um melhor uso dos recursos dele!

## O que é um computador?
Para entender o que é um computador, recomendamos a [leitura deste artigo do IFBA](http://www.ifba.edu.br/professores/antoniocarlos/index_arquivos/resumodearquiteturadecomputadores.pdf). O artigo é de nível
Expand Down Expand Up @@ -86,7 +88,7 @@ ___

# O Terminal

>Agora seria bom você consolidar o entendimento sobre o que é um [terminal](https://pt.wikipedia.org/wiki/Terminal_(inform%C3%A1tica)).
>Agora seria bom você consolidar o entendimento sobre o que é um [terminal](https://pt.wikipedia.org/wiki/Terminal_(inform%C3%A1tica)).
Em nosso [artigo introdutório]({{< ref "/blog/ola-mundo.md" >}} ) e,
principalmente, no [desafio 01]({{< ref "/desafios/d01.md" >}}), você precisará usar um terminal para inserir os comandos necessários.
Expand All @@ -95,10 +97,10 @@ Os artigos são bem completos e possuem os comandos necessários para quase toda

Uma habilidade fundamental para um programador é **saber como navegar entre diretórios no terminal**. Isto é necessário para que você consiga navegar entre as diferentes pastas dos projetos sem dificuldades, otimizando
o tempo que você gasta para alterar os ambientes e trocar de projeto. Usuários mais avançados, podem combinar diversos comandos de terminal para localizar informações dentro do código de forma tão rápida que pode
parecer assustador a princípio!
parecer assustador a princípio!

> Os comandos para terminal são um mundo a parte, e apesar de parecerem desafiadores, eles estão ali para lhe auxiliar! Não tenha medo deles, eles são ferramentas feitas para otimizar o seu fluxo de trabalho.
>
>
> [Temos um vídeo introdutório ao terminal do linux disponível no YouTube.](https://www.youtube.com/watch?v=CFWttwWZSAQ)
## Navegação Básica no terminal
Expand All @@ -107,7 +109,7 @@ Para uma navegação básica no terminal você vai precisar utilizar os comandos

### Comando "ls"
O commando `ls` listará os arquivos e os diretórios disponíveis dentro do seu diretório atual.
Ele é útil para você saber o que está disponível para você acessar.
Ele é útil para você saber o que está disponível para você acessar.

Um exemplo de uso do comando seria na seguinte situação:

Expand All @@ -118,13 +120,13 @@ Você pode simplesmente digitar o comando e então ele deverá exibir todos os a
Ao digitar `ls` dentro do diretório `documentos` ele deverá exibir o diretório `codigo`, além dos arquivos que por ventura você tenha ali.

### Comando "cd"
O comando `cd` é utilizado para você alterar o diretório atual. O exemplo abaixo alteraria o diretório atual de `documentos` para `codigo`.
O comando `cd` é utilizado para você alterar o diretório atual. O exemplo abaixo alteraria o diretório atual de `documentos` para `codigo`.
```shell
cd codigo
```

Você pode utilizar o comando `cd` de duas formas:
1. Passando como parâmetro um diretório disponível dentro do diretório atual, como no exemplo anterior;
1. Passando como parâmetro um diretório disponível dentro do diretório atual, como no exemplo anterior;
2. Passando um caminho completo, desde o diretório raiz até o caminho desejado.

Exemplo da outra forma de usar o comando `cd`:
Expand All @@ -138,11 +140,11 @@ Neste exemplo, o seu diretório de trabalho após utilizar o comando deverá ser
## Criando Novos Diretórios

Para criar novos diretórios dentro do terminal você pode usar o comando `MKDIR`. Este comando funciona de maneira análoga ao comando `cd`,
Para criar novos diretórios dentro do terminal você pode usar o comando `MKDIR`. Este comando funciona de maneira análoga ao comando `cd`,
no sentido que você pode passar tanto um caminho completo, como não.

Vamos seguir com o nosso exemplo e criar um diretório chamado `codigo` dentro do diretório `Documentos`. Para fazer isso você deve realizar as seguintes verificações:
1. Conferir se o seu diretório atual é o diretório `Documentos`.
1. Conferir se o seu diretório atual é o diretório `Documentos`.
1. Você aprendeu a navegar entre os diretórios na sessão anterior.
2. Caso não seja, navegar até o diretório `Documentos`.
3. Uma vez que esteja no diretório adequado, executar o comando a seguir para criar um diretório chamado `codigo` dentro do diretório atual.
Expand All @@ -162,9 +164,9 @@ Eventualmente você pode precisar remover arquivos e/ou diretórios. Nessas ocas
O comando `RM` é mais focado para arquivos, mas também pode ser utilizado para diretórios se você adicionar o parâmetro apropriado para isso. Já o comando `RMDIR` é **exclusivo** para diretórios.

Dando continuidade ao nosso exemplo, vamos assumir que você possui um arquivo chamado `apagar.txt` em seu diretório atual. Para confirmar a existência deste arquivo, utilize o comando `ls` e confira se ele
aparecerá na saída do comando.
aparecerá na saída do comando.

> Caso ele não seja exibido, crie um arquivo com o nome `apagar.txt` e o salve em seu diretório atual. Após criar o arquivo, execute novamente o comando `ls` para confirmar a existência do arquivo.
> Caso ele não seja exibido, crie um arquivo com o nome `apagar.txt` e o salve em seu diretório atual. Após criar o arquivo, execute novamente o comando `ls` para confirmar a existência do arquivo.
Uma vez que você confirmou a existência do arquivo, você pode executar o seguinte comando para removê-lo:

Expand All @@ -188,7 +190,7 @@ Uma vez que você tenha confirmado a existência do diretório, **como nós acab
```shell
rmdir me-apague
```
> Pode ser que apareça uma tela de confirmação, perguntando se você realmente deseja remover o diretório, similar ao que aconteceu com o comando `rm`.
> Pode ser que apareça uma tela de confirmação, perguntando se você realmente deseja remover o diretório, similar ao que aconteceu com o comando `rm`.
Novamente, valide o resultado da sua operação executando o comando `ls` para confirmar que o diretório `me-apague` não existe mais.

Expand All @@ -205,7 +207,7 @@ Nesta ocasião, você poderá combinar estes comandos que aprendeu neste artigo

# Conclusão

Esperamos que agora você esteja melhor preparado para iniciar a sua jornada no mundo da programação!
Esperamos que agora você esteja melhor preparado para iniciar a sua jornada no mundo da programação!

Relembrando, neste artigo, abordamos os seguintes tópicos:

Expand Down
8 changes: 4 additions & 4 deletions content/blog/conectando-replit-ao-github.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
+++
title = "Como Conectar Replit ao GitHub"
title = "Como Conectar o Replit ao GitHub"
date = "2023-09-19T07:20:00-00:00"
tags = ["replit", "github"]
categories = ["artigos"]
banner = "img/banners/replitGit.jpg"
+++

# Como Conectar seu Projeto do Replit à sua Conta no GitHub

Conectar seu projeto no Replit à sua conta no GitHub por meio de uma chave SSH é uma maneira eficiente de gerenciar seus repositórios remotamente. Com esta configuração, você poderá realizar commits e push de código para seus repositórios GitHub diretamente do Replit. Neste tutorial, vamos orientá-lo passo a passo sobre como realizar essa configuração.

<!--more-->

1. Primeiro, acesse o [site do Replit](https://replit.com/~).

2. No Replit, clique no botão "+ Create Repl" para criar um novo projeto.
Expand Down Expand Up @@ -60,4 +60,4 @@ Copie a chave SSH pública gerada, pois você a usará no próximo passo.
- Dê um nome descritivo à chave no campo "Title".
- Clique em "Add SSH key".

Pronto! Sua chave SSH agora está configurada e vinculada à sua conta no GitHub. Você pode usar essa configuração para fazer push e pull de código de forma segura entre o Replit e o GitHub.
Pronto! Sua chave SSH agora está configurada e vinculada à sua conta no GitHub. Você pode usar essa configuração para fazer push e pull de código de forma segura entre o Replit e o GitHub.
4 changes: 3 additions & 1 deletion content/blog/contrib-odin.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ banner = "img/banners/lucas.webp"

Meu nome é [Lucas Cegielkowski Guimarães](https://github.com/cegielkowski) e vou contar para vocês um pouco da minha história nestes mais de 3 anos que participo do grupo [OsProgramadores](https://t.me/osprogramadores).

<!--more-->

Eu comecei no mundo do desenvolvimento em 2017. Eu estava no segundo ano da faculdade, aprendendo [C](https://pt.wikipedia.org/wiki/C_(linguagem_de_programa%C3%A7%C3%A3o)), e querendo um estágio na área. Naquela época eu estagiava como técnico de informática, focado na parte de infraestrutura, e vi que não era o que eu gostaria de fazer para sempre.

Comecei então a estudar sobre desenvolvimento para conseguir um estagio na area e, como todo bom estudante, estava totalmente perdido. Foi nessa época que comecei a utilizar o [Telegram](https://telegram.org/) e a procurar por grupos de programação e acabei encontrando o [grupo OsProgramadores](https://t.me/osprogramadores).
Expand Down Expand Up @@ -41,4 +43,4 @@ O que você está esperando para começar a fazer os [desafios do grupo do OsPro

Quer saber mais sobre mim? Confira o [meu GitHub](https://github.com/cegielkowski).

Lucas Cegielkowski Guimarães
Lucas Cegielkowski Guimarães
2 changes: 2 additions & 0 deletions content/blog/doacao-computador.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ banner = "img/banners/girl-using-computer.webp"

Nos últimos três anos, o Grupo OsProgramadores tem desempenhado um papel significativo ao fornecer acesso à tecnologia para aqueles que de outra forma não teriam condições de adquirir um computador. Por meio de doações generosas, o grupo já distribuiu mais de 70 computadores usados para pessoas em todo o Brasil. Essa iniciativa tem como objetivo principal ajudar indivíduos a ingressarem no mundo da programação, abrindo portas para oportunidades educacionais e profissionais.

<!--more-->

As doações de computadores do Grupo OsProgramadores têm alcançado pessoas em todo o país, desde o Acre até o Rio Grande do Sul. Esses computadores têm sido uma ferramenta essencial para muitos que aspiram aprender a programar, mas enfrentam barreiras financeiras para adquirir equipamentos adequados.

Um dos aspectos mais gratificantes dessa iniciativa é o impacto tangível que ela tem na vida das pessoas. Muitos beneficiários das doações relataram como esses computadores os ajudaram a dar os primeiros passos no aprendizado da programação. Além disso, há relatos emocionantes de pessoas que conseguiram empregos graças às habilidades de programação que adquiriram utilizando esses computadores.
Expand Down
6 changes: 3 additions & 3 deletions content/blog/estrutura-bubblesort.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
+++
date = "2017-08-24T23:34:06-03:00"
title = "Ordenação bubble sort"
title = "Algoritmo de ordenação: bubble sort"
categories = ["ordenação","algoritmo"]
tags = ["bubblesort"]
banner = "img/banners/bubbles.webp"

+++

## Algoritmo de ordenação: _bubble sort_[^fa]

Os dados de um programa podem ser armazenados na memória, porém para que passem a ser considerados informação e ter sentido, muitas vezes é necessário ordená-los. Existem várias formas de ordenar os dados, algumas são mais eficientes do que outras, porém as mais eficientes também podem ser as mais complexas de implementar.

Neste artigo vamos aprender um dos mecanismos de ordenação mais simples para quem está estudando estruturas de dados. O _bubble sort_ é um dos algoritmos menos eficientes, contudo mais fáceis de implementar. O termo _bubble_ advém da forma como o vetor é ordenado, como bolhas[^f1] que vão buscando seu lugar emergindo na ordenação desejada do vetor.

<!--more-->

## Demonstração

Considere um algoritmo de vetor em _c++_ com "_n_" elementos:
Expand Down
18 changes: 12 additions & 6 deletions content/blog/estruturas-dados-pilha.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
+++
categories = ["algoritmo"]
date = "2017-09-10T19:42:00-03:00"
tags = ["osprogramadores", "estruturas de dados", "Stack", "Pilhas"]
title = "Estrutura de dados: pilha"
banner = "img/banners/pilha-pratos.jpg"
categories = ["algoritmo"]
date = "2017-09-10T19:42:00-03:00"
tags = ["osprogramadores", "estruturas de dados", "Stack", "Pilhas"]
title = "Estrutura de dados: pilha"
banner = "img/banners/pilha-pratos.jpg"
+++

## Estruturas de dados: Pilha

Pilha é uma estrutura de dados muito comum em sistemas computacionais. Dentre as várias soluções possíveis que a pilha permite podemos citar:
Pilha é uma estrutura de dados muito comum em sistemas computacionais. Nesse
artigo introduziremos o conceito de pilha e as várias soluções possíveis que
esta estrutura permite.

<!--more-->

Como exemplos, podemos citar:

- Inversão de listas
- Armazenar dados
Expand Down
Loading

0 comments on commit bcd7691

Please sign in to comment.