• Как процессор понимает ОС?

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

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

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

    компиятор тоже написан на "человеческом языке" и потом скомпилирован в исполняемый файл.
    Ответ написан
    7 комментариев
  • Как правильно сделать фон из несколько картинок?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    1. Фон бывает множественным, фоны пишутся через запятую, последний самый нижний. Цвет пишется к нижнему фону.
    Совершенно незачем городить несколько блоков ради этого.

    2. Что мешает объединить в одну картинку 2 слоя?

    Большего без макета не сказать.

    Ну а ошиблись:
    1. Фон header'a нужно задавать header'у, а не куче блоков.
    2. Кроме позиционирования блоков есть позиционирование непосредственно фонового изображения background-position.
    3. position: absolute для .img будет позиционировать блок относительно body, а у вас речь вроде про вертску header
    4. .main внутри header выглядит странновато.
    5. header display:flex чтобы что?
    6. position: relative у .img-two чтобы что?
    7. top: 0 и margin-top: 83px - почему не написать в 1 строчку top:83px
    Ответ написан
    5 комментариев
  • Как на React можно реализовать scroll?

    0xD34F
    @0xD34F Куратор тега React
    onScroll = e => {
      if (e.target.offsetHeight + e.target.scrollTop === e.target.scrollHeight) {
        /*
         * здесь предпринимаете действия, имеющие своим результатом
         * демонстрацию дополнительного контента
         */
      }
    }

    <div onScroll={this.onScroll}>
      ...

    https://jsfiddle.net/kszqufd7/
    Ответ написан
    Комментировать
  • Как обновить компонент?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    add = () => {
      fetch('/users/', { method: 'POST' })
        .then(res => res.json())
        .then(count => this.setState({ count }));
    };
    Ответ написан
    Комментировать
  • Передача API через REST framework к React-Redux?

    rockon404
    @rockon404
    Frontend Developer
    Можно использовать nginx. Пропишите в /etc/hosts хост приложения:
    127.0.0.1 my-app

    В nginx.conf в секцию server:
    server {
      listen 80;
      server_name my-app;
    
      location ^~ / {
        proxy_pass http://localhost:3000/;
      }
      location ^~ /api/ {
        proxy_pass http://localhost:8000/api/;
      }
    }


    Обращайтесь к приложению в браузере как к my-app и к API в приложении как к /api.
    Ответ написан
    1 комментарий
  • Как правильно начать изучение django?

    alxpy
    @alxpy
    Я бы посоветовал учить дальше в такой последовательности:
    Питон: Читая Лутца, можно состариться ;-) Для начала прочтите Укус Питона и Погружение в Python 3 (да, учите сразу 3й питон). Лутца и потом можно полистать, по мере необходимости.
    Джанго: Документация: en | ru | форумы
    БД: Для старта вам хватит просто познакомиться с SQL и пройти уроки.
    Дополнительно:
    Прочитайте про такие уязвимости: XSS, CSRF, SQL injection и т.д.
    Еще гляньте flask (можете даже начать с него, а не с джанго) и tornado.
    Ответ написан
    Комментировать
  • Зачем использовать __init__?

    @vanillathunder
    Переменные в классе при создании объекта будут иметь одно и то же значение, а при инициализации через конструктор ты можешь передавать разные значения.
    Ответ написан
    Комментировать
  • Как разобрать объект?

    const newArray = Object.keys(checkboxGroup) // Превращаем объект в массив ключей checkboxGroup
         .filter(name => checkboxGroup[name].checked === true) // Создаем новый массив из ключей, в котором будут только те, для которых у объекта - checked есть истина
         .map(name => checkboxGroup[name].value); // Создаем новый массив из свойств value
    Ответ написан
  • Как указать путь к файлу через модуль fs?

    3Lvcz
    @3Lvcz
    Фронтенд разработчик
    Как правило слиянием пути к директории в которой находится данный файл __dirname и относительного пути к файлу относительно нее.

    my_project/
    ├── assets/
    │   └── somefile.txt
    ├── src/
    │   └── script.js
    └── package.json


    // script.js
    
    var fs = require('fs'); 
    var path = require('path');
    
    var filePath = path.join(__dirname, '../assets/somefile.txt');
    
    fs.readFile(filePath, function (err, data) {
      console.log.info(data.toString());
    });
    Ответ написан
    2 комментария
  • Как указать путь к файлу через модуль fs?

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

    Почитай доку про файловую систему (модуль fs) непосредственно к вопросу относятся разделы (File paths, URL object support, File Descriptors)

    И в дополнение к ответу Евгений почитай доку про path (непосредственно к вопросу относится join, normalize) и по __dirname

    P.S. Читай офф. доки. Многие вопросы сразу пропадут. Если не понимаешь по англ. юзай переводчик и эксперементируй с кодом. Несколько дней и будешь в доках легко ориентироваться, и с нодой по ближе познакомишься. Кстати, есть отличный сайт, где собрано много разных доков. devdocs.io
    Ответ написан
    Комментировать
  • Почему в setState имя свойства обёрнуто в квадратные скобки?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Поддержу 0xD34F , слегка дополню своими словами:

    У разработчика, наверняка, было много однотипных функций. Чтобы не городить копипасту, он передает свойство type в обработчик, а потом его сразу же "считывает" в момент setState.

    Получается, что если в type (это переменная) пришло, например "name" (а это строка) - то в setState будет изменяться name свойство стейта.

    В js для удобства, можно свойство считать через точку:

    const myObj = {
       name: 'Max',
       city: 'MSK',
    }
    myObj.name // Max
    myObj['name'] // Max
    
    const type = 'name'
    
    myObj[type] // -> myObj.name  -> Max (в переменной type была строка "name")
    myObj.type // -> myObj.type -> undefined (так как свойства type у нас нет)


    здесь в видео на 43:35 начинаем разбираться с [ вычисляемым свойством ]
    Ответ написан
    3 комментария
  • Почему в setState имя свойства обёрнуто в квадратные скобки?

    0xD34F
    @0xD34F Куратор тега React
    Вычисляемые имена свойств.

    Этот метод стоит на событие onChange.

    Сомнительное утверждение. "На событие" "стоит" не handleChange, а функция, которую он возвращает. По-видимому, необходимо единообразно обрабатывать события, возникающие в разных местах - единственные отличия, это имена обновляемых свойств, для каждого из которых создаётся собственный обработчик. Что, кстати, делать вовсе не обязательно - есть вариант прицепить значение type к элементу в виде data-атрибута, и тогда можно будет использовать общий обработчик:

    handleChange = ({ target: { value, dataset: { type } } }) => {
      if (value.length <= limits.user.max) {
        this.setState({
          [type]: value,
        });
      }
    }

    <input onChange={this.handleChange} data-type="xxx">
    <input onChange={this.handleChange} data-type="yyy">
    <input onChange={this.handleChange} data-type="zzz">
    Ответ написан
    Комментировать
  • Какой софт написать, чтобы при собеседовании на js junior выделиться среди других соискателей?

    @polnikale
    Просто можешь скопировать какую-то SPA. Написать упрощенное подобие своего инстаграмма, или свой трелло создать.
    Если у тебя воображение очень хорошо варит, можно что-то своё придумать, а можно просто сделать что-то похожее на какое-то крутое приложение
    Ответ написан
    2 комментария
  • Синхронный и асинхронный код, почему так называется?

    MarcusAurelius
    @MarcusAurelius
    автор Impress Application Server для Node.js
    А сам код синхронным не называется, это его по ошибке или для упрощения так называют. Синхронным и асинхронным называется только API ввода-вывода, т.е. операции, прерывающие исполнение кода и требующие от системы обратиться к внешнему устройству, работающему не синхронно с центральным процессором. Операции ввода-выдвода, каковые есть: работа с дисками, портами, контроллерами, периферийными устройствами, как клава, мыша, тачскрин, разные датчики, вебкамера, сетевые карты, блютузы и другие радиомодули, принтеры, видеокарты и прочее. Все они получают задание от программы, и исполняют его отдельно, своими мощностями. Потом внешние устройства присылают программе сигнал о статусе исполнения и, возможно, полученные данные. Программа все это время может ждать (если у нее синхронное API, т.е. блокирующее) или что-то делать (если асинхронное, т.е. не блокирующее). Если программа ждет, не переходит к выполнению следующего действия, то это синхронный ввод-вывод, потому, что осуществляется процесс синхронизации программы с внешним устройством. Внешне устройство посылает прерывание, которое обрабатывает операционная система и через несколько слоев драйверов оно попадает в программу, обычно в виде колбека или события. Если программа ждала, то вызов API не завершался, она все время слушала, когда придет событие о завершении операции ввода вывода, а получив его API отдает ответ и управление переходит к следующей команде, что и называется, синхронизацией с периферийным устройством. Если программа не ждала, то вызов API сразу завершается и не блокирует поток выполнения программ, это называется асинхронным API, потому, что процесс синхронизации не происходит явно, а ответы возвращаются через события.
    Ответ написан
    3 комментария