Задать вопрос
  • Новичёк без предыдущего опыта в разработке, способен устроиться сейчас Junior Golang Developer?

    EvgenyMamonov
    @EvgenyMamonov
    Senior software developer, system architect
    Если в программировании опыта нет - лучше начните с Python.

    То, что Go простой в изучении язык - это так, но не на столько простой как пишут в рекламе курсов по Go :)

    Еще в рекламе не учитывается один небольшой, но очень важный нюанс - на Go вам предстоит решать задачи, которые будут значительно сложнее тех, которые будут у вас если вы устроитесь Python/PHP/Frontend программистом.

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

    Порог входа в Go + highload + микросервисы значительно выше, чем в Python без highload.

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

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

    Итого: если взять сроки подготовки с нуля до трудоустройства - то, скорее всего, путь Python будет в несколько раз быстрее. Скорее всего во много раз быстрее :)

    Как вариант можно попробовать Fronend: ReactJS, VueJS и т.п. - тоже будет вполне быстрым стартом.

    Ну и посмотрите developer roadmaps:
    https://roadmap.sh/frontend
    https://roadmap.sh/backend
    https://roadmap.sh/golang (тут надо понимать, что до того, как начнёте изучать Go - надо изучить backend в целом)
    Ответ написан
    1 комментарий
  • Как распарсить json в массив структур golang (gin)?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Можно через map[string]Params
    Например вот так
    package main
    
    import (
        "encoding/json"
        "fmt"
        "log"
    )
    
    type Params struct {
        NativeId string `json:"nativeId"`
        Source   string `json:"source"`
        Url      string `json:"url"`
        Title    string `json:"title"`
        Price    string `json:"price"`
    }
    
    func main() {
        jsonDataBytes := []byte(`{
            "test_2407811386": {"nativeId":"2407811386","source":"test","url":"https://test.ru/123","title":"TEST»","price":"123"},
            "test_2415474304": {"nativeId":"2415474304","source":"test","url":"https://test/234","title":"TEST2»","price":"234"}
        }`)
        objects := map[string]Params{}
        err := json.Unmarshal(jsonDataBytes, &objects)
        if err != nil {
            log.Fatalf("unmarshal error: %s\n", err.Error())
        }
        fmt.Printf("%v\n", objects)
    }
    Ответ написан
    Комментировать
  • Зачем нужны интерфейсы в go?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    В вашем примере не хватает самого важного, чтобы стало понятно - вызова функции с параметром типа интерфейс.
    func someFunc(numbers NumberInterface) {
       numbers.Sum()
    }


    Если не будет интерфейсов - вы можете передать только конкретный тип Numbers.
    А если вы создадите тип Numbers2 - то вы не сможете передать его в туже функцию, у которой тип аргумента Numbers.
    Эта проблема отлично решается при помощи интерфейсов.
    Ответ написан
    4 комментария
  • C++ поиск практики, как найти работу за еду?

    @wlastas
    Может быть крайне интересно, познавательно, и даже приносить стабильный доход  - написание ботов для ААА сетевых игр. Например для WoW, PathOfExile и т д.  Ботов эмулирующих действия живого игрока с использованием официального игрового клиента, путем считывания нужных данных в памяти игрового процесса (и записи в оный если сможете обойти защиту), принятия правильного решения(например с применением AI) и адекватных действий. 
    Если умеете ревёрсить и можете разработать/найти какую-нибудь полезную для сообщества фичу, разобраться/починить  чужой  устаревший неработающий  С++,  то сможете довольно быстро влиться в готовые закрытые сообщества. 
    Либо сделать/продвигать что то-то полностью свое, отталкиваясь от того, что выложено в открытый доступ. 
    Данная сфера деятельности просто безгранична, вот например почитайте что предлагает некий товарищ и сколько всего нужно знать и понять чтобы такое реализовать:
    https://www.ownedcore.com/forums/mmo/path-of-exile...
    Ответ написан
    3 комментария
  • C++ поиск практики, как найти работу за еду?

    @sadsnake42
    Вы можете рассмотреть государственные институты (например ИСП РАН), там любят стажеров. Так же для набивки опыта можно использовать известные opensource проекты, после них вас станут рассматривать серьезней на позиции стажеров\джунов.
    Ответ написан
    Комментировать
  • C++ поиск практики, как найти работу за еду?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Проясните, каким путем сейчас люди попадают в С++ в системную разработку? Где людей берут стажерами, пусть дае и за бесплатно, но без особых требований?

    Не воротят нос и ищут любые вакансии на С++, работают 1-2 года, потом уже с опытом в резюме ищут более подходящие вакансии.
    Ответ написан
    Комментировать
  • Как быстро вникнуть в чужой код?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Привет всем сторонникам самодокументирования

    По идее у вас должна быть вика с описанием архитектуры и списка методов

    При подключении к проекту только просматриваете комменты и понимаете как оно работает

    Если же нужно рефакторить то начинайте с комментов дальше прочитайте метод три раза
    Первый бегло
    Второй раз вдумчиво с анализом где баг
    Третий где что исправить

    Потом уже начинайте писать код

    Кстати поэтому хорошо получать пачку багов тогда у вас код не уйдёт из головы и вы быстрее все перепишите

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

    @res2001
    Developer, ex-admin
    Чаще практиковаться в чтении чужого кода. Ревью хорошо помогают в этом, но и читать абсолютно посторонний код полезно.
    Это навык, его можно наработать, как и все остальное. В любом случае на это потребуется время.
    Прежде чем вникать в код большого проекта, следует изучить документацию, лучше, если это будет документация для программиста. Но и пользовательская документация сгодится, за неимением лучшего. При чтении документации пытайтесь представить, как бы вы это реализовывали (без деталей, только самые важные моменты). После документации в голове сложится картина возможной реализации кода и станет проще понимать сам код.
    Ответ написан
    2 комментария
  • Как быстро вникнуть в чужой код?

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

    при затыках иду штормить окружающих. но не раньше собственных попыток въехать.
    Ответ написан
    Комментировать
  • Как быстро вникнуть в чужой код?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Задавать окружающим вопросы. Ртом. Повторять пока не станет понятно
    Ответ написан
    5 комментариев
  • Как перенести пользователей из сломанного контроллера домена в тот же, но новый?

    @NortheR73
    системный инженер
    Вообще есть пара более удобных инструментов для этого - Active Directory Migration Toolkit (ADMT) и Password Export Server (PES). Первый везет группы, пользователей, компьютеры и настройки безопасности локальных профилей, второй - собственно пароли.
    Успешно смигрировал с их помощью примерно 6000 пользователей
    Ответ написан
    2 комментария
  • Как перенести пользователей из сломанного контроллера домена в тот же, но новый?

    @dshumov
    Олдскул - Фигурнов форева
    Информации маловато. ИМХО что значит
    имеется домен, который очень плохо функционирует...
    ? Если плох работает домен контроллер, то опять же ИМХО следовало бы выбрать метод ввода в строй дополнительного домен контроллера, перекидывание на него всех ролей, а затем корректный вывод неисправного.
    Ответ написан
    2 комментария