• В чем принципиально различие postgres от mysql?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Postgresql - более консервативен. Его можно брать почти для любых проектов. Есть partitioning что свидетельствует о зрелости системы и об Enterprise-ready. Единственное что может быть не очень - это некий кумулятивный эффект от частых inserts/updates который требует вакуума. И со счетчиками транзакций там есть нюанс. Но скорее всего в твоём сегменте разработки PHP/Laravel - тебе будет просто безразлично сущестование вакуума.

    MySQL это лейбл под которым на самом деле могут работать различные engines таблиц. И если анализировать какой-то performance-инцедент то нужно в первую очередь спрашивать с какой опцией таблица создавалась. MyISAM/Innodb/e.t.c. Потому что выбор этого двигателя влиял на какие-то опции скорости и транзакций. Я заменял например в создающих скриптах InnoDb на MyISAM для того чтобы просто быстрее прогрузить 1Тб CSV файл.

    В более современных версиях типа MariaDb (я уже не следил за этими новостями) есть более умные двигатели которые учитывают дефекты старых и по идее они должны быть универсальнее. Тоесть можно их брать смело.

    Что лично меня раздражает в диалекте My/SQL - так это странного вида кавычки-апострофы. Никогда не понимал зачем это.
    Ответ написан
    Комментировать
  • В чем принципиально различие postgres от mysql?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    для ORM если не RAW не будет - на то оно и ORM

    статейки вида
    https://blog.devart.com/postgresql-vs-mysql.html
    думаю ты читал

    кратко: Postgres - эдакая взрослая СУБД (Like Oracle or MSSQL) на минималках,
    переход на нее оправдан или неоправдан - все тестируется - на хайлоад проектах, когда ОПТИМИЗИРУЕТСЯ ВСЕ что и где только возможно,
    на твоей текущей позиции - неважно что использовать

    более того - почти весь функционал совпадает
    да, еще у Мускуль есть надстройки - клоны - MariaDB и Percona

    но в целом - пробегись по вакансиям - знать придется обе )
    Ответ написан
    Комментировать
  • Лезет реклама с youtube, что делать?

    @Drno
    Ну вообще то в ютуб и должна быть реклама. Если Вы её не блочите.
    В чем заключается замечание то?)))

    купите премиум всем - рекламы не будет
    Ответ написан
    Комментировать
  • Айбук m1 или x86?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Если x86 виртуализация не нужна - м1 однозначно. Студия работает шустро, xamarin проекты собираются без проблем, к реальному андроид девайсу тоже коннектится без проблем (как с цепочкой адаптеров так и по USB-C), даже эмулятор андроида на удивление работает. По конфигу - 16 RAM обязательно, а вот SSD по бюджету и дополнительным требованиям, желательно от 512 гигов. Ну и в целом как рабочая машинка - отличный девайс.
    А с x86 виртуализацией проблема в том, что её поддержки нету со стороны железа, т.к. процессор - арм. Технически оно работает: единственное приложение, которое умеет, это UTM App через qemu вполне нормально запускает хоть винду хоть линукс, но очень меееедленно. Весь остальной софт работает вполне нормально и достаточно шустро - графические, офисные, 3D/CAD пакеты, VSCode, Android Studio, docker и т.д. и т.п. Из софта единственное, с чем реально могут быть проблемы - это MSSQL (знакомые жаловались) и конкретно у меня RoR сходу не завелось (линукс в контейнере заюзал просто). Visual Studio 2022 preview с .Net 6 по функционалу немного отстает от виндовой версии, но в целом работает.
    А, и еще один минус м1, а именно у AIR модели поддержка только одного внешнего экрана. Если надо больше - то это только через специальную докстанцию. У прошек про/макс вроде 2/3 дополнительных дисплея можно подключить, ЕМНИМ.
    Ответ написан
    Комментировать
  • Можно ли делать так чтобы константный текст брался на этапе "(пре)компиляции" из фаила который не являеся source code?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Совершенно непонятно зачем это надо? Константы можно просто объявлять в исходнике.

    Тут зря автор смешал в кучу теги Go и С++. Это слишком разные философии разработки.
    Я-бы сказал что в Go многие вещи сознательно упрощаются или выбрасываются. И обсуждать
    вот так вот просто через запятую Go и С++ немыслимо.

    Даже термин пре-компилляция уже вызывает такой себе диссонанс. От пре-процессора сознательно
    уходят в современных языках. И на него не стоит обращать внимание. Он - рудимент.
    Ответ написан
    1 комментарий
  • На каком облачном сервисе лучше деплоить AI модель?

    Обзор рынка составляйте-ка самостоятельно. Ищите "VPS с GPU", всего-то.

    Из опыта одного проекта порекомендую Selectel.
    Другой проект поднимали на своём железе с недорогой видеокартой.

    TensorFlow Serving вам в помощь!
    Ответ написан
    2 комментария
  • Зачем нужна база данных если можно хранить данные в json файлах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    movchans ваша фраза (заголовок вопроса) просто выдает в вас неопытного разработчика который еще с базой не работал.

    MongoDb помимо хранения json файлов (на самом деле внутри она хранит bson) предлагает опции масштабирования (можно поднимать несколько нодов одной базы) и командную строку запросов. Кроме того можно создавать индексы, по разным полям документа - это коробочная фича Mongo.

    И я даже не знаю сколько у вас уйдет времени на то чтобы просто повторить этот функционал. Даже атомарная работа с документами. Если вы не опытный разработчик - то работая с файлами вы наделаете таких дел что ойойй. Я готов даже спорить на коньяк что наделаете. Интуиция такая вот.

    По остальным пунктам что написал Roman Kitaev я полностью согласен.
    Ответ написан
    Комментировать
  • Как заменить в html значиние true и false из json на online и offline?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Допустим есть элемент

    <div id="output"></div>

    И мы получаем json-ответ в переменную response

    Тогда можно сделать так

    document.getElementById('output').innerHTML = response.online ? 'Online' : 'Offline';
    Ответ написан
    Комментировать
  • Зачем нужна база данных если можно хранить данные в json файлах?

    @deliro
    1. JSON нельзя отредактировать где-то посередине. Сложность такой операции O(n)
    2. По JSON нельзя эффективно делать выборку, например, получить юзера с id=123 — сложность O(n)
    3. Удаление тоже самое — перезаписывать весь файл
    4. Нет транзакций
    5. Нет целостности данных
    6. Миллион других причин, все из которых перечислены в "фичах" любой БД
    Ответ написан
    1 комментарий
  • Как парсить авито?

    solotony
    @solotony
    покоряю пик Балмера
    авито парсить сложно (но можно)

    потребуется как минимум реализовать

    - отключение определения webdriver в JS
    - смена IP
    - смена пользователей (телефонов)
    - обход fingerprint
    - имитация естественного поведения

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

    @DenisShahbazyan
    С помощью Selenium

    Через pip устанавливаешь selenium и webdriver_manager
    Задержку с помощью sleep() не рекомендую делать, лучше дожидаться загрузки элемента.
    С веб-драйверами не парься, в блоке try все сделается автоматически, в этом поможет библа webdriver_manager.

    from time import sleep
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from webdriver_manager.chrome import ChromeDriverManager
    
    
    URL = 'https://www.avito.ru/moskva/bytovaya_elektronika'
    PAUSE_DURATION_SECONDS = 5
    
    
    def main():
        driver.get(URL)
        sleep(PAUSE_DURATION_SECONDS)
    
    
    if __name__ == '__main__':
        try:
            service = Service(executable_path=ChromeDriverManager().install())
            driver = webdriver.Chrome(service=service)
            main()
        except Exception as e:
            print(e)
        finally:
            driver.quit()


    ---

    С помощью requests предполагаю, что всего на всего нужно правильные заголовки передать, и все будет работать, будет время, попробую и отпишусь.
    Ответ написан
    Комментировать
  • Есть сайт который блокирует по IP если им слишком много пользоваться. Как можно организовать обход этой проблемы?

    @Drno
    Так бесплатно или платно?

    Платно - есть куча впн сервисов/proxy и плагинов для браузера, которые по клику позволят тебе выбрать IP

    Либо можно арендовать VPS, пул IP адресов, поднять там прокси, и уже мутить через него
    Ответ написан
    Комментировать
  • Как обойти блокировку и получать доход от мобильных приложений?

    GavriKos
    @GavriKos
    Никак. Узнают что предоставили неверные данные - забанят
    Ответ написан
    2 комментария
  • Удалить свойство или сделать его значение undifened?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Я бы не сказал, что оба варианта приводят к одному результату.

    Присваивание undefined не удаляет свойство из объекта

    62d572667ffed465681831.png

    delete полностью удаляет свойство из объекта

    62d5726f9afde515946418.png
    Ответ написан
    Комментировать
  • Удалить свойство или сделать его значение undifened?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    1) Не стоит вручную устанавливать undefined. Если значение нужно убрать - хорошая практика устанавливать null
    2) Не стоит использовать глобальные переменные без острой необходимости
    3) delete используют скорее не для обнуления значения, а для удаления свойства из объекта чтобы оно не участвовало в перечислении\не отправлялось на сервер и тд. Так что тут есть разница между delete и установкой undefined.
    Ответ написан
    Комментировать
  • С# Почему не сохраняется массив RGB пикселей? Image.Save System.ArgumentException: Parameter is not valid ????? КАК КОНВЕРТИРОВАТЬ?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Он загружает в Image не массив пикселей, а стандартные форматы картинок (jpeg/png). Просто не из файла, а из памяти. Поэтому он всё знает и про размер и про битность.
    Ответ написан
    Комментировать
  • Упали все проекты на axios, что делать?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну так Access-Control-Allow-Headers не разрешает вашим скриптам получать данные с указанным Content-Type.
    Соответственно или менять скрипт на другой Content-Type, или разрешать ваш Content-Type на сервере.
    Ответ написан
    3 комментария
  • Как предпочтительнее регистрировать админов на портале?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В админской части портала должно быть управление пользователями, там и делайте назначение нужной роли. Ну а первого админа автоматически, при регистрации первого пользователя, либо вручную.
    Ответ написан
    Комментировать