• Как сделать простейший чат на go?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Есть gorilla websocket
    у них в репе готовый пример чата есть

    https://github.com/gorilla/websocket/tree/master/e...

    вот пример с комнатами:
    https://github.com/gorilla/websocket/issues/46#iss...
    Ответ написан
    2 комментария
  • Как решить проблему при установки Windows 11 - Не найден необходимый драйвер?

    Adler_lug
    @Adler_lug
    Эта ошибка чаще всего возникает при попытке установки с флешки с неправильно развернутой на ней установочной Windows.
    Ответ написан
    Комментировать
  • Как белорусу вывести деньги с хабр фриланса?

    TosterModerator
    @TosterModerator
    Модератор Хабр Q&A
    Там висит огромный баннер: вывод средств по визе и мастеркард по безопасной сделке недоступны.
    Пишите в поддержку.
    Вопрос, кстати, нарушает п.5.17 Регламента.
    Ответ написан
    Комментировать
  • Какими инструментами пользуются для создания сайтов?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Если бы такое именно в той форме как описали, то веб-разработчики вымерли бы как вид.
    Например, позволяющие создавать и настраивать текст без кода, вставлять картинки, настраивать позиционирование

    Для этого есть конструкторы типа "Тильда". Хотя для чего-то это сложнее визитки они не подойдут.
    В остальном, ничего "магического" нет.
    Есть IDE с поддержкой синтаксиса, вещи вроде gulp, но это зачастую специфические вещи.
    Ответ написан
    6 комментариев
  • Как встроить кнопку "Копировать" в "чужой сайт"?

    XOR2048
    @XOR2048
    Web & Browser extension developer
    Если вы имеете в виду то, чтобы добавить кнопку на сайт, но чтобы она была видна только вам (то есть не делать никаких code-injection, которые навредят другим), то для такого даже не нужно писать никаких userscript'ов, можно воспользоваться расширением для браузера Automa, создав там сценарий абсолютно любых действий, которые будут производится по нажатию или при загрузке страницы, подробнее можно ознакомиться в репозитории или найти ролик на YouTube.
    Ответ написан
    1 комментарий
  • Не отображается информация на странице, почему?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    1)Откуда берется информация в home.html в переменной post_list?

    Почему вы уверены, что она там должна браться? В документации к ListView используется другое ключевое слово.
    Если вы учитесь по роликам/статьям - задавайте вопрос автору/проверяйте правильно ли передрали код/убедитесь, что материал не слишком устаревший.
    Ну и вы уверены, что в базе есть нужные данные?
    Ответ написан
    4 комментария
  • Как определить источник обращение к БД?

    Melkij
    @Melkij
    PostgreSQL DBA
    Используйте более подробный log_line_prefix. В частности, нужен %h

    log_line_prefix = '%m %p %u@%d from %h [vxid:%v txid:%x] [%i] '

    Мы такой используем если нет значимых причин для иного.
    Ответ написан
    1 комментарий
  • Как устроиться devops инженером?

    paran0id
    @paran0id
    Умный, но ленивый
    Вакансий junior devops мало, потому что devops не вырастают из джунов, обычно ими становятся уже опытные админы или разработчики. Смотрите не джуновские вакансии, а просто devops engineer. Оцените требования, наверстайте недостающий опыт, сходите на собеседование. Я был просто линуксовым админом и однажды устроился на админскую вакансию в софтверную компанию, где в некотором объеме devops-методология применялась.
    Ответ написан
    Комментировать
  • Как писать устойчивые к нагрузкам приложения?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Разрабатывать 12-факторные приложения, которые проще масштабировать горизонтально. На сегодняшний день асинхронность в Django почти не применяется, так изначально фреймворк не был предназначен для конкурентности, а работы по исправлению этого пока в зачатке.
    Ответ написан
    Комментировать
  • Как написать или найти скрипт для мониторинга серверов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    #!/bin/bash
    
    function check_srv() {
    ping $1 && echo "$1 is <font color=green>online</font>" || echo "$1 is <font color=red>offline</font><br>" >>status.html
    }
    echo "Status<br>">status.html
    check_srv server1.com
    check_srv server2.com
    Ответ написан
    Комментировать
  • Можно ли навредить серверу из docker?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Будь то забиванием озу, диска, или проникновением в bash самого основного сервера.

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

    Создай образ докера. Создай С++ привет мир-приложение которое делает malloc(1Гб). А потом сделай

    docker run .... --memory 512M

    Что тебе мешает это сделать и просто прийти в хабр уже с ответом и дальше спрашивать по безопасности докера?
    Ответ написан
    Комментировать
  • Как сделать такую анимацию объекта?

    Get-Web
    @Get-Web Куратор тега CSS
    Front-End Developer
    Там на сайте pixi js используют, но из готового есть вот это https://github.com/VincentGarreau/particles.js/
    С настройками можно поиграться и получить нечто похожее
    Ответ написан
    Комментировать
  • Как изучить Go? Курсы или есть достаточные бесплатные ресурсы?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Курсы не нужны. Нужен учебник и пет-проект.
    Ответ написан
    Комментировать
  • Как реализовать данную часть верстки?

    RAX7
    @RAX7
    Ответ написан
    Комментировать
  • Почему у многих разработчиков общепринятое отрицательное отношение к работе в топовых больших компаниях (по крайней мере в России)?

    @taktik
    Sr. QA automation | SDET
    Был опыт работы в корпорации из топ 10 IT-работодателей. Главными минусами для меня были узкая зона ответственности, поток тривиальных задач, которые не давали никакого горизонтального роста и отсутствие пространства для вертикального роста.

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

    vabka
    @vabka
    Токсичный шарпист
    Раз без указания конкретных компаний, то вот усреднённое мнение:

    1. Бюрократия. Получение доступов или добавление нового сервиса в кластер - это в лучшем случае запрос в хелп деск и ожидание пару часов. (в небольших компаниях команда разработки обычно имеет полный доступ к проду)
    2. Очень много разных подкоманд и продуктов. А по тому от одного найма к другому - разработчика могут отправить как в драйвовую команду, которая делает крутой продукт на новых технологиях, так и в команду "поддержки" из двух человек где будет десяток легаси продуктов, в которых надо только баги чинить.
    3. Очень долгий и нудный процесс найма минимум из трёх этапов.
    4. Много внутреннего велосипедостроения. Следствие того что продукты, обычно, достаточно старые - с ростом приходилось изобретать то, чего на рынке в принципе не существует. Начиная с собственных инструментов деплоя, заканчивая собственными базами данных.
    Это всё конечно очень круто, но то ни в резюме умение работать с этими инструментами не добавишь, ни опыт работы с чем-то общепринятым врядли сильно упростит тебе задачу освоения этих инструментов.

    Подобное отношения таки не только в России, и если посмотреть на отзывы людей из FAANG сложится аналогичная картина.
    Это следствие того что компания большая, успешная, и давно живёт на рынке.
    Ответ написан
    Комментировать
  • Как в telebot циклом for заполнить словарь?

    @twistfire92
    Python backend developer
    Поиграйтесь с этим кодом
    import telebot
    
    bot = telebot.TeleBot(token='XXXXXXXXXXXXXXXXXXXX')
    
    
    @bot.message_handler(content_types=["text"])
    def get_text_messages(message):
        if message.text == "Привет":
            bot.send_message(message.from_user.id, "Начнем")
            start(message)
        elif message.text == "/help":
            bot.send_message(message.from_user.id, "Напиши Привет")
        else:
            bot.send_message(message.from_user.id, "Я тебя не понимаю. Напиши /help.")
    
    
    # Точка старта.
    def start(message):
        # Инициализируем наш словарь, который будем прокидывать в каждую функцию
        data = {}
        mes = bot.send_message(message.from_user.id, "Введите количество бриллиантов:")
        bot.register_next_step_handler(mes, vvod_brill, data)
    
    
    # Получаем бриллианты
    def vvod_brill(message, data):
        if not message.text.isdigit():
            bot.send_message(message.from_user.id, "Нужно ввести число")
            bot.register_next_step_handler(message, vvod_brill, data)
        else:
            brill_count = int(message.text)
            data['brill_count'] = brill_count
            bot.send_message(message.from_user.id, f"Получено бриллиантов: {brill_count}")
            bot.send_message(message.from_user.id, "Введите количество рубинов:")
            bot.register_next_step_handler(message, vvod_rub, data)
    
    
    # Получаем рубины
    def vvod_rub(message, data):
        if not message.text.isdigit():
            bot.send_message(message.from_user.id, "Нужно ввести число")
            bot.register_next_step_handler(message, vvod_rub, data)
        else:
            rub_count = int(message.text)
            data['rub_count'] = rub_count
            bot.send_message(message.from_user.id, f"Получено рубинов: {rub_count}")
            bot.send_message(message.from_user.id, "Введите количество жителей:")
            bot.register_next_step_handler(message, vvod_jit, data)
    
    
    # Получаем количество жителей
    def vvod_jit(message, data):
        if not message.text.isdigit():
            bot.send_message(message.from_user.id, "Нужно ввести число")
            bot.register_next_step_handler(message, vvod_jit, data)
        else:
            jit_count = int(message.text)
            data['jit_count'] = jit_count
            bot.send_message(message.from_user.id, f"Всего жителей: {jit_count}")
            counter = 1
            bot.send_message(message.from_user.id, f"Сколько заработал кубков житель {counter}?")
            bot.register_next_step_handler(message, vvod_cubok, data, counter)
    
    
    # Получаем количество кубков для каждого
    def vvod_cubok(message, data, counter):
        if not message.text.isdigit():
            bot.send_message(message.from_user.id, "Нужно ввести число")
            bot.register_next_step_handler(message, vvod_cubok, data, counter)
        else:
            cubok_count = int(message.text)
            data[f'jit_{counter}_cubok'] = cubok_count
            bot.send_message(message.from_user.id, f"Житель {counter} заработал {cubok_count} кубков")
            counter += 1
            if counter <= data['jit_count']:
                bot.send_message(message.from_user.id, f"Сколько заработал кубков житель {counter}?")
                bot.register_next_step_handler(message, vvod_cubok, data, counter)
            else:
                bot.send_message(message.from_user.id, 'А теперь посмотрим что у нас вышло')
                bot.send_message(message.from_user.id, f'{data}')
    
    
    if __name__ == '__main__':
        bot.polling()

    Я тут набросал основной алгоритм без логики. Я думаю по аналогии справитесь с остальным. Запустите, посмотрите что выводит в конце.
    Вам надо будет доработать свою логику и добавить обработку когда количество жителей 0. Сейчас про одного все равно спрашивается.
    Ответ написан
  • Почему исходный код языка программирования go написан на go?

    includedlibrary
    @includedlibrary
    Язык программирования же, не может быть написан на своем же языке - это прям похоже на какую-то рекурсию

    Может. Сначала пишем компилятор для нового языка на языке, для которого компилятор уже есть, а потом переписываем его на новом языке. Вообще принято писать компиляторы на языках, для которых они сделаны. Это что-то вроде доказательства, что язык X уже дорос до того, чтобы его можно было использовать.

    То есть, если писать компилируемый язык программирования, то нужно использовать интерпретируемый язык, а вот для написания интерпретируемого языка программирования, нужно писать на компилируемом языке.

    Почему вы так думаете? Ничто не мешает написать компилятор для компилируемого языка на другом компилируемом языке. И опять же ничто не мешает написать интерпретатор на интерпретируемом языке
    Ответ написан
    2 комментария
  • Почему исходный код языка программирования go написан на go?

    DevMan
    @DevMan
    google -> self-compiling compiler
    в частности https://ru.m.wikipedia.org/wiki/Раскрутка_компилятора
    Ответ написан
    Комментировать