• Что лучше осваивать для быстрого входа в работу и заработка - тестирование или разработка (python)?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Плохое вы время выбрали для вкатывания, сейчас джунов стало сильно больше, а спроса на них сильно меньше. Вам придётся конкурировать с толпой молодняка, готовых продолжительное время работать за еду, среди которых будет ещё и немало тех, кто не искал лёгких путей.
    Ответ написан
    4 комментария
  • Как из вложенного словаря получить список?

    0xD34F
    @0xD34F
    arr = [ { 'id': k, **v } for k, v in dct.items() ]
    Ответ написан
    Комментировать
  • Какой БД выбрать для ERP-систему, SQL или NoSQL?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    NoSQL а рекомендуют многие, говорят бистре чем SQL

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

    сейчас проект работает на Postgresql

    Его хватает и "Мой склад", и "Сберу" и многим другим, до чьих нагрузок вам добираться ещё годы, даже если у вас всё пойдёт замечательно.
    Ответ написан
    Комментировать
  • Как запустить Джанго проект и редис в одном контейнере?

    iggor-markin
    @iggor-markin
    Python Developer
    Зачем тебе запускать Redis в том же контейнере? Сделай для него отдельный контейнер, а потом запускай через docker compose.
    Ответ написан
    Комментировать
  • Зачем нужна база данных если можно хранить данные в json файлах?

    СУБД решает следующие проблемы:
    1. Сетевой доступ к данным.
    СУБД позволяет хранить данные на отдельном сервере.
    Файлы - нет.

    2. Эффективное хранение данных.
    Большинство СУБД хранит данные в двоичном виде, что более эффективно и удобно для компьютера.
    Файлы - нет.

    3. Конкурентный доступ к данным.
    СУБД позволяет работать с данными одновременно разными клиентами. И это не приведёт к непредсказуемым проблемам.
    Файлы - нет.

    4. Индексирование данных для эффективного поиска.
    СУБД сама создаёт некоторые простые индексы и даёт возможность создать новые, чтобы поиск был быстрым. Файлы - нет.

    5. Горизонтальное масштабирование.
    СУБД позволяет тебе поднять несколько экземпляров базы данных не скольких серверах, и распределить между ними нагрузку.
    Файлы - нет.

    6. Контроль целостности.
    СУБД гарантирует, что твои данные всегда будут читаемыми. У тебя никогда не возникнет ошибка "Invalid JSON".
    В файлах таких гарантий нет.

    7. Удобный интерфейс.
    СУБД предлагает тебе удобный API для выполнения различных запросов на поиск и изменение данных.
    Файлы такой интерфейс не дают.

    8. Удобное администрирование.
    СУБД имеет также интерфейс для отслеживания своего состояния и настройки под ситуацию.
    Имеется множество инструментов для профилирования производительности БД и бэкапов.
    Файлы ты никак не сможет администрировать.

    Естественно, все эти проблемы ты, теоретически, сможешь решить самостоятельно. Но тогда у тебя в результате получится новая СУБД, а не просто голые json-файлы.
    Ответ написан
    Комментировать
  • Низкий фпс в играх. Что не так?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Что за игра? Может у вас монитор 60гц. Игра может ограничивать fps именно до частоты монитора. Т.к. выше fps нет смысла гнать.
    Ответ написан
    3 комментария
  • Как сделать размытие по гауссу изображения. Что на вход то поступает?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На хабре есть статья посмотри https://habr.com/ru/post/142818/

    Ты всё в кучу смешал. При чем тут Фурье? Это совсем другое преобразование и смысл его другой.

    Где в этом уравнение передается информация про цвет или яркость, пикселя?

    Никакая яркость пикселя тебе не нужна. Фильтр применяется последовательно к каждому цветовому каналу отдельно. RGB, CMY рассматриваются как 3д поверхности где высота поверхности равна значению канала.
    Все вычисления лучше нормировать к диапазону вещественных чисел от 0 до 1 а когда все расчеты закончены - обратно приводить к RGB(8:8:8) например.

    В компьютерной графике есть понятие матричных фильтров. Это - самые простые фильтры в смысле ресурсов. И самые общие. Потому что любой фильтр отличается просто размером матрицы и коеффициентами.

    Конвейер такой.
    1) Определяешь размер матрицы (допустим 15 на 15)
    2) Инициализируешь матрицу по любой формуле. Например если все закрасить константой - то будет блур но не красивый с квадратрыми облаками в результате на картинке. Для гаусса - берешь эту формулу и подгоняешь чтобы в центре матрицы был максимум. Матрциа должна быть нормирована так чтобы в сумме не менять энергию всех пикселов которые попадают в квадрат 15 на 15. Подумай сам над этим. Гаусс также параметризуется средним квадратическим отклонением. Это скорее всего параметр сигма в формуле. Чем оно больше - тем размытее картинка. Но делать сигму больше чем 7.5 нет смысла при таком размере.

    2) Матрица применяется к каждому цветовому каналу изображения по принципу перемножисть каждое на каждое и сложить. Пиксели перемножаются на матрицу. Результат всего записывается в центральный пиксель. И так далее.

    3) На краях изображения будет баг. Потому что матрица вылезает за края. Картинки. Ты должен придумать как красить несуществующие пиксели. Можно красить в какой-то средний близкий цвет по расстоянию.

    4) Обычно матричный фильтр работает медленно. Есть оптимизации на низком уровне. В основном - перписывание на длинных командах типа SSE/AVX. И разбиение картинки на полоски с предварительным расчетом умножений. Но это работет для малых матриц. И надо учитывать влияние и размер кешей. Тоесть цифры которые будут получены на 1 конфигурации железа могут сильно отличатсья от другой.
    Ответ написан
    2 комментария
  • Почему исходный код языка программирования go написан на go?

    DevMan
    @DevMan
    google -> self-compiling compiler
    в частности https://ru.m.wikipedia.org/wiki/Раскрутка_компилятора
    Ответ написан
    Комментировать
  • Как использовать функцию int, чтобы отбросить дробную часть числа?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Взять и использовать.
    Такое ощущение, что вы даже не пытались:
    nba_players = {
        'Джеймс Харден': [2191, 2818, 2335],
        'Леброн Джеймс': [2251, 1505, 1698],
        'Дэмиан Лиллард': [1962, 2067, 2009],
    }
    
    for key,val in nba_players.items():
        avg = int(sum(val) / len(val))
        print(key,avg)
    
    
    # Джеймс Харден 2448
    # Леброн Джеймс 1818
    # Дэмиан Лиллард 2012
    Ответ написан
    5 комментариев
  • Как добавить шанс на появление числа?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    import random
    random.choices([10, 22], weights=[0.37, 0.63], k=1)


    https://docs.python.org/3/library/random.html#rand...
    Ответ написан
    1 комментарий
  • Что не так с моим резюме?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Не знаю как сейчас дела с Android, но среди spring'овых разработчиков, ищущих первое рабочее место, конкурс примерно двести человек на одно место. Так что 15 компаний и один месяц - это мелочи.
    Ответ написан
    24 комментария
  • С чего начать в 30 лет?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Фундаментальная проблема - в игрострой стоит очередь фанатов с горящими глазами. Людей, которые пишут игры, играют в игры, моддят игры, хакают игры..., начиная с возраста, когда они смогли дотянуться до клавиатуры (как ваш покорный слуга). При этом, у них столько мотивации, что они могут сами поставить себе задачу, сами нагуглить все, что нужно (Спасибо дяде Немнюгину за его учебник. Это все что нужно знать о DOS, чтобы закодить dOOm) и сами все напишут и нарисуют (работая над этим сутками. Не потому что над душей стоит босс с воплями о лишении премии, а потому что им это интересно).

    И вот теперь, Андрей, который уже устал хочет встать в очередь высоко мотивированных конкурентов и попросить себе оффер. Каковы его шансы на успех?

    В играх есть много специализаций программирования - хотите графику, придется учить одно (причем на 2d и 3d это одно будет разное), хотите игровую логику и скриптинг - это номер два, хотите системную часть и бэкенд - это будет третье.

    Для универсального развития, нужно начинать с простых фиговин вроде тетриса, арканоида, бильярда и прочего (в которых однако есть все столпы игростроя - графика + логика + системный движок, можно и добавить сеть, если подумать) и потом наращивать сложность - делать платформер или RTS.
    Ответ написан
    4 комментария
  • Разница между if else и try catch?

    @Akela_wolf
    Extreme Programmer
    Есть такой принцип: "если убрать все обработчики исключений, программа должна нормально функционировать при условии ввода корректных данных" (Д.Томас, Э.Хант "Программист-прагматик"). Поэтому вопрос - является ли введенный пользователем нуль корректными данными? Если да - то его надо оборачивать в if. Если же это некорректные с точки зрения программы данные - то можно кидать исключение.

    То есть исключение должно выбрасываться при поступлении на вход программы некорректных данных. А какие именно данные считать некорректными - это определяет разработчик (или заказчик) программы.
    Ответ написан
    5 комментариев
  • Как задать в базу данных время?

    @Kadabrov
    Решение вашей задачи:
    0) изучите в документации какие виды полей бывают у Sqlite
    1) на основе полученных знаний примите решение в каком формате будет столбец для DateTime
    2) изучите модуль datetime
    3) на основе полученных знаний выберите метод с помощью, которого преобразуете данные из Sqlite в объект datetime
    4) выполните сравнение больше-меньше
    Ответ написан
    Комментировать
  • Нормальная ли практика удалять, изменять, создавать данные get запросом, а не post?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Ненормальная. HTTP-клиенты, включая бразуер, рассчитывают на идемпотентность GET-запросов, а потому могут выполнить его без спросу или повторить произвольное количество раз. Так что не удивляейтесь, если после захода на страницу с комментариями произойдёт их удаление, хотя вы ничего не нажимали.
    Ответ написан
    2 комментария
  • Используют ли шаблонизатор django в реальных проектах?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Да, используют.
    Ответ написан
    3 комментария
  • Почему вставка элементов занимает такое время?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Про список Просто автор хитренький и считает, что задача получения указателя на нужный элемент в списке - это отдельная задача поиска, которая как раз делается за O(n). Ну а со вставкой все просто - она действительно делается за O(1). Тот факт, что на практике зачастую вставка состоит из поиска и собственно вставки хитренький автор замел под ковер. Остерегайтесь хитреньких авторов!

    Про массив Нетрудно догадаться™, что при вставке в массив на самое первое место, нужно сдвинуть весь хвост массива на один элемент (чтобы было место, куда вставлять). Вот это сдвигание, по самой пессимистичной (когда вставляем в самое начало) оценке и занимает O(n).
    Ответ написан
  • Лучшее время дня для усвоения / запоминания новой информации — какое оно?

    Adamos
    @Adamos
    "Нет времени, кроме сейчас
    И нет движения, кроме вперед".
    Лучшее время для усвоения новой информации - это то, которое ты потратил на усвоение новой информации.
    А не на дебильные вопросы на Тостере.
    Ответ написан
    Комментировать
  • Какие курсы лучше? Скиллбокс, Гикбрейнс, Яндекс Практикум?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Ответ написан
    Комментировать
  • Kata academy - что думаете об этих курсах?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если воспользоваться поиском по этому ресурсу, то найдёте множество подобных вопросов, где про подводные камни уже отвечали. Все такие курсы - это инфоциганство и разводилово, которые пользу приносят только их авторам. В лучшем случае вам за ваши же деньги зачитают учебник, а потом продадут какой-нибудь галере на выполнение предельно тупой и утомительной работы, где рассчитывать на профессиональный и карьерный рост будет просто невозможно.
    Ответ написан
    1 комментарий