Задать вопрос
  • Нужно ли эстимейтить больше времени на проект с нуля, если использовать с Reactом Typescript?

    fomenkogregory
    @fomenkogregory
    Юниор софтварный инженер
    Выглядит как будто ты ни разу не писал проект на тсе. тогда выделяй в 3 раза больше времени, пригодится когда будешь гуглить ошибки :)
    Ответ написан
    Комментировать
  • Как переделать код под ООП?

    Tim-A-2020
    @Tim-A-2020
    1. Идентификатор в коде документа должен быть в единственном экземпляре, иными словами, встречаться только один раз.
    2. Если элементы динамически не встраиваются, то поиск по class/id желательно вынести за функцию
    Сократить код можно примерно так
    class Scrolling {
        offset = null;
    
        scrolls() {
            const isOffset = pageYOffset > 100 ? "offsetOne" : "offsetSecond";
            if (this.offset != isOffset) {
                this[isOffset]({
                    registion: document.querySelector("#registion"),
                    vhod: document.querySelector("#vhod"),
                });
                this.offset = isOffset;
            }
        }
    
        offsetOne({ registion, vhod }) {
            registion.style.display = "none";
            vhod.style.cssText = "background:none;width:30px";
            vhod.innerHTML = "<img style='width: 20px; height: 20px;' src='SiteImage/logo_vhod.svg'>";
            PanelMenuLinks.style.cssText = "background:none;z-index:-1;margin-top:-45px;font-size:13px;color:#fff;border-top:0;";
            block_panel_menu_children.style.top = "10px";
            //block_panel_menu - заменить на класс.
            document.querySelectorAll("#block_panel_menu").forEach((item) => (item.style.height = "49px"));
            document.querySelector("#logotip").style.cssText = "opacity: 0;margin-top:-20px;";
            document.querySelector("header").style.height = "50px";
        }
    
        offsetSecond({ registion, vhod }) {
            registion.style.display = "block";
            vhod.style.cssText = "background:#626262;width:100px";
            vhod.innerHTML = "Регистрация";
            PanelMenuLinks.style.cssText = "background:#E7E7E7;margin-top:0px;font-size:18px;color:#000;border-top:10px solid #fff;";
            block_panel_menu_children.style.top = "20px";
            //block_panel_menu - заменить на класс.
            document.querySelectorAll("#block_panel_menu").forEach((item) => (item.style.height = "70px"));
            document.querySelector("#logotip").style.cssText = "opacity:1;margin-top:0px;";
            document.querySelector("header").style.height = "70px";
        }
    }
    const scroll = new Scrolling();
    window.addEventListener("scroll", scroll.scrolls.bind(scroll), false);
    Ответ написан
  • Как избегать foreach внутри foreach?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Как избегать foreach внутри foreach?

    Сделать его не явным

    Очень часто вижу на разных форумах, в коммах в вк и тд юзать цикл внутри цикла не правильно

    Глупости. Если у вас структура данных - массив массивов даже заюзав какой-нить array_map/array_values/array_keys/array_merge/... вы все равно будете использовать двойной цикл, пусть и не явно. В случае рекурсивного обхода у вас будет точно так же цикл внутри цикла и тоже не явно.

    Каким образом можно сделать это по другому(правильно) ?

    Написать цикл внутри цикла и не выпендриваться.
    Ответ написан
    Комментировать
  • Асинхронность это отложенность?

    freeExec
    @freeExec
    Участник OpenStreetMap
    В общем случае да. Представь, что у тебя код
    var imageFromInternet = GetImageByUrl("http://example.com/big-image.bmp");
    picture.image = imageFromInternet;

    Есть вариант, когда GetImageByUrl тормозит твой код, пока картинка из инета не загрузится, а это может быть и пол часа. А если тебе надо сказать 10 таких картинок - это за займёт больше суток. И всё зависло, ты даже прогресс бар не можешь нарисовать, потому, что твой код выполняется где-то внутри GetImageByUrl.

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

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

    iamd503
    @iamd503
    Верстальщик
    Рассмотри лучше ролики на ютубе.
    Ответ написан
    2 комментария
  • Как удалить последний элемент массива?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Удаляем один элемент:

    arr.pop();
    
    // или
    
    arr.length -= !!arr.length;
    
    // или
    
    arr.splice(-1);

    Удаляем несколько (const count = сколько надо удалить;):

    for (let i = count; --i >= 0 && arr.length; arr.pop()) ;
    
    // или
    
    arr.length -= Math.max(0, Math.min(arr.length, count));
    
    // или
    
    count > 0 && arr.splice(-count);
    Ответ написан
    Комментировать
  • Как проверить, если ли в массиве объект со свойством, имеющим определённое значение?

    neuotq
    @neuotq
    Прокрастинация
    Можно написать функцию с такой логикой:
    const searchName = "Login2";
    const data= [
     {
          "id": "1",
          "login": "Login1",
       },
       {
          "id": "2",
          "login": "Login2",
       }
    ];
    const hasName = (el) => el.login === searchName ;
    //Просто проверка
    console.log(data.some(hasName));
    Ответ написан
    Комментировать
  • Как проверить, если ли в массиве объект со свойством, имеющим определённое значение?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    array.some(el => el.login === 'login2')
    Ответ написан
    Комментировать
  • Как строить карьеру senior разработчику?

    opium
    @opium
    Просто люблю качественно работать
    вам 33 года уже поздно спрашивать пора уже самому решать что делать в жизни.
    Ответ написан
    3 комментария
  • Как работает эта часть алгоритма?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Пусть S = 1 + 2 + ... + n.
    Тогда, по условию задачи,
    a · b = S - a - b
    Зафиксируем a и решим уравнение относительно b:
    a · b + b = S - a
    (a + 1) · b = S - a
    b = (S - a) / (a + 1)
    Вот и получилась ваша формула.
    Ответ написан
    1 комментарий
  • Как войти в сферу и переехать (не знаю, что делать и сильно отчаялся)?

    inoise
    @inoise Куратор тега Карьера в IT
    Solution Architect, AWS Certified, Serverless
    Пока не начал ничего делать и ничего не добился - все это сопливые фантазии без права на существование. Если сейчас без входа в IT остальные варианты считаются неподъёмными то надо хотябы начать входить в IT. Когда это получится, а займёт это для большинства от года и более - тогда можно начать задумываться о перспективах.

    Сейчас вопрос ни о чем и под удаление
    Ответ написан
  • Как найти минимальную сумму после уникализации элементов массива путём инкрементирования дубликатов?

    0xD34F
    @0xD34F
    Отсортировать массив, при суммировании в качестве слагаемого брать текущий элемент массива или предыдущее слагаемое + 1, в зависимости от того, кто окажется больше:

    const getMinimumUniqueSum = arr => [...arr]
      .sort((a, b) => a - b)
      .reduce((acc, n) => (acc[1] += acc[0] = Math.max(acc[0] + 1, n), acc), [ -Infinity, 0 ])
      .pop();
    Ответ написан
    1 комментарий
  • Где проверить написанный мной код в js не понимаю?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Здесь же, в браузере, откройте Инструменты разработчика – Консоль. Там можно вводить код и исполнять, видеть результат и даже взаимодействовать с открытой страницей.
    как выглядит
    6000115993782313705181.png


    Другой вариант: на jsfiddle
    Ответ написан
    2 комментария
  • Как работает типизация в данном случае?

    bingo347
    @bingo347 Куратор тега TypeScript
    Crazy on performance...
    post<T = any, R = AxiosResponse<T>>(url: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
    Оба дженерика имеют типы по умолчанию, а значит если их не указать именно они и будут использоваться
    Когда мы вызываемaxios.post<ResponseApi>(/* ... */)мы явно указываем, что T - это тип ResponseApi, а R берется по умолчанию, то есть AxiosResponse<T>, что в нашем случае соответствует AxiosResponse<ResponseApi>, а если и дальше развернуть, то выходит, что R - это
    {
      data: ResponseApi;
      status: number;
      statusText: string;
      headers: any;
      config: AxiosRequestConfig;
      request?: any;
    }
    он и попадает в возвращаемый тип, обернутый в Promise, но TS знает про поведение await и деструктуризации, а следовательно без проблем вычисляет тип для data - ResponseApi
    Ответ написан
    2 комментария
  • /deletethis/deletethis?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Добрый день! Во-первых, респект вашей целеустремленности. Плюс задаете правильные вопросы.

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

    Я вижу 2 принципиальных стратегии по выбору ВУЗа и учебы в нем. Первая -- выбрать крутой ВУЗ (МГУ, Физтех, Буманка, МАИ...) и идти туда именно за знаниями и прокачкой. Чтобы в будущем быть не линейным программистом, а системным архитектором. Второй вариант -- пофиг куда, для галочки и отсрочки от армии. Тут самое главное соблюсти баланс, чтобы не выкинули из института и хватало времени на работу. Ваши текущие навыки, судя по описанию, это оверкил для 99% учебных заведений. Сложно будет учиться в ситуации если преподаватель знает меньше вас.

    В вашем вопросе вы не рассматриваете еще один вариант. Пойти на стажировку в IT-компанию. Во-первых это переход от теории к практике. Во вторых это понимание и изучение изнутри бизнес-процессов и работы в команде. То, чего не сможет дать ни один ВУЗ. А через нескольких месяцев стажировки можно и работу найти. Чтобы за год-полтора наколотить достаточно, чтобы не идти в армию.
    Ответ написан
    Комментировать
  • /deletethis/deletethis?

    @rPman
    Учебные заведения, в основном, это не место где ты получаешь знания, за очень некоторыми исключениями (например ты берешь проект/дипломную и работая со своим куратором изучаешь свою конкретно узкую область), это место:
    * где у тебя есть возможность получить затравку своим знаниям (как затравка для получения кристалла - подвешиваешь крохотную часть в раствор и со временем оно вырастает в огромный кристалл)
    Тут ты учишься учиться. Спросите, зачем мне эти знания что в меня вдалбливают в школе/универе - так вот это тренировка мозга, этот процесс как тренировка мышц выполнением бессмысленных повторяющихся движений и поднятия тяжестей.
    * где у тебя есть возможность получить очень небольшую мотивацию по учебе, логика тут примерно такая - ты уже потратил кучу сил/денег и бросать на середине пути - значит признаться что эти затраты были в пустую
    * главное, у тебя есть возможность встретиться с единомышленниками, людьми, которые как и ты крутятся в этой области знаний
    * и с боку - у тебя есть возможность встретить жену/мужа (если ты женщина), а учебное заведение выступает в качестве фильтра чтобы отсеять совсем уж быдло недостойных внимания (кстати женщины часто это делают, я знаю пример когда одна дама больше 10 лет сверх срока, оплачивала обучение именно с этой целью).
    p.s.
    * университет/институт - неплохое место чтобы найти работу, обычно туда идет работодатель за работниками, очень часто заключаются соответствующие договора с учебным заведением.
    Ответ написан
    2 комментария
  • /deletethis/deletethis?

    @mkone112
    Начинающий питонист.
    Я честно пытался прочитать эту дичь, но в ней слишком много бреда. Если тебя интересует самый выгодный вариант, то это поступление в нормальный вуз(обычно на город таких 2.5) и работа ~ со второго курса. А так - ты даже гуглить не научился, сомневаюсь что ты осилишь ... э ... что-либо.
    Ответ написан
    3 комментария
  • Как выбрать наибольшее или наименьшее число среди трёх переменных?

    @AVKor
    first = utils.random(1, 10)
    second = utils.random(11, 20)
    third = utils.random(21, 30)

    first - наименьшее, third - наибольшее.
    Ответ написан
    2 комментария
  • Могу ли я устроиться в компанию, с неофициальным опытом программирования на python?

    @dmshar
    Судя по вопросу, вам сейчас лет 15. А судя по другому вашему вопросу, где звучит "когда я ВЫУЧУ python", процесс еще не закончен. Откуда "большой опыт" на python взялся?
    Ответ написан
    3 комментария
  • Возьмут ли с Российским дипломом вуза за границу на веб-программирования junior'a?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Диплом нужен только как формальность уже на этапе оформления на работу.
    А на работу будут брать только по знаниям и умениям, если сумеешь пройти все этапы собеседований.
    У джуна шансов на это практически нет.

    Но в целом, за границу тебя возьмут с удовольствием. Узбекистан, Таджикистан, Нигерия и множество других стран. Это же заграница.
    У тебя огромные возможности уехать за границу.
    Ответ написан
    1 комментарий