Uma tentativa de controlar o tempo: Projeto e implementação de um sistema auto-rolante baseado em Flask

Repositório de código-fonte Gitee : Forte: um sistema auto-rolável (gitee.com)

Há muito que sofro com o facto de o meu tempo ser como um cavalo selvagem, difícil de controlar e incapaz de me dedicar às coisas que penso querer fazer. A autodisciplina pura não é realmente confiável.Espero usar algumas forças externas para me ajudar a sair do atoleiro, então fiz este experimento.

Ainda é relativamente rudimentar devido a questões como nível técnico e custo de tempo. A partir de hoje, sou o único usuário.

O repositório contém algumas breves instruções sobre como executar o projeto. Além disso, estou ansioso para que alguém ofereça algumas idéias, críticas ou sugestões para este projeto.

1. Histórico do projeto

Se você quiser progredir rapidamente, você deve

  1. no caminho certo
  2. no caminho certo
  3. invista tempo suficiente

Este projeto está atualmente focado no ponto 3, que é: investir tempo suficiente .

O gerenciamento do tempo é uma ciência complexa. Como administrar seu tempo para se dedicar integralmente aos estudos? É fácil pensar: faça um plano, execute o plano . Entre eles, “fazer um plano” é tão fácil quanto pensar nisso, mas “executar o plano” é como um atoleiro, um abismo ou um abismo natural. Não sei quantas pessoas caíram aqui.

Portanto, este projeto foca neste último, a saber: execução .

Por que os planos permanecem conforme planejado e por que as execuções sempre falham? Porque não gosto muito de aprender, ou pelo menos não gosto muito do processo de aprendizagem . Anseio por conhecimento e um futuro melhor e anseio por isso. Ao mesmo tempo, o processo de aprendizagem muitas vezes me faz sentir um pouco chato, chato e até doloroso. Como o livro em si é enfadonho, o código também é enfadonho.

Acredito que quem gosta de escrever código nunca gosta do código em si, mas de algo por trás dele. É a sensação de realização que isso traz, de que posso construir algo útil ou interessante com minhas próprias mãos; ou são os benefícios que isso traz? Posso conseguir um emprego bem remunerado com isso. O que eles têm em comum é que esse tipo de benefício é de longo prazo , é difícil para mim aproveitar a alegria da colheita em alguns segundos, minutos ou horas no momento em que digito no teclado e vejo os personagens pulando na tela . O que é irritante é que essa alegria muitas vezes fica escondida no tempo, depois de dias, meses ou até anos de muito trabalho e paciência.

Quando meus olhos se concentram no momento presente e começo a pensar se estou estudando ou brincando agora, qual é o meu humor? É uma contradição . A alegria de brincar e o tédio de aprender formam um forte contraste em meu coração neste momento. Os benefícios do aprendizado estão escondidos à distância, mas a alegria de brincar está ao seu alcance. Como você escolhe? Além disso, sou uma pessoa divertida.

Não faltam pessoas que perseveram até o fim, ele enfrenta dias entediantes e enfadonhos dia e noite, mas não vai se livrar do tédio porque o fogo do futuro ainda brilha em seus olhos. Ser capaz de adiar a gratificação é uma habilidade invejável.

No entanto, este projeto centra-se noutra direção: aumentar a gratificação instantânea .

A actual contradição entre aprender e brincar é como uma balança, por isso deixem-me acrescentar mais peso ao lado da aprendizagem - em vez de pensar sempre em pressioná-la com as mãos. Hmm... vamos pensar bem, de onde vem esse peso? Você também pode registrar seu processo de aprendizado diário e coletar cada gota de suor . Mantenhamos uma crença simples em nossos corações: aprender faz as pessoas progredirem . Estudar meia hora não vai me deixar feliz, mas “estudei mais meia hora” sim.

Tento trazer à frente dos meus olhos o progresso que só pode ser visto após muito trabalho ao longo do tempo e transformá-lo em “progresso visível”. Depois de apenas meia hora de estudo, eu sabia que tinha feito progressos e, assim, obtive a alegria que esperava - e mesmo que o progresso não seja visível, não há problema em "Acho que dei mais um passo em frente" porque o meu os esforços são óbvios. Está ali parado em vão. Dessa forma, os objetivos de longo e curto prazo podem ser unificados , em vez de entrar sempre em conflitos e complicações.

Neste ponto, gostaria de chamá-la de “ a arte de desenhar bolos para saciar a fome ”. Porém, é diferente dos bolos pintados puros, porque num dia previsível, vou realmente receber aquela pilha de bolos na mão.

Baseando-me no feedback positivo oportuno e na criação de um sentimento de realização, espero que a aprendizagem possa passar da compulsão interior à iniciativa e até mesmo tornar-se um desejo.

Os itens acima são os requisitos básicos da tarefa deste projeto. Obviamente, é difícil acertar desde a procura até à implementação num só passo, porque a procura é relativamente abstracta. Este projeto deve acumular experiência na prática, iterar com flexibilidade e ser continuamente melhorado.

2. Realização de função

Pilha de tecnologia : Bootstrap + Flask + MySQL.

Bootstrap é uma estrutura front-end simples e fácil de usar que pode usar componentes prontos para implementar rapidamente alguns estilos simples e bonitos.

