Задать вопрос
  • Стоит ли сейчас начинать изучать React Native или все переходят на Flutter?

    sim3x
    @sim3x
    Стоит или не стоит изучать - вопрос так не должен стоять
    Всегда лучше изучить что-то чем не изучить

    Мигрировать с любой технологии для кроссплатформенной разработки будут не на другую платформу, а на нативные решения

    Писать новое кроссплатформенное будут на чем-то хайповом, если ТЛ неопытный.
    Если опытный - будут делать кроссплатформенный прототип, на том на чем можно сделать его ASAP
    А после проверки маркетинговых гипотез будут делать нативное приложение под те платформы, которые опрадали себя

    Для игр ситуация будет несколько иной
    Ответ написан
    Комментировать
  • Есть ли официальные правила выделения портов Postgresql в зависимости от версии?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    Нет, гарантии нет. Менять привычный 5432 порт у сообщества причин нет. Теоретически поменять дефолтный порт можем, это не так сложно технически - но зачем? Мы не гарантируем совместимость с последующими версиями и вполне можем решить что-нибудь сломать нужное, если сообщество согласится что оно того стоит. Гарантий не дадим, но вполне можно рассчитывать что будет 5432 ещё очень долго использоваться по умолчанию, нет причин его менять и есть веские причины его не менять.

    Ну и стоит упомянуть, что дефолтный порт может быть указан в конфигах, параметром запуска, и в том числе на этапе компиляции базы:
    --with-pgport=PORTNUM set default port number [5432]


    Пока он как-то сам выбирает порт

    PostgreSQL не занимается таким. Просто откажется стартовать если не удастся открыть сокет. Номер порта не менялся очень давно, если менялся вообще хоть когда-нибудь от самого основания ещё post-ingres в 198х годах.

    Вот сторонние скрипты - те могут иметь какую-нибудь такую логику. Например, пакеты debian/ubuntu при вызове pg_createcluster попробует прописать в конфиге ближайший свободный порт начиная с 5432. Никакой зависимости от версии СУБД нет. Нужен новый кластер? Ок, возьмём ближайший свободный порт и настроим на использование его.
    Ответ написан
    3 комментария
  • Что это за странный процесс "Бездействие системы", и как с ним бороться?

    Kenny00
    @Kenny00
    Очень тонко))
    С праздником))
    Ответ написан
    Комментировать
  • Что это за странный процесс "Бездействие системы", и как с ним бороться?

    GavriKos
    @GavriKos
    Первое апреля добралось до тостера?
    Ответ написан
    Комментировать
  • Где закупить много дискового пространства?

    Jump
    @Jump
    Системный администратор со стажем.
    Если потребители данных находятся по всей планете - Amazon S3
    Если потребители данных сосредоточены в одном регионе - аренда серверов в ДЦ этого региона.
    Если потребители данных вы сами - размещение на своих серверах или аренда серверов в ближайшем ДЦ.

    Для точного ответа мало данных.
    Неизвестно насколько критична для вас скорость загрузки и выгрузки данных в хранилище и какая скорость нужна.
    Неизвестно где находятся потребители данных.
    Неизвестно холодные данные или горячие.
    Неизвестно какую нагрузку по чтению и записи должно выдерживать хранилище.
    Неизвестно какая цена является для вас приемлемой за объем и за трафик.
    Ответ написан
    Комментировать
  • Каким путем выучить современную верстку с 0?

    Garfields
    @Garfields
    Советую обратить внимание на курсы, которые я указал ниже.
    Обучение
    • Джош Кауфман «Первые 20 часов. Как научиться чему угодно... быстро»
    ru.learnlayout.com
    htmlacademy.ru/program
    w3schools.com
    flexbox.ninja
    Карта развития веб-разработчика

    Видеокурсы HTMLAcademy
    • htmlacademy «Базовый HTML и CSS»
    coursehunters.net/course/bazovyy-html-i-css-18-2017
    • htmlacademy «Продвинутый HTML и CSS»
    coursehunters.net/course/prodvinutyy-html-i-css-po...
    • htmlacademy «Профессиональный HTML и CSS Уровень 1»
    coursehunters.net/course/professionalnyy-html-i-cs...
    • htmlacademy «Профессиональный HTML и CSS Уровень 2»
    coursehunters.net/course/professionalnyy-html-i-cs...

    Справочники
    htmlbook.ru
    webref.ru
    developer.mozilla.org/ru/

    Выполнение заданий
    flukeout.github.io (изучение селекторов в CSS)
    flexboxfroggy.com/#ru (изучение flexbox в CSS)
    flexboxdefense.com (изучение flexbox в CSS)
    dmitrylavrik.ru/training/process/flexbox-grid (создание сетки на flexbox)
    cssgridgarden.com/#ru (изучение gridbox в CSS)

    Задачи для практики:
    htmlbook.ru/practical

    Макеты для практики:
    drive.google.com/drive/u/0/folders/0B8LYygUI_oGeSG...
    freebiesbug.com/psd-freebies/website-template/
    symu.co/freebies/templates-4/
    dcrazed.net/free-photoshop-psd-website-templates/
    Ответ написан
    5 комментариев
  • Что лучше для экономии оперативной памяти?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Для экономии памяти лучше С++
    Ответ написан
    Комментировать
  • Как разделить проект на несколько независимых, затем подключать и использовать их в одном?

    Их возможно оформить в виде npm модулей? Если да, читайте документацию npm install он умеет ставить с гит репозитория. Ещё вариант - git submodules, но там большой шанс нарваться на танцы с бубном.
    Ответ написан
    3 комментария
  • Куда в пространствах имён определять трейты, интерфейсы и абстр. классы?

    Alex_Wells
    @Alex_Wells
    PHP/Kotlin
    Нет, не нужно ничего выделять, это идиотизм. Делить нужно по какой-то логике (logging, например), и внутри можно добавлять "под-категории", если нужно. Если меньше чем 20 файлов то и в этом смысла нет.

    Почему? Потому что это упрощает навигацию. Если человек знает, что ищет, то он легко найдет это и без дерева файлов, а вот если не знает, то он может и не иметь представления о том, трейт это, абстрактный класс или интерфейс. Зато если разделить по "механике" - найти нужное будет не сложно.
    Ответ написан
    1 комментарий
  • Правда ли, что в области высокопроизводительных приложений за Rust'ом будущее?

    Jump
    @Jump
    Системный администратор со стажем.
    Спросите об этом лет через десять - двадцать.
    Тогда можно будет дать точный и обоснованный ответ.

    А сейчас однозначный ответ на такой вопрос дать невозможно в рамках данного ресурса.
    Если все же нужен ответ обратитесь на форум где тусуются гадалки и ясновидящие.
    Ответ написан
    Комментировать
  • Почему говорят, что Javascript сделан на коленке?

    KorniloFF
    @KorniloFF Куратор тега JavaScript
    Работаю по font-end / JS
    Потому, что его фактически создали за 2 недели. Но разработчик был, мягко выражаясь, гением, потому до сих пор никакой реальной альтернативы ему на фронт-энде нет.
    Соответственно, актуальности такое заявление иметь не может.
    А некоторым JS вполне себе нравится. Как по мне - излишества пошли в его поздних версиях, начиная с ES-6.

    Источник:
    Простите, времени было мало для того, чтобы сделать правильную оптимизацию хвостовой рекурсии. 10 дней почти без сна, чтобы сделать JS с чистого листа, заставить его «выглядеть как Java» (я сделал, чтобы он выглядел как C), и тайком протащить туда его спасительные фишки: first class functions (замыкания сделал позже, но они были частью плана сразу) и прототипы (примерно как в языке Self).

    https://habr.com/ru/post/106274/
    Ответ написан
    2 комментария
  • Как рисовались шедевры художественной культуры?

    mixail_fet
    @mixail_fet
    Дизайнер веб-интерфейсов
    Никто, никогда не придумывает рисунок из воздуха.

    Искусство - это культура, культура всего, что мозг запоминает в окружающем его мире. Если человек никогда не рисовал и не интересовался картинами других людей, и в его узкий мир, никогда не входило искусство, он сразу ничего не сделает.

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

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

    Для вашего мозга сейчас, придумать что-то свое - это разрыв шаблонов, как только вы погрузитесь в культуру нужного направления, ваш мозг начнет генерировать нужные идеи.
    Ответ написан
    Комментировать
  • Создал класс в чистом проекте С++, но при попытке выделить память под него в main ловлю неразрешенный внешний символ. Почему?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    cpp файл
    template <typename T>
    Tree<T>::Tree()
    {
    }

    Как по-твоему компилятор во время компиляции этого cpp файла узнает, что ты захочешь работать с Tree<int> в каком-то другом файле?
    Только если ты в этой же единице трансляции сделаешь явное инстанцирование нужных тебе типов. Иначе объектный файл, получившийся в результате копиляции этого cpp файла будет (почти) пустым.

    Если переношу реализацию конструктора и деструктора в заголовок - все работает.

    ...и это -- типовое решение этой проблемы.
    Ответ написан
    2 комментария
  • Если нет возможности нанять одновременно frontend и backend разработчиков на проект, то кого нанимать первым?

    @coderxx
    keep calm and learn js
    Конечно вам нужно нанять бэкенд-разработчика, а фронт сделать своими силами в виде заглушек (т.е. максимально упрощенно, без дизайна, адаптива и т.д.) Когда логика будет готова, нанимаете фронтендера и он делает красиво и удобно. Сами подумайте, какой смысл делать обертку для несуществующего приложения? Мало ли что там и как будет в итоге.
    Ответ написан
    14 комментариев
  • Какой технологией хранения данных в браузере пользоваться?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    WebSQL, увы, стал deprecated еще до того как вышел из черновика. Браузеры тут же кинулись встраивать SQLite, а Oracle испугался и через Mozilla продавил, что браузерное хранилище должно быть key-value. Кое-где (скажем откровенно, в Chromium-based браузерах) до сих пор работает, но когда отвалится -- неизвестно.
    У IndexedDB есть одно ярковыраженное преимущество перед localStorage: по умолчанию доступное место заметно больше. Остальное по вкусу, тем более что есть фасадные надстройки над всеми тремя типа localForage.

    Если необходимо хранить статичные данные для браузерного расширения

    Если это пользовательские настройки, то альтернатив chrome.storage нету. Если это данные необходимые для работу самому расширению (скажем, карты уровней для игры), то проще и логичнее держать это в, например, JSON.
    Ответ написан
    Комментировать
  • Так ли необходимо использовать плэйсхолдеры для избежания инъекций, или написанная собственноручно проверка входных данных будет более чем достаточна?

    @neol
    Инъекции (как и любые распространённые типы уязвимостей) появляются не потому, что невозможно что-то сделать, а потому, что кто-то забыл, перепутал, опечатался или ошибся. Если у вас нет возможности накосячить (или она сведена к минимуму) - это в любом случае надёжнее, чем когда у вас есть возможность не накосячить. Именно поэтому подготовленные запросы считаются надёжнее любых проверок переменных, rust считается безопаснее C и т. д.
    Ответ написан
    Комментировать
  • Как найти работу на неполную рабочую неделю?

    vicodin
    @vicodin
    Имею некоторый опыт
    на фрилансе и в бодишопах полно предложений на парт-тайм, не меньше чем на фултайм. Сам работаю в двух проектах по 10-15 часов в неделю и в одном до 5 часов в неделю(делаю код ревью).
    Ответ написан
    Комментировать
  • Как организовать zerodowntime обновление СУБД?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    Вы должны разрабатывать и деплоить приложение соответствующим образом. Так, чтобы старая версия приложения могла работать с новой версией схемы базы. Или наоборот, новая версия приложения могла работать со старой схемой базы.
    То есть удаление таблички: сначала деплоите приложение, которое уже не работает с этой таблицей, потом удаляете таблицу
    Новая табличка: сначала миграция, затем приложение
    Новое поле в таблице с default значением: сначала поле, затем приложение
    Новое поле без default: сначала новое поле с default null, затем релиз приложения которое обязано писать новое поле, но ещё не читать его (либо приводить null к нужному если это возможно на приложении), затем миграция с проставлением нужного значения (и, блин, не одним update по всей большой таблице), drop default, set not null, деплой приложения со всей логикой
    И так далее. Во время разработки думаем, а как, когда и в сколько итераций это можно будет задеплоить.

    Ну и, разумеется, DBA (или заменяющий его обязанности человек) думает над тем, как именно вносить нужную миграцию в базу
    Ответ написан
    Комментировать
  • Как выбрать архитектуру и БД для высоконагруженной системы?

    @stratosmi
    Добрый день! Хотел посоветоваться с опытными бэкэнд программистами.
    Встала задача создать высоконагруженный проект (Типо кассового решения). В базе данных через 1-2 года планируется , около 150млн записей у основной сущности (продажа).


    150 миллионов записей - это ерунда, а не высоконагруженное решение.
    У меня 5 000 записей в секунду создается на довольно дохлом (что-то около 500 рублей в месяц стоит хостинг) сервере VDS/VPS
    Два года? 150 миллионов - это за ... 9 часов.
    И да, я не считаю это решение высоконагруженным.
    Нагруженным - да.

    то есть нужно максимально быстрое чтение этих данных

    Нет.
    Людям не нужно снимать отчеты со всех данных сразу. Только часть данных интересует их.

    Если всё же нужны все данные сразу (ну какая-то общая статистика) - то на основании первичных данных выполняется агрегация (например, по ночам) и тогда отчеты будут строится вообще - мгновенно.

    Но большим плюсом является что эти 150млн записей - разделены примерно на 1000-5000 разных пользователей, и выборка нужна в рамках одного пользователя только.

    Вот только если ваши 1000-5000 пользователей будут постоянно получать данные - только тогда это и можно назвать нагруженным решением.
    Как лучше хранить такие данные? в одной таблице? или можно разделить по разным таблицам, и держать связку какой пользователь в какой базе хранит.

    Это зависит от того что за данные.
    Что именно за данные.
    Сам пишу на mysql - потянет ли он такие объемы, на нормальном железе. Или нужно смотреть в сторону других БД?

    MySQL довольно быстр.
    Например, PostgreSQL более функционален. Но насчет скорости - не обязательно.
    потянет ли он такие объемы, на нормальном железе

    А в официальную документацию заглянуть?
    https://dev.mysql.com/doc/refman/8.0/en/limits.html
    150 млн. записей для современных СУБД и современных компьютеров (даже не на "нормальном железе") - это тьфу, а не нагрузка.

    P.S.:
    Для высоконагруженных систем формирования отчетов есть различные решения:

    1. Предварительная (ночная) агрегация данных
    2. Master-slave, где master только обновляет данные, а slave - только для отчетов.
    3. Специализированные, заточенные под конкретный вид данных СУБД (InfluxDB, Redis-Tarantool-Aerospike, ClickHouse пр.)
    Ответ написан
    4 комментария