Pull to refresh
4
0.1
Send message

Project модель не только хранит данные о проектах, но также имеет методы для управления статусом проекта is_active, close_project, extend_project. Это оч. распространенная проблема.

А дальше альтернатива вообще не про Project. Логично было бы показать именно на примере Project как разделить его логику и почему это стало удобнее.

Вместо этого показан какой-то Task в вакууме)

Так может товар ваш настолько хорош, что все забивают на неудобства в документации :) Или просто за 20+ лет привыкли)

Одно на другое может и не влияет никак в коммерческом смысле, но это не значит, что нельзя делать лучше)

Количество лет вообще ни на что не влияет, если нет обратной связи или вы эту обратную связь игнорируете)

Я лично пока что ощущаю, что Apple просто завалили весь интернет рекламой, чтобы создать ощущение, что всем хочется VR.

По моим ощущениям, всем как было насрать, так и остаётся)

Ничего страшного) Ну, потеряется какая-то часть, не велика потеря. Большинство из того, что актуально, гуглится, а всё что "мхом поросло", обычно и не очень ценно спустя 5-10 лет)

Мне, как разработчику изделия, виднее, какие факты о нём изложить предложениями, а какие свести в таблицу характеристик

Я не понимаю цепочки рассуждений, стоящих за этим утверждением. Это какая-то бессмыслица.

Продукты (изделия, текст, etc) надо делать так, чтобы её понимал потребитель, а не производитель. Поэтому делать документацию надо не так, как подсказывают вам ваши личные эстетические ощущения, а так, как будет удобнее потребителю документации, т.е. мне))

А то представьте, например

Несмотря на то, что вёрстка ваша поехала, смысл я понял. И да - это просто крекрасный формат был бы.

Справедливости ради, я попросил сделать игру в которой можно "грабить корованы" и он мне сгенерировал примитивный акраноид. И как бы я ни пытался его заставить сделать что-то более умное, не прибегая к "девелоперским описаниям" (т.е. не зная ничего про анимации, ресурсы, векторную графику и проч) - он генерирует полный бред.

Штош :) Я попросил GPT-4

Запрос

Описание игры.

Есть прямоугольно поле поделенное на квадратные клетки одинакового размера. Двигаться по полю можно только по клеткам. Диагональные перемещения запрещены.

Все объекты на поле занимают одну или несколько клеток. На старте игры на поле находится "линия" состоящая из двух клеток и "яйцо" состоящее из одной клетки.

Как только игра стартует "линия" начинает движение в случайном направлении по полю. Когда игрок жмёт стрелку на клавиатуре линия поворачивает под углом 90 градусов, но не сразу, а клетка-за клеткой.

При столкновении "линии" и "яйца", "яйцо" исчезает, а "линия" увеличивается на одну клетку. После чего "яйцо" появляется в случайной свободной клетке на поле.

Если линия при повороте натыкается на саму себя - игра завершается. Задача игрока собрать как можно больше "яиц" до того, как линия столкнётся сама с собой.

Напиши эту игру на python. Можешь использовать любую графическую библиотеку.

Сгенерированный код
import pygame
import random
import sys

# Инициализация Pygame
pygame.init()

# Определение размеров экрана и клеток
cell_size = 20
num_cells = 30
screen_size = cell_size * num_cells
screen = pygame.display.set_mode((screen_size, screen_size))

# Определение цветов
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
green = (0, 255, 0)

