Задать вопрос
Глубокие познания как в визуальном, так и программном дизайне, архитектуре, всего что связанно с клиентской и серверной разработкой на языке JavaScript и всех сопряженных с ним современных\актуальных\надежных технологий.
Контакты
Местоположение
Россия

Достижения

Все достижения (4)

Наибольший вклад в теги

Все теги (30)

Лучшие ответы пользователя

Все ответы (37)
  • Как определиться с профессией?

    @twoone
    Я никогда не встречал счастливых людей которые спрашивают советов как имеено им жить. Читайте, много читайте информации на интересующие вас темы и все сами поймете. Если вы не можете вычлинить правильную информацию спообную сделать вас счастливым, то уже ни один совет вас не спасет. К тому же советовать любят все, поэтому вы также огребете весь спектор возможных вариантов.
    Ответ написан
    3 комментария
  • Как исправить ошибку при декларации графики в Typescript?

    @twoone
    Для объявления пользовательских деклараций в корне проекта принято создавать директорию types, в которой для каждого покета создаетя поддиректоория содержащая файл index.d.ts. Имя поддиректории задается исходя из име пакета. В вашем случаи будет так ./types/svg/index.d.ts

    Для декларирования расширения достаточно объявления безтелесной декларации -
    declare module "*.svg";

    Осталось лишь указать путь до директории types вtsconfig.json в массиве "typeRoots": ["./types"]

    Для компилятора этого достаточно. Что косается поля include, по оно содержит массив путей для файлов участвующих в компиляции и в большинстве случаев объявляется совместно с полем exclude. В паре они помогают оптимизировать процесс компиляции.
    Ответ написан
    1 комментарий
  • Как сделать смену стилей CSS в зависимости от времени суток с помощью JS?

    @twoone
    Если сайт является spa то будет необходимо реализовать постоянную проверку времени и изменение темы путем вызова метода changeTheme.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <link id="time-theme" rel="stylesheet" href="">
        <script src="./time-theme.js"></script>
    </head>
    <body>
        
    </body>
    </html>

    let timeRanges = new Set([
        {range: {from: `24`, to: `4`}, name:`night`, href:`./dark-theme.css`},
        {range: {from: `4`, to: `12`}, name: `morning`, href:`./light-theme.css`},
        {range: {from: `12`, to: `17`}, name: `day`, href:`./light-theme.css`},
        {range: {from: `17`, to: `24`}, name: `evening`, href:`./dark-theme.css`},
    ]);
    
    const changeTheme = timeRanges => {
        let currentHour = new Date().getHours();
    
        for(let {range, href, name} of timeRanges){
            if(currentHour >= range.from && currentHour <= range.to){
                Object.assign(document.querySelector(`link#time-theme`), { href });
        
                break;
            }
            
        }
    }
    
    changeTheme(timeRanges);
    Ответ написан
    1 комментарий
  • Метод это функция или свойство?

    @twoone
    В классике метод (method) это функция ассоциированная с экземпляром класса (instance) (его объектом) или в случае статического метода непосредственно с самим классом. Свойствами (properties) называют геттеры (getters/get) или сетторы (setters/set). Так же геттер обозначают как акссесор, а сеттор как мутатор. Но зачастую можно встретить упоминание что геттер и сеттор, это аксессоры. Если метод содержит логику, то данные ассоциируются с полями (field). Методы, поля и свойства обозначают как члены (members) объекта\класса.

    Реализация классов в JavaScript отличается от классической поскольку построена на прототипах, что вносит некую долю путаницы. Путанница связанна с тем, что проблемы возникающие от потери контекста (this) вынуждают разработчиков изучать javascript намного глубже, чем это требуется в других классических языках. Из-за того что на уровне движка v8 все является членами объекта, то большинство склоняется что все в объекте это поля. И до момента объявления непосредственно методов {method(){}} это было справедливо. После необходимо разделять эти понятия даже если это всего лиш синтаксический сахар, поскольку даже в классических языках методы на самом низком уровне не могут быть чем-то отличными от полей. И всеже для ясности из называют методами.

    Исходя из всего этого методы точно не могут обозначатся свойствами.
    Ответ написан
    2 комментария
  • Можно ли размещать в портфолио проекты с пройденных курсов по React и JS?

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

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

    Поэтому ещё раз повторюсь - лучше не стоит. Создайте несколько страничек самостоятельно и засеките реальное время ушедшее на черновую работу и финальную работу с цучетом рефакторинга. Предоставьте действительно полезную информацию.
    Ответ написан
    Комментировать