Задать вопрос
  • Как сказать «ничего не делаем» используя условные операторы?

    @Akina
    Сетевой и системный админ, SQL-программист.
    в случае совпадения, указать "ничего не делаем"

    Реверсируйте условие и ничего не делайте в случае НЕсовпадения, т.е. в ELSE. Которое в этом случае можно вообще не писать.
    Ответ написан
    Комментировать
  • Можно ли в mysql хранить 200 колонок, для 10+млн записей?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Смотрим здесь. Получаем для обычного INT 4 байта на одно число, для BIGINT 8 байт.
    200 * 4 * 10'000'000 = 8'000'000'000 или 8Gb.
    200 * 8 * 10'000'000 = 16'000'000'000 или 16Gb.
    По нынешним меркам сущие пустяки.
    Хранить, конечно же, нужно в нормальной форме, иначе суммирование придётся делать в приложении.
    Ответ написан
    3 комментария
  • Как гуглу удаётся работать так быстро? Какая у него память?

    @rPman
    Во первых, количество результатов не гарантирует что это действительно так... это приблизительная оценка, эжто видно особенно когда начинаешь искать редкие вещи, и количество результатов - десятки страниц, уже на пятой результаты заканчиваются.

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

    В третьих, запрос может быть распределенным на несколько машин, т.е. не каждый запрос на свою машину, это само собой, а именно один пользовательский запрос напрягает одновременно целый кластер. Мало того, я почти на 99% уверен что у гугла свое железо используется по полной (с момента как они стали активно использовать ИИ в своих алгоритмах поиска и построения индексов, уже лезт 10 гугл свои TPU пилит, минимум третья итерация, и в задачах ИИ они на пару порядков эффективнее GPU).

    В четвертых, гугл использует SSD, переход на них они начали почти 10 лет назад, на хабре была статья про это, т.е. им не нужно хранить индексы в оперативной памяти.

    Про софт - я не знаю, статей про это не помню, но нисколько не сомневаюсь, что такая компания как гугл могут запилить свой софт, работающий с хранилищем данных немного иначе чем это делают классические linux/win, когда каждый запрос к диску делает чуть ли не два копирования в оперативную память (это еще на уровне posix, затем пользовательский софт сериализацией занимается, это еще копирования), занимая ценный кэш процессора, но физически данные с дисков могут быть прочитаны в нужную область памяти вообще минуя процессор, как минимум nvme это могут штатно, так как висят на pci-e шине, да и sata точно есть механизмы, которые с помощью старого DMA могут копировать данные с указанных портов напрямую в области в памяти, точно читал о таких разработках в linux но до практически потрогать не доходило.

    p.s. первое что нагуглил по теме dma для nvme, обсуждают именно методы реализации инструментария в linux чтобы удобнее и быстрее с этим было работать из userspace (а не уровня драйверов)

    про tensor processing unit у них оказывается уже 5-ая ревизия должна быть (вот сравнение 4-ой ревизии, пишут про 20-кратное понижение carbon emission что бы это не значило)
    Ответ написан
    5 комментариев
  • Как гуглу удаётся работать так быстро? Какая у него память?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - Многоканальная оперативная память (2, 4, 8 итд. каналов), этот процесс в контексте оперативной памяти обычно связан с такими технологиями и концепциями, как двухканальный (dual-channel), трехканальный (triple-channel) и многоканальный (multi-channel) режимы работы памяти.

    - Параллельное чтение для увеличения пропускной способности и уменьшения задержек чтения данных из оперативы с нескольких модулей памяти единовременно (Striped Memory Access или Parallel Memory Access), аналогично принципу работы торрентов, где данные загружаются частями сразу с нескольких источников.

    - В Linux так же имеется несколько способов организовать параллельное чтение и запись данных с использованием уже с жестких дисков (опять же, по примеру торрентов), чтобы увеличить производительность и надежность системы хранения данных. Эти методы включают в себя RAID-массивы, LVM (Logical Volume Manager) и файловые системы, специально разработанные для работы в распределенных и параллельных средах.
    Ответ написан
    Комментировать
  • Какие необходимые pet-project'ы нужно сделать на каждом этапе roadmap.sh/frontend чтобы стать грамотным девелопером?

    Griboks
    @Griboks
    Каждая технология, каждый инструмент - это результат встречи инженеров с проблемами. Пока вы не увидите в своём проекте эти проблемы, вы не поймёте, зачем эта технология существует.

    Например, https - то результат решения определённой проблемы. Но некоторые разработчики не до конца понимают, зачем там нужна буква s, поэтому очень часто можно увидеть ошибки сертификатов в локальных сетях. Например, gitlab тупо не работает без сертификата даже на localhost.
    Ответ написан
    Комментировать
  • Зачем нужен блок инструкций без управляющей инструкции?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    В изначальных исходниках там TypeScript. Вы смотрите уже скомпилированный код. В исходниках местами все обернуто в разные условия, завязанные на__DEV__:
    export function setExtraStackFrame(stack: null | string): void {
      if (__DEV__) {
        currentExtraStackFrame = stack;
      }
    }

    Когда происходила сборка кода, который вы смотрите, вероятно __DEV__ был true, условие было опущено, т.к. оно всегда выполняется, а скобки остались как артефакт. Скорее всего транспилятор TS не проверяет весь контекст, и чтобы ничего не сломать случайно, оставляет скобки на своих местах.
    Ответ написан
    2 комментария
  • Сколько памяти нужно для cdn?

    @Drno
    Vds??

    Несколько серверных стоек в ДЦ…

    Но по факту зависит от количества юзеров и насколько криво написан софт
    Ответ написан
  • Где и как хранить файлы пользователей?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Это вообще не вопрос. Реальная проблема в том, как проверить, сколько физического места занимает папка пользователей "users"?
    Во первых если это реальная проблема - почему вопрос совершенно о другом?

    Во вторых - у вас в примере виндовый диск, что как бы странно для хостинга. В случае линуха все решается либо командой du -sm /your/directory/* либо установкой ncdu, который сильно быстрее, и соответственно что-то типа ncdu /your/directory/.
    Ответ написан
    7 комментариев
  • На сколько популярно и корректно хранить данные в столбце в виде JSON строки?

    @Akina
    Сетевой и системный админ, SQL-программист.
    На сколько популярно и корректно хранить данные в столбце в виде JSON строки?

    А это зависит от того, что с этими данными делать.

    Если сохранить/вернуть - да, вполне.
    Если найти по фрагменту - 50/50, и зависит в основном инструментов, имеющихся в конкретной СУБД.
    Если выполнить более сложную обработку (сумма, в т.ч. с накоплением, среднее, медиана и пр.) - скорее нет.
    Если использовать для связывания по фрагменту - почти наверняка нет.
    Ответ написан
    Комментировать
  • Хаотичный уровень заряда батареи?

    xez
    @xez
    TL Junior Roo
    В чём дело

    Древний аккумулятор с древним контроллером на древнем устройстве.

    как откалибровать аккумулятор

    никак

    Как восстановить ёмкость

    никак

    Просто нужно заменить аккумулятор.
    Ответ написан
    7 комментариев
  • Совместимость сокета для процессоров Intel Core i?

    Ну давай посмотрим.
    Intel Core i5-1135G7: Socket BGA1449
    Intel Core i7-920: Socket LGA1366

    Начнём с того что твой i5 вообще ноутбучный и он впаивается в материнскую плату.
    Заканчиваем тем, что цифры разные - значит количество контактов разное и даже если вдруг опечатка и у тебя какой-то другой i5 11XX, то всё равно ничего не выйдет.

    Про поддержку на уровне чипсета и биоса промолчу.
    Ответ написан
    Комментировать
  • Как передать данные в exe файл на C# при загрузке?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    1. Передавать имя пользователя в аргументах к программе, но тогда нужно уметь правильно запускать. Т.е. нужен установщик, который ярлык правильно настроит
    2. Отправлять вместе с программой файл конфигурации, из которого нужно читать имя пользователя.
    3. Скомпилировать с уже встроенным именем.

    Для последнего пункта можно сделать оптимизацию - весь проект (с логикой) хранить уже скопилированными, а при поступлении запроса компилировать exe. В него положить имя пользователя и просто скопировать готовые dll, а сам он просто будет прослойкой для самой программы.

    Также появилась идея о каком-нибудь шаблонном движке (по типу razor), который в потоковой обработке будет отправлять байты программы и в нужном месте подставит строку имени, но не знаю существует такое решение или нет (скорее нет)
    Ответ написан
  • Сложно ли написать приложение включающее голосовое сообщение на все входящие вне списка контактов?

    @d-stream
    Готовые решения - не подаю, но...
    Сейчас операторы предлагают бесплатные услуги голосовых помощников. Вот там как раз всё есть, включая распознавание речи и отправку клиенту текстового журнала беседы.
    Ответ написан
    Комментировать
  • Как импортировать данные из .docx файла в JavaScript логику?

    Vindicar
    @Vindicar
    RTFM!
    Технически, DOCX можно прочитать - это ZIP архив, в котором лежат XMLки. Библиотека для чтения ZIP архивов под JS (в т.ч. браузерный) есть.
    Но реально проще будет использовать расширенную поиск-замену в Word, чтобы заменить красный цвет на уникальный символ или комбинацию символов перед текстом. Комбинация ^& означает "искомый текст", т.е. приведённый ниже пример вставляет знак процента перед текстом, написанным красным цветом.
    659eee532a796683149306.png
    А потом уже вставить в веб-страницу текст без форматирования и разбирать его.
    Ответ написан
    Комментировать
  • Как выбрать IPS-FHD-монитор для игр?

    @Drno
    смотри хорошую ips матрицу с нужным откликом.. вопрос то в чем?
    Ответ написан
    Комментировать
  • Каким образом человек может попасть на хакнутый им сервер?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Могли оставить какой-нибудь скрипт, который по запросу из сети выполнить любой заранее заложенный или загруженный в процессе код. Могли майнер оставить. Могли какой-то сервис развернуть. Могли в крон положить скрипт который через Х дней даст доступ по ключу или добавит пользователя. А могли ничего не сделать. Вариантов слишком много :) Проще переустановить. Логи могли и подчистить.
    Ответ написан
    9 комментариев
  • Корректно ли создавать юзеров с подобными именами?

    ophil
    @ophil
    https://ophilon.github.io
    проблемы возникнут гарантировано. Имя не может начинаться с цифры, должно включать только ограниченный набор символов:

    adduser: Please enter a username matching the regular expression configured
    via the NAME_REGEX configuration variable.  Use the `--force-badname'
    option to relax this check or reconfigure NAME_REGEX.
    
    default NAME_REGEX="^[a-z][-a-z0-9]*\$"


    Неприятно смотреть даже на вполне обычные имена длинее 8 символов, например, last их режет, или имя в верхнем регистре, или зачем-то на русском. Впечатление, что люди не знают о GECOS
    Ответ написан
    Комментировать
  • Как сделать резервную копию сайта?

    @Refguser
    Решения для бизнеса: от создания ИМ до...
    Смешались в кучу кони.. Каким образом резервная копия поможет ускорить перенос/переезд? Никаким.

    Если интересует безотказность, но нужно иметь как минимуму два сервера в разных ДЦ (и лучше в разных странах) и смотреть в сторону балансировщика нагрузки. (И, естественно, моментальной синхронизацией данных).

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

    hint000
    @hint000
    у админа три руки
    Например, атоматически устанавливались обновления, а у какого-то из установленных пакетов изменились зависимости, что-то добавилось в зависимостях и поэтому это что-то автоматически установилось, чтобы не препятствовать обновлению. Но такое редко бывает и haproxy сам по себе не мелочь какая-то, чтобы внезапно появиться в чьих-то зависимостях. Но проверить легко - отдаёте команду на удаление haproxy (удаление начинается только после подтверждения [Y/n], так что можно не подтверждать и ничего фактически не удалять):sudo apt remove haproxy
    ...и смотрите список пакетов к удалению после строки The following packages will be REMOVED:
    Ответ написан
    Комментировать