Задать вопрос
  • Как проверить ошибки в вводимом тексте?

    bingo347
    @bingo347
    Crazy on performance...
    Нужен словарь, представленный в виде дерева, где в узлах буквы, а любое слово - это проход от корня до листа. Тогда задача обнаружения ошибки сводится к проверке достижимости листа из корня при заданном наборе букв (слове), а предлагаемые подсказки выводятся из ближайших соседей
    Ответ написан
    Комментировать
  • Http сервер на vps?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Если чисто для бота, то nginx не нужен.
    Но аппетит приходит во время еды и в какой-то момент вы хотите отдать с сервера статику,
    или завернуть трафик бота в https...

    В чистом виде для http без статики вам не нужен nginx.
    Ваш бот - это приложение или демон. Запускать можно через crontab с директивой @reboot. Или просто почитайте как принято демонизировать go-приложение.
    Ответ написан
    7 комментариев
  • Разработчик недисциплинированно трекает время. Что делать?

    Xuxicheta
    @Xuxicheta
    инженер
    Не выносить мозги разработчику своим трекингом и дать ему спокойно работать.
    Не справляется - увольняйте.
    Ответ написан
    9 комментариев
  • Что такое SOLID и как его можно использовать в веб-разработке?

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

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

    Один момент - не все принципы одинаково полезны и применимы в веб-разработке, но знать и понимать их все в любом случае на пользу.
    Ответ написан
    4 комментария
  • Go - язык для мартышек?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Это не самая верная классифкация, я бы сказал. Скорее всего, чьё-то убъективное мнение.

    Язык программирования -- средство решения задач. Какие-то задачи можно решать эффективнее с использованием одного набора технологий, какие-то с использованием другого. Зависит это от многих критериев.

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Писать что-то свое, такой большой и интересный(для тебя) пет прожект. И если что то не идет - временно отвлечься и писать его любимого. Вроде и отвлекся, и вроде как по теме работаешь. Ну и заодно писать учишься, ошибки свои решаешь, а это гораздо более мотивированно чем абстрактные задачи решать. Даблкилл.
    Ответ написан
    1 комментарий
  • Есть ли необходимость в MVC/MVP для маленького сайта?

    Kozack
    @Kozack
    Thinking about a11y
    Когда нужно начинать смотреть в сторону указанных паттернов?

    Когда вы как разработчик чувствуете в этом необходимость.
    Ответ написан
    Комментировать
  • В чем смысл mock-функций в Jest?

    toxicmt
    @toxicmt
    кофаундер Хекслета
    > Насколько я понимаю, смысл mock-функций в jest - это заглушки для функций, чтобы не тащить код всего модуля и не замедлять процесс тестирования.

    Это не совсем так. Моки подразумевают, что вы прямо проверяете то что мокаете. Что функция была вызвана, что запрос был выполнен. Это и называется мокинг. А просто заглушка это стаб. Ее смысл не в том чтобы не тащить код, а в том чтобы изолировать побочные эффекты и добиться детерминированности. К последнему, например, относятся таймеры и рандомные числа. Если все это используется внутри программы, то вы не сможете просто так ее протестировать.

    Подводя итог, мокают для того чтобы проверить сам мок, например вы хотите убедиться что запрос действительно делался (как в примере документации jest). В остальных случаях у вас стаб (даже если либа называет его моком). Стаб используется для того чтобы тестировать свой код, а стаб нужен только для изоляции побочного эффекта.

    Ни первое ни второе напрямую с видом тестирования не связано. Моки и стабы могут применяться практически на любом уровне автоматизированного тестирования.

    Темы для самостоятельного изучения:

    Побочные эффекты
    Детерминированность
    Чистые функции
    https://martinfowler.com/articles/mocksArentStubs.html
    Ответ написан
    Комментировать
  • Оцените пожалуйста дизайн?

    AngryYumy
    @AngryYumy
    Заплати фрилансеру чеканой монетой
    Ну раз вопрос всё-таки сформулировали. Вообще я в дизайн не лезу, от слова совсем, но раз уже ляпнул тут А ляптну и Б. Собственно с виду дизайн приятный и лёгкий глазу, ну и в принципе вроде интуитивно понятный. А по цене, ну тут онли от вашей наглости и умение торгоша. Одни многостраничные сайты за 5к рисуют, а другие лого из говна и палок за 100к делают
    Ответ написан
    Комментировать
  • Как найти разницу двух срезов в Golang?

    @deliro
    Если всё же нужно найти разницу множеств (то есть, без привязки элементов к их позициям), то делать нужно как-то так https://play.golang.org/p/EWsmVji_3aA

    Если сделать, как предлагает Pardon Me! Where Do I Find 4giveness?, то результат твой "поползёт" после первого "лишнего" вот так: https://play.golang.org/p/pNVboCOaU__Q
    Ответ написан
    5 комментариев
  • Как вернуть результат или ошибку?

    @ghostiam
    На Go писатель, серверов пинатель.
    Чтобы вернуть nil, нужно чтобы тип был ссылочным
    func Start() (*RestResponse, error)

    либо вы можете вернуть ошибку так:
    if err != nil {
      return RestResponse{}, err
    }
    Ответ написан
    4 комментария
  • Что выбрать новичку: Python, C++ или все же GOlang?

    @ghostiam
    На Go писатель, серверов пинатель.
    Я выбрал для себя Го, более 5 лет назад.
    Уже сейчас много чего с Питона переписывают на Го из за низкой производительности, в основном все вакансии, если фирма не новая, связанны с этим(только на го надо писать, как на го, а не как привыкли к другим языкам, особенно не типизированным, а это по началу ой как не просто...).
    Например, я сам на работе уже переписал несколько сервисов с Питона на Го по причине низкой производительности (занимаюсь не только веб, но и софтом для серверов).

    Питон хорош чтобы написать прототип или поиграться с интересными идеями, так как на нём получится быстро написать готовую программу, в отличии от Го и тем более Си.

    C++, как уже ответили, в данный момент очень сложен, но по нему всегда будет работа.

    Яндекс и Гугл в основном фигурируют C++ либо Питон, а Go в 1-2 вакансиях.

    (плохо гуглили)

    Сам я учил языки, не потому, что есть работа на нём, а потому, что нравится язык или хотел что-то сделать, что можно сделать на выбранном языке.
    Какой бы язык не был выбран(кроме экзотических или уже умерших), работа будет на любом.
    Ответ написан
    Комментировать
  • Правильная авторизация пользователя на go/php?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    По токену, после авторизации:
    1. Токен доступа (для конкретной сессии!) - выдаём после ввода логина и пароля на PHP и валидной аутентификации.
    2. При любом запросе на сокет - проверяем наличие валидного токена конкретной сессии на доступ.

    ID-сессии и токен доступа - хранятся в cookies и пересылаются в http-заголовках при запросах к серверу.
    Ответ написан
    Комментировать
  • Приведение типов в GO, можно сделать красивее?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Идея такой функции не самая здравая. Конверсия некоторых чисел будет вызывать непредсказуемое поведение.
    Что-то в духе uint64(2^32+1) может здорово пошатать ваш int64.
    Я советую вам не играть с огнем и рассмотреть альтернативные варианты работы с данными.
    Ответ написан
    Комментировать
  • Ну где найти аналоги winscp для macos?

    sim3x
    @sim3x
    Мак ценят за наличе там консоли и части GNU утилит

    винсцп копия гну утилиты scp

    Испоьзуйте bash - scp; bash - sshfs; bash -ssh - cp
    Ответ написан
    2 комментария
  • Как избавиться от такого дублирования кода?

    Такова философия go - явня обработка ошибок. Можно конечно и писать на panic-recover, но будет не менее уродливо и не факт что производительно. Просто привыкните, примите как особенность языка.
    Можете вынести идентичные строки в некую функцию ErrorHandler.
    Ответ написан
    Комментировать
  • Как выбрать путь, куда идти, в разработку или devops или ещё куда??

    Я встал сейчас на распутье, выбираю учить Devops стек, или пойти в разработку Java/Python/Go.

    Devops - это не специальность какая-то конкретная. Это методология. Как Scrum (есть даже должности скрам-мастера), Kanban и т. д. Что конкретно хочет работодатель не всегда ясно. В основном совсем. Где-то доходит до того, что в обязанности девопса входит покрытие всего продукта (даже не какого-то приложения, а целой группы) тестами или рефакторинг архитектуры предприятия и даже рефакторинг кода приложений.
    Лучше уходи в разработку. Там узнаешь как пишется, собирается и работает код. Что нужно для его сборки, доставки и запуска. Тогда и в девопсы можно подаваться. Потому что будешь знать и уметь основы. Иногда большая часть времени девопса уходит на написание и отлаживание кода.
    Ответ написан
    Комментировать
  • Что сейчас востребовано на фрилансе?

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

    Используйте глобальную дату, но помните одно, что её надо самому чистить из памяти. Ещё надо как-то придумать геттреы и сеттеры для неё. Вдруг понадобится из users достать определённых людей и это всё на разных страницах. Или например проверить авторизацию? На vuex сделать это проще, написав один геттер

    Когда у вас возникнет проблемы с хранением и переполнением, то вы сами придёте к vuex.

    Страница с контентом:
    5a50a0ddc4f3d262866214.png
    Vuex
    5a50a191eea98041020431.png
    Ответ написан
    Комментировать
  • Как бороться со стрессом на работе?

    @vitaly_il1
    DevOps Consulting
    Согласен с Иваном и не согласен с любителями запугивать и унижать.
    Советую осмотреться и поискать другое место.
    Дополнительно - если есть в вашем городе - сходить на конференцию, не обязательно по вашей узкой теме. Мне это обычно очень помогает "очистить голову" и увидеть вещи "сверху".
    Ответ написан
    Комментировать