Задать вопрос
  • Что означает void book::buybook()?

    @res2001
    Developer, ex-admin
    У функции объявленной как:
    void func(...);
    нет возвращаемого значения.
    То что функция в данном примере это метод класса значения не имеет.
    Ответ написан
    Комментировать
  • Как разбить вектор на подвектора разной длинны?

    hrls
    @hrls
    fn main() {
        let values: Vec<u64> = vec![9, 7, 6, 3, 4, 0, 1, 7, 3, 9];
    
        let (_, groups): (Option<u64>, Vec<Vec<u64>>) = values
            .into_iter()
            .filter(|value| *value > 0)
            .fold((None, vec![]), |(previous, mut groups), current| {
                match previous {
                    Some(previous) if previous >= current => {
                        if let Some(last_group) = groups.last_mut() {
                            last_group.push(current);
                        } else {
                            groups.push(vec![current]);
                        }
                    }
                    _ => groups.push(vec![current]),
                };
                (Some(current), groups)
            });
    
        dbg!(&groups);
    
        let sums: Vec<u64> = groups
            .into_iter()
            .map(|group| group.into_iter().sum())
            .collect();
    
        dbg!(&sums);
    }


    https://play.rust-lang.org/?version=stable&mode=de...
    Ответ написан
    Комментировать
  • Действительно ли всякое рекурсивное вычисление можно заменить на нерекурсивное?

    xez
    @xez
    TL Junior Roo
    Цитата из "Грокаем алгоритмы":
    "Циклы могут ускорить работу программы. Рекурсия может ускорить работу программиста. Выбирайте, что важнее в вашей ситуации!" Leigh Caldwell
    Recursion or Iteration?
    Ответ написан
    Комментировать
  • Какую версию Ubuntu лучше поставить на Ноутбук HP Pavilion 14-dv0004ua (34Q62EA)?

    dyuriev
    @dyuriev
    A posteriori
    Если вопрос про версию в плане 20.04 vs 21.04, то однозначно 20.04 (LTS тут решает)
    Если вопрос про ubuntu vs xubuntu vs kubuntu, то ставьте ubuntu

    Ответ дан с предположением, что опыта с линуксом у вас мало.

    Когда пойдет речь про разворачивание среды разработки - разные версии php, вебсерверов и прочего, то используйте докер - сначала помучаетесь, потом дзен словите, когда не надо будет с напильником устанавливать/переустанавливать/править конфигруацию окружения под разные проекты
    Ответ написан
    2 комментария
  • Где же все-таки находится ссылка на таблицу методов в .NET?

    @none7
    Когда не знаешь чему верить, то верь отладчику.
    Там так:
    static void test(object o) {
        Type t = o->type; // offset 0
        IntPtr *vt = t->vtable_of_type; // offset 0x28 на x86
        vt[3](); // call
    }
    Ответ написан
    Комментировать
  • Почему не продаются ноутбуки Samsung в России?

    xez
    @xez
    TL Junior Roo
    Потому что samsung ушел с российского рынка ноутбуков в 2013-2014гг. Пока, видимо, не вернулся.
    https://www.cnews.ru/news/top/samsung_prekrashhaet...
    Ответ написан
    Комментировать
  • 2 маленьких вопроса про внешний IP-адрес?

    akelsey
    @akelsey
    1) Public IP (он же белый, так его называют только в России) - адрес до которого есть маршрут в интернет от других устройств - он бывает:
    * динамический, когда провайдер выдает адрес из пула паблик адресов, при каждом переподключении выдается новый. Обычно бесплатно. Для таких адресов хитрыми и экономными - придуман сервис DynDNS - многие так живут и радуются, они могут подключатся к своим сервисам из любой точки мира (RDP/SSH/VPN) - но для почты например такой вариант не проходит (хотя при текущих службах автоматизации и если почта не критический сервис - можно и на колдовать скриптов - например для клаудфлейр есть АПИ который позволяет модифицировать ДНС - а клаудфлейр очень быстро отдает изменения в мир).
    * статический, вы оплачиваете провайдеру - он закрепляет за вами 1 выделенный публичный адрес.

    "Серый" же адрес это когда клиенты находятся в немаршрутизируемой из интернета подсети, и выходят через узаконенный костыль под названием NAT через один шлюз (через какой внешний адрес будут уходить пакеты в мир - решает провайдер).

    2) Вполне вероятно провайдер просто мапит какой то Public IP закреплённый за вами, на выданные вам адреса в подсети 10.х.х.х.

    Что бы отличить, нужно "открыть порт", т.е. поднять любой сервис который слушает определенный порт, а на вашем роутере убедится что он 100% открыт и правильно проброшен (если сервис поднимается не на роутере, а на устройстве за роутером) - простейший вариант любой smtp сервер, или http сервер (предпочтительнее)далее можно например на 2ip.ru узнать как вас видит интернет, и уже найти онлайн telnet и попробовать подключится на этот адрес. Если успех - значит этот адрес публичный -) (почему http предпочтительнее, потому что многие онлайн телнет службы запрещают делать телнет на порт tcp/25 - что бы негодяи не рассылали спам.)
    Ответ написан
    4 комментария
  • Каким образом отслеживают IP адрес, если вы используете VPN?

    Jump
    @Jump
    Системный администратор со стажем.
    Смотрим куда вы подключались - определяем VPN сервер, идем и смотрим логи либо VPN сервера, либо провайдера который предоставляет доступ в сеть VPN серверу - и далее по цепочке.
    Долго, дорого, но если сильно надо то можно.

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

    Есть еще куча всяких простейших вещей например построили вы целую цепочку VPN, и запустили браузер, а там страничка ваша в соцсети открыта, и в вашем аккаунте в соцсети отражается адрес с которого вы зашли.

    И самое главное - искусству розыска уже тысячи лет. И методы не поменялись - с людьми надо работать если хочешь что-то найти. А техника это просто удобный инструмент.
    Ответ написан
    3 комментария
  • На каком опен-сорс движке можно поднять свой мессенджер (сеть)?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Джаббер конечно
    Ответ написан
    Комментировать
  • Тонкий клиент HP t640/540 и десктоп на Win10 Pro в качестве сервера?

    @Solovej
    Я не я, есть я, при этом всегда им являюсь.
    А просто кабель провести и работать скажем за бетонной стенкой от PC такой вариант не подойдет?
    HDMI кабель - можно длинный взять, клавиатура беспроводная.

    или скажем купить большой куллер и регулировать обороты самому что бы было тише.
    С HDD дисками только один вариант менять на SSD.
    Ответ написан
    1 комментарий
  • Какой стек технологии выбрать для сайта объявлений с посещаемостью до 500.000 в день?

    @deliro
    Зачем брать PHP для создания с нуля?

    12млн просмотров в день, если вспомнить типичное распределение нагрузки, выльется в пиковые 500-1500 RPS. При этом, большая часть времени будет тратиться на ожидание IO — базы данных и кэши. Что уже говорит о том, что язык должен поддерживать асинхронность, гринтреды, акторы или что-то подобное. Причём, 1000 RPS — это уже достаточно много, чтобы задумываться об оптимизациях и, возможно, горизонтальном масштабировании. И это, пожалуй, единственное требование для вашего продукта.

    Я бы брал Golang, как хороший компромисс между производительностью, надёжностью и скоростью разработки. Но нужно понимать, что плохо написать можно на любом инструменте.

    UPD.
    Я не рассматриваю Golang, как "преждевременную оптимизацию", а наоборот, как инструмент, который позволит отсрочить необходимость оптимизации.
    Ответ написан
    7 комментариев
  • Какой стек технологии выбрать для сайта объявлений с посещаемостью до 500.000 в день?

    Lillipup
    @Lillipup
    Allons-y, Алонсо!

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

    А вдруг не будет такой посещаемости?
    Я б выбрал laravel, потому что преждевременная оптимизация — корень всех зол.
    Ответ написан
    3 комментария
  • Что использовать Сервисы или Глобальные хранилища?

    search
    @search
    мама говорит что я особенный
    Переменные в сервисах мало чем отличаются от глобальных переменных. По сути - это и есть глобальные переменные со всеми вытекающими последствиями. Например, переменная сервиса может быть неожиданно изменена во время какого-нибудь асинхронного действия. Что приведёт к неожиданным/нежелательным сайд-эффектам. Современные ООП парадигмы (например, ДДД), напрямую говорят о том что сервисы не должны хранить состояние.
    Ответ написан
    Комментировать
  • Какие синтаксические и/или технические ошибки были допущенны при написании кода?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    На слабенькую троечку.
    Глобальные переменные, рекурсия без необходимости, тернарный оператор вместо if, работа со стилями вместо классов, переназначение onclick вместо addEventListener со всплытием. Это только то, что с ходу в глаза бросилось.
    Ну и общее впечатление отсутствия единого стиля, ощущение, что куски понадёрганы из разных примеров.
    Ответ написан
    2 комментария
  • В чем разница @name и t.me/name?

    GavriKos
    @GavriKos
    Первое откроется условно только в телеграме, второе - ссылка для браузера, которая редиректнет в телегу
    Ответ написан
    Комментировать
  • Актуально ли понятие "процедура" в современных языках?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Ноги вопроса растут из Паскаля, в котором были целые два отдельных ключевых слова - procedure и function. Собственно, применимы они в основном к Паскалю, С, С++ - языкам со строгой типизацией.
    Ответ написан
    Комментировать
  • Какие есть недостатки у ESP32?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    ESP ориентированы на IoT, т.е. первоначальная и основная цель - оконечные устройства которые подключаются к сети по WI-FI
    STM - по сути новая версия универсальных AVR. Всетаки атмеги уже подустарели и в плане производительности и в плане техпроцессов.
    Т.е. если нужен интернет, wi-fi, ОС и прочие плюшки - то разумнее брать все в одном (есп/кортекс), если что-то другое то достаточно STM - в равных задачах его будет проще оптимизировать по ресурсам и тому же энергопотреблению
    Ответ написан
    1 комментарий
  • Можно ли политику конфиденциальности не указывать в подвале?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    Могу ли я не указывать её в подвале

    - можете.
    Главное, необходимость соблюсти информирование посетителя любым доступным способом. Многие делают в виде всплывающего окна с двумя ссылками на куки и конфед данные при открытии сайта. Но лично я считаю, что проще один раз указать на сайте в футоре или в хедере и забить на всё остальное.
    Причина моего заключения проста:
    Если нужно докопаться - докопаются. Но в нормативе нет конкретики о том, в каком виде публиковать ссылки. Главное условие - должны быть и быть доступны.
    Ответ написан
    Комментировать
  • Чем отличается веб-разработчик от фронтенд разработчика?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Под веб-разработчиком каждая компания может понимать что угодно, но множество "фронтенд-разработчик" входит в множество "веб-разработчик". Сюда обычно добавляется бэкенд, работа с БД. Что-то типа недо-фулл-стека, а иногда и полноценный фуллстек
    Ответ написан
    Комментировать