• Как будет на одном ip и на одном 80 порту работать два сайта?

    Браузер, запрашивая сайт, шлёт заголовки запроса. В числе прочих, заголовок Host, в котором домен запрашиваемого сайта.

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

    Как, упрощённо, выглядит диалог браузера с сервером:
    // юзер вводит адрес http://qna.habr.com/
    // браузер ресолвит это имя в IP адрес и подключается к нему по порту 80
    // браузер шлёт запрос:
    GET / HTTP/1.1
    Host: qna.habr.com
    Accept-Language: ru
    
    // сервер, видя такое дело, соображает, что речь про сайт qna
    // и что надо отдать корневую страницу
    // отдаёт контент QnA

    Запрос на этот же порт на этом же IP для, скажем, сайта freelance.habr.com выглядел бы похоже:
    // юзер вводит адрес http://freelance.habr.com/
    // браузер ресолвит это имя в (тот же) IP адрес и подключается к нему по порту 80
    // браузер шлёт запрос:
    GET / HTTP/1.1
    Host: freelance.habr.com
    Accept-Language: ru
    
    // сервер понимает, что речь про сайт freelance
    Ответ написан
    Комментировать
  • Как называются элементы CLI в NodeJS и какие их комбинации возможны?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    command line interface уже давно выработал очень простой стандарт.

    Есть команда (внутренняя команда оболочки или внешняя утилита, вроде nodejs)
    Есть аргументы к команде
    Аргументы логически делятся на опции и параметры.

    Опции обычно начинаются с дефиса или двух (в POSIX стандарте один дефис для коротких опций, вроде -h, -e, два дефиса для длинных опций, вроде --help, --environment)
    Некоторые опции могут требовать параметр (--environment prod), некоторые нет.

    Параметры - это сами данные - названия файлов, устройств, другие данные в виде текста

    По стандарту POSIX короткие опции, которые не требуют дополнительного параметра, могут объединяться под одним дефисом ( пример: rm -rf )

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

    Ну и еще в CLI есть перенаправления, это отдельная лекция.
    Ответ написан
    1 комментарий
  • Договор о непереманивании: можно ли обойти?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Есть договор. В Европе. Можно как-то обойти?

    На любой подобный вопрос ответ один - нужен текст договора и юрист, шарящий в ваших юрисдикциях. В угадайку играть смысла нет. Кто-то может и был в похожей ситуации, но конкретно ваши договоры - это конкретно ваши договоры, а не какие-то похожие на них. Плюс, помимо формальных законов есть эффект редиски. Если кто-то ведет себя как редиска, с ним никто не хочет иметь дел. Может быть ваш стартап по закону и не будет должен денег аутсорсу, но аутсорс потом этот стартап пошлет куда подальше, а им это может не нужно. И снова, мы не знаем ваших конкретных деталей и мотиваций участников конфликта.
    Ответ написан
    1 комментарий
  • Почему может тормозить Samsung 980 PRO?

    @Wexter
    Так написано же что он подключен по 3.0 x2, вместо 4.0 х4. Поэтому и скорость низкая
    614875a62a9cb853215420.png
    Ответ написан
    7 комментариев
  • Кажется окончательно убил Windows 10?

    lukoie
    @lukoie
    позвонил другу, потыкали там всякие кнопки

    мда... информативно...
    Вы реально расчитывали что на тостере результат будет более продуктивным?
    Грузитесь с любой загрузочной флешки.
    Заходите в папку ц\виндовс
    copy setch.exe setch2.exe (то есть бекапим файл setch.exe)
    copy cmd.exe setch.exe (то есть вместо файла setch.exe перезаписываем файл cmd.exe)
    перегружаетесь.
    При входе в винду, там где не помните пароль, жмете пять раз клавишу Shift. Откроется окно коммандной строки. Там пишете
    net user admin Qwerty
    при условии что админский логин был admin у Вас установится новый пароль Qwerty
    если не помните какой был юзер, пишите
    net user sokolar Qwerty /add
    так создастся пользователь sokolar с паролем Qwerty
    Ответ написан
    Комментировать
  • Кажется окончательно убил Windows 10?

    HemulGM
    @HemulGM Куратор тега Windows
    Delphi Developer, сис. админ
    *facepalm* Ну да ладно...
    1. Пароль от учетки MS нельзя сбросить через сайт, если твой комп не подключен к интернету. Следовательно там всё тот же старый пароль. И он будет синхронизирован при первом же подключении к сети.
    2. Пароли в BIOS - это пароли на BIOS (удивительно, правда? А не сразу поймёшь).
    3. Пароль в BIOS так же убирается как и ставится. Либо же сбрасывается BIOS.
    4. Пароль можно сбросить через сторонний софт. Например, Active Password Changer, который есть на LiveCD или например Hiren's.

    Если не умеешь и не понимаешь и, судя по всему, не умеет и не понимает твой друг, то нужно дать это сделать тому, кто знает и умеет. В нормальных "мастерских", это будет стоить 500р, если это не мошенники. Во избежании потери данных, я советую отдать это в сервис.
    Ответ написан
    4 комментария
  • Почему 192.168.1.0/23 и 192.168.0.0/23 одно и то же?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вы просто не понимаете смысл короткой записи маски.
    /23 означает, что первые 23 бита маски равны единице, а последние 32-23 = 9 бит равны нулю.
    Таким образом маска будет 11111111.11111111.11111110.00000000 = 255.255.254.0
    Теперь разложим побитно ваши адреса:
    Маска:   11111111.11111111.11111110.00000000 = 255.255.254.0
    Адрес 1: 11000000.10101000.00000000.00000000 = 192.168.0.0
    Адрес 2: 11000000.10101000.00000001.00000000 = 192.168.1.0
    Чтобы преобразовать эти адреса в сети надо выполнить побитовый логический AND адреса с маской. Получим
    192.168.0.0 & 255.255.254.0 = 192.168.0.0
    192.168.1.0 & 255.255.254.0 = 192.168.0.0
    Таким образом, оба адреса входят в одну сеть размера /23.
    Правильное обозначение этой сети 192.168.0.0/23.
    Ответ написан
    1 комментарий
  • Как записать Windows на флешку из-под Linux?

    @rPman
    В режиме UEFI на флешку, отформатрованную FAT32 достаточно скопировать содержимое ISO образа, и все должно работать, так как биос будет искать в корне флешки каталог EFI итам boot...

    Но вот в legacy режиме, когда нужен бут сектор, могут возникнуть нюансы. Например на старых машинах, у меня не удавалось загрузитьс я с флешек объемом больше 8Гб. Так же могут быть проблемы, если флешка подключается через картридер (например это карта памяти).

    В особых случаях (когда в биосе есть пункт меню что то типа загрузиться с usb cdrom) рабочую загрузочную флешку удавалось создать простым посекторным копированием образа с помощью dd, так что пробуй.

    p.s. можно загрузиться в установщик windows, загрузившись сначала в linux grub (ты говоришь проблем с linux нет), нажимаешь C чтобы войти в командный режим grub
    ls (hd0,1)/

    покажет содержимое диска 0 раздела 1, перебирая цифры найди раздел флешки, где развернут установщик windows
    set root=(hd0,1)
    chainloader +1
    boot


    p.p.s. можно первый этап установки, до первой перезагрузки, провести в виртуальной машине, подключив физический диск как диск виртуалки, это 100% работало всегда и позволяет вообще не делать загрузочный диск windows, т.е. хватит iso образа
    Ответ написан
    Комментировать
  • Что здесь не так?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    ['name'].';

    Если не описка, то не закрытая скобка. Включите вывод ошибок в пхп
    Ответ написан
  • Как быстро отбирать качественные видео на ютубе для реализации конкретных но совершенно новых задач?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Ответ вроде уже на поверхности, но вы не желаете его видеть - не следует учиться по видео, если это не какой-то практический навык вроде разборки ноутбука

    Скорость извлечения информации из текста по сравнению с видео у среднего человека пятикратна. У подготовленного этот показатель еще лучше. И да, быстрая перемотка здесь не поможет.

    Если вам проще воспринимать информацию на слух чем на глаз, подумайте над тем, а ту ли профессию вы выбрали.

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

    Далее

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

    СЮРПРИЗ

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

    Вывод - первичным источником информации всегда является текст.

    Учитесь по текстам.
    Ответ написан
    4 комментария
  • Нужна ли формам семантика?

    @asmodeus13th
    Семантика нужна не только для удобства слепых и любителей TAB клавиши. Почитай статьи, как это влияет на поиск в гугле, восприятие плагинами, дополнениями и ботами. Даже тот же ИИ настраивают под семантику. В эту тему можно нырнуть на очень большое время, но основа (вкратце) - возможность понимать друг друга. Время , потраченное на создание архитектуры проекта, может быть больше, чем на написание кода. Зачем? А это самое интересное! Во- первых, ты уберегаешь себя и коллег от возможных багов и позволяешь легко ориентироваться по файлам, не зависимо от размера и познания в проекте. Хороший код - тот, который можно легко читать. Зачастую приходиться уступать производительностью ради читабельности. Придерживаться семантики - значит писать в едином стиле со всеми разработчиками. Даже если опустить архитектуру, то семантика нужна и для различных ботов. Вот написал я плагин для хрома, который делает мини-навигацию по форме (на самом деле ничего я не писал, просто привожу пример) и ориентируется поиск по тегу с формой, а у тебя на странице такого даже нет и всё, плагин работать не будет. А теперь представь какую фичу ты упускаешь, когда прячешь разметку от гугловских ботов. Любые таблицы, правила, списки и прочие семантические данные выводятся на странице поиска. Попробуй загуглите какую-то страну или инструкцию для, например, убунту. Гугл выведет информацию из Википедии или другого ресурса, не заходя на сайт. Думаешь, Телеграм не использует семантику? Вот весь такой оптимизирован благодаря ей. Посмотри на ютубе семинары от HTML Academy по семантике. Там всё доступно объясняют (что очень большая редкость для онлайн курсов). Понятное дело, что собирая сайт через фреймворки или путем встраивания html из js, боты не увидят эту семантику, а просто один тег с Id=“root”. Если взять в пример Figma, то семантики ты не увидишь, так как это не задумывалось как сайт, а скорее как приложение. Не придумали в html ещё таких тэгов как «рисовать пером» или что-то вроде «шаблон шаблона страницы». В общем семантика должна быть там, где она уместна. Если тебе не нужны привилегии семантической разметки или это соло проект без развития или вообще ты делаешь проект на оте*бись для плохого заказчика за 5$, то можешь не заморачиваться. Но в остальных случаях хорошей практикой, да и просто для себя, будет уместно и очень полезно использование семантики.
    Ответ написан
    1 комментарий
  • Нормально ли я отрефакторил if-else?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Я бы посоветовал оставить начальный вариант, т.к. если сделаете banchmark'и - вы увидите, что он будет быстрее вашей реализации.
    Т.к. в начальной реализации нет доп. вызова функции, а в вашей есть getRulesResult.
    Чтобы вызвать функцию - нужно положить значения в стек, а по завершению извлечь.
    За счёт этого ваша реализация будет работать медленнее.
    Но это замечание справедливо только для функций, скорость выполнения которых критична, как сортировка например.

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

    Но и визуально первый вариант понятнее.
    Оцениваю просто по времени, которое нужно затратить на то, чтобы понять как работает начальная реализация и ваша, на начальную ушло меньше времени.

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

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

    Обычно, код, который нужно рефакторить выглядит во много раз непонятнее, это может быть простыня на несколько экранов монитора :)), а когда в такой простыне еще и цикломатическая сложность огромная (вложенность if'ов и for'ов большая) - такой код вообще очень трудно понять :)
    Вот тут самое то для рефакторинга.
    Ответ написан
    3 комментария
  • Стоит ли подписывать согласие на обработку персональных данных до того как прислали оффер?

    part_os
    @part_os
    Сложное в простом
    а что вас смущает? у вас есть данные, их нужно вносить в программу например hr сканер, уже идёт обработка. люди в компании начинают их смотреть. паранойя должна быть контролируемой, ваши данные уже давно у всех есть, это формальность.
    Ответ написан
    6 комментариев
  • Почему событие onchage не срабатывает для select?

    @alexalexes
    Есть события: click, change, input и т.д.
    Привязка обработчика соответствующего события с использованием атрибута тэга осуществляется с приставкой on:
    <select id="selectTheme" onchange="alert('Theme changed')">
    </select>

    Но в тоже время, привязка обработчика события с использованием addEventListener не требует указания on, берется само название события и с названием атрибута не нужно путать:
    sel.addEventListener('change', (event) => {
        	alert('Theme changed');
        })
    Ответ написан
    3 комментария
  • Как верстают сайты на React и Next?

    MrDecoy
    @MrDecoy
    Верставший фронтендер
    Верстка делается сразу в React компонентах ? Или вначале делается классическая верстка, а потом переносится в React?

    Как Вам удобнее.
    Можно заказать вёрстку на аутсорсе, а потом перевести на реакт. А можно сразу верстать на реакт компонентах.

    Если я делаю какой-то сложный с точки зрения вёрстки компонента - я сначала просто верстаю его на чистом HTML, потом декомпозирую на подкомпоненты, если это имеет место быть, а потом накидываю реактивность и логику условного рендеринга. Я считаю, так компонент получается качественнее, с точки зрения вёрстки.

    если сайт на React, там все должно быть на React или допускается сделать некоторые элементы на нативном Js

    Реакт по своей природе - библиотека, которая может быть добавлена на любой сайт.
    Что означает, что у вас может быть 90% статичной вёрстки и 10% на реакте(какие то виджиты, отдельные блоки или сложные формы).
    И наоборот.
    Как и 100% на реакте.
    Ответ написан
    Комментировать
  • Как собирать данные с медицинской аппаратуры?

    @VT100
    Embedded hardware & software.
    Судя по тому, что Вы - анестезиолог, - речь идёт о стационарных приборах в палате интенсивной(?) терапии. Значит - стоит задача получать данные "in situ".
    Первое - убедитесь, что все приборы имеют выход LAN. Так Вы получите соответствие(?) требованиям по изоляции "на шару".
    Второе - "по локоть" погружаетесь в Гугль и ищете документацию на приборы. Параллельно - ***те АХО (или как оно у Вас называется) на тот-же предмет (а так же - где куплено, чтобы ***ть мозги и продаванам).
    Третье - продумайте Т.З. на основе найденной информации.
    Четвёртое - найдя документацию и/или ПО производителей пишете нужный софт на ПК сами или с привлечением сторонних специалистов.
    Пятое - не забудьте армейское правило инициативы.

    Ежели найдутся динозавры с COM и будет их меньшинство - оставьте их, как и USB, без внимания. Совет hint000 "Начните с COM." хорош быстротой. Но содержит подводный камень изготовления и сертификации "железа" (см. п. 1).

    Техподдержка не поможет.

    Почему? Фирмы прекратили существование? Или перешли, как это нынче модно у нетрадиционных, на модель Any_Peace_Of_Shit-As-A-Service?

    P.S. Короткий ответ на вопрос - "Да, можно." Правильный - "Недостаточно исходных данных."
    Ответ написан
    2 комментария
  • Встраиваемая бд которая лучше sqlite?

    @acwartz
    Тут должна быть ваша реклама.
    Да нету их особо, SQlite да вроде бы Firebird умеют быть встроенными-переносными без лютого бэкграунда.
    На мой взгляд у вас либо неправильная постановка задачи либо непраильная организация данных, либо тупо лень-матушка делать данные удобными для быстрого поиска.
    Кроме того есть прям-прям специальные решения для быстрого полнотекстового поиска по текстам, вряд ли среди них есть встраиваемые легковесные решения, ElasticSearch тот же.
    Ответ написан
    1 комментарий
  • Как создать ограничение доступа к просмотру записи?

    Fragster
    @Fragster
    помогло? отметь решением!
    Создаешь политику: https://laravel.com/docs/8.x/authorization#creatin...
    описываешь логику (ну, чтобы там автор, админ и назначенные могли видеть, автор и админ - менять, или любую свою), и в контроллер добавляешь регистрацию этой политики в конструктор: https://laravel.com/docs/8.x/authorization#authori...
    Ответ написан
    Комментировать
  • Приложение для анализа диска Linux?

    deepblack
    @deepblack
    NCurses Disk Usage

    sudo apt install ncdu
    Ответ написан
    Комментировать
  • Можно ли в запросе получить сразу 2 записи, по параметру, который известен в 1?

    BorLaze
    @BorLaze
    Java developer
    Именно две или первая нужна постольку поскольку нужно поле mytarget из нее?

    Если важен только последний запрос, можно сделать так
    SELECT result 
    FROM mydata 
    WHERE id < '127' AND mytarget = (SELECT mytarget FROM mydata WHERE id = '127')
    ORDER BY id DESC 
    LIMIT 1


    Если же нужны именно обе строки, тогда UNION
    SELECT result, mytarget 
    FROM mydata 
    WHERE id = '127'
    
    UNION 
    
    SELECT result, mytarget 
    FROM mydata 
    WHERE id < '127' AND mytarget = (SELECT mytarget FROM mydata WHERE id = '127')
    ORDER BY id DESC 
    LIMIT 1


    Насчет быстрее, сказать трудно; но обычно два запроса выполняются дольше одного, пусть и сложного.
    Ответ написан
    2 комментария