Flask é uma estrutura de back-end Python leve. O front-end e o back-end adotam uma arquitetura não separada. É mais conveniente para pequenos sites desenvolverem e tem baixos custos de aprendizado. Você pode começar a construir uma estrutura simples com mais rapidez e em seguida, construa-o em pequenos passos. Melhoria contínua por meio de iteração.

2.1 Função principal: módulo de tarefas

Este programa é, em sua essência, apenas uma ferramenta de gravação. No módulo de tarefas, você pode criar uma nova tarefa, enviá-la após concluí-la e registrar como foi feita e quanto tempo demorou.

Portanto, o módulo de tarefas contém duas listas: a lista de tarefas pendentes e a lista de tarefas concluídas.

Insira a descrição da imagem aqui
Figura 1: página da lista de tarefas

2.2 Função Soul: exibição de dados

Muitas vezes é fácil para as pessoas ficarem ocupadas o dia todo sem saber com o que estão ocupadas. No entanto, simplesmente fornecer uma lista de tarefas após a gravação não é suficiente para aliviar esse problema. Normalmente, você só olha os fragmentos dos últimos dias - em uma escala de tempo maior, você pode ver a tendência . Esta é também uma necessidade psicológica, se percebermos que o nosso estado de aprendizagem foi bom no período passado e está melhorando. Então temos motivos para acreditar que continuará a melhorar no futuro. Portanto, tenho mais motivação e realmente continuo melhorando - deixe a tendência me levar adiante.

Para tanto, implementei uma página simples de estatística e visualização de dados para comparar e exibir o tempo total de aprendizagem deste mês com o mês anterior, a fim de obter o efeito de autoteste (autotranscendência).

Insira a descrição da imagem aqui
Figura 2: Página de estatísticas do tempo de aprendizagem

2.3 Para onde vai o tempo: módulo Bookshelf

O gráfico de linhas acima mostra apenas uma tendência geral. Às vezes, ainda queremos ver mais detalhes de uma forma mais intuitiva* (em vez de ficarmos sobrecarregados com os detalhes)* para que possamos ajustar nosso status ou direção de aprendizado em tempo hábil .

Para isso, projetamos e implementamos um módulo de estante que pode criar livros, contar e exibir o progresso da leitura e o tempo gasto em cada livro por meio de correspondência de palavras e informações de envio em tarefas de encadernação. Depois disso, os dados da página da estante serão atualizados sempre que uma tarefa relacionada for enviada.

Insira a descrição da imagem aqui
Figura 3: página da estante

2.4 Funções auxiliares: módulo de login

Para um site acessível a múltiplos usuários, se cada usuário precisa armazenar seus próprios dados, então o módulo de login é essencial!

Insira a descrição da imagem aqui
Figura 4: Página de login e registro

Fornecemos uma função simples de edição de informações na página de informações pessoais. E com base nas informações da tarefa enviada, o valor e o nível da experiência de aprendizagem atual são contados. O nível é calculado usando uma sequência aritmética , começando em 1. Se você não avançar 1 nível, a experiência necessária para avançar para o próximo nível será aumentada em 1. De acordo com o algoritmo de Gauss, são necessários 1 + 2 + 3 +... + 200 = 200200 para atingir o nível 200 1+2+3+...+200=2002001+2+3+...+200=200200 , supondo que o tempo médio de aprendizagem para uma tarefa seja de 30 minutos, então o tempo total de aprendizagem no nível 200 é de cerca de10.000 horas.

Se você conseguir persistir até aquele dia, se você tem pensado em melhorar os métodos enquanto estuda hoje em dia, em vez de apenas gastar tempo, você tem motivos para acreditar que o poder do tempo o levará ao topo da montanha.

Insira a descrição da imagem aqui
Figura 5: Página de informações pessoais

3. O próximo passo

1. Suporte para terminal móvel

Atualmente, este site é desenvolvido principalmente para navegadores de computador, porque estamos mais familiarizados com as tecnologias relacionadas e queremos começar mais rápido. Porém, o que é indiscutível é que os aplicativos móveis são muito mais convenientes do que abrir um computador para acessar sites.

Neste momento, uma arquitetura de separação de front-end e back-end pode ser adotada , e um conjunto de APIs de back-end pode suportar o uso de front-end em várias plataformas.

2. Funções ricas

Agendamento de tarefas : Às vezes há muitas coisas para fazer, como você decide o que fazer a seguir? Será um fardo para nós gastarmos nossos cérebros pensando sobre esse assunto todas as vezes antes de fazer algo. Sabemos que o sistema operacional possui um algoritmo de escalonamento de processos. Também podemos projetar um algoritmo de agendamento para a realização dessas tarefas e fornecer uma ordem recomendada de execução das tarefas com base em fatores como prazo, tempo de espera, importância, etc., para reduzir a carga psicológica sobre essa parte de nós. Ao mesmo tempo, lembretes podem ser enviados por e-mail ou outros métodos para tarefas que estão prestes a vencer .

Exibição e mineração de dados : Atualmente, nossa página de exibição de dados possui apenas um gráfico de linhas. Depois, você também pode adicionar a visualização da utilização em vários períodos do dia, etc., para aprofundar seus hábitos com mais detalhes.

······

Sempre esperei que os programas que escrevo se tornassem uma condensação de pensamentos e ideias, em vez de apenas uma pilha de código. Ajudará com alguns problemas específicos, embora pequenos, da vida.


Acho que você gosta

Origin blog.csdn.net/m0_63238256/article/details/135120158
Recomendado
Clasificación