Задать вопрос
  • Что это за странный процесс "Бездействие системы", и как с ним бороться?

    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 Team для вашего 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 комментария
  • Что сегодня подразумевается под веб-компонентами?

    @MadridianFox
    Web-программист, многостаночник
    Веб-компоненты - обобщающее название нескольких технологий, позволяющих создавать собственные элементы с инкапсулированными структурой, стилями и поведением.
    Т.е. вы создаёте один-два файла в какой-нибудь папочке, описываете в них разметку, стили и js-код и вызовом некоторых api-функций говорите браузеру - "вот мой собственный элемент с именем my-element, если встретишь тэг , то наполни его вот этим, стилизуй вот так и по событиям выполняй этот код".
    Технологии, которые это позволяют постепенно появляются в браузерах, но как обычно не полностью и не везде. Нужны полифилы.

    И да, веб-компонент мужского рода)
    Ответ написан
    1 комментарий
  • Как распознать частоту звука (ноты) в C#?

    Griboks
    @Griboks Куратор тега C#
    Использовать преобразование Фурье для получения спектра записи. Затем проанализировать спектр на наличие гармоник нот.
    Ответ написан
    2 комментария