# Начальные настройки
line_direction = random.choice(['UP', 'DOWN', 'LEFT', 'RIGHT'])
line = [(num_cells // 2, num_cells // 2), ((num_cells // 2) + 1, num_cells // 2)]
egg = (random.randint(0, num_cells-1), random.randint(0, num_cells-1))

# Функция для отрисовки сетки
def draw_grid():
    for x in range(0, screen_size, cell_size):
        for y in range(0, screen_size, cell_size):
            rect = pygame.Rect(x, y, cell_size, cell_size)
            pygame.draw.rect(screen, white, rect, 1)

# Функция для отрисовки линии и яйца
def draw_objects():
    for segment in line:
        rect = pygame.Rect(segment[0] * cell_size, segment[1] * cell_size, cell_size, cell_size)
        pygame.draw.rect(screen, green, rect)
    rect = pygame.Rect(egg[0] * cell_size, egg[1] * cell_size, cell_size, cell_size)
    pygame.draw.rect(screen, red, rect)

# Обновление позиции линии
def update_line():
    global line, egg, line_direction
    head_x, head_y = line[0]
    if line_direction == 'UP':
        new_head = (head_x, head_y - 1)
    elif line_direction == 'DOWN':
        new_head = (head_x, head_y + 1)
    elif line_direction == 'LEFT':
        new_head = (head_x - 1, head_y)
    elif line_direction == 'RIGHT':
        new_head = (head_x + 1, head_y)
    
    if new_head in line or new_head[0] < 0 or new_head[1] < 0 or new_head[0] >= num_cells or new_head[1] >= num_cells:
        pygame.quit()
        sys.exit()

    line.insert(0, new_head)

    if new_head == egg:
        egg = (random.randint(0, num_cells-1), random.randint(0, num_cells-1))
        while egg in line:
            egg = (random.randint(0, num_cells-1), random.randint(0, num_cells-1))
    else:
        line.pop()

# Основной цикл игры
clock = pygame.time.Clock()
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_UP and line_direction != 'DOWN':
                line_direction = 'UP'
            elif event.key == pygame.K_DOWN and line_direction != 'UP':
                line_direction = 'DOWN'
            elif event.key == pygame.K_LEFT and line_direction != 'RIGHT':
                line_direction = 'LEFT'
            elif event.key == pygame.K_RIGHT and line_direction != 'LEFT':
                line_direction = 'RIGHT'

    update_line()

    screen.fill(black)
    draw_grid()
    draw_objects()

    pygame.display.flip()
    clock.tick(10) # Устанавливаем скорость игры

Результат

Игра завершается при столкновении с краем экрана ну выглядит немного страшненько. поэтому я попросил улучшить игру:

Запрос

Сделай так, чтобы при столкновении с краем экрана "линия" проходила "сквозь", т.е. пространство было как бы зациклено.

Да, и можно сделать графику чуть покрасивше.

Результат

Но да, когда я спросил у ChatGPT знает ли он что это за игра, он честно ответил, что я ему описал змейку он змейку и сгенерировал.

Оч просто: поговорить с ним, спросить чем он руководствуется при размышлениях. Как нейронная сеть принимает решение неизвестно никому)

Астанавитесь!

Для такой информации уже давно придумали таблицы, хватит писать предложения.

Уже реально бесит)

Чёт я вот вообще пока не заморочился и просто пользуюсь в лучшем случае закладками в браузере) В остальном, полагаюсь на память и гугл)

Может пора задуматься о систематизации всего) Но лениво)

Выберет ваш товар, если он покупал его раньше)) В остальных случаях мне кажется если выбор стоит из двух noname производителей, я обычно выбираю того, у кого наиболее минималистично-оформленная упаковка)) Пачка пельменей с большой надписью "ПЕЛЬМЕНИ, кат. Б" на белом фоне по опыту оказывается лучше, чем пачка пельменей "Deluxe Premium Pelmeny Quality Edition".

Так можно и пельмени сразу пожарить на сковородке, безо всякой варки)

Замените слово "психотерапия" на МММ/Кэшбери/NFT и получите очень схожее описание. "Надо просто продолжать делать Х и все получится")

Вопрос: за каким хреном мне нужен человек, который, по большому счёту, нихрена не делает?)

Говорю по личному опыту посещения аж 4-х разных психотерапевтов - это самая бессмысленная трата денег с истории в моей жизни.

У тебя, значится, проблема, с которой ты не можешь совладать, ты приходишь с запросом: "помоги пожалуйста", а тебе начинают заливать в уши бадягу "помоги себе сам") Если бы я мог помочь себе сам, я бы давно уже помог себе сам)

В итоге забиваешь болт, решаешь свои проблемы и думаешь: ну и нахрена ты ходил куда-то?)

Кто-нибудь вообще упомянул русских и что всё это не сработает по причине того, что мы тут русские и поэтому у нас ничего не выйдет?)

Как по мне весь скепсис основан исключительно на экономической и политической атмосфере в стране) А также на предыдущем опыте реализации предыдущих проектов этими же управленцами)

А в какой-то другой момент - так же эпично профукает.

Это будет уже не важно, главное чтобы "в среднем" результат был лучше)

Да, но это виртуалка плотно интегрированная с виндой.

1. ОС ставится за полсекунды из магазина приложений
2. Конвертируется в WSL1 (и обратно) без проблем при необходимости
3. Интегрируется с VSCode без плясок с SSH
4. Не требует вообще никакой настройки или стороннего ПО для виртуализации, всяких там open-vm-tools / vmware-tools и прочих плясок по монтированию shared папочек. Вся файловая система гостевой ОС доступа из проводника, что бывает оч удобно.
5. WSL2 более щадяще жрёт ресурсы ОС, освобождая их если неактивна, например не отжирает лишнюю ОЗУ.

Information

Rating
3,536-th
Registered
Activity