• Что почитать начинающему системному администратору?

    edinorog
    @edinorog
    Троллей не кормить!
    Ну и теперь к тому что должно стоять на полке по любому.
    - Компьютерные сети. Принципы, технологии, протоколы Виктор Олифер, Наталия Олифер
    - Unix и Linux. Руководство системного администратора Эви Немет, Гарт Снайдер, Трент Р. Хейн, Бен Уэйли
    - Microsoft Windows Server 2012. Полное руководство Рэнд Моримото, Майкл Ноэл, Гай Ярдени, Омар Драуби, Эндрю Аббат, Крис Амарис
    - Системное и сетевое администрирование. Практическое руководство Томас А. Лимончелли, Кристина Хоган, Страта Чейлап
    - ну и вот тут видеокурс по сетям http://linkmeup.ru/
    Ответ написан
    2 комментария
  • Почему хром не видит медиа зпросы css?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Вюпорт прописали?
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    Ответ написан
    1 комментарий
  • Как работает модуль cluster в nodejs?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Без cluster нода работает на 1 ядре, для масштабирования создаются новые процессы через cluster.fork(); Каждый из процессов может узнать, он главный или дочерний, через cluster.isMaster и cluster.isWorker. Между процессами можно передавать сообщения (события) и сокеты (дескрипторы сокетов). Таким образом, tcp или http сокеты принимаются главным процессом, а на обработку отправляются в один из дочерних. Это в двух словах, подробнее хорошо все написано в доках https://nodejs.org/api/cluster.html
    Ответ написан
    4 комментария
  • Как работают WebSockets?

    bingo347
    @bingo347
    Crazy on performance...
    WebSocket - постоянное соединение поверх http(s)
    При установлении соединения происходит рукопожатие с помощью специальных http заголовков, после любая сторона в любой момент времени (пока соединение не прервется) может писать в тело запроса сообщения. Каждое такое сообщение представляет из себя передаваемые данные + мета-данные

    1. Можно найти сходство с tcp, только вместо пакета у нас сообщение. Так как ws работают поверх http, который в свою очередь работает поверх tcp, то формально одно сообщение может быть разбито на несколько tcp пакетов, а в одном пакете может содержаться несколько сообщений, однако единицей данных для ws является именно сообщение
    2. ws - это постоянное соединение, которое будет висеть пока любая из сторон не закроет его либо пока не оборвется связь. Так как сокет формально может простаивать (когда нет обмена данными), то tcp соединение для него нужно открывать с опцией keep-alive, а так же желательно отправлять http заголовки для keep-alive в рукопожатии.
    3. Любая сторона может в любой момент времени может отправить любое количество сообщений. Получающая сторона получит данные, когда до нее дойдут все tcp пакеты самого раннего из сообщений (это гарантирует, что сообщения придут в том же порядке, в котором они были отправлены)
    Ответ написан
    6 комментариев
  • Как принять изображение на сервере?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Ответ написан
    Комментировать
  • Как расположить flex элементы под друг другом?

    Как сказал muryn.official на флексах нельзя. Можно на гриде. Тут несколько примеров есть - https://gridbyexample.com/examples/
    Ответ написан
    1 комментарий
  • Как отправить данные из mongodb?

    bingo347
    @bingo347 Куратор тега Node.js
    Crazy on performance...
    насколько понимаю koa?

    что бы koa дожидался Вашего асинхронного действия в роуте, нужно возвращать промис:
    router.get('/1', ctx => new Promise(resolve => {
        mongoClient.connect(url, (err, client) => {
            client.db("qq").collection("bb").find({}).toArray((err, users) => {
                ctx.body = users;
                console.log(users);
                client.close();
                resolve();
            });
        });
    }));


    P.S. открывать новый коннект с БД на каждый запрос не очень то хорошо...
    Ответ написан
    1 комментарий
  • Как процессор понимает ОС?

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

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

    для адекватного понимания и редактирования программы пишут на языках, которые специально созданы для "человека" :)
    для исполнения в процессоре программы из "человеческого языка" компилируют в исполняемый двоичный код.

    компиятор тоже написан на "человеческом языке" и потом скомпилирован в исполняемый файл.
    Ответ написан
    7 комментариев
  • Чем отличаются Javascript и ECMAscript?

    xanep
    @xanep
    Что было сначала — курица или яйцо? :)
    Чтоб понимать как соотносятся Javascript и ECMAscript, нужно окунуться немного в историю. Javascript был создан как скриптовый язык для Netscape. Майкрософт создал свой скриптовый язык для IE, который назывался JScript. Естественно использовать 2 языка для разных браузеров было не кошерно и Netscape инициировало стандартизацию, в результате чего родился стандарт языка ECMAscript. ECMAscript не привязан к браузерам, сам по себе не имеет средств ввода/вывода. Последующие версии языков Javascript и JScript были приведены в соответствие стандарту ECMAscript. На основе этого стандарта также был создан ActionScript.
    В итоге сегодня Javascript состоит из 3-х практически отдельных частей
    — Ядро (полностью соответствует стандарту ECMAscript),
    — Document Object model (DOM)
    — Browser Object Model (BOM)
    DOM — это API для достука к HTML. Его спецификацию вы можете найти на сайте W3C. BOM в каждом браузере реализован по своему. Соответственно вы найдете спецификацию Javascript от Mozilla (как наследницы Netscape) на их сайте. Отдельно можете почитать спецификации ECMAscript и DOM.
    В итоге получается, что изначально стандарт ECMAscript был основан на Javascript, а потом Javascript основан на ECMAscript. Вот так запутанно :)
    Ну а приставка Java — это маркетинговый ход. Java была очень на слуху в 90-х, поэтому и выбрали такое название. Точнее даже переименовали язык из LiveScript в Javascript.
    Ответ написан
    1 комментарий
  • Что означает первый параметр в async функции koa?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Вместо req & res один параметр ctx, в котором доступны ссылки на заголовки и тело, отправляемые в ответ
    Это не только для async функции, а вообще в Koa

    ctx.body = { yo: 'Nigga' }
    Ответ написан
    Комментировать