• Как правильно затипизировать данный кусок кода?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    Если не используете Node.js то просто исключите типы для неё из конфига TS.
    Тогда у вас setTimeout будет возвращать простой number, а clearTimeout будет принимать number | undefined. И никаких проблем.)

    Если же код ноды по каким-то причинам у вас идёт вперемешку со фронтовым кодом, то для фронтовых таймеров можете писать явно window.setTimeout и window.clearTimeout.
    Ответ написан
    Комментировать
  • Как разработать графический конструктор отчётов для пользователей?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Погоняйте SSRS Builder. Ну или эксель. Или Power BI или Power App.

    По идее это все делалось для пользователей что бы они накидали по быстрому и все, в итоге можно увидеть Power BI senior enginer.
    Что конкретно доставляет. И программы нифига не простые. Мне вот проще накидать скрипт, создать нужную вьюху и прокинуть в SSRS
    Ответ написан
    3 комментария
  • Как отформатировать миллисекунды на минуты, часы, дни?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    new Date(298999).toLocaleString('en', {minute: '2-digit', second: '2-digit'}) // 04:58
    Ответ написан
    Комментировать
  • Вопрос про изучение C# – оптимальная методика?

    twobomb
    @twobomb
    Да нормально, это. Я начал знакомство с программированием с языка C++, потом появилась необходимость коё-что сделать на VBA(visual basic for application), выучил его, потом на веб потянуло, выучил js,html, потом полез в бекенд php пришлось осознать что такое бд, поработал с mysql, postgres. Потом решил создать онлайн игру полез в node js, там познакомился с mongodb. Потом столкнулся с Java, за пару недель выучил java и новомодную оболочку javafx. Потом была необходимость разбираться с ассемблерами, masm, fasm, написал загрузчик, упорол флешку, сложно, забил. Потом узнал про C#, полез туда win forms, wpf, опять в геймдев потянуло , полез в Unity параллельно занимался моделированием для игры, познавал себя в блендере, до этого на 3д максе работал. Где-то среди всего этого еще затерялся action script 3 (это язык для флеша, пусть земля ему будет пухом), на котором я тоже делал игруху на бокс2д, чтобы карты для неё можно было создавать через tiled map editor. И это всё малый список из того что я попробовал в первые годы входа в среду программирования, там еще кучи фреймворков было опробовано на разных языках.
    Ну и естественно бывало когда я обучался сразу в 3х+ разных языках. На самом деле самое сложное это определится чего ты хочешь, чем конкретно тебе нравится заниматься, особенно если нравится всё. Поэтому ваше 'я учу C#, а может быть мне хтмл поковырять' выглядит смешно.
    Ответ написан
    Комментировать
  • Обычная и служебная страница CMS на одном адресе?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Если страница не перегружается, то либо аякс, как написали выше, либо тупо часть контента скрывается, и вместо него показывается другая, ранее скрытая. И в том и в другом случае просто работа яваскрипта по манипуляции с элементами странички.

    Судя по упомянутым пост и гет запросам, возможен вариант что страница перезагружается, а в зависимости от метода запроса, показывается разный контент, что еще проще, но в целом немного криво архитектурно. Реализуется простой проверкой на метод запроса в коде бэкенда.
    Ответ написан
    2 комментария
  • Стоит ли использовать микрокомпьютер для удаленной работы?

    @rPman
    Это нормальный рабочий вариант, если недостатки удаленной работы тебя не пугают (лаги и зависимость от наличия интернета)

    Покупать отдельный компьютер не требуется, достаточно планшетника или даже смартфона. Usb хаб для подключения мыши и клавиатуры либо bluetooth (что бы не занимать разъем для питания). Для подключения смартфона, не имеющего hdmi разъема использовать адаптер miracast или еще называют wifi hdmi (примерно 1-2т.р.), настоятельно рекомендую протестировать в магазине с вашим устройством, у меня лежит один, который для конкретного планшетника поворачивал экран на 90 градусов (я тогда это не победил), глючил скорее всего планшетник, так как со смартфонами все работало нормально
    Ответ написан
    Комментировать
  • Стоит ли использовать микрокомпьютер для удаленной работы?

    @Drno
    Я за intel Nuc(который ввиде флешки) или RPI

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

    Берите ноут, хоть 1 рабочее устройство будет если что. С точки зрения логики и подстраховки это единственный нормальный вариант
    Ответ написан
    2 комментария
  • TypeScript. Как сделать оверлоад объекта стрелочной функции?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    ТС недостаточно умный для этого. Решает он так, потому что когда ты делаешь SomeType extends BaseType для аргумента функции, внутри функции значение этого аргумента просто BaseType и автоматический вывод исходит из этого. Тут либо добавлять руками оверлоады и на враппер, или пробовать писать головоломный тип, или обойтись без оверлоадов явными условиями типа:
    type MyFuncAs =<T extends boolean> (obj?: Obj<T>) => T extends false ? number : string;
    Ответ написан
    1 комментарий
  • Vetur отключить предуприждение стилистики?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    В каком-ниюудь модуле укажи:
    declare global {
      const VUE_APP_WS_URL: string | undefined;
    }

    В тайпскрит всё должно быть типизированнно. Ты не можешь просто с потолка брать какие-то переменные.
    Ответ написан
    Комментировать
  • Как избежать преждевременной оптимизации? Или как не зная что будет потом в проекте, обрабатывать исключения?

    @Akela_wolf
    Extreme Programmer
    Для вашей ситуации придумали интерфейсы.

    Вот смотрите, есть логика вывода (Котлин, надеюсь понятно что этот код делает):
    interface Report {
      fun getAverageTime(): BigDecimal
    }
    
    fun printReport(report: Report) {
      println("Average time: ${report.getAverageTime()}") 
    }

    Мы получаем данные из отчета. И нас в этом месте мало волнует как именно эти данные рассчитаны и как обрабатывается 0. Это логика отчета. Мало того, у нас может быть несколько разных реализаций интерфейса Report, каждая из которых обрабатывает этот случай каким-то собственным образом, вплоть до того что кидает исключение и, в результате, возникает ошибка (обработка такого исключения за рамками этого примера).

    Теперь у нас возникает необходимость добавить еще один параметр в отчет:
    interface Report {
      fun getAverageTime(): BigDecimal
      fun getCountWithZeroTime(): Int
    }
    
    fun printReport(report: Report) {
      println("Average time: ${report.getAverageTime()}") 
      println("Participants have zero-time: ${report.getCountWithZeroTime()}")
    }


    И никакой преждевременной оптимизации, только структурированный код.
    Ответ написан
    Комментировать
  • Нормально ли комментировать верстку?

    delphinpro
    @delphinpro Куратор тега HTML
    frontend developer
    слишком много комментариев лишних

    Ключевое слово – лишних.
    Лишних быть не должно.

    Вот в этом месте
    <!-- nav item -->
    <li class="header__menu-item">
        <a href="./contacts.html" class="header__menu-link">КОНТАКТЫ</a>
    </li>
    <!-- nav item end  -->

    комментирование абсолютно лишнее. Это визуальный мусор.

    Разметку комментировать не нужно.
    В верстке бывает полезно выделить блоки комментариями.

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

    Если же вы тот самый программист, то html комментарии в результате вашей работы соверщенно излишни.
    Ответ написан
    Комментировать
  • Как суммировать столбцы?

    @Akela_wolf
    Extreme Programmer
    SELECT SUM(confirmed_ones) AS confirmed_ones, SUM(rejected_ones) AS rejected_ones FROM (
      SELECT ... /*тут ваш запрос из вопроса */
    )
    Ответ написан
    Комментировать
  • Есть ли какая то статья, где будет соотношение кол-ва одновременных юзеров на сайте и рекомендуемой конфигурации сервера?

    @dimuska139
    Backend developer
    Нет, потому что 500 человек, грузящие на сервер видео для обработки, и 500 человек, просто читающие на сайте статьи - это совершенно разные вещи, которые требуют совершенно разные конфигурации сервера.
    Ответ написан
    Комментировать
  • Как с помощью return вернуть две переменные?

    hekkaaa
    @hekkaaa
    C#/.NET Developer
    Есть очень нужно то то используй "кортеж".
    Не лучшая практика как поговаривают, но если нужно именно так и не иначе, то почему и нет.

    public (int, string) GetUser(){
    int a = 14;
    string b = "Roman";
    return (a,b)
    }
    Ответ написан
    Комментировать
  • Почему vs code не подчеркивает ошибки?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    1. У тебя должен стоять C# плагин
    2. У тебя должен стоять .net SDK на компе
    3. У тебя должен быть не голый файл, а проект (рядом должен быть csproj)
    Вот тут подробнее:
    https://qna.habr.com/q/947675#answer_1889815

    PS: Для голых файлов есть .csx
    Ответ написан
    2 комментария
  • Как сделать так чтобы в назначенное время код переставал работать?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Любой код, не завязанный на сторонний сервис хотя бы частично, можно "оптимизировать" для работы без вас )
    По этому любые варианты кода в аренду не работают. Ну или работают недолго. Можете разбить код на части, типа клиент-сервер, клиентская часть будет выполнять запросы к вашему серверу, а сервер уже выполнять ваш мегасекретный алгоритм сортировки пузырьком...
    Ответ написан
    Комментировать
  • Почему при проверке массива на наличие только четных чисел выдает true, даже если там нечетные числа?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Потому что как только вы встречаете чётное число, вы возвращаете true вне зависимости от того, что там было до него и будет после. Т.е. ваша функция проверяет, фактически, есть ли в массиве хотя бы одно чётное число.
    Ответ написан
    2 комментария
  • Как проверить объект на пустоту js?

    twobomb
    @twobomb
    По идее так
    function empty(obj){
    	return Object.keys(obj).length == 0 || Object.keys(obj).every(e=>!obj[e]);
    }
    Ответ написан
    2 комментария
  • Почему вычисления происходят именно так?

    Stalker_RED
    @Stalker_RED
    JS тут не при чем, это особенности вычислений с плавающей запятой, и они описаны в стандарте IEEE 754, и именно так работает большинство процессоров.
    Если вы хотите чтобы работало "согласно ожиданиям", то есть варианты:
    1. подкорректировать свои ожидания, и работать как все.
    2. использовать библиотеки для всяких длинных арифметик и прочих повышенных точностей, платя за эту точность скоростью вычислений.
    3. использовать языки, которые будут маскировать проблему, округляя числа втихаря (и рисковать нарваться на неточности уже из-за этих округлений, ага).

    https://0.30000000000000004.com/ -- тут подробно, с примерами на разных языках.
    Ответ написан
    3 комментария