• Как определить длину числа через регулярку?

    Stalker_RED
    @Stalker_RED
    let num = '12345678910111213';
    const x = Number(num); // преобразуем в число или NaN
    console.log(x < 1e12)

    если возможны отрицательные числа, то x > -1e12 && x < 1e12
    Ответ написан
    Комментировать
  • Что посоветуете изучать дальше?

    Steel_Balls
    @Steel_Balls
    0KLRiyDQv9C40LTQvtGALiDQmNC00Lgg0L3QsNGF0YPQuQ==
    А теперь остановись и ничего не читай.
    Пришло время практиковаться. Устраивайся в команду работать.
    Через два-три года практики снова возвращайся к книгам, чтобы понять что ты писал говнокод и как ты мог его изменить. И начинай всё переписывать или уходи в другую команду с новым опытом
    Ответ написан
    8 комментариев
  • Что посоветуете изучать дальше?

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

    "Разработчик ПО" - таким термином можно буквально любую вакансию разработчика описать (исключение - железячники)

    Какой у тебя выбор:
    1. Посмотреть, где востребован язык Си и C++, выбрать то что тебе интересно, продолжать учёбу в этом направлении.

    2. Раз уже упомянуто winapi - значит ты хочешь разрабатывать десктопные приложения под Windows. Тут действительно очень популярен C#, хотя саму сферу я бы очень уж большой не назвал. Тогда изучай C# и какой-нибудь WPF.
    winapi и WinUI, в принципе, можно изучать и с C++.

    3. Раз уже прозвучал C#, то тут могу посоветовать более популярное направление в нём - разработка бэкенда (серверного ПО) на asp net core.
    Ответ написан
    2 комментария
  • Связаны ли JS-селекторы в функциях поиска по элементам с поддержкой их в CSS?

    modelair
    @modelair
    unsocial
    это не js-селекторы, а css-селекторы, поэтому - да, будет работать как предполагается.
    почитайте документацию к querySelector
    Ответ написан
    Комментировать
  • На 32 строке выдаиоть undefined, не могу понять почему?

    Mi11er
    @Mi11er
    A human...
    const deliver = await deliverToys(make);
    console.log(deliver);

    А что функция deliverToys вообще возвращает ? По коду, ничего, кроме лога в консоль
    Ответ написан
    2 комментария
  • Почему программа на языке C не выполняется?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Оно не компилируется. Нажмите показать ошибки, там будут детали.

    Просто догадки:
    У вас опечатка - функция mian вместо main.
    Потом, в конце функции должно стоять return 0;
    Ответ написан
    4 комментария
  • Для чего нужен lock в python? Как работает данный пример кода?

    Vindicar
    @Vindicar
    RTFM!
    Это объясняется тем, что в базовом питоне потоки не вполне честные - они конкурируют за global interpreter lock, так что код выполняется всё равно поочерёдно. Так что многопоточность в питоне полезна с точки зрения распараллеливания, но не ускорения. ЕМНИП, есть реализации питона, в которых нет этой GIL problem.
    Но нужно иметь ввиду, что этот GIL блокирует только элементарные операции (как в твоём примере), тогда как явное использование lock может накрывать целые блоки кода, состоящие из нескольких операций с защищаемым ресурсом.

    Вот тебе пример:
    import threading
    import time
    
    class Data:
        def __init__(self):
            self.x: int = 0
            self.y: int = 0
    
    
    do_sleep = False
    run = True
    
    
    def reader(d: Data):
        while run:
            x, y = d.x, d.y
            # по идее это условие не должно выполниться никогда
            if (x != 0) != (y != 0):  
                print(f'Got x={x} and y={y}')
            else:
                print(f'OK {x}', end='\x08\x08\x08\x08')
    
    
    def writer(d: Data):
        while run:
            if d.x == 0:
                d.x = 1
                if do_sleep: pass
                d.y = 1
            else:
                d.x = 0
                if do_sleep: pass
                d.y = 0
    
    
    do_sleep = False
    instance = Data()
    reader_thread = threading.Thread(target=reader, args=(instance,), daemon=True)
    writer_thread = threading.Thread(target=writer, args=(instance,), daemon=True)
    reader_thread.start()
    writer_thread.start()
    try:
        input()
    finally:
        run = False
        reader_thread.join()
        writer_thread.join()


    На моей машине, если if do_sleep: pass закомментировать, то в консоли высвечивается только OK - иными словами, присваивание двух полей выполняется достаточно быстро, чтобы поток не успел переключиться в промежутке. Как следствие, reader() всегда видит либо x=0 y=0, либо x=1 y=1.
    Но если if do_sleep: pass оставить, то выполнение тела цикла замедляется достаточно, чтобы поток успел переключиться - и, как следствие, reader() начинает видеть структуру данных Data в неконсистентном состоянии, когда x=0 y=1 или когда x=1 y=0.
    И вот чтобы не гадать "успеет - не успеет", нужно в таких случаях защищать связные серии обращений к структуре с помощью мьютекса, ну или в питоновских терминах - Lock.
    Ответ написан
    Комментировать
  • Для чего аргумент запроса пишут с подчеркиванием _req?

    XanXanXan
    @XanXanXan
    Чтобы компилятор не ругался на неиспользуемую переменную.
    Ответ написан
    Комментировать
  • Как пропустить китайские иероглифы через регулярку?

    scoffs
    @scoffs
    Fullstack | C# | Student
    Возможно это поможет
    _string.replace(/[^a-zа-яё\u4E00-\u9FFF0-9 `,:-]/gim, " ")


    \u4E00 - начальный символ диапазона китайских иероглифов в кодировке Unicode.
    \u9FFF - конечный символ диапазона китайских иероглифов в кодировке Unicode.
    Ответ написан
    5 комментариев
  • Правда ли, что если изучить Фронтенд а потом начать изучать Бэкенд, ты почти забудешь Фронтенд?

    Adamos
    @Adamos
    Налицо банальное непонимание предмета обсуждения.
    Чтобы что-то изучить, нужно начитаться и напрактиковаться.
    Это даст знания и навыки.
    Что бы вы после этого ни делали - ни знания, ни навыки не потеряются.
    Но если вы начитались и вместо практики хватаетесь за что-то другое - у вас не произойдет процесса изучения, просто не закрепится прочитанное и вылетит из головы, неважно, учите вы что-то другое или в контру рубитесь.
    Ответ написан
    Комментировать
  • Правда ли, что если изучить Фронтенд а потом начать изучать Бэкенд, ты почти забудешь Фронтенд?

    xenon
    @xenon
    Too drunk to fsck
    Я считаю себя скорее бэкэндщиком, и да - много раз пришлось фронт заново повторять, вспоминать очевидное, потому что тяжело решать какую-то простую "фронтовую" задачу раз в 2-3 года. За это время все забываешь, да.
    Точно так же забывается golang, если долго программируешь на python, и вообще любые неиспользуемые знания пропадают - так уж мозг устроен.

    Но две важных вещи:
    1. Вспоминать забытое - просто и быстро, это не учиться с нуля. Скорее всего какой-нибудь cheatsheet поможет из сети или самодельный. Они не пропадают совсем.
    2. Это все равно надо. Хороший специалист в любой сфере должен иметь некоторое представление и о смежных вещах. Бекэндщику никуда без хотя бы базовых знаний по фронтенду. Фронтендщику бэк, наверное, нужен немного меньше, но если хочется быть ценным специалистом - то все равно нужно.
    Ответ написан
    Комментировать
  • Нужно ли хорошо разбираться в алгоритмах джуну?

    @kalapanga
    Вопрос этот о необходимости знаний алгоритмов в той или иной форме всплывает здесь часто. Напишу своё субъективное мнение.
    Начинающему программисту знание алгоритмов больше всего может пригодиться на собеседовании, если собеседователь не придумает ничего лучше, чем заставить Вас при нём писать реализацию вот такого-то алгоритма!
    А потом может оказаться так, что Вы за всю жизнь не обошли ни одного графа (не писали код для этого), а для сортировки Вам всегда хватало стандартной процедуры из любимого языка.
    По-моему, программист молодец, если он знает, например, сам факт, что методы сортировки могут иметь разную эффективность в зависимости от характера данных и при необходимости найдёт и выберет нужный. А держать все их названия и реализации в голове - надо ли? Всё, что не применяется на практике, один чёрт, забудется.
    Ещё раз повторюсь, что это моё сугубо личное мнение, и я на нём ни в коем случае не настаиваю.
    Ответ написан
    Комментировать
  • Какими наводящими вопросами деликатно определить, процветает ли в компании микроменеджмент либо нет?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Прямо спрашиваешь, кто будет давать мне задачи и кто будет контролировать.
    Есть ли почасовой контроль какими-либо инструментами.

    Ваш вопрос про "какая оплата" - ВООБЩЕ не про это.
    Может быть даже, что в компании может быть несколько проектов/команд и на какой-то одном проекте сидит "эффективный" менеджер, который увлекается микроменеджментом.
    Ответ написан
    Комментировать
  • Как указать путь к файлу при импорте в TypeScript?

    @iljaGolubev
    Возможно import App from "./App.vue"; поможет.

    А ещё, создать в корне файл shims-vue.d.ts если ещё нет чего-то подобного. Нужно указать ts компилятору что делать с sfc компонентами vue.
    declare module "*.vue" {
      import type { DefineComponent } from "vue";
      const component: DefineComponent<{}, {}, any>;
      export default component;
    }
    Ответ написан
    1 комментарий
  • Как подать сигнал серверу на Node.js по клику на кнопку?

    KeyDevSS
    @KeyDevSS
    Программист Python
    Для решения вашей задачи вам нужно научиться отправлять запросы от клиента к серверу. Существуют разные способы отправки запросов, например, можно использовать AJAX, fetch или WebSocket.

    В данном случае, мы можем использовать fetch для отправки запроса на сервер. При клике на кнопку, мы отправим POST запрос на сервер с информацией о том, что нужно создать файл. Сервер будет прослушивать этот запрос и создаст файл с помощью Node.js.

    Ниже приведен пример кода:

    Файл на клиенте (HTML, JavaScript):
    https://raw.githubusercontent.com/keydevelops/asws...

    Файл на сервере (Node.js):
    https://raw.githubusercontent.com/keydevelops/asws...

    Когда пользователь кликает на кнопку, создается POST запрос на сервер с параметром fileName, содержащим имя файла, который нужно создать на сервере. Сервер получает этот запрос и создает файл с этим именем, записывая "Hello World!" в файл.

    Примечание: Данный код не безопасен, поэтому, если вы используете его в продакшене, обязательно добавьте проверки на входных данных и другие меры безопасности.
    Ответ написан
    Комментировать
  • Что ещё проверять для безопасности?

    Вот эта строка ничего не делает :)
    if(message.length > 150) message.substring(0, 150)

    Конкретно в показанном коде больше никаких уязвимостей не видно.
    Так что только общие советы - открывай OWASP и проверяй всё по порядку для своего приложения.
    Ответ написан
    4 комментария
  • Как используются "магические константы" в реальных реализациях?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ты должен спрашивать какие алгоритмы игровой графики бывают. Это важное. А константа - это просто реализация.

    Почитай Генри Уоррена - Алгоритмические трюки для программистов. Там есть всякое. Деление через умножение на магию. Умножение через сдвиги. Дискретные логарифмы и корни и прочее.
    Ответ написан
    Комментировать
  • Как вызвать JS функцию по значению в data-атрибуте?

    Krasnodar_etc
    @Krasnodar_etc
    fundraiseup
    Проверьте, что в рабочем проекте функция объявлена через var, а лучше через window.functionName = ...

    Но я полностью согласен с Алексей Ярков :
    А зачем если есть onclick?
    Ответ написан
    Комментировать
  • Почему вторая функция выполняется раньше если стоит await?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Скорее всего, внутри changeType ты запускаешь какую-то асинхронную действию, но не ждёшь окончания оной. Без кода непонятно.
    Ответ написан
    2 комментария
  • Есть ли язык программирования с GC, но в котором сложно восстановить исходный код?


    а в Java или C# он практически в открытом виде, почему так?

    Потому что у C# и Java есть ещё одно важное свойство: у них есть виртуальная машина и они компилируются сначала в промежуточный код. А в машинный уже делается через JIT-компиляцию.

    C# с недавнего времени поддерживает ещё и FullAOT - в таком режиме тоже код будет нечитабельный/нативный, как и в случае с Go.

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


    Вот например в Go или Haskell не посмотришь исходный код

    Если ты уже нашёл ответ на свой вопрос, то зачем задаёшь?
    Ответ написан