• Почему методы массива могут принимать параметр колбек, а промис нет?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Либо
    Promise.all([4, 5, 6])
      .then(console.log)
      .catch(console.log);

    либо
    Promise.all([4, 5, 6])
      .then(data => console.log(data))
      .catch(err => console.log(err));
    Ответ написан
    Комментировать
  • Как подставить значение переменной в javascript?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    RTFM:
    https://yandex.ru/dev/jsapi-v1-1/doc/ru/examples/
    https://yandex.ru/dev/jsapi30/doc/ru/dg/concepts/map
    Или исправить исходные данные:
    var center = [56.964949, 60.623745]
    ...
        center: center,
        zoom: zoom

    Или распарсить их:
    var center = '56.964949, 60.623745'
    ...
        center: center.split(', ').map(parseFloat),
        zoom: zoom
    Ответ написан
    1 комментарий
  • Как подставить значение переменной в javascript?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Попробуйте так
    const centerString = '56.964949, 60.623745';
    
    // строку разбиваем в массив чисел
    const center = centerString.split(', ').map(Number);
    const zoom = 12;
    
    const params = {
      center,
      zoom,
    };
    
    const init = () => {
      const myMap = new ymaps.Map("map", params);
    }
    
    ymaps.ready(init);
    Ответ написан
    Комментировать
  • Как вырезать в path прозрачное отверстие при помощи того же path?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Просто закрываешь один path и рисуешь дырку в продолжение.
    Примерно так:


    На canvas это можно сделать с помощью параметра fill evenodd:
    Ответ написан
    5 комментариев
  • Безопасно ли подключаться к Mikrotik'у через Winbox через интернет?

    b1ora
    @b1ora
    Контакты в профиле
    Безопасно

    WinBox.exe is signed with an Extended Validation certificate, issued by SIA Mikrotīkls (MikroTik).
    WinBox uses ECSRP for key exchange and authentication (requires a new WinBox version).
    Both sides verify that the other side knows the password (no man in the middle attack is possible).
    WinBox in RoMON mode requires that the agent is the latest version to be able to connect to the latest version routers.
    WinBox uses AES128-CBC-SHA as an encryption algorithm (requires WinBox version 3.14 or above).
    Ответ написан
    Комментировать
  • В чем можно симулировать воздушные потоки?

    @rPman
    Дорогие многофункциональные решения
    SolidWorks simulations package
    ANSYS Fluent
    COMSOL Multiphysics
    Simcenter STAR-CCM+ CFD
    ...


    Из открытых и бесплатных:
    OpenFOAM
    CFDTool на основе FEATool (кажется форк), Tecplot
    Blender (не уверен что это адекватный инструмент)
    Ответ написан
    Комментировать
  • Как контролировать комплектацию рабочего места?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Классическое GLPI + FusionInverter или что-то подобное
    Но задача больше административная - пломбировка системников, написание политик, инструкций и роспись сотрудников в карточках оборудования - это если уж совсем заморачиваться.
    Хотя в большинстве случаев достаточно чтобы бухи назначили МОЛ началька отдела (кабинета) и закрепили все имущество за ним, а не так что все компы в организации числятся за сисадмином
    Ответ написан
    Комментировать
  • Как сделать быстрый поиск в шифрованной системе?

    @Everything_is_bad
    Например, продолжить твое "сейчас" и на клиенте хранить индекс всех сообщений (если такое возможно). А так гугли "searchable symmetric encryption" и "полностью гомоморфное шифрование"
    Ответ написан
    1 комментарий
  • Можно ли обращаться к фасаду из класса, который этот фасад вызывает?

    Весь вопрос звучит как какой-то оверинжиниринг.
    0. Без диаграмм вообще поток мыслей сложно понять.
    1. Фасад - это не способ легализовать божественный класс.
    2. Циклические зависимости - это не всегда смертельно плохо, но всегда очень подозрительно.
    3. Не нужно накидывать все паттерны, какие ты знаешь, если только что прочитал какую-то умную книжку или статью. Иногда лучше всё-таки сделать по принципу KISS и YAGNI.

    Или мне нужно создать объект PriceConvert и вызвать нужный метод?

    Зачем на каждую мелкую операцию делать отдельный класс и создавать постоянно новые объекты?

    Просто с одной стороны фасад Payments лежит ниже чем эти классы - это просто точка доступа для контроллеров итд.

    Фасад же типа по определению должен быть выше всех, как наиболее высокий уровень абстракции. С чего это вдруг он оказался ниже всех? И что у тебя подразумевается под контроллерами? Обычно контроллерами в вебе называют обработчики http-запросов. Тогда контроллеры должны зависеть от фасада, а не наоборот.

    и у них внутренние связи налажены через parent
    .
    Что это вообще значит?

    Payments::priceConvert

    Почему вообще платежи отвечают за конвертацию курсов валют? Или что делает priceConvert?
    Ответ написан
    8 комментариев
  • Стоит ли указывать паспортные данные в анкете соискателя?

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

    Попахивает продажей клиентской базы, жди спама
    Ответ написан
    7 комментариев
  • Как преобразовать вложенные словари в объекты с типами для API-обёртки?

    Wispik
    @Wispik
    можно использовать pydantic
    и потом описать модели, согласно нужным типам данных
    Ответ написан
    Комментировать
  • Как лучше устроить сервер для мессенджера?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Лучше для чего именно? Для передачи сообщение между сервером и клиентом в вебе уже давно придуманы веб-сокеты, поэтому лучше выбрать ЯП/фреймворк, где реализована адекватная поддержка данного протокола и есть библиотеки. HTTP можно, конечно, использовать - но только с костылями. Вот только, зачем? А если не веб - то можно брать любой бинарный сериализатор и сразу использовать голые сокеты (впрочем и веб-сокеты и вне веб тоже нормальное решение).
    Ответ написан
    2 комментария
  • В какую сторону учиться, QA, front end или back end для реалистичного входа?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Ок, обо всём по порядку

    IT в самом худшем положении чем когда-либо

    Да, есть такое. В первую очередь это вызвано из-за быстрорастущей сферы ИИ. Я думаю вы в курсе, что уже сейчас есть нейронки, которые могут по наброску написать страницу сайта на React, что в 1 000 раз быстрее, чем сделал это джун, и в столько же раз дешевле. Зачем тогда держать джунов? Это и есть одна из причин, по которой требования растут.

    Вторая причина, это конечно же мировой кризис, войны, пандемия так же принесла свой вклад в это.

    И третья причина, это огромный приток людей в сферу ИТ. У нас очень любят шутить: "Если ты попробовал всё и у тебя ничего не получилось в жизни, иди в IT, сюда идут все кто ничего не смог добиться". Вообще это достаточно странно, потому что программисты должны быть умными и знать очень много, тут люди могут всю жизнь учиться. Почему так случилось? Потому что пришёл тот же PHP, Python и прочее, где низки порог вхождения, и тут уже всё стаёт на свои места. Даже школьники пишут всякую дичь на PHP и очень этим гордятся.

    Со стороны работодателя, как понять, что ты принимаешь на роботу человека с опытом и мозгами в голове, а не школьника? Поднимать требования!

    Почему поднимаются ЕЩЁ требования? Потому что если очень много людей на рынке, ты можешь выставлять более высокие требования. Это природны отбор и тут нет ничего удивительного. Скоро это всё будет на уровне вундеркиндов (с вундервафлями). За год выпускается группа в универе где есть обученные студенты программирования. В такой группе может быть человек 30, на потоке 120 и больше. Таких университетов 100500. Как понять кто лучше из них, кто знает и хочет работать, а кто пошёл сюда чисто, потому что он тупой и больше никуда его не взяли?

    конкуренция адская, front-end, UX/UI дизайнеров и тестировщиков/QA -- как собак нерезаных и все профнепригодны

    Ещё одна причина по которой это всё происходит. Почему вообще IT стало очень популярное? Потому что большинство заказов на проекты были западные, соответственно, з/п в долларах это очень сладкая и желательная вещь для всех. Но теперь рынок в странах бывшего СССР очень сильно просел из-за таких вещей.

    А теперь подумайте, выгнали целый отдел программистов, мидлы, синьйоры и т.д. и сидят они без работы. Месяц, два, пол года. Мидл, который по факту стоит около 4000 долларов, за пол года без работы будет пробовать подавать заявку на вакансии джун/джун-стронг с зп 2000-3000 долларов. Почему? Потому что у него нет работы

    А как со стороны работодателей? Взять перспективного джуна по цене 1000 долларов на вакансию 2000 долларов, либо взять мидла, который стоит 4000 долларов, по платить ему 2000-3000? Конечно, тут все очевидно.

    А теперь все эти факты в совокупности дают очень большой регресс для рынка. Хочешь нормально зарабатывать? Ты должен составить конкуренцию и победить в этом среди этих 300 человек. А среди них может быть кто угодно. И при этом всё, вероятность пройти хотя бы ДО СОБЕСЕДОВАНИЯ крайне мала. Скорее всего ваш непрочитанный отзыв завернут после 3х недель ожидания и всё.

    КУДА ИДТИ И КЕМ БЫТЬ?
    Вообще в вашей ситуации, тут больше вопрос "Как?", а не "Кем?". Если вы посмотрите на статистику, то примерно все developer стеки получают одинаково на уровне senoir.

    Так же не стоит думать, что перейти из QA и Dev'ы можно вот просто так. Сейчас разработчики сами отлично умеют всё тестировать, так что тут сложно сказать что-то... Вообще QA стек используется одни инструменты, deve стек использует другие инструменты для работы, по этому тут так же не получится прыгать туда-сюда. Даже если вы будете QA и захотите перейти в dev'ы и программирования не убежишь

    А вообще я бы посоветовал заводить общение с программистами и учить, учить и ещё раз учить. Потому что тут играет ещё одно очень важное правило, что вы никому даже бесплатно не нужны, если вы приносите прибыть. Что бы приносить прибыть, не получится прийти и сказать: "Давайте я тут у вас потусуюсь, что-то учить буду, 3 строки напишу, а вы мне стакан риса". Да, так не прокатит, как бы это печально не звучало.

    Года 2 назад даже с небольшими, но уверенными знаниями программирования вас бы с руками и ногами забрали, если бы вы сказали, что вы там алгоритмы знаете, или на C++ умеет писать программы. Та вам все дороги открыты были бы
    Ответ написан
    2 комментария
  • Нормально ли использовать var вместо явной типизации в C#?

    1. Да, это нормально. Сильно легче код писать таким образом. (а иногда и читать, тк меньше слов дублируется. Например совершенно никакой ценности не несёт User user = userRepository.GetUserById(...) или многослойный женерик)

    2.

    Я ужасно ненавижу такой подход, потому что ты не можешь сразу определить тип, который возвращается.

    А ты давай нормальные названия методам, чтобы возвращаемое значение было очевидным, набирайся опыта, ищи закономерности.

    Ты же не задаёшься вопросом, какой тип возвращает какой-нибудь GetUser, ToString, TryParse, FirstOrDefault?

    Если тебе сложно понять смысл кода без типов - значит кто-то плохие имена дал переменным.


    Данный код достаточно сложно разобрать человеку, который не писал это всё с нуля, а был присоединён через 4-5 лет ведения проекта.

    Очень смелое заявление, которое мало чем подкреплено.


    Как по мне, добавление возможности писать var вместо обычного типа было ужасной ошибкой Microsoft. Сам var был добавлен в язык вместе с анонимными типами и предназначался специально для них.

    1. var далеко не только для анонимных типов полезен, хотя с анонимными типами без var работать было бы очень сложно.

    2. Тренд говорит об обратном - автоматический вывод типов сейчас есть практически во всех статически-типизированных языках в том или ином виде.

    Ну и помни ещё, что ты же не в блокноте код пишешь - у тебя есть всякие inlay hints, которые могут рядом с именем переменной показать её тип, а наведя мышку на слово - ты узнаёшь о нём все (имя переменной, сигнатуру метода, документацию, итд)
    Ответ написан
    7 комментариев
  • Нормально ли использовать var вместо явной типизации в C#?

    xez
    @xez
    TL Junior Roo
    Вполне норм. Просто тип определяется справа, а не слева.
    Подсказки ide должны решить вопрос понимания человеком, что там за тип.
    Ответ написан
    5 комментариев
  • Как дождаться выполнения асинхронного метода?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Task это асинхронная задача, ожидать выполнение которой можно с использованием async/await
    Дока
    Ответ написан
    Комментировать
  • Как запустить цикл for of для длинны массива?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Обычный цикл чем не цикл?
    const chain = async times => {
      for (let n = times; n > 0; n--) {
        console.log(`${n} starting..`);
        await new Promise(resolve => setTimeout(resolve, 800));
        console.log(`${n} ..finished`);
      }
    };
    
    chain(4).then(() => console.log('Done'));
    Ответ написан
    Комментировать
  • Как технически реализована механика кликеров?

    1. Как в приложении реализована защита от абьюза? Например, если 1 клик = 1 http запросу, то не сложно заиспользовать разного рода автоматизированные инструменты по тиму Postman, чтобы "заработать" coin-ы

    1. Ограничиваем максимум кликов в секунду, отправляем несколько кликов одним запросом. Опять же продумываем механику так, чтобы в долгосроке всякие пассивки/мини игры приносили основной доход, а не клики. Опять же ограничиваем количество кликов в день/час, например.
    2. Вместе с запросом отправляем ещё какой-нибудь уникальный код, который выдаёт система, которая работает только на фронте (invisible captcha какая-нибудь)
    3. Блокчейн для этого сценария противопоказан.
    Ответ написан
    Комментировать
  • Почему данные не сортируются по дате?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Не помешало бы, пример несколько строк из фрейма которые не сортируются.
    2. Обратно возвращать в строку не обязательно.
    3. Методы чтения имеют параметр parse_dates для того что бы строковое представление даты перводить в тип данных datetime64
    вот небольшой примерчик
    (
        pd.DataFrame({
            'string_dates':['17.08.2024','15.08.2024','20.09.2024'],
            'values':[10,100,1000]
        })
        .assign(
            dates=lambda x: pd.to_datetime(x['string_dates'],format='%d.%m.%Y')
        )
        .sort_values(by='dates')
    )
    как видишь все сортируется, обрати внимания на типы данных. Колонку которая используется для сортировки можно дропнуть, ну или создать ее что называется "на лету".
    Ответ написан
    Комментировать