Задать вопрос
  • Можно ли обойтись одним сервером для фронта и бэкенда?

    @historydev
    Mistkerl, drück den Knopf.
    Смотря какой, если это самый обычный "хостинг" тогда не выйдет т.к. там лишь один доступный порт.
    Если впс - то можно, поднимаешь каждый сервер на своём порту и обращаешься по адрес:порт или ставишь nginx и настраиваешь домены необходимые.

    Для твоей задачи хватит одного сервера без каких либо проблем - роуты меняться будут и всё.
    - То есть самого простого хостинга будет достаточно тоже.
    Ответ написан
    7 комментариев
  • Куда надо устанавливать Python и его библиотеки?

    Maksim_64
    @Maksim_64
    Data Analyst
    Правильно создавать виртуальные окружения для каждого проекта и устанавливать библиотеки в виртуальные окружения.

    Учись сразу делать правильно, интернет полон обучающих материалов, как это делать.
    Ответ написан
    6 комментариев
  • Какой процессор посоветуете?

    xez
    @xez Куратор тега Железо
    TL Junior Roo
    Lga1700 мёртвый сокет же. Если хочется на интеле - то лучше на 1851. Ну и 13-14 серии лучше обходить стороной.
    Насчёт процессоров АМД - никаких «нежданичков» там давно нет.
    Ответ написан
    5 комментариев
  • Как добавить в дату, записанную в строке, нули перед месяцем и днём?

    без циклом мапов и лямбд

    a = '2021-1-2'
    '{}-{:>02}-{:>02}'.format(*a.split('-'))
    '2021-01-02'
    Ответ написан
    1 комментарий
  • Как завершить работу консольного приложения?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Попробуйте
    subprocess.run(
        ["dotnet.exe", "путь к dll", "параметры"],
        input='\n',       
        text=True, 
        capture_output=True, 
        check=True
    )
    Ответ написан
    Комментировать
  • Как сделать авто дополнение ввода как в PowerShell?

    @dronmaxman
    VoIP Administrator
    В Windows Terminal есть удобное авто дополнение в процессе ввода на основе


    Как думаешь, где windows этому научился?

    https://github.com/zsh-users/zsh-autosuggestions
    Ответ написан
    1 комментарий
  • Профориентация и выбор дальнейших путей развития?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Еще один важный критерий который мне сильно отсеивает количество вакансий это только аккредитованные IT-организации.

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

    Еще заметил что очень мало стало джуниорских вакансий.

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

    Вообще сейчас по моему какой-то кризис в IT

    Нет, у крепких мидлов и тем более сеньоров всё замечательно.

    Вдобавок начинает ИИ наступать нам на пятки

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

    Я начинаю, мне вроде интересно, но потом интерес угасает, потому что мне то за это никто не платит.

    В нашей отрасли много тех, кто не программировать не может. Вы всегда будете проигрывать в конкуренции с ними.
    Ответ написан
  • Как найти удалённую работу с 20+ лет опыта в разработке?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Но в 2024-м что-то изменилось. Все вдруг резко стали требовать работу в офисе, либо удалённо на территории России.

    Потому что до властей предержащих вдруг дошло, что тот, кто находится вне России - не должен зарабатывать в России
    Иностранных компаний на hh.ru стало кратно меньше.

    Это разве удивительно? Удивительно то, что там они еще есть.
    Получал зарплату и криптой, и на нероссийские банковские карты.

    Желающих рисковать и подставлять свою #опу под конский МПХ государства, которое запросто может усмотреть в этих переводах финансирование терроризма - стало меньше.
    почему раньше работу находил легко, а теперь не могу найти.

    Потому что закрутили гайки, и дальше будет еще хуже. Работодатели стали избегать таких "сотрудников", которые могут привлечь к ним повышенное внимание.
    Что я делаю не так?

    Ищете работу. Как Вы докажете например понетциальному работодателю, что не работаете на СБУ?
    Ответ написан
    7 комментариев
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    @devunion
    Начну с конца. Суммарный вектор равен нулю именно потому, что ваши временные цели не являются целями. Они есть способ решить проблему накопившейся неудовлетворенности. По этому и интерес пропадает спустя какое-то время. Сама по себе такая цель не зажигает.

    Я был на вашем месте лет 5-6 назад. Точно так же достиг в Java определенного уровня, после которого все стало как-то не интересно. Новые задачи перестали быть новыми. Творческий процесс программирования стал машинальным кодингом. Думаю, подобный процесс выгорания характерен для любой профессии, не только для программирования. Психолого говорят, что профессионализм достигается примерно за 5 лет. Дальше рекомендуется менять работу.

    В результате я попробовал сделать несколько проектов. К сожалению, высокий уровень компетенции в программировании не решает проблем с раскруткой проектов. Это же относится и к стартапам. Если хотите сделать свой проект не просто для себя и друзей - сначала станьте экспертом в области продвижения продуктов и раскрутки стартапов. Только потом делайте. Именно в таком порядке, а не наоборот или параллельно.

    Можно еще в погоне за новыми проектами поискать работу на Upwork/Freelancer. Но Java-разработчикам там тяжело. Либо будет мелочь на подобие студенческих курсовых, либо будет нужен удаленный разработчик на фуллтайм в большой проект. Именно то, что вы сейчас делаете.

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

    Сейчас и этот пятилетний цикл подходит к концу. Пилю стартап :-).

    Как правильно посоветовал Дмитрий, нужно найти то, что нравится и идти в эту сторону. Должно быть "движение к" вместо текущего "движения от". Критерий выбора: "настоящая работа такой и должна быть – чтобы вы готовы были за нее доплачивать, лишь бы вам разрешили ее делать." - НЛПшники.

    Удачи!
    Ответ написан
    2 комментария
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Как вы это делаете?! За 17 лет работы в ИТ у меня ни разу не возникало вопроса "Куда двигаться?", только "Где взять времени на освоение всего этого бесконечного изобилия технологий, углублённого изучения уже знакомого и реализацию множества идей?"
    Ответ написан
    4 комментария
  • Как временно повышать права пользователю?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    security definer и есть: проверка прав вызова функции (grant execute) будет проверять, может ли её вызвать этот пользователь, но сама функция дальше будет выполняться с правами владельца функции. В том числе с правами супера, если владелец - суперпользователь.

    Не забудьте revoke execute on function .. from public;
    begin;
    create role specific_activity;
    create function stat_activity() .. security definer;
    revoke execute on function stat_activity() from public; -- права на запуск не всем
    grant execute on function stat_activity() to specific_activity; -- а только этой роли
    commit;
    grant specific_activity to someuser;


    btw, для pg_terminate_backend есть предопределённая роль pg_signal_backend.
    Ответ написан
    1 комментарий
  • Как можно сделать проверку номеров квартиры, дома и улицы введенных пользователем?

    sabramovskikh
    @sabramovskikh
    dadata.ru
    Ответ написан
    Комментировать
  • Какие задачи решают python + ai если говорить о решении задач за деньги в качестве сотрудника или на фрилансе?

    Maksim_64
    @Maksim_64
    Data Analyst
    Задачи? список где в бизнесе не применяется AI будет короче.

    Например, оптимизация поиска, пользователь ввел на сайте описание товара, и получил наиболее подходящие результаты. Звучит просто, а по факту все сложно. Например может потребоваться, создание своего трансформера (нейронной сети, определенной архитектуры), которая на вход получает, текстовое описание, а на выходе, эмбеддинг. Затем, ты создашь, для всех текстовых описаний эмбеддинги и поместишь их в векторную базу данных. Затем конечный пользователь вводит текст, твой трансофмер, создает эмбединг и делает запрос к векторной базе данных, и база возвращает n-ближайших товаров.

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

    ИИ за 24 часа, это всегда потеря времени. Развитие это своего рода, сложный процент + определенный шум. Что бы это работало, нужно основание больше 1 и время. Основание, это математика, и дело не в каких то формулах, а в определенном развитии мышления.
    Ответ написан
    3 комментария
  • Покажите на ассемблере как выглядит защита от переполнения буфера?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Защита от переполнения буфера - это не пара магических инструкций, а проверка при работе с массивами или выделенными участками памяти (впрочем, для C/C++/ASM это примерно одно и то же), что указатель не выходит за границу выделенной памяти. Реализовано может быть самыми разными способами. Например, в C есть функция strncpy, которая делает всё то же самое, что strcpy, только проверяя, что копируется не более заданного количества байтов. Если вы правильно передали в неё размер буфера, то переполнения при операции не произойдёт.
    Так что на языках низкого уровня только проверки, проверки и ещё раз проверки.
    Ответ написан
    9 комментариев
  • Какой выбрать клиент для протокола VLESS с раздельным тунелированием процессов?

    @apppostol
    Неправильно настроили.
    Галочку встроенный tun снимите.
    А при самом подключении, ставьте ее там вверху справа.

    Там не зря стоит звездочка над белым списком, и над встроенным tun.
    Ответ написан
    Комментировать
  • Как реализованы асинхронные методы c#?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Вот вам перевод (часть первая, а всего там шесть частей) фундаменнтальной статьи по async/await одного из разрабочиков .NET в Microsoft (а именно - Stephen Toub).
    Читайте и просвещайтесь.

    PS Автор вопроса никак не желает считать текст выше ответом на свой вопрос - а зря. Потому что по-другому на форуме на него не ответишь - слишком много букв писать надо. Но сегодня - выходной, так что - попробую.
    И самое главное, что вам следует осознать - что код асинхронного метода, который вы написали, и код машины состояний, в которой он преобразуется (и далее - транслируется в IL и компилируется в команды процессора) - это два разных кода, пусть и эквивалентных.
    Если очень вкратце:
    • компилятор преобразует код асинхронного метода до неузнаваемости, в ту самую "машину состояний": класс, в котором есть метод, ее реализующий, и есть поля для данных, как нужных для работы самой машины состояний (в частности - для хранения состояния), так и для хранения локальных переменных исходного метода (да-да, в стеке они не хранятся);
    • каждый кусок исходного метода - начальный, между двумя await и завершающий - преобразуется в отдельный кусок метода машины состояний, выполняемый, когда выполнение машины состояний возобновляется в определенном состоянии; этот код производит действия, определенные в этом куске метода, и либо меняет состояние на новое значение и переходит к ожиданию (там, где в исходном асинхронном методе написан оператор await), либо завершает выполнение метода машины состояний;
    • для выполнения перехода к ожиданию используется объект awaiter'а, получаемый методом GetAwaiter() операнда операции await;
    • перед переходом к ожиданию проверяется возможно продолжение без ожидания, если это возможно (метод IsCompleted() awaiter'а возвращает true), то ожидания не происходит, а возобновляется выполнение машины состояний уже для нового состояния;
    • запуск ожидания происходит во внешнем относительно асинхронного метода коде - в объекте awaiter'а;
    • и при завершении метода машины состояний, и при запуске ожидания метод машины состояний возвращает управление в код, который вызвал в этот раз метод машины состояний (для одного вызова асинхронного метода вызовов метода машины состояний может быть много, см. дальше);
    • первый возврат из метода машины состояний происходит в вызывающий метод, он возвращает объект задачи, позволяющий отследить в вызывающем методе завершение работы машины состояний ( и тут есть нюанс, связанный с возвращением ValueTask, а не Task);
    • при окончательном (а не при запусе ожидания) выходе из метода машины состояний этот возвращенный объект задачи завершается;
    • после завершения ожидания метод машины состояний вновь вызывается: в типичном случае - в свободном потоке из пула потоков, но возможны варианты (какие - курить тему Synchronization Context); и он продолжает свое выполнение для нового состояния

    Это - максимально урезанное описание работы асинхронного метода.
    Если вы смогли из этого описания понять ответ на ваш первый вопрос - хорошо. Если нет - читайте статьи(ссылка выше), или книги (лично я рекомендую главу про асинхронные меотоды из книги Рихтера "CLR via C#").
    Касательно второго вопроса. Задачи, выполнение которых ожидает асинхронный метод, будут выполняться совершенно параллельно, каждая - в своем потоке из пула, возможно - на разных ядрах/процессорах). А асинхронный метод в это время не будет выполняться совсем: поток в котором он выполнялся, будет дальше выполнять код после его вызова в вызвавшем его методе (или код, возвращий поток в пул, если это был вызов машины состояний после ожидания). А после завершения обеих этих задач выполнение метода машины состояний, в который был преобразован асинхроннный метод, будет возобновлено и задача, которую возвратил асинхронный метод, будет завершена.
    Ответ написан
    Комментировать
  • Как в Maven-проекте собрать код отдельно от ресурсов?

    @shushara4241
    Тут нужно понять такую идею, что ресурс - это неотъемлимая часть программы, которая должна существовать для ее нормальной работы и именно поэтому помещается в resources и существует внутри одного jar-файла. Если эти файлы убрать из jar, то они перестают быть "ресурсами", а становятся обычными файлами в файловой системе и работать с ними нужно соответственно - через пакеты java.io/java.nio условно
    Ответ написан
    Комментировать